From fd17016ceb891f18d43fa99d99e8f68da2808506 Mon Sep 17 00:00:00 2001 From: negin513 Date: Mon, 9 Oct 2023 20:46:35 +0000 Subject: [PATCH] deploy: 9cba00fadd29ad6ee22d0f345f3e9ec4b4d698d2 --- .buildinfo | 2 +- README.html | 2 +- ...b80eea9e531bfe231a39c6ecc8368c04a43ff4.png | Bin 0 -> 1722969 bytes ...3982b92ecd9683536efc4efd3bb51aaf10c3bc.png | Bin 0 -> 35778 bytes ...3b14d8198d830abb3c613abc2d4b31a85ab222.png | Bin 0 -> 86446 bytes _sources/notebooks/03-dask-xarray.ipynb | 316 +- _static/__pycache__/__init__.cpython-310.pyc | Bin 198 -> 199 bytes genindex.html | 2 +- notebooks/00-dask-overview.html | 2 +- notebooks/01-dask-array.html | 50 +- notebooks/02-dask-dataframe.html | 118 +- notebooks/03-dask-xarray.html | 7131 +++++++---------- notebooks/04-dask-cluster.html | 98 +- notebooks/how-to-cite.html | 2 +- search.html | 2 +- searchindex.js | 2 +- 16 files changed, 3368 insertions(+), 4359 deletions(-) create mode 100644 _images/6bc56857ba1b0421004b8bea51b80eea9e531bfe231a39c6ecc8368c04a43ff4.png create mode 100644 _images/7399b91edaf79a827264bf510c3982b92ecd9683536efc4efd3bb51aaf10c3bc.png create mode 100644 _images/bb55cc8c334bd8d58adacbb04b3b14d8198d830abb3c613abc2d4b31a85ab222.png diff --git a/.buildinfo b/.buildinfo index 613d84f..342cff0 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 64af5a04313eafb9df65466b89719939 +config: 9c41254e7f24206330a1a64f1f60c3dd tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/README.html b/README.html index d5f15d1..b404a18 100644 --- a/README.html +++ b/README.html @@ -567,7 +567,7 @@

Acknowledgments\n", "\n", - "TakeAway \n", + "Take Away \n", "\n", "Xarray DataArray provides a wrapper around arrays, and uses labeled dimensions and coordinates to support metadata-aware operations (e.g. `da.sum(dim=\"time\")` instead of `array.sum(axis=-1)`)\n", "\n", @@ -258,7 +264,9 @@ "cell_type": "code", "execution_count": null, "id": "778c8357-fcca-4b06-bce6-9c7531c0181b", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from dask.distributed import LocalCluster, Client\n", @@ -294,7 +302,9 @@ "cell_type": "code", "execution_count": null, "id": "a53169fd-46dd-41bd-94ca-aed13e0f6357", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "!./get_data.sh notebook3" @@ -320,7 +330,9 @@ "cell_type": "code", "execution_count": null, "id": "d1b5337d-28c3-4f88-b9c3-ce3d92445c37", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import os\n", @@ -339,25 +351,40 @@ "cell_type": "code", "execution_count": null, "id": "920f5f93-db35-4ae8-b9bd-d9374efabe40", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "%%time\n", "ds = xr.open_mfdataset(\n", " sorted(files),\n", " # concatenate along this dimension\n", - " concat_dim='ensemble_member',\n", + " concat_dim=\"time\",\n", " # concatenate files in the order provided\n", " combine=\"nested\",\n", " # parallelize the reading of individual files using dask\n", " # This means the returned arrays will be dask arrays\n", " parallel=True,\n", - " # these are netCDF4 files, use the netcdf4-python package to read them\n", - " engine=\"netcdf4\",\n", + " # these are netCDF4 files, use the h5netcdf package to read them\n", + " engine=\"h5netcdf\",\n", + " # hold off on decoding time\n", + " decode_cf=False,\n", + " # specify that data should be automatically chunked\n", + " chunks=\"auto\",\n", ")\n", + "ds = xr.decode_cf(ds)\n", "ds" ] }, + { + "cell_type": "markdown", + "id": "2d757c05-8258-44ff-a232-1a278edc2e28", + "metadata": {}, + "source": [ + "For complex scenarios, you can access each file individually by utilizing the `open_dataset` function with the specified `chunk`s and then combine the outputs into a single dataset later." + ] + }, { "cell_type": "markdown", "id": "56497135-6ad3-4323-bb8a-4f073eaf8939", @@ -380,79 +407,54 @@ "cell_type": "code", "execution_count": null, "id": "ac192d70-f708-4db9-822c-4f2848cb0e02", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "tref = ds.TREFHT\n", "tref" ] }, - { - "cell_type": "markdown", - "id": "ea3f1dd4-ded8-4985-a121-2ffaf00c25c5", - "metadata": {}, - "source": [ - "* How many chunks do we have? \n", - "* What is the size of each chunk size?\n", - "\n", - "\n", - "Here we can see that we have a total of 15 chunks equal to the number of our netCDF files. In general `open_mfdataset` will chunk each netCDF file into a single Dask array. By providing the `chunks` argument, we can control the size of the resulting Dask arrays. \n", - "\n", - "\n", - "
\n", - "\n", - "WARNING: When `chunks` argument is not given to `open_mfdataset`, it will return dask arrays with chunk sizes equal to each netCDF file. \n", - " Re-chunking the dataset after creation with ds.chunk() will lead to an ineffective use of memory and is not recommended.\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "ba0dd86f-cf4d-46b2-9aa9-448c3fecfd5a", - "metadata": {}, - "source": [ - "In the example below, we call `open_mfdataset` to open multiple netCDF files and using the `chunks` argument to control the size of the resulting Dask arrays. " - ] - }, { "cell_type": "code", "execution_count": null, - "id": "ec46fc4f-dc56-4110-8215-24b230103110", + "id": "d511a271-fe12-4552-b59c-672605543cb2", "metadata": {}, "outputs": [], "source": [ - "#del ds\n", - "chunk_dict = {\"lat\": 96, \"lon\": 144}" + "tref.chunks" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "a0bc29ce-0259-4f8b-9f45-f16872dcabba", + "cell_type": "markdown", + "id": "0fbf4db0-f4b8-4b48-8337-12ace3882861", "metadata": {}, - "outputs": [], "source": [ - "%%time\n", - "ds = xr.open_mfdataset(\n", - " sorted(files),\n", - " concat_dim='time',\n", - " combine=\"nested\",\n", - " parallel=True,\n", - " engine=\"netcdf4\",\n", - " chunks=chunk_dict,\n", - ")\n", - "tref = ds.TREFHT\n", - "tref" + "* How many chunks do we have? \n", + "* What is the size of each chunk size?\n", + "\n", + "Here we can see that we have a total of 9 chunks - equal to the number of our netCDF files. In general `open_mfdataset` will return one chunk per netCDF file.\n", + "\n", + "
\n", + "\n", + "**WARNING:** The chunk structure within the file is important. When re-chunking the dataset after creation with `ds.chunk()` it is recommended to only use multiples of the on-file chunk shape.\n", + "\n", + "
\n", + "\n", + "We can check what that shape is by looking at the encoding:" ] }, { "cell_type": "code", "execution_count": null, - "id": "ec8c62fb-8399-4780-ab9b-445b6cdc4781", - "metadata": {}, + "id": "c54779d9-92d5-4272-b300-94391b34bb52", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "tref.chunks" + "tref.encoding" ] }, { @@ -462,7 +464,7 @@ "source": [ "
\n", "\n", - "TIP: The `chunks` parameter can significantly affect total performance when using Dask Arrays. `chunks` be small enough that each chunk fit in the memory, but large enough to avoid that the communication overhead. \n", + "**TIP:** The `chunks` parameter can significantly affect total performance when using Dask Arrays. `chunks` should be small enough that each chunk fit in the memory, but large enough to avoid that the communication overhead. \n", "\n", "
" ] @@ -472,16 +474,14 @@ "id": "c094dcba-fdc8-4457-bf49-5c6ddf9b28a3", "metadata": {}, "source": [ - "A good rule of thumb is to create arrays with a minimum chunksize of at least one million elements. Here we have 120*96*144 elements in each chunk (except for the last chunk). \n", - "With large arrays (10+ GB), the cost of queueing up Dask operations can be noticeable, and you may need even larger chunksizes. See the [dask.array best practices](https://docs.dask.org/en/stable/array-best-practices.html#select-a-good-chunk-size)" - ] - }, - { - "cell_type": "markdown", - "id": "2d757c05-8258-44ff-a232-1a278edc2e28", - "metadata": {}, - "source": [ - "For complex scenarios, you can access each file individually by utilizing the `open_dataset` function with the specified `chunk`s and then combine the outputs into a single dataset later." + "A good rule of thumb is to create arrays with a minimum chunksize of at least one million elements. Here we have 120x192x288 elements in each chunk (except for the last chunk). \n", + "With large arrays (10+ GB), the cost of queuing up Dask operations can be noticeable, and you may need even larger chunksizes. \n", + "\n", + "**Additional Reading**\n", + "\n", + " - [dask.array best practices](https://docs.dask.org/en/stable/array-best-practices.html#select-a-good-chunk-size)\n", + " - [NCAR chunking tutorial](https://ncar.github.io/dask-tutorial/notebooks/06-dask-chunking.html)\n", + " - [Dask blog post on chunking](https://blog.dask.org/2021/11/02/choosing-dask-chunk-sizes)" ] }, { @@ -493,11 +493,11 @@ "\n", "This means you can call the following Dask-related functions on Xarray Data Arrays and Datasets:\n", "\n", - "* `dask.visualize()`\n", - "* `dask.compute()`\n", - "* `dask.persist()`\n", + "* `.visualize()`\n", + "* `.compute()`\n", + "* `.persist()`\n", "\n", - "For more information abour Dask Arrays, please see [the first tutorial](https://ncar.github.io/dask-tutorial/notebooks/01-dask-array.html)." + "For more information about Dask Arrays, please see [Dask Array chapter](https://projectpythia.org/dask-cookbook/notebooks/01-dask-array.html)." ] }, { @@ -507,9 +507,8 @@ "metadata": {}, "outputs": [], "source": [ - "import dask\n", - "tref_mean = tref.mean(axis=-1)\n", - "dask.visualize(tref_mean)" + "tref_mean = tref.mean('time')\n", + "tref_mean.data.dask" ] }, { @@ -517,7 +516,7 @@ "id": "f1628d55-7bda-42f4-b615-b86274571ec9", "metadata": {}, "source": [ - "If we check Dask Task Graph for `tref_mean`, we can see all the steps required for calculating it (from openning the netcdf file to calculating mean and aggreagting it). " + "If we check Dask Task Graph for `tref_mean`, we can see all the steps required for calculating it (from opening the netcdf file to calculating mean and aggreagting it). " ] }, { @@ -525,24 +524,23 @@ "id": "889e9971-43eb-4837-8d13-e560de21f908", "metadata": {}, "source": [ - "Getting concrete values\n", - "At some point, you will want to actually do the calculations and recieve concreate values from Dask.\n", + "### Getting concrete values\n", + "At some point, you will want to actually do the calculations and receive concrete values from Dask.\n", "\n", "There are two ways to compute values on dask arrays.\n", "\n", - "1.`compute()` returns an xarray object just like a dask array.\n", + " 1. `compute()` returns a new xarray object with the data now represented as a numpy array.\n", + " 2. `load()` replaces the dask array in the xarray object with a numpy array. Equivalent to `ds = ds.compute()`.\n", "\n", - "2.`load()` replaces the dask array in the xarray object with a numpy array. equivalent to `ds = ds.compute()`.\n", + "`.load()` operates *inplace* and `.compute()` returns a new xarray object.\n", "\n", - "So the difference is that `.load()` operates inplace and `.compute()` returns a new xarray object.\n", + "#### Distributed non-blocking concrete values\n", "\n", - "Tip: There is another option available third option : “persisting”. `.persist()` loads the values into distributed RAM.\n", - "The values are computed but remain distributed across workers. So `ds.air.persist()` still returns a dask array. This is useful if you will be repeatedly using a dataset for computation but it is too large to load into local memory. \n", + "There is another option available third option : “persisting”. `.persist()` loads the values into distributed RAM. The values are computed but remain distributed across workers. So essentially `persist` turns a lazy Dask collection into a Dask collection where the results are either fully computed or actively computing in the background.\n", "\n", - "To summarize, `persist` turns a lazy Dask collection into a Dask collection with the same metadata, but now with the results fully computed or actively computing in the background.\n", + "So `ds.air.persist()` is still backed by a Dask array. This is useful if you will be repeatedly using a dataset for computation but it is too large to load into local memory. \n", "\n", - "\n", - "See the [Dask user guide](https://docs.dask.org/en/stable/generated/dask.dataframe.Series.persist.html) if you `.persist()`." + "Read more: [Dask user guide](https://docs.dask.org/en/stable/generated/dask.dataframe.Series.persist.html)\n" ] }, { @@ -590,6 +588,8 @@ "metadata": {}, "outputs": [], "source": [ + "%%time\n", + "\n", "tref.data.compute()" ] }, @@ -647,7 +647,19 @@ "metadata": {}, "outputs": [], "source": [ - "tref_boulder = tref.sel(lat=40.0150, lon=-105.2705, method='nearest').load()\n" + "tref_boulder = tref.sel(lat=40.0150, lon=-105.2705, method='nearest').load()" + ] + }, + { + "cell_type": "markdown", + "id": "dea9cfcd-ba5e-4c45-bfd1-c079c7a34e73", + "metadata": {}, + "source": [ + "
\n", + "\n", + "**WARNING:** Remember as soon as you call `.load()` you are telling Dask to trigger computation.\n", + "\n", + "
" ] }, { @@ -667,7 +679,7 @@ "id": "06872e46-54ec-4df1-a0cb-4e25653f5f7d", "metadata": {}, "source": [ - "We can either see the values of our DataArray using `.compute()` or `.data` or by plotting it:\n" + "We can either see the values of our DataArray in the text representation above or by plotting it:" ] }, { @@ -696,7 +708,7 @@ "outputs": [], "source": [ "# change the unit from Kelvin to degree Celsius \n", - "tref_c = tref- 273.15\n", + "tref_c = tref - 273.15\n", "tref_c" ] }, @@ -707,9 +719,9 @@ "metadata": {}, "outputs": [], "source": [ - "# Until we explicitly call load() or compute(), Dask actually didn't do any real calculation\n", - "# We are doing the calculations below parallelly. However not much benefit from parallel computing since it's not a big problem\n", - "%time tref_c=tref_c.load()" + "%%time \n", + "\n", + "tref_c = tref_c.load()" ] }, { @@ -732,24 +744,6 @@ "tos_anom" ] }, - { - "cell_type": "markdown", - "id": "8b426230-905c-4146-a1ff-784f033f36e1", - "metadata": {}, - "source": [ - "Dask actually constructs a graph of the required computation." - ] - }, - { - "cell_type": "markdown", - "id": "edc4ca9e-85c5-496e-b0bd-e342869e4737", - "metadata": {}, - "source": [ - "Call `.compute()` or `.load()` when you want your result as a xarray.DataArray to access underlying dataset:\n", - "* `.compute() ` works similarly here as Dask DataArray. It basically triggers the computations across different chunks of the DataArray. \n", - "* `.load()` replaces the dask array in the Xarray object with a numpy array. " - ] - }, { "cell_type": "code", "execution_count": null, @@ -794,47 +788,6 @@ "" ] }, - { - "cell_type": "markdown", - "id": "a4c0091e-09fe-42bb-9048-600fa8fa4785", - "metadata": {}, - "source": [ - "### Supplementary Material: Rechunking\n", - "* rechunking will be covered in-depth in the next tutorial. \n", - "\n", - "We can always rechunk an Xarray DataArray. For example, what is the chunk size of `tref`?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "abdc9e94-fc96-4a3c-aad4-aa14666542cb", - "metadata": {}, - "outputs": [], - "source": [ - "tref" - ] - }, - { - "cell_type": "markdown", - "id": "c7e2003d-e168-4af6-950e-fc6e14187958", - "metadata": {}, - "source": [ - "Is this a good chunk size?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "809158b0-2584-4697-9bb7-74426c4976b1", - "metadata": {}, - "outputs": [], - "source": [ - "chunk_dict = {\"time\":90, \"lat\": 192, \"lon\": 288}\n", - "tref = tref.chunk(chunk_dict)\n", - "tref" - ] - }, { "cell_type": "markdown", "id": "3da23b0c-d3f7-4bfb-aa80-19eeb640823e", @@ -899,10 +852,10 @@ "outputs": [], "source": [ "import numpy as np\n", - "# return saturation vapor pressure\n", - "# using Clausius-Clapeyron equation\n", + "\n", "def sat_p(t):\n", - " return 0.611*np.exp(17.67*(t-273.15)*((t-29.65)**(-1)))" + " \"\"\"Calculate saturation vapor pressure using Clausius-Clapeyron equation\"\"\"\n", + " return 0.611 * np.exp(17.67 * (t-273.15)*((t-29.65)**(-1)))" ] }, { @@ -912,16 +865,7 @@ "metadata": {}, "outputs": [], "source": [ - "es=xr.apply_ufunc(sat_p,tref,dask=\"parallelized\",output_dtypes=[float])\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d5c95bc-ad42-4a34-af7b-73db8684e7df", - "metadata": {}, - "outputs": [], - "source": [ + "es = xr.apply_ufunc(sat_p, tref, dask=\"parallelized\", output_dtypes=[float])\n", "es" ] }, @@ -1045,7 +989,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.10.12" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/_static/__pycache__/__init__.cpython-310.pyc b/_static/__pycache__/__init__.cpython-310.pyc index ca39331749c9992a6dc34f247dad9254373b5b3e..088b0e56afbae8f2f240dbd36486b932cb41251f 100644 GIT binary patch delta 65 zcmX@cc$|?ZpO=@50SIoSsH9HhvDVDeFD)+8FV09TO4ZNJ%*#y9&r3-()=$kVE7ng* REY8+V&d<+I0^*7J;Q)rr71jU% delta 64 zcmX@kc#M%JpO=@50SNy8yPiCe$66y(zqGhWzc?eYC{;fs^%O)0t0|2?%7UKW_ diff --git a/genindex.html b/genindex.html index 9e87d35..5200bf3 100644 --- a/genindex.html +++ b/genindex.html @@ -367,7 +367,7 @@

Index

By Negin Sobhani, Brian Vanderwende, Deepak Cherian, and Ben Kirk. - Last updated on 4 October 2023. + Last updated on 9 October 2023.

diff --git a/notebooks/00-dask-overview.html b/notebooks/00-dask-overview.html index bc19b4d..6c0198e 100644 --- a/notebooks/00-dask-overview.html +++ b/notebooks/00-dask-overview.html @@ -712,7 +712,7 @@

Useful Resources

Client

-

Client-fccaa25a-62e2-11ee-8dfa-6045bd7f0ab1

+

Client-dce1f761-66e3-11ee-8d96-000d3a01f98b

@@ -503,7 +503,7 @@

Client

LocalCluster

-

e29f08ad

+

a459aafa

@@ -540,11 +540,11 @@

Scheduler Info

Scheduler

-

Scheduler-42065e18-0158-4503-a605-df7f74f1232d

+

Scheduler-58667023-6a89-4fe5-b93e-65b16b064537

- Comm: tcp://127.0.0.1:40625 + Comm: tcp://127.0.0.1:36369 Workers: 2 @@ -586,7 +586,7 @@

Worker: 0

@@ -631,7 +631,7 @@

Worker: 1

- Comm: tcp://127.0.0.1:41231 + Comm: tcp://127.0.0.1:36769 Total threads: 1 @@ -594,7 +594,7 @@

Worker: 0

- Dashboard: http://127.0.0.1:45765/status + Dashboard: http://127.0.0.1:35859/status Memory: 3.38 GiB @@ -602,13 +602,13 @@

Worker: 0

- Nanny: tcp://127.0.0.1:33555 + Nanny: tcp://127.0.0.1:45229
- Local directory: /tmp/dask-scratch-space/worker-v_aybmpi + Local directory: /tmp/dask-scratch-space/worker-otr8ix7h
@@ -951,8 +951,8 @@

Performance Comparison
-
CPU times: user 85.5 ms, sys: 455 µs, total: 86 ms
-Wall time: 82.7 ms
+
CPU times: user 77.9 ms, sys: 0 ns, total: 77.9 ms
+Wall time: 76.5 ms
 
-
-
CPU times: user 18.1 ms, sys: 4.75 ms, total: 22.8 ms
-Wall time: 193 ms
+
CPU times: user 22.1 ms, sys: 1.2 ms, total: 23.3 ms
+Wall time: 192 ms
 
1.0
@@ -1244,8 +1244,8 @@ 

Larger Data -
CPU times: user 285 ms, sys: 29.7 ms, total: 314 ms
-Wall time: 2.28 s
+
CPU times: user 244 ms, sys: 24.1 ms, total: 268 ms
+Wall time: 2.12 s
 
@@ -1445,8 +1445,8 @@

Supplementary Material: Rechunking Arrays -
CPU times: user 19.2 s, sys: 1.06 s, total: 20.2 s
-Wall time: 46.3 s
+
CPU times: user 17 s, sys: 766 ms, total: 17.7 s
+Wall time: 41 s
 
@@ -1573,8 +1573,8 @@

Supplementary Material: Rechunking Arrays - +
USC00030936.csv
 
+
USC00042294.csv
 
-
USC00051294.csv
-USC00051528.csv
+
USC00051528.csv
 
+
USC00053662.csv
 
USC00053951.csv
+USC00054076.csv
 
-
USC00054076.csv
-USC00054770.csv
+
USC00054770.csv
 
-
USC00059243.csv
+
USC00058429.csv
+USC00059243.csv
 
USC00068138.csv
-USC00080211.csv
+
+
+
USC00080211.csv
 
USC00084731.csv
+USC00088824.csv
 
-

- Comm: tcp://127.0.0.1:39051 + Comm: tcp://127.0.0.1:35821 Total threads: 1 @@ -639,7 +639,7 @@

Worker: 1

- Dashboard: http://127.0.0.1:38467/status + Dashboard: http://127.0.0.1:42923/status Memory: 3.38 GiB @@ -647,13 +647,13 @@

Worker: 1

- Nanny: tcp://127.0.0.1:39037 + Nanny: tcp://127.0.0.1:33625
- Local directory: /tmp/dask-scratch-space/worker-qdhyzu5d + Local directory: /tmp/dask-scratch-space/worker-vxo5z8au
@@ -1411,7 +1418,7 @@

Client

LocalCluster

-

f774e9f0

+

0665574a

@@ -1448,11 +1455,11 @@

Scheduler Info

Scheduler

-

Scheduler-a12069f2-7148-475c-92ae-c2dc96b3925b

+

Scheduler-48cfbe0a-cd5a-43dd-b138-9f9ac2bf8341

- Comm: tcp://127.0.0.1:39085 + Comm: tcp://127.0.0.1:44783 Workers: 2 @@ -1494,7 +1501,7 @@

Worker: 0

@@ -1539,7 +1546,7 @@

Worker: 1

- Comm: tcp://127.0.0.1:34243 + Comm: tcp://127.0.0.1:39191 Total threads: 1 @@ -1502,7 +1509,7 @@

Worker: 0

- Dashboard: http://127.0.0.1:46181/status + Dashboard: http://127.0.0.1:38755/status Memory: 3.38 GiB @@ -1510,13 +1517,13 @@

Worker: 0

- Nanny: tcp://127.0.0.1:40143 + Nanny: tcp://127.0.0.1:35575
- Local directory: /tmp/dask-scratch-space/worker-e4erk9vd + Local directory: /tmp/dask-scratch-space/worker-oyh3hie_
@@ -1607,8 +1614,8 @@

Dask DataFrame

- + - + @@ -3541,8 +3548,8 @@

.persist
-74.82074711099168 37.419103836866114
-CPU times: user 1.18 s, sys: 178 ms, total: 1.36 s
-Wall time: 25.7 s
+CPU times: user 1.02 s, sys: 133 ms, total: 1.16 s
+Wall time: 22.3 s
 
@@ -3566,8 +3573,8 @@

.persist
-74.82074711099168 37.419103836866114
-CPU times: user 781 ms, sys: 102 ms, total: 883 ms
-Wall time: 13.3 s
+CPU times: user 649 ms, sys: 56.5 ms, total: 705 ms
+Wall time: 11.7 s
 
@@ -3616,6 +3623,11 @@

Close your local Dask Cluster +
2023-10-09 20:42:22,254 - distributed.worker.state_machine - WARNING - Async instruction for <Task cancelled name="execute(('getitem-5461fc912f94285c632e3db2b3f71aaa', 63))" coro=<Worker.execute() done, defined at /usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/worker_state_machine.py:3609>> ended with CancelledError
+
+
+ @@ -3735,7 +3747,7 @@

Resources and references Xarray Data Structures - @@ -421,6 +409,18 @@ Xarray data structures are Dask collections. +
  • + + Getting concrete values + + +
  • @@ -443,11 +443,6 @@ Calculations over all grids
  • -
  • - - Supplementary Material: Rechunking - -
  • Supplementary Material: Advanced workflows and automatic parallelization using @@ -562,8 +557,7 @@

    Xarray Data Structures

    DataArray : holds a single multi-dimensional variable and its coordinates

  • Dataset : holds multiple DataArrays that potentially share the same coordinates

  • -
    -
    -
    Xarray DataSet
    +

    Xarray DataSet

    A dataset is simply an object containing multiple Xarray DataArrays indexed by variable name.

    -

    Xarray integrates with Dask to support parallel computations and streaming datasets that don’t fit into memory.

    -

    Xarray can wrap many array types like Numpy and Dask.

    -

    Let’s start with a random 2D NumPy array, for example this can be SST values of a domain with dimension of 300x450 grid:

    +

    Let’s start with a random 2D NumPy array, for example this can be SST (sea-surface temperature) values of a domain with dimension of 300x450 grid:

    - Comm: tcp://127.0.0.1:44457 + Comm: tcp://127.0.0.1:33963 Total threads: 1 @@ -1547,7 +1554,7 @@

    Worker: 1

    - Dashboard: http://127.0.0.1:37977/status + Dashboard: http://127.0.0.1:33735/status Memory: 3.38 GiB @@ -1555,13 +1562,13 @@

    Worker: 1

    - Nanny: tcp://127.0.0.1:40169 + Nanny: tcp://127.0.0.1:41365
    - Local directory: /tmp/dask-scratch-space/worker-f6svaw8t + Local directory: /tmp/dask-scratch-space/worker-cbh9mjb1
    depends on series-count-agg-fcd354190bfc78379462c584cbc9370eseries-sum-agg-72c811251d18a4021cc9cd824a02a28f
    series-sum-agg-72c811251d18a4021cc9cd824a02a28fseries-count-agg-fcd354190bfc78379462c584cbc9370e
    +Dimensions without coordinates: dim_0, dim_1
    @@ -1109,7 +1098,7 @@

    Xarray can wrap many array types like Numpy and Dask. -

      • +
          • A simple DataArray without dimensions or coordinates isn’t much use.

            @@ -1509,14 +1498,14 @@

            Xarray can wrap many array types like Numpy and Dask.
            <xarray.DataArray 'array-1aa6c65806de99e481deb7bcf7bd2bf2' (lat: 300, lon: 450)>
            +
            <xarray.DataArray 'array-fc618fa9e0f9da5fad972d432fc39efc' (lat: 300, lon: 450)>
             dask.array<chunksize=(300, 450), meta=np.ndarray>
             Coordinates:
            -  * lat      (lat) float64 52.86 24.56 63.8 32.35 ... -42.29 28.98 -84.88 2.582
            -  * lon      (lon) float64 159.8 -24.26 -2.123 168.4 ... -169.3 -29.64 145.7
            +  * lat      (lat) float64 -24.24 26.75 -50.3 -18.59 ... 28.39 -88.84 -14.49
            +  * lon      (lon) float64 -27.0 -144.4 10.26 42.14 ... -78.56 25.13 -74.08
             Attributes:
                 description:  Sea Surface Temperature.
            -    units:        degC

            + -159.9575353946674, -98.16052440219161, -110.73943644384296, + 138.0533238882391, 85.57515418742628, 57.04633084136205, + -38.169858031432994, -78.557881944298, 25.131206222625508, + -74.0774429840396], + dtype='float64', name='lon', length=450))
          • description :
            Sea Surface Temperature.
            units :
            degC
          • Xarray data structures are a very powerful tool that allows us to use metadata to express different analysis patterns (slicing, selecting, groupby, averaging, and many other things).

            Client

            -

            Client-89f8e492-62e3-11ee-8f88-6045bd7f0ab1

            +

            Client-5c9ba7e1-66e4-11ee-8f3e-000d3a01f98b

            @@ -1652,7 +1641,7 @@

            Client

            LocalCluster

            -

            af135246

            +

            ccd29390

            @@ -1689,11 +1678,11 @@

            Scheduler Info

            Scheduler

            -

            Scheduler-e146c250-a94e-47f2-a826-8c37f253eedf

            +

            Scheduler-f9389cf9-036f-46b2-97a7-7c2a3645478f

            - Comm: tcp://127.0.0.1:35751 + Comm: tcp://127.0.0.1:38813 Workers: 2 @@ -1735,7 +1724,7 @@

            Worker: 0

            @@ -1780,7 +1769,7 @@

            Worker: 1

            - Comm: tcp://127.0.0.1:40941 + Comm: tcp://127.0.0.1:38837 Total threads: 1 @@ -1743,7 +1732,7 @@

            Worker: 0

            - Dashboard: http://127.0.0.1:33465/status + Dashboard: http://127.0.0.1:36163/status Memory: 3.38 GiB @@ -1751,13 +1740,13 @@

            Worker: 0

            - Nanny: tcp://127.0.0.1:46035 + Nanny: tcp://127.0.0.1:41555
            - Local directory: /tmp/dask-scratch-space/worker-qipoc8cg + Local directory: /tmp/dask-scratch-space/worker-_ztqq3w4
            @@ -1915,22 +1904,27 @@

            Constructing Xarray Datasets from filesds = xr.open_mfdataset( sorted(files), # concatenate along this dimension - concat_dim='ensemble_member', + concat_dim="time", # concatenate files in the order provided combine="nested", # parallelize the reading of individual files using dask # This means the returned arrays will be dask arrays parallel=True, - # these are netCDF4 files, use the netcdf4-python package to read them - engine="netcdf4", + # these are netCDF4 files, use the h5netcdf package to read them + engine="h5netcdf", + # hold off on decoding time + decode_cf=False, + # specify that data should be automatically chunked + chunks="auto", ) +ds = xr.decode_cf(ds) ds

            - Comm: tcp://127.0.0.1:34765 + Comm: tcp://127.0.0.1:46625 Total threads: 1 @@ -1788,7 +1777,7 @@

            Worker: 1

            - Dashboard: http://127.0.0.1:35969/status + Dashboard: http://127.0.0.1:44751/status Memory: 3.38 GiB @@ -1796,13 +1785,13 @@

            Worker: 1

            - Nanny: tcp://127.0.0.1:36945 + Nanny: tcp://127.0.0.1:36725
            - Local directory: /tmp/dask-scratch-space/worker-ghvgqmwj + Local directory: /tmp/dask-scratch-space/worker-77fcnobo
          • long_name :
            latitude weights
            +
          • long_name :
            latitude weights
            @@ -2487,18 +2481,18 @@

            Constructing Xarray Datasets from files 9 chunks in 28 graph layers +

            @@ -2508,34 +2502,34 @@

            Constructing Xarray Datasets from files + - - - - - - - - - - + + + + + + + + + + - - + + - + - 192 - 9 + 192 + 1032

            -
            9 chunks in 29 graph layers
            Data type
          • long_name :
            hybrid A coefficient at layer midpoints
            +
          • long_name :
            hybrid A coefficient at layer midpoints
            @@ -2550,14 +2544,14 @@

            Constructing Xarray Datasets from files + - - - - - - - - - - + + + + + + + + + + - - + + - + - 32 - 9 + 32 + 1032 -

          • long_name :
            hybrid B coefficient at layer midpoints
            +
          • long_name :
            hybrid B coefficient at layer midpoints
            @@ -2613,14 +2607,14 @@

            Constructing Xarray Datasets from files + - - - - - - - - - - + + + + + + + + + + - - + + - + - 32 - 9 + 32 + 1032 -

          • long_name :
            reference pressure
            units :
            Pa
            array([100000., 100000., 100000., 100000., 100000., 100000., 100000.,
            -       100000., 100000.])
          • long_name :
            hybrid A coefficient at layer interfaces
            +
          • long_name :
            reference pressure
            units :
            Pa
            [1032 values with dtype=float64]
          • long_name :
            hybrid A coefficient at layer interfaces
            @@ -2677,14 +2670,14 @@

            Constructing Xarray Datasets from files + - - - - - - - - - - + + + + + + + + + + - - + + - + - 33 - 9 + 33 + 1032 -

          • long_name :
            hybrid B coefficient at layer interfaces
            +
          • long_name :
            hybrid B coefficient at layer interfaces
            @@ -2740,14 +2733,14 @@

            Constructing Xarray Datasets from files + - - - - - - - - - - + + + + + + + + + + - - + + - + - 33 - 9 + 33 + 1032 -

          • long_name :
            base day
            array([0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
          • long_name :
            seconds of base day
            array([0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
          • long_name :
            base date (YYYYMMDD)
            array([20150101, 20150101, 20150101, 20150101, 20150101, 20150101,
            -       20150101, 20150101, 20150101], dtype=int32)
          • long_name :
            seconds of base date
            array([0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
          • long_name :
            timestep
            units :
            s
            array([1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800], dtype=int32)
          • long_name :
            current date (YYYYMMDD)
            +
          • long_name :
            base day
            [1032 values with dtype=int32]
          • long_name :
            seconds of base day
            [1032 values with dtype=int32]
          • long_name :
            base date (YYYYMMDD)
            [1032 values with dtype=int32]
          • long_name :
            seconds of base date
            [1032 values with dtype=int32]
          • long_name :
            timestep
            units :
            s
            [1032 values with dtype=int32]
          • long_name :
            current date (YYYYMMDD)
            -
            @@ -2804,22 +2796,22 @@

            Constructing Xarray Datasets from files 9 chunks in 82 graph layers +

            - +
            9 chunks in 19 graph layers
            Data type float64 numpy.ndarray int32 numpy.ndarray
            @@ -2829,18 +2821,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -2848,11 +2840,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

          • long_name :
            current seconds of current date
            +
          • long_name :
            current seconds of current date
            -
            @@ -2867,22 +2859,22 @@

            Constructing Xarray Datasets from files 9 chunks in 82 graph layers +

            - +
            9 chunks in 19 graph layers
            Data type float64 numpy.ndarray int32 numpy.ndarray
            @@ -2892,18 +2884,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -2911,11 +2903,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

          • long_name :
            time interval endpoints
            +
          • long_name :
            time interval endpoints
            @@ -2930,18 +2922,18 @@

            Constructing Xarray Datasets from files 9216 chunks in 93 graph layers +

            @@ -2951,101 +2943,34 @@

            Constructing Xarray Datasets from files - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + - + - 2 - 1032 - 9 + 2 + 1032

            -
            9 chunks in 20 graph layers
            Data type
          • +
          • -
            @@ -3060,22 +2985,22 @@

            Constructing Xarray Datasets from files 9216 chunks in 91 graph layers +

            - +
            9 chunks in 20 graph layers
            Data type object numpy.ndarray |S8 numpy.ndarray
            @@ -3085,48 +3010,30 @@

            Constructing Xarray Datasets from files - - - - - - - - - - - - - - - - - - + + + + - - - - - - - + + + - + 1032 - 9 + 1

          • +
          • -
            @@ -3141,22 +3048,22 @@

            Constructing Xarray Datasets from files 9216 chunks in 91 graph layers +

            - +
            9 chunks in 20 graph layers
            Data type object numpy.ndarray |S8 numpy.ndarray
            @@ -3166,48 +3073,30 @@

            Constructing Xarray Datasets from files - - - - - - - - - - - - - - - - - - + + + + - - - - - - - + + + - + 1032 - 9 + 1

          • long_name :
            current day (from base day)
            +
          • long_name :
            current day (from base day)
            -
            @@ -3222,22 +3111,22 @@

            Constructing Xarray Datasets from files 9 chunks in 82 graph layers +

            - +
            9 chunks in 19 graph layers
            Data type float64 numpy.ndarray int32 numpy.ndarray
            @@ -3247,18 +3136,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3266,11 +3155,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

          • long_name :
            current seconds of current day
            +
          • long_name :
            current seconds of current day
            -
            @@ -3285,22 +3174,22 @@

            Constructing Xarray Datasets from files 9 chunks in 82 graph layers +

            - +
            9 chunks in 19 graph layers
            Data type float64 numpy.ndarray int32 numpy.ndarray
            @@ -3310,18 +3199,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3329,11 +3218,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

          • long_name :
            co2 volume mixing ratio
            +
          • long_name :
            co2 volume mixing ratio
            @@ -3348,18 +3237,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3373,18 +3262,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3392,11 +3281,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            ch4 volume mixing ratio
            +
          • long_name :
            ch4 volume mixing ratio
            @@ -3411,18 +3300,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3436,18 +3325,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3455,11 +3344,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            n2o volume mixing ratio
            +
          • long_name :
            n2o volume mixing ratio
            + +
            @@ -3474,18 +3363,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3499,18 +3388,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3518,11 +3407,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            f11 volume mixing ratio
            +
          • long_name :
            f11 volume mixing ratio
            + +
            @@ -3537,18 +3426,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3562,18 +3451,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3581,11 +3470,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            f12 volume mixing ratio
            +
          • long_name :
            f12 volume mixing ratio
            @@ -3600,18 +3489,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3625,18 +3514,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3644,11 +3533,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            total solar irradiance
            units :
            W/m2
            +
          • long_name :
            total solar irradiance
            units :
            W/m2
            + @@ -4408,135 +4227,65 @@

            Constructing Xarray Datasets from files - - - - - - - - - - - - - - - - - - - - - - 9 - 1 - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - + + - + - - + + - - + + - + - 288 - 192 - 1032 + 288 + 192 + 1032

            -
            @@ -3663,18 +3552,18 @@

            Constructing Xarray Datasets from files 9 chunks in 73 graph layers +

            @@ -3688,18 +3577,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3707,11 +3596,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

            -
            9 chunks in 19 graph layers
            Data type
          • long_name :
            current timestep
            +
          • long_name :
            current timestep
            -
            @@ -3726,22 +3615,22 @@

            Constructing Xarray Datasets from files 9 chunks in 82 graph layers +

            - +
            9 chunks in 19 graph layers
            Data type float64 numpy.ndarray int32 numpy.ndarray
            @@ -3751,18 +3640,18 @@

            Constructing Xarray Datasets from files - - - - - - - - + + + + + + + + @@ -3770,11 +3659,11 @@

            Constructing Xarray Datasets from files1032 - 9 + 1

          • units :
            K
            long_name :
            Reference height temperature
            cell_methods :
            time: mean
            +
          • units :
            K
            long_name :
            Reference height temperature
            cell_methods :
            time: mean
          • 9 chunks in 19 graph layers
            Data type
            • lat
              (lat)
              float64
              -90.0 -89.06 -88.12 ... 89.06 90.0
              long_name :
              latitude
              units :
              degrees_north
              array([-90.      , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
              +
          • +

            We can check what that shape is by looking at the encoding:

            +
            +

            Xarray data structures are Dask collections.

            +

            This means you can call the following Dask-related functions on Xarray Data Arrays and Datasets:

            +
              +
            • .visualize()

            • +
            • .compute()

            • +
            • .persist()

            • +
            +

            For more information about Dask Arrays, please see Dask Array chapter.

            -
            %%time
            -ds = xr.open_mfdataset(
            -    sorted(files),
            -    concat_dim='time',
            -    combine="nested",
            -    parallel=True,
            -    engine="netcdf4",
            -    chunks=chunk_dict,
            -)
            -tref = ds.TREFHT
            -tref
            +
            tref_mean = tref.mean('time')
            +tref_mean.data.dask
             
            -
            /usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lat" starting at index 96. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -/usr/share/miniconda3/envs/dask-cookbook/lib/python3.9/site-packages/xarray/core/dataset.py:270: UserWarning: The specified chunks separate the stored chunks along dimension "lon" starting at index 144. This could degrade performance. Instead, consider rechunking after loading.
            -  warnings.warn(
            -
            -
            -
            CPU times: user 170 ms, sys: 39.7 ms, total: 210 ms
            -Wall time: 413 ms
            -
            -
            -
            - - - - - - - - - - - - - - -
            <xarray.DataArray 'TREFHT' (time: 1032, lat: 192, lon: 288)>
            -dask.array<chunksize=(1, 96, 144), meta=np.ndarray>
            -Coordinates:
            -  * lat      (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0
            -  * lon      (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8
            -  * time     (time) object 2015-02-01 00:00:00 ... 2101-01-01 00:00:00
            -Attributes:
            -    units:         K
            -    long_name:     Reference height temperature
            -    cell_methods:  time: mean
            -
            -
            -
            -
            tref.chunks
            -
            -
            -
            -
            -
            ((1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  1,
            -  ...),
            - (96, 96),
            - (144, 144))
            -
            -
            -
            -
            -
            -

            TIP: The chunks parameter can significantly affect total performance when using Dask Arrays. chunks be small enough that each chunk fit in the memory, but large enough to avoid that the communication overhead.

            -

            A good rule of thumb is to create arrays with a minimum chunksize of at least one million elements. Here we have 12096144 elements in each chunk (except for the last chunk).
            -With large arrays (10+ GB), the cost of queueing up Dask operations can be noticeable, and you may need even larger chunksizes. See the dask.array best practices

            -

            For complex scenarios, you can access each file individually by utilizing the open_dataset function with the specified chunks and then combine the outputs into a single dataset later.

            -
            -
            -

            Xarray data structures are Dask collections.

            -

            This means you can call the following Dask-related functions on Xarray Data Arrays and Datasets:

            -
              -
            • dask.visualize()

            • -
            • dask.compute()

            • -
            • dask.persist()

            • -
            -

            For more information abour Dask Arrays, please see the first tutorial.

            -
            -
            -
            import dask
            -tref_mean = tref.mean(axis=-1)
            -dask.visualize(tref_mean)
            -
            -
            -
            -
            -
            dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.0236245 to fit
            -
            -
            -../_images/5e499b516de5d88f3435a47f0270c0bda00f80510897be80343246410564c957.png -
            -
            -

            If we check Dask Task Graph for tref_mean, we can see all the steps required for calculating it (from openning the netcdf file to calculating mean and aggreagting it).

            -

            Getting concrete values -At some point, you will want to actually do the calculations and recieve concreate values from Dask.

            -

            There are two ways to compute values on dask arrays.

            -

            1.compute() returns an xarray object just like a dask array.

            -

            2.load() replaces the dask array in the xarray object with a numpy array. equivalent to ds = ds.compute().

            -

            So the difference is that .load() operates inplace and .compute() returns a new xarray object.

            -

            Tip: There is another option available third option : “persisting”. .persist() loads the values into distributed RAM. -The values are computed but remain distributed across workers. So ds.air.persist() still returns a dask array. This is useful if you will be repeatedly using a dataset for computation but it is too large to load into local memory.

            -

            To summarize, persist turns a lazy Dask collection into a Dask collection with the same metadata, but now with the results fully computed or actively computing in the background.

            -

            See the Dask user guide if you .persist().

            -
            -
            -
            -

            How to access underlying data in an Xarray object?

            -

            There are two basic ways to extract values from an Xarray object:

            -
              -
            1. Using .data will return a Dask array. For example:

            2. -
            -
            -
            -
            tref.data
            -
            -
            +
          • + +
            -
            -
            - - + - -
            - - + +
            + + + + + + +
            + +

            Layer9: original

            +
            +

            + original-open_dataset-TREFHT-b376d457af800028faa60fbb881274e7 +

            + +
            + + + + +
            + + - - - + + - - - + - - - + + - + - - - + + + + +
            Array Chunk layer_typeMaterializedLayer
            Bytes 217.69 MiB 54.00 kiB is_materializedTrue
            Shape (1032, 192, 288) (1, 96, 144) number of outputs1
            +
            + +
            + + + + +
            + + + + + + +
            + +

            Layer10: open_dataset-TREFHT

            +
            +

            + open_dataset-TREFHT-b376d457af800028faa60fbb881274e7 +

            + + + + -
            + + - - + + + - - + + - -
            Dask graph 4128 chunks in 19 graph layers layer_typeBlockwise
            Data type float32 numpy.ndarray is_materializedFalse
            -
            - + +
            + number of outputs + 1 +
            + +
            + shape + (120, 192, 288) +
            + +
            + dtype + float32 +
            + +
            + chunksize + (120, 192, 288) +
            + +
            + type + dask.array.core.Array +
            + +
            + chunk_type + numpy.ndarray +
            + + + +
            + depends on + original-open_dataset-TREFHT-b376d457af800028faa60fbb881274e7 +
            + + +
            +
            + - - - + + - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - + + - - - + + - + - - - + + - - - + + - + - 288 - 192 - 1032 + 288 + 192 + 120 -
            - -

            This means that for Dask-backed Xarray object, we can access the values using .compute

            -
            -
            -
            tref.data.compute()
            -
            +
          • + +
            + +
            + + + + + + +
            + +

            Layer11: original

            +
            +

            + original-open_dataset-TREFHT-490e30721b157769a0556664ad692090 +

            + + + + + + +
            + + + + + + + + + + + + + + + + + + +
            layer_typeMaterializedLayer
            is_materializedTrue
            number of outputs1
            +
            + +
            + +
            -
            -
            array([[[248.39987, 248.39989, 248.39992, ..., 248.39989, 248.39989,
            -         248.39989],
            -        [248.95004, 248.9094 , 248.75017, ..., 248.98384, 248.97466,
            -         248.9626 ],
            -        [249.20784, 249.17082, 249.15718, ..., 249.42188, 249.37703,
            -         249.31105],
            -        ...,
            -        [251.5821 , 251.6182 , 251.65166, ..., 251.48357, 251.51555,
            -         251.54646],
            -        [251.34143, 251.35114, 251.36166, ..., 251.30699, 251.32008,
            -         251.3312 ],
            -        [251.35237, 251.35286, 251.35332, ..., 251.35059, 251.35123,
            -         251.35182]],
            +            
            +            
            + + + + + - [[237.44759, 237.44759, 237.44759, ..., 237.44759, 237.44759, - 237.44759], - [238.10292, 238.05934, 237.8917 , ..., 238.16042, 238.14326, - 238.12119], - [238.86865, 238.82155, 238.79092, ..., 239.1196 , 239.04976, - 238.96754], - ..., - [246.23404, 246.25865, 246.28221, ..., 246.15912, 246.18312, - 246.20715], - [246.70511, 246.7112 , 246.71793, ..., 246.68782, 246.69476, - 246.69987], - [247.26158, 247.26067, 247.25984, ..., 247.26494, 247.2637 , - 247.26259]], +
            + +

            Layer12: open_dataset-TREFHT

            +
            +

            + open_dataset-TREFHT-490e30721b157769a0556664ad692090 +

            - [[227.2174 , 227.2174 , 227.2174 , ..., 227.2174 , 227.2174 , - 227.2174 ], - [227.27689, 227.23364, 227.07358, ..., 227.32939, 227.3166 , - 227.2957 ], - [227.58324, 227.54382, 227.52094, ..., 227.81204, 227.76472, - 227.69241], - ..., - [247.57649, 247.60806, 247.63834, ..., 247.49849, 247.52321, - 247.54758], - [247.34538, 247.35608, 247.36736, ..., 247.30998, 247.32211, - 247.33403], - [247.2048 , 247.20529, 247.20573, ..., 247.20308, 247.20372, - 247.20428]], + + + + + @@ -8782,72 +7765,48 @@

            Supplementary Material: Rechunking - - - - - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - - + + + + + + + + - - + - - @@ -8860,7 +7819,7 @@

            Supplementary Material: Rechunking

            @@ -9348,35 +8334,49 @@

            Supplementary Material: Rechunking - - + + + + - - - - - + + + + + + + + + - - + + + - + - - + + + + - - - - - + + + + + + + + + - - + + + @@ -9384,7 +8384,7 @@

            Supplementary Material: Rechunking - + @@ -9404,7 +8404,7 @@

            Supplementary Material: Rechunking +
            +
            %%time
            +computed_anom = tos_anom.load()
            +type(computed_anom)
            +
            +
            +
            +
            +
            CPU times: user 2.5 s, sys: 296 ms, total: 2.79 s
            +Wall time: 5.88 s
            +
            +
            +
            xarray.core.dataarray.DataArray
            +
            +
            +
            + +
            +
            +
            tos_anom.sel(lon=310, lat=50, method='nearest').plot( size=4)
            +
            +
            +
            +
            +
            [<matplotlib.lines.Line2D at 0x7fd72020fd30>]
            +
            +
            +../_images/7399b91edaf79a827264bf510c3982b92ecd9683536efc4efd3bb51aaf10c3bc.png +
            -

            We can do more complex calculations too:

            +
            +
            +
            tos_anom.sel(time='2030-01-01').plot()
            +
            +
            +
            +
            +
            <matplotlib.collections.QuadMesh at 0x7fd6e8e0ce20>
            +
            +
            +../_images/bb55cc8c334bd8d58adacbb04b3b14d8198d830abb3c613abc2d4b31a85ab222.png +
            +
            +
            +

            TIP: Using Xarray plotting functionality automatically triggers computations on the Dask Array, similar to .compute().

            +

            We can do more complex calculations too:

            @@ -9891,17 +8937,14 @@

            Supplementary Material: Rechunking - - - + + - - - + + - - - + + @@ -9909,17 +8952,14 @@

            Supplementary Material: Rechunking - - - + + - - - + + - - - + + @@ -9947,7 +8987,7 @@

            Supplementary Material: Rechunking

            @@ -10433,17 +9473,14 @@

            Supplementary Material: Rechunking - - - + + - - - + + - - - + + @@ -10455,13 +9492,13 @@

            Supplementary Material: Rechunking

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            layer_typeBlockwise
            is_materializedFalse
            number of outputs1
            shape(120, 192, 288)
            dtypefloat32
            chunksize(120, 192, 288)
            typedask.array.core.Array
            chunk_typenumpy.ndarray
            depends on original-open_dataset-TREFHT-490e30721b157769a0556664ad692090
            +
            + - ..., + + + - [[230.82976, 230.82976, 230.82976, ..., 230.82976, 230.82976, - 230.82976], - [231.51309, 231.47168, 231.3188 , ..., 231.55086, 231.54416, - 231.53171], - [232.11208, 232.0665 , 232.04721, ..., 232.34473, 232.29143, - 232.22214], - ..., - [273.3896 , 273.38998, 273.3906 , ..., 273.3897 , 273.3895 , - 273.3894 ], - [273.46066, 273.46008, 273.45963, ..., 273.4635 , 273.4624 , - 273.46143], - [273.5544 , 273.55417, 273.55392, ..., 273.5554 , 273.55505, - 273.55472]], + + + - [[240.62163, 240.62163, 240.62163, ..., 240.62163, 240.62163, - 240.62163], - [241.24452, 241.20761, 241.05177, ..., 241.27812, 241.26988, - 241.2583 ], - [241.4827 , 241.44122, 241.42111, ..., 241.70222, 241.65529, - 241.58728], - ..., - [271.83112, 271.82843, 271.82672, ..., 271.84128, 271.83743, - 271.8343 ], - [272.06815, 272.06625, 272.06448, ..., 272.07593, 272.07327, - 272.07053], - [272.28296, 272.2825 , 272.2821 , ..., 272.28467, 272.28403, - 272.28348]], + + - [[250.27185, 250.2721 , 250.27223, ..., 250.27199, 250.27199, - 250.27194], - [251.08855, 251.05937, 250.90967, ..., 251.1056 , 251.10072, - 251.09595], - [251.64214, 251.61182, 251.6042 , ..., 251.83585, 251.79689, - 251.7379 ], - ..., - [271.2762 , 271.2781 , 271.28018, ..., 271.2714 , 271.27295, - 271.27457], - [271.2889 , 271.28967, 271.2904 , ..., 271.28693, 271.28738, - 271.28815], - [271.26477, 271.26483, 271.2649 , ..., 271.26456, 271.26465, - 271.2647 ]]], dtype=float32) - - - - -
              -
            1. We can also use .values to see the “real” values of Xarray object. Another option is using .to_numpy. Both of these option return the values of underlying Dask object in a numpy array.

            2. -
            -
            -
            -
            %%time
            -tref.to_numpy()
            -
            -
            -
            -
            -
            CPU times: user 5.75 s, sys: 494 ms, total: 6.24 s
            -Wall time: 12 s
            -
            -
            -
            array([[[248.39987, 248.39989, 248.39992, ..., 248.39989, 248.39989,
            -         248.39989],
            -        [248.95004, 248.9094 , 248.75017, ..., 248.98384, 248.97466,
            -         248.9626 ],
            -        [249.20784, 249.17082, 249.15718, ..., 249.42188, 249.37703,
            -         249.31105],
            -        ...,
            -        [251.5821 , 251.6182 , 251.65166, ..., 251.48357, 251.51555,
            -         251.54646],
            -        [251.34143, 251.35114, 251.36166, ..., 251.30699, 251.32008,
            -         251.3312 ],
            -        [251.35237, 251.35286, 251.35332, ..., 251.35059, 251.35123,
            -         251.35182]],
            +  
            +  
            +  
             
            -       [[237.44759, 237.44759, 237.44759, ..., 237.44759, 237.44759,
            -         237.44759],
            -        [238.10292, 238.05934, 237.8917 , ..., 238.16042, 238.14326,
            -         238.12119],
            -        [238.86865, 238.82155, 238.79092, ..., 239.1196 , 239.04976,
            -         238.96754],
            -        ...,
            -        [246.23404, 246.25865, 246.28221, ..., 246.15912, 246.18312,
            -         246.20715],
            -        [246.70511, 246.7112 , 246.71793, ..., 246.68782, 246.69476,
            -         246.69987],
            -        [247.26158, 247.26067, 247.25984, ..., 247.26494, 247.2637 ,
            -         247.26259]],
            +  
            +  
            +  
             
            -       [[227.2174 , 227.2174 , 227.2174 , ..., 227.2174 , 227.2174 ,
            -         227.2174 ],
            -        [227.27689, 227.23364, 227.07358, ..., 227.32939, 227.3166 ,
            -         227.2957 ],
            -        [227.58324, 227.54382, 227.52094, ..., 227.81204, 227.76472,
            -         227.69241],
            -        ...,
            -        [247.57649, 247.60806, 247.63834, ..., 247.49849, 247.52321,
            -         247.54758],
            -        [247.34538, 247.35608, 247.36736, ..., 247.30998, 247.32211,
            -         247.33403],
            -        [247.2048 , 247.20529, 247.20573, ..., 247.20308, 247.20372,
            -         247.20428]],
            +  
            +  
             
            -       ...,
            +  
            +  
            +  
             
            -       [[230.82976, 230.82976, 230.82976, ..., 230.82976, 230.82976,
            -         230.82976],
            -        [231.51309, 231.47168, 231.3188 , ..., 231.55086, 231.54416,
            -         231.53171],
            -        [232.11208, 232.0665 , 232.04721, ..., 232.34473, 232.29143,
            -         232.22214],
            -        ...,
            -        [273.3896 , 273.38998, 273.3906 , ..., 273.3897 , 273.3895 ,
            -         273.3894 ],
            -        [273.46066, 273.46008, 273.45963, ..., 273.4635 , 273.4624 ,
            -         273.46143],
            -        [273.5544 , 273.55417, 273.55392, ..., 273.5554 , 273.55505,
            -         273.55472]],
            +  
            +  
            +  
             
            -       [[240.62163, 240.62163, 240.62163, ..., 240.62163, 240.62163,
            -         240.62163],
            -        [241.24452, 241.20761, 241.05177, ..., 241.27812, 241.26988,
            -         241.2583 ],
            -        [241.4827 , 241.44122, 241.42111, ..., 241.70222, 241.65529,
            -         241.58728],
            -        ...,
            -        [271.83112, 271.82843, 271.82672, ..., 271.84128, 271.83743,
            -         271.8343 ],
            -        [272.06815, 272.06625, 272.06448, ..., 272.07593, 272.07327,
            -         272.07053],
            -        [272.28296, 272.2825 , 272.2821 , ..., 272.28467, 272.28403,
            -         272.28348]],
            +  
            +  
             
            -       [[250.27185, 250.2721 , 250.27223, ..., 250.27199, 250.27199,
            -         250.27194],
            -        [251.08855, 251.05937, 250.90967, ..., 251.1056 , 251.10072,
            -         251.09595],
            -        [251.64214, 251.61182, 251.6042 , ..., 251.83585, 251.79689,
            -         251.7379 ],
            -        ...,
            -        [271.2762 , 271.2781 , 271.28018, ..., 271.2714 , 271.27295,
            -         271.27457],
            -        [271.2889 , 271.28967, 271.2904 , ..., 271.28693, 271.28738,
            -         271.28815],
            -        [271.26477, 271.26483, 271.2649 , ..., 271.26456, 271.26465,
            -         271.2647 ]]], dtype=float32)
            -
            -
            -
            -
            - -
            -

            Computation

            -

            All built-in Xarray methods (.mean, .max, .rolling, .groupby etc.) support dask arrays.

            -

            Now, let’s do some computations on this Xarray dataset.

            -
            -

            Single Point Calculations

            -

            To start out, let’s do the calculations on a single point first. First, we extract the time series data at a grid point and save it to a variable. Here we select the closest point using .sel and load the data.

            -
            -
            -
            tref_boulder = tref.sel(lat=40.0150, lon=-105.2705, method='nearest').load()
            -
            -
            -
            -
            -
            -
            -
            # -- take annual average
            -tb = tref_boulder.resample(time='AS').mean()
            -tb
            -
            -
            -
            -
            -
            - - - - - - - - - - - - - + + 288 + 192 + 120 -
            <xarray.DataArray 'TREFHT' (time: 87)>
            -291.8 290.3 290.3 290.1 290.7 291.2 ... 294.3 293.5 293.5 293.4 293.9 289.8
            -Coordinates:
            -    lat      float64 40.05
            -    lon      float64 0.0
            -  * time     (time) object 2015-01-01 00:00:00 ... 2101-01-01 00:00:00
            -Attributes:
            -    units:         K
            -    long_name:     Reference height temperature
            -    cell_methods:  time: mean
            -
            -

            We can either see the values of our DataArray using .compute() or .data or by plotting it:

            -
            -
            -
            tb.plot()
            -
            -
            -
            -
            -
            [<matplotlib.lines.Line2D at 0x7f622ccdc400>]
            -
            -
            -../_images/8bc4b912a3d759f27fd30727dd6bfca7f132caed4b92d2fe905854a33760d874.png -
            -
            -
            -
            -

            Calculations over all grids

            -
            -
            -
            # change the unit from Kelvin to degree Celsius 
            -tref_c = tref- 273.15
            -tref_c
            -
            -
            -
            -
            -
            - - - - - - - - - - - - - - -
            <xarray.DataArray 'TREFHT' (time: 1032, lat: 192, lon: 288)>
            -dask.array<chunksize=(1, 96, 144), meta=np.ndarray>
            -Coordinates:
            -  * lat      (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0
            -  * lon      (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8
            -  * time     (time) object 2015-02-01 00:00:00 ... 2101-01-01 00:00:00
            -
            -

            Dask actually constructs a graph of the required computation.

            -

            Call .compute() or .load() when you want your result as a xarray.DataArray to access underlying dataset:

            -
              -
            • .compute() works similarly here as Dask DataArray. It basically triggers the computations across different chunks of the DataArray.

            • -
            • .load() replaces the dask array in the Xarray object with a numpy array.

            • -
            -
            -
            -
            %%time
            -computed_anom = tos_anom.load()
            -type(computed_anom)
            -
            -
            -
            -
            -
            CPU times: user 16.5 s, sys: 962 ms, total: 17.5 s
            -Wall time: 32.9 s
            -
            -
            -
            xarray.core.dataarray.DataArray
            -
            -
            -
            + lat float64 40.05 + lon float64 0.0 + * time (time) object 2015-01-01 00:00:00 ... 2101-01-01 00:00:00 +Attributes: + units: K + long_name: Reference height temperature + cell_methods: time: mean
            +

            We can either see the values of our DataArray in the text representation above or by plotting it:

            -
            tos_anom.sel(lon=310, lat=50, method='nearest').plot( size=4)
            +
            tb.plot()
             
            -
            [<matplotlib.lines.Line2D at 0x7f621d5b7f10>]
            -
            -
            -../_images/2a0d88b34b27a5c1e18219304e58cb83ef0755002ed171ab49f455d75c199ff2.png -
            -
            -
            -
            -
            tos_anom.sel(time='2030-01-01').plot()
            +
            [<matplotlib.lines.Line2D at 0x7fd734178c70>]
             
            +../_images/8bc4b912a3d759f27fd30727dd6bfca7f132caed4b92d2fe905854a33760d874.png
            -
            -
            <matplotlib.collections.QuadMesh at 0x7f622a33f190>
            -
            -
            -../_images/424ca44abe28ae5fd4b25e476757f05341b1585083efa86f867f0ea4507c7d7b.png
            -
            -

            TIP: Using Xarray plotting functionality automatically triggers computations on the Dask Array, similar to .compute().

            -
            -
            -

            Supplementary Material: Rechunking

            -
              -
            • rechunking will be covered in-depth in the next tutorial.

            • -
            -

            We can always rechunk an Xarray DataArray. For example, what is the chunk size of tref?

            +
            +

            Calculations over all grids

            -
            tref
            +
            # change the unit from Kelvin to degree Celsius 
            +tref_c = tref - 273.15
            +tref_c
             
            @@ -8734,15 +7721,11 @@

            Supplementary Material: Rechunking @@ -8758,17 +7741,17 @@

            Supplementary Material: Rechunking 4128 chunks in 19 graph layers

            9 chunks in 20 graph layers
            Data type 1032 chunks in 71 graph layers
            Data type 9 chunks in 44 graph layers
            Data type 9 chunks in 45 graph layers
            Data type
            + * time (time) object 2015-02-01 00:00:00 ... 2101-01-01 00:00:00
            @@ -11370,17 +10401,17 @@

            Supplementary Material: Advanced workflows and automatic parallelization usi

            - + - + - + @@ -11398,17 +10429,14 @@

            Supplementary Material: Advanced workflows and automatic parallelization usi - - - + + - - - + + - - - + + @@ -11416,17 +10444,14 @@

            Supplementary Material: Advanced workflows and automatic parallelization usi - - - + + - - - + + - - - + + @@ -11454,7 +10479,7 @@

            Supplementary Material: Advanced workflows and automatic parallelization usi

            -
            Bytes 435.38 MiB 37.97 MiB 50.62 MiB
            Shape (1032, 192, 288) (90, 192, 288) (120, 192, 288)
            Dask graph 12 chunks in 23 graph layers 9 chunks in 22 graph layers
            Data type
            • lat
              (lat)
              float64
              -90.0 -89.06 -88.12 ... 89.06 90.0
              long_name :
              latitude
              units :
              degrees_north
              array([-90.      , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
              +
            • lat
              (lat)
              float64
              -90.0 -89.06 -88.12 ... 89.06 90.0
              long_name :
              latitude
              units :
              degrees_north
              array([-90.      , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,
                      -84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,
                      -78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,
                      -73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,
              @@ -11485,13 +10510,13 @@ 

              Supplementary Material: Advanced workflows and automatic parallelization usi 68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649, 73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099, 79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 , - 85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])

            • lon
              (lon)
              float64
              0.0 1.25 2.5 ... 356.2 357.5 358.8
              long_name :
              longitude
              units :
              degrees_east
              array([  0.  ,   1.25,   2.5 , ..., 356.25, 357.5 , 358.75])
            • time
              (time)
              object
              2015-02-01 00:00:00 ... 2101-01-...
              long_name :
              time
              bounds :
              time_bnds
              array([cftime.DatetimeNoLeap(2015, 2, 1, 0, 0, 0, 0, has_year_zero=True),
              +        85.287958,  86.230366,  87.172775,  88.115183,  89.057592,  90.      ])
            • lon
              (lon)
              float64
              0.0 1.25 2.5 ... 356.2 357.5 358.8
              long_name :
              longitude
              units :
              degrees_east
              array([  0.  ,   1.25,   2.5 , ..., 356.25, 357.5 , 358.75])
            • time
              (time)
              object
              2015-02-01 00:00:00 ... 2101-01-...
              long_name :
              time
              bounds :
              time_bnds
              array([cftime.DatetimeNoLeap(2015, 2, 1, 0, 0, 0, 0, has_year_zero=True),
                      cftime.DatetimeNoLeap(2015, 3, 1, 0, 0, 0, 0, has_year_zero=True),
                      cftime.DatetimeNoLeap(2015, 4, 1, 0, 0, 0, 0, has_year_zero=True), ...,
                      cftime.DatetimeNoLeap(2100, 11, 1, 0, 0, 0, 0, has_year_zero=True),
                      cftime.DatetimeNoLeap(2100, 12, 1, 0, 0, 0, 0, has_year_zero=True),
                      cftime.DatetimeNoLeap(2101, 1, 1, 0, 0, 0, 0, has_year_zero=True)],
              -      dtype=object)
            • lat
              PandasIndex
              PandasIndex(Index([             -90.0, -89.05759162303664,  -88.1151832460733,
              +      dtype=object)
            • lat
              PandasIndex
              PandasIndex(Index([             -90.0, -89.05759162303664,  -88.1151832460733,
                      -87.17277486910994,  -86.2303664921466, -85.28795811518324,
                       -84.3455497382199, -83.40314136125654, -82.46073298429319,
                      -81.51832460732984,
              @@ -11500,12 +10525,12 @@ 

              Supplementary Material: Advanced workflows and automatic parallelization usi 84.3455497382199, 85.28795811518324, 86.2303664921466, 87.17277486910994, 88.1151832460733, 89.05759162303664, 90.0], - dtype='float64', name='lat', length=192))

            • lon
              PandasIndex
              PandasIndex(Index([   0.0,   1.25,    2.5,   3.75,    5.0,   6.25,    7.5,   8.75,   10.0,
              +      dtype='float64', name='lat', length=192))
            • lon
              PandasIndex
              PandasIndex(Index([   0.0,   1.25,    2.5,   3.75,    5.0,   6.25,    7.5,   8.75,   10.0,
                       11.25,
                      ...
                       347.5, 348.75,  350.0, 351.25,  352.5, 353.75,  355.0, 356.25,  357.5,
                      358.75],
              -      dtype='float64', name='lon', length=288))
            • time
              PandasIndex
              PandasIndex(CFTimeIndex([2015-02-01 00:00:00, 2015-03-01 00:00:00, 2015-04-01 00:00:00,
              +      dtype='float64', name='lon', length=288))
            • time
              PandasIndex
              PandasIndex(CFTimeIndex([2015-02-01 00:00:00, 2015-03-01 00:00:00, 2015-04-01 00:00:00,
                            2015-05-01 00:00:00, 2015-06-01 00:00:00, 2015-07-01 00:00:00,
                            2015-08-01 00:00:00, 2015-09-01 00:00:00, 2015-10-01 00:00:00,
                            2015-11-01 00:00:00,
              @@ -11514,7 +10539,7 @@ 

              Supplementary Material: Advanced workflows and automatic parallelization usi 2100-07-01 00:00:00, 2100-08-01 00:00:00, 2100-09-01 00:00:00, 2100-10-01 00:00:00, 2100-11-01 00:00:00, 2100-12-01 00:00:00, 2101-01-01 00:00:00], - dtype='object', length=1032, calendar='noleap', freq='MS'))

          • + dtype='object', length=1032, calendar='noleap', freq='MS'))
          • @@ -11891,7 +10916,7 @@

            Supplementary Material: Advanced workflows and automatic parallelization usi Coordinates: * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0 * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8 - * time (time) object 2015-02-01 00:00:00 ... 2101-01-01 00:00:00 + dtype='object', length=1032, calendar='noleap', freq='MS'))

          • The data used for this tutorial is from one ensemble member. What if we want to use multiple ensemble members? So far, we only run on one machine, what if we run an HPC cluster? We will go over this in the next tutorial.

            @@ -12134,7 +11159,7 @@

            Ask for help
            -
            CPU times: user 10.6 s, sys: 684 ms, total: 11.3 s
            -Wall time: 11.3 s
            +
            CPU times: user 12 s, sys: 470 ms, total: 12.4 s
            +Wall time: 12.4 s
             
            -
            -
            CPU times: user 11 s, sys: 55.5 ms, total: 11 s
            -Wall time: 5.84 s
            +
            CPU times: user 12.1 s, sys: 31 ms, total: 12.2 s
            +Wall time: 6.33 s
             
            -
            -
             threading :  5.5805 s
            +
             threading :  6.1463 s
             
            -
             processes :  6.3084 s
            +
             processes :  6.9923 s
             
            -
                  sync :  10.7883 s
            +
                  sync :  11.9856 s
             
            @@ -607,7 +607,7 @@

            HighLevelGraph

            Layer1: normal

            - normal-29532f99a9b5cc82c7e3d64ba58442e2 + normal-87888ed8bcd035009a957c5f725c0368

            @@ -713,7 +713,7 @@

            Layer1: normal

            Layer2: mean_chunk

            - mean_chunk-3ba7708f376d62f0157c45d019f003a7 + mean_chunk-9b5faab08effd0aadf63fc0961f0ec76

            @@ -765,7 +765,7 @@

            Layer2: mean_chunk

            - + @@ -826,7 +826,7 @@

            Layer2: mean_chunk

            Layer3: mean_combine-partial

            - mean_combine-partial-ec04367d6cb479ddf7f4d5bcccd709fa + mean_combine-partial-3386d0b32f56b2a174af174e4c6a8833

            depends on normal-29532f99a9b5cc82c7e3d64ba58442e2normal-87888ed8bcd035009a957c5f725c0368
            @@ -878,7 +878,7 @@

            Layer3: mean_combine-partial

            - + @@ -932,7 +932,7 @@

            Layer3: mean_combine-partial

            Layer4: mean_agg-aggregate

            - mean_agg-aggregate-c32bd57b2d30725ee6599f2140daacac + mean_agg-aggregate-386bf4d92b6c9ff73c8caec210b44020

            depends on mean_chunk-3ba7708f376d62f0157c45d019f003a7mean_chunk-9b5faab08effd0aadf63fc0961f0ec76
            @@ -984,7 +984,7 @@

            Layer4: mean_agg-aggregate

            - + @@ -1138,7 +1138,7 @@
            Let’s start by creating a Local Cluster

            Client

            -

            Client-1a977e45-62e4-11ee-907f-6045bd7f0ab1

            +

            Client-87904dde-66e4-11ee-8f99-000d3a01f98b

            depends on mean_combine-partial-ec04367d6cb479ddf7f4d5bcccd709famean_combine-partial-3386d0b32f56b2a174af174e4c6a8833
            @@ -1173,7 +1173,7 @@

            Client

            LocalCluster

            -

            d0363b3b

            +

            282f56a3

            @@ -1210,11 +1210,11 @@

            Scheduler Info

            Scheduler

            -

            Scheduler-866597a4-b31b-4bf4-9109-cd7f49547819

            +

            Scheduler-a4b540d3-1a13-4b67-9b3a-b0222e5f5670

            - Comm: tcp://127.0.0.1:35541 + Comm: tcp://127.0.0.1:46299 Workers: 2 @@ -1256,7 +1256,7 @@

            Worker: 0

            @@ -1301,7 +1301,7 @@

            Worker: 1

            - Comm: tcp://127.0.0.1:40147 + Comm: tcp://127.0.0.1:43913 Total threads: 1 @@ -1264,7 +1264,7 @@

            Worker: 0

            - Dashboard: http://127.0.0.1:45633/status + Dashboard: http://127.0.0.1:36845/status Memory: 3.38 GiB @@ -1272,13 +1272,13 @@

            Worker: 0

            - Nanny: tcp://127.0.0.1:46707 + Nanny: tcp://127.0.0.1:45461
            - Local directory: /tmp/dask-scratch-space/worker-dceh_x5k + Local directory: /tmp/dask-scratch-space/worker-m7vmc_d7
            @@ -1378,12 +1378,12 @@

            Worker: 1

            -
            CPU times: user 767 ms, sys: 56.6 ms, total: 824 ms
            -Wall time: 14.5 s
            +
            CPU times: user 630 ms, sys: 114 ms, total: 743 ms
            +Wall time: 15.8 s
             
            -
            array([10.00030163,  9.99996315,  9.99921624, ...,  9.9991636 ,
            -        9.99948973,  9.99918791])
            +
            array([10.00064446, 10.00152234,  9.99947898, ...,  9.99973685,
            +        9.99992731, 10.00063441])
             
            @@ -1395,6 +1395,34 @@

            Worker: 1

            +
            +
            2023-10-09 20:43:56,752 - distributed.worker - ERROR - Failed to communicate with scheduler during heartbeat.
            +Traceback (most recent call last):
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/comm/tcp.py", line 224, in read
            +    frames_nbytes = await stream.read_bytes(fmt_size)
            +tornado.iostream.StreamClosedError: Stream is closed
            +
            +The above exception was the direct cause of the following exception:
            +
            +Traceback (most recent call last):
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/worker.py", line 1254, in heartbeat
            +    response = await retry_operation(
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/utils_comm.py", line 454, in retry_operation
            +    return await retry(
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/utils_comm.py", line 433, in retry
            +    return await coro()
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/core.py", line 1347, in send_recv_from_rpc
            +    return await send_recv(comm=comm, op=key, **kwargs)
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/core.py", line 1106, in send_recv
            +    response = await comm.read(deserializers=deserializers)
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/comm/tcp.py", line 240, in read
            +    convert_stream_closed_error(self, e)
            +  File "/usr/share/miniconda3/envs/dask-cookbook/lib/python3.10/site-packages/distributed/comm/tcp.py", line 143, in convert_stream_closed_error
            +    raise CommClosedError(f"in {obj}: {exc}") from exc
            +distributed.comm.core.CommClosedError: in <TCP (closed) ConnectionPool.heartbeat_worker local=tcp://127.0.0.1:55608 remote=tcp://127.0.0.1:46299>: Stream is closed
            +
            +
            +
            @@ -1494,7 +1522,7 @@

            Dask Distributed (Cluster Managers)Search

            By Negin Sobhani, Brian Vanderwende, Deepak Cherian, and Ben Kirk. - Last updated on 4 October 2023. + Last updated on 9 October 2023.

            diff --git a/searchindex.js b/searchindex.js index 47868da..7c7db94 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["README","notebooks/00-dask-overview","notebooks/01-dask-array","notebooks/02-dask-dataframe","notebooks/03-dask-xarray","notebooks/04-dask-cluster","notebooks/how-to-cite"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["README.md","notebooks/00-dask-overview.ipynb","notebooks/01-dask-array.ipynb","notebooks/02-dask-dataframe.ipynb","notebooks/03-dask-xarray.ipynb","notebooks/04-dask-cluster.ipynb","notebooks/how-to-cite.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[2,3,4,5,6],"00":[2,3,4],"000":3,"00000":4,"00021317":5,"00021562":5,"00030163":5,"00058048":5,"0008636":5,"00127456":5,"00xarrai":4,"01":[3,4],"0101":4,"010471":4,"013":[3,4],"013lognam":4,"0150":4,"015707":4,"0158":2,"02":[3,4],"02017":4,"0202489197254":4,"020249":4,"0236245":4,"02676":4,"02934595":4,"03":[3,4],"03067086":4,"030c938b33cbed7218375387e7ceb24f":3,"03118489":4,"03131977":4,"03137647":4,"031414":4,"03144512":4,"03149854":4,"031691864132881":4,"031692":4,"032":4,"03255":4,"0335203":4,"03362142":4,"03377749":4,"03410727":4,"03438365":4,"03462001":4,"036649":4,"03long_nam":4,"04":[3,4],"04721":4,"04976":4,"05":[3,4],"05177":4,"052356":4,"05235602":4,"05759162303664":4,"057592":4,"05934":4,"05937":4,"05long_nam":4,"06":[2,4],"06448":4,"06625":4,"0665":4,"0671":4,"068063":4,"06815":4,"07":[3,4],"07053":4,"07327":4,"073298":4,"07352":4,"07358":4,"07593":4,"08":4,"0817":4,"08275":4,"08275229":4,"08275241":4,"08275262":4,"08301":4,"08539595":4,"08662252":4,"08693817":4,"08703589":4,"08712979":4,"08720139":4,"08855":4,"08856276":4,"0885671418733125":4,"0886707":4,"08896421":4,"089005":4,"08978716":4,"09":[3,4],"09031681":4,"09067844":4,"094241":4,"09595":4,"09778247":4,"09778326":4,"09778367":4,"09778459":4,"09778577":4,"0long_nam":4,"0sourc":4,"0x7f621d5b7f10":4,"0x7f622a33f190":4,"0x7f622ccdc400":4,"1":[2,3,4],"10":[2,3,4,5],"100":[2,3,4,5],"1000":[2,4],"10000":2,"100000":4,"10072":4,"10090386867523":4,"100904":4,"100mb":3,"1011":3,"102":3,"1024":2,"10292":4,"103":4,"1032":4,"1032dask":4,"1032ensemble_memb":4,"1032lat":4,"10343715":4,"104":[3,4],"10480616":4,"105":[2,4],"10507483":4,"10514309":4,"10518716":4,"10523223":4,"1056":4,"10710629":4,"10722913":4,"10733365":4,"10742975":4,"10751589":4,"10752106":4,"10752192":4,"10752752":4,"10753268":4,"10753729":4,"1075416":4,"10762019":4,"108":[3,4],"10877403":4,"10907856":4,"10925":4,"10937367":4,"10971484":4,"10992679":4,"109948":4,"10999992":4,"10mb":2,"11":[2,3,4,5],"11006118":4,"11029152":4,"11038325":4,"111":4,"11121714":4,"11179078":4,"112":3,"11208":4,"11217107":4,"11219":4,"112190246582":4,"11449891328812":4,"114499":4,"115183":4,"1151832460733":4,"116":4,"117216":4,"11721634864807":4,"118":[3,4],"1196":4,"11ee":[2,3,4,5],"12":[2,3,4],"120":4,"12000":2,"121":4,"12119":4,"1227965252672902":4,"122797":4,"123":4,"1237501334366":4,"125654":4,"127":[2,3,4,5],"128":2,"13":[2,3,4],"1301":[3,4],"13089":4,"131":4,"14":[2,3,4,5],"140":4,"142":4,"14326":4,"144":4,"145":4,"146":4,"146597":4,"148":4,"1499288082123":4,"149929":4,"14dosrn8ht14qytjzz28gkv14jgdisbff":3,"15":[2,4,5],"150":3,"15068226109904":4,"151832":4,"15183246":4,"152":2,"154":4,"155":3,"156":[4,5],"15718":4,"157947":4,"15794742852449":4,"159":4,"15912":4,"15long_nam":4,"15rcwquxxph6angdhpxzlvbe1ngetyhrf":3,"16":[2,4],"160":2,"1604":4,"16042":4,"161":4,"1647":3,"1656012465f47786dcf4a05f202e4fa7":3,"166":3,"167539":4,"168":4,"16887300113794":4,"169":4,"17":4,"170":4,"17082":4,"172":3,"17277486910994":4,"172775":4,"1736":3,"178":3,"17935":4,"18":[2,3,4],"180":4,"1800":4,"1800long_nam":4,"181":4,"18312":4,"183246":4,"18338":4,"1884":4,"188482":4,"1890":3,"1892":3,"19":[2,4],"190":2,"192":4,"192lon":4,"192zlon":4,"193":2,"19375":4,"1937500834465":4,"19473":4,"19608":4,"197":4,"1983":3,"198398":4,"1983984708786":4,"1994":3,"1a977e45":5,"1aa6c65806de99e481deb7bcf7bd2bf2":4,"1arrai":4,"1d528c7d5527edefddfd43c8981c2fa5":3,"1e":4,"1e6":3,"1gb":2,"1lon":4,"1m":[2,4],"1tbuom1kmcwhjy7":[3,4],"1xarrai":4,"2":[2,3,4,6],"20":[2,3,4],"200":2,"2000":[2,5],"20000":5,"2007":3,"2008":3,"2010":3,"2011":3,"2012":3,"2013":3,"2014":3,"2015":[3,4],"201501":[3,4],"20150101":4,"20150101long_nam":4,"2016":[3,4],"2017":[3,4],"2018":[3,4],"2019":[3,4],"2020":[3,4],"2021":[3,4],"2022":[3,4],"2023":[0,3,4],"2024":4,"202412":[3,4],"2025":4,"202501":[3,4],"2026":4,"2027":4,"2028":4,"2029":4,"2030":4,"20308":4,"2031":4,"2032":4,"2033":4,"2034":4,"203412":[3,4],"2035":4,"203501":[3,4],"2036":4,"2037":4,"20372":4,"2038":4,"2039":4,"2040":4,"2041":4,"204188":4,"2042":4,"20428":4,"2043":4,"2044":4,"204412":[3,4],"20447":4,"2045":4,"204501":[3,4],"20453":4,"2046":4,"2047":4,"20477":4,"2048":4,"2049":4,"2050":4,"2051":4,"2052":4,"20523":4,"20529":4,"2053":4,"2054":4,"205412":[3,4],"2055":4,"205501":[3,4],"2056":4,"2057":4,"20573":4,"2058":4,"2059":4,"2060":4,"2061":4,"2062":4,"2063":4,"2064":4,"206412":[3,4],"2065":4,"206501":[3,4],"2066":4,"2067":4,"2068":4,"2069":4,"2070":4,"2071":4,"20715":4,"2072":4,"2073":4,"2074":4,"207412":[3,4],"2075":4,"207501":[3,4],"2076":4,"20761":4,"2077":4,"2078":4,"20784":4,"2079":4,"2080":4,"2081":4,"2082":4,"2083":4,"2084":4,"208412":[3,4],"2085":4,"208501":[3,4],"2086":4,"2087":4,"2088":4,"2089":4,"2090":4,"2091":4,"2092":4,"2093":4,"2094":4,"209412":[3,4],"209424":4,"2095":4,"209501":[3,4],"2096":4,"2097":4,"2098":4,"2099":4,"20_000":5,"21":[3,4],"210":4,"2100":4,"210012":[3,4],"2101":4,"213":4,"2146":4,"21613":4,"21622":4,"217":4,"2174":4,"218":3,"2185":4,"22":[2,3,4],"22214":4,"22442060709":4,"224421":4,"22507977485657":4,"22508":4,"225131":4,"227":4,"23":[3,4],"230":4,"230366":4,"2303664921466":4,"231":4,"232":4,"233":4,"23364":4,"234":4,"23404":4,"23413":4,"237":4,"238":4,"239":4,"23972":4,"24":[3,4],"240":[4,5],"240499":4,"2404990196228":4,"240838":4,"241":4,"241902":4,"2419023513794":4,"24452":4,"24475":4,"24548":4,"246":4,"246073":4,"247":4,"248":4,"249":4,"25":[2,3,4,5],"250":4,"251":4,"255":4,"255239523947239":4,"25524":4,"256":4,"2583":4,"25865":4,"25984":4,"25_nc3000_nsw042_nrs008_co060_fi001_zr_sgh30_24km_grnl_c170103":4,"25long_nam":4,"26":[2,3,4],"26017798820928":4,"260178":4,"26067":4,"26158":4,"26178":4,"26259":4,"2637":4,"264":4,"26456":4,"26465":4,"2647":4,"26477":4,"26483":4,"2649":4,"26492":4,"26494":4,"266":3,"267016":4,"26988":4,"27":4,"270":4,"2705":4,"271":4,"2714":4,"27185":4,"27194":4,"27199":4,"272":4,"2721":4,"27223":4,"27295":4,"273":4,"273001":4,"27300125360489":4,"27457":4,"27526747027534":4,"2762":4,"2766390459023":4,"27689":4,"2781":4,"27812":4,"27866":4,"28":[2,4],"28018":4,"2821":4,"28221":4,"2825":4,"282723":4,"28296":4,"28328":4,"28348":4,"28403":4,"28467":4,"285":2,"28693":4,"28738":4,"287958":4,"28795811518324":4,"288":4,"2880":4,"28815":4,"2889":4,"288dask":4,"288lev":4,"288nan":4,"289":[2,4],"28906":4,"28958":4,"28967":4,"29":[2,4],"290":4,"29013":4,"2904":4,"29086":4,"291":4,"291145112586364":4,"29143":4,"29178":4,"292":4,"2929":4,"293":4,"294":4,"29426426657898":4,"29532f99a9b5cc82c7e3d64ba58442e2":5,"2957":4,"296":4,"298429":4,"29858":4,"2coordin":4,"2d":[2,4],"2f":[2,3],"2m":4,"3":[1,2,3,4,5],"30":[4,5],"300":4,"3000":[2,5],"300dim_1":4,"300lon":4,"300x450":4,"30274057967767":4,"303665":4,"30699":4,"3084":5,"309":3,"30998":4,"30_000":5,"31":[3,4],"310":4,"3107":4,"31105":4,"314":2,"31547860406357":4,"315479":4,"316":3,"3166":4,"31696":4,"31712663173676":4,"317127":4,"3188":4,"319372":4,"32":[2,3,4],"32008":4,"322":4,"32211":4,"324607":4,"324631":4,"3246314823627":4,"325":4,"325407":4,"325407391414":4,"3258":4,"327":3,"329":4,"32939":4,"32ilev":4,"33":[3,4],"3312":4,"33173":4,"332969":4,"3329690098763":4,"333":3,"33334":4,"33403":4,"33465":4,"33555":2,"33time":4,"34":[3,4],"340314":4,"34143":4,"34243":3,"34473":4,"34538":4,"3455497382199":4,"34555":4,"347":4,"34765":4,"348":4,"34843772172543":4,"349":4,"35":4,"350":4,"35059":4,"351":4,"35114":4,"35123":4,"35182":4,"352":4,"35237":4,"35286":4,"353":4,"35332":4,"3536666929722":4,"353667":4,"355":[3,4],"35541":5,"356":4,"356021":4,"35608":4,"356632":4,"356632251292467":4,"357":4,"35751":4,"358":[3,4],"35969":4,"36":[2,3,4],"361257":4,"36166":4,"3630706071854":4,"363071":4,"36313":4,"36328":4,"3635":4,"3637":4,"36398":4,"36423":4,"36618":4,"366588":4,"3665883541107":4,"36736":4,"36945":4,"37":[3,4],"37168425949545":4,"376":4,"376963":4,"37703":4,"37723":4,"379":4,"37977":3,"38":[2,3,4,5],"382199":4,"38467":2,"387":3,"3894":4,"38943":4,"3894303143024":4,"3895":4,"3896":4,"3897":4,"38998":4,"39":[3,4],"39037":2,"3904":4,"39051":2,"3906":4,"39085":3,"397":3,"397906":4,"39987":4,"39989":4,"39992":4,"3ba7708f376d62f0157c45d019f003a7":5,"4":[2,3,4,5,6],"40":[3,4],"400":2,"4000":2,"40127062797546":4,"401271":4,"40143":3,"40147":5,"40169":3,"403141":4,"40314136125654":4,"404481":4,"404481112957":4,"405":3,"406":3,"40625":2,"40713":5,"40817":4,"409":4,"40941":4,"4096":2,"40b9f9e69a08b2df88b05b714d2fbca6":3,"41":4,"41093":5,"41231":2,"4128":4,"413":4,"413613":4,"414":2,"418848":4,"419103836866114":3,"41956":4,"42":4,"42065e18":2,"42111":4,"42188":4,"43":[3,4],"43143":4,"432":4,"4323345348239":4,"432335":4,"434555":4,"435":4,"4355":4,"43915":4,"439791":4,"44":[2,4],"44122":4,"44456953584448":4,"44457":3,"445":4,"44566458878109":4,"4458916187286":4,"445892":4,"44719":5,"44759":4,"45":4,"450":4,"4500":3,"4503":2,"450dask":4,"45236":4,"455":2,"455497":4,"4558":4,"45633":5,"45765":2,"45963":4,"46":[2,4],"46008":4,"46035":4,"46066":4,"46073298429319":4,"460733":4,"46143":4,"46181":3,"4624":4,"4635":4,"46707":5,"47":4,"47034":4,"471204":4,"47168":4,"475c":3,"47644":4,"47f2":4,"48":4,"48125":4,"482":4,"4827":4,"48357":4,"485479535535":4,"48548":4,"49":[2,4],"49011":4,"492147":4,"49245869822251":4,"49259545287664":4,"494":4,"49512":4,"497382":4,"49849":4,"4arrai":4,"4bf4":5,"4c03adc8":3,"4f":5,"4gb":3,"4x4":2,"5":[2,3,4,5],"50":[2,4],"500":2,"5000":2,"5017625681893":4,"5065":4,"51":4,"513089":4,"51309":4,"51555":4,"51832460732984":4,"518325":4,"519":4,"51a7d3819037098744861c3a1a77e853":3,"52":4,"520498":4,"52049824595451":4,"52094":4,"52321":4,"524":4,"5257":4,"53":[2,4],"531":3,"53171":4,"5323":4,"5323011":4,"5323047":4,"5323071":4,"5323095":4,"53231186":4,"53231424":4,"5323arrai":4,"53247":4,"53256935":4,"5326304":4,"5326939":4,"5327586":4,"5328329":4,"5329144":4,"53317934":4,"5331973":4,"5332273":4,"53325725":4,"5332873":4,"533316":4,"534031":4,"5347665250301":4,"534767":4,"53693422376908":4,"5386245362461":4,"538625":4,"54":[3,4],"540":3,"54382":4,"54416":4,"54646":4,"54724076390266":4,"547241":4,"54758":4,"549738":4,"55":[4,5],"55086":4,"55392":4,"55417":4,"5544":4,"55472":4,"5547661":4,"5548357":4,"554945":4,"554974":4,"55505":4,"5550743":4,"55520225":4,"555317":4,"55531707406044":4,"5553588":4,"5554":4,"556095":4,"556095123291":4,"559202":4,"559202010634294":4,"56":[4,5],"56082":4,"56089420836275":4,"564518":4,"56459117":4,"56466943":4,"56476784":4,"5648814":4,"56499124":4,"565m":3,"567":4,"5683":4,"57":4,"570681":4,"5735768":4,"5735934":4,"57361263":4,"5736343":4,"57365733":4,"5736842":4,"575916":4,"57649":4,"57734594424255":4,"57779792887567":4,"58":4,"5805":5,"581973":4,"5819733353780236":4,"582":4,"5821":4,"582arrai":4,"58324":4,"5868068933487":4,"586807":4,"58728":4,"59":[2,4],"591623":4,"594819646328688":4,"59482":4,"595":4,"6":[2,3,4,5],"60":[3,4],"6017511009226":4,"6042":4,"6045bd7f0ab1":[2,3,4,5],"60733":4,"60806":4,"609":4,"61":4,"611":4,"61182":4,"61222":4,"612220004200935":4,"612565":4,"61575":4,"6182":4,"62":[4,5],"62163":4,"627":4,"628272":4,"62e2":2,"62e3":[3,4],"62e4":5,"63":4,"631537713516693":4,"633508":4,"63467":4,"63492":4,"635402":4,"6354022706268":4,"63834":4,"64":[3,4],"6400":2,"64214":4,"643":4,"64346569404006":4,"643466":4,"644546944648":4,"644547":4,"64458278475801":4,"64505":4,"64758":4,"648":3,"649215":4,"65":[2,4],"65024":4,"65166":4,"652":4,"65529":4,"6561":3,"6574":4,"66":[2,3,4],"66153":4,"66183":4,"664921":4,"66568":4,"67":4,"670157":4,"67749896645546":4,"677499":4,"67866994470765":4,"68":4,"681913":4,"68191315839454":4,"684":5,"685864":4,"6871747076511":4,"687175":4,"6878":4,"68782":4,"69":4,"691":4,"691099":4,"69241":4,"69321089982986":4,"693211":4,"69476":4,"69987":4,"6long_nam":4,"6m":3,"7":[2,3,4],"70":4,"701418":4,"70141822099686":4,"70222":4,"704417":4,"70441716909409":4,"70511":4,"706806":4,"71":4,"7112":4,"7148":3,"715866":4,"7158663570881":4,"71793":4,"72":[3,4],"722513":4,"727749":4,"72c811251d18a4021cc9cd824a02a28f":3,"73":[2,4],"730":4,"73257":4,"73373":4,"734355804607105":4,"73467559512106":4,"734676":4,"7379":4,"73816":4,"74":[3,4],"743455":4,"74374501709438":4,"74554":4,"74585":4,"7464":4,"74713":4,"748691":4,"74997":4,"75":[2,4],"75017":4,"75095784664154":4,"750958":4,"7518":4,"76":[2,3,4,5],"76138":4,"76175":4,"763":4,"764398":4,"76472":4,"76474":4,"767":5,"77":4,"77676":4,"7786948084831":4,"778695":4,"78":[3,4],"780105":4,"781":3,"785":3,"78534":4,"7883":5,"79":4,"79092":4,"79117":4,"7956":4,"796":4,"79611":4,"79689":4,"79712":4,"79908":4,"79908000007191":4,"79e40de483ec47ea37ab1d876b138bd2":3,"7arrai":4,"7e018785e69636b02c65546b26c5a14":3,"8":[2,4],"80":4,"800497":4,"80049747228622":4,"801047":4,"806283":4,"81":[3,4],"81204":4,"81363":4,"81497227992998":4,"81973":4,"82":[2,4],"820":4,"82074711099168":3,"82123":4,"82123029232025":4,"82155":4,"82199":4,"824":5,"82672":4,"8276":4,"8277":4,"82794":4,"82837":4,"82843":4,"82861895859241":4,"828619":4,"82904":4,"829659":4,"82965923621725":4,"82976":4,"83":4,"83112":4,"8343":4,"835219":4,"83521938323975":4,"83585":4,"83743":4,"837696":4,"83826":4,"84":[4,5],"84106":4,"84128":4,"84177":4,"842932":4,"845":4,"8467":3,"85":[2,4],"85582855518078":4,"855829":4,"8564":4,"8583686500788":4,"858369":4,"858639":4,"859":4,"86":[2,4],"86335265636444":4,"863353":4,"863874":4,"866597a4":5,"86865":4,"87":4,"87291":4,"873":4,"8787":[2,3,4,5],"87872":4,"8787200051418":4,"879581":4,"87967":4,"88":4,"883":3,"887":4,"89":4,"8917":4,"895288":4,"89676":4,"897":3,"89886":4,"89f8e492":4,"8arrai":4,"8c37f253eedf":4,"8dfa":2,"8e89":3,"8f88":4,"8long_nam":4,"9":[2,4,5],"90":[3,4],"900":4,"900524":4,"90146":4,"907f":5,"9080867022276":4,"908087":4,"9094":4,"90967":4,"90976":4,"90979":4,"90982":4,"90984":4,"91":4,"9108167588711":4,"910817":4,"9109":5,"912":4,"9124":4,"9144":4,"915":2,"91623":4,"91876":4,"91898":4,"91922":4,"9195":4,"91986":4,"92017":4,"921":4,"921466":4,"9216":4,"92325":4,"92325001955032":4,"924":4,"9273":4,"92ae":3,"93":4,"936":4,"937173":4,"94":[3,4],"941042":4,"94104236364365":4,"94125":4,"94614":4,"947":4,"94705":4,"95":2,"95004":4,"95282074809074":4,"952821":4,"95288":4,"957":4,"958115":4,"96":[2,4],"962":4,"9626":4,"96333714821458":4,"96402":4,"964462":4,"9644624069333":4,"967":4,"96754":4,"97":4,"97342":4,"973822":4,"97466":4,"976":4,"978729":4,"97872936312868":4,"979058":4,"98":4,"9819":4,"9821":4,"98384":4,"985":4,"99":[3,4],"992":4,"992574":4,"992574095726":4,"99403876066208":4,"994039":4,"994764":4,"9967":4,"99885944":5,"99906772":5,"9991636":5,"99918791":5,"99921624":5,"99942":4,"99947898":5,"99948973":5,"99952092":5,"99971445":5,"99973757":5,"99985475":5,"99996315":5,"9nbnd":4,"9time":4,"9x":4,"9x1":4,"\u00b5s":[2,3],"byte":[2,4,5],"case":[0,1,4,5],"default":5,"do":[2,4,5],"export":[3,4],"final":0,"float":4,"function":[1,2,3,4,5],"import":[0,2,3,4,5],"long":[1,3,6],"new":4,"public":3,"return":[2,4],"true":[2,3,4,5],"try":[2,3],"var":4,"while":[0,1,6],A:[1,2,3,4,5],AS:4,And:1,As:[2,3,4,5],At:4,BUT:4,BY:6,But:[1,2,3,5],By:[0,2,4],For:[0,1,2,3,4,5],If:[0,1,3,4,5],In:0,Is:4,It:[2,3,4,5],NOT:3,Or:[3,5],The:[0,1,2,3,4,6],There:[2,4],These:1,To:[1,2,3,4,5],With:4,__dyr2u:5,a12069f2:3,a605:2,a826:4,a94:4,abl:0,abour:4,about:[0,1,2,3,4,5],abov:[1,2,3,5],access:[3,5],accord:3,accross:5,across:[2,3,4],activ:[0,4],actual:[2,4],adapt:[2,6],add:[1,4],addit:[0,1,4],adpt:3,adpt_flag:3,advanc:0,advis:2,af135246:4,affect:[2,4],after:[0,2,4],agg:3,aggreagt:4,aggreg:[3,5],aim:3,air:4,airport:3,all:[0,1,2,3,5,6],allow:[0,1,2,3,4,5],almost:5,alon:3,along:4,also:[0,1,3,4,5],altern:2,although:3,alwai:[1,3,4,5,6],amount:5,an:[0,1,3,5],analysi:[1,4],analyz:3,ani:[1,2,3,4,5],annual:4,anomali:4,anoth:[1,2,4],anyon:0,anyth:2,ap:3,apach:6,api:[1,2,3,4,5],appli:[0,3,4],applic:3,appropri:[2,5,6],ar:[0,1,2,3,5,6],arbitrari:[1,4],archiv:6,argument:[2,3,4,5],around:[3,4],arrai:[0,1,3,5],ascend:3,ask:[1,2,3],aslp:3,aslp_flag:3,assign:[1,5],associ:4,astp:3,astp_flag:3,atm:4,atmosphere_hybrid_sigma_pressure_coordinateformula_term:4,attach:[2,4],attr:4,attribut:4,author:6,autom:4,automat:5,avail:[0,2,3,4,5],averag:[3,4],avoid:[2,4],awai:2,awar:4,awbt:3,awbt_flag:3,awnd:3,awnd_flag:3,ax:[3,4],axi:[2,4,5],b31b:5,b:[3,4],back:4,backend:5,background:[1,4],bag:[1,5],base:[3,4],basic:[0,1,2,4,5],becaus:[1,3,5],becom:3,been:[2,3],befor:[2,3,4],begin:3,behind:0,being:2,below:[0,2,3,4],ben:0,benefit:[1,4],best:[0,1,2,4,5],better:[3,4],between:[0,2,3,5],bhistsmbb:4,big:[1,2,3,4],big_chunk:2,big_da:2,big_np:2,big_shap:2,bigger:2,binderhub:5,bitmap:4,blockwis:[3,5],blog:[1,2,3,4],blueprint:2,book:[0,6],both:[3,4],bottleneck:[1,2],boulder:3,boulder_snow:3,boundsunit:4,brian:0,bssp370smbb:[3,4],bug:[1,2,3,4],build:[1,2],built:[3,4],button:[3,5],c2dc96b3925b:3,c32bd57b2d30725ee6599f2140daacac:5,c:3,cairo:4,calcul:[2,3,5],calendar:4,call:[1,2,3,4],cam:[3,4],camcas:4,can:[0,1,2,5],capabl:[2,4],categori:3,cc:6,cd7f49547819:5,cd:0,cell:[0,2],cell_method:4,celsiu:4,central:5,cesm2:4,cesm:4,cesm_input:4,cf:4,cftime:4,cftimeindex:4,ch4:4,ch4vmr:4,challeng:1,chang:[0,2,4],chapter:0,cheap:5,check:[2,4],cherian:0,choic:[2,3,5],choos:2,chunk:[3,4,5],chunk_dict:4,chunk_shap:2,chunk_typ:5,chunksiz:[4,5],cisl:0,clapeyron:4,clausiu:4,cleanup:3,clear:0,click:[0,3,5],client:[1,4,5],climat:3,climatolog:3,clone:0,close:[2,5],closest:4,cloud:[0,1,5],cluster:[0,1,2],co2:4,co2vmr:4,co:3,co_sit:3,code:[0,1,2,3,4,5,6],coeffici:4,coldest:3,collect:[0,5],colorado:3,column:3,com:[0,3,4],combin:[2,4],comfort:2,comm:[2,3,4,5],comma:3,command:[1,3],common:[2,3,6],commun:[3,4,5,6],compar:[2,5],compehns:3,compil:1,complet:[0,1,2,5],complex:[1,3,4,5],compon:[3,5],compos:[1,3,5],comprehens:0,comput:[0,1,2,5],computed_anom:4,concat:3,concat_dim:4,concaten:[3,4],concept:[0,2,3,4],conceptu:3,concis:[0,2],concreat:4,concret:4,concurr:[1,5],conda:0,config:5,configur:5,confus:2,conjunct:3,connect:[2,3,4,5],consid:[1,4],consist:[1,5],construct:[2,3],consumpt:6,contain:[3,4],content:[5,6],contributor:[1,2,3,4,5],control:[1,4],conveni:4,convent:4,convert:[2,4],cookbook:4,coord:4,coordin:[3,4,5],core:[0,1,3,4,5],corner:0,correspond:5,cost:4,could:[1,3,4],count:3,counterpart:0,cover:[4,5],cpu:[2,3,4,5],creat:[0,1,2,4],creation:4,creativ:6,credit:[1,2,3,4,5,6],csg:0,csh:3,csv:3,current:[4,5],custom:[1,4],d0363b3b:5,d67h1h0v:4,d67h1h0vtime_period_freq:4,d:3,da:[2,4,5],dai:[3,4],daili:3,dapr:3,dapr_flag:3,darr:2,dasf:3,dasf_flag:3,dashboard:[1,2,3,4,5],dashboard_link:5,dask:6,data:[0,1,5],data_dir:[3,4],data_for_cesm:[3,4],datafram:[0,1,4,5],dataframe_typ:3,dataframeiolay:3,dataframetreereduct:3,datarrai:4,dataset:[0,1,2,5],datasetdimens:4,datatyp:3,date:[3,4],date_written:4,datearrai:4,datesec:4,datetim:4,datetime64:3,datetimenoleap:4,dayarrai:4,dcb7dd8641f3d2e3df1e730e4f0454cd:3,dceh_x5k:5,dd:3,ddf:3,debug:[1,5],decemb:3,decor:1,decreas:3,deepak:0,def:[2,3,4],defin:[2,3],degc:4,degcxarrai:4,degrad:4,degre:[3,4],degrees_east:4,degrees_eastarrai:4,degrees_eastbound:4,degrees_northarrai:4,del:[3,4],delai:[1,4,5],delet:3,denver:3,depend:[2,3,5],deploi:5,depth:[0,2,3,4,5],deriv:[0,1],descend:3,describ:[0,4],descript:[3,4],design:[1,3,4,5],detail:[0,4],detect:5,develop:[1,5],deviat:[2,3],df7f74f1232d:2,df:3,dia:3,diagnost:5,dict:4,dictionari:[2,4],didn:4,differ:[0,1,2,3,4,5],difficult:1,dim:4,dim_0:4,dim_1:4,dim_1xarrai:4,dimens:[2,4],dimension:[0,4],directli:[2,4],directori:[0,2,3,4,5],discours:1,discret:1,discuss:[0,1,2,3,4],disk:2,displai:[2,3,4],display_expand_data:4,distribut:[0,1,2,3,4],divid:2,doc:[1,2,3,4,5],docker:3,document:[2,4,5],doe:[2,3,5],doesn:2,doi:[4,6],domain:4,don:[1,2,3,4],done:3,dot:4,download:4,downstandard_nam:4,drop:[2,3],drop_dupl:3,ds:4,dtype:[3,4,5],du:3,due:3,dummi:4,duplic:3,dure:[2,3],dx:3,dynam:5,e023c706d39dce73c2db730a6e96552b:3,e146c250:4,e21:[3,4],e29f08ad:2,e3ed7dba73e58fd04680769ffcdbe54f:3,e4erk9vd:3,e657b5501bb4b118924250c4eb971102:3,e:[0,3,4],each:[2,3,4,5],earli:[3,4],earth:4,easi:[0,1,5],easier:3,easili:[1,3],ec04367d6cb479ddf7f4d5bcccd709fa:5,ecosystem:1,eed:2,eexeqcoxsr51i6ma:[3,4],effect:[2,6],effici:[0,1,2,3,4],effort:5,either:[0,1,2,4,5],element:[2,3,4],elev:3,embarrassingli:4,enabl:[0,1,3,4],end:1,endpoint:4,enforc:3,engin:4,enough:[2,3,4,5],ensembl:4,ensemble_memb:4,enter:0,entri:[1,5],env:[0,4],environ:[0,1,5],equal:4,equat:4,equival:[2,4],error:3,es:4,esd:0,especi:[3,4],essenti:[4,5],etc:4,evalu:[2,4],even:[0,1,4],everi:1,exactli:3,examin:4,exampl:[0,1,2,3,4,5],exce:1,except:4,excersis:3,execut:[0,1,2,4,5],exist:1,exp:[3,4],expens:[2,3],explain:[0,2],explicit:2,explicitli:[2,3,4],explor:[0,2,5],express:4,extens:0,extract:4,extrem:4,f09_g17:[3,4],f11:4,f11vmr:4,f12:4,f12vmr:4,f6svaw8t:3,f774e9f0:3,f:[0,2,3,5],fail:3,fals:[3,4],familiar:3,far:[2,3,4,5],fast:4,faster:[1,3],fayettevil:3,fccaa25a:2,fcd354190bfc78379462c584cbc9370e:3,fcff2bc406d6dda16db386acc5820ffc:3,featur:[1,2,3,4,5],feb:3,februari:0,feedback:1,feel:3,figur:0,file:0,fill:[3,5],filter:[3,4],filterwarn:4,find:[3,4,5],finer:1,first:[0,2,3,4],fit:[1,2,3,4],five:3,flexibl:3,float32:4,float32dask:4,float640:4,float64159:4,float641:4,float642:4,float643:4,float6440:4,float6452:4,float64:[2,3,4,5],float64dask:4,fmtm:3,fmtm_flag:3,focu:0,folder:4,follow:[0,1,2,3,4,5],footprint:2,form:[1,5],format:2,forum:1,four:4,frame:3,free:6,freq:4,from:[0,1,2,3,5],from_arrai:[1,2,4],from_sequ:1,full:[2,5],fulli:[2,4],fundament:[0,4],futur:[1,5],fv_0:4,g:[3,4],gain:1,gb:4,gener:[1,2,3,4],geoscienc:1,get:[0,1,2,4],get_data:[3,4],getitem:3,getsizeof:[2,3],ghcn:3,ghcnd:3,ghvgqmwj:4,gib:[2,3,4,5],git:0,github:[0,1,2,3,4,6],give:[1,2,3,4,6],given:[3,4],glob:[3,4],global:3,go:[3,4,5],goe:2,good:[2,3],googl:[3,4],graph:[1,3,4,5],great:[3,4],group:[3,5],groupbi:[3,4],gt:[3,4],guid:[0,4],guidelin:1,gw:4,h0:[3,4],ha:[2,3,4,5],handl:[1,2,3,5],hardwar:1,has_year_zero:4,hash:3,hate:3,have:[0,1,2,3,4,5],head:3,header:3,heard:3,height:4,held:0,help:[1,2,3],here:[0,1,2,3,4,5],high:[3,4,5],higher:1,highest:3,highlevelgraph:[3,5],histor:3,hold:[2,4],hood:4,hope:0,host:[1,4,5],how:[0,1,2,3,5],howev:[2,3,4],hpaposit:4,hpc:[0,1,4,5],http:[0,2,3,4,5],hyai:4,hyam:4,hybi:4,hybm:4,hybrid:4,i:[0,3,4],icon:0,id:[3,4],ideal:2,identifi:1,idxmax:3,idxmin:3,ignor:4,ilev:4,ilevpandasindexpandasindex:4,illustr:[2,4],imag:[1,2,3,4,5],improv:[1,3],in_var:[2,3],includ:[0,1,3,4,5],increas:3,increasingli:1,independ:4,index:[3,4],index_col:3,individu:4,ineffect:4,infer:3,info:[2,3,4,5],inform:[1,3,4,5],infrastructur:5,initi:[0,2],initial_fil:4,inplac:4,insid:3,insight:[0,1,5],instead:[2,4],int320:4,int321800:4,int3220150101:4,int32:4,int642:4,int64:[3,4],integr:[0,1,4],intens:3,interact:[0,1,3,5],interest:0,interfac:[3,4,5],intern:3,interpretor:[1,5],interv:4,intl:3,intro:4,introduc:[1,4,5],io:2,ipywidget:3,irradianceunit:4,is_materi:[3,5],isel:4,isn:4,isol:5,issu:[1,2,3,4],its:[0,4],jan:4,januari:3,job:[1,5],jobqueu:5,join:[3,4],journal:3,jupyt:0,jupyterlab:[0,2,3,4,5],just:[2,3,4,5],k:[2,3,4],keep:[1,3],kei:[0,3,5],kelvin:4,kib:[4,5],kirk:0,klong_nam:4,know:[0,3],known:[1,3],kubernet:5,lab:0,label:[0,4],labextens:[3,5],languag:1,laptop:1,larg:[0,1,2,3,4,5],larger:[1,4],last:[3,4],lat:4,later:[2,4],latest:6,latitud:[3,4],latitudeunit:4,latpandasindexpandasindex:4,launch:[0,2,3,4,5],layer10:3,layer11:3,layer1:[3,5],layer2:[3,5],layer3:[3,5],layer4:[3,5],layer5:3,layer6:3,layer7:3,layer8:3,layer9:3,layer:[2,3,4,5],layer_typ:[3,5],lazi:[2,4],le2:[3,4],lead:4,learn:0,least:4,len:[3,4],length:4,let:[2,3,4],lev:4,level:[2,3,4,5],levpandasindexpandasindex:4,lh:3,lib:4,librari:[0,1,4],licens:6,like:[1,2,3],limit:5,line2d:4,line:[2,4],link:[3,5],list:[1,3],littl:3,live:[0,5],ll:[0,3],load:[2,3,4],loc:3,local:[0,1,2],localclust:[2,4,5],lognam:4,lon:4,long_nam:4,longer:2,longitud:[3,4],longitudeunit:4,lonpandasindexpandasindex:4,look:[0,2,3,4],loop:[1,3],lot:5,low:[2,4],lr:2,ls:3,lt:[3,4],lustr:4,m2:4,m8:3,machin:[1,2,3,4],magic:2,mai:[1,2,4],main:[0,1,5],make:[0,1,2,3],manag:[1,3],mani:[1,3,5],manipul:3,map:4,massiv:1,materi:[0,5,6],materializedlay:[3,5],matplotlib:[3,4],max:[3,4],maximum:3,mb:[2,3,4],mckinnei:3,mdpr:3,mdpr_flag:3,mdsf:3,mdsf_flag:3,mdt:4,mean:[1,2,3,4,5,6],mean_agg:5,mean_chunk:5,mean_combin:5,mean_of_ones_da:2,mean_tmax:3,mean_tmax_result:3,meanxarrai:4,measur:2,median:3,member:4,memori:[1,2,3,4,5],mention:5,merg:3,meta:4,metadat:4,metadata:4,method:[2,3,4,5],mib:[2,4],midpoint:4,might:[2,3],million:4,mimic:1,mind:1,miniconda3:4,minim:1,minimum:[3,4],minut:[3,4],mislead:3,miss:3,mistak:3,mix:4,mm:3,mnt:4,mode:2,model_doi_url:4,modern:3,mom1:4,mom1initial_fil:4,moment:0,month:[3,4],month_1:4,month_1xarrai:4,monthli:4,more:[0,1,2,3,4,5],most:[1,3,4,5],mous:0,move:0,ms:[2,3,4,5],much:[2,3,4,5],multi:[0,1,4,5],multipl:[0,5],multiprocess:5,multithread:5,must:[1,5],my:1,n1:3,n2o:4,n2ovmr:4,n:4,name:[3,4,5],nan:[3,4],nanni:[2,3,4,5],narr:2,navig:0,nbdate:4,nbnd:4,nbsec:4,nbyte:2,nc:[3,4],ncar:[0,3,5],ncmodel_doi_url:4,nctopography_fil:4,ndarrai:[2,4,5],ndbase:4,ndcur:4,nearest:4,necessari:[1,2,3,4],need:[0,1,2,3,4,5],negin:0,nest:4,netcdf4:4,netcdf:0,network:3,new_chunk_shap:2,next:[1,3,4],noaa:3,node:[1,2],noleap:4,non:[1,2,3,4,6],none:3,nor:2,normal:5,north:4,notat:3,note:[1,2,3,4,5],notebook3:4,notebook:[2,3,4],notic:[3,4,5],now:[0,2,3,4,5],np:[2,4,5],npartit:3,ns:3,nsbase:4,nscur:4,nsteph:4,number:[2,3,4,5],numpi:[0,1,2,5],o:3,object2015:4,object:[2,3,5],objectdask:4,observ:3,off:5,offer:5,offici:[3,4],often:[1,2,3,4,5],onc:[1,3,4],one:[1,2,3,4,5],ones:2,ones_da:2,ones_np:2,onli:[1,2,3,4,5],onlin:3,open:[1,4,6],open_dataset:4,oper:[1,2,4,5],optim:[1,2,4],option:[4,5],orchestr:1,order:[2,4],org:4,os:[3,4],other:[4,5],our:[1,2,3,4],out:[3,4],output:[0,3,4,5],output_dtyp:4,over:3,overal:3,overflow:[1,2,3,4],overhead:[1,2,3,4,5],overview:[3,5],overwrit:5,p0:4,paarrai:4,packag:[1,4],panda:[0,1,4],paper:[3,4],parallaliz:3,parallel:[0,1,2,3,5],parallelli:4,paramet:4,parse_d:3,part:[1,5],partial:5,particular:3,particularli:4,pass:[2,3,4,5],path:[3,4],pattern:4,pb:1,pbscluster:5,pd:3,per:2,perform:[1,4,5],performac:2,persist:4,pgtm:3,pgtm_flag:3,piec:2,pipelin:4,place:2,plan:1,pleas:[0,2,3,4,5],plot:[2,3,4],point:[1,3,5],pool:5,poor:[2,3],popular:3,portion:1,possibl:[2,3,4],potenti:[1,2,4],power:[0,1,3,4],powerful:1,practic:[0,2,5],prcp:3,prcp_flag:3,precipit:4,prefer:5,prepar:4,preprocess:3,present:0,press:0,pressur:4,pressureunit:4,previou:[2,3,4],previous:2,print:[2,3,4,5],prior:3,probabl:1,problem:[1,4],process:[0,1,2,3,4,5],profil:[1,5],program:0,progress:[1,5],project:[0,6],projectpythia:0,provid:[0,1,2,4,5],ps:4,psarrai:4,psun:3,psun_flag:3,pure:5,py:4,pyarrow:3,pythia:[0,6],python3:4,python:[1,3,4,5],qdhyzu5d:2,qipoc8cg:4,quadmesh:4,question:[1,2,3,4],queue:4,r:[3,5],ram:[2,3,4],rand:4,random:[4,5],rankdir:2,rather:2,ratio:4,raw:3,re:[3,4],read:1,read_csv:1,real:[1,3,4],realli:2,rearrang:3,receiv:3,rechunked_big_da:2,reciev:4,recommend:[4,5],record:3,recreat:2,reduc:[2,3],refer:[0,1,5],regard:[0,2,4],rel:5,relat:[2,4,5],relationship:2,releas:6,remain:[2,4],remaind:2,rememb:[2,3,5],remot:[1,5],render:4,repeat:3,repeatedli:4,replac:[2,4],report:[1,2,3,4],repositori:0,repres:2,represent:[2,3],represnt:4,request:[1,2,3,4],requir:[2,3,4,5],resampl:4,research:3,resid:2,resolv:[1,6],resourc:[0,5],respons:1,restructur:1,result:[2,4],reus:6,rewrit:1,rhav:3,rhav_flag:3,rhmn:3,rhmn_flag:3,rhmx:3,rhmx_flag:3,right:[0,2],rocket:0,roll:4,rolling_mean:4,roughli:2,routin:1,row:3,rule:[2,3,4],run:[1,2,3,4,5],runner:3,rw:3,s:[2,3,4,6],same:[2,3,4,5],sampl:3,sarrai:4,sat_p:4,satur:4,saturncloud:2,save:[1,3,4],saw:4,scalabl:5,scalar:3,scale:[0,1,4,5],scenario:4,sch:5,schedul:[2,3,4],scienc:[1,4],scientist:3,scratch:[2,3,4,5],script:[1,3],sea:4,seamless:1,search:[3,5],second:[0,2,4,5],see:[0,2,3,4],segment:1,sel:4,select:[0,3,4,5],send:5,separ:[1,4,5],seper:3,seri:[0,1,2,3,4,5],serial:[1,5],series_dtyp:3,serv:[1,2,5,6],session:5,set:[0,2,3,4,5],set_index:3,set_opt:4,sever:[1,2,3,5],sge:1,sh:[3,4],shape:[2,4,5],share:[4,6],shift:0,ship:0,should:[0,1,2,3,4],show:[3,4],shown:3,shutdown:[3,4,5],signific:1,significantli:[2,4],similar:[1,2,3,4],similarli:4,simpl:[4,5],simplest:0,simpli:[0,1,4,5],sinc:[3,4,5],singifincantli:2,singl:[1,3],site:[3,4],situat:[3,5],size:[2,4,5],slice:[3,4],slower:5,slurm:1,small:[1,2,3,4],smaller:[2,3],sn32:3,sn32_flag:3,snow:3,snow_flag:3,snowy_dai:3,snwd:3,snwd_flag:3,so:[2,3,4,5,6],sobhani:0,sol_tsi:4,solar:4,solut:1,solv:3,some:[0,1,2,3,4,5],someth:1,sometim:3,soon:3,sophist:5,sort:[3,4],sort_valu:3,sourc:[1,2,4,6],space:[2,3,4,5],spatial:4,specif:3,specifi:[2,4,5],speed:[1,4],spent:1,split:2,spread:[3,5],sst:4,sst_da:4,sst_np:4,sst_xr:4,stack:[1,2,3,4],stage:4,stand:2,standard:[2,3],start:[0,3,4],state:3,station:3,statist:2,statu:[2,3,4,5],std:3,std_tmax:3,std_tmax_result:3,step:[0,1,4],still:[3,4,5],stn:3,store:4,stream:[2,4],string:[3,4],structur:[1,3],sub:2,submit:[1,5],subset:[1,2,3,4,5],substanti:1,suitabl:5,sum:[2,3,4],summar:4,sunseon:4,sunseonhost:4,support:[2,4],sure:0,surfac:[3,4],sx32:3,sx32_flag:3,sy:[2,3,4,5],symbol:2,sync:5,synchron:5,system:[0,1,5],t0:5,t1:5,t:[1,2,3,4],tabular:3,tag:[1,2,3,4],tail:3,take:[1,2,3,4,5],takeawai:4,talk:[2,5],task:[3,4],tavg:3,tavg_flag:3,tb:4,tcp:[2,3,4,5],team:0,tell:[2,3],temperatur:[3,4],temperaturecell_method:4,tempor:4,term:1,test:5,than:[2,3],thei:[2,3],them:[0,2,3,4],thi:0,thing:[3,4],think:1,third:[2,4],those:[2,5],though:2,thousand:1,thread:[2,3,4],three:4,through:[0,2,3,5],thumb:[2,3,4],time:[1,2,3,4,5],time_bnd:4,time_bndsarrai:4,time_period_freq:4,time_written:4,timebound:4,timepandasindexpandasindex:4,timeseri:4,timestamp:3,timestep:4,timestepunit:4,tip:[2,4],tmax:3,tmax_flag:3,tmean:4,tmin:3,tmin_flag:3,tmp:[2,3,4,5],to_numpi:4,to_pyarrow_str:3,tob:3,tobs_flag:3,too:[1,3,4,5],tool:[0,3,4],top:[0,3],topic:0,topo:4,topography_fil:4,tos_anom:4,total:[2,3,4,5],transpar:4,tref:4,tref_bould:4,tref_c:4,tref_group:4,tref_mean:4,trefht:[3,4],trigger:[2,3,4],troubleshoot:1,tsun:3,tsun_flag:3,turn:4,tutori:0,two:[1,4,5],type:[1,2,3,5],typic:[1,2,5],uc:[3,4],under:[4,6],underli:3,understand:0,uniform:[2,4],uniqu:3,unit:[3,4],unlik:[2,3],unstructur:1,until:[0,2,3,4],unvector:4,up:[0,1,2,5],us:[0,2,5],usag:[1,2,3,4],usc00023160:3,usc00027281:3,usc00027390:3,usc00030936:3,usc00031596:3,usc00032444:3,usc00035186:3,usc00035754:3,usc00035820:3,usc00035908:3,usc00042294:3,usc00044259:3,usc00048758:3,usc00050848:3,usc00051294:3,usc00051528:3,usc00051564:3,usc00051741:3,usc00052184:3,usc00052281:3,usc00052446:3,usc00053005:3,usc00053038:3,usc00053146:3,usc00053662:3,usc00053951:3,usc00054076:3,usc00054770:3,usc00054834:3,usc00055322:3,usc00055722:3,usc00057167:3,usc00057337:3,usc00057936:3,usc00058204:3,usc00058429:3,usc00059243:3,usc00068138:3,usc00080211:3,usc00084731:3,usc00088824:3,usc00098703:3,usc00100010:3,usc00100470:3,usc00105275:3,usc00106152:3,usc00107264:3,usc00108137:3,usc00110338:3,usc00112140:3,usc00112193:3,usc00112348:3,usc00112483:3,usc00113335:3,usc00114108:3,usc00114442:3,usc00114823:3,usc00115079:3,usc00115326:3,usc00115712:3,usc00115768:3,usc00115833:3,usc00115901:3,usc00115943:3,usc00116446:3,user:[0,1,2,3,4,5],userwarn:4,usr:4,usual:[1,2,5],usw00003017:3,util:4,v_aybmpi:2,valu:[3,4],vanderwend:0,vapor:4,var_siz:[2,3],variabl:[2,3,4],variou:5,vector:[3,4],veri:[1,2,3,4,5],version:2,via:[0,1],view:[0,3],visit:[3,4,5],visual:[2,3,4],volum:4,vs:1,w:4,wa:[0,1,2,3],wai:[0,1,2,4,5],wait:1,wall:[2,3,4,5],want:[2,3,4],warn:[2,3,4],warrant:5,wdf2:3,wdf2_flag:3,wdf5:3,wdf5_flag:3,we:[0,1,2,3,4,5],websit:[3,4],weight:4,well:[0,1,5],wesd:3,wesd_flag:3,what:[2,4],when:[2,4,5],whenev:3,where:[2,3,4,5],whether:1,which:[0,1,2,3,4,5],whole:2,why:[2,3,5],without:[1,4,5],work:[0,1,2,3,4,5],worker:[1,2,3,4,5],workflow:[0,1],world:3,worsen:2,worth:1,would:4,wrap:1,wrapper:4,write:[1,4],written:4,wsf2:3,wsf2_flag:3,wsf5:3,wsf5_flag:3,wt01:3,wt01_flag:3,wt02:3,wt02_flag:3,wt03:3,wt03_flag:3,wt04:3,wt04_flag:3,wt05:3,wt05_flag:3,wt06:3,wt06_flag:3,wt07:3,wt07_flag:3,wt08:3,wt08_flag:3,wt09:3,wt09_flag:3,wt10:3,wt10_flag:3,wt11:3,wt11_flag:3,wt13:3,wt13_flag:3,wt14:3,wt14_flag:3,wt15:3,wt15_flag:3,wt16:3,wt16_flag:3,wt17:3,wt17_flag:3,wt18:3,wt18_flag:3,wt19:3,wt19_flag:3,wt21:3,wt21_flag:3,wt22:3,wt22_flag:3,wv01:3,wv01_flag:3,wv03:3,wv03_flag:3,x27:[3,4],x:3,xarrai:[0,1],xd:5,xlabel:3,xn:5,xr:4,xx0:3,xx:3,xxx:3,y:3,yd:5,year:3,yet:[2,3],ylabel:3,yml:0,yn:5,you:[0,6],your:[1,2,4,5],yyyymmdd:4,z_da:2,z_da_rechunk:2,z_np:2,zenodo:6,zero:2,zlon:4,zlon_bnd:4,zlon_bndsarrai:4,zlonpandasindexpandasindex:4},titles:["Dask Cookbook","Dask Overview","Dask Array","Dask DataFrame","Parallelizing Xarray with Dask","Dask Schedulers","How to Cite This Cookbook"],titleterms:{"1":[1,5],"2":[1,5],"do":3,In:[1,2,3,4,5],The:5,access:4,acknowledg:0,advanc:4,algorithm:2,all:4,an:[2,4],analysi:3,apply_ufunc:4,ar:4,arrai:[2,4],ask:4,author:0,automat:4,avoid:[1,3],basic:3,best:3,binder:0,block:2,blocksiz:3,built:1,cach:3,calcul:4,can:[3,4],check:3,chunk:2,cite:6,client:[2,3],close:[3,4],cluster:[3,4,5],collect:[1,4],comparison:2,compon:1,comput:[3,4],construct:4,content:0,contributor:0,cookbook:[0,6],creat:[3,5],dask:[0,1,2,3,4,5],data:[2,3,4],dataarrai:4,datafram:3,dataset:[3,4],diagnost:1,did:3,distribut:5,document:3,download:3,dynam:1,evalu:3,familiar:1,file:[3,4],first:1,flexibl:1,from:4,full:3,good:4,graph:2,grid:4,help:4,high:1,how:[4,6],interfac:1,intermedi:3,introduct:[1,3,4,5],larger:[2,3],lazi:3,learn:[1,2,3,4,5],let:5,level:1,like:4,local:[3,4,5],localclust:3,low:1,machin:[0,5],manag:5,mani:4,materi:[2,4],motiv:0,multipl:[3,4],netcdf:4,nice:3,note:0,notebook:0,numpi:4,object:4,open_mfdataset:4,oper:3,orchestr:5,origin:0,our:5,over:4,overview:[1,4],own:0,panda:3,parallel:4,partit:3,perform:[2,3],persist:3,point:4,practic:[3,4],prerequisit:[3,4],quick:4,read:[3,4],read_csv:3,rechunk:[2,4],refer:[2,3,4],relat:3,resourc:[1,2,3,4],result:3,rule:1,run:0,s:5,scalabl:1,scale:3,schedul:[1,5],setup:[2,4],share:3,shuffl:3,simpl:3,singl:[4,5],size:3,smart:3,spin:4,start:[2,5],structur:[0,4],summari:[2,3,4],supplementari:[2,4],task:[1,2,5],thi:[1,2,3,4,5,6],thread:5,tip:3,tool:1,tutori:[1,2,3,4,5],type:4,underli:4,up:[3,4],us:[1,3,4],what:[1,3],when:[1,3],why:1,wise:3,workflow:4,wrap:4,xarrai:4,you:[1,2,3,4,5],your:[0,3]}}) \ No newline at end of file +Search.setIndex({docnames:["README","notebooks/00-dask-overview","notebooks/01-dask-array","notebooks/02-dask-dataframe","notebooks/03-dask-xarray","notebooks/04-dask-cluster","notebooks/how-to-cite"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["README.md","notebooks/00-dask-overview.ipynb","notebooks/01-dask-array.ipynb","notebooks/02-dask-dataframe.ipynb","notebooks/03-dask-xarray.ipynb","notebooks/04-dask-cluster.ipynb","notebooks/how-to-cite.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[2,3,4,5,6],"00":[2,3,4],"000":3,"00000":4,"00003869":5,"00016619":5,"000385":5,"00063441":5,"00064446":5,"00067831":5,"00093179":5,"000d3a01f98b":[2,3,4,5],"00152234":5,"00xarrai":4,"01":[3,4],"0101":4,"010471":4,"013":[3,4],"013lognam":4,"0150":4,"015707":4,"02":[3,4],"02017":4,"0202489197254":4,"020249":4,"02676":4,"02934595":4,"03":[2,3,4],"03067086":4,"030c938b33cbed7218375387e7ceb24f":3,"03118489":4,"03131977":4,"03137647":4,"031414":4,"03144512":4,"03149854":4,"031691864132881":4,"031692":4,"032":4,"03255":4,"0335203":4,"03362142":4,"03377749":4,"03410727":4,"03438365":4,"03462001":4,"036649":4,"036f":4,"03long_nam":4,"04":[3,4],"04633084136205":4,"04721":4,"04976":4,"05":[3,4],"05177":4,"052356":4,"05235602":4,"0533238882391":4,"05759162303664":4,"057592":4,"05934":4,"05937":4,"05long_nam":4,"06":4,"06448":4,"06625":4,"0665":4,"0665574a":3,"0671":4,"068063":4,"06815":4,"07":[3,4],"07053":4,"07327":4,"073298":4,"07352":4,"07358":4,"07593":4,"0774429840396":4,"077443":4,"08":4,"0817":4,"08275":4,"08275229":4,"08275241":4,"08275262":4,"08301":4,"08539595":4,"08662252":4,"08693817":4,"08703589":4,"08712979":4,"08720139":4,"08774242593147":4,"08855":4,"08856276":4,"0886707":4,"08896421":4,"089005":4,"08978716":4,"08arrai":4,"09":[3,4,5],"09031681":4,"09067844":4,"091755980792016":4,"094241":4,"09595":4,"09778247":4,"09778326":4,"09778367":4,"09778459":4,"09778577":4,"0long_nam":4,"0sourc":4,"0x7fd6e8e0ce20":4,"0x7fd72020fd30":4,"0x7fd734178c70":4,"1":[2,3,4],"10":[2,3,4,5],"100":[2,3,4,5],"1000":[2,4],"10000":2,"10072":4,"10090386867523":4,"100904":4,"100mb":3,"1011":3,"102":3,"1024":2,"10292":4,"103":4,"1032":4,"1032dask":4,"1032lat":4,"1032nbnd":4,"10343715":4,"104":3,"10480616":4,"105":4,"10507483":4,"10514309":4,"10518716":4,"10523223":4,"1056":4,"10710629":4,"10722913":4,"10733365":4,"10742975":4,"10751589":4,"10752106":4,"10752192":4,"10752752":4,"10753268":4,"10753729":4,"1075416":4,"10762019":4,"10877403":4,"10907856":4,"10925":4,"10937367":4,"10971484":4,"10992679":4,"109948":4,"10999992":4,"10mb":2,"11":[2,3,4,5],"110":4,"11006118":4,"11029152":4,"11038325":4,"1106":5,"111":4,"11121714":4,"11179078":4,"11208":4,"11217107":4,"11219":4,"112190246582":4,"113":4,"114":5,"11449891328812":4,"114499":4,"115183":4,"1151832460733":4,"117216":4,"11721634864807":4,"118":[3,4],"1196":4,"11ee":[2,3,4,5],"12":[2,3,4,5],"120":4,"12000":2,"120x192x288":4,"121":4,"12119":4,"124":4,"1254":5,"125654":4,"127":[2,3,4,5],"128":2,"13":[2,3,4],"1301":[3,4],"13089":4,"131":4,"131206":4,"131206222625508":4,"133":3,"1347":5,"138":4,"13946728729471":4,"14":[2,3,4],"142":4,"143":5,"14326":4,"144":4,"1446":4,"1463":5,"146597":4,"1499288082123":4,"149929":4,"14dosrn8ht14qytjzz28gkv14jgdisbff":3,"15":[2,4,5],"150":3,"151832":4,"15183246":4,"152":2,"154":4,"155":3,"156":5,"15718":4,"15764160720399":4,"157947":4,"15794742852449":4,"159":4,"159073402716515":4,"15912":4,"15long_nam":4,"15rcwquxxph6angdhpxzlvbe1ngetyhrf":3,"16":[2,3,4],"160":2,"1604":4,"16042":4,"16052440219161":4,"1647":3,"1656012465f47786dcf4a05f202e4fa7":3,"166":3,"167539":4,"168":4,"169858031432994":4,"17":[2,3,4],"17082":4,"172":3,"17277486910994":4,"172775":4,"1736":3,"17935":4,"18":4,"180":4,"181":4,"18312":4,"183246":4,"18338":4,"1884":4,"188482":4,"1890":3,"1892":3,"19":4,"190":2,"192":[2,4],"1920093401121":4,"192lon":4,"192zlon":4,"19375":4,"1937500834465":4,"19473":4,"19608":4,"197":4,"1983":3,"198398":4,"1983984708786":4,"1994":3,"1a13":5,"1arrai":4,"1b12ee8daaf71a9d05ebb4f0b5aeb961":4,"1bec5697677600ec285823b8894b0aef":4,"1d528c7d5527edefddfd43c8981c2fa5":3,"1e":4,"1e6":3,"1gb":2,"1m":[2,4],"1tbuom1kmcwhjy7":[3,4],"1time":4,"1xarrai":4,"2":[2,3,4,6],"20":[3,4,5],"200":2,"2000":[2,5],"20000":5,"2007":3,"2008":3,"2010":3,"2011":3,"2012":3,"2013":3,"2014":3,"2015":[3,4],"201501":[3,4],"2016":[3,4],"2017":[3,4],"2018":[3,4],"2019":[3,4],"2020":[3,4],"2021":[3,4],"2022":[3,4],"2023":[0,3,4,5],"2024":4,"202412":[3,4],"2025":4,"202501":[3,4],"2026":4,"2027":4,"2028":4,"2029":4,"2030":4,"20308":4,"2031":4,"2032":4,"2033":4,"2034":4,"203412":[3,4],"2035":4,"203501":[3,4],"2036":4,"2037":4,"20372":4,"2038":4,"2039":4,"2040":4,"2041":4,"204188":4,"2042":4,"20428":4,"2043":4,"2044":4,"204412":[3,4],"20447":4,"2045":4,"204501":[3,4],"20453":4,"2046":4,"2047":4,"20477":4,"2048":4,"2049":4,"2050":4,"2051":4,"2052":4,"20523":4,"20529":4,"2053":4,"2054":4,"205412":[3,4],"2055":4,"205501":[3,4],"2056":4,"2057":4,"20573":4,"2058":4,"2059":4,"2060":4,"2061":4,"2062":4,"2063":4,"2064":4,"206412":[3,4],"2065":4,"206501":[3,4],"2066":4,"2067":4,"2068":4,"2069":4,"2070":4,"2071":4,"20715":4,"2072":4,"2073":4,"2074":4,"207412":[3,4],"2075":4,"207501":[3,4],"2076":4,"20761":4,"2077":4,"2078":4,"20784":4,"2079":4,"2080":4,"2081":4,"2082":4,"2083":4,"2084":4,"208412":[3,4],"2085":4,"208501":[3,4],"2086":4,"2087":4,"2088":4,"2089":4,"2090":4,"2091":4,"2092":4,"2093":4,"2094":4,"209412":[3,4],"209424":4,"2095":4,"209501":[3,4],"2096":4,"2097":4,"2098":4,"2099":4,"20_000":5,"21":[3,4],"210":4,"2100":4,"210012":[3,4],"2101":4,"212":4,"213":4,"2146":4,"216":4,"21613":4,"21622":4,"217":4,"2174":4,"2185":4,"22":[2,3,4],"22214":4,"224":5,"22442060709":4,"224421":4,"22507977485657":4,"22508":4,"225131":4,"227":4,"23":[2,3,4],"230":4,"230366":4,"2303664921466":4,"231":4,"232":4,"233":4,"23364":4,"234":4,"23404":4,"23413":4,"237":4,"238":4,"239":4,"23972":4,"24":[2,3,4],"240":[4,5],"240499":4,"2404990196228":4,"240838":4,"241":4,"241311999909342":4,"241312":4,"241902":4,"2419023513794":4,"244":2,"24452":4,"24475":4,"24548":4,"246":4,"246073":4,"247":4,"248":[3,4],"249":4,"25":[3,4,5],"250":4,"251":4,"254":3,"255":4,"255239523947239":4,"25524":4,"258":4,"2583":4,"25865":4,"259233":4,"25923335178868":4,"25984":4,"25_nc3000_nsw042_nrs008_co060_fi001_zr_sgh30_24km_grnl_c170103":4,"25long_nam":4,"26":[3,4],"26067":4,"26158":4,"2616c516":3,"26178":4,"26259":4,"2637":4,"26456":4,"26465":4,"2647":4,"26477":4,"26483":4,"2649":4,"26492":4,"26494":4,"266":4,"26617926434206":4,"267016":4,"268":2,"26988":4,"27":4,"2705":4,"271":4,"2714":4,"27185":4,"27194":4,"27199":4,"272":4,"2721":4,"27223":4,"27295":4,"273":4,"273001":4,"27300125360489":4,"27457":4,"2762":4,"27689":4,"2781":4,"27812":4,"27866":4,"28":4,"28018":4,"2821":4,"28221":4,"2825":4,"282723":4,"28296":4,"282f56a3":5,"28328":4,"28348":4,"28403":4,"28467":4,"28693":4,"287":3,"28738":4,"287958":4,"28795811518324":4,"288":4,"2880":4,"28815":4,"2889":4,"288dask":4,"288lev":4,"288nan":4,"289":[2,4],"28906":4,"28958":4,"28967":4,"29":4,"290":4,"29013":4,"2904":4,"29086":4,"291":4,"29143":4,"29178":4,"292":4,"2929":4,"293":4,"294":4,"2957":4,"296":4,"298429":4,"29858":4,"29ebc4186cd8978740b8f6d09e980557":4,"2d":[2,4],"2f":[2,3],"2lon":4,"2m":4,"3":[1,2,3,4,5],"30":[4,5],"300":4,"3000":[2,5],"300dim_1":4,"300lon":4,"300x450":4,"302662":4,"30266205353354":4,"303665":4,"30699":4,"308":3,"30998":4,"30_000":5,"31":[3,4,5],"310":4,"3107":4,"31105":4,"316":3,"3166":4,"31696":4,"31712663173676":4,"317127":4,"3188":4,"319372":4,"32":[2,3,4],"32008":4,"322":4,"32211":4,"323":4,"324607":4,"324631":4,"3246314823627":4,"325407":4,"325407391414":4,"3258":4,"327":3,"32939":4,"32ilev":4,"33":[3,4,5],"3312":4,"33173":4,"332969":4,"3329690098763":4,"333":3,"33334":4,"33403":4,"336":4,"33625":2,"33735":3,"3386d0b32f56b2a174af174e4c6a8833":5,"33963":3,"33coordin":4,"34":[3,4],"340314":4,"34143":4,"34473":4,"34538":4,"3455497382199":4,"34555":4,"34557":5,"34619":5,"34644516202662":4,"347":4,"348":4,"35":4,"350":4,"35059":4,"351":4,"35114":4,"35123":4,"35182":4,"352":4,"35237":4,"35286":4,"353":4,"35332":4,"3536666929722":4,"353667":4,"355":[3,4],"35575":3,"356":4,"356021":4,"35608":4,"356632":4,"356632251292467":4,"357":4,"358":4,"35821":2,"35859":2,"36":[3,4],"3609":3,"361257":4,"36163":4,"36166":4,"3630706071854":4,"363071":4,"36313":4,"36328":4,"3635":4,"36369":2,"3637":4,"36398":4,"364":3,"36423":4,"36618":4,"366588":4,"3665883541107":4,"36725":4,"36736":4,"36769":2,"36845":5,"37":[3,4],"376963":4,"37703":4,"37723":4,"37774967996486":4,"37775":4,"379":4,"38":[2,3,4,5],"382199":4,"386bf4d92b6c9ff73c8caec210b44020":5,"387":3,"38755":3,"38813":4,"38837":4,"3894":4,"38943":4,"3894303143024":4,"3895":4,"3896":4,"3897":4,"38998":4,"39":[3,4],"3904":4,"3906":4,"39191":3,"394019801718386":4,"39402":4,"397":3,"397906":4,"39987":4,"39989":4,"39992":4,"4":[2,3,4,5,6],"40":[3,4],"400":[2,4],"4000":2,"40127062797546":4,"401271":4,"403141":4,"40314136125654":4,"404481":4,"404481112957":4,"40817":4,"409":4,"4096":2,"40b9f9e69a08b2df88b05b714d2fbca6":3,"41":[2,4],"411":3,"413613":4,"41365":3,"41555":4,"418":4,"418848":4,"419103836866114":3,"41956":4,"42":[3,4],"42111":4,"42188":4,"42923":2,"43":[4,5],"43143":4,"4323345348239":4,"432335":4,"433":5,"434555":4,"435":4,"4355":4,"43913":5,"43915":4,"439791":4,"43dd":3,"44":[2,4],"441":4,"44122":4,"445":4,"4451693688348":4,"4458916187286":4,"445892":4,"44751":4,"44759":4,"44783":3,"45":4,"450":4,"4500":3,"450dask":4,"45211893251931":4,"45229":2,"45236":4,"454":5,"45461":5,"45487":5,"455497":4,"4558":4,"45963":4,"46":[2,4],"46008":4,"46066":4,"46073298429319":4,"460733":4,"46143":4,"4624":4,"46299":5,"4635":4,"46625":4,"46b2":4,"47":4,"470":5,"47034":4,"471204":4,"47168":4,"47644":4,"48":4,"480":4,"48125":4,"482":4,"4827":4,"48357":4,"484":3,"485479535535":4,"48548":4,"48cfbe0a":3,"49":[2,4],"49011":4,"490e30721b157769a0556664ad692090":4,"492147":4,"494982":4,"494982036832681":4,"49512":4,"496":4,"497382":4,"49849":4,"49arrai":4,"4arrai":4,"4b67":5,"4f":5,"4fe5":2,"4gb":3,"4x4":2,"5":[2,3,4],"50":[2,4],"500":2,"5000":2,"5065":4,"51":4,"513089":4,"51309":4,"51555":4,"51832460732984":4,"518325":4,"519":4,"51a7d3819037098744861c3a1a77e853":3,"52":4,"520498":4,"52049824595451":4,"52094":4,"52321":4,"524":4,"5257":4,"527":3,"53":[2,4],"531":3,"53117290215363":4,"53171":4,"5323":4,"5323011":4,"5323047":4,"5323071":4,"5323095":4,"53231186":4,"53231424":4,"5323arrai":4,"53247":4,"53256935":4,"5326304":4,"5326939":4,"5327586":4,"5328329":4,"5329144":4,"53317934":4,"5331973":4,"5332273":4,"53325725":4,"5332873":4,"533316":4,"534031":4,"5347665250301":4,"534767":4,"536384874662843":4,"5386245362461":4,"538625":4,"54":[3,4],"54382":4,"54416":4,"5461fc912f94285c632e3db2b3f71aaa":3,"54646":4,"54724076390266":4,"547241":4,"54758":4,"549738":4,"55":4,"55086":4,"55392":4,"55417":4,"5544":4,"55472":4,"5547661":4,"5548357":4,"554945":4,"554974":4,"55505":4,"5550743":4,"55520225":4,"555317":4,"55531707406044":4,"5553588":4,"5554":4,"55608":5,"556095":4,"556095123291":4,"557881944298":4,"557882":4,"56":[3,4,5],"56082":4,"564518":4,"56459117":4,"56466943":4,"56476784":4,"5648814":4,"56499124":4,"565m":3,"567":4,"5683":4,"57":4,"570681":4,"5735768":4,"5735934":4,"57361263":4,"5736343":4,"57365733":4,"5736842":4,"57515418742628":4,"575916":4,"57649":4,"58":4,"582049277109718":4,"5821":4,"58324":4,"58667023":2,"5868068933487":4,"586807":4,"58728":4,"59":[2,4],"59087821886253":4,"591623":4,"593":3,"593533041300546":4,"594819646328688":4,"59482":4,"595":4,"5c9ba7e1":4,"5dc9996db723cb182026c4f1703afbb0":4,"6":[2,3,4,5],"60":[3,4],"6042":4,"60733":4,"60806":4,"609":4,"61":4,"611":4,"61182":4,"61222":4,"612220004200935":4,"612565":4,"61575":4,"6182":4,"62":[4,5],"62163":4,"628272":4,"63":[3,4],"630":5,"633508":4,"63467":4,"63492":4,"63834":4,"64":[3,4],"6400":2,"64214":4,"643":4,"64346569404006":4,"643466":4,"644546944648":4,"644547":4,"64505":4,"64758":4,"649":3,"649215":4,"65":[3,4],"65024":4,"65166":4,"652":4,"65529":4,"6561":3,"6574":4,"65b16b064537":2,"66":[3,4],"66153":4,"66183":4,"664921":4,"66568":4,"66e3":2,"66e4":[3,4,5],"67":4,"670157":4,"67749896645546":4,"677499":4,"67981428151185":4,"68":4,"68562985405558":4,"685864":4,"6871747076511":4,"687175":4,"6878":4,"68782":4,"69":4,"691":4,"691099":4,"69241":4,"69321089982986":4,"693211":4,"69476":4,"69987":4,"6a89":2,"6long_nam":4,"6m":3,"7":[2,3,4],"70":4,"701418":4,"70141822099686":4,"70222":4,"704417":4,"70441716909409":4,"705":3,"70511":4,"706806":4,"71":4,"7112":4,"715866":4,"7158663570881":4,"71793":4,"72":[3,4],"722513":4,"727749":4,"72c811251d18a4021cc9cd824a02a28f":3,"73":[2,4],"730":4,"73257":4,"73373":4,"73467559512106":4,"734676":4,"7379":4,"73816":4,"73943644384296":4,"74":[3,4],"743":5,"743455":4,"74554":4,"74585":4,"7464":4,"74713":4,"748691":4,"749815538698428":4,"749816":4,"74997":4,"75":4,"75017":4,"75095784664154":4,"750958":4,"7518":4,"752":5,"76":[2,3,4,5],"76138":4,"76175":4,"763":4,"764398":4,"76472":4,"76474":4,"766":2,"77":[2,4],"77676":4,"7786948084831":4,"778695":4,"77fcnobo":4,"78":[3,4],"780105":4,"78534":4,"79":4,"79092":4,"79117":4,"7956":4,"796":4,"79611":4,"79689":4,"79712":4,"79e40de483ec47ea37ab1d876b138bd2":3,"7c2a3645478f":4,"7e018785e69636b02c65546b26c5a14":3,"8":[2,3,4,5],"80":4,"800497":4,"80049747228622":4,"801047":4,"806283":4,"81":[3,4],"81204":4,"81363":4,"81973":4,"82":4,"820":4,"82074711099168":3,"82123":4,"82123029232025":4,"82155":4,"82199":4,"82672":4,"8276":4,"8277":4,"82794":4,"82837":4,"82843":4,"82861895859241":4,"828619":4,"82904":4,"829692327d0c603dfb15dca2e3dcdc44":4,"82976":4,"83":4,"83112":4,"8343":4,"835219":4,"83521938323975":4,"83585":4,"83743":4,"837696":4,"83826":4,"83999758043734":4,"84":4,"84011086793195":4,"840111":4,"84106":4,"84128":4,"84177":4,"842932":4,"845":4,"8467":3,"85":4,"8564":4,"8583686500788":4,"858369":4,"858639":4,"859":4,"86":4,"86335265636444":4,"863353":4,"863874":4,"86865":4,"87":4,"87291":4,"873":4,"8787":[2,3,4,5],"87888ed8bcd035009a957c5f725c0368":5,"87904dde":5,"879581":4,"87967":4,"88":4,"887":4,"89":4,"8917":4,"895288":4,"89676":4,"89886":4,"8arrai":4,"8d96":2,"8e5a":3,"8f3e":4,"8f99":5,"8long_nam":4,"9":[2,4,5],"90":[3,4],"900":4,"900524":4,"90146":4,"906":3,"9080867022276":4,"908087":4,"9094":4,"90967":4,"90976":4,"90979":4,"90982":4,"90984":4,"91":[2,4],"9108167588711":4,"910817":4,"912":4,"9124":4,"9144":4,"915":2,"91623":4,"91876":4,"91898":4,"91922":4,"9195":4,"91986":4,"92":4,"92017":4,"921":4,"921466":4,"92325":4,"92325001955032":4,"924":4,"9273":4,"93422100168527":4,"936":4,"937173":4,"94":[3,4],"941042":4,"94104236364365":4,"94125":4,"94614":4,"947":4,"94705":4,"94999253261636":4,"95":2,"95004":4,"95282074809074":4,"952821":4,"95288":4,"957":4,"9575353946674":4,"958115":4,"95905524122088":4,"96":2,"9626":4,"96402":4,"964462":4,"9644624069333":4,"967":4,"96754":4,"971435323705299ff3d752a5ef032e55":4,"97342":4,"973822":4,"97466":4,"976":4,"979058":4,"97a7":4,"98":4,"9819":4,"9821":4,"98384":4,"985":4,"9856":5,"99":3,"992":4,"9923":5,"992574":4,"992574095726":4,"99403876066208":4,"994039":4,"994764":4,"9967":4,"99850353":5,"99914389":5,"99942":4,"99945256":5,"99947898":5,"99949655":5,"99965519":5,"9996558628726":4,"999656":4,"99973685":5,"99976664":5,"99992315":5,"99992731":5,"9b3a":5,"9b5faab08effd0aadf63fc0961f0ec76":5,"9f9ac2bf8341":3,"9x":4,"9x1":4,"\u00b5s":4,"byte":[2,4,5],"case":[0,1,4,5],"default":5,"do":[2,4,5],"export":[3,4],"final":0,"float":4,"function":[1,2,3,4,5],"import":[0,2,3,4,5],"long":[1,3,6],"new":4,"public":3,"return":[2,4,5],"true":[2,3,4,5],"try":[2,3],"var":4,"while":[0,1,6],A:[1,2,3,4,5],AS:4,And:1,As:[2,3,4,5],At:4,BUT:4,BY:6,But:[1,2,3,5],By:[0,2,4],For:[0,1,2,3,4,5],If:[0,1,3,4,5],In:0,It:[2,3,4,5],NOT:3,Or:[3,5],The:[0,1,2,3,4,6],There:[2,4],These:1,To:[1,2,3,4,5],With:4,_ztqq3w4:4,a459aafa:2,a4b540d3:5,a6c5fea69b791b9738ccc6ae9cc7b754:4,abf8nxe7:5,abl:0,about:[0,1,2,3,4,5],abov:[1,2,3,4,5],access:[3,5],accord:3,accross:5,across:[2,3,4],activ:[0,4],actual:[2,4],adapt:[2,6],add:[1,4],addit:[0,1,4],adpt:3,adpt_flag:3,advanc:0,advis:2,affect:[2,4],after:[0,2,4],agg:3,aggreagt:4,aggreg:[3,4,5],aim:3,air:4,airport:3,all:[0,1,2,3,5,6],allow:[0,1,2,3,4,5],almost:5,alon:3,along:4,also:[0,1,3,4,5],altern:2,although:3,alwai:[1,3,4,5,6],amount:5,an:[0,1,3,5],analysi:[1,4],analyz:3,ani:[1,2,3,5],annual:4,anomali:4,anoth:[1,2,4],anyon:0,anyth:2,ap:3,apach:6,api:[1,2,3,4,5],appli:[0,3,4],applic:3,appropri:[2,5,6],ar:[0,1,2,3,5,6],arbitrari:[1,4],archiv:6,argument:[2,3,4,5],around:[3,4],arrai:[0,1,3,5],ascend:3,ask:[1,2,3],aslp:3,aslp_flag:3,assign:[1,5],associ:4,astp:3,astp_flag:3,async:3,atm:4,atmosphere_hybrid_sigma_pressure_coordinateformula_term:4,attach:[2,4],attr:4,attribut:4,author:6,auto:4,autom:4,automat:5,avail:[0,2,3,4,5],averag:[3,4],avoid:[2,4],awai:[2,4],await:5,awar:4,awbt:3,awbt_flag:3,awnd:3,awnd_flag:3,ax:[3,4],axi:[2,4,5],b0222e5f5670:5,b138:3,b376d457af800028faa60fbb881274e7:4,b78db7e389278ff8df22805186deb05f:4,b93e:2,b:[3,4],back:4,backend:5,background:[1,4],bag:[1,5],base:[3,4],basic:[0,1,2,4,5],becaus:[1,3,5],becom:3,been:[2,3],befor:[2,3,4],begin:3,behind:0,being:2,below:[0,2,3,4],ben:0,benefit:1,best:[0,1,2,4,5],better:[3,4],between:[0,2,3,5],bhistsmbb:4,big:[1,2,3,4],big_chunk:2,big_da:2,big_np:2,big_shap:2,bigger:2,binderhub:5,blockwis:[3,4,5],blog:[1,2,3,4],blueprint:2,book:[0,6],both:[3,4],bottleneck:[1,2],boulder:3,boulder_snow:3,boundsunit:4,brian:0,bssp370smbb:[3,4],bug:[1,2,3,4],build:[1,2],built:[3,4],button:[3,5],c:3,calcul:[2,3,5],calendar:4,call:[1,2,3,4,5],cam:[3,4],camcas:4,can:[0,1,2,5],cancel:3,cancellederror:3,capabl:[2,4],categori:3,caus:5,cbh9mjb1:3,cc:6,ccd29390:4,cd5a:3,cd:0,cell:[0,2],cell_method:4,celsiu:4,central:5,cesm2:4,cesm:4,cesm_input:4,cf:4,cftime:4,cftimeindex:4,ch4:4,ch4vmr:4,challeng:1,chang:[0,2,4],chapter:[0,4],cheap:5,check:[2,4],cherian:0,choic:[2,3,5],choos:2,chunk:[3,4,5],chunk_shap:2,chunk_typ:[4,5],chunksiz:[4,5],cisl:0,clapeyron:4,clausiu:4,cleanup:3,clear:0,click:[0,3,5],client:[1,4,5],climat:3,climatolog:3,clone:0,close:[2,5],closest:4,cloud:[0,1,5],cluster:[0,1,2],co2:4,co2vmr:4,co:3,co_sit:3,code:[0,1,2,3,4,5,6],coeffici:4,coldest:3,collect:[0,5],colorado:3,column:3,com:[0,3,4],combin:[2,4],comfort:2,comm:[2,3,4,5],comma:3,command:[1,3],commclosederror:5,common:[2,3,6],commun:[3,4,5,6],compar:[2,5],compehns:3,compil:1,complet:[0,1,2,5],complevel:4,complex:[1,3,4,5],compon:[3,5],compos:[1,3,5],comprehens:0,comput:[0,1,2,5],computed_anom:4,concat:3,concat_dim:4,concaten:[3,4],concept:[0,2,3,4],conceptu:3,concis:[0,2],concurr:[1,5],conda:0,config:5,configur:5,confus:2,conjunct:3,connect:[2,3,4,5],connectionpool:5,consid:1,consist:[1,5],construct:[2,3],consumpt:6,contain:[3,4],content:[5,6],contributor:[1,2,3,4,5],control:1,conveni:4,convent:4,convert:[2,4],convert_stream_closed_error:5,cookbook:[3,4,5],coord:4,coordin:[3,4,5],core:[0,1,3,4,5],corner:0,coro:[3,5],correspond:5,cost:4,could:[1,3],count:3,counterpart:0,cover:5,cpu:[2,3,4,5],creat:[0,1,2,4],creation:4,creativ:6,credit:[1,2,3,4,5,6],csg:0,csh:3,csv:3,current:[4,5],custom:[1,4],d67h1h0v:4,d67h1h0vtime_period_freq:4,d:3,da:[2,4,5],dai:[3,4],daili:3,dapr:3,dapr_flag:3,darr:2,dasf:3,dasf_flag:3,dashboard:[1,2,3,4,5],dashboard_link:5,dask:6,data:[0,1,5],data_dir:[3,4],data_for_cesm:[3,4],dataarrai:4,datafram:[0,1,4,5],dataframe_typ:3,dataframeiolay:3,dataframetreereduct:3,datarrai:4,dataset:[0,1,2,5],datasetdimens:4,datatyp:3,date:[3,4],date_written:4,datesec:4,datetim:4,datetime64:3,datetimenoleap:4,dcb7dd8641f3d2e3df1e730e4f0454cd:3,dce1f761:2,dd:3,ddf:3,debug:[1,5],decemb:3,decod:4,decode_cf:4,decor:1,decreas:3,deepak:0,def:[2,3,4],defin:[2,3],degc:4,degcxarrai:4,degre:[3,4],degrees_east:4,degrees_eastarrai:4,degrees_eastbound:4,degrees_northarrai:4,del:3,delai:[1,4,5],delet:3,denver:3,depend:[2,3,4,5],deploi:5,depth:[0,2,3,5],deriv:[0,1],descend:3,describ:[0,4],descript:[3,4],deseri:5,design:[1,3,4,5],detail:[0,4],detect:5,develop:[1,5],deviat:[2,3],df:3,dia:3,diagnost:5,dict:4,dictionari:[2,4],differ:[0,1,2,3,4,5],difficult:1,dim:4,dim_0:4,dim_1:4,dim_1xarrai:4,dimens:[2,4],dimension:[0,4],direct:5,directli:[2,4],directori:[0,2,3,4,5],discours:1,discret:1,discuss:[0,1,2,3,4],disk:2,displai:[2,3,4],display_expand_data:4,distribut:[0,1,2,3],divid:2,doc:[1,2,3,4,5],docker:3,document:[2,4,5],doe:[2,3,5],doesn:2,doi:[4,6],domain:4,don:[1,2,3,4],done:3,download:4,downstandard_nam:4,drop:[2,3],drop_dupl:3,ds:4,dtype:[3,4,5],du:3,due:3,dummi:4,duplic:3,dure:[2,3,5],dx:3,dynam:5,e023c706d39dce73c2db730a6e96552b:3,e21:[3,4],e3ed7dba73e58fd04680769ffcdbe54f:3,e657b5501bb4b118924250c4eb971102:3,e:[0,3,4,5],ea9b6860fd613ff87e2d51c4fd9ddad3:4,each:[2,3,4,5],earli:[3,4],earth:4,easi:[0,1,5],easier:3,easili:[1,3],ecosystem:1,eed:2,eexeqcoxsr51i6ma:[3,4],effect:[2,6],effici:[0,1,2,3,4],effort:5,either:[0,1,2,4,5],element:[2,3,4],elev:3,embarrassingli:4,enabl:[0,1,3,4],encod:4,end:[1,3],endpoint:4,enforc:3,engin:4,enough:[2,3,4,5],ensembl:4,enter:0,entri:[1,5],env:[0,3,4,5],environ:[0,1,5],equal:4,equat:4,equival:[2,4],error:[3,5],es:4,esd:0,especi:[3,4],essenti:[4,5],etc:4,evalu:[2,4],even:[0,1,4],everi:1,exactli:3,examin:4,exampl:[0,1,2,3,4,5],exc:5,exce:1,except:[4,5],excersis:3,execut:[0,1,2,3,4,5],exist:1,exp:[3,4],expens:[2,3],explain:[0,2],explicit:2,explicitli:[2,3,4],explor:[0,2,5],express:4,extens:0,extract:4,extrem:4,f09_g17:[3,4],f11:4,f11vmr:4,f12:4,f12vmr:4,f5a6416afc1782a1e95d5966b17d38c7:4,f86d7279a6eb1e8b525fd433a35f8212:4,f9389cf9:4,f:[0,2,3,5],fail:[3,5],fals:[3,4],familiar:3,far:[2,3,4,5],fast:4,faster:[1,3],fayettevil:3,fc618fa9e0f9da5fad972d432fc39efc:4,fcd354190bfc78379462c584cbc9370e:3,fcff2bc406d6dda16db386acc5820ffc:3,featur:[1,2,3,4,5],feb:3,februari:0,feedback:1,feel:3,figur:0,file:[0,5],fill:[3,5],filter:[3,4],find:[3,4,5],finer:1,first:[0,2,3,4],fit:[1,2,3,4],five:3,fletcher32:4,flexibl:3,float32:4,float32dask:4,float640:4,float641:4,float642:4,float643:4,float6440:4,float64:[2,3,4,5],float64dask:4,fmt_size:5,fmtm:3,fmtm_flag:3,focu:0,folder:4,follow:[0,1,2,3,4,5],footprint:2,form:[1,5],format:2,forum:1,four:4,frame:3,frames_nbyt:5,free:6,freq:4,from:[0,1,2,3,5],from_arrai:[1,2,4],from_sequ:1,full:[2,5],fulli:[2,4],fundament:[0,4],futur:[1,5],fv_0:4,g:[3,4],gain:1,gb:4,gener:[1,2,3,4],geoscienc:1,get:[0,1,2],get_data:[3,4],getitem:3,getsizeof:[2,3],ghcn:3,ghcnd:3,gib:[2,3,4,5],git:0,github:[0,1,2,3,4,6],give:[1,2,3,4,6],given:3,glob:[3,4],global:3,go:[3,4,5],goe:2,good:[2,3],googl:[3,4],graph:[1,3,4,5],great:[3,4],group:[3,5],groupbi:[3,4],gt:[3,4],guid:[0,4],guidelin:1,gw:4,h0:[3,4],h5netcdf:4,ha:[2,3,4,5],handl:[1,2,3,5],hardwar:1,has_year_zero:4,hash:3,hate:3,have:[0,1,2,3,4,5],head:3,header:3,heard:3,heartbeat:5,heartbeat_work:5,height:4,held:0,help:[1,2,3],here:[0,1,2,3,4,5],high:[3,4,5],higher:1,highest:3,highlevelgraph:[3,4,5],histor:3,hold:[2,4],home:4,hood:4,hope:0,host:[1,4,5],how:[0,1,2,3,5],howev:[2,3],hpaposit:4,hpc:[0,1,4,5],http:[0,2,3,4,5],hyai:4,hyam:4,hybi:4,hybm:4,hybrid:4,i:[0,3,4],icon:0,id:[3,4],ideal:2,identifi:1,idxmax:3,idxmin:3,ilev:4,ilevpandasindexpandasindex:4,illustr:[2,4],imag:[1,2,3,4,5],improv:[1,3],in_var:[2,3],includ:[0,1,3,4,5],increas:3,increasingli:1,independ:4,index:[3,4],index_col:3,individu:4,infer:3,info:[2,3,4,5],inform:[1,3,4,5],infrastructur:5,initi:[0,2],initial_fil:4,inplac:4,insid:3,insight:[0,1,5],instead:[2,4],instruct:3,int32:4,int32dask:4,int642:4,int64:[3,4],integr:[0,1],intens:3,interact:[0,1,3,5],interest:0,interfac:[3,4,5],intern:3,interpretor:[1,5],interv:4,intl:3,intro:4,introduc:[1,4,5],io:2,iostream:5,ipywidget:3,irradianceunit:4,is_materi:[3,4,5],isel:4,isn:4,isol:5,issu:[1,2,3,4],its:[0,4],jan:4,januari:3,job:[1,5],jobqueu:5,join:[3,4],journal:3,jupyt:0,jupyterlab:[0,2,3,4,5],just:[2,3,4,5],k:[2,3,4],keep:[1,3],kei:[0,3,4,5],kelvin:4,kib:[4,5],kirk:0,klong_nam:4,know:[0,3],known:[1,3],kubernet:5,kwarg:5,lab:0,label:[0,4],labextens:[3,5],languag:1,laptop:1,larg:[0,1,2,3,4,5],larger:[1,4],last:[3,4,5],lat:4,later:[2,4],latest:6,latitud:[3,4],latitudeunit:4,latpandasindexpandasindex:4,launch:[0,2,3,4,5],layer10:[3,4],layer11:[3,4],layer12:4,layer13:4,layer14:4,layer15:4,layer16:4,layer17:4,layer18:4,layer19:4,layer1:[3,4,5],layer20:4,layer21:4,layer22:4,layer2:[3,4,5],layer3:[3,4,5],layer4:[3,4,5],layer5:[3,4],layer6:[3,4],layer7:[3,4],layer8:[3,4],layer9:[3,4],layer:[2,3,4,5],layer_typ:[3,4,5],lazi:[2,4],le2:[3,4],learn:0,least:4,len:[3,4],length:4,let:[2,3,4],lev:4,level:[2,3,4,5],levpandasindexpandasindex:4,lh:3,lib:[3,4,5],librari:[0,1,4],licens:6,like:[1,2,3],limit:5,line2d:4,line:[2,4,5],link:[3,5],list:[1,3],littl:3,live:[0,5],ll:[0,3],load:[2,3,4],loc:3,local:[0,1,2],localclust:[2,4,5],lognam:4,lon:4,long_nam:4,longer:2,longitud:[3,4],longitudeunit:4,lonpandasindexpandasindex:4,look:[0,2,3,4],loop:[1,3],lot:5,low:[2,4],lr:2,ls:3,lt:[3,4],lustr:4,m2:4,m7vmc_d7:5,m8:3,machin:[1,2,3,4],magic:2,mai:[1,2,4],main:[0,1,5],make:[0,1,2,3],manag:[1,3],mani:[1,3,5],manipul:3,map:4,massiv:1,materi:[0,5,6],materializedlay:[3,4,5],matplotlib:[3,4],max:[3,4],maximum:3,mb:[2,3,4],mckinnei:3,mdpr:3,mdpr_flag:3,mdsf:3,mdsf_flag:3,mdt:4,mean:[1,2,3,4,5,6],mean_agg:[4,5],mean_chunk:[4,5],mean_combin:[4,5],mean_of_ones_da:2,mean_tmax:3,mean_tmax_result:3,meanxarrai:4,measur:2,median:3,member:4,memori:[1,2,3,4,5],mention:5,merg:3,meta:4,metadata:4,method:[2,3,4,5],mib:[2,4],midpoint:4,might:[2,3],million:4,mimic:1,mind:1,miniconda3:[3,4,5],minim:1,minimum:[3,4],minut:[3,4],mislead:3,miss:3,mistak:3,mix:4,mm:3,mnt:4,mode:2,model_doi_url:4,modern:3,mom1:4,mom1initial_fil:4,moment:0,month:[3,4],month_1:4,month_1xarrai:4,monthli:4,more:[0,1,2,3,4,5],most:[1,3,4,5],mous:0,move:0,ms:[2,3,4,5],much:[2,3,4,5],multi:[0,1,4,5],multipl:[0,5],multiprocess:5,multithread:5,must:[1,5],my:1,n1:3,n2o:4,n2ovmr:4,n:4,name:[3,4,5],nan:[3,4],nanni:[2,3,4,5],narr:2,navig:0,nbdate:4,nbnd:4,nbsec:4,nbyte:2,nc:[3,4],ncar:[0,3,4,5],ncmodel_doi_url:4,nctopography_fil:4,ndarrai:[2,4,5],ndbase:4,ndcur:4,nearest:4,necessari:[1,2,3,4],need:[0,1,2,3,4,5],negin:0,nest:4,netcdf4:4,netcdf:0,network:3,new_chunk_shap:2,next:[1,3,4],noaa:3,node:[1,2],noleap:4,non:[1,2,3,6],none:3,nor:2,normal:5,north:4,notat:3,note:[1,2,3,4,5],notebook3:4,notebook:[2,3,4],notic:[3,4,5],now:[0,2,3,4,5],np:[2,4,5],npartit:3,ns:[2,3],nsbase:4,nscur:4,nsteph:4,number:[2,3,4,5],numpi:[0,1,2,5],o:3,obj:5,object2015:4,object:[2,3,5],objectdask:4,observ:3,off:[4,5],offer:5,offici:[3,4],often:[1,2,3,4,5],onc:[1,3,4],one:[1,2,3,4,5],ones:2,ones_da:2,ones_np:2,onli:[1,2,3,4,5],onlin:3,op:5,open:[1,4,6],open_dataset:4,oper:[1,2,4,5],optim:[1,2,4],option:[4,5],orchestr:1,order:[2,4],org:4,origin:4,original_shap:4,os:[3,4],other:[4,5],otr8ix7h:2,our:[1,2,3,4],out:[3,4],output:[0,3,4,5],output_dtyp:4,over:3,overal:3,overflow:[1,2,3,4],overhead:[1,2,3,4,5],overview:[3,5],overwrit:5,oyh3hie_:3,p0:4,pa:4,packag:[1,3,4,5],panda:[0,1,4],paper:[3,4],parallaliz:3,parallel:[0,1,2,3,5],paramet:4,parse_d:3,part:[1,5],partial:[4,5],particular:3,particularli:4,pass:[2,3,4,5],path:[3,4],pattern:4,pb:1,pbscluster:5,pd:3,per:[2,4],perform:[1,4,5],performac:2,performancewarn:4,persist:4,pgtm:3,pgtm_flag:3,piec:2,pipelin:4,place:2,plan:1,pleas:[0,2,3,4,5],plot:[2,3,4],point:[1,3,5],pool:5,poor:[2,3],popular:3,portion:1,possibl:[2,3,4],post:4,potenti:[1,2,4],power:[0,1,3,4],powerful:1,practic:[0,2,5],prcp:3,prcp_flag:3,precipit:4,prefer:5,preferred_chunk:4,prepar:4,preprocess:3,present:0,press:0,pressur:4,pressureunit:4,previou:[2,3,4],previous:2,print:[2,3,4,5],prior:3,probabl:1,problem:1,process:[0,1,2,3,4,5],profil:[1,5],program:0,progress:[1,5],project:[0,6],projectpythia:0,provid:[0,1,2,4,5],ps:4,psarrai:4,psun:3,psun_flag:3,pure:5,py:[3,4,5],pyarrow:3,pythia:[0,6],python3:[3,4,5],python:[1,3,4,5],quadmesh:4,question:[1,2,3,4],queu:4,r:[3,5],rais:5,ram:[2,3,4],rand:4,random:[4,5],rankdir:2,rather:2,ratio:4,raw:3,re:[3,4],read:[1,5],read_byt:5,read_csv:1,real:[1,3,4],realli:2,rearrang:3,receiv:[3,4],recent:5,rechunked_big_da:2,recommend:[4,5],record:3,recreat:2,reduc:[2,3],refer:[0,1,5],regard:[0,2,4],rel:5,relat:[2,4,5],relationship:2,releas:6,remain:[2,4],remaind:2,rememb:[2,3,4,5],remot:[1,5],repeat:3,repeatedli:4,replac:[2,4],report:[1,2,3,4],repositori:0,repres:[2,4],represent:[2,3,4],represnt:4,request:[1,2,3,4],requir:[2,3,4,5],resampl:4,research:3,resid:2,resolv:[1,6],resourc:[0,5],respons:[1,5],restructur:1,result:[2,4],retri:5,retry_oper:5,reus:6,rewrit:1,rhav:3,rhav_flag:3,rhmn:3,rhmn_flag:3,rhmx:3,rhmx_flag:3,right:[0,2],rocket:0,roll:4,rolling_mean:4,roughli:2,routin:1,row:3,rule:[2,3,4],run:[1,2,3,4,5],runner:[3,4],rw:3,s8:4,s8dask:4,s:[2,3,4,6],same:[2,3,4,5],sampl:3,sat_p:4,satur:4,saturncloud:2,save:[1,3,4],saw:4,scalabl:5,scalar:3,scale:[0,1,5],scenario:4,sch:5,schedul:[2,3,4],scienc:[1,4],scientist:3,scratch:[2,3,4,5],script:[1,3],sea:4,seamless:1,search:[3,5],second:[0,2,4,5],see:[0,2,3,4],segment:1,sel:4,select:[0,3,4,5],self:[4,5],send:5,send_recv:5,send_recv_from_rpc:5,separ:[1,5],seper:3,seri:[0,1,2,3,4,5],serial:[1,5],series_dtyp:3,serv:[1,2,5,6],session:5,set:[0,2,3,4,5],set_index:3,set_opt:4,sever:[1,2,3,5],sge:1,sh:[3,4],shape:[2,4,5],share:[4,5,6],shift:0,ship:0,should:[0,1,2,3,4],show:[3,4],shown:3,shuffl:4,shutdown:[3,4,5],signific:1,significantli:[2,4],similar:[1,2,3,4],similarli:4,simpl:[4,5],simplest:0,simpli:[0,1,4,5],sinc:[3,4,5],singifincantli:2,singl:[1,3],site:[3,4,5],situat:[3,5],size:[2,4,5],slice:[3,4],slower:5,slurm:1,small:[1,2,3,4],smaller:[2,3],sn32:3,sn32_flag:3,snow:3,snow_flag:3,snowy_dai:3,snwd:3,snwd_flag:3,so:[2,3,4,5,6],sobhani:0,sol_tsi:4,solar:4,solut:1,solv:3,some:[0,1,2,3,4,5],someth:1,sometim:3,soon:[3,4],sophist:5,sort:[3,4],sort_valu:3,sourc:[1,2,4,6],space:[2,3,4,5],spatial:4,specif:3,specifi:[2,4,5],speed:[1,4],spent:1,split:2,spread:[3,5],sst:4,sst_da:4,sst_np:4,sst_xr:4,stack:[1,2,3,4],stage:4,stand:2,standard:[2,3],start:[0,3,4],state:3,state_machin:3,station:3,statist:2,statu:[2,3,4,5],std:3,std_tmax:3,std_tmax_result:3,step:[0,1,4],still:[3,4,5],stn:3,stream:[2,5],streamclosederror:5,string:[3,4],structur:[1,3],sub:2,submit:[1,5],subset:[1,2,3,4,5],substanti:1,suitabl:5,sum:[2,3,4],sunseon:4,sunseonhost:4,support:[2,4],sure:0,surfac:[3,4],sx32:3,sx32_flag:3,sy:[2,3,4,5],symbol:2,sync:5,synchron:5,system:[0,1,5],t0:5,t1:5,t:[1,2,3,4],tabular:3,tag:[1,2,3,4],tail:3,take:[1,2,3,4,5],talk:[2,5],task:[3,4],tavg:3,tavg_flag:3,tb:4,tcp:[2,3,4,5],team:0,tell:[2,3,4],temperatur:[3,4],temperaturecell_method:4,tempor:4,term:1,test:5,text:4,than:[2,3],thei:[2,3],them:[0,2,3,4],thi:0,thing:[3,4],think:1,third:[2,4],those:[2,5],though:2,thousand:1,thread:[2,3,4],three:4,through:[0,2,3,5],thumb:[2,3,4],time:[1,2,3,4,5],time_bnd:4,time_bndsarrai:4,time_period_freq:4,time_written:4,timebound:4,timepandasindexpandasindex:4,timeseri:4,timestamp:3,timestep:4,timestepunit:4,tip:[2,4],tmax:3,tmax_flag:3,tmean:4,tmin:3,tmin_flag:3,tmp:[2,3,4,5],to_numpi:4,to_pyarrow_str:3,tob:3,tobs_flag:3,too:[1,3,4,5],tool:[0,3,4],top:[0,3],topic:0,topo:4,topography_fil:4,tornado:5,tos_anom:4,total:[2,3,4,5],traceback:5,transpar:4,tref:4,tref_bould:4,tref_c:4,tref_group:4,tref_mean:4,trefht:[3,4],trigger:[2,3,4],troubleshoot:1,tsun:3,tsun_flag:3,turn:4,tutori:0,two:[1,4,5],type:[1,2,3,5],typic:[1,2,5],uc:[3,4],under:[4,6],underli:3,understand:0,uniform:[2,4],uniqu:3,unit:[3,4],unlik:[2,3],unstructur:1,until:[0,2,3,4],unvector:4,up:[0,1,2,5],us:[0,2,5],usag:[1,2,3,4],usc00023160:3,usc00027281:3,usc00027390:3,usc00030936:3,usc00031596:3,usc00032444:3,usc00035186:3,usc00035754:3,usc00035820:3,usc00035908:3,usc00042294:3,usc00044259:3,usc00048758:3,usc00050848:3,usc00051294:3,usc00051528:3,usc00051564:3,usc00051741:3,usc00052184:3,usc00052281:3,usc00052446:3,usc00053005:3,usc00053038:3,usc00053146:3,usc00053662:3,usc00053951:3,usc00054076:3,usc00054770:3,usc00054834:3,usc00055322:3,usc00055722:3,usc00057167:3,usc00057337:3,usc00057936:3,usc00058204:3,usc00058429:3,usc00059243:3,usc00068138:3,usc00080211:3,usc00084731:3,usc00088824:3,usc00098703:3,usc00100010:3,usc00100470:3,usc00105275:3,usc00106152:3,usc00107264:3,usc00108137:3,usc00110338:3,usc00112140:3,usc00112193:3,usc00112348:3,usc00112483:3,usc00113335:3,usc00114108:3,usc00114442:3,usc00114823:3,usc00115079:3,usc00115326:3,usc00115712:3,usc00115768:3,usc00115833:3,usc00115901:3,usc00115943:3,usc00116446:3,user:[0,1,2,3,4,5],usr:[3,4,5],usual:[1,2,5],usw00003017:3,util:4,utils_comm:5,valu:3,vanderwend:0,vapor:4,var_siz:[2,3],variabl:[2,3,4],variou:5,vector:[3,4],veri:[1,2,3,4,5],version:2,via:[0,1],view:[0,3],visit:[3,4,5],visual:[2,3,4],volum:4,vs:1,vxo5z8au:2,w:4,wa:[0,1,2,3,5],wai:[0,1,2,4,5],wait:1,wall:[2,3,4,5],want:[2,3,4],warn:[2,3,4],warrant:5,wdf2:3,wdf2_flag:3,wdf5:3,wdf5_flag:3,we:[0,1,2,3,4,5],websit:[3,4],weight:4,well:[0,1,5],wesd:3,wesd_flag:3,what:[2,4],when:[2,4,5],whenev:3,where:[2,3,4,5],whether:1,which:[0,1,2,3,4,5],whole:2,why:[2,3,5],within:4,without:[1,4,5],work:[0,1,2,3,4,5],worker:[1,2,3,4,5],worker_state_machin:3,workflow:[0,1],world:3,worsen:2,worth:1,would:4,wrap:1,wrapper:4,write:[1,4],written:4,wsf2:3,wsf2_flag:3,wsf5:3,wsf5_flag:3,wt01:3,wt01_flag:3,wt02:3,wt02_flag:3,wt03:3,wt03_flag:3,wt04:3,wt04_flag:3,wt05:3,wt05_flag:3,wt06:3,wt06_flag:3,wt07:3,wt07_flag:3,wt08:3,wt08_flag:3,wt09:3,wt09_flag:3,wt10:3,wt10_flag:3,wt11:3,wt11_flag:3,wt13:3,wt13_flag:3,wt14:3,wt14_flag:3,wt15:3,wt15_flag:3,wt16:3,wt16_flag:3,wt17:3,wt17_flag:3,wt18:3,wt18_flag:3,wt19:3,wt19_flag:3,wt21:3,wt21_flag:3,wt22:3,wt22_flag:3,wv01:3,wv01_flag:3,wv03:3,wv03_flag:3,x27:[3,4],x:3,xarrai:[0,1],xd:5,xlabel:3,xn:5,xr:4,xx0:3,xx:3,xxx:3,y:3,yd:5,year:3,yet:[2,3],ylabel:3,yml:0,yn:5,you:[0,6],your:[1,2,5],yyyymmdd:4,z_da:2,z_da_rechunk:2,z_np:2,zenodo:6,zero:2,zlib:4,zlon:4,zlon_bnd:4,zlon_bndsarrai:4,zlonpandasindexpandasindex:4},titles:["Dask Cookbook","Dask Overview","Dask Array","Dask DataFrame","Parallelizing Xarray with Dask","Dask Schedulers","How to Cite This Cookbook"],titleterms:{"1":[1,5],"2":[1,5],"do":3,In:[1,2,3,4,5],The:5,access:4,acknowledg:0,advanc:4,algorithm:2,all:4,an:[2,4],analysi:3,apply_ufunc:4,ar:4,arrai:[2,4],ask:4,author:0,automat:4,avoid:[1,3],basic:3,best:3,binder:0,block:[2,4],blocksiz:3,built:1,cach:3,calcul:4,can:[3,4],check:3,chunk:2,cite:6,client:[2,3],close:[3,4],cluster:[3,4,5],collect:[1,4],comparison:2,compon:1,comput:[3,4],concret:4,construct:4,content:0,contributor:0,cookbook:[0,6],creat:[3,5],dask:[0,1,2,3,4,5],data:[2,3,4],datafram:3,dataset:[3,4],diagnost:1,did:3,distribut:[4,5],document:3,download:3,dynam:1,evalu:3,familiar:1,file:[3,4],first:1,flexibl:1,from:4,full:3,get:4,good:4,graph:2,grid:4,help:4,high:1,how:[4,6],interfac:1,intermedi:3,introduct:[1,3,4,5],larger:[2,3],lazi:3,learn:[1,2,3,4,5],let:5,level:1,like:4,local:[3,4,5],localclust:3,low:1,machin:[0,5],manag:5,mani:4,materi:[2,4],motiv:0,multipl:[3,4],netcdf:4,nice:3,non:4,note:0,notebook:0,numpi:4,object:4,open_mfdataset:4,oper:3,orchestr:5,origin:0,our:5,over:4,overview:[1,4],own:0,panda:3,parallel:4,partit:3,perform:[2,3],persist:3,point:4,practic:[3,4],prerequisit:[3,4],quick:4,read:[3,4],read_csv:3,rechunk:2,refer:[2,3,4],relat:3,resourc:[1,2,3,4],result:3,rule:1,run:0,s:5,scalabl:1,scale:3,schedul:[1,5],setup:[2,4],share:3,shuffl:3,simpl:3,singl:[4,5],size:3,smart:3,spin:4,start:[2,5],structur:[0,4],summari:[2,3,4],supplementari:[2,4],task:[1,2,5],thi:[1,2,3,4,5,6],thread:5,tip:3,tool:1,tutori:[1,2,3,4,5],type:4,underli:4,up:[3,4],us:[1,3,4],valu:4,what:[1,3],when:[1,3],why:1,wise:3,workflow:4,wrap:4,xarrai:4,you:[1,2,3,4,5],your:[0,3]}}) \ No newline at end of file
            - Comm: tcp://127.0.0.1:44719 + Comm: tcp://127.0.0.1:34557 Total threads: 1 @@ -1309,7 +1309,7 @@

            Worker: 1

            - Dashboard: http://127.0.0.1:41093/status + Dashboard: http://127.0.0.1:45487/status Memory: 3.38 GiB @@ -1317,13 +1317,13 @@

            Worker: 1

            - Nanny: tcp://127.0.0.1:40713 + Nanny: tcp://127.0.0.1:34619
            - Local directory: /tmp/dask-scratch-space/worker-__dyr2ue + Local directory: /tmp/dask-scratch-space/worker-abf8nxe7