diff --git a/notebooks/demo/tutorial_cloud_tzis.ipynb b/notebooks/demo/tutorial_cloud_tzis.ipynb index 3c4550fd592c8b4f85fb1b7bc0a02b429bc9610c..9353e55cd8b0fdf2928c6f6c43cddc537c1d350e 100644 --- a/notebooks/demo/tutorial_cloud_tzis.ipynb +++ b/notebooks/demo/tutorial_cloud_tzis.ipynb @@ -126,8 +126,12 @@ "`Tzis` includes a function to get the token or, if not available, create the token:\n", "\n", "```python\n", - "import tzis\n", - "token=tzis.get_token(ACCOUNT, USERNAME=USERNAME)\n", + "from tzis import swifthandling\n", + "token=swifthandling.get_token(\n", + " \"dkrz\",\n", + " project,\n", + " user\n", + ")\n", "```\n", "\n", "When calling `get_token`,\n", @@ -149,9 +153,12 @@ "After having the authentication for swift, we *initialize* a swift container in which we will save the data. We do that with\n", "\n", "```python\n", - "container = tzis.Tzis(os_url, os_token, os_container, \n", - " os_name=None, mf_dset=None, varname=None, verbose=False, \n", - " xarray_kwargs=None)\n", + "target_fsmap=swifthandling.get_swift_mapper(\n", + " token[\"OS_STORAGE_URL\"],\n", + " token[\"OS_AUTH_TOKEN\"],\n", + " container_name,\n", + " os_name=prefix_for_object_storage\n", + ")\n", "```\n", "\n", "The mandatory arguments are:\n", @@ -159,41 +166,7 @@ "- `os_token` is the `OS_AUTH_TOKEN`\n", "- `os_container` is the *container name* / the *bucket*. A container is the highest of two store levels in the swift object store.\n", "\n", - "these will connect you to the swift store and initialize/create a container.\n", - "\n", - "You can\n", - "- already specify a `os_name` which is the *zarr dataset name* or the *object* name where the data will be in the end. \n", - "- decide whether you want to run the write process in *Verbose* mode by specifying `verbose=True`\n", - "\n", - "E.g.:\n", - "```python\n", - "container = tzis.Tzis(token[\"OS_STORAGE_URL\"], token[\"OS_AUTH_TOKEN\"], \"tzistest\",\n", - " verbose=True)\n", - "```\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "68d2c5f4-f248-401b-b300-85a37f748f49", - "metadata": {}, - "outputs": [], - "source": [ - "from tzis import tzis\n", - "help(tzis.Tzis)" - ] - }, - { - "cell_type": "markdown", - "id": "c2380bfc-22ab-41c0-96a6-aa9ce2203b13", - "metadata": {}, - "source": [ - "### Setting a zarr dataset name (an object prefix)\n", - "\n", - "You can switch to different zarr dataset output names within one container by overwriting the container's `store` attribute:\n", - "```python\n", - "container.open_store(os_name):\n", - "```" + "these will connect you to the swift store and initialize/create a container." ] }, { @@ -204,15 +177,23 @@ "<a class=\"anchor\" id=\"source\"></a>\n", "## Open and configure the source dataset\n", "\n", - "We can now read in the source file(s) which should be written into cloud. We have to save them as the `mf_dset` variable of our variable \"`container`\". These input files will be opened with `xarray`'s `open_mfdataset` function. Therefore, the `tzis` function looks similar:\n", + "Tzis offers a convenient function to directly open a dataset such that it has the chunks fitting to target chunk size. See the *Writing to Swift*-chapter for notes related to the chunking.\n", "\n", "```python\n", - "def open_mf_dataset(self, mf, varname, xarray_kwargs=None):\n", + "from tzis import openmf\n", + "omo = openmf.open_mfdataset_optimize(\n", + " glob_path_var,\n", + " varname,\n", + " target_fsmap,\n", + " chunkdim=chunkdim,\n", + " target_mb=target_mb\n", + ")\n", + "\n", "```\n", "The mandatory arguments are\n", - "- `mf`: The dataset file(s). A `str` or a `list` of source files which can be opened with\n", + "- `glob_path_var`: The dataset file(s). A `str` or a `list` of source files which can be opened with\n", "```python\n", - "mf_dset = xarray.open_mfdataset(mf,\n", + "mf_dset = xarray.open_mfdataset(glob_path_var,\n", " decode_cf=True,\n", " use_cftime=True,\n", " data_vars='minimal', \n", @@ -221,12 +202,13 @@ " combine_attrs=\"drop_conflicts\")\n", "```\n", "- `varname`: The variable from the dataset which will be selected and then written into the object store\n", + "- `target_fsmap`\n", "\n", "E.g.:\n", "```python\n", - "path_to_dataset = \"/mnt/lustre02/work/ik1017/CMIP6/data/CMIP6/ScenarioMIP/DKRZ/MPI-ESM1-2-HR/ssp370/r1i1p1f1/Amon/tas/gn/v20190710/\"\n", + "path_to_dataset = \"/work/ik1017/CMIP6/data/CMIP6/ScenarioMIP/DKRZ/MPI-ESM1-2-HR/ssp370/r1i1p1f1/Amon/tas/gn/v20190710/\"\n", "mfs_towrite=[path_var +filename for filename in os.listdir(path_to_dataset)]\n", - "container.mf_dataset=container.open_mf_dataset(mfs_towrite, \"pr\")\n", + "container.mf_dataset=container.open_mf_dataset(openmf, \"pr\", target_fsmap)\n", "container.mf_dataset\n", "```" ] @@ -258,8 +240,25 @@ "After we have initialized the container and opened the dataset, we can **write** it into cloud. The conversion to `zarr` is made on the way. We can specify all necessary configuration options within the `write` function:\n", "\n", "```python\n", - "def write_to_swift(self, chunkdim='time', target_mb=1000, startchunk=0, validity_check=False, maxretries=3)\n", + "\n", + "def write_zarr(\n", + " self,\n", + " fsmap, \n", + " mf_dset,\n", + " varname,\n", + " chunkdim=\"time\",\n", + " target_mb=0,\n", + " startchunk=0,\n", + " validity_check=False,\n", + " maxretries=3,\n", + " trusted=True,\n", + ")\n", "```\n", + "The function needs\n", + "\n", + "- a target store `fsmap` as a *fsspec mapping*\n", + "- the input xarray dataset `mf_dset`\n", + "- the variable name `varname` which should be used to rechunk\n", "\n", "The function allows you\n", "\n", @@ -271,7 +270,14 @@ "\n", "E.g.\n", "```python\n", - "outstore=container.write_to_swift()\n", + "from tzis import tzis\n", + "outstore=tzis.write_zarr(\n", + " omo.target_fsmap,\n", + " omo.mf_dset,\n", + " omo.varname,\n", + " verbose=True,\n", + " target_mb=0\n", + ")\n", "```" ] }, @@ -283,7 +289,7 @@ "tags": [] }, "source": [ - "The output `outstore` of `write_to_swift` is a new variable for the output **zarr storage**. Packages like `xarray` which are using `zarr` can identify and open the *consolidated* dataset from the cloud with that store. The `os_name` of `container` can now be changed while the `outstore` still points to the written `os_name`." + "The output `outstore` of `write_zarr` is a new variable which packages like `xarray` can use and open as a *consolidated* dataset. The `os_name` of `container` can now be changed while the `outstore` still points to the written `os_name`." ] }, { @@ -295,7 +301,7 @@ "source": [ "### Overwriting or appending?\n", "\n", - "`write_to_swift()` per default **appends** data if possible. It calls `xarray`'s `to_zarr()` function *for each chunk*. Before a chunk is written, it is checked if there is already a chunk for exactly the **slice** of the dataset that should be written. If so, the chunk is skipped. Therefore, recalling `write_to_swift` only overwrites chunks if they cover a different slice of the source dataset.\n", + "`write_zarr()` per default **appends** data if possible. It calls `xarray`'s `to_zarr()` function *for each chunk*. Before a chunk is written, it is checked if there is already a chunk for exactly the **slice** of the dataset that should be written. If so, the chunk is skipped. Therefore, recalling `write_zarr` only overwrites chunks if they cover a different slice of the source dataset.\n", "\n", "In order to skip chunks, you can set `startchunk`. Then, the function will jump to `startchunk` and start writing this." ] @@ -311,15 +317,20 @@ "\n", "1. Define another store by using a different `os_name`:\n", "```python\n", - "container.store= container.open_store(os_name):\n", + "omo.target_fsmap= swifthandling.get_swift_mapper(\n", + " token[\"OS_STORAGE_URL\"],\n", + " token[\"OS_AUTH_TOKEN\"],\n", + " container_name,\n", + " os_name=new_prefix_for_new_variable\n", + ")\n", "```\n", - "1. Set another variable name `varname`:\n", + "2. Set another variable name `varname`:\n", "```python\n", - "container.varname=varname\n", + "omo.varname=varname\n", "```\n", - "1. Write to swift:\n", + "3. Write to swift:\n", "```python\n", - "container.write_to_swift()\n", + "tzis.write_zarr()\n", "```" ] }, @@ -398,11 +409,11 @@ "*Attributes* of the dataset are handled in a `dict`ionary in the `container.mf_dset` variable via `xarray`. You can **add** or **delete** attributes just like items from a dictionary:\n", "```python\n", "#add an attribute\n", - "mf_dset.attrs[\"new_attribute\"]=\"New value of attribute\"\n", - "print(mf_dset.attrs[\"new_attribute\"])\n", + "omo.attrs[\"new_attribute\"]=\"New value of attribute\"\n", + "print(omo.attrs[\"new_attribute\"])\n", "\n", "#delete the attribute\n", - "del mf_dset.attrs[\"new_attribute\"]\n", + "del omo.attrs[\"new_attribute\"]\n", "```" ] }, @@ -495,7 +506,13 @@ "metadata": {}, "source": [ "<a class=\"anchor\" id=\"swiftstore\"></a>\n", - "## Container handling with the swiftstore - `chmod`, `ls`, `rm`, `mv`" + "## Swift storage handling with fsspec - `chmod`, `ls`, `rm`, `mv`\n", + "\n", + "The mapper from fsspec comes with a *filesystem* object named `fs` which maps the api calls to the linux commands so that they become applicable, e.g.:\n", + "\n", + "```python\n", + "outstore.fs.ls(outstore.root)\n", + "```" ] }, { @@ -505,24 +522,28 @@ "tags": [] }, "source": [ - "### Saving a list of all zarr datasets\n", + "### The Index\n", + "\n", + "`write_zarr` automatically appends to an index *INDEX.csv* in the parent directory. You should find it via\n", "\n", - "You can get all `os_name`s of a container with `listdir` of the `zarrstore`:\n", "```python\n", - "#remove the os_name so that you go up on container level:\n", - "container.open_store(\"\")\n", - "#container.store is now changed\n", - "all_zarr_datasets = container.listdir()\n", - "all_zarr_datasets\n", + "import os\n", + "outstore.fs.ls(os.path.dirname(outstore.root))\n", "```\n", "\n", - "In case the data is free, you should save the list as follows:\n", + "You can directly read that with\n", + "\n", "```python\n", - "with fopen(\"zarrsets.txt\", \"w\") as f:\n", - " for os_name in all_zarr_datasets:\n", - " f.write(OS_STORAGE_URL+\"/\"+os_container+\"/\"+os_name)\n", + "import pandas as pd\n", + "index_df=pd.read_csv(os.path.dirname(outstore.root)+\"/INDEX.csv\")\n", "```\n", - "This will enable to [simply open](#access) the zarr datasets with `xarray` afterwards." + "\n", + "All the *url*s in the column *url* should be openable with xarray, e.g.:\n", + "\n", + "```python\n", + "import xarray as xr\n", + "xr.open_zarr(index_df[\"url\"][0], consolidated=True)\n", + "```" ] }, { @@ -535,7 +556,11 @@ "- use the `store`:\n", "\n", "```python\n", - "tzis.toggle_public(outstore)\n", + "#with a container and a prefix, you can get the container_name via os\n", + "#import os\n", + "#container_name=os.path.basename(os.path.dirname(outstore.root))\n", + "\n", + "swifthandling.toggle_public(container_name)\n", "```\n", "\n", "This will either make the container of the outstore *public* if it was not or it will make it *private* by removing all access control lists if it was public. Note that only container as a whole can be made public or private.\n", @@ -554,11 +579,10 @@ "source": [ "### Remove a zarr-`store` i.e. all objects with `os_name` prefix\n", "\n", - "- use the `store`:\n", + "- use `fsspec`:\n", "\n", "```python\n", - "container.open_store(\"\")\n", - "container.store.rmdir(os_name) \n", + "target_fsmap.fs.rmdir(os_name) \n", "```\n", "\n", "- With hand:\n", @@ -576,13 +600,21 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c7aa866-70f2-4fe0-ae02-742671357701", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "taucenvkernel", + "display_name": "taucenv", "language": "python", - "name": "taucenvkernel" + "name": "taucenv" }, "language_info": { "codemirror_mode": { @@ -594,7 +626,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.6" + "version": "3.9.15" } }, "nbformat": 4, 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 9229ff38af24d5f4cc485a98a0d354b8b4281e07..a9a9afb1de1c4aa93832747837b4b87081d1adde 100644 --- a/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb +++ b/notebooks/demo/tutorial_intake-1-3-dkrz-catalogs-era5.ipynb @@ -200,8 +200,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "/sw/spack-levante/mambaforge-4.11.0-0-Linux-x86_64-sobz6z/lib/python3.9/site-packages/intake_esm/utils.py:96: DtypeWarning: Columns (13,14) have mixed types. Specify dtype option on import or set low_memory=False.\n", - " return pd.read_csv(catalog_path, **csv_kwargs), catalog_path\n" + "/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/lib/python3.10/site-packages/intake_esm/cat.py:264: DtypeWarning: Columns (13,14) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv(\n" ] } ], @@ -251,7 +251,7 @@ { "data": { "text/html": [ - "<p><strong>dkrz_era5_disk catalog with 33 dataset(s) from 4417479 asset(s)</strong>:</p> <div>\n", + "<p><strong>dkrz_era5_disk catalog with 42 dataset(s) from 4236711 asset(s)</strong>:</p> <div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", @@ -303,24 +303,28 @@ " </tr>\n", " <tr>\n", " <th>code</th>\n", - " <td>113</td>\n", + " <td>116</td>\n", " </tr>\n", " <tr>\n", " <th>validation_date</th>\n", - " <td>31416</td>\n", + " <td>31499</td>\n", " </tr>\n", " <tr>\n", " <th>initialization_date</th>\n", - " <td>30421</td>\n", + " <td>31500</td>\n", " </tr>\n", " <tr>\n", " <th>uri</th>\n", - " <td>4417479</td>\n", + " <td>4236711</td>\n", " </tr>\n", " <tr>\n", " <th>format</th>\n", " <td>1</td>\n", " </tr>\n", + " <tr>\n", + " <th>derived_short_name</th>\n", + " <td>0</td>\n", + " </tr>\n", " </tbody>\n", "</table>\n", "</div>" @@ -424,14 +428,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/sw/spack-levante/mambaforge-4.11.0-0-Linux-x86_64-sobz6z/lib/python3.9/site-packages/intake_esm/utils.py:96: DtypeWarning: Columns (13,14) have mixed types. Specify dtype option on import or set low_memory=False.\n", - " return pd.read_csv(catalog_path, **csv_kwargs), catalog_path\n" + "/sw/spack-levante/mambaforge-22.9.0-2-Linux-x86_64-kptncg/lib/python3.10/site-packages/intake_esm/cat.py:264: DtypeWarning: Columns (13,14) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv(\n" ] } ], "source": [ - "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))" + "cols=dkrz_catalog._entries[\"dkrz_era5_disk\"]._open_args[\"read_csv_kwargs\"][\"usecols\"]+dkrz_catalog.metadata[\"parameters\"][\"additional_era5_disk_columns\"][\"default\"]\n", + "col=dkrz_catalog.dkrz_era5_disk(read_csv_kwargs=dict(usecols=cols))" ] }, { @@ -458,7 +462,7 @@ { "data": { "text/plain": [ - "{'dataType': {'count': 2, 'values': ['fc', 'an']}}" + "['an', 'fc']" ] }, "execution_count": 9, @@ -467,7 +471,8 @@ } ], "source": [ - "col.unique(\"dataType\")" + "uniques=col.unique()\n", + "uniques[\"dataType\"]" ] }, { @@ -489,7 +494,7 @@ { "data": { "text/plain": [ - "{'frequency': {'count': 3, 'values': ['daily', 'hourly', 'invariant']}}" + "['hourly', 'daily', 'invariant']" ] }, "execution_count": 10, @@ -498,7 +503,7 @@ } ], "source": [ - "col.unique(\"frequency\")" + "uniques[\"frequency\"]" ] }, { @@ -516,8 +521,7 @@ { "data": { "text/plain": [ - "{'level_type': {'count': 3,\n", - " 'values': ['pressure_level', 'model_level', 'surface']}}" + "['model_level', 'pressure_level', 'surface']" ] }, "execution_count": 11, @@ -526,7 +530,7 @@ } ], "source": [ - "col.unique(\"level_type\")" + "uniques[\"level_type\"]" ] }, { @@ -545,7 +549,7 @@ { "data": { "text/plain": [ - "{'stepType': {'count': 4, 'values': ['accum', 'avg', 'max', 'instant']}}" + "['instant', 'avg', 'max', 'accum']" ] }, "execution_count": 12, @@ -554,7 +558,7 @@ } ], "source": [ - "col.unique(\"stepType\")" + "uniques[\"stepType\"]" ] }, { @@ -588,6 +592,7 @@ " ('an', 'surface', 'daily'),\n", " ('an', 'surface', 'hourly'),\n", " ('an', 'surface', 'invariant'),\n", + " ('fc', 'surface', 'daily'),\n", " ('fc', 'surface', 'hourly'),\n", " ('fc', 'surface', 'invariant')]" ] @@ -636,23 +641,22 @@ { "data": { "text/plain": [ - "{'long_name': {'count': 16,\n", - " 'values': ['Specific cloud ice water content',\n", - " 'Geopotential',\n", - " 'U component of wind',\n", - " 'Specific humidity',\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", - " 'Specific rain water content',\n", - " 'Relative humidity']}}" + "['Potential vorticity',\n", + " 'Specific rain water content',\n", + " 'Specific snow water content',\n", + " 'Geopotential',\n", + " 'Temperature',\n", + " 'U component of wind',\n", + " 'V component of wind',\n", + " 'Specific humidity',\n", + " 'Vertical velocity',\n", + " 'Vorticity (relative)',\n", + " 'Divergence',\n", + " 'Relative humidity',\n", + " 'Ozone mass mixing ratio',\n", + " 'Specific cloud liquid water content',\n", + " 'Specific cloud ice water content',\n", + " 'Fraction of cloud cover']" ] }, "execution_count": 15, @@ -661,7 +665,7 @@ } ], "source": [ - "cat.unique(\"long_name\")" + "cat.unique()[\"long_name\"]" ] }, { @@ -696,7 +700,7 @@ { "data": { "text/plain": [ - "{'short_name': {'count': 1, 'values': ['t']}}" + "['t']" ] }, "execution_count": 17, @@ -705,7 +709,7 @@ } ], "source": [ - "temp_hourly_pl.unique(\"short_name\")" + "temp_hourly_pl.unique()[\"short_name\"]" ] }, { @@ -717,7 +721,7 @@ "## 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 `xarray_open_kwargs` argument.\n", "```python\n", "cdf_kwargs={\n", " \"engine\":\"cfgrib\",\n", @@ -734,7 +738,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 18, "metadata": { "tags": [] }, @@ -743,7 +747,8 @@ "%%capture\n", "\n", "temp_hourly_pl_xr_dict=temp_hourly_pl.to_dataset_dict(\n", - " cdf_kwargs={\n", + " xarray_open_kwargs={\n", + " \"engine\":\"cfgrib\",\n", " \"chunks\":{\n", " \"time\":1\n", " } \n", @@ -761,34 +766,22 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'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']}" + "AggregationControl(variable_column_name='short_name', groupby_attrs=['era_id', 'table_id', 'stepType', 'level_type', 'frequency'], aggregations=[Aggregation(type=<AggregationType.join_existing: 'join_existing'>, attribute_name='validation_date', options={'compat': 'override', 'coords': 'minimal', 'dim': 'time'}), Aggregation(type=<AggregationType.join_existing: 'join_existing'>, attribute_name='initialization_date', options={'compat': 'override', 'coords': 'minimal', 'dim': 'time'}), Aggregation(type=<AggregationType.union: 'union'>, attribute_name='short_name', options={})])" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "temp_hourly_pl.esmcol_data[\"aggregation_control\"]" + "temp_hourly_pl.esmcat.aggregation_control" ] }, { @@ -800,7 +793,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -825,7 +818,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -842,7 +835,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -879,6 +872,7 @@ "}\n", "\n", "html[theme=dark],\n", + "body[data-theme=dark],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", @@ -1108,6 +1102,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -1129,14 +1128,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", - ".xr-var-data-in:checked ~ .xr-var-data {\n", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -1146,13 +1147,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -1190,7 +1194,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -1202,17 +1207,17 @@ "</style><pre class='xr-text-repr-fallback'><xarray.Dataset>\n", "Dimensions: (values: 542080)\n", "Coordinates:\n", - " number int64 ...\n", - " step timedelta64[ns] ...\n", - " isobaricInhPa int64 500\n", + " number int64 0\n", + " step timedelta64[ns] 00:00:00\n", + " isobaricInhPa float64 500.0\n", " latitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", " 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-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", + " 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-08d46816-ce3d-471b-acdf-5620a3036f99' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-08d46816-ce3d-471b-acdf-5620a3036f99' 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-97f6d4f9-bf77-4003-94df-c3269c56d8b0' class='xr-section-summary-in' type='checkbox' checked><label for='section-97f6d4f9-bf77-4003-94df-c3269c56d8b0' 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-0d963e47-c21d-4cc8-9640-7e011c7bc95f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0d963e47-c21d-4cc8-9640-7e011c7bc95f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-daf87e38-ecb6-4ee8-a401-eb74a521b9a0' class='xr-var-data-in' type='checkbox'><label for='data-daf87e38-ecb6-4ee8-a401-eb74a521b9a0' 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-12c59155-28ce-44c9-938a-aa790c78d7b5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-12c59155-28ce-44c9-938a-aa790c78d7b5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3f2487fd-0924-42ef-b51c-9c5a8e6d6661' class='xr-var-data-in' type='checkbox'><label for='data-3f2487fd-0924-42ef-b51c-9c5a8e6d6661' 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'>float64</div><div class='xr-var-preview xr-preview'>500.0</div><input id='attrs-10eb7525-fae3-44d2-9708-90ba5f9a683f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-10eb7525-fae3-44d2-9708-90ba5f9a683f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-eb4fe37d-742a-47f2-9fd8-70dbb3180095' class='xr-var-data-in' type='checkbox'><label for='data-eb4fe37d-742a-47f2-9fd8-70dbb3180095' 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-c47ee6a6-9967-4910-8279-c522bdfa6d56' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c47ee6a6-9967-4910-8279-c522bdfa6d56' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-100db920-0700-4222-bfe8-dc7552a0cb01' class='xr-var-data-in' type='checkbox'><label for='data-100db920-0700-4222-bfe8-dc7552a0cb01' 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", + " <table style=\"border-collapse: collapse;\">\n", " <thead>\n", " <tr>\n", " <td> </td>\n", @@ -1234,14 +1239,12 @@ " <td> (542080,) </td>\n", " </tr>\n", " <tr>\n", - " <th> Count </th>\n", - " <td> 2 Tasks </td>\n", - " <td> 1 Chunks </td>\n", + " <th> Dask graph </th>\n", + " <td colspan=\"2\"> 1 chunks in 150 graph layers </td>\n", " </tr>\n", " <tr>\n", - " <th> Type </th>\n", - " <td> float64 </td>\n", - " <td> numpy.ndarray </td>\n", + " <th> Data type </th>\n", + " <td colspan=\"2\"> float64 numpy.ndarray </td>\n", " </tr>\n", " </tbody>\n", " </table>\n", @@ -1266,10 +1269,10 @@ "</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-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", + "</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-072bd2bb-8d14-42b3-abb0-e0f3f2923352' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-072bd2bb-8d14-42b3-abb0-e0f3f2923352' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-96bbbbc3-ff7b-429b-9e37-675a94a84d9a' class='xr-var-data-in' type='checkbox'><label for='data-96bbbbc3-ff7b-429b-9e37-675a94a84d9a' 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", + " <table style=\"border-collapse: collapse;\">\n", " <thead>\n", " <tr>\n", " <td> </td>\n", @@ -1291,14 +1294,12 @@ " <td> (542080,) </td>\n", " </tr>\n", " <tr>\n", - " <th> Count </th>\n", - " <td> 2 Tasks </td>\n", - " <td> 1 Chunks </td>\n", + " <th> Dask graph </th>\n", + " <td colspan=\"2\"> 1 chunks in 150 graph layers </td>\n", " </tr>\n", " <tr>\n", - " <th> Type </th>\n", - " <td> float64 </td>\n", - " <td> numpy.ndarray </td>\n", + " <th> Data type </th>\n", + " <td colspan=\"2\"> float64 numpy.ndarray </td>\n", " </tr>\n", " </tbody>\n", " </table>\n", @@ -1323,10 +1324,10 @@ "</svg>\n", " </td>\n", " </tr>\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", + "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-963fd8f6-d38e-4f8d-bf01-0061e2d56bdd' class='xr-section-summary-in' type='checkbox' checked><label for='section-963fd8f6-d38e-4f8d-bf01-0061e2d56bdd' 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-3c87795a-d11b-4c3d-b9e9-be5f972838fe' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3c87795a-d11b-4c3d-b9e9-be5f972838fe' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-41cc3246-bcb2-4f36-88be-2a010606dba8' class='xr-var-data-in' type='checkbox'><label for='data-41cc3246-bcb2-4f36-88be-2a010606dba8' 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", + " <table style=\"border-collapse: collapse;\">\n", " <thead>\n", " <tr>\n", " <td> </td>\n", @@ -1348,14 +1349,12 @@ " <td> (542080,) </td>\n", " </tr>\n", " <tr>\n", - " <th> Count </th>\n", - " <td> 3256 Tasks </td>\n", - " <td> 1 Chunks </td>\n", + " <th> Dask graph </th>\n", + " <td colspan=\"2\"> 1 chunks in 70 graph layers </td>\n", " </tr>\n", " <tr>\n", - " <th> Type </th>\n", - " <td> float32 </td>\n", - " <td> numpy.ndarray </td>\n", + " <th> Data type </th>\n", + " <td colspan=\"2\"> float32 numpy.ndarray </td>\n", " </tr>\n", " </tbody>\n", " </table>\n", @@ -1380,15 +1379,15 @@ "</svg>\n", " </td>\n", " </tr>\n", - "</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>" + "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-0bdc9d97-5cac-4397-931c-c84f173537bf' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0bdc9d97-5cac-4397-931c-c84f173537bf' class='xr-section-summary' title='Expand/collapse section'>Indexes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-0c225b78-0b1f-4a02-a4bd-1202ae3e4c7c' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0c225b78-0b1f-4a02-a4bd-1202ae3e4c7c' 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", "Dimensions: (values: 542080)\n", "Coordinates:\n", - " number int64 ...\n", - " step timedelta64[ns] ...\n", - " isobaricInhPa int64 500\n", + " number int64 0\n", + " step timedelta64[ns] 00:00:00\n", + " isobaricInhPa float64 500.0\n", " latitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", " longitude (values) float64 dask.array<chunksize=(542080,), meta=np.ndarray>\n", "Dimensions without coordinates: values\n", @@ -1396,7 +1395,7 @@ " t (values) float32 dask.array<chunksize=(542080,), meta=np.ndarray>" ] }, - "execution_count": 23, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1415,7 +1414,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -1452,6 +1451,7 @@ "}\n", "\n", "html[theme=dark],\n", + "body[data-theme=dark],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", @@ -1681,6 +1681,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -1702,14 +1707,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", - ".xr-var-data-in:checked ~ .xr-var-data {\n", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -1719,13 +1726,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -1763,7 +1773,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -1777,14 +1788,14 @@ "Coordinates:\n", " number int64 0\n", " step timedelta64[ns] 00:00:00\n", - " isobaricInhPa int64 500\n", + " isobaricInhPa float64 500.0\n", " latitude (values) float64 89.78 89.78 89.78 ... -89.78 -89.78 -89.78\n", " 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 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>" + " 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-e26e7fa8-f74c-4a96-9223-667b46140d7d' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-e26e7fa8-f74c-4a96-9223-667b46140d7d' 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-99c0e383-f13f-4077-80e4-e10a3514dee6' class='xr-section-summary-in' type='checkbox' checked><label for='section-99c0e383-f13f-4077-80e4-e10a3514dee6' 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-cc43d92d-faf3-47aa-8885-d52bda6e40e8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-cc43d92d-faf3-47aa-8885-d52bda6e40e8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1bc85316-3796-430f-9e4e-3670609be3e1' class='xr-var-data-in' type='checkbox'><label for='data-1bc85316-3796-430f-9e4e-3670609be3e1' 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-a8c3add9-dac6-41e8-9211-4ffa776d1956' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a8c3add9-dac6-41e8-9211-4ffa776d1956' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4f65b48b-43be-42d0-b9ad-a30fd4193b7d' class='xr-var-data-in' type='checkbox'><label for='data-4f65b48b-43be-42d0-b9ad-a30fd4193b7d' 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'>float64</div><div class='xr-var-preview xr-preview'>500.0</div><input id='attrs-f1589a1e-b3a7-400b-8378-a0bb7e39d275' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f1589a1e-b3a7-400b-8378-a0bb7e39d275' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c46b1178-cf17-480e-a7e3-6a7c7cdaa85f' class='xr-var-data-in' type='checkbox'><label for='data-c46b1178-cf17-480e-a7e3-6a7c7cdaa85f' 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-9312dab7-bd7d-426d-8236-403794c973c3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9312dab7-bd7d-426d-8236-403794c973c3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1a37e5d9-59a0-4bc6-8f12-fb59ba12b94c' class='xr-var-data-in' type='checkbox'><label for='data-1a37e5d9-59a0-4bc6-8f12-fb59ba12b94c' 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-156e9172-0ca0-4b7a-963f-079c2b59d8c5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-156e9172-0ca0-4b7a-963f-079c2b59d8c5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-19d669eb-4c45-402b-b0df-e407cdba4c47' class='xr-var-data-in' type='checkbox'><label for='data-19d669eb-4c45-402b-b0df-e407cdba4c47' 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-9cb9b440-b2e6-4f9e-aff1-93f5109e4e92' class='xr-section-summary-in' type='checkbox' checked><label for='section-9cb9b440-b2e6-4f9e-aff1-93f5109e4e92' 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-a5563a5f-500c-40ab-9569-a14ef43d8179' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a5563a5f-500c-40ab-9569-a14ef43d8179' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-14ee27e3-b1f7-4d32-91cc-b98d6b9c7ea0' class='xr-var-data-in' type='checkbox'><label for='data-14ee27e3-b1f7-4d32-91cc-b98d6b9c7ea0' 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-139ebfa4-5228-40c8-a761-ceeaf860f44e' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-139ebfa4-5228-40c8-a761-ceeaf860f44e' class='xr-section-summary' title='Expand/collapse section'>Indexes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-d64944a0-ef58-4bd4-a447-aace489bed6f' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d64944a0-ef58-4bd4-a447-aace489bed6f' 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", @@ -1792,7 +1803,7 @@ "Coordinates:\n", " number int64 0\n", " step timedelta64[ns] 00:00:00\n", - " isobaricInhPa int64 500\n", + " isobaricInhPa float64 500.0\n", " latitude (values) float64 89.78 89.78 89.78 ... -89.78 -89.78 -89.78\n", " longitude (values) float64 0.0 20.0 40.0 60.0 ... 300.0 320.0 340.0\n", "Dimensions without coordinates: values\n", @@ -1800,7 +1811,7 @@ " t (values) float32 233.1 233.1 233.1 ... 238.0 238.0 238.0" ] }, - "execution_count": 24, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1818,29 +1829,27 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[<matplotlib.lines.Line2D at 0x7ffb1e7fd790>]" + "[<matplotlib.lines.Line2D at 0x7ffe545a6ef0>]" ] }, - "execution_count": 25, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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NDIzM9GnTx/s2rULx48fR2hoKPr3749r165Vep+pqano2rUrWrVqhaNHj2L79u24desWhg8frnl+1KhReP3113HmzBnExsZiyJAh4LKCRKbDSnYAIqKnXFxc0KtXL6xduxbBwcEAgF9++QUuLi4IDg6GpaUlWrZsqWk/d+5cREVFYfPmzQgPD6/UPpcsWYI2bdpg/vz5mm0rVqyAj48Pzp8/j8zMTOTn52PIkCHw9fUFAAQEBFThXRKRofHMDhEZldGjR2PDhg3IyckBAKxZswYjR46EpaUlsrKy8K9//QvNmjVDzZo1UaNGDZw9e7ZKZ3bi4+MRExODGjVqaB5NmjQBAFy6dAktW7ZEcHAwAgICMGzYMCxbtgz379/XyXslIsNgsUNERqV///4oLCzE1q1bkZKSgn379uHll18GAEyfPh0bNmzAvHnzsG/fPpw4cQIBAQHIzc0tti8LiycfcX+/5JSXl6fVprCwEP3798eJEye0HhcuXEBQUBAsLS0RHR2N33//Hc2aNcPixYvRuHFjXLlyRU9HgIh0jZexiMio2NvbY8iQIVizZg0uXrwIPz8/tG3bFgCwb98+jB07FoMHDwYAZGZmIjk5ucS+atWqBeDJuJvWrVsDgNZgZQBo06YNNmzYgHr16sHKqviPRIVCgU6dOqFTp074+OOP4evri6ioKEyZMqWK75aIDIFndojI6IwePRpbt27FihUrNGd1AKBhw4aIjIzEiRMncPLkSbz00ktF7tz6O3t7e3To0AELFizA6dOnsXfvXnz44YdabcLCwnDv3j2MGjUKf/75Jy5fvoydO3fi9ddfR0FBAQ4fPoz58+fj6NGjuHbtGiIjI3H79m00bdpUb++fiHSLxQ4RGZ0ePXrAxcUF586dw0svvaTZvnDhQjg7O6Njx47o378/QkND0aZNm1L7WrFiBfLy8tCuXTtMmjQJc+fO1Xre29sbf/zxBwoKChAaGgp/f39MmjQJKpUKFhYWcHJywt69e9GnTx/4+fnhww8/xOeff47evXvr5b0Tke4pBO+fJCIiIjPGMztERERk1ljsEBERkVljsUNERERmjcUOERERmTUWO0RERGTWWOwQERGRWWOxQ0RERGaNxQ4RERGZNRY7REREZNZY7BAREZFZY7FDREREZo3FDhEREZm1/wcnL3TVrQiATwAAAABJRU5ErkJggg==", "text/plain": [ - "<Figure size 432x288 with 1 Axes>" + "<Figure size 640x480 with 1 Axes>" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -1857,7 +1866,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -1921,9 +1930,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (based on the module python3/2022.01)", + "display_name": "Python 3 (based on the module python3/2023.01)", "language": "python", - "name": "python3_2022_01" + "name": "python3_2023_01" }, "language_info": { "codemirror_mode": { @@ -1935,7 +1944,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.9" + "version": "3.10.10" }, "nbsphinx": { "execute": "never" diff --git a/notebooks/demo/use-case_climate-extremes-indices_cdo.ipynb b/notebooks/demo/use-case_climate-extremes-indices_cdo.ipynb index 1b50e5f7a98cc3a2307e3ea8bf8e64fd82fa8cc8..98cf273532824f51dbe90a9a345dd7b6c452e23b 100755 --- a/notebooks/demo/use-case_climate-extremes-indices_cdo.ipynb +++ b/notebooks/demo/use-case_climate-extremes-indices_cdo.ipynb @@ -98,8 +98,8 @@ "list(dkrz_catalog)\n", "\n", "# Open the catalog with the intake package and name it \"col\" as short for \"collection\"\n", - "cols=dkrz_catalog._entries[\"dkrz_cmip6_disk\"]._open_args[\"csv_kwargs\"][\"usecols\"]+[\"opendap_url\"]\n", - "col=dkrz_catalog.dkrz_cmip6_disk(csv_kwargs=dict(usecols=cols))" + "cols=dkrz_catalog._entries[\"dkrz_cmip6_disk\"]._open_args[\"read_csv_kwargs\"][\"usecols\"]+[\"opendap_url\"]\n", + "col=dkrz_catalog.dkrz_cmip6_disk(read_csv_kwargs=dict(usecols=cols))" ] }, { diff --git a/notebooks/demo/use-case_convert-nc-to-tiff_rioxarray-xesmf_cmip.ipynb b/notebooks/demo/use-case_convert-nc-to-tiff_rioxarray-xesmf_cmip.ipynb index 34254994c5f2c8ac20aa759b99086e15fd383bb6..174fb169043693c44bcb1462665eee71c7419560 100644 --- a/notebooks/demo/use-case_convert-nc-to-tiff_rioxarray-xesmf_cmip.ipynb +++ b/notebooks/demo/use-case_convert-nc-to-tiff_rioxarray-xesmf_cmip.ipynb @@ -70,8 +70,8 @@ "outputs": [], "source": [ "# Open the catalog with the intake package and name it \"col\" as short for \"collection\"\n", - "cols=dkrz_catalog._entries[\"dkrz_cmip6_disk\"]._open_args[\"csv_kwargs\"][\"usecols\"]+[\"opendap_url\"]\n", - "col=dkrz_catalog.dkrz_cmip6_disk(csv_kwargs=dict(usecols=cols))\n", + "cols=dkrz_catalog._entries[\"dkrz_cmip6_disk\"]._open_args[\"read_csv_kwargs\"][\"usecols\"]+[\"opendap_url\"]\n", + "col=dkrz_catalog.dkrz_cmip6_disk(read_csv_kwargs=dict(usecols=cols))\n", "cat = col.search(variable_id = \"thetaot\",\n", " experiment_id = \"historical\",\n", " time_range = \"185001-194912\",\n", diff --git a/notebooks/demo/use-case_ensemble-analysis_intake-xarray_cmip6.ipynb b/notebooks/demo/use-case_ensemble-analysis_intake-xarray_cmip6.ipynb index c0d5abd52e99ba2fb2a46406c2edce43c8345b3a..b9b7fdb5123488949ced52b69025a99ab35d301e 100644 --- a/notebooks/demo/use-case_ensemble-analysis_intake-xarray_cmip6.ipynb +++ b/notebooks/demo/use-case_ensemble-analysis_intake-xarray_cmip6.ipynb @@ -446,7 +446,7 @@ "metadata": {}, "outputs": [], "source": [ - "qs=xr_quantiles.sel(quantile=0.99)-xr_quantiles.sel(quantile=0.01)\n", + "qs=xr_quantiles.sel(quantile=0.99)-xr_quantiles.sel(quantile=0.01).squeeze()\n", "qs" ] }, @@ -517,9 +517,9 @@ ], "metadata": { "kernelspec": { - "display_name": "taucenv", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "taucenv" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -531,7 +531,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.10.9" } }, "nbformat": 4, diff --git a/notebooks/demo/use-case_plot-unstructured_psyplot_cmip6.ipynb b/notebooks/demo/use-case_plot-unstructured_psyplot_cmip6.ipynb index b83a0ccfcb63fd6a69c70c48dd69001e967f6359..ce62d4cd6659aeb7a354ef615f4a0c6f6089cf1d 100644 --- a/notebooks/demo/use-case_plot-unstructured_psyplot_cmip6.ipynb +++ b/notebooks/demo/use-case_plot-unstructured_psyplot_cmip6.ipynb @@ -189,6 +189,8 @@ "metadata": {}, "outputs": [], "source": [ + "dset[\"lat\"]=dset.lat.load()\n", + "dset[\"lon\"]=dset.lon.load()\n", "dset2 = dset.isel(time=slice(1,2)).where( (dset.lon > -10. ) &\n", " (dset.lon < 50. ) &\n", " (dset.lat > 40. ) &\n",