diff --git a/unseen/eva.py b/unseen/eva.py index da1a3d8..2840a5c 100644 --- a/unseen/eva.py +++ b/unseen/eva.py @@ -1176,7 +1176,7 @@ def gev_return_curve( np.isfinite(boot_event_return_periods) ] event_return_period_lower_ci = np.quantile(boot_event_return_periods, q) - event_return_period_upper_ci = np.quantile(boot_event_return_periods, q - 1) + event_return_period_upper_ci = np.quantile(boot_event_return_periods, 1 - q) event_data = ( event_return_period, event_return_period_lower_ci, diff --git a/unseen/fileio.py b/unseen/fileio.py index 30838c0..7db4383 100644 --- a/unseen/fileio.py +++ b/unseen/fileio.py @@ -253,6 +253,7 @@ def open_dataset( if no_leap_days: ds = ds.sel(time=~((ds[time_dim].dt.month == 2) & (ds[time_dim].dt.day == 29))) if rolling_sum_window: + ds = ds.compute() ds = ds.rolling({time_dim: rolling_sum_window}).sum(dim=time_dim) if time_freq: assert time_agg, "Provide a time_agg" diff --git a/unseen/process_utils.py b/unseen/process_utils.py index 9dca37a..553d561 100644 --- a/unseen/process_utils.py +++ b/unseen/process_utils.py @@ -60,7 +60,7 @@ def count_months(event_months): return counts -def plot_event_seasonality(ds, ax=None, core_dim=None, outfile=None): +def plot_event_seasonality(ds, ax=None, core_dim="time", outfile=None): """Plot event seasonality Parameters diff --git a/unseen/stability.py b/unseen/stability.py index 65e4bf4..8cefdf1 100644 --- a/unseen/stability.py +++ b/unseen/stability.py @@ -197,6 +197,11 @@ def plot_return_by_lead( ax.set_ylabel(units_label) if ylim: ax.set_ylim(ylim) + else: + ymin, ymax = ax.get_ylim() + if ymin < 0: + ymin = 0 + ax.set_ylim([ymin, ymax]) ax.legend() @@ -269,6 +274,11 @@ def plot_return_by_time( ax.set_ylabel(units_label) if ylim: ax.set_ylim(ylim) + else: + ymin, ymax = ax.get_ylim() + if ymin < 0: + ymin = 0 + ax.set_ylim([ymin, ymax]) ax.legend()