From d224015a927eae1a1ae0ade33b7c279956c8e404 Mon Sep 17 00:00:00 2001 From: sidekock Date: Thu, 18 Jul 2024 14:20:10 +0200 Subject: [PATCH] Changed default number of cascade levels to 6 everywhere in the project (#387) * Changed default number of cascade levels to 6 everywhere in the project * Ran black on sseps.py * Added some documentation to why 6 is the default: referred to the issue on GitHub --- examples/anvil_nowcast.py | 2 +- pysteps/blending/clim.py | 8 ++++---- pysteps/blending/steps.py | 6 +++--- pysteps/nowcasts/anvil.py | 5 +++-- pysteps/nowcasts/sprog.py | 3 ++- pysteps/nowcasts/sseps.py | 3 ++- pysteps/nowcasts/steps.py | 3 ++- 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/examples/anvil_nowcast.py b/examples/anvil_nowcast.py index 102b762c6..183138feb 100644 --- a/examples/anvil_nowcast.py +++ b/examples/anvil_nowcast.py @@ -99,7 +99,7 @@ np.array([0.5]), metadata, threshold=0.1, zerovalue=-15.0 ) forecast_sprog = sprog.forecast( - rainrate_field_db[-3:], velocity, 3, n_cascade_levels=8, R_thr=rainrate_thr[0] + rainrate_field_db[-3:], velocity, 3, n_cascade_levels=6, R_thr=rainrate_thr[0] ) forecast_sprog, _ = transformation.dB_transform( forecast_sprog, threshold=-10.0, inverse=True diff --git a/pysteps/blending/clim.py b/pysteps/blending/clim.py index 50c4b3106..82656b276 100644 --- a/pysteps/blending/clim.py +++ b/pysteps/blending/clim.py @@ -22,7 +22,7 @@ import numpy as np -def get_default_skill(n_cascade_levels=8, n_models=1): +def get_default_skill(n_cascade_levels=6, n_models=1): """ Get the default climatological skill values as given in :cite:`BPS2006`. Take subset of n_cascade_levels or add entries with small values (1e-4) if @@ -31,7 +31,7 @@ def get_default_skill(n_cascade_levels=8, n_models=1): Parameters ---------- n_cascade_levels: int, optional - Number of cascade levels. Defaults to 8. + Number of cascade levels. Defaults to 6, see issue #385 on GitHub. n_models: int, optional Number of NWP models. Defaults to 1. @@ -157,7 +157,7 @@ def save_skill( def calc_clim_skill( outdir_path, - n_cascade_levels=8, + n_cascade_levels=6, n_models=1, window_length=30, ): @@ -168,7 +168,7 @@ def calc_clim_skill( Parameters ---------- n_cascade_levels: int, optional - Number of cascade levels. + Number of cascade levels. Defaults to 6, see issue #385 on GitHub. outdir_path: string Path to folder where the historical skill are stored. Defaults to path_workdir from rcparams. diff --git a/pysteps/blending/steps.py b/pysteps/blending/steps.py index 21a0ffc05..9586c71ec 100644 --- a/pysteps/blending/steps.py +++ b/pysteps/blending/steps.py @@ -74,7 +74,7 @@ def forecast( timestep, issuetime, n_ens_members, - n_cascade_levels=8, + n_cascade_levels=6, blend_nwp_members=False, precip_thr=None, norain_thr=0.0, @@ -153,8 +153,8 @@ def forecast( equal to or larger than the number of NWP ensemble members / number of NWP models. n_cascade_levels: int, optional - The number of cascade levels to use. Default set to 8 due to default - climatological skill values on 8 levels. + The number of cascade levels to use. Defaults to 6, + see issue #385 on GitHub. blend_nwp_members: bool Check if NWP models/members should be used individually, or if all of them are blended together per nowcast ensemble member. Standard set to diff --git a/pysteps/nowcasts/anvil.py b/pysteps/nowcasts/anvil.py index cf3ac6470..9da0fb47e 100644 --- a/pysteps/nowcasts/anvil.py +++ b/pysteps/nowcasts/anvil.py @@ -39,7 +39,7 @@ def forecast( velocity, timesteps, rainrate=None, - n_cascade_levels=8, + n_cascade_levels=6, extrap_method="semilagrangian", ar_order=2, ar_window_radius=50, @@ -86,7 +86,8 @@ def forecast( field. If set to None, no R(VIL) conversion is done and the outputs are in the same units as the inputs. n_cascade_levels: int, optional - The number of cascade levels to use. + The number of cascade levels to use. Defaults to 6, see issue #385 + on GitHub. extrap_method: str, optional Name of the extrapolation method to use. See the documentation of pysteps.extrapolation.interface. diff --git a/pysteps/nowcasts/sprog.py b/pysteps/nowcasts/sprog.py index 0227c962a..86c840dcb 100644 --- a/pysteps/nowcasts/sprog.py +++ b/pysteps/nowcasts/sprog.py @@ -71,7 +71,8 @@ def forecast( precip_thr: float, required The threshold value for minimum observable precipitation intensity. n_cascade_levels: int, optional - The number of cascade levels to use. + The number of cascade levels to use. Defaults to 6, see issue #385 + on GitHub. extrap_method: str, optional Name of the extrapolation method to use. See the documentation of pysteps.extrapolation.interface. diff --git a/pysteps/nowcasts/sseps.py b/pysteps/nowcasts/sseps.py index 4646ba3da..a8848d3e3 100644 --- a/pysteps/nowcasts/sseps.py +++ b/pysteps/nowcasts/sseps.py @@ -104,7 +104,8 @@ def forecast( n_ens_members: int The number of ensemble members to generate. n_cascade_levels: int - The number of cascade levels to use. + The number of cascade levels to use. Defaults to 6, see issue #385 + on GitHub. extrap_method: {'semilagrangian'} Name of the extrapolation method to use. See the documentation of pysteps.extrapolation.interface. diff --git a/pysteps/nowcasts/steps.py b/pysteps/nowcasts/steps.py index 1fd3f6d85..50c6a5d22 100644 --- a/pysteps/nowcasts/steps.py +++ b/pysteps/nowcasts/steps.py @@ -87,7 +87,8 @@ def forecast( n_ens_members: int, optional The number of ensemble members to generate. n_cascade_levels: int, optional - The number of cascade levels to use. + The number of cascade levels to use. Defaults to 6, see issue #385 + on GitHub. precip_thr: float, optional Specifies the threshold value for minimum observable precipitation intensity. Required if mask_method is not None or conditional is True.