Skip to content

Commit 5e9c481

Browse files
committed
fix seasonal
1 parent 2258b85 commit 5e9c481

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

notebooks/wp3/seasonal_forecast_vs_oras5.ipynb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"outputs": [],
4949
"source": [
5050
"# Time\n",
51-
"start = \"1993-05\"\n",
51+
"start = \"1993-10\"\n",
5252
"stop = \"2025-01\"\n",
5353
"freq = \"12MS\"\n",
5454
"leadtimes = [0, 1, 2, 3, 4]\n",
@@ -95,7 +95,9 @@
9595
" date_reanalysis = date + pd.DateOffset(months=leadtime)\n",
9696
" requests_reanalysis[leadtime].append(\n",
9797
" {\n",
98-
" \"product_type\": [\"operational\" if date.year > 2014 else \"consolidated\"],\n",
98+
" \"product_type\": [\n",
99+
" \"operational\" if date_reanalysis.year > 2014 else \"consolidated\"\n",
100+
" ],\n",
99101
" \"vertical_resolution\": \"single_level\",\n",
100102
" \"variable\": [\"ocean_heat_content_for_the_upper_300m\"],\n",
101103
" \"year\": date_reanalysis.strftime(\"%Y\"),\n",
@@ -177,6 +179,8 @@
177179
"\n",
178180
"# Seasonal\n",
179181
"def preprocess_seasonal(ds):\n",
182+
" ds[\"leadtime\"] = ds[\"leadtime\"] // np.timedelta64(31, \"D\")\n",
183+
"\n",
180184
" # TODO: How to combine? Use first leadtime only for now\n",
181185
" ds = ds.set_coords([var for var, da in ds.data_vars.items() if \"bnds\" in da.dims])\n",
182186
" ds[\"realization\"] = ds[\"realization\"].str.replace(\" \", \"\").astype(str)\n",
@@ -188,6 +192,7 @@
188192
" *grid_request,\n",
189193
" preprocess=preprocess_seasonal,\n",
190194
" invalidate_cache=False,\n",
195+
" decode_timedelta=True,\n",
191196
" )\n",
192197
" mask_out = (\n",
193198
" ds_seasonal[\"thetaot300\"]\n",
@@ -268,9 +273,10 @@
268273
" \"grid_request\": None,\n",
269274
" },\n",
270275
" transform_chunks=False,\n",
276+
" decode_timedelta=True,\n",
271277
")\n",
272278
"datasets = []\n",
273-
"for leadtime, ds in ds_seasonal.isel(leadtime=leadtimes).groupby(\"leadtime\"):\n",
279+
"for leadtime, ds in ds_seasonal.sel(leadtime=leadtimes).groupby(\"leadtime\"):\n",
274280
" ds = ds.squeeze(\"leadtime\").swap_dims(forecast_reference_time=\"time\")\n",
275281
" ds = reindex(ds)\n",
276282
" ds[\"leadtime\"] = ds[\"leadtime\"].expand_dims(\"month\")\n",

0 commit comments

Comments
 (0)