Skip to content

Instantly share code, notes, and snippets.

@mrocklin
Last active December 25, 2025 02:42
Show Gist options
  • Select an option

  • Save mrocklin/5734c47cdf8c9d50d19a18cb6d931ace to your computer and use it in GitHub Desktop.

Select an option

Save mrocklin/5734c47cdf8c9d50d19a18cb6d931ace to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Climatology Benchmark with Dask Array Expressions\n",
"\n",
"Tests dask array expression support with real ERA5 climate data (~18GB).\n",
"\n",
"**Setup**: First cell downloads data locally (one time).\n",
"\n",
"**Structure:**\n",
"1. Working Workflow - operations that work today\n",
"2. Aspirational Workflow - full climatology (documents gaps to fix)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dask: /Users/mrocklin/workspace/dask/dask/__init__.py\n",
"Expressions: True\n"
]
}
],
"source": [
"import sys\n",
"sys.path.insert(0, '../dask')\n",
"\n",
"import dask\n",
"dask.config.set({'array.query-planning': True})\n",
"\n",
"import xarray as xr\n",
"import time\n",
"from pathlib import Path\n",
"\n",
"print(f\"Dask: {dask.__file__}\")\n",
"print(f\"Expressions: {dask.config.get('array.query-planning')}\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using cached data: era5_local/era5_sst_3yr.zarr\n"
]
}
],
"source": [
"# Data locations\n",
"LOCAL_ZARR = Path(\"era5_local/era5_sst_3yr.zarr\")\n",
"GCS_ZARR = \"gs://weatherbench2/datasets/era5/1959-2023_01_10-wb13-6h-1440x721.zarr\"\n",
"TIME_RANGE = slice(\"2020-01-01\", \"2022-12-31\")\n",
"\n",
"# Download locally if needed (~18GB, few minutes first time)\n",
"if not LOCAL_ZARR.exists():\n",
" print(\"Downloading ERA5 data (~18GB, one time)...\")\n",
" LOCAL_ZARR.parent.mkdir(exist_ok=True)\n",
" ds = xr.open_zarr(GCS_ZARR)[[\"sea_surface_temperature\"]].sel(time=TIME_RANGE)\n",
" ds.chunk({\"time\": 100}).to_zarr(LOCAL_ZARR, zarr_format=2)\n",
" print(\"Done!\")\n",
"else:\n",
" print(f\"Using cached data: {LOCAL_ZARR}\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data: (4384, 721, 1440), 18.2 GB\n"
]
}
],
"source": [
"# Load data\n",
"ds = xr.open_zarr(LOCAL_ZARR)\n",
"arr = ds[\"sea_surface_temperature\"]\n",
"print(f\"Data: {arr.shape}, {arr.nbytes / 1e9:.1f} GB\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in notebooks */\n",
"\n",
":root {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base rgba(0, 0, 0, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, white)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 15))\n",
" );\n",
"}\n",
"\n",
"html[theme=\"dark\"],\n",
"html[data-theme=\"dark\"],\n",
"body[data-theme=\"dark\"],\n",
"body.vscode-dark {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, #111111)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))\n",
" );\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
" line-height: 1.6;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-obj-name,\n",
".xr-group-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-group-name::before {\n",
" content: \"📁\";\n",
" padding-right: 0.3em;\n",
"}\n",
"\n",
".xr-group-name,\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
" margin-block-start: 0;\n",
" margin-block-end: 0;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: inline-block;\n",
" opacity: 0;\n",
" height: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
" border: 2px solid transparent !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:focus + label {\n",
" border: 2px solid var(--xr-font-color0) !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: \"►\";\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: \"▼\";\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-top: 4px;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-group-box {\n",
" display: inline-grid;\n",
" grid-template-columns: 0px 20px auto;\n",
" width: 100%;\n",
"}\n",
"\n",
".xr-group-box-vline {\n",
" grid-column-start: 1;\n",
" border-right: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
" width: 0px;\n",
"}\n",
"\n",
".xr-group-box-hline {\n",
" grid-column-start: 2;\n",
" grid-row-start: 1;\n",
" height: 1em;\n",
" width: 20px;\n",
" border-bottom: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
"}\n",
"\n",
".xr-group-box-contents {\n",
" grid-column-start: 3;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: \"(\";\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: \")\";\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: \",\";\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" border-color: var(--xr-background-color-row-odd);\n",
" margin-bottom: 0;\n",
" padding-top: 2px;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
" border-color: var(--xr-background-color-row-even);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-index-preview {\n",
" grid-column: 2 / 5;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" display: none;\n",
" border-top: 2px dotted var(--xr-background-color);\n",
" padding-bottom: 20px !important;\n",
" padding-top: 10px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in + label,\n",
".xr-var-data-in + label,\n",
".xr-index-data-in + label {\n",
" padding: 0 1px;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-index-data-in:checked ~ .xr-index-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-data > pre,\n",
".xr-index-data > pre,\n",
".xr-var-data > table > tbody > tr {\n",
" background-color: transparent !important;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-index-name div,\n",
".xr-index-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2,\n",
".xr-no-icon {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n",
".xr-var-data-in:checked + label > .xr-icon-database,\n",
".xr-index-data-in:checked + label > .xr-icon-database {\n",
" color: var(--xr-font-color0);\n",
" filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n",
" stroke-width: 0.8px;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt; Size: 18GB\n",
"Dimensions: (time: 4384, latitude: 721, longitude: 1440)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 35kB 2020-01-01 ... 2022-1...\n",
" * latitude (latitude) float32 3kB 90.0 89.75 ... -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 ... 359.5 359.8\n",
"Data variables:\n",
" sea_surface_temperature (time, latitude, longitude) float32 18GB dask.array&lt;chunksize=(1, 721, 1440), meta=np.ndarray&gt;</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-d94bdef0-f266-410b-ab9d-e803f148cc20' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d94bdef0-f266-410b-ab9d-e803f148cc20' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 4384</li><li><span class='xr-has-index'>latitude</span>: 721</li><li><span class='xr-has-index'>longitude</span>: 1440</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-ca339b9f-d876-4b25-bb75-4ce2b83b719b' class='xr-section-summary-in' type='checkbox' checked><label for='section-ca339b9f-d876-4b25-bb75-4ce2b83b719b' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2020-01-01 ... 2022-12-31T18:00:00</div><input id='attrs-68ae6c5f-6980-41db-ba26-f7127cabb1ea' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-68ae6c5f-6980-41db-ba26-f7127cabb1ea' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-51ee4018-8050-4902-8fd0-fc67d918db22' class='xr-var-data-in' type='checkbox'><label for='data-51ee4018-8050-4902-8fd0-fc67d918db22' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;2020-01-01T00:00:00.000000000&#x27;, &#x27;2020-01-01T06:00:00.000000000&#x27;,\n",
" &#x27;2020-01-01T12:00:00.000000000&#x27;, ..., &#x27;2022-12-31T06:00:00.000000000&#x27;,\n",
" &#x27;2022-12-31T12:00:00.000000000&#x27;, &#x27;2022-12-31T18:00:00.000000000&#x27;],\n",
" shape=(4384,), dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>latitude</span></div><div class='xr-var-dims'>(latitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>90.0 89.75 89.5 ... -89.75 -90.0</div><input id='attrs-c1fcaa1c-6670-4729-aa8b-21fbc4c8988b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c1fcaa1c-6670-4729-aa8b-21fbc4c8988b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-41987de0-e27a-4b48-bc8b-ea3b9e6063f5' class='xr-var-data-in' type='checkbox'><label for='data-41987de0-e27a-4b48-bc8b-ea3b9e6063f5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([ 90. , 89.75, 89.5 , ..., -89.5 , -89.75, -90. ],\n",
" shape=(721,), dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>longitude</span></div><div class='xr-var-dims'>(longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.0 0.25 0.5 ... 359.2 359.5 359.8</div><input id='attrs-905f79a0-23cb-4abf-97a4-9d2c1d589fe5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-905f79a0-23cb-4abf-97a4-9d2c1d589fe5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4a97ce1a-0841-46f5-9af2-f3db7db2ec0b' class='xr-var-data-in' type='checkbox'><label for='data-4a97ce1a-0841-46f5-9af2-f3db7db2ec0b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,\n",
" 3.5975e+02], shape=(1440,), dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-fcaca958-8c2d-4672-8ab8-0cd5acb9d667' class='xr-section-summary-in' type='checkbox' checked><label for='section-fcaca958-8c2d-4672-8ab8-0cd5acb9d667' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>sea_surface_temperature</span></div><div class='xr-var-dims'>(time, latitude, longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 721, 1440), meta=np.ndarray&gt;</div><input id='attrs-e70b77b6-4950-4f78-a55b-f64acf3ca6a2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e70b77b6-4950-4f78-a55b-f64acf3ca6a2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-efee0588-8326-4d19-860c-ca8d5f2a6dc9' class='xr-var-data-in' type='checkbox'><label for='data-efee0588-8326-4d19-860c-ca8d5f2a6dc9' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Sea surface temperature</dd><dt><span>short_name :</span></dt><dd>sst</dd><dt><span>units :</span></dt><dd>K</dd></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 16.96 GiB </td>\n",
" <td> 3.96 MiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (4384, 721, 1440) </td>\n",
" <td> (1, 721, 1440) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 4384 chunks in 1 expression </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"174\" height=\"161\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"10\" y1=\"41\" x2=\"80\" y2=\"111\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"41\" style=\"stroke-width:2\" />\n",
" <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"44\" />\n",
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"48\" />\n",
" <line x1=\"21\" y1=\"11\" x2=\"21\" y2=\"52\" />\n",
" <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"55\" />\n",
" <line x1=\"28\" y1=\"18\" x2=\"28\" y2=\"59\" />\n",
" <line x1=\"32\" y1=\"22\" x2=\"32\" y2=\"63\" />\n",
" <line x1=\"36\" y1=\"26\" x2=\"36\" y2=\"67\" />\n",
" <line x1=\"39\" y1=\"29\" x2=\"39\" y2=\"70\" />\n",
" <line x1=\"43\" y1=\"33\" x2=\"43\" y2=\"74\" />\n",
" <line x1=\"47\" y1=\"37\" x2=\"47\" y2=\"78\" />\n",
" <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"82\" />\n",
" <line x1=\"54\" y1=\"44\" x2=\"54\" y2=\"85\" />\n",
" <line x1=\"58\" y1=\"48\" x2=\"58\" y2=\"89\" />\n",
" <line x1=\"62\" y1=\"52\" x2=\"62\" y2=\"93\" />\n",
" <line x1=\"65\" y1=\"55\" x2=\"65\" y2=\"96\" />\n",
" <line x1=\"69\" y1=\"59\" x2=\"69\" y2=\"100\" />\n",
" <line x1=\"73\" y1=\"63\" x2=\"73\" y2=\"104\" />\n",
" <line x1=\"76\" y1=\"66\" x2=\"76\" y2=\"108\" />\n",
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"111\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,111.73043769865797 10.0,41.14220240454032\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"53\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"13\" y1=\"3\" x2=\"57\" y2=\"3\" />\n",
" <line x1=\"17\" y1=\"7\" x2=\"61\" y2=\"7\" />\n",
" <line x1=\"21\" y1=\"11\" x2=\"64\" y2=\"11\" />\n",
" <line x1=\"24\" y1=\"14\" x2=\"68\" y2=\"14\" />\n",
" <line x1=\"28\" y1=\"18\" x2=\"72\" y2=\"18\" />\n",
" <line x1=\"32\" y1=\"22\" x2=\"76\" y2=\"22\" />\n",
" <line x1=\"36\" y1=\"26\" x2=\"79\" y2=\"26\" />\n",
" <line x1=\"39\" y1=\"29\" x2=\"83\" y2=\"29\" />\n",
" <line x1=\"43\" y1=\"33\" x2=\"87\" y2=\"33\" />\n",
" <line x1=\"47\" y1=\"37\" x2=\"90\" y2=\"37\" />\n",
" <line x1=\"50\" y1=\"40\" x2=\"94\" y2=\"40\" />\n",
" <line x1=\"54\" y1=\"44\" x2=\"98\" y2=\"44\" />\n",
" <line x1=\"58\" y1=\"48\" x2=\"102\" y2=\"48\" />\n",
" <line x1=\"62\" y1=\"52\" x2=\"105\" y2=\"52\" />\n",
" <line x1=\"65\" y1=\"55\" x2=\"109\" y2=\"55\" />\n",
" <line x1=\"69\" y1=\"59\" x2=\"113\" y2=\"59\" />\n",
" <line x1=\"73\" y1=\"63\" x2=\"116\" y2=\"63\" />\n",
" <line x1=\"76\" y1=\"66\" x2=\"120\" y2=\"66\" />\n",
" <line x1=\"80\" y1=\"70\" x2=\"124\" y2=\"70\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"53\" y1=\"0\" x2=\"124\" y2=\"70\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 53.839630374182924,0.0 124.42786566830057,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"80\" y1=\"70\" x2=\"124\" y2=\"70\" style=\"stroke-width:2\" />\n",
" <line x1=\"80\" y1=\"111\" x2=\"124\" y2=\"111\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"111\" style=\"stroke-width:2\" />\n",
" <line x1=\"124\" y1=\"70\" x2=\"124\" y2=\"111\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"80.58823529411765,70.58823529411765 124.42786566830057,70.58823529411765 124.42786566830057,111.73043769865797 80.58823529411765,111.73043769865797\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"102.50805048120911\" y=\"131.73043769865797\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >1440</text>\n",
" <text x=\"144.42786566830057\" y=\"91.15933649638781\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,144.42786566830057,91.15933649638781)\">721</text>\n",
" <text x=\"35.294117647058826\" y=\"96.43632005159914\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294117647058826,96.43632005159914)\">4384</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li></ul></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset> Size: 18GB\n",
"Dimensions: (time: 4384, latitude: 721, longitude: 1440)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 35kB 2020-01-01 ... 2022-1...\n",
" * latitude (latitude) float32 3kB 90.0 89.75 ... -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 ... 359.5 359.8\n",
"Data variables:\n",
" sea_surface_temperature (time, latitude, longitude) float32 18GB dask.array<chunksize=(1, 721, 1440), meta=np.ndarray>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"# Part 1: Working Workflow\n",
"\n",
"Rolling mean + anomaly detection - works with expressions today."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Region: (4384, 121, 281)\n",
"Result shape: (4384, 121, 281)\n"
]
}
],
"source": [
"# Workflow: 30-day rolling mean, compute anomaly, focus on region\n",
"# Note: Select region first for better performance and to avoid broadcast issues\n",
"\n",
"# North Atlantic subset first\n",
"region = arr.sel(latitude=slice(60, 30), longitude=slice(280, 350))\n",
"region_chunked = region.chunk({\"time\": 500})\n",
"print(f\"Region: {region_chunked.shape}\")\n",
"\n",
"smoothed = region_chunked.rolling(time=30, center=True).mean()\n",
"temporal_mean = smoothed.mean(dim=\"time\")\n",
"result = smoothed - temporal_mean\n",
"print(f\"Result shape: {result.shape}\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nodes: 7\n"
]
},
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Sub</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">├ </span><span style=\"font-weight: bold\">Getitem</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">│ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> 4400×121×281 571 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">Expand</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Agg</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Chunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">10×121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.3 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Getitem</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> 4400×121×281 571 MiB \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSub\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m├ \u001b[0m\u001b[1mGetitem\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m│ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m 4400×121×281 571 MiB \n",
" \u001b[2m└ \u001b[0m\u001b[1mExpand\u001b[0m \u001b[2m1×121×281 \u001b[0m \u001b[2m133 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m121×281 \u001b[0m \u001b[2m133 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Agg\u001b[0m \u001b[2m121×281 \u001b[0m \u001b[2m133 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Chunk\u001b[0m \u001b[2m10×121×281 \u001b[0m \u001b[2m1.3 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mGetitem\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m 4400×121×281 571 MiB"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Expression tree\n",
"expr = result.data.expr\n",
"print(f\"Nodes: {len(list(expr.walk()))}\")\n",
"result.expr"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Sub</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">├ </span><span style=\"font-weight: bold\">Getitem</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">│ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> 4398×121×281 570 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">Expand</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Agg</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Chunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">10×121×281 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.3 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Getitem</span> 4384×121×281 569 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> 4398×121×281 570 MiB \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSub\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m├ \u001b[0m\u001b[1mGetitem\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m│ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m 4398×121×281 570 MiB \n",
" \u001b[2m└ \u001b[0m\u001b[1mExpand\u001b[0m \u001b[2m1×121×281 \u001b[0m \u001b[2m133 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Agg\u001b[0m \u001b[2m121×281 \u001b[0m \u001b[2m133 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Chunk\u001b[0m \u001b[2m10×121×281 \u001b[0m \u001b[2m1.3 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mGetitem\u001b[0m 4384×121×281 569 MiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m 4398×121×281 570 MiB"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.expr.simplify()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Before: 7 -> After: 15 nodes\n"
]
},
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes Chunks </span>\n",
" <span style=\"font-weight: bold\">Sub</span> (4384, 121, 281) 569 MiB 486×121×281 \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Getitem</span> (4384, 121, 281) 569 MiB 486×121×281 \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">│ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">FusedBlockwise</span> (4398, 121, 281) 570 MiB 500×121×281 \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">ExpandDims</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> (1, 121, 281)</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 1×121×281</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Agg</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> (121, 281)</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">133 kiB</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 121×281</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Mean Chunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> (10, 121, 281)</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.3 MiB</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 1×121×281</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Getitem</span> (4384, 121, 281) 569 MiB 486×121×281 \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">FusedBlockwise</span> (4398, 121, 281) 570 MiB 500×121×281 \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2m Shape\u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\u001b[2m Chunks\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSub\u001b[0m (4384, 121, 281) 569 MiB 486×121×281 \n",
" \u001b[2m├ \u001b[0m\u001b[1;38;2;52;101;164mGetitem\u001b[0m (4384, 121, 281) 569 MiB 486×121×281 \n",
" \u001b[2m│ └ \u001b[0m\u001b[1;38;2;206;92;0mFusedBlockwise\u001b[0m (4398, 121, 281) 570 MiB 500×121×281 \n",
" \u001b[2m└ \u001b[0m\u001b[1mExpandDims\u001b[0m \u001b[2m (1, 121, 281)\u001b[0m \u001b[2m133 kiB\u001b[0m \u001b[2m 1×121×281\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Agg\u001b[0m \u001b[2m (121, 281)\u001b[0m \u001b[2m133 kiB\u001b[0m \u001b[2m 121×281\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mMean Chunk\u001b[0m \u001b[2m (10, 121, 281)\u001b[0m \u001b[2m1.3 MiB\u001b[0m \u001b[2m 1×121×281\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGetitem\u001b[0m (4384, 121, 281) 569 MiB 486×121×281 \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mFusedBlockwise\u001b[0m (4398, 121, 281) 570 MiB 500×121×281"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Optimization\n",
"simplified = expr.simplify()\n",
"lowered = simplified.lower_completely()\n",
"fused = lowered.fuse()\n",
"print(f\"Before: {len(list(expr.walk()))} -> After: {len(list(fused.walk()))} nodes\")\n",
"fused"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Computed in 3.1s\n",
"Anomaly range: -14.58 to 17.90 K\n"
]
}
],
"source": [
"# Compute\n",
"start = time.perf_counter()\n",
"computed = result.compute()\n",
"print(f\"Computed in {time.perf_counter() - start:.1f}s\")\n",
"print(f\"Anomaly range: {float(computed.min()):.2f} to {float(computed.max()):.2f} K\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"font-weight: bold\">DatasetExpr</span>\n",
"\n",
"<span style=\"font-style: italic\">sea_surface_temperature </span>\n",
"<span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×12 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 19 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Agg</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×12 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 48 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1×12×2×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1×12×4×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">190 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1×12×8×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">380 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2×12×16×2</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">3.0 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Chunk</span> 721×1440×3×12×31×4 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Reshape</span> 721×1440×3×12×31×4 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4464 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Where</span> 4464×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Logical Not</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4464×721×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.3 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Or</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4464×721×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.3 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Or</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4464×721×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">3.1 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ ├ </span><span style=\"font-weight: bold\">Eq</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4464×1×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.4 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4464×1×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 35 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"font-weight: bold\">Eq</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×721×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 721 B</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×721×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">5.6 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Eq</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×1×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1×1×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 11 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Getitem</span> 4464×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
"\n",
"</pre>"
],
"text/plain": [
"\u001b[1mDatasetExpr\u001b[0m\n",
"\n",
"\u001b[3msea_surface_temperature \u001b[0m\n",
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mGetitem\u001b[0m \u001b[2m20×20×12 \u001b[0m \u001b[2m 19 kiB\u001b[0m \n",
" \u001b[2m└ \u001b[0m\u001b[1;38;2;52;101;164mMean Agg\u001b[0m \u001b[2m721×1440×12 \u001b[0m \u001b[2m 48 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m721×1440×1×12×2×1 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m721×1440×1×12×4×1 \u001b[0m \u001b[2m190 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m721×1440×1×12×8×1 \u001b[0m \u001b[2m380 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m721×1440×2×12×16×2\u001b[0m \u001b[2m3.0 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Chunk\u001b[0m 721×1440×3×12×31×4 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1mReshape\u001b[0m 721×1440×3×12×31×4 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4464 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1mWhere\u001b[0m 4464×721×1440 17 GiB \n",
" \u001b[2m ├ \u001b[0m\u001b[1mLogical Not\u001b[0m \u001b[2m4464×721×1440 \u001b[0m \u001b[2m4.3 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mOr\u001b[0m \u001b[2m4464×721×1440 \u001b[0m \u001b[2m4.3 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mOr\u001b[0m \u001b[2m4464×721×1 \u001b[0m \u001b[2m3.1 MiB\u001b[0m \n",
" \u001b[2m │ │ ├ \u001b[0m\u001b[1mEq\u001b[0m \u001b[2m4464×1×1 \u001b[0m \u001b[2m4.4 kiB\u001b[0m \n",
" \u001b[2m │ │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4464×1×1 \u001b[0m \u001b[2m 35 kiB\u001b[0m \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1mEq\u001b[0m \u001b[2m1×721×1 \u001b[0m \u001b[2m 721 B\u001b[0m \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m1×721×1 \u001b[0m \u001b[2m5.6 kiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mEq\u001b[0m \u001b[2m1×1×1440 \u001b[0m \u001b[2m1.4 kiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m1×1×1440 \u001b[0m \u001b[2m 11 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mGetitem\u001b[0m 4464×721×1440 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Second workflow: Monthly climatology via unstack\n",
"working = ds[[\"sea_surface_temperature\"]]\n",
"working[\"year\"] = working.time.dt.year # Include year to avoid duplicates\n",
"working[\"month\"] = working.time.dt.month\n",
"working[\"day\"] = working.time.dt.day\n",
"working[\"hour\"] = working.time.dt.hour\n",
"\n",
"restructured = working.set_index(time=[\"year\", \"month\", \"day\", \"hour\"]).unstack()\n",
"monthly = restructured.mean(dim=[\"year\", \"day\", \"hour\"])\n",
"\n",
"subset = monthly.isel(latitude=slice(300, 320), longitude=slice(500, 520))\n",
"subset.expr"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"font-weight: bold\">DatasetExpr</span>\n",
"\n",
"<span style=\"font-style: italic\">sea_surface_temperature </span>\n",
"<span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Agg</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×12 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 19 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×1×12×2×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 38 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×1×12×4×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 75 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×1×12×8×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">150 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Combine</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">20×20×2×12×16×2</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.2 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Mean Chunk</span> 20×20×3×12×31×4 6.8 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Reshape</span> 20×20×3×12×31×4 6.8 MiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> 20×20×4464 6.8 MiB \n",
"\n",
"</pre>"
],
"text/plain": [
"\u001b[1mDatasetExpr\u001b[0m\n",
"\n",
"\u001b[3msea_surface_temperature \u001b[0m\n",
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1;38;2;52;101;164mMean Agg\u001b[0m \u001b[2m20×20×12 \u001b[0m \u001b[2m 19 kiB\u001b[0m \n",
" \u001b[2m└ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m20×20×1×12×2×1 \u001b[0m \u001b[2m 38 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m20×20×1×12×4×1 \u001b[0m \u001b[2m 75 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m20×20×1×12×8×1 \u001b[0m \u001b[2m150 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Combine\u001b[0m \u001b[2m20×20×2×12×16×2\u001b[0m \u001b[2m1.2 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mMean Chunk\u001b[0m 20×20×3×12×31×4 6.8 MiB \n",
" \u001b[2m └ \u001b[0m\u001b[1mReshape\u001b[0m 20×20×3×12×31×4 6.8 MiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mFused\u001b[0m 20×20×4464 6.8 MiB"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"subset.expr.optimize(fuse=True)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Monthly climatology in 4.5s\n",
"Shape: (20, 20, 12)\n"
]
}
],
"source": [
"start = time.perf_counter()\n",
"result = subset.compute()\n",
"print(f\"Monthly climatology in {time.perf_counter() - start:.1f}s\")\n",
"print(f\"Shape: {result['sea_surface_temperature'].shape}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"# Part 2: Aspirational Workflow\n",
"\n",
"Full 61-day rolling climatology. (this used to not work, but now it does)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"✓ Unstack: (721, 1440, 3, 366, 4)\n"
]
}
],
"source": [
"# Step 1: Restructure time ✓\n",
"working = ds[[\"sea_surface_temperature\"]]\n",
"working[\"dayofyear\"] = working.time.dt.dayofyear\n",
"working[\"hour\"] = working.time.dt.hour\n",
"working[\"year\"] = working.time.dt.year\n",
"working = working.set_index(time=[\"year\", \"dayofyear\", \"hour\"]).unstack()\n",
"print(f\"✓ Unstack: {working['sea_surface_temperature'].shape}\")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"✓ Forward fill\n"
]
}
],
"source": [
"# Step 2: Forward fill ✓\n",
"working = working.ffill(dim=\"dayofyear\", limit=1)\n",
"print(\"✓ Forward fill\")"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"✓ Pad: (721, 1440, 3, 426, 4)\n"
]
}
],
"source": [
"# Step 3: Pad ✓\n",
"window_size = 61\n",
"half_window = window_size // 2\n",
"padded = working.pad(pad_width={\"dayofyear\": half_window}, mode=\"wrap\")\n",
"print(f\"✓ Pad: {padded['sea_surface_temperature'].shape}\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"✓ Rolling construct: (721, 1440, 3, 426, 4, 61)\n"
]
}
],
"source": [
"# Step 4: Rolling construct \n",
"rolled = padded.rolling(dayofyear=window_size, center=True).construct(\"window\")\n",
"print(f\"✓ Rolling construct: {rolled['sea_surface_temperature'].shape}\")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"font-weight: bold\">DatasetExpr</span>\n",
"\n",
"<span style=\"font-style: italic\">sea_surface_temperature </span>\n",
"<span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Sliding Window View</span> 721×1440×3×426×4×61 1.2 TiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">Overlap</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×846×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 39 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Rechunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Rechunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×426×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 20 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×366×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 17 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×366×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 17 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×366×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 17 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
"\n",
"</pre>"
],
"text/plain": [
"\u001b[1mDatasetExpr\u001b[0m\n",
"\n",
"\u001b[3msea_surface_temperature \u001b[0m\n",
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSliding Window View\u001b[0m 721×1440×3×426×4×61 1.2 TiB \n",
" \u001b[2m└ \u001b[0m\u001b[1mOverlap\u001b[0m \u001b[2m721×1440×3×846×4 \u001b[0m \u001b[2m 39 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mRechunk\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mRechunk\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×426×4 \u001b[0m \u001b[2m 20 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×366×4 \u001b[0m \u001b[2m 17 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×366×4 \u001b[0m \u001b[2m 17 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×366×4 \u001b[0m \u001b[2m 17 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rolled.expr"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"font-weight: bold\">DatasetExpr</span>\n",
"\n",
"<span style=\"font-style: italic\">sea_surface_temperature </span>\n",
"<span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Sliding Window View</span> 721×1440×3×426×4×61 1.2 TiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">Overlap</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×846×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 39 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Rechunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×426×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 20 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×31×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×366×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 17 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Map</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
"\n",
"</pre>"
],
"text/plain": [
"\u001b[1mDatasetExpr\u001b[0m\n",
"\n",
"\u001b[3msea_surface_temperature \u001b[0m\n",
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSliding Window View\u001b[0m 721×1440×3×426×4×61 1.2 TiB \n",
" \u001b[2m└ \u001b[0m\u001b[1mOverlap\u001b[0m \u001b[2m721×1440×3×846×4 \u001b[0m \u001b[2m 39 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mRechunk\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×426×4 \u001b[0m \u001b[2m 20 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×31×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×366×4 \u001b[0m \u001b[2m 17 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mMap\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rolled.expr.simplify()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"font-weight: bold\">DatasetExpr</span>\n",
"\n",
"<span style=\"font-style: italic\">sea_surface_temperature </span>\n",
"<span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Sliding Window View</span> 721×1440×3×426×4×61 1.2 TiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"font-weight: bold\">Overlap</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×846×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 39 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Rechunk</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×486×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 23 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×426×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 20 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×31×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×366×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 17 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Getitem</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Broadcast To</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×3×30×4 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">() </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ?</span> \n",
"\n",
"</pre>"
],
"text/plain": [
"\u001b[1mDatasetExpr\u001b[0m\n",
"\n",
"\u001b[3msea_surface_temperature \u001b[0m\n",
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mSliding Window View\u001b[0m 721×1440×3×426×4×61 1.2 TiB \n",
" \u001b[2m└ \u001b[0m\u001b[1mOverlap\u001b[0m \u001b[2m721×1440×3×846×4 \u001b[0m \u001b[2m 39 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mRechunk\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×486×4 \u001b[0m \u001b[2m 23 GiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×3×426×4 \u001b[0m \u001b[2m 20 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mFused\u001b[0m \u001b[2m721×1440×3×31×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1;38;2;206;92;0mFused\u001b[0m \u001b[2m721×1440×3×366×4 \u001b[0m \u001b[2m 17 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mGetitem\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mFused\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mBroadcast To\u001b[0m \u001b[2m721×1440×3×30×4 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m() \u001b[0m \u001b[2m ?\u001b[0m"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rolled.expr.optimize(fuse=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Groupby / Flox"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Transpose</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">12×721×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 48 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×12 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 48 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×12 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 48 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×22 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 87 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×340 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.3 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×23 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 91 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×360 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×23 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 91 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×360 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×23 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 91 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×360 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×23 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 91 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×360 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×2 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">7.9 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×24 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 95 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×372 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">1.4 GiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mTranspose\u001b[0m \u001b[2m12×721×1440 \u001b[0m \u001b[2m 48 MiB\u001b[0m \n",
" \u001b[2m└ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×12 \u001b[0m \u001b[2m 48 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×12 \u001b[0m \u001b[2m 48 MiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×22 \u001b[0m \u001b[2m 87 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×340 \u001b[0m \u001b[2m1.3 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×23 \u001b[0m \u001b[2m 91 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×360 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×23 \u001b[0m \u001b[2m 91 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×360 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×23 \u001b[0m \u001b[2m 91 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×360 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×23 \u001b[0m \u001b[2m 91 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×360 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×2 \u001b[0m \u001b[2m7.9 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×24 \u001b[0m \u001b[2m 95 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×372 \u001b[0m \u001b[2m1.4 GiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result = arr.groupby(\"time.month\").mean()\n",
"result.expr"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> 12×721×1440 48 MiB \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation\u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1;38;2;206;92;0mFused\u001b[0m 12×721×1440 48 MiB"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.expr.optimize(fuse=True)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in notebooks */\n",
"\n",
":root {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base rgba(0, 0, 0, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, white)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 15))\n",
" );\n",
"}\n",
"\n",
"html[theme=\"dark\"],\n",
"html[data-theme=\"dark\"],\n",
"body[data-theme=\"dark\"],\n",
"body.vscode-dark {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, #111111)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))\n",
" );\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
" line-height: 1.6;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-obj-name,\n",
".xr-group-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-group-name::before {\n",
" content: \"📁\";\n",
" padding-right: 0.3em;\n",
"}\n",
"\n",
".xr-group-name,\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
" margin-block-start: 0;\n",
" margin-block-end: 0;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: inline-block;\n",
" opacity: 0;\n",
" height: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
" border: 2px solid transparent !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:focus + label {\n",
" border: 2px solid var(--xr-font-color0) !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: \"►\";\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: \"▼\";\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-top: 4px;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-group-box {\n",
" display: inline-grid;\n",
" grid-template-columns: 0px 20px auto;\n",
" width: 100%;\n",
"}\n",
"\n",
".xr-group-box-vline {\n",
" grid-column-start: 1;\n",
" border-right: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
" width: 0px;\n",
"}\n",
"\n",
".xr-group-box-hline {\n",
" grid-column-start: 2;\n",
" grid-row-start: 1;\n",
" height: 1em;\n",
" width: 20px;\n",
" border-bottom: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
"}\n",
"\n",
".xr-group-box-contents {\n",
" grid-column-start: 3;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: \"(\";\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: \")\";\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: \",\";\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" border-color: var(--xr-background-color-row-odd);\n",
" margin-bottom: 0;\n",
" padding-top: 2px;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
" border-color: var(--xr-background-color-row-even);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-index-preview {\n",
" grid-column: 2 / 5;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" display: none;\n",
" border-top: 2px dotted var(--xr-background-color);\n",
" padding-bottom: 20px !important;\n",
" padding-top: 10px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in + label,\n",
".xr-var-data-in + label,\n",
".xr-index-data-in + label {\n",
" padding: 0 1px;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-index-data-in:checked ~ .xr-index-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-data > pre,\n",
".xr-index-data > pre,\n",
".xr-var-data > table > tbody > tr {\n",
" background-color: transparent !important;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-index-name div,\n",
".xr-index-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2,\n",
".xr-no-icon {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n",
".xr-var-data-in:checked + label > .xr-icon-database,\n",
".xr-index-data-in:checked + label > .xr-icon-database {\n",
" color: var(--xr-font-color0);\n",
" filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n",
" stroke-width: 0.8px;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;sea_surface_temperature&#x27; (month: 12, latitude: 721,\n",
" longitude: 1440)&gt; Size: 50MB\n",
"array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46008, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46002, 271.46002, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46 , 271.46005, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46005, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(12, 721, 1440), dtype=float32)\n",
"Coordinates:\n",
" * month (month) int64 96B 1 2 3 4 5 6 7 8 9 10 11 12\n",
" * latitude (latitude) float32 3kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8\n",
"Attributes:\n",
" long_name: Sea surface temperature\n",
" short_name: sst\n",
" units: K</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-obj-name'>&#x27;sea_surface_temperature&#x27;</div><ul class='xr-dim-list'><li><span class='xr-has-index'>month</span>: 12</li><li><span class='xr-has-index'>latitude</span>: 721</li><li><span class='xr-has-index'>longitude</span>: 1440</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-cd0b4d3b-adb3-47a6-b41b-2e8baa712525' class='xr-array-in' type='checkbox' checked><label for='section-cd0b4d3b-adb3-47a6-b41b-2e8baa712525' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>271.5 271.5 271.5 271.5 271.5 271.5 271.5 ... nan nan nan nan nan nan</span></div><div class='xr-array-data'><pre>array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46008, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46002, 271.46002, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46 , 271.46005, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46005, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(12, 721, 1440), dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-bc0c1f17-9d4d-4876-8546-0feb4275c10a' class='xr-section-summary-in' type='checkbox' checked><label for='section-bc0c1f17-9d4d-4876-8546-0feb4275c10a' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>month</span></div><div class='xr-var-dims'>(month)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>1 2 3 4 5 6 7 8 9 10 11 12</div><input id='attrs-65643878-efda-4a83-8979-30a60817ae27' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-65643878-efda-4a83-8979-30a60817ae27' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-af7852fc-ee27-485e-817f-9d69e715801e' class='xr-var-data-in' type='checkbox'><label for='data-af7852fc-ee27-485e-817f-9d69e715801e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>latitude</span></div><div class='xr-var-dims'>(latitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>90.0 89.75 89.5 ... -89.75 -90.0</div><input id='attrs-2bf2e7a2-0221-4290-9ae2-95f4fb49b95f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2bf2e7a2-0221-4290-9ae2-95f4fb49b95f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e9fcf950-9b59-4a74-90ea-d31e7d93bef3' class='xr-var-data-in' type='checkbox'><label for='data-e9fcf950-9b59-4a74-90ea-d31e7d93bef3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([ 90. , 89.75, 89.5 , ..., -89.5 , -89.75, -90. ],\n",
" shape=(721,), dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>longitude</span></div><div class='xr-var-dims'>(longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.0 0.25 0.5 ... 359.2 359.5 359.8</div><input id='attrs-993e2c27-1758-4b47-90cd-4a52958d0b5b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-993e2c27-1758-4b47-90cd-4a52958d0b5b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-84e0ba5d-183f-4cb7-9761-743199f045df' class='xr-var-data-in' type='checkbox'><label for='data-84e0ba5d-183f-4cb7-9761-743199f045df' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,\n",
" 3.5975e+02], shape=(1440,), dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-760889f4-aaa4-4acd-8594-eb8d41a0d80c' class='xr-section-summary-in' type='checkbox' checked><label for='section-760889f4-aaa4-4acd-8594-eb8d41a0d80c' class='xr-section-summary' >Attributes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Sea surface temperature</dd><dt><span>short_name :</span></dt><dd>sst</dd><dt><span>units :</span></dt><dd>K</dd></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.DataArray 'sea_surface_temperature' (month: 12, latitude: 721,\n",
" longitude: 1440)> Size: 50MB\n",
"array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46008, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46002, 271.46002, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
" [271.46005, 271.46005, 271.46005, ..., 271.46005, 271.46005,\n",
" 271.46005],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46 , 271.46005, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46005, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(12, 721, 1440), dtype=float32)\n",
"Coordinates:\n",
" * month (month) int64 96B 1 2 3 4 5 6 7 8 9 10 11 12\n",
" * latitude (latitude) float32 3kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8\n",
"Attributes:\n",
" long_name: Sea surface temperature\n",
" short_name: sst\n",
" units: K"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.compute()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Resampling"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"font-weight: bold\">Transpose</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">36×721×1440 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">143 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">└ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×36 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">143 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Stack</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×36 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">143 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×116 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">459 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×7 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 28 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×112 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">444 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×7 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 28 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×112 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">444 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×120 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">475 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×1 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4.0 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×8 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 32 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"font-weight: bold\">Subsetblocksexpr</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">721×1440×124 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">491 MiB</span> \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #3465a4; text-decoration-color: #3465a4; font-weight: bold\">Groupby Nanmean</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> ├ </span><span style=\"font-weight: bold\">Transpose</span> 721×1440×4384 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> │ └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Open Dataset</span> 4384×721×1440 17 GiB \n",
" <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> └ </span><span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Array</span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">4384 </span> <span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> 34 kiB</span> \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation \u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1mTranspose\u001b[0m \u001b[2m36×721×1440 \u001b[0m \u001b[2m143 MiB\u001b[0m \n",
" \u001b[2m└ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×36 \u001b[0m \u001b[2m143 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mStack\u001b[0m \u001b[2m721×1440×36 \u001b[0m \u001b[2m143 MiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×116 \u001b[0m \u001b[2m459 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×7 \u001b[0m \u001b[2m 28 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×112 \u001b[0m \u001b[2m444 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×7 \u001b[0m \u001b[2m 28 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×112 \u001b[0m \u001b[2m444 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m ├ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×120 \u001b[0m \u001b[2m475 MiB\u001b[0m \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×1 \u001b[0m \u001b[2m4.0 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m \u001b[2m721×1440×8 \u001b[0m \u001b[2m 32 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1mSubsetblocksexpr\u001b[0m \u001b[2m721×1440×124 \u001b[0m \u001b[2m491 MiB\u001b[0m \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;52;101;164mGroupby Nanmean\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m ├ \u001b[0m\u001b[1mTranspose\u001b[0m 721×1440×4384 17 GiB \n",
" \u001b[2m │ └ \u001b[0m\u001b[1;38;2;206;92;0mOpen Dataset\u001b[0m 4384×721×1440 17 GiB \n",
" \u001b[2m └ \u001b[0m\u001b[1;38;2;206;92;0mArray\u001b[0m \u001b[2m4384 \u001b[0m \u001b[2m 34 kiB\u001b[0m"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result = arr.resample(time=\"ME\").mean()\n",
"result.expr"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\"> Operation Shape Bytes </span>\n",
" <span style=\"color: #ce5c00; text-decoration-color: #ce5c00; font-weight: bold\">Fused</span> 36×721×1440 143 MiB \n",
"</pre>"
],
"text/plain": [
"\u001b[2m \u001b[0m\u001b[2mOperation\u001b[0m\u001b[2m \u001b[0m\u001b[2mShape \u001b[0m\u001b[2m \u001b[0m\u001b[2m Bytes\u001b[0m\u001b[2m \u001b[0m\n",
" \u001b[1;38;2;206;92;0mFused\u001b[0m 36×721×1440 143 MiB"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.expr.optimize(fuse=True)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in notebooks */\n",
"\n",
":root {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base rgba(0, 0, 0, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(0, 0, 0, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, white)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, white) h s calc(l - 15))\n",
" );\n",
"}\n",
"\n",
"html[theme=\"dark\"],\n",
"html[data-theme=\"dark\"],\n",
"body[data-theme=\"dark\"],\n",
"body.vscode-dark {\n",
" --xr-font-color0: var(\n",
" --jp-content-font-color0,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 1))\n",
" );\n",
" --xr-font-color2: var(\n",
" --jp-content-font-color2,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.54))\n",
" );\n",
" --xr-font-color3: var(\n",
" --jp-content-font-color3,\n",
" var(--pst-color-text-base, rgba(255, 255, 255, 0.38))\n",
" );\n",
" --xr-border-color: var(\n",
" --jp-border-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))\n",
" );\n",
" --xr-disabled-color: var(\n",
" --jp-layout-color3,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))\n",
" );\n",
" --xr-background-color: var(\n",
" --jp-layout-color0,\n",
" var(--pst-color-on-background, #111111)\n",
" );\n",
" --xr-background-color-row-even: var(\n",
" --jp-layout-color1,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))\n",
" );\n",
" --xr-background-color-row-odd: var(\n",
" --jp-layout-color2,\n",
" hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))\n",
" );\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
" line-height: 1.6;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-obj-name,\n",
".xr-group-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-group-name::before {\n",
" content: \"📁\";\n",
" padding-right: 0.3em;\n",
"}\n",
"\n",
".xr-group-name,\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
" margin-block-start: 0;\n",
" margin-block-end: 0;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: inline-block;\n",
" opacity: 0;\n",
" height: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
" border: 2px solid transparent !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:focus + label {\n",
" border: 2px solid var(--xr-font-color0) !important;\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: \"►\";\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: \"▼\";\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-top: 4px;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-group-box {\n",
" display: inline-grid;\n",
" grid-template-columns: 0px 20px auto;\n",
" width: 100%;\n",
"}\n",
"\n",
".xr-group-box-vline {\n",
" grid-column-start: 1;\n",
" border-right: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
" width: 0px;\n",
"}\n",
"\n",
".xr-group-box-hline {\n",
" grid-column-start: 2;\n",
" grid-row-start: 1;\n",
" height: 1em;\n",
" width: 20px;\n",
" border-bottom: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
"}\n",
"\n",
".xr-group-box-contents {\n",
" grid-column-start: 3;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: \"(\";\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: \")\";\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: \",\";\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" border-color: var(--xr-background-color-row-odd);\n",
" margin-bottom: 0;\n",
" padding-top: 2px;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
" border-color: var(--xr-background-color-row-even);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-index-preview {\n",
" grid-column: 2 / 5;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" display: none;\n",
" border-top: 2px dotted var(--xr-background-color);\n",
" padding-bottom: 20px !important;\n",
" padding-top: 10px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in + label,\n",
".xr-var-data-in + label,\n",
".xr-index-data-in + label {\n",
" padding: 0 1px;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-index-data-in:checked ~ .xr-index-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-data > pre,\n",
".xr-index-data > pre,\n",
".xr-var-data > table > tbody > tr {\n",
" background-color: transparent !important;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-index-name div,\n",
".xr-index-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2,\n",
".xr-no-icon {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked + label > .xr-icon-file-text2,\n",
".xr-var-data-in:checked + label > .xr-icon-database,\n",
".xr-index-data-in:checked + label > .xr-icon-database {\n",
" color: var(--xr-font-color0);\n",
" filter: drop-shadow(1px 1px 5px var(--xr-font-color2));\n",
" stroke-width: 0.8px;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;sea_surface_temperature&#x27; (time: 36, latitude: 721,\n",
" longitude: 1440)&gt; Size: 150MB\n",
"array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.4601 , 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46005, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(36, 721, 1440), dtype=float32)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 288B 2020-01-31 2020-02-29 ... 2022-12-31\n",
" * latitude (latitude) float32 3kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8\n",
"Attributes:\n",
" long_name: Sea surface temperature\n",
" short_name: sst\n",
" units: K</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-obj-name'>&#x27;sea_surface_temperature&#x27;</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 36</li><li><span class='xr-has-index'>latitude</span>: 721</li><li><span class='xr-has-index'>longitude</span>: 1440</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-037e79c2-e2a0-4a4e-a332-65768d305adc' class='xr-array-in' type='checkbox' checked><label for='section-037e79c2-e2a0-4a4e-a332-65768d305adc' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>271.5 271.5 271.5 271.5 271.5 271.5 271.5 ... nan nan nan nan nan nan</span></div><div class='xr-array-data'><pre>array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.4601 , 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46005, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(36, 721, 1440), dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-dce09cfe-7fc8-4439-aad5-0aa7b15a0ab0' class='xr-section-summary-in' type='checkbox' checked><label for='section-dce09cfe-7fc8-4439-aad5-0aa7b15a0ab0' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2020-01-31 ... 2022-12-31</div><input id='attrs-1366c46d-f617-4a86-865d-844557ce4144' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1366c46d-f617-4a86-865d-844557ce4144' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3a73ac4e-e375-469a-a75d-000b80659166' class='xr-var-data-in' type='checkbox'><label for='data-3a73ac4e-e375-469a-a75d-000b80659166' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([&#x27;2020-01-31T00:00:00.000000000&#x27;, &#x27;2020-02-29T00:00:00.000000000&#x27;,\n",
" &#x27;2020-03-31T00:00:00.000000000&#x27;, &#x27;2020-04-30T00:00:00.000000000&#x27;,\n",
" &#x27;2020-05-31T00:00:00.000000000&#x27;, &#x27;2020-06-30T00:00:00.000000000&#x27;,\n",
" &#x27;2020-07-31T00:00:00.000000000&#x27;, &#x27;2020-08-31T00:00:00.000000000&#x27;,\n",
" &#x27;2020-09-30T00:00:00.000000000&#x27;, &#x27;2020-10-31T00:00:00.000000000&#x27;,\n",
" &#x27;2020-11-30T00:00:00.000000000&#x27;, &#x27;2020-12-31T00:00:00.000000000&#x27;,\n",
" &#x27;2021-01-31T00:00:00.000000000&#x27;, &#x27;2021-02-28T00:00:00.000000000&#x27;,\n",
" &#x27;2021-03-31T00:00:00.000000000&#x27;, &#x27;2021-04-30T00:00:00.000000000&#x27;,\n",
" &#x27;2021-05-31T00:00:00.000000000&#x27;, &#x27;2021-06-30T00:00:00.000000000&#x27;,\n",
" &#x27;2021-07-31T00:00:00.000000000&#x27;, &#x27;2021-08-31T00:00:00.000000000&#x27;,\n",
" &#x27;2021-09-30T00:00:00.000000000&#x27;, &#x27;2021-10-31T00:00:00.000000000&#x27;,\n",
" &#x27;2021-11-30T00:00:00.000000000&#x27;, &#x27;2021-12-31T00:00:00.000000000&#x27;,\n",
" &#x27;2022-01-31T00:00:00.000000000&#x27;, &#x27;2022-02-28T00:00:00.000000000&#x27;,\n",
" &#x27;2022-03-31T00:00:00.000000000&#x27;, &#x27;2022-04-30T00:00:00.000000000&#x27;,\n",
" &#x27;2022-05-31T00:00:00.000000000&#x27;, &#x27;2022-06-30T00:00:00.000000000&#x27;,\n",
" &#x27;2022-07-31T00:00:00.000000000&#x27;, &#x27;2022-08-31T00:00:00.000000000&#x27;,\n",
" &#x27;2022-09-30T00:00:00.000000000&#x27;, &#x27;2022-10-31T00:00:00.000000000&#x27;,\n",
" &#x27;2022-11-30T00:00:00.000000000&#x27;, &#x27;2022-12-31T00:00:00.000000000&#x27;],\n",
" dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>latitude</span></div><div class='xr-var-dims'>(latitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>90.0 89.75 89.5 ... -89.75 -90.0</div><input id='attrs-95bfadcf-caf2-4aef-8425-0341fe7bdd55' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-95bfadcf-caf2-4aef-8425-0341fe7bdd55' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dcfc2ad7-31a5-46cd-89d4-2a9b6db23c22' class='xr-var-data-in' type='checkbox'><label for='data-dcfc2ad7-31a5-46cd-89d4-2a9b6db23c22' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([ 90. , 89.75, 89.5 , ..., -89.5 , -89.75, -90. ],\n",
" shape=(721,), dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>longitude</span></div><div class='xr-var-dims'>(longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.0 0.25 0.5 ... 359.2 359.5 359.8</div><input id='attrs-548d2c1a-faac-4eb1-98c7-8a24f93aa13c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-548d2c1a-faac-4eb1-98c7-8a24f93aa13c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d65c6f93-4cdb-4fc0-8531-58c8980d86b5' class='xr-var-data-in' type='checkbox'><label for='data-d65c6f93-4cdb-4fc0-8531-58c8980d86b5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,\n",
" 3.5975e+02], shape=(1440,), dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-d78bbfc7-6e98-432f-b62f-38de269d874d' class='xr-section-summary-in' type='checkbox' checked><label for='section-d78bbfc7-6e98-432f-b62f-38de269d874d' class='xr-section-summary' >Attributes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Sea surface temperature</dd><dt><span>short_name :</span></dt><dd>sst</dd><dt><span>units :</span></dt><dd>K</dd></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.DataArray 'sea_surface_temperature' (time: 36, latitude: 721,\n",
" longitude: 1440)> Size: 150MB\n",
"array([[[271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.4601 , 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" [271.46014, 271.46014, 271.46014, ..., 271.46014, 271.46014,\n",
" 271.46014],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
"...\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]],\n",
"\n",
" [[271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46005, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" [271.46008, 271.46008, 271.46008, ..., 271.46008, 271.46008,\n",
" 271.46008],\n",
" ...,\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan],\n",
" [ nan, nan, nan, ..., nan, nan,\n",
" nan]]], shape=(36, 721, 1440), dtype=float32)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 288B 2020-01-31 2020-02-29 ... 2022-12-31\n",
" * latitude (latitude) float32 3kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0\n",
" * longitude (longitude) float32 6kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8\n",
"Attributes:\n",
" long_name: Sea surface temperature\n",
" short_name: sst\n",
" units: K"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.compute()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.14.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment