|
48 | 48 | "outputs": [], |
49 | 49 | "source": [ |
50 | 50 | "# Time\n", |
51 | | - "start = \"1993-05\"\n", |
| 51 | + "start = \"1993-10\"\n", |
52 | 52 | "stop = \"2025-01\"\n", |
53 | 53 | "freq = \"12MS\"\n", |
54 | 54 | "leadtimes = [0, 1, 2, 3, 4]\n", |
|
95 | 95 | " date_reanalysis = date + pd.DateOffset(months=leadtime)\n", |
96 | 96 | " requests_reanalysis[leadtime].append(\n", |
97 | 97 | " {\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", |
99 | 101 | " \"vertical_resolution\": \"single_level\",\n", |
100 | 102 | " \"variable\": [\"ocean_heat_content_for_the_upper_300m\"],\n", |
101 | 103 | " \"year\": date_reanalysis.strftime(\"%Y\"),\n", |
|
177 | 179 | "\n", |
178 | 180 | "# Seasonal\n", |
179 | 181 | "def preprocess_seasonal(ds):\n", |
| 182 | + " ds[\"leadtime\"] = ds[\"leadtime\"] // np.timedelta64(31, \"D\")\n", |
| 183 | + "\n", |
180 | 184 | " # TODO: How to combine? Use first leadtime only for now\n", |
181 | 185 | " ds = ds.set_coords([var for var, da in ds.data_vars.items() if \"bnds\" in da.dims])\n", |
182 | 186 | " ds[\"realization\"] = ds[\"realization\"].str.replace(\" \", \"\").astype(str)\n", |
|
188 | 192 | " *grid_request,\n", |
189 | 193 | " preprocess=preprocess_seasonal,\n", |
190 | 194 | " invalidate_cache=False,\n", |
| 195 | + " decode_timedelta=True,\n", |
191 | 196 | " )\n", |
192 | 197 | " mask_out = (\n", |
193 | 198 | " ds_seasonal[\"thetaot300\"]\n", |
|
268 | 273 | " \"grid_request\": None,\n", |
269 | 274 | " },\n", |
270 | 275 | " transform_chunks=False,\n", |
| 276 | + " decode_timedelta=True,\n", |
271 | 277 | ")\n", |
272 | 278 | "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", |
274 | 280 | " ds = ds.squeeze(\"leadtime\").swap_dims(forecast_reference_time=\"time\")\n", |
275 | 281 | " ds = reindex(ds)\n", |
276 | 282 | " ds[\"leadtime\"] = ds[\"leadtime\"].expand_dims(\"month\")\n", |
|
0 commit comments