From 3c823bb7d7ebe3cd0f0acfc83e2828d0b8418c12 Mon Sep 17 00:00:00 2001 From: remic Date: Fri, 27 Feb 2026 08:51:01 -0500 Subject: [PATCH] prevent division by 0 --- pepsico/app_calc.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pepsico/app_calc.py b/pepsico/app_calc.py index 489f1003..1e1a86e3 100644 --- a/pepsico/app_calc.py +++ b/pepsico/app_calc.py @@ -191,16 +191,26 @@ def seasonal_wwc( ) wwc_units = "days" if variable == "dry_day_persistence": + data_ds = ( + (labelled_season_data <= wet_threshold) + .where(~np.isnan(labelled_season_data)) + .groupby(labelled_season_data["seasons_starts"]) + ) data_ds = 100 * data_ds.map( count_days_in_spells, "T", min_spell_length=2, skipna=True, min_count=1, - ) / data_ds.sum(skipna=True, min_count=1) + ) / data_ds.sum(skipna=True, min_count=1).where(lambda x : x!=0) wwc_units = "%" if variable == "wet_day_persistence": + data_ds = ( + (labelled_season_data > wet_threshold) + .where(~np.isnan(labelled_season_data)) + .groupby(labelled_season_data["seasons_starts"]) + ) data_ds = 100 * data_ds.map( count_days_in_spells, "T", min_spell_length=2, skipna=True, min_count=1, - ) / data_ds.sum(skipna=True, min_count=1) + ) / data_ds.sum(skipna=True, min_count=1).where(lambda x : x!=0) wwc_units = "%" if variable == "dry_spells_mean_length": data_ds = (