From 6d51fd4b08a00f402403b83a530bb1a30df6b53e Mon Sep 17 00:00:00 2001 From: Mats Veldhuizen Date: Wed, 2 Oct 2024 17:44:15 +0200 Subject: [PATCH] fix issue with precip_models_cascade --- pysteps/blending/steps.py | 50 +++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/pysteps/blending/steps.py b/pysteps/blending/steps.py index dba88706..71e769ad 100644 --- a/pysteps/blending/steps.py +++ b/pysteps/blending/steps.py @@ -645,33 +645,33 @@ def forecast( # 2.3.3 If zero_precip_radar, make sure that precip_cascade does not contain # only nans or infs. If so, fill it with the zero value. if zero_precip_radar: - if precip_models_cascade is not None: - precip_cascade[~np.isfinite(precip_cascade)] = np.nanmin( - precip_models_cascade - ) - else: - done = False - for t in timesteps: - if done: - break - for j in range(precip_models.shape[0]): - if not blending.utils.check_norain( - precip_models, precip_thr, norain_thr - ): - precip_models_cascade_temp = decompositor( - precip_models[j, t, :, :], - bp_filter=bp_filter, - fft_method=fft, - output_domain=domain, - normalize=True, - compute_stats=True, - compact_output=True, - )["cascade_levels"] + done = False + for t in timesteps: + if done: + break + for j in range(precip_models.shape[0]): + if not blending.utils.check_norain( + precip_models, precip_thr, norain_thr + ): + if precip_models_cascade is not None: precip_cascade[~np.isfinite(precip_cascade)] = np.nanmin( - precip_models_cascade_temp + precip_models_cascade[j, t] ) - done = True - break + continue + precip_models_cascade_temp = decompositor( + precip_models[j, t, :, :], + bp_filter=bp_filter, + fft_method=fft, + output_domain=domain, + normalize=True, + compute_stats=True, + compact_output=True, + )["cascade_levels"] + precip_cascade[~np.isfinite(precip_cascade)] = np.nanmin( + precip_models_cascade_temp + ) + done = True + break # 2.3.5 If zero_precip_radar is True, only use the velocity field of the NWP # forecast. I.e., velocity (radar) equals velocity_model at the first time