diff --git a/stormevents/nhc/const.py b/stormevents/nhc/const.py index 2475917..42795e2 100644 --- a/stormevents/nhc/const.py +++ b/stormevents/nhc/const.py @@ -8,6 +8,7 @@ class RMWFillMethod(Enum): none = None persistent = auto() regression_penny_2023 = auto() + regression_penny_2023_with_smoothing = auto() regression_penny_2023_no_smoothing = auto() diff --git a/stormevents/nhc/track.py b/stormevents/nhc/track.py index 572fbbd..f97bb3f 100644 --- a/stormevents/nhc/track.py +++ b/stormevents/nhc/track.py @@ -1379,6 +1379,7 @@ def movingmean(dff): elif ( rmw_fill == RMWFillMethod.regression_penny_2023 + or rmw_fill == RMWFillMethod.regression_penny_2023_with_smoothing or rmw_fill == RMWFillMethod.regression_penny_2023_no_smoothing ): # fill OFCL maximum wind radius based on regression method from @@ -1436,7 +1437,10 @@ def movingmean(dff): rmw_, 5.0, max(120.0, rmw0) ) # apply 24-HR moving mean to unique datetimes - if rmw_fill == RMWFillMethod.regression_penny_2023: + if ( + rmw_fill == RMWFillMethod.regression_penny_2023 + or rmw_fill == RMWFillMethod.regression_penny_2023_with_smoothing + ): forecast = movingmean(forecast) # fill OFCL background pressure with the first entry from 0-hr CARQ background pressure (at sea level) diff --git a/tests/test_nhc.py b/tests/test_nhc.py index 792efd9..5a14a8a 100644 --- a/tests/test_nhc.py +++ b/tests/test_nhc.py @@ -468,15 +468,15 @@ def test_rmw_fill_method_persistent(): assert rmw.unique() == 10 -def test_rmw_fill_method_regression_penny_2023(): +def test_rmw_fill_method_regression_penny_2023_with_smoothing(): tr_florence2018 = VortexTrack.from_storm_name( "Florence", 2018, file_deck="a", advisories=["OFCL"], - rmw_fill=RMWFillMethod.regression_penny_2023, + rmw_fill=RMWFillMethod.regression_penny_2023_with_smoothing, ) - assert tr_florence2018.rmw_fill == RMWFillMethod.regression_penny_2023 + assert tr_florence2018.rmw_fill == RMWFillMethod.regression_penny_2023_with_smoothing data = tr_florence2018.data i_uq_row = 40 rmw = data.loc[data.track_start_time == data.track_start_time.unique()[i_uq_row]][