diff --git a/README.md b/README.md index 3798d2c27bffa586c5240e4ef5f2cbf6a77f5754..403fd6a011c94f1d97b9d01743ecb819f68145fa 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,13 @@ While jupyter notebooks with demonstrations are provided in the `notebooks/demo` ## Getting a DKRZ account: * for model data users working in EU: - * for short and quick access, register at any time to the [Climate Analytics Service](https://portal.enes.org/data/data-metadata-service/climate-analytics-service#DKRZ), or - * for longer access, check the calls for applications to the [Analysis Platforms services](https://portal.enes.org/data/data-metadata-service/analysis-platforms), or + * for short and quick access, register at any time to the [Climate Analytics Service](https://is.enes.org/sdm-climate-analytics-data/), or + * for longer access, check the calls for applications to the [Analysis Platforms services](https://is.enes.org/sdm-analysis-platforms-service/), or * for model data users with partners in the German earth systems research community, see [here](https://www.dkrz.de/services/bereitstellung-von-rechenleistung). -Visit [our blog](https://data-infrastructure-services.gitlab-pages.dkrz.de/tutorials-and-use-cases/), we have animations on how to log in to the DKRZ resources and further explanations on the content of this repository. - ## Quick start -To run the notebooks, you only need a browser (like Firefox, Chrome, Safari,...) and internet connection. +To run the notebooks, you need a browser (like Firefox, Chrome, Safari,...) and internet connection. 1. Open the [DKRZ Jupyterhub](https://jupyterhub.dkrz.de) in your browser. 2. Login with your DKRZ account (if you do not have one account yet, see the links above). @@ -39,12 +37,19 @@ To run the notebooks, you only need a browser (like Firefox, Chrome, Safari,...) Some notebooks need individual Jupyter kernel: -1. Open the terminal and run a script to make a new kernel: +1. Open a terminal. +2. Run the following lines to create a conda environment and a kernel for the notebook: ```console -$ bash make_kernel.sh +module load python3 # works at levante. otherwise, install conda or mamba +#the following creates the environment: +mamba env create -f environment.yml # set -p TARGETPATH for installing not in home +#activate the environment: +conda activate nbdemo #sometimes you need to use 'source' instead of conda and the full path instead of 'nbdemo' +#the following creates the kernel +python -m ipykernel install --user --name nbdemokernel + ``` -2. ... it takes a couple of minutes ... -3. When done then go to you Jupyter and choose the new Kernel we just created ``Notebook Demo``. +3. When done then go to you Jupyter and choose the new Kernel we just created ``nbdemokerenl``. 4. Now you can run also the *summer days* notebook. ## Content and structure diff --git a/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb b/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb index a2bf3696a9cfe41d9470d12420dcd1662dadab68..843078411b8096b8ae1cb09141dc5c868fcfc62c 100644 --- a/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb +++ b/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb @@ -78,7 +78,7 @@ "- Spatial resolution is about **31 km** globally\n", "- Dependent on the parameter, the data are stored on a **reduced Gaussian Grid (N320)** <br> or as **spectral coefficients** (with a triangular truncation of **T639**)\n", "- Provided on 137/37 different **model/pressure** levels\n", - "- Temporal coverage from **1979 up to today** (1959-1979 newly released) \n", + "- Temporal coverage from **1940 up to today** (1959-1979 newly released) \n", "- Temporal resolution from hourly, daily to monthly\n", "\n", "### Use cases\n", @@ -169,6 +169,8 @@ " 'dkrz_cordex_disk',\n", " 'dkrz_dyamond-winter_disk',\n", " 'dkrz_era5_disk',\n", + " 'dkrz_monsoon_disk',\n", + " 'dkrz_mpige_disk',\n", " 'dkrz_nextgems_disk',\n", " 'dkrz_palmod2_disk']" ] @@ -208,7 +210,7 @@ ] }, { - "cell_type": "markdown", + "cell_type": "raw", "metadata": {}, "source": [ "The variable `col` now contains the intake collection that links to DKRZ's /pool/data ERA5 database." @@ -249,7 +251,7 @@ { "data": { "text/html": [ - "<p><strong>dkrz_era5_disk catalog with 16 dataset(s) from 571576 asset(s)</strong>:</p> <div>\n", + "<p><strong>dkrz_era5_disk catalog with 33 dataset(s) from 4417479 asset(s)</strong>:</p> <div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", @@ -277,7 +279,7 @@ " </tr>\n", " <tr>\n", " <th>era_id</th>\n", - " <td>1</td>\n", + " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>dataType</th>\n", @@ -293,7 +295,7 @@ " </tr>\n", " <tr>\n", " <th>stepType</th>\n", - " <td>6</td>\n", + " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>table_id</th>\n", @@ -301,19 +303,19 @@ " </tr>\n", " <tr>\n", " <th>code</th>\n", - " <td>111</td>\n", + " <td>113</td>\n", " </tr>\n", " <tr>\n", " <th>validation_date</th>\n", - " <td>16326</td>\n", + " <td>31416</td>\n", " </tr>\n", " <tr>\n", " <th>initialization_date</th>\n", - " <td>561</td>\n", + " <td>30421</td>\n", " </tr>\n", " <tr>\n", " <th>uri</th>\n", - " <td>571576</td>\n", + " <td>4417479</td>\n", " </tr>\n", " <tr>\n", " <th>format</th>\n", @@ -339,7 +341,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The ERA5 catalog consists of 16 datasets from about 550k assets/files." + "The ERA5 catalog consists of 16 datasets from about 3,6mio assets/files." ] }, { @@ -353,7 +355,10 @@ "The **ERA5 Catalog** enables to browse through the data base using **10 search facets**. We could group them into 4 categories:\n", "\n", "*Basic* data information:\n", - "- `era_id`: Today, only E5 is available.\n", + "- `era_id`: Three type of ERA data are available:\n", + " - `E5`: ERA5 data\n", + " - `E1`: ERA5.1 data (corrected ERA5 data of the years 2000 to 2006)\n", + " - `ET`: ERA5T is a provisional, early-release version of the ERA5 data\n", "- `dataType`: Two data types are available: **An**alysis data are *pure* analysis and only contain intensive data (like temperature). **F**ore**c**ast data contain extensive data (like precipitation) which are accumulated quantities.\n", "- `uri`: Corresponds to the path on DKRZ's HPC file system." ] @@ -362,7 +367,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Information on the *type of horizontal level*:\n", + "Information on the *type of vertical level*:\n", "- `level_type`: Three types are available: **model_level**, **pressure_level** or **surface**\n", "\n", "*Temporal* information. The ERA5 database starts in January 1979 (the years until 1959 are currently being added). \n", @@ -391,8 +396,7 @@ { "data": { "text/plain": [ - "{'default': ['step', 'long_name', 'short_name', 'path', 'units'],\n", - " 'type': 'list[str]'}" + "{'default': ['path', 'units', 'long_name', 'short_name'], 'type': 'list[str]'}" ] }, "execution_count": 7, @@ -401,7 +405,7 @@ } ], "source": [ - "dkrz_catalog.metadata[\"parameters\"][\"additional_era5_columns\"]" + "dkrz_catalog.metadata[\"parameters\"][\"additional_era5_disk_columns\"]" ] }, { @@ -426,7 +430,7 @@ } ], "source": [ - "cols=dkrz_catalog._entries[\"dkrz_era5_disk\"]._open_args[\"csv_kwargs\"][\"usecols\"]+dkrz_catalog.metadata[\"parameters\"][\"additional_era5_columns\"][\"default\"]\n", + "cols=dkrz_catalog._entries[\"dkrz_era5_disk\"]._open_args[\"csv_kwargs\"][\"usecols\"]+dkrz_catalog.metadata[\"parameters\"][\"additional_era5_disk_columns\"][\"default\"]\n", "col=dkrz_catalog.dkrz_era5_disk(csv_kwargs=dict(usecols=cols))" ] }, @@ -485,7 +489,7 @@ { "data": { "text/plain": [ - "{'frequency': {'count': 3, 'values': ['hourly', 'monthly', 'daily']}}" + "{'frequency': {'count': 3, 'values': ['daily', 'hourly', 'invariant']}}" ] }, "execution_count": 10, @@ -513,7 +517,7 @@ "data": { "text/plain": [ "{'level_type': {'count': 3,\n", - " 'values': ['pressure_level', 'surface', 'model_level']}}" + " 'values': ['pressure_level', 'model_level', 'surface']}}" ] }, "execution_count": 11, @@ -541,8 +545,7 @@ { "data": { "text/plain": [ - "{'stepType': {'count': 6,\n", - " 'values': ['accum', 'avgid', 'max', 'instant', 'avgad', 'avgua']}}" + "{'stepType': {'count': 4, 'values': ['accum', 'avg', 'max', 'instant']}}" ] }, "execution_count": 12, @@ -561,10 +564,8 @@ "The ERA5 database covers six `stepType`s. This attribute is parsed from the GRIB attribute `GRIB_stepType`: \n", "- 'accum'\n", "- 'max'\n", - "- 'avgua'\n", - "- 'avgad'\n", - "- 'instant'\n", - "- 'avgid'" + "- 'avg'\n", + "- 'instant'" ] }, { @@ -583,14 +584,12 @@ "data": { "text/plain": [ "[('an', 'model_level', 'hourly'),\n", - " ('an', 'pressure_level', 'daily'),\n", " ('an', 'pressure_level', 'hourly'),\n", " ('an', 'surface', 'daily'),\n", " ('an', 'surface', 'hourly'),\n", - " ('an', 'surface', 'monthly'),\n", - " ('fc', 'surface', 'daily'),\n", + " ('an', 'surface', 'invariant'),\n", " ('fc', 'surface', 'hourly'),\n", - " ('fc', 'surface', 'monthly')]" + " ('fc', 'surface', 'invariant')]" ] }, "execution_count": 13, @@ -638,22 +637,22 @@ "data": { "text/plain": [ "{'long_name': {'count': 16,\n", - " 'values': ['Vorticity (relative)',\n", - " 'V component of wind',\n", - " 'Ozone mass mixing ratio',\n", + " 'values': ['Specific cloud ice water content',\n", + " 'Geopotential',\n", " 'U component of wind',\n", - " 'Relative humidity',\n", " 'Specific humidity',\n", - " 'Fraction of cloud cover',\n", - " 'Specific rain water content',\n", - " 'Specific cloud ice water content',\n", + " 'Vorticity (relative)',\n", + " 'Specific snow water content',\n", " 'Potential vorticity',\n", + " 'V component of wind',\n", + " 'Vertical velocity',\n", + " 'Ozone mass mixing ratio',\n", " 'Specific cloud liquid water content',\n", + " 'Fraction of cloud cover',\n", " 'Temperature',\n", " 'Divergence',\n", - " 'Vertical velocity',\n", - " 'Geopotential',\n", - " 'Specific snow water content']}}" + " 'Specific rain water content',\n", + " 'Relative humidity']}}" ] }, "execution_count": 15, @@ -718,112 +717,38 @@ "## Open multiple ERA5 files as `xarray` datasets\n", "\n", "We can open the *entire* selection at once with `to_dataset_dict`. The result will be a `dict`ionary of `xarray` datasets.\n", - "For this, we have to specify a configuration for `xarray` via the `cdf_kwargs` argument:\n", + "For this, we have to specify a configuration for `xarray` via the `cdf_kwargs` argument.\n", "```python\n", - "cdf_kwargs={\"engine\":\"cfgrib\",\n", - " \"chunks\":{\n", - " \"time\":1\n", - " }\n", + "cdf_kwargs={\n", + " \"engine\":\"cfgrib\",\n", + " \"chunks\":{\n", + " \"time\":1\n", + " }\n", "}\n", "```\n", - "While the *engine* indicates what *backend* `xarray` has to use to open the files (*here: cfgrib since the ERA5 data are stored in GRIB format*), we specify `chunks` so that `dask` is used for array handling. This approach **saves memory** and returns *futures* of arrays which are only computed and loaded if needed.<br>This may take a while. We can ignore warnings printed by the underlying `cfgrib` library. " + "The *engine* indicates what *backend* `xarray` has to use to open the files (*here: cfgrib since the ERA5 data are stored in GRIB format*). For high frequency 3d variables, we recommend to use small chunking of `dask` arrays on the time axis which can be done by setting `chunks`. This approach **saves memory** and returns *futures* of arrays which are only computed and loaded if needed.\n", + "\n", + "<br>\n", + "This may take a while. We can ignore warnings printed by the underlying `cfgrib` library." ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 26, "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "--> The keys in the returned dictionary of datasets are constructed as follows:\n", - "\t'table_id.stepType.level_type.frequency'\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "<style>\n", - " /* Turns off some styling */\n", - " progress {\n", - " /* gets rid of default border in Firefox and Opera. */\n", - " border: none;\n", - " /* Needs to be in here for Safari polyfill so background images work as expected. */\n", - " background-size: auto;\n", - " }\n", - " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n", - " background: #F44336;\n", - " }\n", - "</style>\n" - ], - "text/plain": [ - "<IPython.core.display.HTML object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " <div>\n", - " <progress value='1' class='' max='1' style='width:300px; height:20px; vertical-align: middle;'></progress>\n", - " 100.00% [1/1 00:00<00:00]\n", - " </div>\n", - " " - ], - "text/plain": [ - "<IPython.core.display.HTML object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "{'128.0.instant.pressure_level.hourly': <xarray.Dataset>\n", - " Dimensions: (time: 24, isobaricInhPa: 37, values: 542080)\n", - " Coordinates:\n", - " number int64 ...\n", - " * time (time) datetime64[ns] 1980-01-31 ... 1980-01-31T23:00:00\n", - " step timedelta64[ns] ...\n", - " * isobaricInhPa (isobaricInhPa) int64 1000 975 950 925 900 875 ... 7 5 3 2 1\n", - " latitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", - " longitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", - " valid_time (time) datetime64[ns] dask.array<chunksize=(1,), meta=np.ndarray>\n", - " Dimensions without coordinates: values\n", - " Data variables:\n", - " t (time, isobaricInhPa, values) float32 dask.array<chunksize=(1, 37, 542080), meta=np.ndarray>\n", - " Attributes:\n", - " GRIB_edition: 1\n", - " GRIB_centre: ecmf\n", - " GRIB_centreDescription: European Centre for Medium-Range Weather Forecasts\n", - " GRIB_subCentre: 0\n", - " Conventions: CF-1.7\n", - " institution: European Centre for Medium-Range Weather Forecasts\n", - " history: 2022-06-21T18:04:52 GRIB to CDM+CF via cfgrib-0....\n", - " intake_esm_varname: 130\n", - " intake_esm_dataset_key: 128.0.instant.pressure_level.hourly}" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "temp_hourly_pl_xr_dict=temp_hourly_pl.to_dataset_dict(cdf_kwargs={\"engine\":\"cfgrib\",\n", - " \"chunks\":{\"time\":1}\n", - " } \n", - " )\n", + "%%capture\n", + "\n", + "temp_hourly_pl_xr_dict=temp_hourly_pl.to_dataset_dict(\n", + " cdf_kwargs={\n", + " \"chunks\":{\n", + " \"time\":1\n", + " } \n", + " } \n", + ")\n", "temp_hourly_pl_xr_dict" ] }, @@ -836,18 +761,28 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'aggregations': [{'attribute_name': 'code', 'type': 'union'}],\n", - " 'variable_column_name': 'code',\n", - " 'groupby_attrs': ['table_id', 'stepType', 'level_type', 'frequency']}" + "{'aggregations': [{'attribute_name': 'validation_date',\n", + " 'options': {'compat': 'override', 'coords': 'minimal', 'dim': 'time'},\n", + " 'type': 'join_existing'},\n", + " {'attribute_name': 'initialization_date',\n", + " 'options': {'compat': 'override', 'coords': 'minimal', 'dim': 'time'},\n", + " 'type': 'join_existing'},\n", + " {'attribute_name': 'short_name', 'type': 'union'}],\n", + " 'variable_column_name': 'short_name',\n", + " 'groupby_attrs': ['era_id',\n", + " 'table_id',\n", + " 'stepType',\n", + " 'level_type',\n", + " 'frequency']}" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -865,7 +800,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -890,7 +825,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -907,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -1274,7 +1209,7 @@ " longitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", "Dimensions without coordinates: values\n", "Data variables:\n", - " t (values) float32 dask.array<chunksize=(542080,), meta=np.ndarray></pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-45196a02-ecb4-44c4-9c40-1b6c6b7851b3' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-45196a02-ecb4-44c4-9c40-1b6c6b7851b3' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>values</span>: 542080</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-a755f5ef-278b-4156-a384-f73506250c0a' class='xr-section-summary-in' type='checkbox' checked><label for='section-a755f5ef-278b-4156-a384-f73506250c0a' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>number</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-88121fbe-ac38-4eef-9d35-36ff450781be' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-88121fbe-ac38-4eef-9d35-36ff450781be' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8e23a4e9-c810-4268-9e28-ceb75eb2d8e2' class='xr-var-data-in' type='checkbox'><label for='data-8e23a4e9-c810-4268-9e28-ceb75eb2d8e2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>ensemble member numerical id</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>standard_name :</span></dt><dd>realization</dd></dl></div><div class='xr-var-data'><pre>array(0)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>step</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>timedelta64[ns]</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-a3180d41-e6a2-4b9b-8789-f8e7a72cbb73' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a3180d41-e6a2-4b9b-8789-f8e7a72cbb73' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3e04c94b-102e-422d-a1c5-8dcf9be5bc30' class='xr-var-data-in' type='checkbox'><label for='data-3e04c94b-102e-422d-a1c5-8dcf9be5bc30' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time since forecast_reference_time</dd><dt><span>standard_name :</span></dt><dd>forecast_period</dd></dl></div><div class='xr-var-data'><pre>array(0, dtype='timedelta64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>isobaricInhPa</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>500</div><input id='attrs-9867bd8e-5bb7-4642-8be0-115010263c7b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9867bd8e-5bb7-4642-8be0-115010263c7b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-adbd2ce5-ac65-4666-9414-fb8d28048991' class='xr-var-data-in' type='checkbox'><label for='data-adbd2ce5-ac65-4666-9414-fb8d28048991' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>pressure</dd><dt><span>units :</span></dt><dd>hPa</dd><dt><span>positive :</span></dt><dd>down</dd><dt><span>stored_direction :</span></dt><dd>decreasing</dd><dt><span>standard_name :</span></dt><dd>air_pressure</dd></dl></div><div class='xr-var-data'><pre>array(500)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-ce8f1587-7677-49eb-92e4-19df9c87afe1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ce8f1587-7677-49eb-92e4-19df9c87afe1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d450374d-2da5-4e41-b8c5-aa2d1ffb5064' class='xr-var-data-in' type='checkbox'><label for='data-d450374d-2da5-4e41-b8c5-aa2d1ffb5064' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>latitude</dd></dl></div><div class='xr-var-data'><table>\n", + " t (values) float32 dask.array<chunksize=(542080,), meta=np.ndarray></pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-b58b7aff-640a-4b40-86f0-30c2ab6483a3' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-b58b7aff-640a-4b40-86f0-30c2ab6483a3' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>values</span>: 542080</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-9dd11349-f72b-4dcd-9abb-3298cbc811ff' class='xr-section-summary-in' type='checkbox' checked><label for='section-9dd11349-f72b-4dcd-9abb-3298cbc811ff' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>number</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-b52145cf-0c46-4e57-8adb-f0e3bacfba0f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b52145cf-0c46-4e57-8adb-f0e3bacfba0f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-37b3156b-b695-4149-8c5c-834cdba522b0' class='xr-var-data-in' type='checkbox'><label for='data-37b3156b-b695-4149-8c5c-834cdba522b0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>ensemble member numerical id</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>standard_name :</span></dt><dd>realization</dd></dl></div><div class='xr-var-data'><pre>array(0)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>step</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>timedelta64[ns]</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-b4a6ec88-8e8f-4ae4-a7ea-fa85d541ec9a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b4a6ec88-8e8f-4ae4-a7ea-fa85d541ec9a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-13c16447-9c84-4355-aaea-e63a4e08b363' class='xr-var-data-in' type='checkbox'><label for='data-13c16447-9c84-4355-aaea-e63a4e08b363' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time since forecast_reference_time</dd><dt><span>standard_name :</span></dt><dd>forecast_period</dd></dl></div><div class='xr-var-data'><pre>array(0, dtype='timedelta64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>isobaricInhPa</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>500</div><input id='attrs-789b2111-d21e-4a75-b7ae-8ac825cbff41' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-789b2111-d21e-4a75-b7ae-8ac825cbff41' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dab26bd6-be71-4c3b-a092-73dcdef75717' class='xr-var-data-in' type='checkbox'><label for='data-dab26bd6-be71-4c3b-a092-73dcdef75717' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>pressure</dd><dt><span>units :</span></dt><dd>hPa</dd><dt><span>positive :</span></dt><dd>down</dd><dt><span>stored_direction :</span></dt><dd>decreasing</dd><dt><span>standard_name :</span></dt><dd>air_pressure</dd></dl></div><div class='xr-var-data'><pre>array(500)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-26ff07bc-4191-414e-a5d2-fc7466d0d1d6' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-26ff07bc-4191-414e-a5d2-fc7466d0d1d6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-67d99871-711f-4f86-adec-66132bba1de5' class='xr-var-data-in' type='checkbox'><label for='data-67d99871-711f-4f86-adec-66132bba1de5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>latitude</dd></dl></div><div class='xr-var-data'><table>\n", " <tr>\n", " <td>\n", " <table>\n", @@ -1331,7 +1266,7 @@ "</svg>\n", " </td>\n", " </tr>\n", - "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-07a41fb0-1091-42f4-b78e-7186bd70ab16' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-07a41fb0-1091-42f4-b78e-7186bd70ab16' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e0fbd64c-c926-47fc-afa5-6a7656dd0484' class='xr-var-data-in' type='checkbox'><label for='data-e0fbd64c-c926-47fc-afa5-6a7656dd0484' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>longitude</dd></dl></div><div class='xr-var-data'><table>\n", + "</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-2ff742c7-416b-416e-b0e7-cb61c6364d38' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2ff742c7-416b-416e-b0e7-cb61c6364d38' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-818e1b90-7dad-459f-ad7a-99d107884917' class='xr-var-data-in' type='checkbox'><label for='data-818e1b90-7dad-459f-ad7a-99d107884917' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>longitude</dd></dl></div><div class='xr-var-data'><table>\n", " <tr>\n", " <td>\n", " <table>\n", @@ -1388,7 +1323,7 @@ "</svg>\n", " </td>\n", " </tr>\n", - "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-dd59b6b9-3f90-450a-b0cc-675fdee6ba37' class='xr-section-summary-in' type='checkbox' checked><label for='section-dd59b6b9-3f90-450a-b0cc-675fdee6ba37' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>t</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-fd9952ea-0740-442b-b2e2-b9c4fdf0a105' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-fd9952ea-0740-442b-b2e2-b9c4fdf0a105' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1a3318e7-13f3-47e2-9c7b-92e6a3daebf3' class='xr-var-data-in' type='checkbox'><label for='data-1a3318e7-13f3-47e2-9c7b-92e6a3daebf3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n", + "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-8746396b-817c-42de-8b8b-c321cde0928e' class='xr-section-summary-in' type='checkbox' checked><label for='section-8746396b-817c-42de-8b8b-c321cde0928e' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>t</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(542080,), meta=np.ndarray></div><input id='attrs-53f118bb-7970-4fde-9f71-22638870ef01' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-53f118bb-7970-4fde-9f71-22638870ef01' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-729217cc-64ed-4b12-9052-1c4bdcc9b1f6' class='xr-var-data-in' type='checkbox'><label for='data-729217cc-64ed-4b12-9052-1c4bdcc9b1f6' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n", " <tr>\n", " <td>\n", " <table>\n", @@ -1414,7 +1349,7 @@ " </tr>\n", " <tr>\n", " <th> Count </th>\n", - " <td> 82 Tasks </td>\n", + " <td> 3256 Tasks </td>\n", " <td> 1 Chunks </td>\n", " </tr>\n", " <tr>\n", @@ -1445,7 +1380,7 @@ "</svg>\n", " </td>\n", " </tr>\n", - "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-c5cbb14b-ca91-4bbb-a148-d29de4eb1169' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-c5cbb14b-ca91-4bbb-a148-d29de4eb1169' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" + "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-5ef6b0e7-c63a-427c-9346-2917abd91358' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-5ef6b0e7-c63a-427c-9346-2917abd91358' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.Dataset>\n", @@ -1461,7 +1396,7 @@ " t (values) float32 dask.array<chunksize=(542080,), meta=np.ndarray>" ] }, - "execution_count": 22, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1480,7 +1415,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1847,9 +1782,9 @@ " longitude (values) float64 0.0 20.0 40.0 60.0 ... 300.0 320.0 340.0\n", "Dimensions without coordinates: values\n", "Data variables:\n", - " t (values) float32 236.8 236.7 236.6 ... 237.5 237.4 237.4</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-6b272c3b-26fd-4c91-9bb1-e6de4c9614a6' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-6b272c3b-26fd-4c91-9bb1-e6de4c9614a6' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>values</span>: 542080</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-f296c94d-14e7-4faa-a378-71f875f91200' class='xr-section-summary-in' type='checkbox' checked><label for='section-f296c94d-14e7-4faa-a378-71f875f91200' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>number</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0</div><input id='attrs-f6518f7f-3daa-4112-bfe2-7dc9e5668455' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f6518f7f-3daa-4112-bfe2-7dc9e5668455' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a249ab0d-86d9-40e0-b3eb-5b800fccf790' class='xr-var-data-in' type='checkbox'><label for='data-a249ab0d-86d9-40e0-b3eb-5b800fccf790' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>ensemble member numerical id</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>standard_name :</span></dt><dd>realization</dd></dl></div><div class='xr-var-data'><pre>array(0)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>step</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>timedelta64[ns]</div><div class='xr-var-preview xr-preview'>00:00:00</div><input id='attrs-b8d4b223-9039-4bb3-b898-23aeb0ae0b14' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b8d4b223-9039-4bb3-b898-23aeb0ae0b14' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-813bdf72-27f5-4cf4-8738-0e29ae09a7e1' class='xr-var-data-in' type='checkbox'><label for='data-813bdf72-27f5-4cf4-8738-0e29ae09a7e1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time since forecast_reference_time</dd><dt><span>standard_name :</span></dt><dd>forecast_period</dd></dl></div><div class='xr-var-data'><pre>array(0, dtype='timedelta64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>isobaricInhPa</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>500</div><input id='attrs-756ed783-7f3d-4ae6-9b2c-25177bc4da19' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-756ed783-7f3d-4ae6-9b2c-25177bc4da19' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-afc7e388-2778-44a8-a3b2-3633bb0b7063' class='xr-var-data-in' type='checkbox'><label for='data-afc7e388-2778-44a8-a3b2-3633bb0b7063' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>pressure</dd><dt><span>units :</span></dt><dd>hPa</dd><dt><span>positive :</span></dt><dd>down</dd><dt><span>stored_direction :</span></dt><dd>decreasing</dd><dt><span>standard_name :</span></dt><dd>air_pressure</dd></dl></div><div class='xr-var-data'><pre>array(500)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>89.78 89.78 89.78 ... -89.78 -89.78</div><input id='attrs-853b3928-e32a-4696-b844-11f5eadd372c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-853b3928-e32a-4696-b844-11f5eadd372c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e4b6fe7c-8a4f-4fce-b131-c741d9592835' class='xr-var-data-in' type='checkbox'><label for='data-e4b6fe7c-8a4f-4fce-b131-c741d9592835' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>latitude</dd></dl></div><div class='xr-var-data'><pre>array([ 89.78487691, 89.78487691, 89.78487691, ..., -89.78487691,\n", - " -89.78487691, -89.78487691])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 20.0 40.0 ... 300.0 320.0 340.0</div><input id='attrs-85bb01cf-4265-4237-bc52-49beeb43d1d8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-85bb01cf-4265-4237-bc52-49beeb43d1d8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-85bd2345-1320-4e06-8604-e29b921df95c' class='xr-var-data-in' type='checkbox'><label for='data-85bd2345-1320-4e06-8604-e29b921df95c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>longitude</dd></dl></div><div class='xr-var-data'><pre>array([ 0., 20., 40., ..., 300., 320., 340.])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-5b9f0e49-9d65-44b5-9b83-bcf3aae58c6a' class='xr-section-summary-in' type='checkbox' checked><label for='section-5b9f0e49-9d65-44b5-9b83-bcf3aae58c6a' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>t</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>236.8 236.7 236.6 ... 237.4 237.4</div><input id='attrs-b8fad260-9c69-41ab-8662-e1f3d275060b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b8fad260-9c69-41ab-8662-e1f3d275060b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-caeb7fc1-f6bd-42e2-a813-b15c22e89c98' class='xr-var-data-in' type='checkbox'><label for='data-caeb7fc1-f6bd-42e2-a813-b15c22e89c98' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([236.83197, 236.72528, 236.60594, ..., 237.45265, 237.42348,\n", - " 237.4007 ], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-1d00a07e-ac38-454a-afcd-c9dc0fafd26d' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-1d00a07e-ac38-454a-afcd-c9dc0fafd26d' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" + " t (values) float32 233.1 233.1 233.1 ... 238.0 238.0 238.0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-c17c1656-4855-4dbc-8c33-adf75dc27526' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-c17c1656-4855-4dbc-8c33-adf75dc27526' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>values</span>: 542080</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-46d25ee5-ec26-4644-b84e-1959069d0d2d' class='xr-section-summary-in' type='checkbox' checked><label for='section-46d25ee5-ec26-4644-b84e-1959069d0d2d' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>number</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0</div><input id='attrs-d37d4ccf-d40d-40a5-bea7-f4bc1833183a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d37d4ccf-d40d-40a5-bea7-f4bc1833183a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a2faeb5e-5f9b-471e-a49d-673bed36d2a2' class='xr-var-data-in' type='checkbox'><label for='data-a2faeb5e-5f9b-471e-a49d-673bed36d2a2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>ensemble member numerical id</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>standard_name :</span></dt><dd>realization</dd></dl></div><div class='xr-var-data'><pre>array(0)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>step</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>timedelta64[ns]</div><div class='xr-var-preview xr-preview'>00:00:00</div><input id='attrs-873d0407-ce9b-4f16-b964-6d5202e8a542' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-873d0407-ce9b-4f16-b964-6d5202e8a542' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6adc11bf-20cb-4643-94ad-86a532126f3f' class='xr-var-data-in' type='checkbox'><label for='data-6adc11bf-20cb-4643-94ad-86a532126f3f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time since forecast_reference_time</dd><dt><span>standard_name :</span></dt><dd>forecast_period</dd></dl></div><div class='xr-var-data'><pre>array(0, dtype='timedelta64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>isobaricInhPa</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>500</div><input id='attrs-ea57152c-c74d-4173-a9e0-b113ace406e3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ea57152c-c74d-4173-a9e0-b113ace406e3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-92e329b3-f298-4f42-bb71-0e55270fc752' class='xr-var-data-in' type='checkbox'><label for='data-92e329b3-f298-4f42-bb71-0e55270fc752' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>pressure</dd><dt><span>units :</span></dt><dd>hPa</dd><dt><span>positive :</span></dt><dd>down</dd><dt><span>stored_direction :</span></dt><dd>decreasing</dd><dt><span>standard_name :</span></dt><dd>air_pressure</dd></dl></div><div class='xr-var-data'><pre>array(500)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>89.78 89.78 89.78 ... -89.78 -89.78</div><input id='attrs-a58a94ff-850f-43f7-8421-7624f468277a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a58a94ff-850f-43f7-8421-7624f468277a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e6ceea40-eacf-4f6c-b39c-41f756266361' class='xr-var-data-in' type='checkbox'><label for='data-e6ceea40-eacf-4f6c-b39c-41f756266361' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>long_name :</span></dt><dd>latitude</dd></dl></div><div class='xr-var-data'><pre>array([ 89.78487691, 89.78487691, 89.78487691, ..., -89.78487691,\n", + " -89.78487691, -89.78487691])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 20.0 40.0 ... 300.0 320.0 340.0</div><input id='attrs-a7648441-73aa-4230-ab23-158583969d23' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a7648441-73aa-4230-ab23-158583969d23' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-976e4f7e-744b-47cd-aa27-01ddce5c483c' class='xr-var-data-in' type='checkbox'><label for='data-976e4f7e-744b-47cd-aa27-01ddce5c483c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>long_name :</span></dt><dd>longitude</dd></dl></div><div class='xr-var-data'><pre>array([ 0., 20., 40., ..., 300., 320., 340.])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-34558c43-681d-4993-897b-158c6b2c207f' class='xr-section-summary-in' type='checkbox' checked><label for='section-34558c43-681d-4993-897b-158c6b2c207f' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>t</span></div><div class='xr-var-dims'>(values)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>233.1 233.1 233.1 ... 238.0 238.0</div><input id='attrs-c91e6097-d3c9-4a11-aa76-cc14faa0b478' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c91e6097-d3c9-4a11-aa76-cc14faa0b478' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ac0326cf-ca1d-413b-b101-e75c52117d3c' class='xr-var-data-in' type='checkbox'><label for='data-ac0326cf-ca1d-413b-b101-e75c52117d3c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([233.05742, 233.06569, 233.0756 , ..., 238.00484, 237.99544,\n", + " 237.98672], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0fc2735e-e133-47be-b1e8-b873e6d71611' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0fc2735e-e133-47be-b1e8-b873e6d71611' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.Dataset>\n", @@ -1862,10 +1797,10 @@ " longitude (values) float64 0.0 20.0 40.0 60.0 ... 300.0 320.0 340.0\n", "Dimensions without coordinates: values\n", "Data variables:\n", - " t (values) float32 236.8 236.7 236.6 ... 237.5 237.4 237.4" + " t (values) float32 233.1 233.1 233.1 ... 238.0 238.0 238.0" ] }, - "execution_count": 23, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1883,22 +1818,22 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[<matplotlib.lines.Line2D at 0x7fff53d7a610>]" + "[<matplotlib.lines.Line2D at 0x7ffb1e7fd790>]" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -1912,6 +1847,76 @@ "source": [ "t500mean.t.plot()" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "P.S.: For Forecast variables, we recommend to define and use the following *preprocessing* function so that you generate a single time axis on the fly. You can apply this function by adding the `preprocess=pp` keyword argument to the `to_dataset_dict` function." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "def pp(ds):\n", + " if \"depthBelowLandLayer\" in ds.coords:\n", + " del ds[\"depthBelowLandLayer\"]\n", + " import datetime as dt\n", + " if \"step\" in ds.dims:\n", + " corrected_list = []\n", + " time0=ds.isel(time=0)[\"time\"]\n", + " time0hour=ds.isel(time=0)[\"time.hour\"]\n", + " timegroups=ds.groupby('time')\n", + " for idx, (label,group) in enumerate(timegroups) :\n", + " group[\"step\"]=group[\"step\"]+(group[\"time\"]-time0)\n", + " #default: 18h\n", + " begin_step_hour=6\n", + " end_step_hour=30\n", + "\n", + " if time0hour == 6 and time0.dt.year!=1940 :\n", + " begin_step_hour=18\n", + " end_step_hour=42\n", + " elif time0hour == 6 and time0.dt.year==1940 :\n", + " begin_step_hour=0\n", + " end_step_hour=18\n", + "\n", + " group=group.where(\n", + " (group[\"step\"].dt.seconds/60/60+group[\"step\"].dt.days*24)>begin_step_hour-1,\n", + " drop=True\n", + " )\n", + " group=group.where(\n", + " (group[\"step\"].dt.seconds/60/60+group[\"step\"].dt.days*24)<end_step_hour,\n", + " drop=True\n", + " )\n", + "\n", + " corrected_list.append(group)\n", + " corrected_dset=xr.concat(corrected_list,dim=\"step\")\n", + " del corrected_dset[\"time\"]\n", + " return corrected_dset.rename(\n", + " dict(\n", + " #valid_time=\"time\",\n", + " step=\"time\",\n", + " )\n", + " ).set_index(time=\"valid_time\")\n", + " return ds" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {