Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save andersy005/da2123ff43045eb46828fe81e0f5f464 to your computer and use it in GitHub Desktop.

Select an option

Save andersy005/da2123ff43045eb46828fe81e0f5f464 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "fbad7871-a846-4ccd-87b5-90142558d02b",
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr\n",
"import pathlib\n",
"import pop_tools\n",
"import pooch\n",
"import gsw\n",
"import numpy as np\n",
"import dask.array as da"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "2caf0ae7-c8fc-41de-9b3b-99a9b42166be",
"metadata": {},
"outputs": [],
"source": [
"polygon_id = '000'\n",
"intervention_month = '01'\n",
"region = 'North_Atlantic_basin'\n",
"original_polygon_id = 0\n",
"data_dir = pathlib.Path('/pscratch/sd/a/abanihi/dor/fg-co2-excess/')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1e461217-2f19-4075-aa16-5a469d8e0089",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PosixPath('/pscratch/sd/a/abanihi/dor/fg-co2-excess/000-01.zarr')"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"one_polygon_single_season_path = data_dir / f'{polygon_id}-{intervention_month}.zarr'\n",
"one_polygon_single_season_path"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fe1b3391-535d-45f7-af6a-0effcd7b984e",
"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 jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=\"dark\"],\n",
"html[data-theme=\"dark\"],\n",
"body[data-theme=\"dark\"],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1f1f1f;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\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-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\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",
"}\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",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\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);\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",
" padding-bottom: 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-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\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",
" margin-bottom: 0;\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",
"}\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",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-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-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",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt; Size: 110MB\n",
"Dimensions: (nlat: 384, nlon: 320, polygon_id: 1,\n",
" intervention_date: 1, elapsed_time: 180)\n",
"Coordinates: (12/57)\n",
" ANGLE (nlat, nlon) float64 983kB ...\n",
" ANGLET (nlat, nlon) float64 983kB ...\n",
" DXT (nlat, nlon) float64 983kB ...\n",
" DXU (nlat, nlon) float64 983kB ...\n",
" DYT (nlat, nlon) float64 983kB ...\n",
" DYU (nlat, nlon) float64 983kB ...\n",
" ... ...\n",
" sea_ice_salinity float64 8B ...\n",
" sflux_factor float64 8B ...\n",
" sound float64 8B ...\n",
" stefan_boltzmann float64 8B ...\n",
" time_delta float64 8B ...\n",
" vonkar float64 8B ...\n",
"Dimensions without coordinates: nlat, nlon\n",
"Data variables:\n",
" FG_CO2_excess (polygon_id, intervention_date, elapsed_time, nlat, nlon) float32 88MB ...\n",
"Attributes:\n",
" Conventions: CF-1.0; http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-cu...\n",
" calendar: All years have exactly 365 days.\n",
" cell_methods: cell_methods = time: mean ==&gt; the variable values are ...\n",
" contents: Diagnostic and Prognostic Variables\n",
" history: none\n",
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n",
" revision: $Id$\n",
" source: CCSM POP2, the CCSM Ocean Component\n",
" start_time: This dataset was created on 2024-11-04 at 21:08:03.3\n",
" time_period_freq: month_1\n",
" title: smyle.cdr-atlas-v0.glb-dor_North_Atlantic_basin_000_19...</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-a9514e0e-9b30-47e6-8ac6-a9b3bf497af5' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-a9514e0e-9b30-47e6-8ac6-a9b3bf497af5' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>nlat</span>: 384</li><li><span>nlon</span>: 320</li><li><span class='xr-has-index'>polygon_id</span>: 1</li><li><span class='xr-has-index'>intervention_date</span>: 1</li><li><span class='xr-has-index'>elapsed_time</span>: 180</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-0ed283d3-8c0b-4e0b-8ead-15121e1aa7f0' class='xr-section-summary-in' type='checkbox' ><label for='section-0ed283d3-8c0b-4e0b-8ead-15121e1aa7f0' class='xr-section-summary' >Coordinates: <span>(57)</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>ANGLE</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-12641356-b4ca-4998-9578-25c83197f032' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-12641356-b4ca-4998-9578-25c83197f032' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-75fa32b3-b620-4d99-81d5-a2f0389ba544' class='xr-var-data-in' type='checkbox'><label for='data-75fa32b3-b620-4d99-81d5-a2f0389ba544' 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>angle grid makes with latitude line</dd><dt><span>units :</span></dt><dd>radians</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ANGLET</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-0c77ecc1-6f4b-40d1-b9e6-e22b59de5708' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0c77ecc1-6f4b-40d1-b9e6-e22b59de5708' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f54aad96-302e-483b-99eb-342d2d2ea46f' class='xr-var-data-in' type='checkbox'><label for='data-f54aad96-302e-483b-99eb-342d2d2ea46f' 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>angle grid makes with latitude line on T grid</dd><dt><span>units :</span></dt><dd>radians</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>DXT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-dfa46d95-c60f-447a-b66a-52fbd858e3fe' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-dfa46d95-c60f-447a-b66a-52fbd858e3fe' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-44e1cd7c-444a-4089-b3da-a9c3e05eb7f8' class='xr-var-data-in' type='checkbox'><label for='data-44e1cd7c-444a-4089-b3da-a9c3e05eb7f8' 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>x-spacing centered at T points</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>DXU</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-8df59cee-5412-4bd1-a8b3-8bd1d4b713ab' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8df59cee-5412-4bd1-a8b3-8bd1d4b713ab' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e42f0920-5e10-457e-9a7a-3b6dccab1763' class='xr-var-data-in' type='checkbox'><label for='data-e42f0920-5e10-457e-9a7a-3b6dccab1763' 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>x-spacing centered at U points</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>DYT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-cd6909b1-5769-43e2-bdc0-989619316397' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-cd6909b1-5769-43e2-bdc0-989619316397' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8cc0d210-0418-4124-b84f-32a7fffd1696' class='xr-var-data-in' type='checkbox'><label for='data-8cc0d210-0418-4124-b84f-32a7fffd1696' 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>y-spacing centered at T points</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>DYU</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-99f83e3b-d906-4d43-96dc-653ad44a65c3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-99f83e3b-d906-4d43-96dc-653ad44a65c3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-29194859-7daf-4e0f-b86e-94f8ba551802' class='xr-var-data-in' type='checkbox'><label for='data-29194859-7daf-4e0f-b86e-94f8ba551802' 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>y-spacing centered at U points</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-ef8502c5-30d8-4d94-ab6c-c4e65081feb6' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ef8502c5-30d8-4d94-ab6c-c4e65081feb6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a726f739-0889-46cf-a7c7-e7fa4f448ee9' class='xr-var-data-in' type='checkbox'><label for='data-a726f739-0889-46cf-a7c7-e7fa4f448ee9' 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>ocean depth at T points</dd><dt><span>units :</span></dt><dd>centimeter</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HTE</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-77dfb24e-d68a-47bf-a4c8-7fe63a65fa8c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-77dfb24e-d68a-47bf-a4c8-7fe63a65fa8c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cf796986-33f7-4346-a32e-9bc6193ac916' class='xr-var-data-in' type='checkbox'><label for='data-cf796986-33f7-4346-a32e-9bc6193ac916' 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>cell widths on East sides of T cell</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HTN</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-b4933c0a-b38e-42fc-96c7-c28a81dcffa2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b4933c0a-b38e-42fc-96c7-c28a81dcffa2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-79bec64f-1cbb-4e97-88db-813fb98507ef' class='xr-var-data-in' type='checkbox'><label for='data-79bec64f-1cbb-4e97-88db-813fb98507ef' 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>cell widths on North sides of T cell</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HU</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-0071a0fa-209c-4963-bd95-a4a2e43b11c4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0071a0fa-209c-4963-bd95-a4a2e43b11c4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-906e5f1b-6b84-4b81-be19-6718320ae66c' class='xr-var-data-in' type='checkbox'><label for='data-906e5f1b-6b84-4b81-be19-6718320ae66c' 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>ocean depth at U points</dd><dt><span>units :</span></dt><dd>centimeter</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HUS</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-fd9fd60b-3439-49d0-94fa-4a624df2a433' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fd9fd60b-3439-49d0-94fa-4a624df2a433' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-73ccbfdd-cf06-411c-b040-d80ad3bffde1' class='xr-var-data-in' type='checkbox'><label for='data-73ccbfdd-cf06-411c-b040-d80ad3bffde1' 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>cell widths on South sides of U cell</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>HUW</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-714ecb4a-77f1-4f86-914b-fb868f4ee48c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-714ecb4a-77f1-4f86-914b-fb868f4ee48c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-40e5a553-6dd0-47a5-a3a4-545ba6a130e4' class='xr-var-data-in' type='checkbox'><label for='data-40e5a553-6dd0-47a5-a3a4-545ba6a130e4' 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>cell widths on West sides of U cell</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>KMT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-c3a501ae-10b7-44d1-a62f-804606009071' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c3a501ae-10b7-44d1-a62f-804606009071' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-62235660-5da6-4567-9edb-1189060e8ac7' class='xr-var-data-in' type='checkbox'><label for='data-62235660-5da6-4567-9edb-1189060e8ac7' 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>k Index of Deepest Grid Cell on T Grid</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>KMU</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-5335b017-bfba-4244-ba18-c17700a022a2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5335b017-bfba-4244-ba18-c17700a022a2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2d459b77-3a9d-44a9-ab9a-6755915a7456' class='xr-var-data-in' type='checkbox'><label for='data-2d459b77-3a9d-44a9-ab9a-6755915a7456' 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>k Index of Deepest Grid Cell on U Grid</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>REGION_MASK</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-48fb7647-215d-45eb-858e-852e992f084b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-48fb7647-215d-45eb-858e-852e992f084b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4c6cd938-c44f-4594-9e80-574e98c01550' class='xr-var-data-in' type='checkbox'><label for='data-4c6cd938-c44f-4594-9e80-574e98c01550' 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>basin index number (signed integers)</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>T0_Kelvin</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-b3c21377-c420-402a-af68-96dd74764752' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b3c21377-c420-402a-af68-96dd74764752' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-df45f007-de86-4e8d-99f7-64915cb239bd' class='xr-var-data-in' type='checkbox'><label for='data-df45f007-de86-4e8d-99f7-64915cb239bd' 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>Zero Point for Celsius</dd><dt><span>units :</span></dt><dd>degK</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>TAREA</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-77b2eb36-3cae-4246-aa14-d74b02769c79' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-77b2eb36-3cae-4246-aa14-d74b02769c79' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4ee5fb88-2a0f-4dbf-b843-ba66fc065f9b' class='xr-var-data-in' type='checkbox'><label for='data-4ee5fb88-2a0f-4dbf-b843-ba66fc065f9b' 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>area of T cells</dd><dt><span>units :</span></dt><dd>centimeter^2</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>TLAT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-3381d2bf-c10c-4e3a-a0a6-e49f7ef476f1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3381d2bf-c10c-4e3a-a0a6-e49f7ef476f1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-999c025c-05e5-4742-8e5c-89125db65d63' class='xr-var-data-in' type='checkbox'><label for='data-999c025c-05e5-4742-8e5c-89125db65d63' 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>T-grid latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>TLONG</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-d518b7b1-87ab-4999-a25a-c1bdddf43317' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d518b7b1-87ab-4999-a25a-c1bdddf43317' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-56b891e5-1ba0-4d42-bc85-766b8a4c1a44' class='xr-var-data-in' type='checkbox'><label for='data-56b891e5-1ba0-4d42-bc85-766b8a4c1a44' 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>T-grid longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>UAREA</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-db29f3fe-c2f0-483d-b46d-bde6f95c6d36' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-db29f3fe-c2f0-483d-b46d-bde6f95c6d36' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c8d7851f-e5a5-4976-8d02-47763b9c5db1' class='xr-var-data-in' type='checkbox'><label for='data-c8d7851f-e5a5-4976-8d02-47763b9c5db1' 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>area of U cells</dd><dt><span>units :</span></dt><dd>centimeter^2</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ULAT</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-1e5be7d9-1be3-4246-8bcf-810d0ba116c9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1e5be7d9-1be3-4246-8bcf-810d0ba116c9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-64271119-f2f0-44a8-941d-ab5a146ecef0' class='xr-var-data-in' type='checkbox'><label for='data-64271119-f2f0-44a8-941d-ab5a146ecef0' 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>array of u-grid latitudes</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ULONG</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-4847c362-eb89-4989-bf8f-e78ae174e00f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4847c362-eb89-4989-bf8f-e78ae174e00f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a92673d8-61bb-427c-b0fb-3bc8c4ecb08d' class='xr-var-data-in' type='checkbox'><label for='data-a92673d8-61bb-427c-b0fb-3bc8c4ecb08d' 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>array of u-grid longitudes</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>area_m2</span></div><div class='xr-var-dims'>(nlat, nlon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-b0ebbdfa-c91b-4fd3-a5c6-2fc3f2c52f2e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b0ebbdfa-c91b-4fd3-a5c6-2fc3f2c52f2e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e8267ca3-b634-4f49-81c4-5f5ee11b64be' class='xr-var-data-in' type='checkbox'><label for='data-e8267ca3-b634-4f49-81c4-5f5ee11b64be' 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>area of T cells</dd><dt><span>units :</span></dt><dd>m^2</dd></dl></div><div class='xr-var-data'><pre>[122880 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cp_air</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-6667e5bb-ae47-46f1-aced-a275a5d08b4d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6667e5bb-ae47-46f1-aced-a275a5d08b4d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1ccc81ef-cced-4f49-973d-078da77a503a' class='xr-var-data-in' type='checkbox'><label for='data-1ccc81ef-cced-4f49-973d-078da77a503a' 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>Heat Capacity of Air</dd><dt><span>units :</span></dt><dd>joule/kg/degK</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cp_sw</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-c10169cc-0f20-41e4-ab44-b0e22cb04ce2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c10169cc-0f20-41e4-ab44-b0e22cb04ce2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-67173a43-eb95-4037-8d77-da80b0592645' class='xr-var-data-in' type='checkbox'><label for='data-67173a43-eb95-4037-8d77-da80b0592645' 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>Specific Heat of Sea Water</dd><dt><span>units :</span></dt><dd>erg/g/K</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>days_in_norm_year</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-3bce49db-5f59-44c5-a3de-c735dabf0189' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3bce49db-5f59-44c5-a3de-c735dabf0189' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-400c6d5e-1e29-4e4d-a334-53307d4a3f03' class='xr-var-data-in' type='checkbox'><label for='data-400c6d5e-1e29-4e4d-a334-53307d4a3f03' 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>Calendar Length</dd><dt><span>units :</span></dt><dd>days</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>elapsed_time</span></div><div class='xr-var-dims'>(elapsed_time)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 31 59 90 ... 5353 5383 5414 5444</div><input id='attrs-4b73b8d0-1533-4b18-8722-ad2c8c613ab0' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4b73b8d0-1533-4b18-8722-ad2c8c613ab0' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4b6d928d-23db-4146-8786-c86d71acd3ea' class='xr-var-data-in' type='checkbox'><label for='data-4b6d928d-23db-4146-8786-c86d71acd3ea' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>days</dd></dl></div><div class='xr-var-data'><pre>array([ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,\n",
" 365, 396, 424, 455, 485, 516, 546, 577, 608, 638, 669, 699,\n",
" 730, 761, 789, 820, 850, 881, 911, 942, 973, 1003, 1034, 1064,\n",
" 1095, 1126, 1154, 1185, 1215, 1246, 1276, 1307, 1338, 1368, 1399, 1429,\n",
" 1460, 1491, 1519, 1550, 1580, 1611, 1641, 1672, 1703, 1733, 1764, 1794,\n",
" 1825, 1856, 1884, 1915, 1945, 1976, 2006, 2037, 2068, 2098, 2129, 2159,\n",
" 2190, 2221, 2249, 2280, 2310, 2341, 2371, 2402, 2433, 2463, 2494, 2524,\n",
" 2555, 2586, 2614, 2645, 2675, 2706, 2736, 2767, 2798, 2828, 2859, 2889,\n",
" 2920, 2951, 2979, 3010, 3040, 3071, 3101, 3132, 3163, 3193, 3224, 3254,\n",
" 3285, 3316, 3344, 3375, 3405, 3436, 3466, 3497, 3528, 3558, 3589, 3619,\n",
" 3650, 3681, 3709, 3740, 3770, 3801, 3831, 3862, 3893, 3923, 3954, 3984,\n",
" 4015, 4046, 4074, 4105, 4135, 4166, 4196, 4227, 4258, 4288, 4319, 4349,\n",
" 4380, 4411, 4439, 4470, 4500, 4531, 4561, 4592, 4623, 4653, 4684, 4714,\n",
" 4745, 4776, 4804, 4835, 4865, 4896, 4926, 4957, 4988, 5018, 5049, 5079,\n",
" 5110, 5141, 5169, 5200, 5230, 5261, 5291, 5322, 5353, 5383, 5414, 5444])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>fwflux_factor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-7e654c0a-e19e-43d6-ac6c-de1f74946c7a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-7e654c0a-e19e-43d6-ac6c-de1f74946c7a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-0a9244bf-ccd8-466a-9009-858cd69dc75c' class='xr-var-data-in' type='checkbox'><label for='data-0a9244bf-ccd8-466a-9009-858cd69dc75c' 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>Convert Net Fresh Water Flux to Salt Flux (in model units)</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>grav</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-4013802d-87e5-4c61-8440-6191d553a5f4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4013802d-87e5-4c61-8440-6191d553a5f4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d3f4a6a9-f820-4934-b88f-0d60c01b0182' class='xr-var-data-in' type='checkbox'><label for='data-d3f4a6a9-f820-4934-b88f-0d60c01b0182' 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>Acceleration Due to Gravity</dd><dt><span>units :</span></dt><dd>centimeter/s^2</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>heat_to_PW</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-816a8296-885e-41ed-9f3e-5e969cb93a74' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-816a8296-885e-41ed-9f3e-5e969cb93a74' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fc614653-7411-4d56-9ff4-7c7007b8e688' class='xr-var-data-in' type='checkbox'><label for='data-fc614653-7411-4d56-9ff4-7c7007b8e688' 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>Convert Heat Flux to Petawatts</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>hflux_factor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-eb50a0d6-2a69-4af2-a3aa-7f7c81278810' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-eb50a0d6-2a69-4af2-a3aa-7f7c81278810' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b86ed592-b476-4cca-b130-4369c9d35e6c' class='xr-var-data-in' type='checkbox'><label for='data-b86ed592-b476-4cca-b130-4369c9d35e6c' 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>Convert Heat and Solar Flux to Temperature Flux</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>intervention_date</span></div><div class='xr-var-dims'>(intervention_date)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1999-01-01 00:00:00</div><input id='attrs-8f465fec-98db-426f-93bb-235bc5fe0cda' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8f465fec-98db-426f-93bb-235bc5fe0cda' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fdc22522-6630-4469-b9d9-e1dc6e909e4a' class='xr-var-data-in' type='checkbox'><label for='data-fdc22522-6630-4469-b9d9-e1dc6e909e4a' 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>intervention date</dd></dl></div><div class='xr-var-data'><pre>array([cftime.DatetimeNoLeap(1999, 1, 1, 0, 0, 0, 0, has_year_zero=True)],\n",
" dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latent_heat_fusion</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-0fe0b8df-5bf8-42ed-8175-1082e27476b0' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0fe0b8df-5bf8-42ed-8175-1082e27476b0' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c75c9077-26d5-45ad-8125-2a6d7329c45b' class='xr-var-data-in' type='checkbox'><label for='data-c75c9077-26d5-45ad-8125-2a6d7329c45b' 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>Latent Heat of Fusion</dd><dt><span>units :</span></dt><dd>erg/g</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latent_heat_fusion_mks</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-99a665c5-ac04-41e8-a622-1e13eb23757f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-99a665c5-ac04-41e8-a622-1e13eb23757f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a8589ca8-6861-4ae3-8402-fa8ca82c6405' class='xr-var-data-in' type='checkbox'><label for='data-a8589ca8-6861-4ae3-8402-fa8ca82c6405' 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>Latent Heat of Fusion</dd><dt><span>units :</span></dt><dd>J/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latent_heat_vapor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-11768ec2-ee05-4453-94ee-d79d399b5eeb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-11768ec2-ee05-4453-94ee-d79d399b5eeb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-63b25fcc-eb6c-4a53-8704-5354c2716af3' class='xr-var-data-in' type='checkbox'><label for='data-63b25fcc-eb6c-4a53-8704-5354c2716af3' 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>Latent Heat of Vaporization</dd><dt><span>units :</span></dt><dd>J/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>mass_to_Sv</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-671567f4-1420-4ea0-828c-3ddf71b1b399' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-671567f4-1420-4ea0-828c-3ddf71b1b399' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dfe0f35f-4910-4357-8baa-78b1fd375b89' class='xr-var-data-in' type='checkbox'><label for='data-dfe0f35f-4910-4357-8baa-78b1fd375b89' 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>Convert Mass Flux to Sverdrups</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>momentum_factor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-9b7a5715-e801-48b3-a9da-47404b9c2f7f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9b7a5715-e801-48b3-a9da-47404b9c2f7f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d0b865a7-6053-4024-9321-d70ae0ad1c2c' class='xr-var-data-in' type='checkbox'><label for='data-d0b865a7-6053-4024-9321-d70ae0ad1c2c' 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>Convert Windstress to Velocity Flux</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>nsurface_t</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-a81f9690-c670-4185-8496-a10b0ffafc48' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a81f9690-c670-4185-8496-a10b0ffafc48' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b171c54d-5946-4a2b-bb19-9c690f3f59bf' class='xr-var-data-in' type='checkbox'><label for='data-b171c54d-5946-4a2b-bb19-9c690f3f59bf' 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>Number of Ocean T Points at Surface</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>nsurface_u</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-0a917e9a-e89e-4b0e-9837-aa194e08303a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0a917e9a-e89e-4b0e-9837-aa194e08303a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-feb82b75-a2d8-4860-a75f-134573706c55' class='xr-var-data-in' type='checkbox'><label for='data-feb82b75-a2d8-4860-a75f-134573706c55' 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>Number of Ocean U Points at Surface</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ocn_ref_salinity</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-1c293fde-abab-4fb7-8df1-1b7493e1e7ff' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1c293fde-abab-4fb7-8df1-1b7493e1e7ff' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1fc6ce61-0086-4c4f-a161-bf04dd3521e9' class='xr-var-data-in' type='checkbox'><label for='data-1fc6ce61-0086-4c4f-a161-bf04dd3521e9' 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>Ocean Reference Salinity</dd><dt><span>units :</span></dt><dd>g/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>omega</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-3e56b0ed-bdc5-414d-8052-292c19f65892' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3e56b0ed-bdc5-414d-8052-292c19f65892' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ec9de68d-6cf9-4cd9-bf6a-21009d748a22' class='xr-var-data-in' type='checkbox'><label for='data-ec9de68d-6cf9-4cd9-bf6a-21009d748a22' 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>Earths Angular Velocity</dd><dt><span>units :</span></dt><dd>1/second</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>polygon_id</span></div><div class='xr-var-dims'>(polygon_id)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0</div><input id='attrs-2aa77b3f-2b4c-4063-aec5-0dfac68b7db9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2aa77b3f-2b4c-4063-aec5-0dfac68b7db9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5f07c8a7-fc4a-4d50-9aa2-8b842ab7007f' class='xr-var-data-in' type='checkbox'><label for='data-5f07c8a7-fc4a-4d50-9aa2-8b842ab7007f' 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>polygon ID</dd></dl></div><div class='xr-var-data'><pre>array([0], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ppt_to_salt</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-0e7dbe2b-63ab-47b0-95e5-ae6c7e763552' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0e7dbe2b-63ab-47b0-95e5-ae6c7e763552' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7f1e3bf7-78e9-4528-a574-f3d093ba6279' class='xr-var-data-in' type='checkbox'><label for='data-7f1e3bf7-78e9-4528-a574-f3d093ba6279' 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>Convert Salt in g/kg to gram/gram</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>radius</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-285bb1fd-a841-4c7b-a6d6-879789d8ac42' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-285bb1fd-a841-4c7b-a6d6-879789d8ac42' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-766e4d04-0f92-4953-b2c2-ac30271b40ac' class='xr-var-data-in' type='checkbox'><label for='data-766e4d04-0f92-4953-b2c2-ac30271b40ac' 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>Earths Radius</dd><dt><span>units :</span></dt><dd>centimeters</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>rho_air</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-bd99d59f-a991-4ff8-b690-3bf19bed6394' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bd99d59f-a991-4ff8-b690-3bf19bed6394' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e5d21ff6-9018-4d2c-b461-71ac0e377c58' class='xr-var-data-in' type='checkbox'><label for='data-e5d21ff6-9018-4d2c-b461-71ac0e377c58' 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>Ambient Air Density</dd><dt><span>units :</span></dt><dd>kg/m^3</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>rho_fw</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-ad62213c-8e08-4155-9db4-263e4fde5312' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ad62213c-8e08-4155-9db4-263e4fde5312' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e9cf6897-6e52-4a6f-aaa3-fbbfa1c48bcb' class='xr-var-data-in' type='checkbox'><label for='data-e9cf6897-6e52-4a6f-aaa3-fbbfa1c48bcb' 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>Density of Fresh Water</dd><dt><span>units :</span></dt><dd>gram/centimeter^3</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>rho_sw</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-2e5c8e74-57b1-4db7-b2ac-b43602bcb14c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2e5c8e74-57b1-4db7-b2ac-b43602bcb14c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6720110f-2c38-42aa-a735-b668963b0388' class='xr-var-data-in' type='checkbox'><label for='data-6720110f-2c38-42aa-a735-b668963b0388' 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>Density of Sea Water</dd><dt><span>units :</span></dt><dd>gram/centimeter^3</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>salinity_factor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-adc1b359-cc33-46c8-a3a7-e483f32e2769' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-adc1b359-cc33-46c8-a3a7-e483f32e2769' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-046da27a-7204-4079-9ef5-21627c53b05c' class='xr-var-data-in' type='checkbox'><label for='data-046da27a-7204-4079-9ef5-21627c53b05c' 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>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>salt_to_Svppt</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-622b55e1-7096-4b26-aa84-1352c3cae7e9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-622b55e1-7096-4b26-aa84-1352c3cae7e9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-48d99be1-eb68-4a0d-bc72-2a30eb3fb967' class='xr-var-data-in' type='checkbox'><label for='data-48d99be1-eb68-4a0d-bc72-2a30eb3fb967' 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>Convert Salt Flux to Sverdrups*g/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>salt_to_mmday</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-afba8e22-1000-46b0-8ff4-abf32db109f1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-afba8e22-1000-46b0-8ff4-abf32db109f1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e681f9c6-a989-4804-a64e-be07b44e867c' class='xr-var-data-in' type='checkbox'><label for='data-e681f9c6-a989-4804-a64e-be07b44e867c' 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>Convert Salt to Water (millimeters/day)</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>salt_to_ppt</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-7d3d2fb6-e6d7-4268-ac0a-e9be2f318e7f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-7d3d2fb6-e6d7-4268-ac0a-e9be2f318e7f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cecb6521-a767-4ff2-891e-554b27d67056' class='xr-var-data-in' type='checkbox'><label for='data-cecb6521-a767-4ff2-891e-554b27d67056' 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>Convert Salt in gram/gram to g/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sea_ice_salinity</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-2cb2db34-9510-4c7e-aebf-bc6f9207611b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2cb2db34-9510-4c7e-aebf-bc6f9207611b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6d1a26c2-4788-4b27-a412-a07cd94077a2' class='xr-var-data-in' type='checkbox'><label for='data-6d1a26c2-4788-4b27-a412-a07cd94077a2' 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>Salinity of Sea Ice</dd><dt><span>units :</span></dt><dd>g/kg</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sflux_factor</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-4e146705-fe25-41dc-9c46-1b1a67a6ca88' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4e146705-fe25-41dc-9c46-1b1a67a6ca88' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b94852c2-97e6-4e61-9ec4-c0b7e36d6d4d' class='xr-var-data-in' type='checkbox'><label for='data-b94852c2-97e6-4e61-9ec4-c0b7e36d6d4d' 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>Convert Salt Flux to Salt Flux (in model units)</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sound</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-3e1804b3-402e-4a36-9e8f-7940980d36d7' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3e1804b3-402e-4a36-9e8f-7940980d36d7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2d8bb9d5-e792-4d02-a591-865273ae6611' class='xr-var-data-in' type='checkbox'><label for='data-2d8bb9d5-e792-4d02-a591-865273ae6611' 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>Speed of Sound</dd><dt><span>units :</span></dt><dd>centimeter/s</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>stefan_boltzmann</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-895d061b-792f-40aa-a47a-1b812fe4780e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-895d061b-792f-40aa-a47a-1b812fe4780e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a735ea2b-b5fe-48c6-8da3-eb35d4bb7d2a' class='xr-var-data-in' type='checkbox'><label for='data-a735ea2b-b5fe-48c6-8da3-eb35d4bb7d2a' 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>Stefan-Boltzmann Constant</dd><dt><span>units :</span></dt><dd>watt/m^2/degK^4</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>time_delta</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-e880eabc-d82f-4ade-9e60-c155917c9839' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e880eabc-d82f-4ade-9e60-c155917c9839' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c75055c8-a6f4-4c15-a363-5b6d5c74d8e5' class='xr-var-data-in' type='checkbox'><label for='data-c75055c8-a6f4-4c15-a363-5b6d5c74d8e5' 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>∆t</dd><dt><span>units :</span></dt><dd>days</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>vonkar</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-f74d47ef-c522-47e2-9db5-65f6a3df7478' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f74d47ef-c522-47e2-9db5-65f6a3df7478' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-59bd36fd-dca8-46fa-a7a9-3edafb43fc1a' class='xr-var-data-in' type='checkbox'><label for='data-59bd36fd-dca8-46fa-a7a9-3edafb43fc1a' 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>von Karman Constant</dd></dl></div><div class='xr-var-data'><pre>[1 values with dtype=float64]</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0ca84926-f592-483b-ad7f-bf8ef0b0cabc' class='xr-section-summary-in' type='checkbox' checked><label for='section-0ca84926-f592-483b-ad7f-bf8ef0b0cabc' 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>FG_CO2_excess</span></div><div class='xr-var-dims'>(polygon_id, intervention_date, elapsed_time, nlat, nlon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>...</div><input id='attrs-880a4d32-5732-4f6e-a8df-cdb4e4763fb1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-880a4d32-5732-4f6e-a8df-cdb4e4763fb1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d4859936-0e1f-4e4b-882f-6c1c58fb8adf' class='xr-var-data-in' type='checkbox'><label for='data-d4859936-0e1f-4e4b-882f-6c1c58fb8adf' 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>[22118400 values with dtype=float32]</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-faaf6fc8-d3c2-4701-bb94-fa0f99a21b72' class='xr-section-summary-in' type='checkbox' ><label for='section-faaf6fc8-d3c2-4701-bb94-fa0f99a21b72' class='xr-section-summary' >Indexes: <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-index-name'><div>elapsed_time</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-dfd76759-717f-48d2-8314-5250121e5e3e' class='xr-index-data-in' type='checkbox'/><label for='index-dfd76759-717f-48d2-8314-5250121e5e3e' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273,\n",
" ...\n",
" 5169, 5200, 5230, 5261, 5291, 5322, 5353, 5383, 5414, 5444],\n",
" dtype=&#x27;int64&#x27;, name=&#x27;elapsed_time&#x27;, length=180))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>intervention_date</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-6d32898d-139a-433c-b18f-349c9cca22c6' class='xr-index-data-in' type='checkbox'/><label for='index-6d32898d-139a-433c-b18f-349c9cca22c6' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(CFTimeIndex([1999-01-01 00:00:00],\n",
" dtype=&#x27;object&#x27;, length=1, calendar=&#x27;noleap&#x27;, freq=None))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>polygon_id</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-006bf9f2-2fa4-4c4c-82b4-be74d33b21ac' class='xr-index-data-in' type='checkbox'/><label for='index-006bf9f2-2fa4-4c4c-82b4-be74d33b21ac' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([0], dtype=&#x27;int32&#x27;, name=&#x27;polygon_id&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-a49e3a47-e176-4ca8-8a42-ce0a46637c15' class='xr-section-summary-in' type='checkbox' ><label for='section-a49e3a47-e176-4ca8-8a42-ce0a46637c15' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.0; http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-current.htm</dd><dt><span>calendar :</span></dt><dd>All years have exactly 365 days.</dd><dt><span>cell_methods :</span></dt><dd>cell_methods = time: mean ==&gt; the variable values are averaged over the time interval between the previous time coordinate and the current one. cell_methods absent ==&gt; the variable values are at the time given by the current time coordinate.</dd><dt><span>contents :</span></dt><dd>Diagnostic and Prognostic Variables</dd><dt><span>history :</span></dt><dd>none</dd><dt><span>model_doi_url :</span></dt><dd>https://doi.org/10.5065/D67H1H0V</dd><dt><span>revision :</span></dt><dd>$Id$</dd><dt><span>source :</span></dt><dd>CCSM POP2, the CCSM Ocean Component</dd><dt><span>start_time :</span></dt><dd>This dataset was created on 2024-11-04 at 21:08:03.3</dd><dt><span>time_period_freq :</span></dt><dd>month_1</dd><dt><span>title :</span></dt><dd>smyle.cdr-atlas-v0.glb-dor_North_Atlantic_basin_000_1999-01-01_00000.001</dd></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset> Size: 110MB\n",
"Dimensions: (nlat: 384, nlon: 320, polygon_id: 1,\n",
" intervention_date: 1, elapsed_time: 180)\n",
"Coordinates: (12/57)\n",
" ANGLE (nlat, nlon) float64 983kB ...\n",
" ANGLET (nlat, nlon) float64 983kB ...\n",
" DXT (nlat, nlon) float64 983kB ...\n",
" DXU (nlat, nlon) float64 983kB ...\n",
" DYT (nlat, nlon) float64 983kB ...\n",
" DYU (nlat, nlon) float64 983kB ...\n",
" ... ...\n",
" sea_ice_salinity float64 8B ...\n",
" sflux_factor float64 8B ...\n",
" sound float64 8B ...\n",
" stefan_boltzmann float64 8B ...\n",
" time_delta float64 8B ...\n",
" vonkar float64 8B ...\n",
"Dimensions without coordinates: nlat, nlon\n",
"Data variables:\n",
" FG_CO2_excess (polygon_id, intervention_date, elapsed_time, nlat, nlon) float32 88MB ...\n",
"Attributes:\n",
" Conventions: CF-1.0; http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-cu...\n",
" calendar: All years have exactly 365 days.\n",
" cell_methods: cell_methods = time: mean ==> the variable values are ...\n",
" contents: Diagnostic and Prognostic Variables\n",
" history: none\n",
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n",
" revision: $Id$\n",
" source: CCSM POP2, the CCSM Ocean Component\n",
" start_time: This dataset was created on 2024-11-04 at 21:08:03.3\n",
" time_period_freq: month_1\n",
" title: smyle.cdr-atlas-v0.glb-dor_North_Atlantic_basin_000_19..."
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds = xr.open_dataset(one_polygon_single_season_path, engine='zarr', decode_timedelta=False)\n",
"ds"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3cc7611d-76bb-4dd5-a8f8-3d72a9e5909f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/South_final_polygon_mask_120EEZ_180openocean.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Atlantic_final_cluster_centers.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Pacific_final_cluster_centers.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Atlantic_final_polygon_mask.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Pacific_final_polygon_mask.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Southern_Ocean_final_cluster_centers.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/South_final_cluster_centers_120EEZ_180openocean.npy',\n",
" '/global/u2/a/abanihi/.cache/pooch/b6457cd1b506d311e3fecc3adcd3bdc1-data.zip.unzip/data/polygon_data/Southern_Ocean_final_polygon_mask.npy']"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grid = pop_tools.get_grid('POP_gx1v7')\n",
"file_paths = pooch.retrieve(\n",
" url=\"https://storage.googleapis.com/oae-dor-global-efficiency-mtyka/data.zip\",\n",
" known_hash=\"md5:4251a7b2bf023c282bccce6cdef976d7\",\n",
" processor=pooch.Unzip(members=['data/polygon_data/Pacific_final_cluster_centers.npy', \n",
" 'data/polygon_data/Atlantic_final_cluster_centers.npy', \n",
" 'data/polygon_data/South_final_cluster_centers_120EEZ_180openocean.npy', \n",
" 'data/polygon_data/Southern_Ocean_final_cluster_centers.npy', \n",
" 'data/polygon_data/Pacific_final_polygon_mask.npy',\n",
" 'data/polygon_data/Atlantic_final_polygon_mask.npy',\n",
" 'data/polygon_data/South_final_polygon_mask_120EEZ_180openocean.npy',\n",
" 'data/polygon_data/Southern_Ocean_final_polygon_mask.npy'\n",
" ])\n",
")\n",
"\n",
"file_paths"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "9e6b5380-cd16-406e-979e-1a1cf54c5408",
"metadata": {},
"outputs": [],
"source": [
"def load_cluster_centers_and_masks(file_paths):\n",
" \"\"\"Load cluster centers from files based on region identifiers in file paths.\"\"\"\n",
" # Define region keys and their file identifiers\n",
" region_identifiers = {\n",
" \"North_Atlantic_basin\": \"Atlantic\",\n",
" \"North_Pacific_basin\": \"Pacific_final_cluster_centers\",\n",
" \"South\": \"South_final\",\n",
" \"Southern_Ocean\": \"Southern_Ocean\"\n",
" }\n",
" \n",
" # Initialize dictionary to store cluster centers by region\n",
" cluster_centers = {region: None for region in region_identifiers}\n",
" cluster_masks = {region: None for region in region_identifiers}\n",
" \n",
" # Load cluster centers for each region\n",
" for path in file_paths:\n",
" for region, identifier in region_identifiers.items():\n",
" if 'center' in path and identifier in path:\n",
" cluster_centers[region] = np.load(path, allow_pickle=True)\n",
" break\n",
" elif 'mask' in path and identifier in path:\n",
" cluster_masks[region] = np.load(path, allow_pickle=True)\n",
" break\n",
" \n",
" return cluster_centers, cluster_masks\n",
"\n",
"cluster_centers, cluster_masks = load_cluster_centers_and_masks(file_paths)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "64cb3870-e41c-4156-be93-516deb4512d8",
"metadata": {},
"outputs": [],
"source": [
"def calculate_distance(target, grid):\n",
" tlong = grid.TLONG.values\n",
" tlat = grid.TLAT.values\n",
" n, m = tlong.shape\n",
" distance = np.zeros_like(tlong)\n",
" for idx in range(n):\n",
" for idy in range(m):\n",
" distance[idx, idy] = gsw.distance([tlong[idx,idy], target[0]], [tlat[idx,idy], target[1]])\n",
" return distance\n",
"\n",
"def make_rings(dist, num_rings:int=100):\n",
" \"\"\"\n",
" Return ring matrix, assign each grid point to a certain ring\n",
" \"\"\"\n",
" bin_edges = np.arange(0, 4100*1e3, 50*1e3)\n",
" # use digitize to assign each point to a ring\n",
" rings = np.digitize(dist, bin_edges, right=True)\n",
" return bin_edges, rings"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "07b44f66-04fe-47a3-ba59-aa31a6088c19",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(150, 2)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"centers = cluster_centers[region]\n",
"centers.shape"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "8d6a953b-7bac-4e4c-a82b-40c4ee999920",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/pscratch/sd/a/abanihi/ipykernel_159969/169468976.py:8: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n",
" distance[idx, idy] = gsw.distance([tlong[idx,idy], target[0]], [tlat[idx,idy], target[1]])\n"
]
},
{
"data": {
"text/plain": [
"array([[15459541.070673 , 15463116.70239444, 15467041.25947087, ...,\n",
" 15450914.38140498, 15453439.31354815, 15456315.06405404],\n",
" [15400763.20875984, 15404474.53977151, 15408548.09039083, ...,\n",
" 15391809.31217085, 15394429.98708147, 15397414.81023316],\n",
" [15341972.39136462, 15345816.60499384, 15350036.05633477, ...,\n",
" 15332698.07840241, 15335412.50913407, 15338504.14122292],\n",
" ...,\n",
" [ 1377091.74288757, 1385364.36048728, 1394305.97562688, ...,\n",
" 1356512.89499249, 1362645.69127487, 1369511.69473692],\n",
" [ 1421629.172033 , 1428949.88702016, 1436874.42623623, ...,\n",
" 1403478.52293601, 1408876.60399791, 1414932.10402076],\n",
" [ 1467061.30118733, 1473463.56855514, 1480404.13341932, ...,\n",
" 1451240.79127937, 1455936.0126484 , 1461213.84446665]])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"distances = calculate_distance(centers[original_polygon_id], grid)\n",
"distances"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2aa4124b-129d-480d-a2fb-4f8d9870d9a1",
"metadata": {},
"outputs": [],
"source": [
"bin_edges, rings = make_rings(distances)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "3db0d1b4-9f40-42e3-ab31-84dc863688d4",
"metadata": {},
"outputs": [],
"source": [
"def compute_cumulative_FG_CO2_ring_dask(dset, polygon_id, intervention_month, bin_edges, rings):\n",
" \"\"\"Compute cumulative FG CO2 by ring, with Dask support for parallel processing.\"\"\"\n",
" \n",
" FG_CO2_excess_area_time = (dset.FG_CO2_excess * dset.TAREA * dset.time_delta) / 1e6 * 86400 # mmol\n",
" \n",
" rings_da = da.from_array(rings, chunks=-1)\n",
" \n",
" total_FG_CO2 = FG_CO2_excess_area_time.sum(dim=['elapsed_time', 'nlat', 'nlon'])\n",
" \n",
" num_time = FG_CO2_excess_area_time.sizes['elapsed_time']\n",
" num_rings = len(bin_edges)\n",
"\n",
" result = []\n",
" \n",
" # Process each ring\n",
" for idx in range(num_rings):\n",
" ring_mask = xr.where(rings_da == idx+1, 1, 0)\n",
" \n",
" # Calculate ring values and store in list\n",
" ring_values = (FG_CO2_excess_area_time * ring_mask).sum(dim=['nlat', 'nlon'])\n",
" result.append(ring_values)\n",
" \n",
" # Combine results along a new dimension\n",
" FG_CO2_rings = xr.concat(result, dim=xr.DataArray(range(num_rings), dims='ring_idx'))\n",
" FG_CO2_rings = FG_CO2_rings.transpose('elapsed_time', 'ring_idx', ...)\n",
" \n",
"\n",
" FG_CO2_rings_per = FG_CO2_rings / total_FG_CO2\n",
" \n",
"\n",
" ds = xr.Dataset({\n",
" 'FG_CO2_percent': (['intervention_date', 'elapsed_time', 'dist2center'], \n",
" FG_CO2_rings_per.data.reshape(1, num_time, num_rings))\n",
" }, coords={\n",
" 'intervention_month': [int(intervention_month)],\n",
" 'elapsed_time': np.arange(num_time).astype('int32'),\n",
" 'dist2center': bin_edges\n",
" })\n",
" \n",
"\n",
" ds = ds.expand_dims(polygon_id=[polygon_id])\n",
" \n",
" return ds"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "dadc1385-b690-40a5-9aee-935a5d00237c",
"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 jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=\"dark\"],\n",
"html[data-theme=\"dark\"],\n",
"body[data-theme=\"dark\"],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1f1f1f;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\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-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\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",
"}\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",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\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);\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",
" padding-bottom: 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-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\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",
" margin-bottom: 0;\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",
"}\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",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-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-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",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt; Size: 119kB\n",
"Dimensions: (polygon_id: 1, intervention_date: 1,\n",
" elapsed_time: 180, dist2center: 82,\n",
" intervention_month: 1)\n",
"Coordinates:\n",
" * polygon_id (polygon_id) object 8B &#x27;000&#x27;\n",
" * intervention_month (intervention_month) int64 8B 1\n",
" * elapsed_time (elapsed_time) int32 720B 0 1 2 3 4 ... 176 177 178 179\n",
" * dist2center (dist2center) float64 656B 0.0 5e+04 ... 4e+06 4.05e+06\n",
"Dimensions without coordinates: intervention_date\n",
"Data variables:\n",
" FG_CO2_percent (polygon_id, intervention_date, elapsed_time, dist2center) float64 118kB dask.array&lt;chunksize=(1, 1, 180, 1), 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-d4b766c5-6109-46b3-b12f-bcc87bdabc16' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d4b766c5-6109-46b3-b12f-bcc87bdabc16' 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'>polygon_id</span>: 1</li><li><span>intervention_date</span>: 1</li><li><span class='xr-has-index'>elapsed_time</span>: 180</li><li><span class='xr-has-index'>dist2center</span>: 82</li><li><span class='xr-has-index'>intervention_month</span>: 1</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-193f61fb-382d-4134-94b3-6cca0ac82c1c' class='xr-section-summary-in' type='checkbox' checked><label for='section-193f61fb-382d-4134-94b3-6cca0ac82c1c' class='xr-section-summary' >Coordinates: <span>(4)</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'>polygon_id</span></div><div class='xr-var-dims'>(polygon_id)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>&#x27;000&#x27;</div><input id='attrs-49ae2a79-5012-4e8f-9651-abf17b6d48eb' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-49ae2a79-5012-4e8f-9651-abf17b6d48eb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-57845e6a-8bc2-4ecc-b100-32e93d894d31' class='xr-var-data-in' type='checkbox'><label for='data-57845e6a-8bc2-4ecc-b100-32e93d894d31' 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;000&#x27;], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>intervention_month</span></div><div class='xr-var-dims'>(intervention_month)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>1</div><input id='attrs-1ee88e1c-fb6e-427a-90f0-da73a2e0cbc8' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1ee88e1c-fb6e-427a-90f0-da73a2e0cbc8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ad2b3efa-bc8c-4935-970d-da295f39541a' class='xr-var-data-in' type='checkbox'><label for='data-ad2b3efa-bc8c-4935-970d-da295f39541a' 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])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>elapsed_time</span></div><div class='xr-var-dims'>(elapsed_time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 ... 175 176 177 178 179</div><input id='attrs-1f68a48a-692f-4ffa-bac0-ba79ecac4dd1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1f68a48a-692f-4ffa-bac0-ba79ecac4dd1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-80b00a65-3d28-4361-96ec-c17d7f309077' class='xr-var-data-in' type='checkbox'><label for='data-80b00a65-3d28-4361-96ec-c17d7f309077' 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([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n",
" 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,\n",
" 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,\n",
" 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,\n",
" 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,\n",
" 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\n",
" 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,\n",
" 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\n",
" 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,\n",
" 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n",
" 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,\n",
" 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,\n",
" 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>dist2center</span></div><div class='xr-var-dims'>(dist2center)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 5e+04 1e+05 ... 4e+06 4.05e+06</div><input id='attrs-97a4add6-3dfc-4cf3-bb2a-26b921a7997d' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-97a4add6-3dfc-4cf3-bb2a-26b921a7997d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-89f659c6-4048-4e22-bab6-87b4862d2222' class='xr-var-data-in' type='checkbox'><label for='data-89f659c6-4048-4e22-bab6-87b4862d2222' 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([ 0., 50000., 100000., 150000., 200000., 250000., 300000.,\n",
" 350000., 400000., 450000., 500000., 550000., 600000., 650000.,\n",
" 700000., 750000., 800000., 850000., 900000., 950000., 1000000.,\n",
" 1050000., 1100000., 1150000., 1200000., 1250000., 1300000., 1350000.,\n",
" 1400000., 1450000., 1500000., 1550000., 1600000., 1650000., 1700000.,\n",
" 1750000., 1800000., 1850000., 1900000., 1950000., 2000000., 2050000.,\n",
" 2100000., 2150000., 2200000., 2250000., 2300000., 2350000., 2400000.,\n",
" 2450000., 2500000., 2550000., 2600000., 2650000., 2700000., 2750000.,\n",
" 2800000., 2850000., 2900000., 2950000., 3000000., 3050000., 3100000.,\n",
" 3150000., 3200000., 3250000., 3300000., 3350000., 3400000., 3450000.,\n",
" 3500000., 3550000., 3600000., 3650000., 3700000., 3750000., 3800000.,\n",
" 3850000., 3900000., 3950000., 4000000., 4050000.])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-43b0a98c-dc35-4724-b438-1b425ec919ef' class='xr-section-summary-in' type='checkbox' checked><label for='section-43b0a98c-dc35-4724-b438-1b425ec919ef' 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>FG_CO2_percent</span></div><div class='xr-var-dims'>(polygon_id, intervention_date, elapsed_time, dist2center)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 1, 180, 1), meta=np.ndarray&gt;</div><input id='attrs-aa24b088-f402-48bf-8e82-2386f31be81f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-aa24b088-f402-48bf-8e82-2386f31be81f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c9c985a0-6a6b-4cfa-8596-f90403688b0a' class='xr-var-data-in' type='checkbox'><label for='data-c9c985a0-6a6b-4cfa-8596-f90403688b0a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table 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> 115.31 kiB </td>\n",
" <td> 1.41 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (1, 1, 180, 82) </td>\n",
" <td> (1, 1, 180, 1) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 82 chunks in 665 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"309\" height=\"184\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"12.706308\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >1</text>\n",
" <text x=\"45.412617\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,45.412617,12.706308)\">1</text>\n",
"\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n",
" <line x1=\"95\" y1=\"120\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"95\" y1=\"0\" x2=\"95\" y2=\"120\" style=\"stroke-width:2\" />\n",
" <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"95.0,0.0 109.9485979497544,14.948597949754403 109.9485979497544,134.9485979497544 95.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"95\" y1=\"0\" x2=\"149\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"109\" y1=\"14\" x2=\"164\" y2=\"14\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"95\" y1=\"0\" x2=\"109\" y2=\"14\" style=\"stroke-width:2\" />\n",
" <line x1=\"96\" y1=\"0\" x2=\"111\" y2=\"14\" />\n",
" <line x1=\"98\" y1=\"0\" x2=\"113\" y2=\"14\" />\n",
" <line x1=\"99\" y1=\"0\" x2=\"114\" y2=\"14\" />\n",
" <line x1=\"101\" y1=\"0\" x2=\"116\" y2=\"14\" />\n",
" <line x1=\"103\" y1=\"0\" x2=\"117\" y2=\"14\" />\n",
" <line x1=\"105\" y1=\"0\" x2=\"119\" y2=\"14\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"121\" y2=\"14\" />\n",
" <line x1=\"108\" y1=\"0\" x2=\"123\" y2=\"14\" />\n",
" <line x1=\"110\" y1=\"0\" x2=\"125\" y2=\"14\" />\n",
" <line x1=\"111\" y1=\"0\" x2=\"126\" y2=\"14\" />\n",
" <line x1=\"113\" y1=\"0\" x2=\"128\" y2=\"14\" />\n",
" <line x1=\"115\" y1=\"0\" x2=\"129\" y2=\"14\" />\n",
" <line x1=\"117\" y1=\"0\" x2=\"131\" y2=\"14\" />\n",
" <line x1=\"118\" y1=\"0\" x2=\"133\" y2=\"14\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"135\" y2=\"14\" />\n",
" <line x1=\"122\" y1=\"0\" x2=\"137\" y2=\"14\" />\n",
" <line x1=\"123\" y1=\"0\" x2=\"138\" y2=\"14\" />\n",
" <line x1=\"125\" y1=\"0\" x2=\"140\" y2=\"14\" />\n",
" <line x1=\"127\" y1=\"0\" x2=\"141\" y2=\"14\" />\n",
" <line x1=\"129\" y1=\"0\" x2=\"143\" y2=\"14\" />\n",
" <line x1=\"130\" y1=\"0\" x2=\"145\" y2=\"14\" />\n",
" <line x1=\"132\" y1=\"0\" x2=\"147\" y2=\"14\" />\n",
" <line x1=\"133\" y1=\"0\" x2=\"148\" y2=\"14\" />\n",
" <line x1=\"135\" y1=\"0\" x2=\"150\" y2=\"14\" />\n",
" <line x1=\"137\" y1=\"0\" x2=\"152\" y2=\"14\" />\n",
" <line x1=\"139\" y1=\"0\" x2=\"153\" y2=\"14\" />\n",
" <line x1=\"141\" y1=\"0\" x2=\"155\" y2=\"14\" />\n",
" <line x1=\"142\" y1=\"0\" x2=\"157\" y2=\"14\" />\n",
" <line x1=\"144\" y1=\"0\" x2=\"159\" y2=\"14\" />\n",
" <line x1=\"145\" y1=\"0\" x2=\"160\" y2=\"14\" />\n",
" <line x1=\"147\" y1=\"0\" x2=\"162\" y2=\"14\" />\n",
" <line x1=\"149\" y1=\"0\" x2=\"164\" y2=\"14\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"95.0,0.0 149.66666666666666,0.0 164.61526461642106,14.948597949754403 109.9485979497544,14.948597949754403\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"109\" y1=\"14\" x2=\"164\" y2=\"14\" style=\"stroke-width:2\" />\n",
" <line x1=\"109\" y1=\"134\" x2=\"164\" y2=\"134\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"109\" y1=\"14\" x2=\"109\" y2=\"134\" style=\"stroke-width:2\" />\n",
" <line x1=\"111\" y1=\"14\" x2=\"111\" y2=\"134\" />\n",
" <line x1=\"113\" y1=\"14\" x2=\"113\" y2=\"134\" />\n",
" <line x1=\"114\" y1=\"14\" x2=\"114\" y2=\"134\" />\n",
" <line x1=\"116\" y1=\"14\" x2=\"116\" y2=\"134\" />\n",
" <line x1=\"117\" y1=\"14\" x2=\"117\" y2=\"134\" />\n",
" <line x1=\"119\" y1=\"14\" x2=\"119\" y2=\"134\" />\n",
" <line x1=\"121\" y1=\"14\" x2=\"121\" y2=\"134\" />\n",
" <line x1=\"123\" y1=\"14\" x2=\"123\" y2=\"134\" />\n",
" <line x1=\"125\" y1=\"14\" x2=\"125\" y2=\"134\" />\n",
" <line x1=\"126\" y1=\"14\" x2=\"126\" y2=\"134\" />\n",
" <line x1=\"128\" y1=\"14\" x2=\"128\" y2=\"134\" />\n",
" <line x1=\"129\" y1=\"14\" x2=\"129\" y2=\"134\" />\n",
" <line x1=\"131\" y1=\"14\" x2=\"131\" y2=\"134\" />\n",
" <line x1=\"133\" y1=\"14\" x2=\"133\" y2=\"134\" />\n",
" <line x1=\"135\" y1=\"14\" x2=\"135\" y2=\"134\" />\n",
" <line x1=\"137\" y1=\"14\" x2=\"137\" y2=\"134\" />\n",
" <line x1=\"138\" y1=\"14\" x2=\"138\" y2=\"134\" />\n",
" <line x1=\"140\" y1=\"14\" x2=\"140\" y2=\"134\" />\n",
" <line x1=\"141\" y1=\"14\" x2=\"141\" y2=\"134\" />\n",
" <line x1=\"143\" y1=\"14\" x2=\"143\" y2=\"134\" />\n",
" <line x1=\"145\" y1=\"14\" x2=\"145\" y2=\"134\" />\n",
" <line x1=\"147\" y1=\"14\" x2=\"147\" y2=\"134\" />\n",
" <line x1=\"148\" y1=\"14\" x2=\"148\" y2=\"134\" />\n",
" <line x1=\"150\" y1=\"14\" x2=\"150\" y2=\"134\" />\n",
" <line x1=\"152\" y1=\"14\" x2=\"152\" y2=\"134\" />\n",
" <line x1=\"153\" y1=\"14\" x2=\"153\" y2=\"134\" />\n",
" <line x1=\"155\" y1=\"14\" x2=\"155\" y2=\"134\" />\n",
" <line x1=\"157\" y1=\"14\" x2=\"157\" y2=\"134\" />\n",
" <line x1=\"159\" y1=\"14\" x2=\"159\" y2=\"134\" />\n",
" <line x1=\"160\" y1=\"14\" x2=\"160\" y2=\"134\" />\n",
" <line x1=\"162\" y1=\"14\" x2=\"162\" y2=\"134\" />\n",
" <line x1=\"164\" y1=\"14\" x2=\"164\" y2=\"134\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"109.9485979497544,14.948597949754403 164.61526461642106,14.948597949754403 164.61526461642106,134.9485979497544 109.9485979497544,134.9485979497544\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"137.281931\" y=\"154.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >82</text>\n",
" <text x=\"184.615265\" y=\"74.948598\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,184.615265,74.948598)\">180</text>\n",
" <text x=\"92.474299\" y=\"147.474299\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,92.474299,147.474299)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-a010bf70-acbf-473d-97ab-e7ac5187b474' class='xr-section-summary-in' type='checkbox' ><label for='section-a010bf70-acbf-473d-97ab-e7ac5187b474' class='xr-section-summary' >Indexes: <span>(4)</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-index-name'><div>intervention_month</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-539c6ba9-358a-430a-af36-22cf8ee3716e' class='xr-index-data-in' type='checkbox'/><label for='index-539c6ba9-358a-430a-af36-22cf8ee3716e' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([1], dtype=&#x27;int64&#x27;, name=&#x27;intervention_month&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>elapsed_time</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-58b4603f-e45b-4420-bf21-42791ffa12d9' class='xr-index-data-in' type='checkbox'/><label for='index-58b4603f-e45b-4420-bf21-42791ffa12d9' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n",
" ...\n",
" 170, 171, 172, 173, 174, 175, 176, 177, 178, 179],\n",
" dtype=&#x27;int32&#x27;, name=&#x27;elapsed_time&#x27;, length=180))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>dist2center</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-921a6931-4e72-4158-b935-e68567d89740' class='xr-index-data-in' type='checkbox'/><label for='index-921a6931-4e72-4158-b935-e68567d89740' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0.0, 50000.0, 100000.0, 150000.0, 200000.0, 250000.0,\n",
" 300000.0, 350000.0, 400000.0, 450000.0, 500000.0, 550000.0,\n",
" 600000.0, 650000.0, 700000.0, 750000.0, 800000.0, 850000.0,\n",
" 900000.0, 950000.0, 1000000.0, 1050000.0, 1100000.0, 1150000.0,\n",
" 1200000.0, 1250000.0, 1300000.0, 1350000.0, 1400000.0, 1450000.0,\n",
" 1500000.0, 1550000.0, 1600000.0, 1650000.0, 1700000.0, 1750000.0,\n",
" 1800000.0, 1850000.0, 1900000.0, 1950000.0, 2000000.0, 2050000.0,\n",
" 2100000.0, 2150000.0, 2200000.0, 2250000.0, 2300000.0, 2350000.0,\n",
" 2400000.0, 2450000.0, 2500000.0, 2550000.0, 2600000.0, 2650000.0,\n",
" 2700000.0, 2750000.0, 2800000.0, 2850000.0, 2900000.0, 2950000.0,\n",
" 3000000.0, 3050000.0, 3100000.0, 3150000.0, 3200000.0, 3250000.0,\n",
" 3300000.0, 3350000.0, 3400000.0, 3450000.0, 3500000.0, 3550000.0,\n",
" 3600000.0, 3650000.0, 3700000.0, 3750000.0, 3800000.0, 3850000.0,\n",
" 3900000.0, 3950000.0, 4000000.0, 4050000.0],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;dist2center&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>polygon_id</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-78b8827f-5083-42ca-b07a-3eab123111e7' class='xr-index-data-in' type='checkbox'/><label for='index-78b8827f-5083-42ca-b07a-3eab123111e7' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([&#x27;000&#x27;], dtype=&#x27;object&#x27;, name=&#x27;polygon_id&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-8c74b955-a3fd-4add-a68e-8894cbfb8b65' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-8c74b955-a3fd-4add-a68e-8894cbfb8b65' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset> Size: 119kB\n",
"Dimensions: (polygon_id: 1, intervention_date: 1,\n",
" elapsed_time: 180, dist2center: 82,\n",
" intervention_month: 1)\n",
"Coordinates:\n",
" * polygon_id (polygon_id) object 8B '000'\n",
" * intervention_month (intervention_month) int64 8B 1\n",
" * elapsed_time (elapsed_time) int32 720B 0 1 2 3 4 ... 176 177 178 179\n",
" * dist2center (dist2center) float64 656B 0.0 5e+04 ... 4e+06 4.05e+06\n",
"Dimensions without coordinates: intervention_date\n",
"Data variables:\n",
" FG_CO2_percent (polygon_id, intervention_date, elapsed_time, dist2center) float64 118kB dask.array<chunksize=(1, 1, 180, 1), meta=np.ndarray>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = compute_cumulative_FG_CO2_ring_dask(ds, polygon_id, intervention_month, bin_edges, rings)\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "84ef9c6c-834c-49cf-ad06-da006d3e9abd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<xarray.plot.facetgrid.FacetGrid at 0x7fa60eba7b60>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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CmgDW6qaQbAva6odp3/rNFKmmkE1ERERERFRoPkVVM+dOxd5eXlISEhAVVUVhg0bho4dOyI8PBwvv/xyoNvYItWs1u3Lmmopw61UKORMtYGZaiIiIiIiooDzq/p3REQENm3ahN9//x27du2C1WpFv379cPXVVwe6fS1WzaDalzXV0pZaaqUCOo29+jcz1URERERERAHnV1AtufLKK3HllVcGqi3koOYWWL7sUy1nqpUKrqkmIiIiIiJqQH5N/37ooYfwzjvv1Dr+7rvvYsaMGfVtE6F2UO1P9W+VwnFNNat/ExERERERBZpfQfXixYsxePDgWscHDRqEH374od6NIhdrqn0Jqi0O+1QzU01ERERERNRg/AqqCwoKEBkZWet4REQE8vPz690oAgxm58yyL9W/5X2quaaaiIiIiIioQfkVVHfs2BErVqyodXz58uVo3759vRtF9ctUS1tqqZmpJiIiIiIialB+FSqbNWsWHnzwQeTl5cmFyn777Te88cYbmDdvXiDb12LV3qfa9zXVSsc11WauqSYiIiIiIgo0v4Lqu+++GwaDAS+//DJefPFFAEC7du3w/vvv48477wxoA1sqKVOtUABC+LpPte2/TmuqzcxUExERERERBZrPQbXZbMY333yD8ePH4/7770deXh6Cg4MRFhbWEO1rsaTq38EaFSqNFr/2qVYpFQiSM9UMqomIiIiIiALN5zXVarUa999/PwwGAwAgPj6+XgH1/PnzkZaWhqCgIKSnp2Pjxo0ez1+/fj3S09MRFBSE9u3b44MPPqh1zuLFi9GtWzfodDp069YNS5YscXp8w4YNuO6665CSkgKFQoGffvqp1jWEEHjuueeQkpKC4OBgDB8+HAcOHPD7ffpKyiyHaG3jHr6sqZay2kqFAlqVyul6REREREREFDh+FSobMGAAdu/eXe8XX7RoEWbMmIEnn3wSu3fvxpAhQzB69GhkZma6PD8jIwNjxozBkCFDsHv3bjzxxBN46KGHsHjxYvmcLVu2YOLEiZg0aRL++usvTJo0Cbfccgu2bt0qn1NRUYHevXvj3Xffddu21157DW+++SbeffddbN++HUlJSRgxYgTKysrq/b69UR1U24JiX6p/V2eq4bCmmkE1ERERERFRoPm1pnr69On417/+hbNnzyI9PR2hoaFOj/fq1cur67z55pu45557cO+9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wQcfRFRUFGJjY/HUU09BCCGfM3/+fHTq1AlBQUFITEzEhAkTfGrPsmXL0LlzZwQHB+OKK67AqVOnvHqv69atw1133YWSkhIoFAooFAo899xzAGpPS1IoFPjwww8xduxYhISEoGvXrtiyZQuOHz+O4cOHIzQ0FAMHDsSJEyecXuOXX35Beno6goKC0L59ezz//PMwm81etY+I6sY+6zkA7LOILhbss54DwD6LAAiiZuyJJ54QXbp0EStWrBAnTpwQn3/+udDpdGLdunVi7dq1AoAoKioSQghx9uxZ8frrr4vdu3eLEydOiHfeeUeoVCrx559/ytcbNmyYCAsLEw8//LA4fPiw+Prrr0VISIj46KOPhBBCbN++XahUKvHtt9+KU6dOiV27dom3337bq/YIIURmZqbQ6XRO109MTHRqpzsGg0HMmzdPREREiOzsbJGdnS3KysqEEEKkpqaKt956Sz4XgGjVqpVYtGiROHLkiLjhhhtEu3btxJVXXilWrFghDh48KC677DIxatQo+TkrVqwQERERYsGCBeLEiRNi1apVol27duK5556rz7eIiBywz2KfRXQxYZ/FPotsGFRTs1VeXi6CgoLE5s2bnY7fc8894rbbbqvV2bsyZswY8a9//Uv+etiwYaJr167CarXKx/7973+Lrl27CiGEWLx4sYiIiBClpaU+t0cIIWbPnu3y+t509kII8fnnn4vIyMhax1119k899ZT89ZYtWwQA8emnn8rHFi5cKIKCguSvhwwZIl555RWn63711VciOTm5znYRUd3YZ1Vjn0XU9LHPqsY+i7immpqtgwcPQq/XY8SIEU7HjUYj+vbtW+t8i8WC//znP1i0aBGysrJgMBhgMBgQGhrqdN5ll10GhUIhfz1w4EC88cYbsFgsGDFiBFJTU9G+fXuMGjUKo0aNwvjx4xESEuJVew4dOuTy+g2hV69e8v8nJiYCAHr27Ol0TK/Xo7S0FBEREdi5cye2b9+Ol19+WT7HYrFAr9ejsrISISEhDdJOopaCfZZn7LOImhb2WZ6xz2pZGFRTs2W1WgEAS5cuRatWrZwe0+l0tdaxvPHGG3jrrbcwb9489OzZE6GhoZgxYwaMRqPXrxkeHo5du3Zh3bp1WLVqFZ555hk899xz2L59e53tAeC0ZqihaTQa+f+lPy6ujknttlqteP7553HjjTfWulZQUFBDNpWoRWCf5Rn7LKKmhX2WZ+yzWhYG1dRsdevWDTqdDpmZmRg2bFitx2t29hs3bsS4ceNwxx13ALB1bseOHUPXrl2dzvvzzz9rfd2pUyeoVCoAgFqtxtVXX42rr74azz77LKKiovD7779jxIgRHtsjtfmnn37y+HqeaLVaWCwWr8/3Rb9+/XDkyBF07NixQa5P1NKxzwos9llEDYt9VmCxz7q4MaimZis8PByPPPIIZs6cCavVissvvxylpaXYvHkzwsLCkJqa6nR+x44dsXjxYmzevBnR0dF48803kZOTU6uzP3PmDGbNmoX77rsPu3btwn//+1+88cYbAIBff/0VJ0+exNChQxEdHY1ly5bBarXikksuqbM9kydPxrRp0/DGG2/I19+5cycWLFjg9Xtu164dysvL8dtvv6F3794ICQkJ2HShZ555BmPHjkWbNm1w8803Q6lUYu/evdi3bx9eeumlgLwGUUvGPot9FtHFhH0W+yxy0MhruokalNVqFW+//ba45JJLhEajEfHx8eKaa64R69evr1VAo6CgQIwbN06EhYWJhIQE8dRTT4k777xTjBs3Tr7esGHDxPTp08W0adNERESEiI6OFo8//rhc8GLjxo1i2LBhIjo6WgQHB4tevXqJRYsWedUeyS+//CI6duwodDqdGDJkiPjss8+8LqAhhBDTpk0TsbGxAoB49tlnhRCuC2gsWbJE/jojI0MAELt375aPuSowsmLFCjFo0CARHBwsIiIixKWXXipX5CSi+mOf9awQgn0W0cWCfdazQgj2WSSEQogLuLiA6CI3fPhw9OnTx2kvQiKipop9FhFdTNhn0cVK2dgNICIiIiIiIrpYMagmuoiMHj0aYWFhLv+98sorjd08IiIn7LOI6GLCPov8xenfRBeRrKwsVFVVuXwsJiYGMTExF7hFRETusc8ioosJ+yzyF4NqIiIiIiIiIj9x+jcRERERERGRnxhUExEREREREfmJQTURERERERGRnxhUExEREREREfmJQTURERERERGRnxhUExEREREREfmJQTURERERERGRnxhUExEREREREfnp/wESgKh2QLho3gAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 1000x300 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"values = np.array([500, 1000, 2000]) * 1_000 # conversion to meters\n",
"data.sel(dist2center=values, method='nearest').FG_CO2_percent.plot(col='dist2center')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7f382c61-1d9b-4650-95bc-2b48663505c4",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.12.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment