Skip to content

Instantly share code, notes, and snippets.

@TomNicholas
Last active July 6, 2023 15:59
Show Gist options
  • Save TomNicholas/e8e00d8c9544dad8233700655346e8c3 to your computer and use it in GitHub Desktop.
Save TomNicholas/e8e00d8c9544dad8233700655346e8c3 to your computer and use it in GitHub Desktop.
Dimensionality reduction on histograms using same PCA approach as "eigenfaces"
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "08327717-4b1e-479b-89d8-2958d34aa8e3",
"metadata": {},
"source": [
"## Fetch histogram data"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "71a53676-a3ca-47d2-a881-ff8d9ce512bf",
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "e5832577-758e-41c7-83e8-aa20d9c5c476",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.ticker import LogFormatter"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "ff4889ce-dac9-442e-ac52-29c6d5f85a38",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: cmcrameri in /srv/conda/envs/notebook/lib/python3.10/site-packages (1.6)\n",
"Requirement already satisfied: matplotlib in /srv/conda/envs/notebook/lib/python3.10/site-packages (from cmcrameri) (3.7.1)\n",
"Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.10/site-packages (from cmcrameri) (1.23.5)\n",
"Requirement already satisfied: packaging in /srv/conda/envs/notebook/lib/python3.10/site-packages (from cmcrameri) (23.1)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (1.0.7)\n",
"Requirement already satisfied: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (0.11.0)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (4.39.4)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (1.4.4)\n",
"Requirement already satisfied: pillow>=6.2.0 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (9.5.0)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (3.0.9)\n",
"Requirement already satisfied: python-dateutil>=2.7 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from matplotlib->cmcrameri) (2.8.2)\n",
"Requirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib->cmcrameri) (1.16.0)\n"
]
}
],
"source": [
"# colorblind-friendly colormaps\n",
"\n",
"!pip install cmcrameri\n",
"\n",
"import cmcrameri.cm as cmc\n",
"import matplotlib.pyplot as plt\n",
"from cycler import cycler\n",
" \n",
"#colorlist = ['c', 'm', 'y', 'k']\n",
" \n",
"cmap = cmc.hawaiiS\n",
" \n",
"custom_cycler = cycler(color=cmap.colors) #or simply color=colorlist"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8fc7044a-fcfe-4ee4-b3db-322035596c53",
"metadata": {},
"outputs": [],
"source": [
"from typing import Union"
]
},
{
"cell_type": "markdown",
"id": "ab960c2f-38c5-4707-a504-ebdc644a3ac2",
"metadata": {},
"source": [
"## Useful statistical definitions"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c2bb0312-f2e7-4f9b-813d-e4794c1bb9cb",
"metadata": {},
"outputs": [],
"source": [
"def marginalize(\n",
" pdf: xr.DataArray,\n",
" dim: str | list = None,\n",
" bin_widths: dict[str, Union[float, np.array, xr.DataArray]] = None,\n",
") -> xr.DataArray:\n",
" \"\"\"\n",
" Find the marginal probability distribution from the joint pdf.\n",
" \n",
" Integrates out one or more dimensions of the PDF to remove dependence on that quantity,\n",
" whilst still preserving the total integrated probability.\n",
" \"\"\"\n",
" \n",
" if isinstance(dim, str):\n",
" dim = [dim]\n",
" \n",
" all_bin_dims = ['vort_bin', 'strain_bin', 'div_bin']\n",
" \n",
" if dim is None:\n",
" dim = all_bin_dims\n",
" #if any(d not in all_bin_dims for d in dims):\n",
" # raise ValueError(\"Can't take marginal PDF over a dimension which is not a variable of the original PDF\")\n",
"\n",
" if bin_widths is None:\n",
" # Use defaults from vort/strain/div JPDF\n",
" bin_widths = {\n",
" 'vort_bin': pdf['vort_bin'].diff('vort_bin')[0],\n",
" 'strain_bin': pdf['strain_bin'].diff('strain_bin')[0],\n",
" 'div_bin': pdf['div_bin'].diff('div_bin')[0],\n",
" }\n",
" \n",
" marginal_pdf = pdf\n",
" for bin_dim in dim:\n",
" # TODO these would be slightly more accurate if we used xarray's integrate function\n",
" marginal_pdf = marginal_pdf.sum(dim=bin_dim) * bin_widths[bin_dim]\n",
" \n",
" return marginal_pdf\n",
"\n",
"\n",
"def expectation(pdf: xr.DataArray, x: xr.DataArray, dim: str | list = None, bin_widths=None) -> xr.DataArray:\n",
" \"\"\"\n",
" Take the expectation value of x over the given Probability Density Function.\n",
" \"\"\"\n",
" \n",
" return marginalize(pdf * x, dim=dim, bin_widths=bin_widths)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6c516e03-48c1-4415-9d1a-092e52e66e5a",
"metadata": {},
"outputs": [],
"source": [
"@xr.register_dataarray_accessor(\"pdf\")\n",
"class DataArrayPDFAccessor:\n",
" def __init__(self, da: xr.DataArray):\n",
" self._da = da\n",
" \n",
" def marginalize(self, dim: str | list = None, bin_widths=None) -> xr.DataArray:\n",
" return marginalize(self._da, dim, bin_widths)\n",
" \n",
" def expectation(self, x, dim: str | list = None, bin_widths=None) -> xr.DataArray:\n",
" return expectation(self._da, x, dim, bin_widths)"
]
},
{
"cell_type": "markdown",
"id": "98070e93-e653-4621-a9c3-4a6aa40e1cea",
"metadata": {},
"source": [
"## Open the data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "0e82279c-6d0f-4e8e-99ce-59da65fb38a1",
"metadata": {},
"outputs": [],
"source": [
"# data in persistent bucket\n",
"target_url = 'gs://leap-persistent/tomnicholas/hero-calc/compute/llc4320/vort_strain_div_histogram_coarsen_nan_padding_3_hourly.zarr'"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "e0467cf2-a470-4afa-81bf-a539db1c1892",
"metadata": {},
"outputs": [],
"source": [
"hist_ds = xr.open_dataset(target_url, engine=\"zarr\", chunks={})"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3dfac9eb-d36a-4bc6-9bb2-70b68f876000",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.682792496"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hist_ds['histogram_vort_strain_div'].isel(time=0).nbytes / 1e9"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2904e6fa-8366-4239-92f9-d690588b7e68",
"metadata": {},
"outputs": [],
"source": [
"from xarray.indexes import PandasIndex\n",
"\n",
"# have to add the index ourselves manually for some reason\n",
"#hist_ds = hist_ds.set_xindex('region_num', PandasIndex)"
]
},
{
"cell_type": "markdown",
"id": "abecd020-f6be-4427-9f57-530298d13cc8",
"metadata": {},
"source": [
"## Correct PDF normalization"
]
},
{
"cell_type": "markdown",
"id": "8d747bba-819b-46fe-9467-cb35ef19629c",
"metadata": {},
"source": [
"Division by 80 comes from 8 samples per day (3-hourly sampling of hourly data) over a 10-day period. \n",
"This correction is currently required because I accidentally did `coarsen(time=8*10).sum(dim='time')` instead of `coarsen(time=8*10).mean(dim='time')` before saving to zarr."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "1a77f28e-5171-4ce2-83c7-1b4ab743f534",
"metadata": {},
"outputs": [],
"source": [
"hist_ds['histogram_vort_strain_div'] = hist_ds['histogram_vort_strain_div'] / 80"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "3ad08dea-a548-4b19-b8d9-9e93100c169b",
"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",
"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 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\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: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;\n",
"Dimensions: (div_bin: 99, region: 438, time: 37,\n",
" vort_bin: 99, strain_bin: 49, vertices: 4)\n",
"Coordinates:\n",
" * div_bin (div_bin) float64 -4.949 -4.848 ... 4.848 4.949\n",
" face (region) int64 dask.array&lt;chunksize=(13,), meta=np.ndarray&gt;\n",
" i_region_coarse (region) int64 dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;\n",
" j_region_coarse (region) int64 dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;\n",
" region_num (region) int64 dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;\n",
" * strain_bin (strain_bin) float64 0.05102 0.1531 ... 4.949\n",
" * time (time) datetime64[ns] 2011-09-17T22:30:00 ... ...\n",
" vertices_latitude (vertices, region) float32 dask.array&lt;chunksize=(4, 438), meta=np.ndarray&gt;\n",
" vertices_longitude (vertices, region) float32 dask.array&lt;chunksize=(4, 438), meta=np.ndarray&gt;\n",
" * vort_bin (vort_bin) float64 -4.949 -4.848 ... 4.848 4.949\n",
"Dimensions without coordinates: region, vertices\n",
"Data variables:\n",
" histogram_vort_strain_div (time, region, vort_bin, strain_bin, div_bin) float64 dask.array&lt;chunksize=(1, 1, 99, 49, 99), 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-0ba32cbe-6977-402b-9179-b5691e573ab2' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0ba32cbe-6977-402b-9179-b5691e573ab2' 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'>div_bin</span>: 99</li><li><span>region</span>: 438</li><li><span class='xr-has-index'>time</span>: 37</li><li><span class='xr-has-index'>vort_bin</span>: 99</li><li><span class='xr-has-index'>strain_bin</span>: 49</li><li><span>vertices</span>: 4</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-b583a2dc-4b24-4a55-b6fa-a581e52bda97' class='xr-section-summary-in' type='checkbox' checked><label for='section-b583a2dc-4b24-4a55-b6fa-a581e52bda97' class='xr-section-summary' >Coordinates: <span>(10)</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'>div_bin</span></div><div class='xr-var-dims'>(div_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.848 ... 4.848 4.949</div><input id='attrs-6cde223c-396e-4ff8-979f-d394147a00a0' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6cde223c-396e-4ff8-979f-d394147a00a0' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5ef260ae-7d1f-4c9d-b4b9-ec17ec15dea0' class='xr-var-data-in' type='checkbox'><label for='data-5ef260ae-7d1f-4c9d-b4b9-ec17ec15dea0' 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([-4.949495, -4.848485, -4.747475, -4.646465, -4.545455, -4.444444,\n",
" -4.343434, -4.242424, -4.141414, -4.040404, -3.939394, -3.838384,\n",
" -3.737374, -3.636364, -3.535354, -3.434343, -3.333333, -3.232323,\n",
" -3.131313, -3.030303, -2.929293, -2.828283, -2.727273, -2.626263,\n",
" -2.525253, -2.424242, -2.323232, -2.222222, -2.121212, -2.020202,\n",
" -1.919192, -1.818182, -1.717172, -1.616162, -1.515152, -1.414141,\n",
" -1.313131, -1.212121, -1.111111, -1.010101, -0.909091, -0.808081,\n",
" -0.707071, -0.606061, -0.505051, -0.40404 , -0.30303 , -0.20202 ,\n",
" -0.10101 , 0. , 0.10101 , 0.20202 , 0.30303 , 0.40404 ,\n",
" 0.505051, 0.606061, 0.707071, 0.808081, 0.909091, 1.010101,\n",
" 1.111111, 1.212121, 1.313131, 1.414141, 1.515152, 1.616162,\n",
" 1.717172, 1.818182, 1.919192, 2.020202, 2.121212, 2.222222,\n",
" 2.323232, 2.424242, 2.525253, 2.626263, 2.727273, 2.828283,\n",
" 2.929293, 3.030303, 3.131313, 3.232323, 3.333333, 3.434343,\n",
" 3.535354, 3.636364, 3.737374, 3.838384, 3.939394, 4.040404,\n",
" 4.141414, 4.242424, 4.343434, 4.444444, 4.545455, 4.646465,\n",
" 4.747475, 4.848485, 4.949495])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>face</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(13,), meta=np.ndarray&gt;</div><input id='attrs-2c9c1889-1b25-44a0-8b0b-2f2885d7a707' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2c9c1889-1b25-44a0-8b0b-2f2885d7a707' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-19582694-56e2-4808-b098-095d9fe74dcc' class='xr-var-data-in' type='checkbox'><label for='data-19582694-56e2-4808-b098-095d9fe74dcc' 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>standard_name :</span></dt><dd>face_index</dd></dl></div><div class='xr-var-data'><table>\n",
" <tr>\n",
" <td>\n",
" <table style=\"border-collapse: collapse;\">\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 3.42 kiB </td>\n",
" <td> 104 B </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (438,) </td>\n",
" <td> (13,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 34 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> int64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"3\" y1=\"0\" x2=\"3\" y2=\"25\" />\n",
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" />\n",
" <line x1=\"17\" y1=\"0\" x2=\"17\" y2=\"25\" />\n",
" <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
" <line x1=\"28\" y1=\"0\" x2=\"28\" y2=\"25\" />\n",
" <line x1=\"35\" y1=\"0\" x2=\"35\" y2=\"25\" />\n",
" <line x1=\"42\" y1=\"0\" x2=\"42\" y2=\"25\" />\n",
" <line x1=\"49\" y1=\"0\" x2=\"49\" y2=\"25\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"25\" />\n",
" <line x1=\"60\" y1=\"0\" x2=\"60\" y2=\"25\" />\n",
" <line x1=\"67\" y1=\"0\" x2=\"67\" y2=\"25\" />\n",
" <line x1=\"74\" y1=\"0\" x2=\"74\" y2=\"25\" />\n",
" <line x1=\"81\" y1=\"0\" x2=\"81\" y2=\"25\" />\n",
" <line x1=\"89\" y1=\"0\" x2=\"89\" y2=\"25\" />\n",
" <line x1=\"92\" y1=\"0\" x2=\"92\" y2=\"25\" />\n",
" <line x1=\"99\" y1=\"0\" x2=\"99\" y2=\"25\" />\n",
" <line x1=\"106\" y1=\"0\" x2=\"106\" y2=\"25\" />\n",
" <line x1=\"113\" y1=\"0\" x2=\"113\" y2=\"25\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>i_region_coarse</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;</div><input id='attrs-a4aee723-650c-4732-ac24-b70269e41690' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-a4aee723-650c-4732-ac24-b70269e41690' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bcab1ff7-9996-496b-ad38-f6a736c81c24' class='xr-var-data-in' type='checkbox'><label for='data-bcab1ff7-9996-496b-ad38-f6a736c81c24' 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> 3.42 kiB </td>\n",
" <td> 3.42 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (438,) </td>\n",
" <td> (438,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> int64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>j_region_coarse</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;</div><input id='attrs-c8c73b2f-3855-4601-a036-92cc5c07fc5b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c8c73b2f-3855-4601-a036-92cc5c07fc5b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7afb0f19-e174-4927-8d17-9ca0a3625b80' class='xr-var-data-in' type='checkbox'><label for='data-7afb0f19-e174-4927-8d17-9ca0a3625b80' 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> 3.42 kiB </td>\n",
" <td> 3.42 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (438,) </td>\n",
" <td> (438,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> int64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>region_num</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(438,), meta=np.ndarray&gt;</div><input id='attrs-2d1a287d-e15f-4a78-910a-7129985496b1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-2d1a287d-e15f-4a78-910a-7129985496b1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fa191978-6845-4bdc-be69-a4f4c889cc52' class='xr-var-data-in' type='checkbox'><label for='data-fa191978-6845-4bdc-be69-a4f4c889cc52' 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> 3.42 kiB </td>\n",
" <td> 3.42 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (438,) </td>\n",
" <td> (438,) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> int64 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>strain_bin</span></div><div class='xr-var-dims'>(strain_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.05102 0.1531 ... 4.847 4.949</div><input id='attrs-3972667a-ec6d-40ce-850a-5b2459c48f32' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3972667a-ec6d-40ce-850a-5b2459c48f32' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e5899aad-47fc-4110-970c-4319591ee91b' class='xr-var-data-in' type='checkbox'><label for='data-e5899aad-47fc-4110-970c-4319591ee91b' 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.05102 , 0.153061, 0.255102, 0.357143, 0.459184, 0.561224, 0.663265,\n",
" 0.765306, 0.867347, 0.969388, 1.071429, 1.173469, 1.27551 , 1.377551,\n",
" 1.479592, 1.581633, 1.683673, 1.785714, 1.887755, 1.989796, 2.091837,\n",
" 2.193878, 2.295918, 2.397959, 2.5 , 2.602041, 2.704082, 2.806122,\n",
" 2.908163, 3.010204, 3.112245, 3.214286, 3.316327, 3.418367, 3.520408,\n",
" 3.622449, 3.72449 , 3.826531, 3.928571, 4.030612, 4.132653, 4.234694,\n",
" 4.336735, 4.438776, 4.540816, 4.642857, 4.744898, 4.846939, 4.94898 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2011-09-17T22:30:00 ... 2012-09-...</div><input id='attrs-c431c090-58cf-4250-8634-1d9ee76d3320' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c431c090-58cf-4250-8634-1d9ee76d3320' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5eb75dfd-e202-46ce-8a79-63684aa732b7' class='xr-var-data-in' type='checkbox'><label for='data-5eb75dfd-e202-46ce-8a79-63684aa732b7' 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;2011-09-17T22:30:00.000000000&#x27;, &#x27;2011-09-27T22:30:00.000000000&#x27;,\n",
" &#x27;2011-10-07T22:30:00.000000000&#x27;, &#x27;2011-10-17T22:30:00.000000000&#x27;,\n",
" &#x27;2011-10-27T22:30:00.000000000&#x27;, &#x27;2011-11-06T22:30:00.000000000&#x27;,\n",
" &#x27;2011-11-16T22:30:00.000000000&#x27;, &#x27;2011-11-26T22:30:00.000000000&#x27;,\n",
" &#x27;2011-12-06T22:30:00.000000000&#x27;, &#x27;2011-12-16T22:30:00.000000000&#x27;,\n",
" &#x27;2011-12-26T22:30:00.000000000&#x27;, &#x27;2012-01-05T22:30:00.000000000&#x27;,\n",
" &#x27;2012-01-15T22:30:00.000000000&#x27;, &#x27;2012-01-25T22:30:00.000000000&#x27;,\n",
" &#x27;2012-02-04T22:30:00.000000000&#x27;, &#x27;2012-02-14T22:30:00.000000000&#x27;,\n",
" &#x27;2012-02-24T22:30:00.000000000&#x27;, &#x27;2012-03-05T22:30:00.000000000&#x27;,\n",
" &#x27;2012-03-15T22:30:00.000000000&#x27;, &#x27;2012-03-25T22:30:00.000000000&#x27;,\n",
" &#x27;2012-04-04T22:30:00.000000000&#x27;, &#x27;2012-04-14T22:30:00.000000000&#x27;,\n",
" &#x27;2012-04-24T22:30:00.000000000&#x27;, &#x27;2012-05-04T22:30:00.000000000&#x27;,\n",
" &#x27;2012-05-14T22:30:00.000000000&#x27;, &#x27;2012-05-24T22:30:00.000000000&#x27;,\n",
" &#x27;2012-06-03T22:30:00.000000000&#x27;, &#x27;2012-06-13T22:30:00.000000000&#x27;,\n",
" &#x27;2012-06-23T22:30:00.000000000&#x27;, &#x27;2012-07-03T22:30:00.000000000&#x27;,\n",
" &#x27;2012-07-13T22:30:00.000000000&#x27;, &#x27;2012-07-23T22:30:00.000000000&#x27;,\n",
" &#x27;2012-08-02T22:30:00.000000000&#x27;, &#x27;2012-08-12T22:30:00.000000000&#x27;,\n",
" &#x27;2012-08-22T22:30:00.000000000&#x27;, &#x27;2012-09-01T22:30:00.000000000&#x27;,\n",
" &#x27;2012-09-11T22:30:00.000000000&#x27;], dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>vertices_latitude</span></div><div class='xr-var-dims'>(vertices, region)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(4, 438), meta=np.ndarray&gt;</div><input id='attrs-e63298b4-44fe-40f9-8c76-738fe0cc2d7c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e63298b4-44fe-40f9-8c76-738fe0cc2d7c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b995480f-3f16-46ec-aebd-6d9f376a0a86' class='xr-var-data-in' type='checkbox'><label for='data-b995480f-3f16-46ec-aebd-6d9f376a0a86' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd></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> 6.84 kiB </td>\n",
" <td> 6.84 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (4, 438) </td>\n",
" <td> (4, 438) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">4</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>vertices_longitude</span></div><div class='xr-var-dims'>(vertices, region)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(4, 438), meta=np.ndarray&gt;</div><input id='attrs-3010162b-bd49-4f91-935e-13cf881e89bb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3010162b-bd49-4f91-935e-13cf881e89bb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-0a53c1e5-7938-43c5-b131-02047c99ff72' class='xr-var-data-in' type='checkbox'><label for='data-0a53c1e5-7938-43c5-b131-02047c99ff72' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd></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> 6.84 kiB </td>\n",
" <td> 6.84 kiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (4, 438) </td>\n",
" <td> (4, 438) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Data type </th>\n",
" <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"170\" height=\"75\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" 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=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">4</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>vort_bin</span></div><div class='xr-var-dims'>(vort_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.848 ... 4.848 4.949</div><input id='attrs-e0c4c1e2-196d-4ce5-b1bb-8fc6c8005840' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e0c4c1e2-196d-4ce5-b1bb-8fc6c8005840' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6184018f-1977-4430-a4cb-80c797fa9878' class='xr-var-data-in' type='checkbox'><label for='data-6184018f-1977-4430-a4cb-80c797fa9878' 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([-4.949495, -4.848485, -4.747475, -4.646465, -4.545455, -4.444444,\n",
" -4.343434, -4.242424, -4.141414, -4.040404, -3.939394, -3.838384,\n",
" -3.737374, -3.636364, -3.535354, -3.434343, -3.333333, -3.232323,\n",
" -3.131313, -3.030303, -2.929293, -2.828283, -2.727273, -2.626263,\n",
" -2.525253, -2.424242, -2.323232, -2.222222, -2.121212, -2.020202,\n",
" -1.919192, -1.818182, -1.717172, -1.616162, -1.515152, -1.414141,\n",
" -1.313131, -1.212121, -1.111111, -1.010101, -0.909091, -0.808081,\n",
" -0.707071, -0.606061, -0.505051, -0.40404 , -0.30303 , -0.20202 ,\n",
" -0.10101 , 0. , 0.10101 , 0.20202 , 0.30303 , 0.40404 ,\n",
" 0.505051, 0.606061, 0.707071, 0.808081, 0.909091, 1.010101,\n",
" 1.111111, 1.212121, 1.313131, 1.414141, 1.515152, 1.616162,\n",
" 1.717172, 1.818182, 1.919192, 2.020202, 2.121212, 2.222222,\n",
" 2.323232, 2.424242, 2.525253, 2.626263, 2.727273, 2.828283,\n",
" 2.929293, 3.030303, 3.131313, 3.232323, 3.333333, 3.434343,\n",
" 3.535354, 3.636364, 3.737374, 3.838384, 3.939394, 4.040404,\n",
" 4.141414, 4.242424, 4.343434, 4.444444, 4.545455, 4.646465,\n",
" 4.747475, 4.848485, 4.949495])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-b5306c71-19bd-4855-8532-c406c5b91c34' class='xr-section-summary-in' type='checkbox' checked><label for='section-b5306c71-19bd-4855-8532-c406c5b91c34' 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>histogram_vort_strain_div</span></div><div class='xr-var-dims'>(time, region, vort_bin, strain_bin, div_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(1, 1, 99, 49, 99), meta=np.ndarray&gt;</div><input id='attrs-23bebfae-5069-4bc4-8d73-3cd5d9a7880c' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-23bebfae-5069-4bc4-8d73-3cd5d9a7880c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-92739e4d-a619-4452-ad32-fd5aae9eb947' class='xr-var-data-in' type='checkbox'><label for='data-92739e4d-a619-4452-ad32-fd5aae9eb947' 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> 57.99 GiB </td>\n",
" <td> 3.66 MiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (37, 438, 99, 49, 99) </td>\n",
" <td> (1, 1, 99, 49, 99) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Dask graph </th>\n",
" <td colspan=\"2\"> 16206 chunks in 3 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=\"497\" height=\"114\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"0\" y1=\"1\" x2=\"120\" y2=\"1\" />\n",
" <line x1=\"0\" y1=\"2\" x2=\"120\" y2=\"2\" />\n",
" <line x1=\"0\" y1=\"3\" x2=\"120\" y2=\"3\" />\n",
" <line x1=\"0\" y1=\"4\" x2=\"120\" y2=\"4\" />\n",
" <line x1=\"0\" y1=\"5\" x2=\"120\" y2=\"5\" />\n",
" <line x1=\"0\" y1=\"6\" x2=\"120\" y2=\"6\" />\n",
" <line x1=\"0\" y1=\"8\" x2=\"120\" y2=\"8\" />\n",
" <line x1=\"0\" y1=\"9\" x2=\"120\" y2=\"9\" />\n",
" <line x1=\"0\" y1=\"10\" x2=\"120\" y2=\"10\" />\n",
" <line x1=\"0\" y1=\"11\" x2=\"120\" y2=\"11\" />\n",
" <line x1=\"0\" y1=\"12\" x2=\"120\" y2=\"12\" />\n",
" <line x1=\"0\" y1=\"13\" x2=\"120\" y2=\"13\" />\n",
" <line x1=\"0\" y1=\"15\" x2=\"120\" y2=\"15\" />\n",
" <line x1=\"0\" y1=\"16\" x2=\"120\" y2=\"16\" />\n",
" <line x1=\"0\" y1=\"17\" x2=\"120\" y2=\"17\" />\n",
" <line x1=\"0\" y1=\"18\" x2=\"120\" y2=\"18\" />\n",
" <line x1=\"0\" y1=\"19\" x2=\"120\" y2=\"19\" />\n",
" <line x1=\"0\" y1=\"20\" x2=\"120\" y2=\"20\" />\n",
" <line x1=\"0\" y1=\"21\" x2=\"120\" y2=\"21\" />\n",
" <line x1=\"0\" y1=\"23\" x2=\"120\" y2=\"23\" />\n",
" <line x1=\"0\" y1=\"24\" x2=\"120\" y2=\"24\" />\n",
" <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" />\n",
" <line x1=\"0\" y1=\"26\" x2=\"120\" y2=\"26\" />\n",
" <line x1=\"0\" y1=\"27\" x2=\"120\" y2=\"27\" />\n",
" <line x1=\"0\" y1=\"28\" x2=\"120\" y2=\"28\" />\n",
" <line x1=\"0\" y1=\"30\" x2=\"120\" y2=\"30\" />\n",
" <line x1=\"0\" y1=\"31\" x2=\"120\" y2=\"31\" />\n",
" <line x1=\"0\" y1=\"32\" x2=\"120\" y2=\"32\" />\n",
" <line x1=\"0\" y1=\"33\" x2=\"120\" y2=\"33\" />\n",
" <line x1=\"0\" y1=\"34\" x2=\"120\" y2=\"34\" />\n",
" <line x1=\"0\" y1=\"35\" x2=\"120\" y2=\"35\" />\n",
" <line x1=\"0\" y1=\"37\" x2=\"120\" y2=\"37\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"37\" style=\"stroke-width:2\" />\n",
" <line x1=\"3\" y1=\"0\" x2=\"3\" y2=\"37\" />\n",
" <line x1=\"7\" y1=\"0\" x2=\"7\" y2=\"37\" />\n",
" <line x1=\"11\" y1=\"0\" x2=\"11\" y2=\"37\" />\n",
" <line x1=\"14\" y1=\"0\" x2=\"14\" y2=\"37\" />\n",
" <line x1=\"18\" y1=\"0\" x2=\"18\" y2=\"37\" />\n",
" <line x1=\"22\" y1=\"0\" x2=\"22\" y2=\"37\" />\n",
" <line x1=\"26\" y1=\"0\" x2=\"26\" y2=\"37\" />\n",
" <line x1=\"29\" y1=\"0\" x2=\"29\" y2=\"37\" />\n",
" <line x1=\"33\" y1=\"0\" x2=\"33\" y2=\"37\" />\n",
" <line x1=\"37\" y1=\"0\" x2=\"37\" y2=\"37\" />\n",
" <line x1=\"41\" y1=\"0\" x2=\"41\" y2=\"37\" />\n",
" <line x1=\"44\" y1=\"0\" x2=\"44\" y2=\"37\" />\n",
" <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"37\" />\n",
" <line x1=\"52\" y1=\"0\" x2=\"52\" y2=\"37\" />\n",
" <line x1=\"56\" y1=\"0\" x2=\"56\" y2=\"37\" />\n",
" <line x1=\"60\" y1=\"0\" x2=\"60\" y2=\"37\" />\n",
" <line x1=\"63\" y1=\"0\" x2=\"63\" y2=\"37\" />\n",
" <line x1=\"67\" y1=\"0\" x2=\"67\" y2=\"37\" />\n",
" <line x1=\"71\" y1=\"0\" x2=\"71\" y2=\"37\" />\n",
" <line x1=\"74\" y1=\"0\" x2=\"74\" y2=\"37\" />\n",
" <line x1=\"78\" y1=\"0\" x2=\"78\" y2=\"37\" />\n",
" <line x1=\"82\" y1=\"0\" x2=\"82\" y2=\"37\" />\n",
" <line x1=\"86\" y1=\"0\" x2=\"86\" y2=\"37\" />\n",
" <line x1=\"89\" y1=\"0\" x2=\"89\" y2=\"37\" />\n",
" <line x1=\"93\" y1=\"0\" x2=\"93\" y2=\"37\" />\n",
" <line x1=\"97\" y1=\"0\" x2=\"97\" y2=\"37\" />\n",
" <line x1=\"101\" y1=\"0\" x2=\"101\" y2=\"37\" />\n",
" <line x1=\"104\" y1=\"0\" x2=\"104\" y2=\"37\" />\n",
" <line x1=\"108\" y1=\"0\" x2=\"108\" y2=\"37\" />\n",
" <line x1=\"112\" y1=\"0\" x2=\"112\" y2=\"37\" />\n",
" <line x1=\"116\" y1=\"0\" x2=\"116\" y2=\"37\" />\n",
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"37\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,37.64215844495466 0.0,37.64215844495466\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"60.000000\" y=\"57.642158\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >438</text>\n",
" <text x=\"140.000000\" y=\"18.821079\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,18.821079)\">37</text>\n",
"\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"190\" y1=\"0\" x2=\"215\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"190\" y1=\"39\" x2=\"215\" y2=\"64\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"190\" y1=\"0\" x2=\"190\" y2=\"39\" style=\"stroke-width:2\" />\n",
" <line x1=\"215\" y1=\"25\" x2=\"215\" y2=\"64\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"190.0,0.0 215.00627531888148,25.00627531888149 215.00627531888148,64.21522349465234 190.0,39.20894817577085\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"190\" y1=\"0\" x2=\"232\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"215\" y1=\"25\" x2=\"257\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"190\" y1=\"0\" x2=\"215\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"232\" y1=\"0\" x2=\"257\" y2=\"25\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"190.0,0.0 232.51066804209853,0.0 257.51694336098,25.00627531888149 215.00627531888148,25.00627531888149\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"215\" y1=\"25\" x2=\"257\" y2=\"25\" style=\"stroke-width:2\" />\n",
" <line x1=\"215\" y1=\"64\" x2=\"257\" y2=\"64\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"215\" y1=\"25\" x2=\"215\" y2=\"64\" style=\"stroke-width:2\" />\n",
" <line x1=\"257\" y1=\"25\" x2=\"257\" y2=\"64\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"215.00627531888148,25.00627531888149 257.51694336098,25.00627531888149 257.51694336098,64.21522349465234 215.00627531888148,64.21522349465234\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"236.261609\" y=\"84.215223\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >99</text>\n",
" <text x=\"277.516943\" y=\"44.610749\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,277.516943,44.610749)\">49</text>\n",
" <text x=\"192.503138\" y=\"71.712086\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,192.503138,71.712086)\">99</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-19e70f7e-4ab5-49f7-93bf-2550959e2bd1' class='xr-section-summary-in' type='checkbox' ><label for='section-19e70f7e-4ab5-49f7-93bf-2550959e2bd1' 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>div_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-0ac31e85-150b-4486-b823-97e798059311' class='xr-index-data-in' type='checkbox'/><label for='index-0ac31e85-150b-4486-b823-97e798059311' 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([ -4.94949494949495, -4.848484848484848, -4.747474747474747,\n",
" -4.646464646464647, -4.545454545454545, -4.444444444444445,\n",
" -4.343434343434343, -4.242424242424242, -4.141414141414142,\n",
" -4.04040404040404, -3.9393939393939394, -3.8383838383838382,\n",
" -3.7373737373737375, -3.6363636363636362, -3.5353535353535355,\n",
" -3.4343434343434343, -3.3333333333333335, -3.2323232323232323,\n",
" -3.1313131313131315, -3.0303030303030303, -2.929292929292929,\n",
" -2.8282828282828283, -2.7272727272727275, -2.6262626262626263,\n",
" -2.525252525252525, -2.4242424242424243, -2.3232323232323235,\n",
" -2.2222222222222223, -2.121212121212121, -2.0202020202020203,\n",
" -1.9191919191919193, -1.8181818181818183, -1.7171717171717171,\n",
" -1.6161616161616161, -1.5151515151515151, -1.4141414141414141,\n",
" -1.3131313131313131, -1.2121212121212122, -1.1111111111111112,\n",
" -1.01010101010101, -0.9090909090909092, -0.8080808080808084,\n",
" -0.7070707070707072, -0.606060606060606, -0.5050505050505052,\n",
" -0.4040404040404044, -0.3030303030303032, -0.202020202020202,\n",
" -0.10101010101010077, 0.0, 0.10101010101010077,\n",
" 0.202020202020202, 0.3030303030303032, 0.404040404040404,\n",
" 0.5050505050505047, 0.606060606060606, 0.7070707070707072,\n",
" 0.808080808080808, 0.9090909090909087, 1.01010101010101,\n",
" 1.1111111111111112, 1.212121212121212, 1.3131313131313127,\n",
" 1.414141414141414, 1.5151515151515151, 1.6161616161616164,\n",
" 1.7171717171717171, 1.818181818181818, 1.9191919191919191,\n",
" 2.0202020202020203, 2.121212121212121, 2.222222222222222,\n",
" 2.323232323232323, 2.4242424242424243, 2.525252525252525,\n",
" 2.626262626262626, 2.727272727272727, 2.8282828282828283,\n",
" 2.929292929292929, 3.0303030303030303, 3.1313131313131315,\n",
" 3.232323232323232, 3.333333333333333, 3.4343434343434343,\n",
" 3.5353535353535355, 3.6363636363636367, 3.737373737373737,\n",
" 3.8383838383838382, 3.9393939393939394, 4.04040404040404,\n",
" 4.141414141414141, 4.242424242424242, 4.343434343434343,\n",
" 4.444444444444445, 4.545454545454545, 4.646464646464646,\n",
" 4.747474747474747, 4.848484848484849, 4.94949494949495],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;div_bin&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>strain_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-7e7f60d6-0dd0-4f11-903a-32b292e52215' class='xr-index-data-in' type='checkbox'/><label for='index-7e7f60d6-0dd0-4f11-903a-32b292e52215' 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.05102040816326531, 0.15306122448979592, 0.25510204081632654,\n",
" 0.35714285714285715, 0.45918367346938777, 0.5612244897959184,\n",
" 0.6632653061224489, 0.7653061224489797, 0.8673469387755102,\n",
" 0.9693877551020409, 1.0714285714285716, 1.1734693877551021,\n",
" 1.2755102040816326, 1.3775510204081631, 1.479591836734694,\n",
" 1.5816326530612246, 1.683673469387755, 1.7857142857142856,\n",
" 1.8877551020408165, 1.989795918367347, 2.0918367346938775,\n",
" 2.1938775510204085, 2.295918367346939, 2.3979591836734695,\n",
" 2.5, 2.6020408163265305, 2.704081632653061,\n",
" 2.806122448979592, 2.9081632653061225, 3.0102040816326534,\n",
" 3.112244897959184, 3.2142857142857144, 3.316326530612245,\n",
" 3.4183673469387754, 3.520408163265306, 3.622448979591837,\n",
" 3.7244897959183674, 3.8265306122448983, 3.928571428571429,\n",
" 4.030612244897959, 4.13265306122449, 4.23469387755102,\n",
" 4.336734693877551, 4.438775510204081, 4.540816326530613,\n",
" 4.642857142857143, 4.744897959183674, 4.846938775510204,\n",
" 4.948979591836735],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;strain_bin&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-87e2c62c-e0d0-4516-adf3-c7a252317315' class='xr-index-data-in' type='checkbox'/><label for='index-87e2c62c-e0d0-4516-adf3-c7a252317315' 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(DatetimeIndex([&#x27;2011-09-17 22:30:00&#x27;, &#x27;2011-09-27 22:30:00&#x27;,\n",
" &#x27;2011-10-07 22:30:00&#x27;, &#x27;2011-10-17 22:30:00&#x27;,\n",
" &#x27;2011-10-27 22:30:00&#x27;, &#x27;2011-11-06 22:30:00&#x27;,\n",
" &#x27;2011-11-16 22:30:00&#x27;, &#x27;2011-11-26 22:30:00&#x27;,\n",
" &#x27;2011-12-06 22:30:00&#x27;, &#x27;2011-12-16 22:30:00&#x27;,\n",
" &#x27;2011-12-26 22:30:00&#x27;, &#x27;2012-01-05 22:30:00&#x27;,\n",
" &#x27;2012-01-15 22:30:00&#x27;, &#x27;2012-01-25 22:30:00&#x27;,\n",
" &#x27;2012-02-04 22:30:00&#x27;, &#x27;2012-02-14 22:30:00&#x27;,\n",
" &#x27;2012-02-24 22:30:00&#x27;, &#x27;2012-03-05 22:30:00&#x27;,\n",
" &#x27;2012-03-15 22:30:00&#x27;, &#x27;2012-03-25 22:30:00&#x27;,\n",
" &#x27;2012-04-04 22:30:00&#x27;, &#x27;2012-04-14 22:30:00&#x27;,\n",
" &#x27;2012-04-24 22:30:00&#x27;, &#x27;2012-05-04 22:30:00&#x27;,\n",
" &#x27;2012-05-14 22:30:00&#x27;, &#x27;2012-05-24 22:30:00&#x27;,\n",
" &#x27;2012-06-03 22:30:00&#x27;, &#x27;2012-06-13 22:30:00&#x27;,\n",
" &#x27;2012-06-23 22:30:00&#x27;, &#x27;2012-07-03 22:30:00&#x27;,\n",
" &#x27;2012-07-13 22:30:00&#x27;, &#x27;2012-07-23 22:30:00&#x27;,\n",
" &#x27;2012-08-02 22:30:00&#x27;, &#x27;2012-08-12 22:30:00&#x27;,\n",
" &#x27;2012-08-22 22:30:00&#x27;, &#x27;2012-09-01 22:30:00&#x27;,\n",
" &#x27;2012-09-11 22:30:00&#x27;],\n",
" dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, freq=None))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>vort_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-5a2c4265-02ea-43fa-a34d-32545b51e295' class='xr-index-data-in' type='checkbox'/><label for='index-5a2c4265-02ea-43fa-a34d-32545b51e295' 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([ -4.94949494949495, -4.848484848484848, -4.747474747474747,\n",
" -4.646464646464647, -4.545454545454545, -4.444444444444445,\n",
" -4.343434343434343, -4.242424242424242, -4.141414141414142,\n",
" -4.04040404040404, -3.9393939393939394, -3.8383838383838382,\n",
" -3.7373737373737375, -3.6363636363636362, -3.5353535353535355,\n",
" -3.4343434343434343, -3.3333333333333335, -3.2323232323232323,\n",
" -3.1313131313131315, -3.0303030303030303, -2.929292929292929,\n",
" -2.8282828282828283, -2.7272727272727275, -2.6262626262626263,\n",
" -2.525252525252525, -2.4242424242424243, -2.3232323232323235,\n",
" -2.2222222222222223, -2.121212121212121, -2.0202020202020203,\n",
" -1.9191919191919193, -1.8181818181818183, -1.7171717171717171,\n",
" -1.6161616161616161, -1.5151515151515151, -1.4141414141414141,\n",
" -1.3131313131313131, -1.2121212121212122, -1.1111111111111112,\n",
" -1.01010101010101, -0.9090909090909092, -0.8080808080808084,\n",
" -0.7070707070707072, -0.606060606060606, -0.5050505050505052,\n",
" -0.4040404040404044, -0.3030303030303032, -0.202020202020202,\n",
" -0.10101010101010077, 0.0, 0.10101010101010077,\n",
" 0.202020202020202, 0.3030303030303032, 0.404040404040404,\n",
" 0.5050505050505047, 0.606060606060606, 0.7070707070707072,\n",
" 0.808080808080808, 0.9090909090909087, 1.01010101010101,\n",
" 1.1111111111111112, 1.212121212121212, 1.3131313131313127,\n",
" 1.414141414141414, 1.5151515151515151, 1.6161616161616164,\n",
" 1.7171717171717171, 1.818181818181818, 1.9191919191919191,\n",
" 2.0202020202020203, 2.121212121212121, 2.222222222222222,\n",
" 2.323232323232323, 2.4242424242424243, 2.525252525252525,\n",
" 2.626262626262626, 2.727272727272727, 2.8282828282828283,\n",
" 2.929292929292929, 3.0303030303030303, 3.1313131313131315,\n",
" 3.232323232323232, 3.333333333333333, 3.4343434343434343,\n",
" 3.5353535353535355, 3.6363636363636367, 3.737373737373737,\n",
" 3.8383838383838382, 3.9393939393939394, 4.04040404040404,\n",
" 4.141414141414141, 4.242424242424242, 4.343434343434343,\n",
" 4.444444444444445, 4.545454545454545, 4.646464646464646,\n",
" 4.747474747474747, 4.848484848484849, 4.94949494949495],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;vort_bin&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-26cdb422-44ed-4562-890c-2b9ceaa1b0f9' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-26cdb422-44ed-4562-890c-2b9ceaa1b0f9' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (div_bin: 99, region: 438, time: 37,\n",
" vort_bin: 99, strain_bin: 49, vertices: 4)\n",
"Coordinates:\n",
" * div_bin (div_bin) float64 -4.949 -4.848 ... 4.848 4.949\n",
" face (region) int64 dask.array<chunksize=(13,), meta=np.ndarray>\n",
" i_region_coarse (region) int64 dask.array<chunksize=(438,), meta=np.ndarray>\n",
" j_region_coarse (region) int64 dask.array<chunksize=(438,), meta=np.ndarray>\n",
" region_num (region) int64 dask.array<chunksize=(438,), meta=np.ndarray>\n",
" * strain_bin (strain_bin) float64 0.05102 0.1531 ... 4.949\n",
" * time (time) datetime64[ns] 2011-09-17T22:30:00 ... ...\n",
" vertices_latitude (vertices, region) float32 dask.array<chunksize=(4, 438), meta=np.ndarray>\n",
" vertices_longitude (vertices, region) float32 dask.array<chunksize=(4, 438), meta=np.ndarray>\n",
" * vort_bin (vort_bin) float64 -4.949 -4.848 ... 4.848 4.949\n",
"Dimensions without coordinates: region, vertices\n",
"Data variables:\n",
" histogram_vort_strain_div (time, region, vort_bin, strain_bin, div_bin) float64 dask.array<chunksize=(1, 1, 99, 49, 99), meta=np.ndarray>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hist_ds"
]
},
{
"cell_type": "markdown",
"id": "0fa6a276-ff01-4d66-b3c2-5c061c0838dc",
"metadata": {},
"source": [
"## Average over time"
]
},
{
"cell_type": "markdown",
"id": "8e05ee99-ff4b-4aa4-b5a0-a4ca36c19008",
"metadata": {},
"source": [
"#Average all histograms over the year. We're obviously ignoring seasonal cycles here, but this is a simpler problem to start with, and we still have full global variation.\n",
"\n",
"Actually just averge over one month instead."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "adf68013-553e-41ab-819e-683e51f405ae",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 21 s, sys: 2.92 s, total: 23.9 s\n",
"Wall time: 8.93 s\n"
]
}
],
"source": [
"%%time\n",
"# average over October\n",
"h = hist_ds['histogram_vort_strain_div'].isel(time=(hist_ds.time.dt.month == 10)).mean(dim=\"time\").compute()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "0eef37b0-4649-410a-9628-11156aefa307",
"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",
"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 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\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: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.DataArray &#x27;histogram_vort_strain_div&#x27; (region: 438, vort_bin: 99,\n",
" strain_bin: 49, div_bin: 99)&gt;\n",
"array([[[[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
"...\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]]]])\n",
"Coordinates:\n",
" * div_bin (div_bin) float64 -4.949 -4.848 -4.747 ... 4.848 4.949\n",
" face (region) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (region) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (region) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (region) int64 4 5 6 7 13 14 15 ... 790 791 792 793 798 799\n",
" * strain_bin (strain_bin) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
" * vort_bin (vort_bin) float64 -4.949 -4.848 -4.747 ... 4.848 4.949\n",
"Dimensions without coordinates: region</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'histogram_vort_strain_div'</div><ul class='xr-dim-list'><li><span>region</span>: 438</li><li><span class='xr-has-index'>vort_bin</span>: 99</li><li><span class='xr-has-index'>strain_bin</span>: 49</li><li><span class='xr-has-index'>div_bin</span>: 99</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-df0b1730-3318-42a8-a1d3-8f08b6deb592' class='xr-array-in' type='checkbox' checked><label for='section-df0b1730-3318-42a8-a1d3-8f08b6deb592' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>nan nan nan nan nan nan nan nan ... nan nan nan nan nan nan nan nan</span></div><div class='xr-array-data'><pre>array([[[[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
"...\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]]]])</pre></div></div></li><li class='xr-section-item'><input id='section-8d5ac95b-5274-40ee-a36a-d53c3034e00d' class='xr-section-summary-in' type='checkbox' checked><label for='section-8d5ac95b-5274-40ee-a36a-d53c3034e00d' class='xr-section-summary' >Coordinates: <span>(7)</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'>div_bin</span></div><div class='xr-var-dims'>(div_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.848 ... 4.848 4.949</div><input id='attrs-8d40a131-426f-4c02-897f-084bd136f79b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8d40a131-426f-4c02-897f-084bd136f79b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-866c4925-eba0-4b3f-98cd-3f90a534ac79' class='xr-var-data-in' type='checkbox'><label for='data-866c4925-eba0-4b3f-98cd-3f90a534ac79' 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([-4.949495, -4.848485, -4.747475, -4.646465, -4.545455, -4.444444,\n",
" -4.343434, -4.242424, -4.141414, -4.040404, -3.939394, -3.838384,\n",
" -3.737374, -3.636364, -3.535354, -3.434343, -3.333333, -3.232323,\n",
" -3.131313, -3.030303, -2.929293, -2.828283, -2.727273, -2.626263,\n",
" -2.525253, -2.424242, -2.323232, -2.222222, -2.121212, -2.020202,\n",
" -1.919192, -1.818182, -1.717172, -1.616162, -1.515152, -1.414141,\n",
" -1.313131, -1.212121, -1.111111, -1.010101, -0.909091, -0.808081,\n",
" -0.707071, -0.606061, -0.505051, -0.40404 , -0.30303 , -0.20202 ,\n",
" -0.10101 , 0. , 0.10101 , 0.20202 , 0.30303 , 0.40404 ,\n",
" 0.505051, 0.606061, 0.707071, 0.808081, 0.909091, 1.010101,\n",
" 1.111111, 1.212121, 1.313131, 1.414141, 1.515152, 1.616162,\n",
" 1.717172, 1.818182, 1.919192, 2.020202, 2.121212, 2.222222,\n",
" 2.323232, 2.424242, 2.525253, 2.626263, 2.727273, 2.828283,\n",
" 2.929293, 3.030303, 3.131313, 3.232323, 3.333333, 3.434343,\n",
" 3.535354, 3.636364, 3.737374, 3.838384, 3.939394, 4.040404,\n",
" 4.141414, 4.242424, 4.343434, 4.444444, 4.545455, 4.646465,\n",
" 4.747475, 4.848485, 4.949495])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>face</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 ... 12 12 12 12 12 12</div><input id='attrs-2b56c463-268b-4d74-9480-5131ac812107' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2b56c463-268b-4d74-9480-5131ac812107' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-aa8f434e-f923-4953-a047-0c2fcf493f79' class='xr-var-data-in' type='checkbox'><label for='data-aa8f434e-f923-4953-a047-0c2fcf493f79' 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>standard_name :</span></dt><dd>face_index</dd></dl></div><div class='xr-var-data'><pre>array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,\n",
" 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n",
" 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n",
" 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>i_region_coarse</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 1 1 1 2 ... 2 2 2 2 3 3 3 3</div><input id='attrs-d3d78f5b-ce71-4002-81ea-181daf1b1515' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-d3d78f5b-ce71-4002-81ea-181daf1b1515' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c80f22c5-bc9a-4726-8e50-101b090cd5e3' class='xr-var-data-in' type='checkbox'><label for='data-c80f22c5-bc9a-4726-8e50-101b090cd5e3' 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, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7,\n",
" 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,\n",
" 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2,\n",
" 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5,\n",
" 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 0, 1, 5, 6, 7, 7, 7, 0, 0,\n",
" 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,\n",
" 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4,\n",
" 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 0, 1, 2, 2, 3, 3, 4, 4, 5,\n",
" 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,\n",
" 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>j_region_coarse</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 5 6 7 5 ... 3 4 6 7 0 1 6 7</div><input id='attrs-0d2748a2-587b-4fee-8368-da2470f010bf' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-0d2748a2-587b-4fee-8368-da2470f010bf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9e606286-b5b3-4b60-a7ab-4a79bf0fb895' class='xr-var-data-in' type='checkbox'><label for='data-9e606286-b5b3-4b60-a7ab-4a79bf0fb895' 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([4, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 6, 7, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 0, 1, 2, 0, 1, 2, 3, 0, 1,\n",
" 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 2,\n",
" 3, 4, 5, 6, 7, 6, 7, 2, 7, 2, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7,\n",
" 6, 7, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 0, 1,\n",
" 2, 4, 5, 7, 0, 1, 2, 6, 7, 0, 1, 2, 7, 0, 0, 0, 0, 0, 1, 2, 1, 2,\n",
" 3, 4, 5, 1, 2, 4, 1, 2, 3, 4, 7, 2, 3, 4, 5, 7, 1, 2, 3, 4, 5, 2,\n",
" 3, 4, 5, 6, 3, 4, 5, 6, 4, 5, 6, 0, 2, 3, 6, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2,\n",
" 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2,\n",
" 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7,\n",
" 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 4, 5, 6, 6, 7, 6, 7, 6, 7, 5,\n",
" 6, 7, 0, 4, 5, 6, 7, 0, 1, 4, 5, 6, 7, 0, 1, 2, 3, 6, 7, 0, 1, 2,\n",
" 3, 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 7, 0, 1, 2, 3, 4, 6,\n",
" 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 6, 7])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>region_num</span></div><div class='xr-var-dims'>(region)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 13 ... 791 792 793 798 799</div><input id='attrs-d7c1f798-5f6e-496c-a4eb-795f174f3e12' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-d7c1f798-5f6e-496c-a4eb-795f174f3e12' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a2e80e5e-960e-4a96-ad48-dbf3798a0244' class='xr-var-data-in' type='checkbox'><label for='data-a2e80e5e-960e-4a96-ad48-dbf3798a0244' 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([ 4, 5, 6, 7, 13, 14, 15, 21, 22, 23, 29, 30, 31,\n",
" 37, 38, 39, 45, 46, 47, 54, 55, 62, 63, 64, 65, 66,\n",
" 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n",
" 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93,\n",
" 94, 96, 97, 98, 99, 104, 105, 106, 112, 113, 114, 115, 120,\n",
" 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134,\n",
" 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149,\n",
" 150, 151, 158, 159, 162, 167, 170, 198, 199, 206, 207, 214, 215,\n",
" 222, 223, 230, 231, 238, 239, 246, 247, 254, 255, 256, 257, 258,\n",
" 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,\n",
" 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,\n",
" 285, 286, 287, 288, 289, 290, 291, 292, 293, 296, 297, 298, 300,\n",
" 301, 303, 304, 305, 306, 310, 311, 312, 313, 314, 319, 320, 328,\n",
" 360, 368, 376, 377, 378, 385, 386, 387, 388, 389, 393, 394, 396,\n",
" 401, 402, 403, 404, 407, 410, 411, 412, 413, 415, 417, 418, 419,\n",
" 420, 421, 426, 427, 428, 429, 430, 435, 436, 437, 438, 444, 445,\n",
" 446, 464, 466, 467, 470, 472, 473, 474, 475, 476, 477, 478, 479,\n",
" 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,\n",
" 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,\n",
" 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,\n",
" 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,\n",
" 532, 533, 534, 535, 537, 538, 539, 540, 541, 542, 543, 545, 546,\n",
" 547, 548, 549, 550, 551, 553, 554, 555, 556, 557, 558, 559, 560,\n",
" 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,\n",
" 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,\n",
" 587, 588, 589, 590, 591, 594, 595, 596, 597, 598, 599, 602, 603,\n",
" 604, 605, 606, 607, 612, 645, 654, 662, 663, 670, 671, 678, 679,\n",
" 685, 686, 687, 688, 692, 693, 694, 695, 696, 697, 700, 701, 702,\n",
" 703, 704, 705, 706, 707, 710, 711, 712, 713, 714, 715, 720, 721,\n",
" 722, 723, 728, 729, 730, 731, 732, 736, 737, 738, 739, 740, 743,\n",
" 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 755, 756, 758,\n",
" 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772,\n",
" 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785,\n",
" 786, 787, 788, 790, 791, 792, 793, 798, 799])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>strain_bin</span></div><div class='xr-var-dims'>(strain_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.05102 0.1531 ... 4.847 4.949</div><input id='attrs-6d66758a-d1d7-4701-bd2a-851e98b32d5a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6d66758a-d1d7-4701-bd2a-851e98b32d5a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c78f48d0-d47a-446c-a5f4-7ec9f002a4e5' class='xr-var-data-in' type='checkbox'><label for='data-c78f48d0-d47a-446c-a5f4-7ec9f002a4e5' 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.05102 , 0.153061, 0.255102, 0.357143, 0.459184, 0.561224, 0.663265,\n",
" 0.765306, 0.867347, 0.969388, 1.071429, 1.173469, 1.27551 , 1.377551,\n",
" 1.479592, 1.581633, 1.683673, 1.785714, 1.887755, 1.989796, 2.091837,\n",
" 2.193878, 2.295918, 2.397959, 2.5 , 2.602041, 2.704082, 2.806122,\n",
" 2.908163, 3.010204, 3.112245, 3.214286, 3.316327, 3.418367, 3.520408,\n",
" 3.622449, 3.72449 , 3.826531, 3.928571, 4.030612, 4.132653, 4.234694,\n",
" 4.336735, 4.438776, 4.540816, 4.642857, 4.744898, 4.846939, 4.94898 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>vort_bin</span></div><div class='xr-var-dims'>(vort_bin)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.848 ... 4.848 4.949</div><input id='attrs-7311bc3f-e334-48c3-91cc-4b5a818d71e5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7311bc3f-e334-48c3-91cc-4b5a818d71e5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e06d994f-9cb2-49f3-91cc-19424f897199' class='xr-var-data-in' type='checkbox'><label for='data-e06d994f-9cb2-49f3-91cc-19424f897199' 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([-4.949495, -4.848485, -4.747475, -4.646465, -4.545455, -4.444444,\n",
" -4.343434, -4.242424, -4.141414, -4.040404, -3.939394, -3.838384,\n",
" -3.737374, -3.636364, -3.535354, -3.434343, -3.333333, -3.232323,\n",
" -3.131313, -3.030303, -2.929293, -2.828283, -2.727273, -2.626263,\n",
" -2.525253, -2.424242, -2.323232, -2.222222, -2.121212, -2.020202,\n",
" -1.919192, -1.818182, -1.717172, -1.616162, -1.515152, -1.414141,\n",
" -1.313131, -1.212121, -1.111111, -1.010101, -0.909091, -0.808081,\n",
" -0.707071, -0.606061, -0.505051, -0.40404 , -0.30303 , -0.20202 ,\n",
" -0.10101 , 0. , 0.10101 , 0.20202 , 0.30303 , 0.40404 ,\n",
" 0.505051, 0.606061, 0.707071, 0.808081, 0.909091, 1.010101,\n",
" 1.111111, 1.212121, 1.313131, 1.414141, 1.515152, 1.616162,\n",
" 1.717172, 1.818182, 1.919192, 2.020202, 2.121212, 2.222222,\n",
" 2.323232, 2.424242, 2.525253, 2.626263, 2.727273, 2.828283,\n",
" 2.929293, 3.030303, 3.131313, 3.232323, 3.333333, 3.434343,\n",
" 3.535354, 3.636364, 3.737374, 3.838384, 3.939394, 4.040404,\n",
" 4.141414, 4.242424, 4.343434, 4.444444, 4.545455, 4.646465,\n",
" 4.747475, 4.848485, 4.949495])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-b135bfc2-c9c9-48d3-ba7e-6e5e5ad3d5e4' class='xr-section-summary-in' type='checkbox' ><label for='section-b135bfc2-c9c9-48d3-ba7e-6e5e5ad3d5e4' 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>div_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-1ab80a5e-d5e3-4879-acbf-797815151dfe' class='xr-index-data-in' type='checkbox'/><label for='index-1ab80a5e-d5e3-4879-acbf-797815151dfe' 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([ -4.94949494949495, -4.848484848484848, -4.747474747474747,\n",
" -4.646464646464647, -4.545454545454545, -4.444444444444445,\n",
" -4.343434343434343, -4.242424242424242, -4.141414141414142,\n",
" -4.04040404040404, -3.9393939393939394, -3.8383838383838382,\n",
" -3.7373737373737375, -3.6363636363636362, -3.5353535353535355,\n",
" -3.4343434343434343, -3.3333333333333335, -3.2323232323232323,\n",
" -3.1313131313131315, -3.0303030303030303, -2.929292929292929,\n",
" -2.8282828282828283, -2.7272727272727275, -2.6262626262626263,\n",
" -2.525252525252525, -2.4242424242424243, -2.3232323232323235,\n",
" -2.2222222222222223, -2.121212121212121, -2.0202020202020203,\n",
" -1.9191919191919193, -1.8181818181818183, -1.7171717171717171,\n",
" -1.6161616161616161, -1.5151515151515151, -1.4141414141414141,\n",
" -1.3131313131313131, -1.2121212121212122, -1.1111111111111112,\n",
" -1.01010101010101, -0.9090909090909092, -0.8080808080808084,\n",
" -0.7070707070707072, -0.606060606060606, -0.5050505050505052,\n",
" -0.4040404040404044, -0.3030303030303032, -0.202020202020202,\n",
" -0.10101010101010077, 0.0, 0.10101010101010077,\n",
" 0.202020202020202, 0.3030303030303032, 0.404040404040404,\n",
" 0.5050505050505047, 0.606060606060606, 0.7070707070707072,\n",
" 0.808080808080808, 0.9090909090909087, 1.01010101010101,\n",
" 1.1111111111111112, 1.212121212121212, 1.3131313131313127,\n",
" 1.414141414141414, 1.5151515151515151, 1.6161616161616164,\n",
" 1.7171717171717171, 1.818181818181818, 1.9191919191919191,\n",
" 2.0202020202020203, 2.121212121212121, 2.222222222222222,\n",
" 2.323232323232323, 2.4242424242424243, 2.525252525252525,\n",
" 2.626262626262626, 2.727272727272727, 2.8282828282828283,\n",
" 2.929292929292929, 3.0303030303030303, 3.1313131313131315,\n",
" 3.232323232323232, 3.333333333333333, 3.4343434343434343,\n",
" 3.5353535353535355, 3.6363636363636367, 3.737373737373737,\n",
" 3.8383838383838382, 3.9393939393939394, 4.04040404040404,\n",
" 4.141414141414141, 4.242424242424242, 4.343434343434343,\n",
" 4.444444444444445, 4.545454545454545, 4.646464646464646,\n",
" 4.747474747474747, 4.848484848484849, 4.94949494949495],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;div_bin&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>strain_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-e08cebb9-4913-4030-ac62-9de462b70f0e' class='xr-index-data-in' type='checkbox'/><label for='index-e08cebb9-4913-4030-ac62-9de462b70f0e' 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.05102040816326531, 0.15306122448979592, 0.25510204081632654,\n",
" 0.35714285714285715, 0.45918367346938777, 0.5612244897959184,\n",
" 0.6632653061224489, 0.7653061224489797, 0.8673469387755102,\n",
" 0.9693877551020409, 1.0714285714285716, 1.1734693877551021,\n",
" 1.2755102040816326, 1.3775510204081631, 1.479591836734694,\n",
" 1.5816326530612246, 1.683673469387755, 1.7857142857142856,\n",
" 1.8877551020408165, 1.989795918367347, 2.0918367346938775,\n",
" 2.1938775510204085, 2.295918367346939, 2.3979591836734695,\n",
" 2.5, 2.6020408163265305, 2.704081632653061,\n",
" 2.806122448979592, 2.9081632653061225, 3.0102040816326534,\n",
" 3.112244897959184, 3.2142857142857144, 3.316326530612245,\n",
" 3.4183673469387754, 3.520408163265306, 3.622448979591837,\n",
" 3.7244897959183674, 3.8265306122448983, 3.928571428571429,\n",
" 4.030612244897959, 4.13265306122449, 4.23469387755102,\n",
" 4.336734693877551, 4.438775510204081, 4.540816326530613,\n",
" 4.642857142857143, 4.744897959183674, 4.846938775510204,\n",
" 4.948979591836735],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;strain_bin&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>vort_bin</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-f10c58f3-af23-43b2-8299-2dc9e838898c' class='xr-index-data-in' type='checkbox'/><label for='index-f10c58f3-af23-43b2-8299-2dc9e838898c' 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([ -4.94949494949495, -4.848484848484848, -4.747474747474747,\n",
" -4.646464646464647, -4.545454545454545, -4.444444444444445,\n",
" -4.343434343434343, -4.242424242424242, -4.141414141414142,\n",
" -4.04040404040404, -3.9393939393939394, -3.8383838383838382,\n",
" -3.7373737373737375, -3.6363636363636362, -3.5353535353535355,\n",
" -3.4343434343434343, -3.3333333333333335, -3.2323232323232323,\n",
" -3.1313131313131315, -3.0303030303030303, -2.929292929292929,\n",
" -2.8282828282828283, -2.7272727272727275, -2.6262626262626263,\n",
" -2.525252525252525, -2.4242424242424243, -2.3232323232323235,\n",
" -2.2222222222222223, -2.121212121212121, -2.0202020202020203,\n",
" -1.9191919191919193, -1.8181818181818183, -1.7171717171717171,\n",
" -1.6161616161616161, -1.5151515151515151, -1.4141414141414141,\n",
" -1.3131313131313131, -1.2121212121212122, -1.1111111111111112,\n",
" -1.01010101010101, -0.9090909090909092, -0.8080808080808084,\n",
" -0.7070707070707072, -0.606060606060606, -0.5050505050505052,\n",
" -0.4040404040404044, -0.3030303030303032, -0.202020202020202,\n",
" -0.10101010101010077, 0.0, 0.10101010101010077,\n",
" 0.202020202020202, 0.3030303030303032, 0.404040404040404,\n",
" 0.5050505050505047, 0.606060606060606, 0.7070707070707072,\n",
" 0.808080808080808, 0.9090909090909087, 1.01010101010101,\n",
" 1.1111111111111112, 1.212121212121212, 1.3131313131313127,\n",
" 1.414141414141414, 1.5151515151515151, 1.6161616161616164,\n",
" 1.7171717171717171, 1.818181818181818, 1.9191919191919191,\n",
" 2.0202020202020203, 2.121212121212121, 2.222222222222222,\n",
" 2.323232323232323, 2.4242424242424243, 2.525252525252525,\n",
" 2.626262626262626, 2.727272727272727, 2.8282828282828283,\n",
" 2.929292929292929, 3.0303030303030303, 3.1313131313131315,\n",
" 3.232323232323232, 3.333333333333333, 3.4343434343434343,\n",
" 3.5353535353535355, 3.6363636363636367, 3.737373737373737,\n",
" 3.8383838383838382, 3.9393939393939394, 4.04040404040404,\n",
" 4.141414141414141, 4.242424242424242, 4.343434343434343,\n",
" 4.444444444444445, 4.545454545454545, 4.646464646464646,\n",
" 4.747474747474747, 4.848484848484849, 4.94949494949495],\n",
" dtype=&#x27;float64&#x27;, name=&#x27;vort_bin&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-d22e154b-0f9d-4032-90a1-d92d722a8508' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d22e154b-0f9d-4032-90a1-d92d722a8508' 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.DataArray 'histogram_vort_strain_div' (region: 438, vort_bin: 99,\n",
" strain_bin: 49, div_bin: 99)>\n",
"array([[[[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
"...\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]],\n",
"\n",
" [[nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" ...,\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan],\n",
" [nan, nan, nan, ..., nan, nan, nan]]]])\n",
"Coordinates:\n",
" * div_bin (div_bin) float64 -4.949 -4.848 -4.747 ... 4.848 4.949\n",
" face (region) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (region) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (region) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (region) int64 4 5 6 7 13 14 15 ... 790 791 792 793 798 799\n",
" * strain_bin (strain_bin) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
" * vort_bin (vort_bin) float64 -4.949 -4.848 -4.747 ... 4.848 4.949\n",
"Dimensions without coordinates: region"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "12f7e842-25dc-47f8-9160-b98d570fc261",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.682792496"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h.nbytes / 1e9"
]
},
{
"cell_type": "markdown",
"id": "94ba6de5-7235-4242-b2df-582cce38d1ca",
"metadata": {},
"source": [
"## Coarsen"
]
},
{
"cell_type": "markdown",
"id": "d49351e2-c6b8-4bf3-9853-2b5ac1af6723",
"metadata": {},
"source": [
"Let's just look at vorticity-strain histograms for now"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "16badafb-3c79-4d07-8e28-90e1d79f3bd9",
"metadata": {},
"outputs": [],
"source": [
"h_sumdiv = h.pdf.marginalize('div_bin')"
]
},
{
"cell_type": "markdown",
"id": "268f1b97-11b0-42e4-a521-36e8c1643523",
"metadata": {},
"source": [
"## Subtract mean"
]
},
{
"cell_type": "markdown",
"id": "939c8d39-df65-4b1b-9b21-953a5325af68",
"metadata": {},
"source": [
"Area-weighted mean of all histograms globally"
]
},
{
"cell_type": "markdown",
"id": "ef5983d2-0b40-4abe-89e6-83750a9555a1",
"metadata": {},
"source": [
"Try it without area weighting initially as most regions are chosen to have similar size"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "65b2458e-bd79-4bbc-bcf0-43d1add24592",
"metadata": {},
"outputs": [],
"source": [
"global_avg_h = h_sumdiv.mean(dim='region')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "aadef01e-0f0c-4b28-bc90-fb0ea2bac3ae",
"metadata": {},
"outputs": [],
"source": [
"def plot_vort_strain_hist_contour(h, title=None):\n",
" \n",
" h = xr.where(h<1e-5, np.nan, h) # discard values less than threshold\n",
" \n",
" fig = plt.figure(figsize=(10, 4.5))\n",
" \n",
" # plot the joint PDF\n",
" h.plot.contourf(\n",
" x=\"vort_bin\", \n",
" levels=np.logspace(-5, 2, 15),\n",
" norm=mpl.colors.SymLogNorm(1e-4), \n",
" cbar_kwargs={'format': LogFormatter()},\n",
" vmax=1e2,\n",
" cmap='Reds',\n",
" robust=True,\n",
" )\n",
" \n",
" # plot the lines of perfect correlation / anti-correlation\n",
" strain_max = h.coords[\"strain_bin\"].max()\n",
" plt.plot(np.linspace(0, -strain_max, 10),np.linspace(0, strain_max, 10),'k--',alpha=.5)\n",
" vort_max = h.coords[\"vort_bin\"].max()\n",
" plt.plot(np.linspace(0, vort_max), np.linspace(0, vort_max),'k--',alpha=.5)\n",
" \n",
" # labels\n",
" plt.xlabel('vorticity / $f_0$')\n",
" plt.ylabel('strain / $|f_0|$')\n",
" \n",
" plt.text(0, strain_max / 2, 'Front')\n",
" plt.text(vort_max / 2, strain_max / 4, 'Cyc')\n",
" plt.text(-vort_max / 2, strain_max / 4, 'Acyc')\n",
" \n",
" # grid\n",
" plt.rc('grid', color='black', alpha=.3)\n",
" plt.grid()\n",
" \n",
" if title is not None:\n",
" plt.title(title)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "a2e0db06-8375-4bc7-a905-bf669ea9c14f",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 1000x450 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_vort_strain_hist_contour(global_avg_h, title=\"Global average JPDF\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "911bdde4-73a5-4098-9a20-a2f61deb7478",
"metadata": {},
"outputs": [],
"source": [
"h_anom = h_sumdiv - global_avg_h"
]
},
{
"cell_type": "markdown",
"id": "a9cc887b-a1a9-4ab7-a75e-8a32f2f5f6bd",
"metadata": {},
"source": [
"### PCA"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "7ccc39e0-0301-4e09-9a95-68d0c1e39ce3",
"metadata": {},
"outputs": [],
"source": [
"import logging\n",
"\n",
"from numpy.random import RandomState\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from sklearn import cluster\n",
"from sklearn import decomposition"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "aa955a20-fd28-48fb-ad9f-10b272c9a715",
"metadata": {
"tags": []
},
"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",
"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 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\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: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.DataArray (features: 4851, samples: 438)&gt;\n",
"array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])\n",
"Coordinates:\n",
" face (samples) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (samples) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (samples) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (samples) int64 4 5 6 7 13 14 ... 790 791 792 793 798 799\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
"Dimensions without coordinates: samples</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>features</span>: 4851</li><li><span>samples</span>: 438</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-ac3513f7-8276-40e8-8d99-3b9e82648898' class='xr-array-in' type='checkbox' checked><label for='section-ac3513f7-8276-40e8-8d99-3b9e82648898' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>-5.503e-07 -5.503e-07 -5.503e-07 ... -6.217e-05 -6.217e-05 -6.217e-05</span></div><div class='xr-array-data'><pre>array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])</pre></div></div></li><li class='xr-section-item'><input id='section-3293da07-e551-4977-a44d-13a54d788ff2' class='xr-section-summary-in' type='checkbox' checked><label for='section-3293da07-e551-4977-a44d-13a54d788ff2' class='xr-section-summary' >Coordinates: <span>(8)</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>face</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 ... 12 12 12 12 12 12</div><input id='attrs-c372641c-74d2-42d0-9453-8ccb1ac2d578' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c372641c-74d2-42d0-9453-8ccb1ac2d578' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9ee23534-1c04-465d-a300-ab428527d714' class='xr-var-data-in' type='checkbox'><label for='data-9ee23534-1c04-465d-a300-ab428527d714' 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>standard_name :</span></dt><dd>face_index</dd></dl></div><div class='xr-var-data'><pre>array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,\n",
" 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n",
" 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n",
" 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>i_region_coarse</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 1 1 1 2 ... 2 2 2 2 3 3 3 3</div><input id='attrs-44d41b56-a807-4ecc-91df-2d4aa81f75cf' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-44d41b56-a807-4ecc-91df-2d4aa81f75cf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7301b405-6a09-4d2b-9634-94a9f28a221b' class='xr-var-data-in' type='checkbox'><label for='data-7301b405-6a09-4d2b-9634-94a9f28a221b' 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, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7,\n",
" 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,\n",
" 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2,\n",
" 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5,\n",
" 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 0, 1, 5, 6, 7, 7, 7, 0, 0,\n",
" 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,\n",
" 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4,\n",
" 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 0, 1, 2, 2, 3, 3, 4, 4, 5,\n",
" 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,\n",
" 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>j_region_coarse</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 5 6 7 5 ... 3 4 6 7 0 1 6 7</div><input id='attrs-9aa171fe-4733-411c-b92b-90c8bbf0a5be' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9aa171fe-4733-411c-b92b-90c8bbf0a5be' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-710bb267-325b-4258-977f-384f7dbf4093' class='xr-var-data-in' type='checkbox'><label for='data-710bb267-325b-4258-977f-384f7dbf4093' 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([4, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 6, 7, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 0, 1, 2, 0, 1, 2, 3, 0, 1,\n",
" 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 2,\n",
" 3, 4, 5, 6, 7, 6, 7, 2, 7, 2, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7,\n",
" 6, 7, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 0, 1,\n",
" 2, 4, 5, 7, 0, 1, 2, 6, 7, 0, 1, 2, 7, 0, 0, 0, 0, 0, 1, 2, 1, 2,\n",
" 3, 4, 5, 1, 2, 4, 1, 2, 3, 4, 7, 2, 3, 4, 5, 7, 1, 2, 3, 4, 5, 2,\n",
" 3, 4, 5, 6, 3, 4, 5, 6, 4, 5, 6, 0, 2, 3, 6, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2,\n",
" 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2,\n",
" 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7,\n",
" 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 4, 5, 6, 6, 7, 6, 7, 6, 7, 5,\n",
" 6, 7, 0, 4, 5, 6, 7, 0, 1, 4, 5, 6, 7, 0, 1, 2, 3, 6, 7, 0, 1, 2,\n",
" 3, 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 7, 0, 1, 2, 3, 4, 6,\n",
" 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 6, 7])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>region_num</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 13 ... 791 792 793 798 799</div><input id='attrs-330f2605-2c6c-409a-9896-b68f7f49907c' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-330f2605-2c6c-409a-9896-b68f7f49907c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5060e188-8450-4a65-9fdb-0c33f536586c' class='xr-var-data-in' type='checkbox'><label for='data-5060e188-8450-4a65-9fdb-0c33f536586c' 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([ 4, 5, 6, 7, 13, 14, 15, 21, 22, 23, 29, 30, 31,\n",
" 37, 38, 39, 45, 46, 47, 54, 55, 62, 63, 64, 65, 66,\n",
" 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n",
" 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93,\n",
" 94, 96, 97, 98, 99, 104, 105, 106, 112, 113, 114, 115, 120,\n",
" 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134,\n",
" 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149,\n",
" 150, 151, 158, 159, 162, 167, 170, 198, 199, 206, 207, 214, 215,\n",
" 222, 223, 230, 231, 238, 239, 246, 247, 254, 255, 256, 257, 258,\n",
" 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,\n",
" 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,\n",
" 285, 286, 287, 288, 289, 290, 291, 292, 293, 296, 297, 298, 300,\n",
" 301, 303, 304, 305, 306, 310, 311, 312, 313, 314, 319, 320, 328,\n",
" 360, 368, 376, 377, 378, 385, 386, 387, 388, 389, 393, 394, 396,\n",
" 401, 402, 403, 404, 407, 410, 411, 412, 413, 415, 417, 418, 419,\n",
" 420, 421, 426, 427, 428, 429, 430, 435, 436, 437, 438, 444, 445,\n",
" 446, 464, 466, 467, 470, 472, 473, 474, 475, 476, 477, 478, 479,\n",
" 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,\n",
" 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,\n",
" 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,\n",
" 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,\n",
" 532, 533, 534, 535, 537, 538, 539, 540, 541, 542, 543, 545, 546,\n",
" 547, 548, 549, 550, 551, 553, 554, 555, 556, 557, 558, 559, 560,\n",
" 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,\n",
" 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,\n",
" 587, 588, 589, 590, 591, 594, 595, 596, 597, 598, 599, 602, 603,\n",
" 604, 605, 606, 607, 612, 645, 654, 662, 663, 670, 671, 678, 679,\n",
" 685, 686, 687, 688, 692, 693, 694, 695, 696, 697, 700, 701, 702,\n",
" 703, 704, 705, 706, 707, 710, 711, 712, 713, 714, 715, 720, 721,\n",
" 722, 723, 728, 729, 730, 731, 732, 736, 737, 738, 739, 740, 743,\n",
" 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 755, 756, 758,\n",
" 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772,\n",
" 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785,\n",
" 786, 787, 788, 790, 791, 792, 793, 798, 799])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>div_bin</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.848</div><input id='attrs-80ffad60-cb98-4fe9-9489-1ce68e8042bb' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-80ffad60-cb98-4fe9-9489-1ce68e8042bb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d90a02c2-ef0c-43ed-adf9-047479172e0d' class='xr-var-data-in' type='checkbox'><label for='data-d90a02c2-ef0c-43ed-adf9-047479172e0d' 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(-4.84848485)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>features</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>MultiIndex</div><input id='attrs-1728e5b3-e3a9-4969-bc38-a1dd491ba0f7' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1728e5b3-e3a9-4969-bc38-a1dd491ba0f7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cbc59e32-8089-4159-9950-46a765c65c76' class='xr-var-data-in' type='checkbox'><label for='data-cbc59e32-8089-4159-9950-46a765c65c76' 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([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654), ...,\n",
" (4.94949494949495, 4.744897959183674),\n",
" (4.94949494949495, 4.846938775510204),\n",
" (4.94949494949495, 4.948979591836735)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>vort_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.949 ... 4.949 4.949</div><input id='attrs-540f395e-c8fd-4842-be60-c65b5d6823be' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-540f395e-c8fd-4842-be60-c65b5d6823be' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2e3899d3-b2b9-4180-82e1-bef40de982dc' class='xr-var-data-in' type='checkbox'><label for='data-2e3899d3-b2b9-4180-82e1-bef40de982dc' 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([-4.949495, -4.949495, -4.949495, ..., 4.949495, 4.949495, 4.949495])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>strain_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.05102 0.1531 ... 4.847 4.949</div><input id='attrs-7d288575-8003-4d9b-80a1-7f534d75b214' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7d288575-8003-4d9b-80a1-7f534d75b214' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7dd52922-979d-4042-83f5-dc18daf19607' class='xr-var-data-in' type='checkbox'><label for='data-7dd52922-979d-4042-83f5-dc18daf19607' 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.05102 , 0.153061, 0.255102, ..., 4.744898, 4.846939, 4.94898 ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-a2b3d3e1-5fdc-4e5b-b008-26543381f991' class='xr-section-summary-in' type='checkbox' ><label for='section-a2b3d3e1-5fdc-4e5b-b008-26543381f991' class='xr-section-summary' >Indexes: <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-index-name'><div>features<br>vort_bin<br>strain_bin</div></div><div class='xr-index-preview'>PandasMultiIndex</div><div></div><input id='index-37accd86-19b1-4ba2-abd3-f27be0c5a5e7' class='xr-index-data-in' type='checkbox'/><label for='index-37accd86-19b1-4ba2-abd3-f27be0c5a5e7' 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(MultiIndex([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654),\n",
" (-4.94949494949495, 0.35714285714285715),\n",
" (-4.94949494949495, 0.45918367346938777),\n",
" (-4.94949494949495, 0.5612244897959184),\n",
" (-4.94949494949495, 0.6632653061224489),\n",
" (-4.94949494949495, 0.7653061224489797),\n",
" (-4.94949494949495, 0.8673469387755102),\n",
" (-4.94949494949495, 0.9693877551020409),\n",
" ...\n",
" ( 4.94949494949495, 4.030612244897959),\n",
" ( 4.94949494949495, 4.13265306122449),\n",
" ( 4.94949494949495, 4.23469387755102),\n",
" ( 4.94949494949495, 4.336734693877551),\n",
" ( 4.94949494949495, 4.438775510204081),\n",
" ( 4.94949494949495, 4.540816326530613),\n",
" ( 4.94949494949495, 4.642857142857143),\n",
" ( 4.94949494949495, 4.744897959183674),\n",
" ( 4.94949494949495, 4.846938775510204),\n",
" ( 4.94949494949495, 4.948979591836735)],\n",
" name=&#x27;features&#x27;, length=4851))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-00f50ace-a09c-4591-a3a6-a1e07934b636' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-00f50ace-a09c-4591-a3a6-a1e07934b636' 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.DataArray (features: 4851, samples: 438)>\n",
"array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])\n",
"Coordinates:\n",
" face (samples) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (samples) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (samples) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (samples) int64 4 5 6 7 13 14 ... 790 791 792 793 798 799\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
"Dimensions without coordinates: samples"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h_anom_samples = h_anom.rename(region='samples').stack(features=['vort_bin', 'strain_bin']).transpose()\n",
"n_samples, n_features = h_anom_samples.sizes['samples'], h_anom_samples.sizes['features']\n",
"h_anom_samples"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "5e73432a-d826-442b-badc-beb92e8cf227",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"There are 438 histograms in the dataset\n"
]
}
],
"source": [
"print(f\"There are {n_samples} histograms in the dataset\")"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "dfc41ece-7ed3-4e2e-a3e3-1f807bfef0f4",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"(99, 49)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hist_shape = h_anom.sizes['vort_bin'], h_anom.sizes['strain_bin']\n",
"hist_shape"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "fbe92b1a-8906-421d-96f5-dbeb9dc3ed97",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"(array([4.841e+03, 4.000e+00, 3.000e+00, 1.000e+00, 0.000e+00, 1.000e+00,\n",
" 0.000e+00, 0.000e+00, 0.000e+00, 1.000e+00]),\n",
" array([-1.67416229, 0.28304873, 2.24025975, 4.19747077, 6.15468179,\n",
" 8.11189281, 10.06910383, 12.02631485, 13.98352587, 15.94073689,\n",
" 17.89794791]),\n",
" <BarContainer object of 10 artists>)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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ftDTTz+tjh07avv27Zo9e7Z2796tdevW2fv74YcfdMcdd9g/CPbs2aM///nP2rt3r1577TWH5z569KjuvPNOTZkyRc8884zq1aungwcPatCgQerdu7dee+01NW7cWIcPH9ZHH32kvLw8+fj4qKioSLfccou2b9+uKVOmqGfPnvrpp580ffp09e3bVzt37lT9+vXLHLMxRoWFhZX6+1S0x+ybb75Ru3btSrQr3na/+eYb9ezZs1LPVR3+9re/6dprr9Vzzz0nX19ftW7dWps3b9aAAQPUo0cPLVq0SH5+fnrnnXc0atQoXbhwwR6Qv/rqK91888269tprtWzZMvn4+GjRokVavnx5hc9blW1EktatW6fU1FTNnDlTDRs21Ny5czVs2DDt27dP11xzTaXGWlBQoISEBG3fvl2TJk1Sv379VFBQoM8++0wZGRnq2bOnjDH67W9/q08++UTTpk1T79699dVXX2n69On69NNP9emnn9r3LH3//fcaOHCgJk2apAYNGmjv3r169tln9cUXX2jTpk0Oz52Xl6ehQ4fqgQce0NSpU1VQUKCcnBzdfPPNioyMVFJSkoKCgpSVlaXNmzfr3Llz9nUfeOABJScna+LEiXr22Wd1+vRpzZw5Uz179tSePXsUFBRUqfHj/xjUms2bNxtJ5t133y23XUFBgTl//rxp0KCBeeGFF+zL77nnHuPh4WHS09PLXHf27NmmXr16JjU11WH5e++9ZySZ9evXl/vc06dPN5IqvEVERFQ4Xg8PD/PAAw+UWL5jxw4jybz11lsV9nGp4r/h5s2bq7zOjTfe6LA8JyfH+Pv7myFDhjgsLywsNNHR0aZ79+72ZTExMSY8PNzk5ubal507d84EBASYS19GERERZuzYsfb7U6dONZLM559/7tDuwQcfNDabzezbt88YY8yBAweMJNOhQwdTUFBgb/fFF18YSebtt9+u9JhnzpxpJJmUlJQy2yxatMhIMn//+98dlj/77LNGkvn4449LXa+wsNDk5+eb119/3bi5uZnTp0/bH+vTp4+RZD755BOHdYq3v927d5dZz9tvv20kmZUrVzosT01NNZLMggULylzXGGOWLl1aqW23Mm97rVu3Nv379y+x/MiRI0aSeeaZZyrs41LF87t06dIqr9OqVSuTl5fn8Fjbtm1N586dTX5+vsPywYMHm5CQEFNY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I9UpISFBb7/9tpKTk8s8tHPTTTdp7ty5Wr58uf7whz/Yl69cuVI5OTnlbruS9PLLL19WbTabTdHR0frrX/+q5ORk7dq1S9Iv77tz5szR4cOHXeJrImpFXZ3s4orKOiH2xhtvNP7+/mbJkiUmJSXF/OlPfzIhISGmcePGDidWHjp0yISEhJjAwEAzf/5888knn5iVK1ea++67z3z33XfGGGPOnz9vOnfubJo3b26ef/55k5KSYjZs2GCWLFliRowYYT777LNaG+/FixfNddddZ8LDw82bb75pUlJSzLBhw4y7u7vZsmWLQ9viE3ErOtH1Sk6ILe1E5DfeeMPUq1fPjBo1yrz77rtm69at5r333jNPPvmkmTBhgr3dhx9+aOrVq2f69u1rVq9ebd577z3To0cPExERYWw2m0Ofl54Qe/z4cRMWFmaCg4PN4sWLzYYNG8zEiRONzWYzDz30kL1d8cmPf/nLX0rUKclMnz690mPOzs421113nWnYsKGZNWuW+fjjj80//vEPM3nyZLNp0yZjjDH/+c9/TMeOHU2jRo3MvHnzTEpKipk+fbrx8PAwAwcOtPf13XffGU9PT9O3b1+zfv16s2rVKnPzzTeb1q1bl5iLPn36mOuuu65EPQsXLjQjRowwycnJZtOmTWb9+vXmtttuM5LMhg0bjDG/nAiekJBg/P39zdNPP20+/PBDs3HjRpOcnGzGjh1rVq1aVenxV4ebb77ZNGnSxCxevNhs2rTJ3HfffUaSWb58uUO74hNxKzrR9UpOiC1tm9i0aZPx8vIy8fHx5q233jJbt241q1evNs8884y57bbb7O12795tvL29TceOHc2KFSvM+++/bwYOHGgiIiKMJPPTTz/Z2156QmxltxFjftlGExMTS9R56euhIvn5+SYuLs54eHiYKVOmmA8//NCsW7fOPPXUU/aTwouKikz//v2Nh4eHmTFjhklJSTHPP/+8adiwoencubO5ePGiMcaYkydPmiZNmpjo6GizatUq88EHH5jRo0fbt91fz8XYsWNNgwYNStTzwQcfmISEBPPyyy+blJQU8/HHH5sJEyaUOPH2/vvvNz4+PuaPf/yj+eCDD8ymTZvMm2++aR588MEKT+besmWLcXNzM08//bTDcjc3N9OvXz+HZf369TNubm6V/ns6K8JJLSrrQ/LQoUPm1ltvNU2aNDGN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sGzDhg018bQAAOAqUK2HdZo2bSo3NzeHvSSSdPz48RJ7U6oqKSlJUVFRZe5hAQAAV4dqDSeenp7q2rWrUlJSHJanpKSoZ8+eV9R3YmKi0tPTlZqaekX9AAAAa6vyYZ3z589r//799vsHDhzQ7t275e/vrxYtWmjy5MkaM2aMunXrptjYWC1evFgZGRmaMGFCtRYOAACuTlUOJzt37lRcXJz9/uTJkyVJY8eOVXJyskaNGqVTp05p5syZOnr0qNq3b6/169crIiKi+qoGAABXLZsxxtR1EVWRnZ0tPz8/nT17Vr6+vtXef8up66q9z5p2cM6gui4BAIByVeXzu05+W+dycEIsAACuwWnCCSfEAgDgGpwmnAAAANdAOAEAAJZCOAEAAJbiNOGEE2IBAHANThNOOCEWAADX4DThBAAAuAbCCQAAsBTCCQAAsBTCCQAAsBTCCQAAsBSnCSdcSgwAgGtwmnDCpcQAALgGpwknAADANRBOAACApRBOAACApRBOAACApRBOAACApThNOOFSYgAAXIPThBMuJQYAwDU4TTgBAACugXACAAAshXACAAAshXACAAAshXACAAAshXACAAAshXACAAAsxb2uC6ispKQkJSUlqbCwsK5LsZyWU9fVdQlVdnDOoLouAQBgUU6z54QvYQMAwDU4TTgBAACugXACAAAshXACAAAshXACAAAshXACAAAshXACAAAshXACAAAshXACAAAshXACAAAsha+vR53gK/cBAGVxmj0nfH09AACuwWnCCQAAcA2EEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYCmEEwAAYClOE06SkpIUFRWlmJiYui4FAADUIKcJJ4mJiUpPT1dqampdlwIAAGqQ04QTAADgGggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUggnAADAUuoknKxdu1Zt2rRR69at9corr9RFCQAAwKLca/sJCwoKNHnyZG3evFm+vr7q0qWLhg8fLn9//9ouBQAAWFCt7zn54osvdN111yksLEyNGjXSwIEDtWHDhtouAwAAWFSVw8m2bds0ZMgQhYaGymazac2aNSXaLFiwQJGRkfL29lbXrl21fft2+2NHjhxRWFiY/X7z5s11+PDhy6seAABcdaocTnJychQdHa2XXnqp1MdXrFihSZMm6YknnlBaWpp69+6thIQEZWRkSJKMMSXWsdlsZT5fbm6usrOzHW4AAODqVeVzThISEpSQkFDm4/PmzdP48eN17733SpLmz5+vDRs2aOHChZo9e7bCwsIc9pQcOnRIPXr0KLO/2bNn6+mnn65qmUC1azl1XV2XUGUH5wyq6xKqjL8zriZsz5enWs85ycvL05dffqn4+HiH5fHx8dqxY4ckqXv37vrmm290+PBhnTt3TuvXr1f//v3L7HPatGk6e/as/ZaZmVmdJQMAAIup1qt1Tp48qcLCQgUFBTksDwoKUlZW1i9P6O6u559/XnFxcSoqKtKUKVMUEBBQZp9eXl7y8vKqzjIBAICF1cilxJeeQ2KMcVg2dOhQDR06tCaeGgAAOLlqPazTtGlTubm52feSFDt+/HiJvSkAAAClqdZw4unpqa5duyolJcVheUpKinr27HlFfSclJSkqKkoxMTFX1A8AALC2Kh/WOX/+vPbv32+/f+DAAe3evVv+/v5q0aKFJk+erDFjxqhbt26KjY3V4sWLlZGRoQkTJlxRoYmJiUpMTFR2drb8/PyuqC8AAGBdVQ4nO3fuVFxcnP3+5MmTJUljx45VcnKyRo0apVOnTmnmzJk6evSo2rdvr/Xr1ysiIqL6qgYAAFetKoeTvn37lvpFar/20EMP6aGHHrrsogAAgOuqk18lvhyccwIAgGtwmnCSmJio9PR0paam1nUpAACgBjlNOAEAAK6BcAIAACyFcAIAACyFcAIAACzFacIJV+sAAOAaauSH/2pC8TfEnj17Vo0bN1Z2dnaNPE9R7oUa6ReoCzX1OqlJzvgadMa/M2oH23PJfiv6rjRJspnKtLKQQ4cOKTw8vK7LAAAAlyEzM1PNmzcvt43ThZOioiIdOXJEjRo1ks1mU3Z2tsLDw5WZmSlfX9+6Lq9GuMIYJdcYpyuMUWKcVxNXGKPkGuOs6zEaY3Tu3DmFhoaqXr3yzypxmsM6xerVq1dq4vL19b1qN6hirjBGyTXG6QpjlBjn1cQVxii5xjjrcoyV/eFepzkhFgAAuAbCCQAAsBSnDydeXl6aPn26vLy86rqUGuMKY5RcY5yuMEaJcV5NXGGMkmuM05nG6HQnxAIAgKub0+85AQAAVxfCCQAAsBTCCQAAsBTCCQAAsBTCCQAAsBSnCicHDx7U+PHjFRkZqfr166tVq1aaPn268vLyyl1v3LhxstlsDrfrr7++lqqunAULFigyMlLe3t7q2rWrtm/fXm77rVu3qmvXrvL29tY111yjRYsW1VKll2f27NmKiYlRo0aNFBgYqN/+9rfat29fuets2bKlxLzZbDbt3bu3lqqumhkzZpSoNTg4uNx1nG0eJally5alzktiYmKp7Z1lHrdt26YhQ4YoNDRUNptNa9ascXjcGKMZM2YoNDRU9evXV9++ffXtt99W2O/KlSsVFRUlLy8vRUVFafXq1TU0goqVN8b8/Hw99thj6tChgxo0aKDQ0FDdddddOnLkSLl9Jicnlzq/Fy9erOHRlK2iubzczwRnmUtJpc6JzWbTX/7ylzL7tNJcOlU42bt3r4qKivTyyy/r22+/1V//+lctWrRIjz/+eIXrDhgwQEePHrXf1q9fXwsVV86KFSs0adIkPfHEE0pLS1Pv3r2VkJCgjIyMUtsfOHBAAwcOVO/evZWWlqbHH39cEydO1MqVK2u58srbunWrEhMT9dlnnyklJUUFBQWKj49XTk5Ohevu27fPYe5at25dCxVfnuuuu86h1q+//rrMts44j5KUmprqMMaUlBRJ0ogRI8pdz+rzmJOTo+joaL300kulPj537lzNmzdPL730klJTUxUcHKybb75Z586dK7PPTz/9VKNGjdKYMWO0Z88ejRkzRiNHjtTnn39eU8MoV3ljvHDhgnbt2qUnn3xSu3bt0qpVq/Tvf/9bQ4cOrbBfX19fh7k9evSovL29a2IIlVLRXEpV/0xwprmUVGI+XnvtNdlsNt16663l9muZuTRObu7cuSYyMrLcNmPHjjW33HJL7RR0Gbp3724mTJjgsKxt27Zm6tSppbafMmWKadu2rcOyBx54wFx//fU1VmN1O378uJFktm7dWmabzZs3G0nm559/rr3CrsD06dNNdHR0pdtfDfNojDG///3vTatWrUxRUVGpjzvbPBpjjCSzevVq+/2ioiITHBxs5syZY1928eJF4+fnZxYtWlRmPyNHjjQDBgxwWNa/f38zevToaq+5qi4dY2m+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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"h_anom_samples.isel(samples=0).plot.hist(log=True)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "33aa694f-0cc8-4f94-b624-0c0e95d4bbb2",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"n_row, n_col = 2, 3\n",
"n_components = n_row * n_col\n",
"\n",
"def plot_gallery(\n",
" title: str,\n",
" hists: xr.DataArray,\n",
" row_name: str,\n",
" n_col: int = n_col,\n",
" n_row: int = n_row,\n",
" **kwargs,\n",
"):\n",
" \"\"\"Plot a gallery of 2D histogram images, in an n_col by n_row grid.\"\"\"\n",
"\n",
" h = xr.where(hists<1e-5, np.nan, hists) # discard values less than threshold\n",
" \n",
" # plot the joint PDF as contour plot\n",
" # h.unstack('features').plot.contourf(\n",
" # x=\"vort_bin\", \n",
" # norm=mpl.colors.SymLogNorm(1e-4), \n",
" # cbar_kwargs={'format': LogFormatter()},\n",
" # vmax=1e2,\n",
" # cmap='Reds',\n",
" # robust=True,\n",
" # row='samples',\n",
" # col_wrap=n_col,\n",
" # **kwargs,\n",
" # )\n",
" \n",
" fg = np.log(h).unstack('features').plot.imshow(\n",
" x=\"vort_bin\", \n",
" #norm=mpl.colors.SymLogNorm(1e-4), \n",
" #cbar_kwargs={'format': LogFormatter()},\n",
" #vmax=1e2,\n",
" #cmap='Reds',\n",
" robust=True,\n",
" row=row_name,\n",
" col_wrap=n_col,\n",
" **kwargs,\n",
" )\n",
" \n",
" fig = fg.fig\n",
" \n",
" fig.suptitle(title)\n",
" #fig.subplots_adjust(top=0.9)\n",
" \n",
" return fg"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "14afb94c-ff9d-4967-aa5d-12b1322534a0",
"metadata": {
"tags": []
},
"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",
"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 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\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: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.DataArray (features: 4851, samples: 438)&gt;\n",
"array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])\n",
"Coordinates:\n",
" face (samples) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (samples) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (samples) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (samples) int64 4 5 6 7 13 14 ... 790 791 792 793 798 799\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
"Dimensions without coordinates: samples</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>features</span>: 4851</li><li><span>samples</span>: 438</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-b6576afe-40db-48f2-bd10-a531fc6912ae' class='xr-array-in' type='checkbox' checked><label for='section-b6576afe-40db-48f2-bd10-a531fc6912ae' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>-5.503e-07 -5.503e-07 -5.503e-07 ... -6.217e-05 -6.217e-05 -6.217e-05</span></div><div class='xr-array-data'><pre>array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])</pre></div></div></li><li class='xr-section-item'><input id='section-b08d9a18-a808-4074-8a8f-55fc43c25a38' class='xr-section-summary-in' type='checkbox' checked><label for='section-b08d9a18-a808-4074-8a8f-55fc43c25a38' class='xr-section-summary' >Coordinates: <span>(8)</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>face</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 ... 12 12 12 12 12 12</div><input id='attrs-0cdca977-1cd2-42b0-88ed-4aee2ac042fd' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0cdca977-1cd2-42b0-88ed-4aee2ac042fd' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b8e8f876-c68f-42e9-b496-8f2d98d8a5cf' class='xr-var-data-in' type='checkbox'><label for='data-b8e8f876-c68f-42e9-b496-8f2d98d8a5cf' 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>standard_name :</span></dt><dd>face_index</dd></dl></div><div class='xr-var-data'><pre>array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,\n",
" 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n",
" 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n",
" 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,\n",
" 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n",
" 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,\n",
" 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,\n",
" 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>i_region_coarse</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 0 0 0 1 1 1 2 ... 2 2 2 2 3 3 3 3</div><input id='attrs-5225c58c-082a-467e-9eff-6428d5c62a06' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-5225c58c-082a-467e-9eff-6428d5c62a06' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4771d5b3-b635-4966-bf9d-c907c05cda54' class='xr-var-data-in' type='checkbox'><label for='data-4771d5b3-b635-4966-bf9d-c907c05cda54' 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, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7,\n",
" 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,\n",
" 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2,\n",
" 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5,\n",
" 6, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 0, 1, 5, 6, 7, 7, 7, 0, 0,\n",
" 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,\n",
" 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,\n",
" 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6,\n",
" 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4,\n",
" 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,\n",
" 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,\n",
" 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 0, 1, 2, 2, 3, 3, 4, 4, 5,\n",
" 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
" 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5,\n",
" 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0,\n",
" 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>j_region_coarse</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 5 6 7 5 ... 3 4 6 7 0 1 6 7</div><input id='attrs-cba58d5c-5b76-4b8d-a1f0-ea90391fa8c1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-cba58d5c-5b76-4b8d-a1f0-ea90391fa8c1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e0505166-0695-464b-87bd-4dddd50bad60' class='xr-var-data-in' type='checkbox'><label for='data-e0505166-0695-464b-87bd-4dddd50bad60' 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([4, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 6, 7, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 0, 1, 2, 0, 1, 2, 3, 0, 1,\n",
" 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 2,\n",
" 3, 4, 5, 6, 7, 6, 7, 2, 7, 2, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7,\n",
" 6, 7, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 0, 1,\n",
" 2, 4, 5, 7, 0, 1, 2, 6, 7, 0, 1, 2, 7, 0, 0, 0, 0, 0, 1, 2, 1, 2,\n",
" 3, 4, 5, 1, 2, 4, 1, 2, 3, 4, 7, 2, 3, 4, 5, 7, 1, 2, 3, 4, 5, 2,\n",
" 3, 4, 5, 6, 3, 4, 5, 6, 4, 5, 6, 0, 2, 3, 6, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,\n",
" 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2,\n",
" 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2,\n",
" 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1,\n",
" 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7,\n",
" 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 4, 5, 6, 6, 7, 6, 7, 6, 7, 5,\n",
" 6, 7, 0, 4, 5, 6, 7, 0, 1, 4, 5, 6, 7, 0, 1, 2, 3, 6, 7, 0, 1, 2,\n",
" 3, 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 7, 0, 1, 2, 3, 4, 6,\n",
" 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 2, 3, 4, 5, 6,\n",
" 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 6, 7, 0, 1, 6, 7])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>region_num</span></div><div class='xr-var-dims'>(samples)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>4 5 6 7 13 ... 791 792 793 798 799</div><input id='attrs-1ab7dd34-7336-45c5-a249-f57c64e1f93b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1ab7dd34-7336-45c5-a249-f57c64e1f93b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c5f397c8-8c2f-445d-872b-5de0fb7ab46a' class='xr-var-data-in' type='checkbox'><label for='data-c5f397c8-8c2f-445d-872b-5de0fb7ab46a' 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([ 4, 5, 6, 7, 13, 14, 15, 21, 22, 23, 29, 30, 31,\n",
" 37, 38, 39, 45, 46, 47, 54, 55, 62, 63, 64, 65, 66,\n",
" 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n",
" 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93,\n",
" 94, 96, 97, 98, 99, 104, 105, 106, 112, 113, 114, 115, 120,\n",
" 121, 122, 123, 124, 125, 126, 128, 129, 130, 131, 132, 133, 134,\n",
" 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149,\n",
" 150, 151, 158, 159, 162, 167, 170, 198, 199, 206, 207, 214, 215,\n",
" 222, 223, 230, 231, 238, 239, 246, 247, 254, 255, 256, 257, 258,\n",
" 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,\n",
" 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,\n",
" 285, 286, 287, 288, 289, 290, 291, 292, 293, 296, 297, 298, 300,\n",
" 301, 303, 304, 305, 306, 310, 311, 312, 313, 314, 319, 320, 328,\n",
" 360, 368, 376, 377, 378, 385, 386, 387, 388, 389, 393, 394, 396,\n",
" 401, 402, 403, 404, 407, 410, 411, 412, 413, 415, 417, 418, 419,\n",
" 420, 421, 426, 427, 428, 429, 430, 435, 436, 437, 438, 444, 445,\n",
" 446, 464, 466, 467, 470, 472, 473, 474, 475, 476, 477, 478, 479,\n",
" 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,\n",
" 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,\n",
" 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,\n",
" 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,\n",
" 532, 533, 534, 535, 537, 538, 539, 540, 541, 542, 543, 545, 546,\n",
" 547, 548, 549, 550, 551, 553, 554, 555, 556, 557, 558, 559, 560,\n",
" 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,\n",
" 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,\n",
" 587, 588, 589, 590, 591, 594, 595, 596, 597, 598, 599, 602, 603,\n",
" 604, 605, 606, 607, 612, 645, 654, 662, 663, 670, 671, 678, 679,\n",
" 685, 686, 687, 688, 692, 693, 694, 695, 696, 697, 700, 701, 702,\n",
" 703, 704, 705, 706, 707, 710, 711, 712, 713, 714, 715, 720, 721,\n",
" 722, 723, 728, 729, 730, 731, 732, 736, 737, 738, 739, 740, 743,\n",
" 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 755, 756, 758,\n",
" 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772,\n",
" 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785,\n",
" 786, 787, 788, 790, 791, 792, 793, 798, 799])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>div_bin</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.848</div><input id='attrs-fde7ee05-4686-4595-be96-99db173881e6' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-fde7ee05-4686-4595-be96-99db173881e6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1f6b48a6-81cf-42b9-a32c-9e3b15e65fbc' class='xr-var-data-in' type='checkbox'><label for='data-1f6b48a6-81cf-42b9-a32c-9e3b15e65fbc' 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(-4.84848485)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>features</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>MultiIndex</div><input id='attrs-894207cc-4207-4424-be9a-17efb53fe166' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-894207cc-4207-4424-be9a-17efb53fe166' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cb6f61a7-fe45-44c7-afbb-50af6ef99e93' class='xr-var-data-in' type='checkbox'><label for='data-cb6f61a7-fe45-44c7-afbb-50af6ef99e93' 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([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654), ...,\n",
" (4.94949494949495, 4.744897959183674),\n",
" (4.94949494949495, 4.846938775510204),\n",
" (4.94949494949495, 4.948979591836735)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>vort_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.949 ... 4.949 4.949</div><input id='attrs-73214c1d-eee2-4a63-8149-4ae6d6089602' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-73214c1d-eee2-4a63-8149-4ae6d6089602' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8ada189c-abca-40d1-81bd-49bd00fe9967' class='xr-var-data-in' type='checkbox'><label for='data-8ada189c-abca-40d1-81bd-49bd00fe9967' 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([-4.949495, -4.949495, -4.949495, ..., 4.949495, 4.949495, 4.949495])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>strain_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.05102 0.1531 ... 4.847 4.949</div><input id='attrs-c8b7c574-5b82-45eb-b63b-5d3e0ffe3d23' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-c8b7c574-5b82-45eb-b63b-5d3e0ffe3d23' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-758073f2-ccac-4f41-b08f-831a6f0bbbb7' class='xr-var-data-in' type='checkbox'><label for='data-758073f2-ccac-4f41-b08f-831a6f0bbbb7' 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.05102 , 0.153061, 0.255102, ..., 4.744898, 4.846939, 4.94898 ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-ff2e249c-bb04-4ae6-aaf1-97733f9f607e' class='xr-section-summary-in' type='checkbox' ><label for='section-ff2e249c-bb04-4ae6-aaf1-97733f9f607e' class='xr-section-summary' >Indexes: <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-index-name'><div>features<br>vort_bin<br>strain_bin</div></div><div class='xr-index-preview'>PandasMultiIndex</div><div></div><input id='index-defa55b7-1403-40dc-8c48-caaa4b065b57' class='xr-index-data-in' type='checkbox'/><label for='index-defa55b7-1403-40dc-8c48-caaa4b065b57' 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(MultiIndex([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654),\n",
" (-4.94949494949495, 0.35714285714285715),\n",
" (-4.94949494949495, 0.45918367346938777),\n",
" (-4.94949494949495, 0.5612244897959184),\n",
" (-4.94949494949495, 0.6632653061224489),\n",
" (-4.94949494949495, 0.7653061224489797),\n",
" (-4.94949494949495, 0.8673469387755102),\n",
" (-4.94949494949495, 0.9693877551020409),\n",
" ...\n",
" ( 4.94949494949495, 4.030612244897959),\n",
" ( 4.94949494949495, 4.13265306122449),\n",
" ( 4.94949494949495, 4.23469387755102),\n",
" ( 4.94949494949495, 4.336734693877551),\n",
" ( 4.94949494949495, 4.438775510204081),\n",
" ( 4.94949494949495, 4.540816326530613),\n",
" ( 4.94949494949495, 4.642857142857143),\n",
" ( 4.94949494949495, 4.744897959183674),\n",
" ( 4.94949494949495, 4.846938775510204),\n",
" ( 4.94949494949495, 4.948979591836735)],\n",
" name=&#x27;features&#x27;, length=4851))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-5728ea42-ea55-4535-ae7e-4b2a0553297b' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-5728ea42-ea55-4535-ae7e-4b2a0553297b' 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.DataArray (features: 4851, samples: 438)>\n",
"array([[-5.50316757e-07, -5.50316757e-07, -5.50316757e-07, ...,\n",
" -5.50316757e-07, -5.50316757e-07, -5.50316757e-07],\n",
" [-2.34052414e-06, -2.34052414e-06, -2.34052414e-06, ...,\n",
" -2.34052414e-06, -2.34052414e-06, -2.34052414e-06],\n",
" [-3.50926510e-06, -3.50926510e-06, -3.50926510e-06, ...,\n",
" -3.50926510e-06, -3.50926510e-06, -3.50926510e-06],\n",
" ...,\n",
" [-6.16929865e-05, -6.16929865e-05, -6.16929865e-05, ...,\n",
" -6.16929865e-05, -6.16929865e-05, -6.16929865e-05],\n",
" [-6.14600860e-05, -6.14600860e-05, -6.14600860e-05, ...,\n",
" -6.14600860e-05, -6.14600860e-05, -6.14600860e-05],\n",
" [-6.21742140e-05, -6.21742140e-05, -6.21742140e-05, ...,\n",
" -6.21742140e-05, -6.21742140e-05, -6.21742140e-05]])\n",
"Coordinates:\n",
" face (samples) int64 0 0 0 0 0 0 0 0 ... 12 12 12 12 12 12 12 12\n",
" i_region_coarse (samples) int64 0 0 0 0 1 1 1 2 2 2 ... 2 2 2 2 2 2 3 3 3 3\n",
" j_region_coarse (samples) int64 4 5 6 7 5 6 7 5 6 7 ... 1 2 3 4 6 7 0 1 6 7\n",
" region_num (samples) int64 4 5 6 7 13 14 ... 790 791 792 793 798 799\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
"Dimensions without coordinates: samples"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h_anom_samples"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "996e8535-4c94-401e-8e2a-ab9c95e1a475",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAJQCAYAAAD1zftjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB6v0lEQVR4nO3dfXzN9f/H8efnzHY2bHMxs2FGCIWIYkpIaKIL30rXlC7R1fLtl0qoWPVV6VIpkS7oQrr4KiGGvugrzTciXwpbsuRyLjfbef/+2Hcnx2a2c85nZ9t53G+3z83O+/P+vD+vzznb2957vT/vj2WMMQIAAAAAwEuOQAcAAAAAAKjcGFgCAAAAAHzCwBIAAAAA4BMGlgAAAAAAnzCwBAAAAAD4hIElAAAAAMAnDCwBAAAAAD5hYAkAAAAA8AkDSwAAAACATxhYAgCKNX36dFmWpe+//77Y/f3791eTJk08ypo0aaIhQ4aU6TzLly/X2LFjtW/fPu8CDSK5ubm68847FR8fr5CQELVv3z7QIXnFm+8TSTp8+LDGjh2rtLQ0v8fkjd9//11jx47VmjVrAh0KAARctUAHAACoOubMmaOoqKgyHbN8+XKNGzdOQ4YMUa1atewJrIqYPHmyXn/9db300kvq2LGjatasGeiQytXhw4c1btw4SVKPHj0CG4wKBpbjxo1TkyZNKu0gHwD8hYElAMBvOnToEOgQyuzYsWOyLEvVqlX8/xLXrVuniIgIjRgxosR6xhgdPXpUERER5RQZACDYMRUW5WbIkCG6/PLLAx0GABudOMXR5XLpySefVMuWLVWtWjWFhoaqXbt2euGFFyRJY8eO1d///ndJUtOmTWVZlizLck91dLlceuaZZ9SqVSs5nU7Fxsbqpptu0m+//eZxXmOMJkyYoMTERIWHh6tTp05asGCBevTo4ZHZSktLk2VZeuedd/TAAw+oYcOGcjqd2rx5s/78808NGzZMZ5xxhmrWrKnY2FhdeOGFWrZsmce5tm7dKsuy9I9//ENPP/20mjRpooiICPXo0UP//e9/dezYMT300ENq0KCBoqOjdcUVV2jnzp0ebSxatEg9evRQ3bp1FRERocaNG+tvf/ubDh8+fNL31rIsvfnmmzpy5Ij7fZo+fbp734gRI/Taa6+pdevWcjqdevvttyVJ3377rXr16qXIyEhVr15dXbt21dy5cz3aLpz2vGjRIt12222qW7euoqKidNNNN+nQoUPKysrS1VdfrVq1aik+Pl4jR47UsWPHSv5mUMGg/cEHH1RcXJyqV6+u888/X//+97+L1CvNe79161bVq1dPkjRu3Dj3e1D4/bZ582bdfPPNatGihapXr66GDRtqwIABWrt2rce5jv+ejIiIUK1atTy+Jwtt2rRJ1113nWJjY+V0OtW6dWu98sor7v1paWk655xzJEk333yzO56xY8ee8n0JVvweAFRtFf/Ps0A5mj17tkaPHq1ffvlFzZo10/jx43XFFVcEOiwgoPLz85WXl1ek3BhzymOfeeYZjR07Vo8++qhWrFihAwcOaNCgQe77KW+99Vbt2bNHL730kj755BPFx8dLks444wxJ0l133aUpU6ZoxIgR6t+/v7Zu3arRo0crLS1NP/zwg2JiYiRJjzzyiFJTU3X77bdr4MCByszM1K233qpjx47p9NNPLxLXqFGjlJSUpNdee00Oh0OxsbFavny55s2bpwMHDujQoUO69tprZYxRjx499M033xSZevnKK6+oXbt2euWVV7Rv3z498MADGjBggDp37qzQ0FC99dZb2rZtm0aOHKlbb71Vn3/+uaSCAdIll1yibt266a233lKtWrW0fft2zZs3T7m5uapevXqx7+WKFSv0xBNPaPHixVq0aJEkqVmzZu79n376qZYtW6bHHntMcXFxio2N1ZIlS9S7d2+1a9dOU6dOldPp1KuvvqoBAwZo5syZGjRokMc5br31Vg0cOFCzZs1Senq6Hn74YeXl5Wnjxo0aOHCgbr/9di1cuFBPP/20GjRooJSUlBI//9tuu00zZszQyJEj1bt3b61bt04DBw7UgQMHPOrt2bNHkjRmzBjFxcXp4MGDmjNnjsd7Hx8fr3nz5uniiy/W0KFDdeutt0qSe7D5+++/q27dunrqqadUr1497dmzR2+//bY6d+6s9PR0tWzZUpLn9+QFF1ygY8eO6eeff/a4x3f9+vXq2rWrGjdurGeffVZxcXH6+uuvdc8992jXrl0aM2aMzj77bE2bNk0333yzHn30UV1yySWSpEaNGpX4nqDieuONNzRjxgytW7dOktSxY0dNmDBB5557boAjAyoJA5STwYMHm8suuyzQYZzU8uXLTUhIiJkwYYLZsGGDmTBhgqlWrZpZuXJloEMDAmLatGlGUolbYmKixzGJiYlm8ODB7tf9+/c37du3N8acvA/4xz/+YSSZLVu2eJRv2LDBSDLDhg3zKP/uu++MJPPwww8bY4zZs2ePcTqdZtCgQR71VqxYYSSZ7t27u8sWL15sJJkLLrigSBz//ve/zciRI83MmTNNXFycefbZZ82xY8dMr169zBVXXOGut2XLFiPJnHXWWSY/P99dPmnSJCPJXHrppR7t3nfffUaS2b9/vzHGmI8//thIMmvWrCkSw6kMHjzY1KhRo0i5JBMdHW327NnjUd6lSxcTGxtrDhw44C7Ly8szbdq0MY0aNTIul8sY89dnfffdd3scf/nllxtJ5rnnnvMob9++vTn77LNLjLXw87v//vs9yt977z0jyeP75ER5eXnFvvd//vmnkWTGjBlT4rkL28jNzTUtWrTwiOH478mT6du3r2nUqJH7Mys0YsQIEx4e7n6fV61aZSSZadOmnTIeVPzfA6677jrzyiuvmPT0dLNhwwZz8803m+joaPPbb78FOjSgUmAqbBX08ccfq23btoqIiFDdunV10UUX6dChQ5KkVatWqXfv3oqJiVF0dLS6d++uH374weN4y7L0+uuvq3///qpevbpat26tFStWaPPmzerRo4dq1KihpKQk/fLLL+5jxo4dq/bt2+v1119XQkKCqlevrquuuqrEVR6NMXrmmWd02mmnKSIiQmeddZY+/vhj9/69e/fq+uuvV7169RQREaEWLVpo2rRp/n2zjjNp0iT17t1bo0aNUqtWrTRq1Cj16tVLkyZNsu2cgB381Qc8//zzkqT4+HhNnTpVn3zyic4++2w5nU61adNGnTp1ch9T2AccOHBAH330kbsPaNeunf7zn/9o2LBh2r59u8f0ycI+IDU1VZKUnJzs0QcUTtd87733PPqAc889V61bt9Y333wjSVq5cqVycnJ09dVXe1xHly5diqxaW+hvf/tbkbJzzjlHzZo10zPPPKOsrCw98MADCg0N1TfffKMNGzYUqd+vXz85HH/9N9q6dWtJcmeuTizPyMiQJLVv315hYWG6/fbb9fbbb+vXX38tNsayuvDCC1W7dm3360OHDum7777TlVde6bHIT0hIiG688Ub99ttv2rhxo0cb/fv3Lzb24q5p27ZtJcazePFiSdL111/vUX711VcXez/ra6+9prPPPlvh4eHuadMne++Lk5eXpwkTJuiMM85QWFiYqlWrprCwMG3atMmjjXPPPdf9Pfn1118rOzvbo52jR4/qm2++0RVXXKHq1asrLy/PvfXr109Hjx7VypUrSxVToPB7gHfee+89DRs2TO3bt1erVq30xhtvyOVyufsaACVjYFnF7NixQ9dee61uueUWbdiwQWlpaRo4cKB7ytqBAwc0ePBgLVu2TCtXrlSLFi3Ur1+/ItOSnnjiCd10001as2aNWrVqpeuuu0533HGHRo0a5X70wImLR2zevFkffvihvvjiC82bN09r1qzR8OHDTxrro48+qmnTpmny5Mn66aefdP/99+uGG27QkiVLJEmjR4/W+vXr9dVXX2nDhg2aPHmye9pbcSZMmKCaNWuWuJ14r9TxVqxYoT59+niU9e3bV8uXLz/pMUBF488+4LzzzpMknX766XriiSf08ssva8KECUpPT1fNmjWLDCw2b96sw4cPq1evXu4+4Ndff9XEiRO1cuVKLVy4UF999ZV69eql77//3t0HDBw4UJI0dOhQjz7go48+klTwy96JfUCDBg20e/duSXL/+/XXXxf5mc/IyNCyZcvcr3/88UdJck+5Pd5zzz2nu+66S507d1a9evV03333adWqVbr44ot15MiRIvXr1Knj8TosLKzE8qNHj0oqmL66cOFCxcbGavjw4WrWrJmaNWtW5B6/sjrxmvbu3StjTLHX2qBBA0l/vXeFynJNhddzMoVtx8XFeZRXq1ZNdevW9Sg7/r2fPXu2Vq5cWeJ7X5yUlBSNHj1al19+ub744gt99913WrVqlc466yyPNkaNGuX+nkxOTlbdunXd35OFcefl5emll15SaGiox9avXz9J0q5du0oVUyDwe4D3vwec6PDhwzp27FiR738AJxHAbClssHr1aiPJbN26tVT18/LyTGRkpPniiy/cZZLMo48+6n5dOJ1s6tSp7rKZM2ea8PBw9+sxY8aYkJAQk5mZ6S776quvjMPhMDt27DDGeE6BOXjwoAkPDzfLly/3iGfo0KHm2muvNcYYM2DAAHPzzTeX8sqN2b17t9m0aVOJ2+HDh096fGhoqHnvvfc8yt577z0TFhZW6hiAQPNnH1A4PfKtt94qtg9wOBzuqbCFfUCjRo3cUxxP7AOuvfZac84555gWLVqYOnXqGKfTaZYvX+4xFfb4PqBt27ZGkvn3v/9dJO7WrVubLl26GGOM+fLLL40kM3369CI/8w0bNjTnnnuu+/W8efOMJPPRRx8VabNDhw6mR48expiCKb3PP/+8McaY8847z2PKb+FU2H/84x8exxdOsz2x7cL3cdWqVcW+/ytXrjTXX3+9kWRmzpxZpM7xSpoKO3z4cI+ygwcPGofDUWQqsTHGPP3000aS+fnnn0uMccyYMUaS+fPPP0sVx/FeffVVI8l8//33HuXHjh0z1apV85gKe/x7f7wT3/uSpsLWrl3bDBkypEh5w4YNPaZDH2/v3r3mo48+cn9PHjp0yBw6dMiEhISYIUOGmFWrVhW77dq1yxhTMafC8nuA978HnGjYsGGmWbNm5siRI6U+BghmLN5TxZx11lnq1auX2rZtq759+6pPnz668sor3dOjdu7cqccee0yLFi3SH3/8ofz8fB0+fNg9RatQu3bt3F/Xr19fktS2bVuPsqNHjyo7O9v9zLrGjRt7LFqQlJQkl8uljRs3FvmL9fr163X06FH17t3bozw3N9f9uIK77rpLf/vb3/TDDz+oT58+uvzyy9W1a9eTXnudOnV8/quiZVker40xRcqAisyffUDh1LnCn6sT+wCXy+WxgE/jxo3lcrncr0/sA8LCwtSgQQNdf/31uu+++yRJvXv3dk+PPeOMM5SXl+fuA+6++27dfvvt6tevn26++WZ3H7Bq1Spt2LBBjzzyiCSpc+fOcjqd+vLLLzV48GD3+VeuXKnt27erefPmat68uSQVWU32eJZlyel0epT9+OOPWrFihRISEk711nslJCREnTt3VqtWrfTee+/phx9+0DXXXOOXtmvUqKHOnTvrk08+0cSJE92PHnG5XHr33XfVqFGjYhc28pfCxY7ee+89dezY0V3+4YcfFlkMqrTvfWGd4rKYxbUxd+5c9/dAcWrVqqUrr7xS27dv13333aetW7fqjDPOUM+ePZWenq527dq5s7bFKSmeQOH3AP9kF5955hnNnDlTaWlpCg8P90ubQFXHwLKKCQkJ0YIFC7R8+XLNnz9fL730kh555BF99913atq0qYYMGaI///xTkyZNUmJiopxOp5KSkpSbm+vRTmhoqPvrwoFVcWXH/xJ5osI6xQ3MCo+bO3euGjZs6LGv8D/q5ORkbdu2TXPnztXChQvVq1cvDR8+XBMnTiz2fBMmTNCECRNOGo8kffXVV+rWrVux++Li4pSVleVRtnPnTvd/qEBlUN59gClhZdjCOm+88YZ27dqlrKws97kLf97mzp2r3377TTfccIMuu+wyDRw4UBERETpw4IBuu+02LVu2TO+++66++OILTZo0ST169NB//vMfJSQk6P7775dU8MtkSkqKUlNT9cknnygkJETGGPfzKQunwkoqsY/o37+/nnjiCY0ZM0ZHjhzRv/71Lz399NNq2rRpsavieuu1117TokWLdMkll6hx48Y6evSo3nrrLUnSRRdd5LfzSFJqaqp69+6tnj17auTIkQoLC9Orr76qdevWaebMmbb+4ax169a64YYbNGnSJIWGhuqiiy7SunXrNHHiRPdApNDx73337t21ceNGPf7440Xe+8jISCUmJuqzzz5Tr169VKdOHcXExKhJkybq37+/pk+frlatWqldu3ZavXq1/vGPfxRZpXXAgAHue4Tr1aunbdu2uX8eWrRoIUl64YUXdP7556tbt26666671KRJEx04cECbN2/WF1984bEqb0REhN577z21bt1aNWvWVIMGDdxTjQOB3wO8/z2g0MSJEzVhwgQtXLjQY4AN4BQCmzCF3fLy8kzDhg3Ns88+a4wxpmbNmmbGjBnu/RkZGUaSe8qXMQVTYObMmeN+XTjtKz093V1WOOVr7969xpi/psBs377dXWfevHknnQKTnZ1tnE6nRyyn8tprr5nIyMiT7vd1CszVV19tkpOTPcouvvhic80115Q6RqCi8aUPKJwe+dlnn520D0hISDDGFD8Vdt68ecayLHPOOeeYmJgY43A4TEREhBk6dKhZt26dRx8watQo06BBA+NwOIwks3jxYmOMMfn5+ebpp582p59+ugkJCTGWZZkbbrjBY7qdMca4XC7z8MMPm7i4OBMaGmpatWplpkyZYlq1amV69+5dqqmwOTk5ZuTIkaZhw4bGsizTqFEj8+mnn5rBgwf7dSrsihUrzBVXXGESExON0+k0devWNd27dzeff/75KT7Nsk2FLbRs2TJz4YUXmho1apiIiAjTpUsXj2mPxcVYyJepsMYUvKcPPPCAiY2NNeHh4aZLly5mxYoVRVYPPv69Dw8PN2effXax770xxixcuNB06NDBOJ1Oj9Vl9+7da4YOHWpiY2NN9erVzfnnn2+WLVtmunfv7jEV9tlnnzVdu3Y1MTExJiwszDRu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qlWrdsosZaHXXntNjRs31qRJkyRJrVu31vfff6+JEydWzoHlyy+/rKNHj0qSRo0apdDQUH377bcaOHCgRo8e7dcAAQAAAKCycLlcys7O9ihzOp1yOp3F1t+0aZMaNGggp9Opzp07a8KECTrttNOKrbtixQr16dPHo6xv376aOnWqjh07ptDQUP9chBfKPKTOy8vTF198Icf/RuMOh0MPPvigPv/8cz333HOqXbu234MEAAAAAF9ZDkuOkBD7NodDmZmZio6O9thSU1OLjadz586aMWOGvv76a73xxhvKyspS165dtXv37mLrZ2VlqX79+h5l9evXV15ennbt2uX396ssypyxrFatmu666y5t2LDBjngAAAAAoNJKSEjQ2rVrPcpOlq1MTk52f922bVslJSWpWbNmevvtt5WSklLsMSeuPGuMKba8vHk1wbhz585KT0/3+eSpqak655xzFBkZqdjYWF1++eXauHGjz+0CAAAAwIksh0NWiH2bHJYcDoeioqI8tpMNLE9Uo0YNtW3bVps2bSp2f1xcnLKysjzKdu7cqWrVqqlu3bo+vz++8Ooey2HDhumBBx7Qb7/9po4dO6pGjRoe+9u1a1eqdpYsWaLhw4frnHPOUV5enh555BH16dNH69evL9ImAAAAAFRlOTk52rBhg7p161bs/qSkJH3xxRceZfPnz1enTp0Cen+l5OXActCgQZKke+65x11mWZaMMbIsS/n5+aVqZ968eR6vp02bptjYWK1evVoXXHCBN6EBAAAAQLEq2uNGRo4cqQEDBqhx48bauXOnnnzySWVnZ2vw4MGSChZK3b59u2bMmCFJuvPOO/Xyyy8rJSVFt912m1asWKGpU6dq5syZfr+WsvJqYLllyxZ/xyFJ2r9/v6SC52QWJycnRzk5Oe7XJ662BKBqow8Aght9AICq5rffftO1116rXbt2qV69eurSpYtWrlypxMRESdKOHTuUkZHhrt+0aVN9+eWXuv/++/XKK6+oQYMGevHFFwP+qBHJy4Hltm3b1LVrV1Wr5nl4Xl6eli9f7n4jysIYo5SUFJ1//vlq06ZNsXVSU1M1btw4b0IGUAXQBwDBjT4AgM8sy9bnWJZ1AZ1Zs2aVuH/69OlFyrp3764ffvihTOcpD169qz179tSePXuKlO/fv189e/b0KpARI0boxx9/LDGNO2rUKO3f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fDGgz7CUGFgCAAAACCI23mLpddvDhg3TsGHDit03ffr0ImXdu3fXDz/84OXZ7MHAEgAAAEBQMEZy2bx4T7DiHksAAAAAgE/IWAIAAAAICsb89cxHe9oP3pwlGUsAAAAAgE/IWAIAAAAICkY232MZvAlLMpYAAAAAAN+QsQQAAAAQFIwq5uNGqgIylgAAAAAAnzCwRLkZMmSILr/88kCHASBA6AOA4EYfgIqg8DmWdm1kLAHok08+UadOnVSrVi3VqFFD7du31zvvvBPosAAEwKxZs2RZFr8EA0Fk+vTpsiyryHb06NFAhwZUCtxjCfxPnTp19Mgjj6hVq1YKCwvTP//5T918882KjY1V3759Ax0egHKybds2jRw5Ut26dQt0KADKWVRUlDZu3OhRFh4eHqBoYAcjY/NzLG1rusIjY1kFffzxx2rbtq0iIiJUt25dXXTRRTp06JAkadWqVerdu7diYmIUHR2t7t2764cffvA43rIsvf766+rfv7+qV6+u1q1ba8WKFdq8ebN69OihGjVqKCkpSb/88ov7mLFjx6p9+/Z6/fXXlZCQoOrVq+uqq67Svn37ThqnMUbPPPOMTjvtNEVEROiss87Sxx9/7N6/d+9eXX/99apXr54iIiLUokULTZs2zb9v1nF69OihK664Qq1bt1azZs107733ql27dvr2229tOydgB/oA7+Xn5+v666/XuHHjdNppp9l6LsAu9AHesyxLcXFxHhuA0mFgWcXs2LFD1157rW655RZt2LBBaWlpGjhwoPsvMwcOHNDgwYO1bNkyrVy5Ui1atFC/fv104MABj3aeeOIJ3XTTTVqzZo1atWql6667TnfccYdGjRql77//XpI0YsQIj2M2b96sDz/8UF988YXmzZunNWvWaPjw4SeN9dFHH9W0adM0efJk/fTTT7r//vt1ww03aMmSJZKk0aNHa/369frqq6+0YcMGTZ48WTExMSdtb8KECapZs2aJ27Jly0r1Phpj9M0332jjxo264IILSnUMUBHQB/jWBzz++OOqV6+ehg4dWmI9oKKiD/CtDzh48KASExPVqFEj9e/fX+np6SXWR+VjJLls3II4YSkZVCmrV682kszWrVtLVT8vL89ERkaaL774wl0myTz66KPu1ytWrDCSzNSpU91lM2fONOHh4e7XY8aMMSEhISYzM9Nd9tVXXxmHw2F27NhhjDFm8ODB5rLLLjPGGHPw4EETHh5uli9f7hHP0KFDzbXXXmuMMWbAgAHm5ptvLuWVG7N7926zadOmErfDhw+X2Ma+fftMjRo1TLVq1YzT6fS4ZqAyoA/wvg/49ttvTcOGDc2ff/5ZJF6gsqAP8L4PWLFihXnnnXfMmjVrzNKlS83f/vY3ExERYf773/+WOgZUbBdffLH5xwsvmR37Dtq2vfLGW6Zbt26BvtSA4B7LKuass85Sr1691LZtW/Xt21d9+vTRlVdeqdq1a0uSdu7cqccee0yLFi3SH3/8ofz8fB0+fFgZGRke7bRr1879df369SVJbdu29Sg7evSosrOzFRUVJUlq3LixGjVq5K6TlJQkl8uljRs3FplKsn79eh09elS9e/f2KM/NzVWHDh0kSXfddZf+9re/6YcfflCfPn10+eWXq2vXrie99jp16qhOnTqlfq+KExkZqTVr1ujgwYP65ptvlJKSotNOO009evTwqV2gvNAHeNcHHDhwQDfccIPeeOONEjMiQEVHH+D97wFdunRRly5d3K/PO+88nX322XrppZf04osvet0uKhhj732QwXyPJQPLKiYkJEQLFizQ8uXLNX/+fL300kt65JFH9N1336lp06YaMmSI/vzzT02aNEmJiYlyOp1KSkpSbm6uRzuhoaHury3LOmmZy+U6aSyFdQr/PV7hcXPnzlXDhg099jmdTklScnKytm3bprlz52rhwoXq1auXhg8frokTJxZ7vgkTJmjChAknjUeSvvrqqxIX5HA4HGrevLkkqX379tqwYYNSU1MZWKLSoA/wrg/45ZdftHXrVg0YMKBIjNWqVdPGjRvVrFmzEtsGKgL6AN9+Dziew+HQOeeco02bNpWqPhDsGFhWQZZl6bzzztN5552nxx57TImJiZozZ45SUlK0bNkyvfrqq+rXr58kKTMzU7t27fLLeTMyMvT777+rQYMGkqQVK1bI4XDo9NNPL1L3jDPOkNPpVEZGhrp3737SNuvVq6chQ4ZoyJAh6tatm/7+97+f9D+UO++8U1dffXWJMZ74n9epGGOUk5NTpmOAQKMPOLmT9QGtWrXS2rVrPcoeffRRHThwQC+88IISEhJKbBeoSOgDTq4svwcYY7RmzRqPTC0qv8LnTdoliBOWDCyrmu+++07ffPON+vTpo9jYWH333Xf6888/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51hGRkYqLi6uVHWNMZo0aZIeeeQRDRw4UJL09ttvq379+nr//fd1xx13+DU2MpYAAAAAgoIx9k2DzXcZuYzkcrmUnZ3tseXk5Pgl/qefflp169ZV+/btNX78eOXm5p607pYtW5SVlaU+ffq4y5xOp7p3767ly5f7JZ7jkbEEAAAAAD/JzMxUdHS0R9mYMWM0duxYn9q99957dfbZZ6t27dr697//rVGjRmnLli168803i62flZUlSapfv75Hef369bVt2zafYikOA0sv7Js/zv11WIdbJEn1zugqScrPPVJQXr2mu07Owf2SpGrhBWXHjh6SJMX0f8pdZ9c/S77xFgAAAIBvChfvsa19l1FCQoLWrl3rUe50OoutP3bsWI0bN67YfYVWrVqlTp066f7773eXtWvXTrVr19aVV17pzmKejGVZHq+NMUXK/IGBJQAAAAD4icPhUFRUVKnqjhgxQtdcc02JdZo0aVJseZcuXSRJmzdvLnZgWXgvZlZWluLj493lO3fuLJLF9AcGlgAAAACCgstVsRbviYmJUUxMjFfnSk9PlySPQePxmjZtqri4OC1YsEAdOnSQJOXm5mrJkiV6+umnvTpnSVi8BwAAAAAqsBUrVuj555/XmjVrtGXLFn344Ye64447dOmll6px48bueq1atdKcOXMkFUyBve+++zRhwgTNmTNH69at05AhQ1S9enVdd911fo+RjCUAAACAoGD7PZY2Ne10OvXBBx9o3LhxysnJUWJiom677TY9+OCDHvU2btyo/fv3u18/+OCDOnLkiIYNG6a9e/eqc+fOmj9/viIjI/0eIwNLH+WmvyVJcna8VZIUGd/8f3sauOsULtpjOQoSxM6atT3+laS6/cZLko4dOShJyl6cal/QAAAAACqNs88+WytXrjxlPXPCVFzLsjR27FifV6QtDQaWAAAAAIKCyxjl2bwqbLDiHksAAAAAgE/IWAIAAAAICi5TsVaFrUrIWAIAAAAAfELG0k9yVr8pSYq+6FFJ0uHdv7v3RdQueACp5QiRJDlrFqzCdDR7n7tO4QI/xpVve6wAAABAMHK5KueqsJWBVxnLP/74QzfeeKMaNGigatWqKSQkxGMDAAAAAAQPrzKWQ4YMUUZGhkaPHq34+HhZluXvuAAAAADAr1wyyrfxPshgvsfSq4Hlt99+q2XLlql9+/Z+DgcAAAAAUNl4NbBMSEgo8vBNb0yePFmTJ0/W1q1bJUlnnnmmHnvsMSUnJ/vcdqDsX/hkkbKIzsMkSZHxzSVJ1cJrSJJCwiLcdXL+2CpJCqse7XHMke9etS1WAAAAIJgYwz2WdvHqHstJkybpoYcecg8IvdWoUSM99dRT+v777/X999/rwgsv1GWXXaaffvrJp3YBAAAA4EQuV8HjRuzamApbRoMGDdLhw4fVrFkzVa9eXaGhoR779+zZU6p2BgwY4PF6/Pjxmjx5slauXKkzzzyzSP2cnBzl5OS4X2dnZ3sRPYDKij4ACG70AQBQcXk1sJw0aZKfw5Dy8/P10Ucf6dChQ0pKSiq2TmpqqsaNG+f3cwOoHOgDgOBGHwDAVy5j7J0KG8RzYb0aWA4ePNhvAaxdu1ZJSUk6evSoatasqTlz5uiMM84otu6oUaOUkpLifp2dna2EhAS/xQKgYqMPAIIbfQAAVFylHlhmZ2crKirK/XVJCuuVRsuWLbVmzRrt27dPs2fP1uDBg7VkyZJiB5dOp1NOp7PUbVcUhQvwODveKkmqXreBJOnY0YPuOjXqFfzHeOxQ9v9eNy7PEIFKobL2AQD8gz4AgK8KMpYuW9v3ahGbKqDUA8vatWtrx44dio2NVa1atYp9dqUxRpZlKT8/v9QBhIWFqXnzgtVSO3XqpFWrVumFF17Q66+/Xuo2AAAAAACBU+qB5aJFi1SnTh1J0uLFi20LyBjjcWM+AAAAAPiDy/bHjZCxPKXu3bsX+7UvHn74YSUnJyshIUEHDhzQrFmzlJaWpnnz5vmlfQAAAACA/bxavEeS9u7dq6lTp2rDhg2yLEutW7fWzTff7M5qlsYff/yhG2+8UTt27FB0dLTatWunefPmqXfv3t6GBQAAAADFsn9VWNuarvC8GlguWbJEl156qaKjo9WpUydJ0osvvqjHH39cn3/+eakzmlOnTvXm9JVWzuo3JUnxgwoW88nPOerel597RJIUFllbkmRcpb9PFQAAAAACyauB5fDhwzVo0CBNnjxZISEhkgqeQzls2DANHz5c69at82uQAAAAAOArl8soz+Z7LIOVV/eW/vLLL3rggQfcg0pJCgkJUUpKin755Re/BQcAAAAAqPi8ylieffbZ2rBhg1q2bOlRvmHDBrVv394fcQEAAACAX5XHqrDBqtQDyx9//NH99T333KN7771XmzdvVpcuXSRJK1eu1CuvvKKnnnrK/1ECAAAAACqsUg8s27dvL8uyZI4bhT/44INF6l133XUaNGiQf6KronZ8MEySFNbhFndZSFh4Qdn/Fu8Jj44p/8AAAACAKsz2VWGDN2FZ+oHlli1b7IwDAAAAAFBJlXpgmZiYWObGL7nkEr355puKj48v87EAAAAA4E/G7nssgzhl6dXiPaW1dOlSHTlyxM5TAAAAAECp2D8VloElAiA3/a0iZfUu/YckKT/naJF9kd0L7mk9sOQZewMDAAAAgDJgYAkAAAAgKLhcLN5jF0egAwAAAAAAVG5kLAEAAAAEBWMkY2Na0c62KzoylgAAAAAAn9iasXz44YdVp04dO09R5fz5+d89Xhcu2COxaA8AAADgC2OMrY8EMawKW3b//e9/lZaWpp07d8rlcnnse+yxxyRJo0aN8i06AAAAAECF59XA8o033tBdd92lmJgYxcXFybIs9z7LstwDSwAAAACoMIy9WcUgTlh6N7B88sknNX78eP3f//2fv+MBAAAAAFQyXg0s9+7dq6uuusrfsQAAAACAbYwx9q7cGsQpS68GlldddZXmz5+vO++809/x4AQs2AMAAACgovNqYNm8eXONHj1aK1euVNu2bRUaGuqx/5577vFLcAAAAADgL3avChvEj7H0bmA5ZcoU1axZU0uWLNGSJUs89lmWxcASAAAAAIKIVwPLLVu2+DsOAAAAALCVMZJxnbqe9yewse0KzhHoAAAAAAAAlVupM5YpKSl64oknVKNGDaWkpJRY97nnnvM5MAAAAADwK9ufYxm8KctSDyzT09N17Ngx99cnY1mW71EBAAAAgJ+5bF68x66BZVpamnr27Fnsvn//+98655xzit03ZMgQvf322x5lnTt31sqVK/0eY6kHlosXLy72awAAAACAfbp27aodO3Z4lI0ePVoLFy5Up06dSjz24osv1rRp09yvw8LCbInRq8V7AAAAAKDSMZKxM2Np08JAYWFhiouLc78+duyYPv/8c40YMeKUM0adTqfHsXbxemC5atUqffTRR8rIyFBubq7Hvk8++cTnwAAAAACgsnG5XMrOzvYoczqdcjqdfjvH559/rl27dmnIkCGnrJuWlqbY2FjVqlVL3bt31/jx4xUbG+u3WAp5tSrsrFmzdN5552n9+vWaM2eOjh07pvXr12vRokWKjo72d4wAAAAA4DPjMvZuxigzM1PR0dEeW2pqql+vY+rUqerbt68SEhJKrJecnKz33ntPixYt0rPPPqtVq1bpwgsvVE5Ojl/jkbzMWE6YMEHPP/+8hg8frsjISL3wwgtq2rSp7rjjDsXHx/s7RgAAAACoFBISErR27VqPspNlK8eOHatx48aV2N6qVas87qP87bff9PXXX+vDDz88ZSyDBg1yf92mTRt16tRJiYmJmjt3rgYOHHjK48vCq4HlL7/8oksuuURSwZt06NAhWZal+++/XxdeeOEp3xwAAAAAKG9GRi6bHzficDgUFRVVqvojRozQNddcU2KdJk2aeLyeNm2a6tatq0svvbTM8cXHxysxMVGbNm0q87Gn4tXAsk6dOjpw4IAkqWHDhlq3bp3atm2rffv26fDhw34NEAAAAACqopiYGMXExJS6vjFG06ZN00033aTQ0NAyn2/37t3KzMy0ZZapV/dYduvWTQsWLJAkXX311br33nt122236dprr1WvXr38GiAAAAAA+IMx9t5nKfuSoZKkRYsWacuWLRo6dGix+1u1aqU5c+ZIkg4ePKiRI0dqxYoV2rp1q9LS0jRgwADFxMToiiuu8HtsXmUsX375ZR09elSSNGrUKIWGhurbb7/VwIEDNXr0aL8GCAAAAAAoWLSna9euat26dbH7N27cqP3790uSQkJCtHbtWs2YMUP79u1TfHy8evbsqQ8++ECRkZF+j63MA8u8vDx98cUX6tu3ryTJ4XDowQcf1IMPPuj34AAAAADAbwozizYxNt6/KUnvv/9+qc8fERGhr7/+2tZ4jlfmqbDVqlXTXXfd5ZclalNTU3XOOecoMjJSsbGxuvzyy7Vx40af2wUAAAAAlB+v7rHs3Lmz0tPTfT75kiVLNHz4cK1cuVILFixQXl6e+vTpo0OHDvncNgAAAAAczxjJ5TK2bXZnLCsyr+6xHDZsmB544AH99ttv6tixo2rUqOGxv127dqVqZ968eR6vp02bptjYWK1evVoXXHCBN6EBAAAAAMqZVwPLwgdt3nPPPe4yy7JkjJFlWcrPz/cqmMIbTevUqVPs/pycHI8puNnZ2V6dB0DlRB8ABDf6AAC+MrI3qxjECUvvBpZbtmzxdxwyxiglJUXnn3++2rRpU2yd1NRUjRs3zu/nBlA50AcAwY0+AICvjKtgs639IB5YenWP5bZt29SwYUMlJiZ6bA0bNtS2bdu8CmTEiBH68ccfNXPmzJPWGTVqlPbv3+/eMjMzvToXgMqJPgAIbvQBAFBxeZWx7Nmzp3bs2KHY2FiP8v3796tnz55lngp799136/PPP9fSpUvVqFGjk9ZzOp1yOp3ehAygCqAPAIIbfQAAXxlTsMiObe3b2HZF59XAsvBeyhPt3r27yEI+p2rn7rvv1pw5c5SWlqamTZt6Ew4AAAAAIIDKNLAcOHCgpIKFeoYMGeLxV8P8/Hz9+OOP6tq1a6nbGz58uN5//3199tlnioyMVFZWliQpOjpaERERZQkNAAAAAEpkjL1ZRR43UkrR0dGSCt6wyMhIj8FfWFiYunTpottuu63U7U2ePFmS1KNHD4/yadOmaciQIWUJDQAAAAAQIGUaWE6bNk2SVK9ePY0dO1bVq1eXJG3dulWffvqpWrdurZiYmFK3F8wjegAAAADlzBh774MM4uGNV6vCpqena8aMGZKkffv2qUuXLnr22Wd1+eWXu7OQAAAAAIDg4PXAslu3bpKkjz/+WPXr19e2bds0Y8YMvfjii34NEAAAAAD8wRjJZYytW7DyamB5+PBhRUZGSpLmz5+vgQMHyuFwqEuXLl4/xxIAAAAAUDl5NbBs3ry5Pv30U2VmZurrr79Wnz59JEk7d+5UVFSUXwMEAAAAAH8w/7vH0q5NZCzL5rHHHtPIkSPVpEkTde7cWUlJSZIKspcdOnTwa4AAAAAAgIqtTKvCFrryyit1/vnna8eOHTrrrLPc5b169dIVV1zht+AAAAAAwF+MzavCGpdtTVd4Xg0sJSkuLk5xcXEeZeeee67PAQEAAAAAKhevB5YAAAAAUJkYI7nszFhyjyUAAAAAAN4hYwkAAAAgOBhja1YxiBOWDCwBAAAABAe7F+8J5pElU2EBAAAAAD4hYwkAAAAgKNi9eI+LjCUAAAAAAN4hYwkAAAAgKBiXS8aVb+cJ7Gu7giNjCQAAAADwCRlLAAAAAMHB2JuxNC4ylgAAAAAAeIWMJQAAAICgYOzOWHKPJQAAAAAA3iFjCQAAACAoGJeRybdxVViXK2hTd0F62QAAAAAAfyFjCQAAACA42H6PpbGt7YqOjCUAAAAAwCdkLAEAAAAEBdtXhXW5pBDbmq/QyFgCAAAAAHxCxhIAAABAcHDZm7FUED/HkoElAAAAgKBg+1TYIB5YMhUWAAAAAOATMpYAAAAAgoIxhoylTchYAgAAAAB8QsYSAAAAQFAwxiWX3Y8bCVJkLAEAAACgghs/fry6du2q6tWrq1atWsXWycjI0IABA1SjRg3FxMTonnvuUW5ubont5uTk6O6771ZMTIxq1KihSy+9VL/99luZ42NgCQAAACA4/G9VWNs2G++xzM3N1VVXXaW77rqr2P35+fm65JJLdOjQIX377beaNWuWZs+erQceeKDEdu+77z7NmTNHs2bN0rfffquDBw+qf//+ys8vW2aXqbAAAAAAUMGNGzdOkjR9+vRi98+fP1/r169XZmamGjRoIEl69tlnNWTIEI0fP15RUVFFjtm/f7+mTp2qd955RxdddJEk6d1331VCQoIWLlyovn37ljo+MpYAAAAAgoJx2ZuxlHHJ5XIpOzvbY8vJybH92lasWKE2bdq4B5WS1LdvX+Xk5Gj16tXFHrN69WodO3ZMffr0cZc1aNBAbdq00fLly8t0/oAOLJcuXaoBAwaoQYMGsixLn376aSDDAQAAAACfZGZmKjo62mNLTU21/bxZWVmqX7++R1nt2rUVFhamrKyskx4TFham2rVre5TXr1//pMecTEAHlocOHdJZZ52ll19+OZBhAAAAAAgCxrhk8vPt21wuJSQkaP/+/R7bqFGjio1n7NixsiyrxO37778v9fVZllXMNZtiy0t+n8p+TEDvsUxOTlZycnKp6+fk5HikkbOzs+0IC0AFRR8ABDf6AACVgcPhKPZ+xuKMGDFC11xzTYl1mjRpUqq24uLi9N1333mU7d27V8eOHSuSyTz+mNzcXO3du9cja7lz50517dq1VOctVKnusUxNTfVIKSckJAQ6JADliD4ACG70AQB8Zvc9lmV8jmVMTIxatWpV4hYeHl6qtpKSkrRu3Trt2LHDXTZ//nw5nU517Nix2GM6duyo0NBQLViwwF22Y8cOrVu3rmoPLEeNGuWRUs7MzAx0SADKEX0AENzoAwAEs4yMDK1Zs0YZGRnKz8/XmjVrtGbNGh08eFCS1KdPH51xxhm68cYblZ6erm+++UYjR47Ubbfd5s6gbt++Xa1atdK///1vSVJ0dLSGDh2qBx54QN98843S09N1ww03qG3btu5VYkurUj1uxOl0yul0BjoMAAFCHwAEN/oAAL4yxhRkFm1r377n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FimPjo6ukj+0haKiori+SqoqX5ukcl9ymz6gaqrK11eVr02iDygvVf37qCpfX1W+Nqn8+wBUbAH9bggLC1PHjh21YMECj/IFCxaoa9euAYoKAAAAAFAWAc1YSlJKSopuvPFGderUSUlJSZoyZYoyMjJ05513Bjo0AAAAAEApBHxgOWjQIO3evVuPP/64duzYoTZt2ujLL79UYmLiKY91Op0aM2ZMsdNiqgKur/KqytcmVZzrqyhx2IXrq7yq8rVJFef6KkocduH6Kq+qfG1S1b8+eCegi/cAAAAAACo/7rgFAAAAAPiEgSUAAAAAwCcMLAEAAAAAPmFgCQAAAADwSaUbWDZp0kSWZXlsDz30UInHGGM0duxYNWjQQBEREerRo4d++umncoq49LZu3aqhQ4eqadOmioiIULNmzTRmzBjl5uaWeNyQIUOKvCddunQpp6hP7tVXX1XTpk0VHh6ujh07atmyZSXWX7JkiTp27Kjw8HCddtppeu2118op0rJJTU3VOeeco8jISMXGxuryyy/Xxo0bSzwmLS2tyGdkWZZ+/vnncoq69MaOHVskzri4uBKPKc/Pjj6gKPqA8kUfUBR9gO+q2s+/RB9wPPoABAVTySQmJprHH3/c7Nixw70dOHCgxGOeeuopExkZaWbPnm3Wrl1rBg0aZOLj4012dnY5RV06X331lRkyZIj5+uuvzS+//GI+++wzExsbax544IESjxs8eLC5+OKLPd6T3bt3l1PUxZs1a5YJDQ01b7zxhlm/fr259957TY0aNcy2bduKrf/rr7+a6tWrm3vvvdesX7/evPHGGyY0NNR8/PHH5Rz5qfXt29dMmzbNrFu3zqxZs8ZccsklpnHjxubgwYMnPWbx4sVGktm4caPH55SXl1eOkZfOmDFjzJlnnukR586dO09av7w/O/qAougDyhd9gCf6AP+oSj//xtAHnIg+AMGgUg4sn3/++VLXd7lcJi4uzjz11FPusqNHj5ro6Gjz2muv2RChfz3zzDOmadOmJdYZPHiwueyyy8onoFI699xzzZ133ulR1qpVK/PQQw8VW//BBx80rVq18ii74447TJcuXWyL0V927txpJJklS5actE7hfyh79+4tv8C8NGbMGHPWWWeVun55f3b0AUXRBwQWfQB9gF0q68+/MfQBJ6IPQDCodFNhJenpp59W3bp11b59e40fP77EaSJbtmxRVlaW+vTp4y5zOp3q3r27li9fXh7h+mT//v2qU6fOKeulpaUpNjZWp59+um677Tbt3LmzHKIrXm5urlavXu3xnktSnz59Tvqer1ixokj9vn376vvvv9exY8dsi9Uf9u/fL0ml+pw6dOig+Ph49erVS4sXL7Y7NK9t2rRJDRo0UNOmTXXNNdfo119/PWndQHx29AFF0QcEDn0AfYBdKuPPv0QfUBL6AFRllW5gee+992rWrFlavHixRowYoUmTJmnYsGEnrZ+VlSVJql+/vkd5/fr13fsqql9++UUvvfSS7rzzzhLrJScn67333tOiRYv07LPPatWqVbrwwguVk5NTTpF62rVrl/Lz88v0nmdlZRVbPy8vT7t27bItVl8ZY5SSkqLzzz9fbdq0OWm9+Ph4TZkyRbNnz9Ynn3yili1bqlevXlq6dGk5Rls6nTt31owZM/T111/rjTfeUFZWlrp27ardu3cXW7+8Pzv6gKLoAwKHPoA+wC6V9edfog8oDn0AgkKAM6bGmIKUu6QSt1WrVhV77Mcff2wkmV27dhW7/1//+peRZH7//XeP8ltvvdX07dvX79dSHG+ub/v27aZ58+Zm6NChZT7f77//bkJDQ83s2bP9dQllsn37diPJLF++3KP8ySefNC1btiz2mBYtWpgJEyZ4lH377bdGktmxY4dtsfpq2LBhJjEx0WRmZpb52P79+5sBAwbYEJV/HTx40NSvX988++yzxe73x2dHH0AfQB9QcdEH+CbYfv6NoQ8oLfoAVDXV/DA29dmIESN0zTXXlFinSZMmxZYXrny2efNm1a1bt8j+wlWssrKyFB8f7y7fuXNnkb+u2KWs1/f777+rZ8+eSkpK0pQpU8p8vvj4eCUmJmrTpk1lPtYfYmJiFBISUuSvkiW953FxccXWr1atWrGfa0Vw99136/PPP9fSpUvVqFGjMh/fpUsXvfvuuzZE5l81atRQ27ZtT/r95I/Pjj6APoA+oOKiD/BNsP38S/QBpUUfgKqmQgwsY2JiFBMT49Wx6enpkuTxn8XxmjZtqri4OC1YsEAdOnSQVDD3f8mSJXr66ae9C7iMynJ927dvV8+ePdWxY0dNmzZNDkfZZyvv3r1bmZmZJ31P7BYWFqaOHTtqwYIFuuKKK9zlCxYs0GWXXVbsMUlJSfriiy88yubPn69OnTopNDTU1njLyhiju+++W3PmzFFaWpqaNm3qVTvp6ekB+4zKIicnRxs2bFC3bt2K3e+Pz44+4C/0AX+hD6gY6AN8E2w//xJ9QGnRB6DKCXDGtEyWL19unnvuOZOenm5+/fVX88EHH5gGDRqYSy+91KNey5YtzSeffOJ+/dRTT5no6GjzySefmLVr15prr722wi0zbsxfU18uvPBC89tvv3ks83y846/vwIED5oEHHjDLly83W7ZsMYsXLzZJSUmmYcOGAb2+wmXGp06datavX2/uu+8+U6NGDbN161ZjjDEPPfSQufHGG931C5eqvv/++8369evN1KlTK+xS1XfddZeJjo42aWlpHp/R4cOH3XVOvL7nn3/ezJkzx/z3v/8169atMw899JCRFNCpSifzwAMPmLS0NPPrr7+alStXmv79+5vIyMgK8dnRBxSgDwgs+gD6ADtUpZ9/Y+gD6AMq5mcHe1WqgeXq1atN586dTXR0tAkPDzctW7Y0Y8aMMYcOHfKoJ8lMmzbN/drlcpkxY8aYuLg443Q6zQUXXGDWrl1bztGf2rRp0056/8Xxjr++w4cPmz59+ph69eqZ0NBQ07hxYzN48GCTkZERgCvw9Morr5jExEQTFhZmzj77bI9luAcPHmy6d+/uUT8tLc106NDBhIWFmSZNmpjJkyeXc8Slc7LP6PjvuROv7+mnnzbNmjUz4eHhpnbt2ub88883c+fOLf/gS6Hw+W6hoaGmQYMGZuDAgeann35y7w/kZ0cfUIA+ILDoA+gD7FDVfv6NoQ+gD0CwsYwxxpZUKAAAAAAgKFS6x40AAAAAACoWBpYAAAAAAJ8wsAQAAAAA+ISBJQAAAADAJwwsAQAAAAA+YWAJAAAAAPAJA0sAAAAAgE8YWAIAAAAAfMLAEhVWjx49dN9995VYp0mTJpo0aVK5xAOgfNEHAMGNPgCoXKoFOgAEh7S0NPXs2VN79+5VrVq1/NbuqlWrVKNGDb+1B8Ae9AFAcKMPAKo+Bpaw3bFjx2xru169era1DcA/6AOA4EYfAAQHpsLCw+uvv66GDRvK5XJ5lF966aUaPHiwJGny5Mlq1qyZwsLC1LJlS73zzjsedS3L0muvvabLLrtMNWrU0K233qqePXtKkmrXri3LsjRkyJBSxZOXl6cRI0aoVq1aqlu3rh599FEZY9z7T5wCY1mW3nzzTV1xxRWqXr26WrRooc8//9yLdwIITvQBQHCjDwDgNQMcZ/fu3SYsLMwsXLjQXbZnzx4TFhZmvv76a/PJJ5+Y0NBQ88orr5iNGzeaZ5991oSEhJhFixa560sysbGxZurUqeaXX34xW7duNbNnzzaSzMaNG82OHTvMvn37ThlL9+7dTc2aNc29995rfv75Z/Puu++a6tWrmylTprjrJCYmmueff97j3I0aNTLvv/++2bRpk7nnnntMzZo1ze7du/3zBgFVHH0AENzoAwB4i4Elirj00kvNLbfc4n79+uuvm7i4OJOXl2e6du1qbrvtNo/6V111lenXr5/7tSRz3333edRZvHixkWT27t1b6ji6d+9uWrdubVwul7vs//7v/0zr1q3dr4v7D+XRRx91vz548KCxLMt89dVXpT4vEOzoA4DgRh8AwBtMhUUR119/vWbPnq2cnBxJ0nvvvadrrrlGISEh2rBhg8477zyP+uedd542bNjgUdapUye/xNKlSxdZluV+nZSUpE2bNik/P/+kx7Rr1879dY0aNRQZGamdO3f6JR4gGNAHAMGNPgCANxhYoogBAwbI5XJp7ty5yszM1LJly3TDDTe49x/fwUuSMaZIWSBXaAsNDfV4bVlWkXtFAJwcfQAQ3OgDAHiDgSWKiIiI0MCBA/Xee+9p5syZOv3009WxY0dJUuvWrfXtt9961F++fLlat25dYpthYWGSVOJfGIuzcuXKIq9btGihkJCQMrUDoPToA4DgRh8AwBs8bgTFuv766zVgwAD99NNPHn+l/Pvf/66rr75aZ599tnr16qUvvvhCn3zyiRYuXFhie4mJibIsS//85z/Vr18/RUREqGbNmqeMIzMzUykpKbrjjjv0ww8/6KWXXtKzzz7r8/UBKBl9ABDc6AMAlBUZSxTrwgsvVJ06dbRx40Zdd9117vLLL79cL7zwgv7xj3/ozDPP1Ouvv65p06apR48eJbbXsGFDjRs3Tg899JDq16+vESNGlCqOm266SUeOHNG5556r4cOH6+6779btt9/uy6UBKAX6ACC40QcAKCvLmOMeBgQAAAAAQBmRsQQAAAAA+ISBJQIiIyNDNWvWPOmWkZER6BAB2Ig+AAhu9AFA1cNUWAREXl6etm7detL9TZo0UbVqrC0FVFX0AUBwow8Aqh4GlgAAAAAAnzAVFgAAAADgEwaWAAAAAACfMLAEAAAAAPiEgSUAAAAAwCcMLAEAAAAAPmFgCQAAAADwCQNLAAAAAIBP/h+/3nS9orqr2wAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 1000x600 with 7 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fg = plot_gallery(\n",
" \"Histograms from dataset\", \n",
" h_anom_samples.isel(samples=slice(0, n_components)),\n",
" row_name='samples'\n",
" #levels=np.logspace(-5, 2, 15),\n",
")"
]
},
{
"cell_type": "markdown",
"id": "b0e23f28-6096-46aa-bda0-c9bb709948d6",
"metadata": {},
"source": [
"## Perform decomposition"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "0de634fa-5d19-40c3-af91-191f50861a75",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"(4851, 438)"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h_anom_samples.data.shape"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "b82d4ef2-b427-4b23-bd1e-b041f7212556",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"pca_estimator = decomposition.PCA(\n",
" n_components=10, svd_solver=\"randomized\",\n",
")\n",
"eigenhist_data = pca_estimator.fit_transform(h_anom_samples.data)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "24186433-cf92-426d-94e5-45e70bb655b9",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"(4851, 10)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eigenhist_data.shape"
]
},
{
"cell_type": "markdown",
"id": "9bd26c2f-9dcc-4975-9163-27dd6a85f21d",
"metadata": {},
"source": [
"We have reduced the number of samples, not the number of features."
]
},
{
"cell_type": "markdown",
"id": "f2e51aa8-0276-42fe-8677-cccc22f7b4ff",
"metadata": {},
"source": [
"## Explained variance"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "43672f17-a532-438b-9070-a9d8c3b1b6f1",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f1e7a37d390>]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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1+k9iEh7OCJERJLq3LkzkpOTkZCQUOPzPj4+OHLkSJVjx44dQ7t27SCXyxt07vLy8ioTqOPj45GTk1M5YuPt7V3jub29vet8Dn9/f/z999/w9PREmzZtqnxZWVnV+X1MTEyqjIARkWawCBGRpPr164e+ffti1KhRiIyMxPXr17F371789ttvAIBZs2Zh//79+M9//oOEhASsX78eK1aswOzZsxt8bhMTE7z99ts4efIkzpw5gylTpqBHjx7o1q0bAGDOnDlYt24dvvrqK1y+fBlLlizBDz/8oNa5Q0NDkZ2djbFjx+LUqVO4du0a9u3bh5dfflmtYuPp6Yn9+/cjLS0Nd+7cUftnJaKasQgRkeR27tyJoKAgjB07Fj4+Pnj33XcrS4K/vz+2b9+OrVu3wtfXFx999BHmz5+PyZMnN/i8lpaWeO+99/DSSy+hZ8+esLCwwNatWyufHzFiBL788kt88cUX6NixI77++musXbsW/fv3r/M5XFxccPToUSiVSgwaNAi+vr545513YGdnB5ms7n8FL168GJGRkXBzc0PXrl3V+TGJ6BEEsaaL7UREBm7dunWYMWMGcnJypI5CRBLiiBAREREZLRYhItKqzZs3V1k6/uBXx44dpY5HREaOl8aISKvy8/Nx+/btGp8zMTGBh4dHIyciIvoHixAREREZLV4aIyIiIqPFIkRERERGi0WIiIiIjBaLEBERERktFiEiIiIyWixCREREZLRYhIiIiMho/T9b0IhBYvlEOQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xr.DataArray(\n",
" name='explained variance ratio',\n",
" data=pca_estimator.explained_variance_ratio_, \n",
" dims='n_component',\n",
").plot(x='n_component', yscale='log')"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "6902dac9-c817-480a-ac0a-d3365c376f10",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"99% of the variance is explained by the first 3 components.\n"
]
}
],
"source": [
"the_99percent = np.argmax(pca_estimator.explained_variance_ratio_.cumsum() > 0.99)\n",
"print(f\"99% of the variance is explained by the first {the_99percent} components.\")"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "8d48720f-8291-4138-ae12-fd1a22a734f2",
"metadata": {
"tags": []
},
"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",
"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 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\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: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.DataArray (features: 4851, component: 10)&gt;\n",
"array([[ 2.82871618e-04, 4.61355355e-04, 2.21775624e-04, ...,\n",
" 5.89014493e-06, 8.37914772e-05, -1.15427209e-04],\n",
" [ 2.60084286e-04, 4.03467528e-04, 1.77207755e-04, ...,\n",
" 2.04461191e-06, 2.97444053e-05, -7.84908724e-05],\n",
" [ 2.45374738e-04, 3.64947041e-04, 1.49484898e-04, ...,\n",
" -5.61015250e-07, -1.23220891e-06, -5.17130635e-05],\n",
" ...,\n",
" [-5.02360020e-04, -1.33072558e-03, -8.76479558e-04, ...,\n",
" -4.92925478e-05, -5.53890687e-04, 6.94213373e-04],\n",
" [-5.01500259e-04, -1.32685204e-03, -8.76526601e-04, ...,\n",
" -5.02856544e-05, -5.39178012e-04, 7.33433389e-04],\n",
" [-5.07722288e-04, -1.31076838e-03, -8.70021845e-04, ...,\n",
" -4.85450846e-05, -5.29703485e-04, 7.03384415e-04]])\n",
"Coordinates:\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
" expl_var_ratio (component) float64 0.9343 0.04359 ... 0.0001738 0.0001476\n",
"Dimensions without coordinates: component</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>features</span>: 4851</li><li><span>component</span>: 10</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-9a804c6b-31de-4aa7-a239-1376abac22de' class='xr-array-in' type='checkbox' checked><label for='section-9a804c6b-31de-4aa7-a239-1376abac22de' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>0.0002829 0.0004614 0.0002218 ... -4.855e-05 -0.0005297 0.0007034</span></div><div class='xr-array-data'><pre>array([[ 2.82871618e-04, 4.61355355e-04, 2.21775624e-04, ...,\n",
" 5.89014493e-06, 8.37914772e-05, -1.15427209e-04],\n",
" [ 2.60084286e-04, 4.03467528e-04, 1.77207755e-04, ...,\n",
" 2.04461191e-06, 2.97444053e-05, -7.84908724e-05],\n",
" [ 2.45374738e-04, 3.64947041e-04, 1.49484898e-04, ...,\n",
" -5.61015250e-07, -1.23220891e-06, -5.17130635e-05],\n",
" ...,\n",
" [-5.02360020e-04, -1.33072558e-03, -8.76479558e-04, ...,\n",
" -4.92925478e-05, -5.53890687e-04, 6.94213373e-04],\n",
" [-5.01500259e-04, -1.32685204e-03, -8.76526601e-04, ...,\n",
" -5.02856544e-05, -5.39178012e-04, 7.33433389e-04],\n",
" [-5.07722288e-04, -1.31076838e-03, -8.70021845e-04, ...,\n",
" -4.85450846e-05, -5.29703485e-04, 7.03384415e-04]])</pre></div></div></li><li class='xr-section-item'><input id='section-583273fe-e321-4b90-aeeb-94931b734100' class='xr-section-summary-in' type='checkbox' checked><label for='section-583273fe-e321-4b90-aeeb-94931b734100' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>div_bin</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.848</div><input id='attrs-78f99d8d-c1d2-4eef-9829-f75ebf89290b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-78f99d8d-c1d2-4eef-9829-f75ebf89290b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fd8b4fd1-053c-4137-8d94-dd50da1676f6' class='xr-var-data-in' type='checkbox'><label for='data-fd8b4fd1-053c-4137-8d94-dd50da1676f6' 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(-4.84848485)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>features</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>MultiIndex</div><input id='attrs-b9e1becc-d3c7-474e-8f99-e18642ea1a6f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-b9e1becc-d3c7-474e-8f99-e18642ea1a6f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-405cd103-5e6d-4515-882f-eafd742384ad' class='xr-var-data-in' type='checkbox'><label for='data-405cd103-5e6d-4515-882f-eafd742384ad' 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([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654), ...,\n",
" (4.94949494949495, 4.744897959183674),\n",
" (4.94949494949495, 4.846938775510204),\n",
" (4.94949494949495, 4.948979591836735)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>vort_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.949 -4.949 ... 4.949 4.949</div><input id='attrs-affc2c26-191f-448d-8961-04a371b612a5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-affc2c26-191f-448d-8961-04a371b612a5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c30d26eb-57de-40e3-8014-9ec790e0c24a' class='xr-var-data-in' type='checkbox'><label for='data-c30d26eb-57de-40e3-8014-9ec790e0c24a' 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([-4.949495, -4.949495, -4.949495, ..., 4.949495, 4.949495, 4.949495])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>strain_bin</span></div><div class='xr-var-dims'>(features)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.05102 0.1531 ... 4.847 4.949</div><input id='attrs-e6ee6612-e87c-4fc9-9c4f-e592e6daad68' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e6ee6612-e87c-4fc9-9c4f-e592e6daad68' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3374f29f-8305-4c1a-96d0-845139a300a6' class='xr-var-data-in' type='checkbox'><label for='data-3374f29f-8305-4c1a-96d0-845139a300a6' 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.05102 , 0.153061, 0.255102, ..., 4.744898, 4.846939, 4.94898 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>expl_var_ratio</span></div><div class='xr-var-dims'>(component)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.9343 0.04359 ... 0.0001476</div><input id='attrs-3c348c86-87fe-4560-9520-aa83e8bfa6b8' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3c348c86-87fe-4560-9520-aa83e8bfa6b8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-51076ccc-d924-4475-90a8-a1590cf69f21' class='xr-var-data-in' type='checkbox'><label for='data-51076ccc-d924-4475-90a8-a1590cf69f21' 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([9.34330051e-01, 4.35907090e-02, 1.04343183e-02, 6.10807805e-03,\n",
" 2.97578912e-03, 8.63338243e-04, 6.82450255e-04, 2.73725536e-04,\n",
" 1.73827533e-04, 1.47588563e-04])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0f922b2a-fc16-4f72-b046-5fd007b268ff' class='xr-section-summary-in' type='checkbox' ><label for='section-0f922b2a-fc16-4f72-b046-5fd007b268ff' class='xr-section-summary' >Indexes: <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-index-name'><div>features<br>vort_bin<br>strain_bin</div></div><div class='xr-index-preview'>PandasMultiIndex</div><div></div><input id='index-618d1834-abb5-4136-b2df-829c46a935db' class='xr-index-data-in' type='checkbox'/><label for='index-618d1834-abb5-4136-b2df-829c46a935db' 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(MultiIndex([(-4.94949494949495, 0.05102040816326531),\n",
" (-4.94949494949495, 0.15306122448979592),\n",
" (-4.94949494949495, 0.25510204081632654),\n",
" (-4.94949494949495, 0.35714285714285715),\n",
" (-4.94949494949495, 0.45918367346938777),\n",
" (-4.94949494949495, 0.5612244897959184),\n",
" (-4.94949494949495, 0.6632653061224489),\n",
" (-4.94949494949495, 0.7653061224489797),\n",
" (-4.94949494949495, 0.8673469387755102),\n",
" (-4.94949494949495, 0.9693877551020409),\n",
" ...\n",
" ( 4.94949494949495, 4.030612244897959),\n",
" ( 4.94949494949495, 4.13265306122449),\n",
" ( 4.94949494949495, 4.23469387755102),\n",
" ( 4.94949494949495, 4.336734693877551),\n",
" ( 4.94949494949495, 4.438775510204081),\n",
" ( 4.94949494949495, 4.540816326530613),\n",
" ( 4.94949494949495, 4.642857142857143),\n",
" ( 4.94949494949495, 4.744897959183674),\n",
" ( 4.94949494949495, 4.846938775510204),\n",
" ( 4.94949494949495, 4.948979591836735)],\n",
" name=&#x27;features&#x27;, length=4851))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-8b918b5e-d382-4c26-a34c-0b1a929c8915' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-8b918b5e-d382-4c26-a34c-0b1a929c8915' 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.DataArray (features: 4851, component: 10)>\n",
"array([[ 2.82871618e-04, 4.61355355e-04, 2.21775624e-04, ...,\n",
" 5.89014493e-06, 8.37914772e-05, -1.15427209e-04],\n",
" [ 2.60084286e-04, 4.03467528e-04, 1.77207755e-04, ...,\n",
" 2.04461191e-06, 2.97444053e-05, -7.84908724e-05],\n",
" [ 2.45374738e-04, 3.64947041e-04, 1.49484898e-04, ...,\n",
" -5.61015250e-07, -1.23220891e-06, -5.17130635e-05],\n",
" ...,\n",
" [-5.02360020e-04, -1.33072558e-03, -8.76479558e-04, ...,\n",
" -4.92925478e-05, -5.53890687e-04, 6.94213373e-04],\n",
" [-5.01500259e-04, -1.32685204e-03, -8.76526601e-04, ...,\n",
" -5.02856544e-05, -5.39178012e-04, 7.33433389e-04],\n",
" [-5.07722288e-04, -1.31076838e-03, -8.70021845e-04, ...,\n",
" -4.85450846e-05, -5.29703485e-04, 7.03384415e-04]])\n",
"Coordinates:\n",
" div_bin float64 -4.848\n",
" * features (features) object MultiIndex\n",
" * vort_bin (features) float64 -4.949 -4.949 -4.949 ... 4.949 4.949\n",
" * strain_bin (features) float64 0.05102 0.1531 0.2551 ... 4.847 4.949\n",
" expl_var_ratio (component) float64 0.9343 0.04359 ... 0.0001738 0.0001476\n",
"Dimensions without coordinates: component"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eigenhists = xr.DataArray(\n",
" data=eigenhist_data,\n",
" dims=['features', 'component'],\n",
" coords=h_anom_samples.coords.to_dataset().drop_dims('samples').coords, # reattach vort/strain bins\n",
").assign_coords(\n",
" {'expl_var_ratio': ('component', pca_estimator.explained_variance_ratio_)}\n",
")\n",
"eigenhists"
]
},
{
"cell_type": "markdown",
"id": "58f3f009-1c09-4761-89a7-7fbd7f98e053",
"metadata": {
"tags": []
},
"source": [
"## Plot principle components"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "8bb02620-78bf-42aa-a233-97cfddf70a86",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7QAAASmCAYAAAAefuewAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXgT1f7H8c+kS7rQFspWllIQBFldQGURAZHN9f68KioiiHpVcEVFWRRcLrggotcr7qjXBRfEXRRFwA1FLlwQEQVRUNlkaSmlTZuc3x9JpkkXaEtpmuT9ep48Sc6cmTmTds7km5nzHcsYYwQAAAAAQJhxhLoBAAAAAABUBQEtAAAAACAsEdACAAAAAMISAS0AAAAAICwR0AIAAAAAwhIBLQAAAAAgLBHQAgAAAADCEgEtAAAAACAsEdACAAAAAMISAW0t9dxzz6lu3bqhbkaNsixLb731VqibAdQ49ncgutEHAEDVEdCixk2ZMkXHHHNMqfItW7ZoyJAhNd+gALt379bw4cOVlpamtLQ0DR8+XHv27DngPNu2bdPIkSPVtGlTJSUlafDgwfr555+D6lx55ZVq3bq1EhMT1bBhQ5199tn68ccfy1xeQUGBjjnmGFmWpZUrV9rlO3fu1ODBg9W0aVM5nU5lZmbqmmuuUU5OzqFuNnDYRNr+bozRlClT1LRpUyUmJqpv375as2ZNuXWHDBlS5hf3s846Sy1atFBCQoKaNGmi4cOH688//wyqY1lWqcfjjz8eVOe1117TMccco6SkJGVlZemBBx6o9OcAHE7R2Ac8+eST6tu3r1JTU2VZVpnLrMy6d+7cqebNm5da1rp169SvXz81btxYCQkJOuKIIzRp0iQVFhZW8pMAwhsBLcrkcrlqZJ5AGRkZcjqdh7SMQ3XRRRdp5cqVmj9/vubPn6+VK1dq+PDh5dY3xuhvf/ubfvnlF7399ttasWKFsrKydOqpp2rfvn12va5du2r27Nlau3atPvroIxljNHDgQLnd7lLLHDdunJo2bVqq3OFw6Oyzz9Y777yjn376Sc8995w++eQTXXXVVdWz8Yha7O8V298l6f7779eMGTP06KOPatmyZcrIyNCAAQO0d+/eUnVnzpwpy7LKXE6/fv302muvad26dZo7d642bNigc889t1S92bNna8uWLfZjxIgR9rQPP/xQw4YN01VXXaXvv/9ejz32mN02oDLoA6q3D8jLy9PgwYM1YcKEaln3ZZddpi5dupQqj4uL0yWXXKKPP/5Y69at08yZM/XUU09p8uTJFfwEgAhhUGkej8fcd999plWrViYhIcF06dLFvP766/a0/v37m0GDBhmPx2OMMWb37t0mMzPTTJgwwRhjzGeffWYkmffee8906dLFOJ1Oc8IJJ5hVq1bZ65g9e7ZJS0s7aFt+/PFHI8msXbs2qPzBBx80WVlZxuPxmKKiIjNq1CjTsmVLk5CQYNq2bWtmzpwZVH/EiBHm7LPPNlOnTjVNmjQxWVlZB113VlaWufvuu82IESNMamqqueSSS4wxxowbN84ceeSRJjEx0bRq1cpMmjTJuFwue7skBT1mz55tjDFGkpk3b569/FWrVpl+/fqZhIQEk56ebq644gqzd+/eg7arqn744QcjySxdutQu+/rrr40k8+OPP5Y5z7p164wk8/3339tlRUVFJj093Tz11FPlrut///ufkWTWr18fVP7BBx+Yo446yqxZs8ZIMitWrDhgmx9++GHTvHnzCmwdqor93Yv93fv3zsjIMPfee69dlp+fb9LS0szjjz8eVHflypWmefPmZsuWLaW2tSxvv/22sSzL/uyMKf0ZlXThhReac889N6jsoYceMs2bN7f/H3Ho6AO86AMq1wcYU/y33717d5XX/dhjj5k+ffqYTz/9tMxllXTjjTeak0466YB1gEhDQFsFEyZMMEcddZSZP3++2bBhg5k9e7ZxOp1m0aJFxhhjfv/9d1OvXj37ADJ06FDTrVs3u4P3d3Dt27c3H3/8sVm1apU544wzTMuWLYMOAhU5uBljTNeuXc2kSZNKlY0fP94YY4zL5TJ33HGH+fbbb80vv/xiXnzxRZOUlGReffVVu/6IESNMnTp1zPDhw833339vVq9efdD1ZmVlmdTUVPPAAw+Yn3/+2fz888/GGGPuvvtu8+WXX5qNGzead955xzRu3Njcd999xhhj8vLyzE033WQ6duxotmzZYrZs2WLy8vKMMcEHt3379pmmTZuac845x6xevdp8+umnplWrVmbEiBEHbFNycvIBH4MHDy533meeeabMzzwtLc08++yzZc6zatWqMgPTjIyMctuam5trbrjhBtOqVStTUFBgl2/dutU0a9bMLFu2zGzcuPGgAe0ff/xh+vTpY4YNG1ZuHRw69ncv9ndjNmzYYCSZ//73v0HlZ511lv3l3r897du3N2+99VapbS3Lzp07zfnnn2969eoVVC7JNGvWzNSvX99069bNzJo1y7jdbnv6OeecYy6++OKgeR5//HEjyWzcuLHc9aFy6AO86AMq3gf4lRfQVnTda9asMRkZGea3334rd1mBfv75Z9O+fXszceLEcusAkYiAtpJyc3NNQkKC+eqrr4LKL7vsMnPhhRfa71977TXjdDrN+PHjTVJSklm3bp09zd8pzZkzxy7buXOnSUxMtA84lTm4zZgxwxxxxBH2e/9ZwzVr1pQ7z+jRo83f//53+/2IESNM48aNgwKsg8nKyjJ/+9vfDlrv/vvvN127drXfT5482Rx99NGl6gUe3J588klTr149k5uba09///33jcPhMFu3bi13Xf6DbHmP33//vdx5//nPf5ojjzyyVPmRRx5ppk6dWuY8LpfLZGVlmfPOO8/s2rXLFBQUmGnTphlJZuDAgUF1//3vf5vk5GQjyRx11FFBQbDH4zGDBw82d999tzHGHDCgveCCC0xiYqKRZM4880yzf//+crcJh4b9vRj7uzFffvmlkWT++OOPoPIrrrgiaH//xz/+YS677LIytzXQuHHjTFJSkpFkunfvbv7666+g6Xfffbf56quvzIoVK8z06dNNUlKS3UcYY8wTTzxhkpKSzCeffGLcbrdZt26dOeqoo4ykUv+zqBr6gGL0ARXvA/zKC0Irsu78/HzTpUsX85///OeAyzLGmB49ehin02kkmX/84x9BP3wB0SC26hcrR6cffvhB+fn5GjBgQFC5y+XSsccea78/77zzNG/ePE2bNk2zZs1S27ZtSy2rR48e9uv09HS1a9dOa9eurXSbLrjgAt1yyy1aunSpunfvrpdeeknHHHOMOnToYNd5/PHH9fTTT+u3337T/v375XK5SiVp6Ny5s+Lj4yu17m7dupUqe+ONNzRz5kytX79eubm5KioqUmpqaqWWu3btWh199NFKTk62y3r16iWPx6N169apcePGZc7Xpk2bSq2npLLGuxljyh0HFxcXp7lz5+qyyy5Tenq6YmJidOqpp5aZ6GLYsGEaMGCAtmzZounTp+v888/Xl19+qYSEBP3rX/9STk6Oxo8ff9A2PvTQQ5o8ebLWrVunCRMmaOzYsXrssccqv7E4KPb3YNG+v5c3X+A877zzjhYuXKgVK1YcdP233HKLLrvsMv3222+68847dckll+i9996zlzVp0iS7rv/vd9ddd9nlV1xxhTZs2KAzzjhDhYWFSk1N1fXXX68pU6YoJibmoOvHwdEHBKMPKHu+isxT2XWPHz9e7du318UXX3zQZb366qvau3ev/ve//+mWW27R9OnTNW7cuEq1BwhnBLSV5PF4JEnvv/++mjVrFjQtMLlBXl6eli9frpiYmFIZbw+ksh2iJDVp0kT9+vXTyy+/rO7du+uVV17RlVdeaU9/7bXXdOONN+rBBx9Ujx49lJKSogceeEDffPNN0HICDyQVVXKepUuX6oILLtCdd96pQYMGKS0tTXPmzNGDDz5YqeUe6OBwoM+oTp06B1xu79699eGHH5Y5LSMjQ9u2bStVvmPHjnIPppI34dPKlSuVnZ0tl8ulhg0b6sQTTyx14PdnMjzyyCPVvXt31atXT/PmzdOFF16ohQsXaunSpaUSZHTr1k3Dhg3T888/H9TOjIwMHXXUUapfv7569+6t22+/XU2aNDngtqPy2N+DRfv+npGRIUnaunVr0P62fft2e56FCxdqw4YNpW7B8ve//129e/fWokWL7LIGDRqoQYMGatu2rdq3b6/MzEwtXbo0KPAJ1L17d+Xk5Gjbtm1q3LixLMvSfffdp6lTp2rr1q1q2LChPv30U0lSy5Yty1wGKoc+IBh9wMH7gIqoyLoXLlyo1atX64033pDk/Ywkb78xceJE3XnnnfZ8mZmZkqQOHTrI7XbrH//4h2666SZ+2ELUIKCtpA4dOsjpdGrTpk3q06dPufVuuukmORwOffjhhzrttNN0+umn65RTTgmqs3TpUrVo0UKSN337Tz/9pKOOOqpK7Ro2bJhuvfVWXXjhhdqwYYMuuOACe9rnn3+unj17avTo0XbZhg0bqrSeg/nyyy+VlZWliRMn2mW//fZbUJ34+Pgys/sG6tChg55//nnt27fPPoB++eWXcjgcZf7y7Rd4m5uyJCYmljutR48eys7O1rfffqsTTjhBkvTNN98oOztbPXv2POByJW/AKkk///yzvvvuO919990HrG+MUUFBgSTpkUce0T333GNP+/PPPzVo0CC9+uqrOvHEEw+4DEn2clC92N8PLNr291atWikjI0MLFiywz865XC4tXrxY9913nyTptttu0+WXXx40X+fOnfXQQw/pzDPPLLc9FdmXV6xYoYSEhFLBckxMjB1svfLKK+rRo4caNWpU7nJQcfQBB0YfULoPqIiKrHvu3Lnav3+/Pc+yZcs0atQoff7552rdunW5yzbGqLCw0O5TgKgQgsucw97EiRNN/fr1zXPPPWfWr19v/vvf/5pHH33UPPfcc8YYY9577z0THx9vli9fbowxZtKkSaZ58+Zm165dxpjicRAdO3Y0n3zyiVm9erU566yzTIsWLezxLJUZT2OMMdnZ2SYhIcEcffTRpn///kHTZs6caVJTU838+fPNunXrzKRJk0xqamrQmBZ/xsPKyMrKMg899FBQ2VtvvWViY2PNK6+8YtavX28efvhhk56eHrQtL730kklOTjYrVqwwO3bsMPn5+caY0gkimjRpYv7+97+b1atXm4ULF5ojjjjioAkiDtXgwYNNly5dzNdff22+/vpr07lzZ3PGGWcE1WnXrp1588037fevvfaa+eyzz8yGDRvMW2+9ZbKyssw555xjT9+wYYOZOnWq+e6778xvv/1mvvrqK3P22Web9PR0s23btjLbUdYY2vfff988++yzZvXq1Wbjxo3m/fffNx07diyVSAbVi/3dq6b394YNG5bKjhr4+Oyzz+x2VbVfqMr+fu+995q0tDTz5ptvmtWrV5sLL7zQNGnSxOTk5JS7Hv/fv2PHjsYYY7755hvzr3/9y6xYscL8+uuvZt68eUaSqVevnv35/POf/zSSzLPPPmvWr19vnnrqKZOammquu+46e7k7duwws2bNMmvXrjUrVqww1113nYmNjTW33357lT4PlI0+wItjvldF+oAtW7aYFStWmKeeespIMkuWLDErVqwwO3furNS6A5U1hvbFF180r776qvnhhx/Mhg0bzGuvvWaaNWtGskhEHQLaKvB4PObhhx827dq1M3FxcaZhw4Zm0KBBZvHixWb79u2mcePGQQkFCgsLzQknnGDOP/98Y0xxp/Tuu++ajh07mvj4eHP88ceblStX2vNU9uBmjDHnnXee/QUoUH5+vhk5cqRJS0szdevWNVdffbW57bbbDsvBzRhjbrnlFlO/fn1Tp04dM3ToUPPQQw8FbUt+fr75+9//burWrVurUvgb403UMWzYMJOSkmJSUlLMsGHDSiVgCGyzMcW3zomLizMtWrQwkyZNCkq08ccff5ghQ4aYRo0ambi4ONO8eXNz0UUXlXtbAGPKDmgXLlxoevToYdLS0kxCQoI58sgjza233nrQFP44NOzvXjW9v/fp08eu7//CF/jIzs42xhjz3//+t1SW8Yqqyv7u8XjM5MmTTUZGhnE6nebkk08+aIbYkgGtf1vT09ON0+k0mZmZRpK58cYb7XneeOMNc+SRR5rk5GSTlJRkOnXqZGbOnGkKCwvtOjt27DDdu3e36/Tv398cccQRpk+fPlX6PFA2+gAvjvleFekDJk+eXOYPcYHLqci6A5UV0M6ZM8ccd9xxpk6dOiY5Odl06NDBTJ06lWSRiDqWMVyTUNMWLVqkfv36affu3aUuHQMQWdjfq+a5557TpZdeqmXLlpWZiCbc9O3bV3/99Ze+//77UtP++usvNWzYUJMnT9aUKVMOaT2dOnVSgwYNgsbq1qS8vDwlJSWFZN21FX0AABxejlA3AACAqmrZsqVGjhwZVLZmzRoNHDhQSUlJatiwocaMGaP3339flmWVCvQ++eQT9e/fX6mpqUpKSlKvXr3sxEp+U6ZMkWVZWrNmjS688EKlpaWpcePGGjVqlLKzsw/Ldi1atKhUe3/55RddcMEFatq0qZxOpxo3bqz+/fvb4whbtmypNWvWaPHixbIsS5ZlBSWH2rRpky6++GI1atRITqdT7du314MPPmgnPvL7/fffde655yolJUV169bVsGHDtGzZMlmWpeeee86uN3LkSNWpU0erV6/WwIEDlZKSov79+0uSFixYoLPPPlvNmzdXQkKC2rRpoyuvvFJ//fVX0Lr8n+2qVat03nnnKS0tTenp6Ro7dqyKioq0bt06DR48WCkpKWrZsqXuv//+oPk9Ho/uuecetWvXTomJiapbt666dOmihx9++ND/CACAsEBSqDDQsWPHUkkW/J544gkNGzas2tf5+eefl3nrGb/c3NxqXycA9veS3G63ioqKgsosyyo3e+eWLVvUp08fJScna9asWWrUqJFeeeUVXXPNNaXqvvjii7rkkkt09tln6/nnn1dcXJyeeOIJDRo0SB999JEdnPn9/e9/19ChQ3XZZZdp9erV9m22nn322QpvT8lt8W9jRZx22mlyu926//771aJFC/3111/66quvtGfPHknSvHnzdO655yotLc2+lZc/E++OHTvUs2dPuVwu3X333WrZsqXee+893XzzzdqwYYNdf9++ferXr5927dql++67T23atNH8+fM1dOjQMtvkcrl01lln6corr9Rtt91mb9+GDRvUo0cPXX755UpLS9Ovv/6qGTNm6KSTTtLq1asVFxcXtJzzzz9fF198sa688kotWLBA999/vwoLC/XJJ59o9OjRuvnmm/Xyyy/r1ltvVZs2bXTOOedIku6//35NmTJFkyZN0sknn6zCwkL9+OOP9mcSjugDAKByCGhDoG/fvpXKPvfBBx+osLCwzGmVSRNfGd26dTto9kAAB8f+fmi6d+9eqiwmJqbMwFDy3qd5165dWrJkiX1fziFDhmjw4MH69ddf7Xp5eXm6/vrrdcYZZ2jevHl2+WmnnabjjjtOEyZMKHWbk8suu0y33HKLJOnUU0/V+vXr9eyzz+qZZ56p0O1X1qxZUyqQq6idO3dq3bp1mjlzZtB9Kf2BnSQde+yxSkxMVGpqaqnPbcaMGfrjjz/0zTff2FlVBw0aJLfbrccff1w33HCD2rZtq+eff17r16/Xhx9+qMGDB0uSBg4cqLy8PD3xxBOl2lVYWKg77rhDl156aVD5VVddZb82xqhnz57q27evsrKy9OGHH+qss84Kqv+Pf/xDY8eOleT9bD/++GM9+uijevPNN/V///d/krz70nvvvaeXXnrJ3u4vv/xSnTt3DrpUe9CgQRX7UGsIfQAAHF4hDWinTJkSdB8tydtZb926NUQtqp2ysrJqfJ2JiYmHfMNyAJXH/h7shRdeUPv27YPKDhQ8Ll68WJ06dbKDWb8LL7xQH330kf3+q6++0q5duzRixIhSwfHgwYN1//33B91CRFKpIKxLly7Kz8+370Hp8XiCLt8teSa5devWmjNnTqk2Z2dn69RTTy13myQpPT1drVu31gMPPCC3261+/frp6KOPlsNRsZFDCxcuVIcOHexg1m/kyJGaNWuWFi5cqLZt22rx4sVKSUmxg1m/Cy+8sMyAVvKeuS5p+/btuuOOO/T+++/rzz//DPpc1q5dW+qzPOOMM4Let2/fXv/73/+CzhrGxsaqTZs2QWcvTzjhBL3//vsaPXq0zj77bPXo0UOpqakH+TRqN/oAAKickJ+h7dixoz755BP7PTeBBgD4tW/fvlJJoXbu3KlWrVqVKi95Zmvbtm2SpHPPPbfcZe3atSsooK1fv37QdP/lvP57RY4aNUrPP/+8Pb1Pnz5BY2ATEhLK3JaS40rLYlmWPv30U9111126//77ddNNNyk9PV3Dhg3TP//5T6WkpBxw/p07dwaNp/Vr2rSpPd3/XNZZwPLODCYlJZUKID0ejwYOHKg///xTt99+uzp37qzk5GR5PB5179496N6afunp6UHv4+PjlZSUpISEhFLlOTk59vvx48crOTlZL774oh5//HHFxMTo5JNP1n333RcRycQAAAcX8oA2NjZWGRkZoW4GACAC1K9f3w5WA5W88qdBgwaSpH/9619lXtYsVf7yzilTpgSN1T1YkFlZWVlZeuaZZyRJP/30k1577TVNmTJFLpdLjz/++AHnrV+/vrZs2VKq/M8//5RU/HnUr19f3377bal65V05VdbZ8u+//17/+9//9Nxzz2nEiBF2+fr16w/YxqqIjY3V2LFjNXbsWO3Zs0effPKJJkyYoEGDBmnz5s1kXAaAKBDygPbnn3+2MzaeeOKJmjp1qo444ogy6xYUFKigoMB+7/F4tGvXLtWvX79C45cAVA9jjPbu3aumTZtW+JLH6kAfED38Z/Fyc3ODzsiVZIxRYWGhXad79+7617/+pW+//VZHHXWUXe/FF1+U5E16lJOTo86dOystLU0rV67UJZdcUuay8/PzlZ+fb//P7d27V/Hx8aXauHfvXuXk5Cg9Pb3UmUZ/u9xutzweT5nbsnfvXkne/2//9H379gW1t6SMjAxdd911eu2117Rs2TK7TmxsbJmf2UknnaQZM2ZoyZIlOuaYY+zyp59+WpZl6fjjj1dOTo5OOOEEvfbaa5o7d64GDBhg13vhhRfsbc7JyZExxm5jSf590X8G26+8S5Yrw39Zt3/7AvsAh8OhgQMHasOGDbrtttv0/fffB/0PAKg+ofoecKj27NmjtWvXhroZh027du1KHYeiQqhugGuMMR988IF54403zKpVq8yCBQtMnz59TOPGjc1ff/1VZv3yblTNgweP0Dw2b95co30GfQAPHrXrkZSUVGo/dblcpnXr1iYrK8u8/PLLZv78+WbMmDGmbdu2RpKZPHlyqX16x44dQcsYMWKESU5OLrXsrKyskG8zDx48ih81/T3gUJ1//vkmXpZJVkzEPZxymNNPPz3UH3FIhPQMbWCyh86dO6tHjx5q3bq1nn/+eTvbYaDx48cHlWdnZ6tFixbavHlz2CeBAMJJTk6OMjMzq/2SyoOhD4geL730kkaPHl3u9EceeUQjRoxQ586dddJJJ2nWrFn2tLVr1+q2227T0qVLlZiYqDPOOEO9evXSVVddpS+//FKdOnWy63755Zd6+OGH9e233yo3N1cNGzZU586dddFFF+lvf/ubJGnatGm699579csvvwSNo/W3cdWqVQdN5HP66adr586dWrp0aalpO3fu1BFHHKHbbrvNvhXQ559/rjPOOEPvvfeeevfurR07dmjy5MlatmyZ/vjjD/ses8OGDdOVV15p55/YtGmTrr/+ei1btkx79+5VixYttHr1aknS5s2bdeedd+rTTz/V3r171bJlS11yySW65pprgs6w/P7777rtttv02WefybIs9evXT5dcconOPfdcvfLKKzrttNPsPqCsKyPi4uL07rvv6vrrr9eVV16p2NhYnXrqqfrkk0/UokWLA35OB9OiRQslJSXZn+P06dN19913Kz09Xbm5uWrcuLH69u2rcePGHfK6AJQvVN8DDlVOTo66q57aK7zaXRE/q+wreqKBZUwlcsnXgAEDBqhNmzZBX07Kk5OTo7S0NGVnZ/NlFqhBtWXfqy3tQO33j3/8Q6+88op27twZdNkwKmbq1KmaNGmSNm3apObNm9eafa+2tAOINuG67w0ZMkR587+N2IC2sHd7LVmyJNRNqXEhH0MbqKCgQGvXrlXv3r1D3RQAQJi666671LRpUx1xxBHKzc3Ve++9p6efflqTJk0imK2ARx99VJJ01FFHqbCwUAsXLtQjjzyiiy++WM2bNw9x6wAACBbSgPbmm2/WmWeeqRYtWmj79u265557lJOTE5QVEQCAyoiLi9MDDzyg33//XUVFRTryyCM1Y8YMXX/99aFuWlhISkrSQw89pF9//VUFBQVq0aKFbr31Vk2aNCnUTQOAQ+aQFBOBeSQdteqa25oV0oD2999/14UXXqi//vpLDRs2VPfu3bV06dKQ3FQcABAZxo8fb49FReWNGjVKo0aNCnUzAACokJAGtHPmzAnl6gEAAAAAYSx8bhwFAAAAAEAAAloAAAAAQFiqVVmOAQAAAOBwsSxLMWXcQzvcRfNZymjedgAAAABAGCOgBQAAAACEJQJaAAAAAEBYYgwtAAAAgKjgkBQTeUNo5TChbkHocIYWAAAAABCWCGgBAAAAAGGJgBYAAAAAEJYYQwsAAAAgKjgsReZ9aCNwmyqKM7QAAAAAgLBEQAsAAAAACEsEtAAAAACAsMQYWgAAAABRwTuGNtStqH6OCNymiuIMLQAAAAAgLBHQAgAAAADCEgEtAAAAACAsEdACAAAAiAoOWYqxIu/hUOUG0S5ZskRnnnmmmjZtKsuy9NZbbwVNN8ZoypQpatq0qRITE9W3b1+tWbPmoMudO3euOnToIKfTqQ4dOmjevHmValdVENACAAAAQBTZt2+fjj76aD366KNlTr///vs1Y8YMPfroo1q2bJkyMjI0YMAA7d27t9xlfv311xo6dKiGDx+u//3vfxo+fLjOP/98ffPNN4drMySR5RgAAAAAosqQIUM0ZMiQMqcZYzRz5kxNnDhR55xzjiTp+eefV+PGjfXyyy/ryiuvLHO+mTNnasCAARo/frwkafz48Vq8eLFmzpypV1555fBsiDhDCwAAAABhz+PxKCcnJ+hRUFBQ6eVs3LhRW7du1cCBA+0yp9OpPn366Kuvvip3vq+//jpoHkkaNGjQAeepDgS0AAAAAKKC5bsPbaQ9HJa0efNmpaWlBT2mTZtW6c9o69atkqTGjRsHlTdu3NieVt58lZ2nOnDJMQAAAACEuczMTK1evTqozOl0Vnl5lhWcaMoYU6qsOuY5VAS0AAAAABDmHA6HUlNTD3k5GRkZkrxnXJs0aWKXb9++vdQZ2JLzlTwbe7B5qgOXHAMAAAAAJEmtWrVSRkaGFixYYJe5XC4tXrxYPXv2LHe+Hj16BM0jSR9//PEB56kOnKEFAAAAEBX896GNNI5KblJubq7Wr19vv9+4caNWrlyp9PR0tWjRQjfccIOmTp2qI488UkceeaSmTp2qpKQkXXTRRfY8l1xyiZo1a2aP073++ut18skn67777tPZZ5+tt99+W5988om++OKLatnG8hDQAgAAAEAU+e6779SvXz/7/dixYyVJI0aM0HPPPadx48Zp//79Gj16tHbv3q0TTzxRH3/8sVJSUux5Nm3aJIej+ILfnj17as6cOZo0aZJuv/12tW7dWq+++qpOPPHEw7otBLQAAAAAEEX69u0rY0y50y3L0pQpUzRlypRy6yxatKhU2bnnnqtzzz23GlpYcYyhBQAAAACEJc7QAgAAAIgKliLzjF7kjQquuEj8ewIAAAAAogABLQAAAAAgLBHQAgAAAADCEgEtAAAAACAskRQKAAAAQFRwWFKMFXkplBxRnBaKM7QAAAAAgLBEQAsAAAAACEu1JqCdNm2aLMvSDTfcEOqmAAAAAADCQK0YQ7ts2TI9+eST6tKlS6ibAgAAACBCecfQhroV1c8RgdtUUSE/Q5ubm6thw4bpqaeeUr169ULdHAAAAABAmAh5QDtmzBidfvrpOvXUUw9at6CgQDk5OUEPANGDPgCIbvQBAICSQhrQzpkzR//97381bdq0CtWfNm2a0tLS7EdmZuZhbiGA2oQ+AIhu9AEAgJJCFtBu3rxZ119/vV588UUlJCRUaJ7x48crOzvbfmzevPkwtxJAbUIfAEQ3+gAAh8ohSzFW5D2ieQxtyJJCLV++XNu3b1fXrl3tMrfbrSVLlujRRx9VQUGBYmJiguZxOp1yOp013VQAtQR9ABDd6AMAACWFLKDt37+/Vq9eHVR26aWX6qijjtKtt95aKpgFAAAAACBQyALalJQUderUKagsOTlZ9evXL1UOAAAAAEBJteI+tAAAAABwuEXsfWhD3YAQqlUB7aJFi0LdBAAAAABAmIjmYB4AAAAAEMYIaAEAAAAAYalWXXIMAAAAAIeLQ1KMFXmDaB0RuE0VxRlaAAAAAEBYIqAFAAAAAIQlAloAAAAAQFhiDC0AAACAqGBF6n1oI3CbKooztAAAAACAsERACwAAAAAISwS0AAAAAICwxBhaAAAAAFHBYVmReR9aRd42VRRnaAEAAAAAYYmAFgAAAAAQlghoAQAAAABhiTG0AAAAAKKCQ9yHNtJwhhYAAAAAEJYIaAEAAAAAYYmAFgAAAAAQlhhDCwAAACAqOCzG0EYaztACAAAAAMISAS0AAAAAICwR0AIAAAAAwhIBLQAAAAAgLJEUCgAAAEBUcMhSjBV5GZQib4sqjjO0AAAAAICwREALAAAAAAhLBLQAAAAAgLDEGFoAAAAAUcGypJgIHHDqiMBtqijO0AIAAAAAwhIBLQAAAAAgLBHQAgAAAADCEmNoAQAAAEQFh6WIvA+tI4rvRMsZWgAAAABAWCKgBQAAAACEJQJaAAAAAEBYYgwtAAAAgKjgEPehjTRVOkO7bds2DR8+XE2bNlVsbKxiYmKCHgAAAAAAHG5VOkM7cuRIbdq0SbfffruaNGkiKwIzhQEAAAAAarcqBbRffPGFPv/8cx1zzDGHtPJZs2Zp1qxZ+vXXXyVJHTt21B133KEhQ4Yc0nIBAAAAAJGvSgFtZmamjDGHvPLmzZvr3nvvVZs2bSRJzz//vM4++2ytWLFCHTt2POTlAwAAAICfw7Ii8z60EbhNFVWlMbQzZ87UbbfdZp9ZraozzzxTp512mtq2bau2bdvqn//8p+rUqaOlS5ce0nIBAAAAAJGvSmdohw4dqry8PLVu3VpJSUmKi4sLmr5r165KL9Ptduv111/Xvn371KNHjzLrFBQUqKCgwH6fk5NT6fUACF/0AUB0ow8AAJRUpYB25syZ1daA1atXq0ePHsrPz1edOnU0b948dejQocy606ZN05133llt6wYQXugDgOhGHwAAKMky1TEY9hC4XC5t2rRJe/bs0dy5c/X0009r8eLFZQa1Zf0ym5mZqezsbKWmptZks4GolpOTo7S0tBrf9+gDgNqBPgCIbqHqAw7VkCFD1OrL/2lAUr1QN6XaLdmfreVHH6ElS5aEuik1rsJnaHNycux/2INd4lOZf+z4+Hg7KVS3bt20bNkyPfzww3riiSdK1XU6nXI6nRVeNoDIQh8ARDf6AABASRUOaOvVq6ctW7aoUaNGqlu3bpn3njXGyLIsud3uKjfIGBP06ysAAAAAAGWpcEC7cOFCpaenS5I+++yzaln5hAkTNGTIEGVmZmrv3r2aM2eOFi1apPnz51fL8gEAAAAAkavCAW2fPn3KfH0otm3bpuHDh2vLli1KS0tTly5dNH/+fA0YMKBalg8AAAAAfg5LEXof2lC3IHSqlOVYknbv3q1nnnlGa9eulWVZat++vS699FL7LG5FPPPMM1VdPQAAAAAgyjmqMtPixYvVsmVLPfLII9q9e7d27dqlRx55RK1atdLixYuru40AAAAAAJRSpTO0Y8aM0dChQzVr1izFxMRIktxut0aPHq0xY8bo+++/r9ZGAgAAAABQUpUC2g0bNmju3Ll2MCtJMTExGjt2rF544YVqaxwAAAAAVBfLsuSIwDG0Zd2BJlpU6ZLj4447TmvXri1VvnbtWh1zzDGH2iYAAAAAAA6qwmdoV61aZb++7rrrdP3112v9+vXq3r27JGnp0qX697//rXvvvbf6WwkAAAAAQAkVDmiPOeYYWZYlY4xdNm7cuFL1LrroIg0dOrR6WgcAAAAAQDkqHNBu3LjxcLYDAAAAAIBKqXBAm5WVVemFn3766Xr66afVpEmTSs8LAAAAANXKsmTFRF4CJcsRedtUUVVKClVRS5Ys0f79+w/nKgAAAAAAUeqwBrQAAAAAABwuBLQAAAAAgLBU4TG0AAAAABDOHA7JEZFjaEPdgtCJ4k0HAAAAAIQzAloAAAAAQFg6rAHthAkTlJ6efjhXAQAAAACIUlUeQ/vTTz9p0aJF2r59uzweT9C0O+64Q5I0fvz4Q2sdAAAAAFQXh0NWTORdpGo5Im+bKqpKAe1TTz2lq6++Wg0aNFBGRoYsq3hgtWVZdkALAAAAAMDhUqWA9p577tE///lP3XrrrdXdHgAAAAAAKqRK56Z3796t8847r7rbAgAAAABAhVUpoD3vvPP08ccfV3dbAAAAAOCwsRySFWNF3iPybq1bYVW65LhNmza6/fbbtXTpUnXu3FlxcXFB06+77rpqaRwAAAAAAOWpUkD75JNPqk6dOlq8eLEWL14cNM2yLAJaAAAAAMBhV6WAduPGjdXdDgAAAAAAKqXK96EFAAAAgHBiOSw5YiJvwKnliLxtqqgKB7Rjx47V3XffreTkZI0dO/aAdWfMmHHIDQMAAAAA4EAqHNCuWLFChYWF9uvyWNGcYgsAAAAAUGMqHNB+9tlnZb4GAAAAACAUGEMLAAAAICpYliXL4Qh1M6odY2irYNmyZXr99de1adMmuVyuoGlvvvnmITcMAAAAAIADqdLPE3PmzFGvXr30ww8/aN68eSosLNQPP/yghQsXKi0trbrbCAAAAABAKVUKaKdOnaqHHnpI7733nuLj4/Xwww9r7dq1Ov/889WiRYvqbiMAAAAAAKVU6ZLjDRs26PTTT5ckOZ1O7du3T5Zl6cYbb9Qpp5yiO++8s1obCQAAAACHivvQRp4qnaFNT0/X3r17JUnNmjXT999/L0nas2eP8vLyqq91AAAAAACUo0pnaHv37q0FCxaoc+fOOv/883X99ddr4cKFWrBggfr371/dbQQAAAAAoJQqBbSPPvqo8vPzJUnjx49XXFycvvjiC51zzjm6/fbbq7WBAAAAAACUpdIBbVFRkd59910NGjRIkuRwODRu3DiNGzeu2htXUfVPGq3CVS+GbP0AAAAAwoBDsiJyDG2oWxA6ld702NhYXX311SooKDgc7QEAAAAAoEKqFMufeOKJWrFiRXW3BQAAAACACqvSGNrRo0frpptu0u+//66uXbsqOTk5aHqXLl0qtJxp06bpzTff1I8//qjExET17NlT9913n9q1a1eVZgEAAAAAokiVAtqhQ4dKkq677jq7zLIsGWNkWZbcbneFlrN48WKNGTNGxx9/vIqKijRx4kQNHDhQP/zwQ6kgGQAAAACAQFUKaDdu3FgtK58/f37Q+9mzZ6tRo0Zavny5Tj755GpZBwAAAABI3pNwVkwEZlByROA2VVCVAtrffvtNPXv2VGxs8OxFRUX66quvlJWVVaXGZGdnS5LS09PLnF5QUBCUjConJ6dK6wEQnugDgOhGHwAAKKlKoXy/fv20a9euUuXZ2dnq169flRpijNHYsWN10kknqVOnTmXWmTZtmtLS0uxHZmZmldYFIDzRBwDRjT4AAFBSlQJa/1jZknbu3Fnlsa/XXHONVq1apVdeeaXcOuPHj1d2drb92Lx5c5XWBSA80QcA0Y0+AABQUqUuOT7nnHMkea89HzlypJxOpz3N7XZr1apV6tmzZ6Ubce211+qdd97RkiVL1Lx583LrOZ3OoHUCiC70AUB0ow8AcKgshyVHTOkTc+GujHONB9SyZUv99ttvpcpHjx6tf//736XKFy1aVOaVuGvXrtVRRx1VuZVXs0oFtGlpaZK8Z2hTUlKUmJhoT4uPj1f37t11xRVXVHh5xhhde+21mjdvnhYtWqRWrVpVpjkAAAAAgEpatmxZ0J1pvv/+ew0YMEDnnXfeAedbt26dUlNT7fcNGzY8bG2sqEoFtLNnz5bkbfiUKVOUlJQkSfr111/11ltvqX379mrQoEGFlzdmzBi9/PLLevvtt5WSkqKtW7dK8gbOgcEyAAAAAKB6lAxE7733XrVu3Vp9+vQ54HyNGjVS3bp1D2PLKq9KY2hXrFihF154QZK0Z88ede/eXQ8++KD+9re/adasWRVezqxZs5Sdna2+ffuqSZMm9uPVV1+tSrMAAAAAAJXgcrn04osvatSoUWXmSQp07LHHqkmTJurfv78+++yzGmrhgVXptj0rVqzQzJkzJUlvvPGGGjdurBUrVmju3Lm64447dPXVV1doOcaYqqweAAAAACrNsixZjggcQ+uw5PF4St3OrCK5B9566y3t2bNHI0eOLLdOkyZN9OSTT6pr164qKCjQf/7zH/Xv31+LFi3SySefXB2bUGVVCmjz8vKUkpIiSfr44491zjnnyOFwqHv37mUOLgYAAAAAHD6bN2+2cx75TZ48WVOmTDngfM8884yGDBmipk2bllunXbt2ateunf2+R48e2rx5s6ZPnx7ygLZKlxy3adNGb731ljZv3qyPPvpIAwcOlCRt3749aJBwTYmJT1D8saMUf+yoGl83AAAAAIRaZmZm0K3NsrOzNX78+APO89tvv+mTTz7R5ZdfXun1de/eXT///HNVm1ttqhTQ3nHHHbr55pvVsmVLnXjiierRo4ck79naY489tlobCAAAAAA4MIfDodTU1KDHwS43nj17tho1aqTTTz+90utbsWKFmjRpUtXmVpsqXXJ87rnn6qSTTtKWLVt09NFH2+X9+/fX//3f/1Vb4wAAAACgunjvQ1ulc3q1WlXGBXs8Hs2ePVsjRoxQbGxwWDh+/Hj98ccfdiLgmTNnqmXLlurYsaOdRGru3LmaO3dutbT/UFQpoJWkjIwMZWRkBJWdcMIJh9wgAAAAAMDh9cknn2jTpk0aNar0sM0tW7Zo06ZN9nuXy6Wbb75Zf/zxhxITE9WxY0e9//77Ou2002qyyWWqckALAAAAAAhPAwcOLPeuM88991zQ+3HjxmncuHE10KrKi4iA1pnaQK593hTVgYmhXCueDVWTAAAAAACHWUQEtAAAAABwMJZDsmIi8z600SryRkQDAAAAAKICAS0AAAAAICwR0AIAAAAAwlLEjKF1xMZLkmLiE+0yf4IokkMBAAAAkMNiDG2E4QwtAAAAACAsEdACAAAAAMISAS0AAAAAICxFzBhaAAAAADgQy2HJERN55/SieQxtRAS0MTFxspKdkqTCfdl2eWxCcqiaBAAAAAA4zCLv5wkAAAAAQFQgoAUAAAAAhKWIuOQYAAAAAA7GsiL0PrRW5G1TRXGGFgAAAAAQliLiDK0VG6/YmDhJkqfQZZcX5OyQJMUfO0qS5FrxbM03DgAAAABwWHCGFgAAAAAQliLiDC0AAAAAHIzlkBwReM9WK4pPU0bxpgMAAAAAwhkBLQAAAAAgLEXEJccxzgRJMZKkuMQ6drnxuCVJrtxdkoqTQ0kkiAIiSf2TRqtw1YuhbgYAAABqGGdoAQAAAABhKSLO0AIAAADAwViWQ1ZM5J3TsxyRt00VFb1bDgAAAAAIawS0AAAAAICwFDGXHFsOb1IoR2y8XeZPEOVPDuV/looTRJEcCqic+GNHybhdoW4GAAAAEDkBLQAAAAAciOWQHDFWqJtR7awovu42ijcdAAAAABDOCGgBAAAAAGGJgBYAAAAAEJYiYgyt5XDIERdX7nR/mqjC/bl2WVxS6mFuFRA5/EnUJCm+Tj2ZogIVhbA9JSWkNVKd3jdJknI/fzDErQEAALWV5bBkReQY2sjbporiDC0AAAAAICyFNKBdsmSJzjzzTDVt2lSWZemtt94KZXMAAAAAAGEkpAHtvn37dPTRR+vRRx8NZTMAAAAAAGEopGNohwwZoiFDhoSyCQAAAACihcOSFROBoy6jeAxtWCWFKigoUEFBgf0+JydHkhQblyiPrywwOZQVE+N9dgQ/S1J+9g5JUnKvGyRJhXneZblWPHtY2g6EI38yKEds8X4Vm1hHpqj8JGyHU3l9QHLjFsrP2e197dunJako35sIrmD50zXXSACHTXl9AAAgeoXVzxPTpk1TWlqa/cjMzAx1kwDUIPoAILrRBwAASgqrgHb8+PHKzs62H5s3bw51kwDUIPoAILrRBwAASgqrS46dTqecTmeomwEgROgDgOhGHwDgUFkOS45IvA+tFXnbVFFhdYYWAAAAAAC/kJ6hzc3N1fr16+33Gzdu1MqVK5Wenq4WLVpUeDmWI0YOX8In43EHlUuScXvLHLHx9rTEehmSJE+RS5Lkdu2v4lYAkcefDComPkGSFJtQx54Wl1BHnsLadXFHTEy8nHXSJXnb51foSwrl3x6SvgEAAESWkH4r/e6779SvXz/7/dixYyVJI0aM0HPPPReiVgEAAAAAwkFIA9q+ffvKGBPKJgAAAACIEpblHUcbaawoHkgaxZsOAAAAAAhnBLQAAAAAgLBUuzK7HAJ/Uij5nyW5fQmfHHFxkiQrpniap9A7zZ84Kt6XUCa51w12nX1fzjxczQVqJX/ypPg69SRJMc5EScGJlhyx8ZLx1HzjDsARG6f4eG9b/fu9VJwUqk7jlpKkxBNH29P2f/NYzTUQwGFV/6TRKlz1YqibgQPY+NdeSVL9RO9Xz7iAUyout3f4WW6h99iSXeBN5vnt79l2nZHdKp4sFEB0iZiAFgAAAAAOxHsf2si7SNVyRN42VVT0bjkAAAAAIKwR0AIAAAAAwhIBLQAAAAAgLEXEGFrL4fAmqpFkPG67PMZX5ucJmOZn3N4yZ4o3KZTbtd+eVqf3TZIkV+5u7/OKZ6ux1UDt4E8EJUmJ9ZtKKt53Yn3JoGKcCXYdyxEjy1G77h/tiI2XIz7J+8aXCEqSkhtmeqf7kr/FBiS38ieAK8zLkcT+DRxIYMLEhLSGMoX5oWtMGeISU+xjdu7nD4a4NQi0eZe3T26S5D2H4sjb6Z3gKbLrJMZ6jzHOxDRJUnyM9x6hR9ZPrqlmIopYDktWTITeh7Z2fT2rMZyhBQAAAACEJQJaAAAAAEBYIqAFAAAAAIQlAloAAAAAQFiKiKRQjth4Wb6kL4FKlRW5il/HexMQ+JNI+ZPeOEokkgpcTskkMhKJZBB+/EmgYnz7QJIvcZIkxfmSJvn3A0dcXKn5Y2LjZZWRYC2UYuNjZXw3FA/ch0v+YhebWJxgJKVpG0mSp9DbLzQ4415JUs4fP9l12L8R7VL7jZcUvF/Fp9STp3B/ebOERELdxirMz5MUnOiuJPbpmlcvwfsdyrFvh/d5f7YkyQpICmV8SaFkPJKkxMR6kqRererXVDMRTSxLVkzkndOzHA6pdn09qzGR99cEAAAAAEQFAloAAAAAQFgioAUAAAAAhKWIGEMLAAAAAAdjOSzveNNIY1mhbkHIRExAW1ZSKD9/4qfApBb+pDb+aZ4SyaECxSWleev4kkrlByzH2fVySVLB8qer3HagJvj/V/1JoGLjEyVJMb5nSbJifMk7Yr3JoPz7lSNg/3LExksByTxqi5hYX1IoR/H2eDzG+1xUKEmK9+3LUvG+X5if63vv3ffTMtvbdfyfmfF4E5WQUKZmTPxwrSTp2h4t7LK/9nv/5zo1SStzHlSPOr1vkiQ5U9IlSYn1MiQFJ1SLjU+Ux1U6YVwoWY4Yu80xzoA+wJf0rSDHm5CorIRR7NeHV6y8/acjf68kydq3W5JkfP2yJDl8/1/Gd6zxJNSrySaiAgL3nbikVJmighC2BggWgT9PAAAAAACiAQEtAAAAACAsRcwlxwAAAABwIJblkCMC70PrcETvGNrI+2sCAAAAAKJCRJyhtRwOO1tZYNYyfyKXshJGmRJJoRwlyiUpxpf8ye1LBuWI8ybBCEwbFZ/sTVCS2m+8JMmVu0uSlL/siSpvD3CoEo6/UlJxQjNJSm3WTlJxcjT//3NsQFIoP/8+U/K55PTawhHjUIz/19aApnmMNymUiS392527yJeoxPd5+JO+BSaOik/xJiYpyP5LkpQ++C5J0q75d1Rj6yPbum05kqR2jVMlSbl5+yVJzr1biisZ799ClvfvNPn4FEmSpzj/nrILoveX58PFf9xKbpRpl6W18CZF8x//7P4iNjgJlOVL9FNbxCYmyRFXOtGdn/9YHSg/25soKrnXDZKkwrycUnVIGHXoftvr/V7VpihfkuTO3umdEJAUSv7vXol1JUmpyaX/hqgZ/uRPMfHeb7uxCXUkSXUat7TreDxumaIC7a/x1gFl4wwtAAAAACAsRcQZWgAAAAA4GMthyYrAMbSKxHvrVlD0bjkAAAAAIKwR0AIAAAAAwlJEXHLscFh2qmqPx9jlMbExpcpKKpncJjAplJ0wypcUw/8+MImOx1fmTx6TWC9DktTwrAfsOvt2bJIkFeXvk0SSCVQPf+IGSXKmNvCW+ZOU+RJAxTiLU5j5/9f9yV7KSvhUkeRPlsMheeJKlYeSI8aSI9bbB5jAPkC+Mqt0QiHL4a/v+10vvnR36E+K4U8UVZSfK0nKHD7brlPo36/3ehPC5W771fs+ivfzzbty7ddHmO2SJPfalZKk+N3e9578PLuO5fucHWn1ve/rNfXWSapn13Gb8vtxlK/uwMn2a///cVyyN0FXvZadJAXv5/7kT/5jqlXi2c+t2pUYLjYuUQ7fsdkTG19quj8JXuC2+pNH+RPCqX4zScHfA+r0vimoTt7X/6rmlkc+f0K4ot+TvAW+ZFAeX98pSVayNxGcu673b1C7jjCRx//9wf/dIfB/PrVZ26C6xYkki/cry+GQp3C/SqdRA0IjIgJaAAAAADioCB1DW/KHx2gSeX9NAAAAAEBUIKAFAAAAAIQlAloAAAAAQFiKiDG0lsOyrxuPCbh+3J8cxlHWNeUlkt34E0dZQfdwivMtx1Puuv0D6ct7looTcHh8iRAa/W2GJMnt2m/X2btlg6ToTiSDsjm7Xi5JSvQlLPEndqnftptdx07aUCLRU0USPlkHuG9ZmfuOJNWycRqBieHKaltZieEcCq5nyqgT4xtj43Z7+4DY+Lql6sQleffvxLqNJUkpTVpLklqMeMGuU7B3tyQpd9tGSVJhnjeVRqTu7wmxxZ+tleft99y+ZFBFW36VJHn2FyeEcfj6yDh/EjNfEi93wG+uBUUkhSopffBd9mtnmje5iz9poT/hUb2sTnYdf6LEkomeHGUmTVNQncD9w3JYsjy16/dwR2xccT8YUO4/FseUkSiqZJkn4Ljt5z9+uwvyJRUfv+1EUpIKfcniivZ7nyN9/66q2ObtJUku3/9mfM5We5qjTXdJJIM6FP5ET/5jUpwvSaQj4Ngfm1BHklSv1dGSJCvGO82fDC5QyQSSgd9rLUeMPGUkjQwXlmUd8LtPuLLK6MujReT9NQEAAAAAUYGAFgAAAAAQlghoAQAAAABhKSLG0AIAAADAwVgOhz1+OKJE4LjgioqMgDYgCUxVbyocc8D5yv8HMZ6K7xD+xDRlJZnyJ5LJuvQlXx3v4Ht3QOIJt8ublMKfeCLnj58khVfiCdcXr0mSfn6yOGHOkf+4RJIUf9L5IWlTTUntN16SFO9L1CBJsYneBA0x8d5kOCWTMEhSk2NODSqrSCKDcpM5qXpuvF3bbt7tiHEcsE0H3r/L50+EE1uBi1mKE085S01Lruf9m9dr3jKovO21bxXPX+QJWo5/f/cnnJGk/N3bJEm75t9x8MaHUE5BcR+XmpwuSYqt10iSVLRtsyTJecqFdp2iFZ9Kkhzp3sRaRXUaSpJ25RcnIfkjx/t5HHu4Gh0iDc64V1JZSZ0S7Doxsd7/v5JJnBq1PdquY5X4Fy1rfyivX6jS/uyuXV+cYuITZJWR+KkqTBnJoVTn4HVKJoXMHD7bnuZPOOVPJuX/HmDcxcsp8ieX8iWM3L/zT0nhdYyviPhGLSVJ7n07Q9uQWqJk4seSid0kKcaXMK9kcsfAhE+NO/UOqlOybqDykkQG8v8fl7ccSyTqQ+1RK45Ijz32mFq1aqWEhAR17dpVn3/+eaibBAAAAACo5UIe0L766qu64YYbNHHiRK1YsUK9e/fWkCFDtGnTplA3DQAAAABQi4U8oJ0xY4Yuu+wyXX755Wrfvr1mzpypzMxMzZo1K9RNAwAAABBJHJasGEfkPWrZcLCaFNIxtC6XS8uXL9dtt90WVD5w4EB99dVXpeoXFBSooKDAfp+dnS1J8rjyJP/4tcA/pufwX99vKrGOA42hLTn2xl/H4y4eQ+spzA96Nr5pOTk5lW12yLj25UmScl2FdlmOryw+jLajKkyR93/X//eTJE+sb6yL5f3fsOwxK8W/NZUcD1Ohm4Ef5jG0Hpf3b2ZMzY6hKa8PcBfkHZa2VGX/PtBySjbRE1BgSoyh9bj8+/v+gDrestq+z+/du9d+nRPjbX9s7j5JUkGedxvi9haPDS7K89aJ3+utUxTvnX+vu/hvneebPycn6XA1OySK+3XvZ+DxjUuzVHycsDy+fd637xqr9D5csqis/dxU4xhad0Ht6gM8rv2yyji2VkWZY2grUMceF1vGNI8pbwxtcZuN/9juO1aE4zG+MtwBfUBMhG5jRfj/zvZ3BN/ObFmB+WF8/ULJ8axW6fGtFfmuUB1jaD2+sd413QcAZQlpQPvXX3/J7XarcePGQeWNGzfW1q1bS9WfNm2a7rzzzlLlvz53xWFrYzhIS3sp1E04NK9+7HtxaUibgcrbuXOn0tLSDl6xmpTXB6x7fGSNtaE2SEubFuomVIMJoW4AqkFt6QM2v3xljbWhpoX9MR4VUnjwKrVSTfcBQFlqRZZjq8RPy8aYUmWSNH78eI0dO9Z+v2fPHmVlZWnTpk0RuTPl5OQoMzNTmzdvVmpqaqibU+0iefsiedsk71mRFi1aKD09vUbXSx8QWSJ5+yJ52yT6gJoS6f9Hkbx9kbxtUuj6AKAsIQ1oGzRooJiYmFJnY7dv317qrK0kOZ1OOZ2lb4mRlpYWkZ2FX2pqKtsXpiJ52yTJUcP3PKMPiEyRvH2RvG0SfUBNifT/o0jevkjeNqnm+4Dq4LAcYdnug7EshxSlt1MK6V8zPj5eXbt21YIFC4LKFyxYoJ49e4aoVQAAAACAcBDyS47Hjh2r4cOHq1u3burRo4eefPJJbdq0SVdddVWomwYAAAAAqMVCHtAOHTpUO3fu1F133aUtW7aoU6dO+uCDD5SVlXXQeZ1OpyZPnlzm5UeRgO0LX5G8bVLt2b7a0o7Dhe0LX5G8bVLt2b7a0o7Dhe0LX5G8bVLkbx/Ci2XItw0AAAAgwg0ZMkR9laMLj2kb6qZUu7fW/KI39hgtWbIk1E2pcSE/QwsAAAAANcJhyYqJwKRQDkskhQIAAAAAIIwQ0AIAAAAAwhIBLQAAAAAgLDGGFgAAAEBUsCJ0DK0cVqhbEDIR+NcEAAAAAEQDAloAAAAAQFgioAUAAAAAhCXG0AIAAACIDpYlyxF55/QsyyHJHepmhETk/TUBAAAAAFGBgBYAAAAAEJYIaAEAAAAAYYkxtAAAAACiQqTeh9biPrQAAAAAAIQXAloAAAAAQFgioAUAAAAAhCXG0AIAAACICpbDEZFjaMUYWtSk5557TnXr1g11M2qUZVl66623Qt0MoFagDwCiC/s8ABw+BLSoVlOmTNExxxxTqnzLli0aMmRIzTcowO7duzV8+HClpaUpLS1Nw4cP1549ew44jzFGU6ZMUdOmTZWYmKi+fftqzZo1QXUKCgp07bXXqkGDBkpOTtZZZ52l33//vdSy3n//fZ144olKTExUgwYNdM455wRNv/7669W1a1c5nc4yP0NJWr16tfr06aPExEQ1a9ZMd911l4wxQXVeeuklHX300UpKSlKTJk106aWXaufOnQf/gIBqQB9Qug/49ddfddlll6lVq1ZKTExU69atNXnyZLlcrqDlfPrpp+rZs6dSUlLUpEkT3XrrrSoqKrKnT5kyRZZllXokJyeXas/EiROVlZUlp9Op1q1b69lnn63ipwYcGPt82cf9iqx72bJl6t+/v+rWrat69epp4MCBWrlyZan2TJ8+XW3btpXT6VRmZqamTp1qT//iiy/Uq1cv1a9fX4mJiTrqqKP00EMPBS3jzTffVLdu3VS3bl0lJyfrmGOO0X/+85+KfYhAGCCgjUIlv0QdrnkCZWRkyOl0HtIyDtVFF12klStXav78+Zo/f75Wrlyp4cOHH3Ce+++/XzNmzNCjjz6qZcuWKSMjQwMGDNDevXvtOjfccIPmzZunOXPm6IsvvlBubq7OOOMMud1uu87cuXM1fPhwXXrppfrf//6nL7/8UhdddFHQuowxGjVqlIYOHVpmW3JycjRgwAA1bdpUy5Yt07/+9S9Nnz5dM2bMsOt88cUXuuSSS3TZZZdpzZo1ev3117Vs2TJdfvnlVfnIEKHoA2q2D/jxxx/l8Xj0xBNPaM2aNXrooYf0+OOPa8KECfYyVq1apdNOO02DBw/WihUrNGfOHL3zzju67bbb7Do333yztmzZEvTo0KGDzjvvvKA2n3/++fr000/1zDPPaN26dXrllVd01FFHVcdHiDDFPl/zx/2DrXvv3r0aNGiQWrRooW+++UZffPGFUlNTNWjQIBUWFtr1rr/+ej399NOaPn26fvzxR7377rs64YQT7OnJycm65pprtGTJEq1du1aTJk3SpEmT9OSTT9p10tPTNXHiRH399ddatWqVLr30Ul166aX66KOPDunzBWoNgyAej8fcd999plWrViYhIcF06dLFvP766/a0/v37m0GDBhmPx2OMMWb37t0mMzPTTJgwwRhjzGeffWYkmffee8906dLFOJ1Oc8IJJ5hV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H39cLVq00MyZMyV5/xe/++47TZ8+nYC2NunQoYOcTqc2bdpU7tgDSbrpppvkcDj04Ycf6rTTTtPpp5+uU045JajO0qVL1aJFC0ne1O0//fRTlbNMDhs2TLfeeqsuvPBCbdiwQRdccIE97fPPP1fPnj01evRou2zDhg1VWs/BfPnll8rKytLEiRPtMv8lOH7x8fFBWf7K0qFDBz3//PPat2+fffD88ssv5XA4yvzV2+9QLj3q0aOHsrOz9e2339rZAb/55htlZ2eX+tLp16pVK2VkZGjBggX2L/Uul0uLFy/WfffdJ0nq2rWr4uLitGDBAvtSry1btuj777/X/fffb9dxOp1at26dTjrpJElSYWGhfv31V3ucTEX06NFDEyZMkMvlsn91//jjj9W0aVP7UuS8vDz7UiU//69tpsTtfVAafcCB0QdUrQ+QpD/++EP9+vVT165dNXv2bPsLbEmWZalp06aSpFdeeUWZmZk67rjjgups3LhRn332md55551S8/fq1Uuvv/66cnNz7WDgp59+ksPhUPPmzcv9fKIV+/yBsc9XbZ+vyLrz8vLkcDiCAnr/e/8PLb169VJRUZE2bNig1q1bS/Luz5IO+P3BGKOCgoIDfXQVqoPw4/F4lJOTE1TmdDrLzTj+888/q2nTpnI6nTrxxBM1depUHXHEEWXW/frrr4PGjkve4TLPPPOMCgsLSw3DqEkEtAFSUlJ0880368Ybb5TH49FJJ52knJwcffXVV6pTp45GjBih999/X88++6y+/vprHXfccbrttts0YsQIrVq1KuiXurvuukv169dX48aNNXHiRDVo0EB/+9vfqtSuc845R1dffbWuvvpq9evXL+hX5DZt2uiFF17QRx99pFatWuk///mPli1bVuYv+oeqTZs22rRpk+bMmaPjjz9e77//vubNmxdUp2XLltq4caNWrlyp5s2bKyUlpdRONGzYME2ePFkjRozQlClTtGPHDl177bUaPnx4ub+a+tdfVe3bt9fgwYN1xRVX6IknnpAk/eMf/9AZZ5wR9AvnUUcdpWnTpun//u//ZFmWbrjhBk2dOlVHHnmkjjzySE2dOlVJSUn2LXfS0tJ02WWX6aabblL9+vWVnp6um2++WZ07d9app54qSUpNTdVVV12lyZMnKzMzU1lZWXrggQckKeh2G/7LubZu3ar9+/fbB/IOHTooPj5eF110ke68806NHDlSEyZM0M8//6ypU6fqjjvusA+IZ555pq644grNmjXLvuT4hhtu0AknnGB/SUb56AMOjD6gan3An3/+qb59+6pFixaaPn26duzYYa8v8JfxBx54QIMHD5bD4dCbb76pe++9V6+99lqpS8CeffZZO7lcSRdddJHuvvtuXXrppbrzzjv1119/6ZZbbtGoUaO43LgM7PMHxj5ftX2+IuseMGCAbrnlFo0ZM0bXXnutPB6P7r33XsXGxqpfv36SpFNPPVXHHXecRo0apZkzZ8rj8WjMmDEaMGCA/UPAv//9b7Vo0cL+8eSLL77Q9OnTde2119rbOG3aNHXr1k2tW7eWy+XSBx98oBdeeEGzZs2q8ueL2mnz5s1BV+hI3vH9JZPYSdKJJ55oX86+bds23XPPPerZs6fWrFmj+vXrl6q/devWMseXFxUV6a+//grtVYA1m1S59vN4PObhhx827dq1M3FxcaZhw4Zm0KBBZvHixWb79u2mcePGZurUqXb9wsJCc8IJJ5jzzz/fGFOcvv/dd981HTt2NPHx8eb44483K1eutOepaPr+QOedd56RZJ599tmg8vz8fDNy5EiTlpZm6tata66++mpz2223Bd32xZ++vzKysrLMQw89VKr8lltuMfXr1zd16tQxQ4cONQ899FDQtuTn55u///3vpm7durUqfb8xxuzcudMMGzbMpKSkmJSUFDNs2DCze/fuoDqBbTbG+/8wefJkk5GRYZxOpzn55JPN6tWrg+bZv3+/ueaaa0x6erpJTEw0Z5xxRlAafmOMcblc5qabbjKNGjUyKSkp5tRTTzXff/99UJ0+ffqUuv2BJLNx40a7zqpVq0zv3r2N0+k0GRkZZsqUKfatJPweeeQR06FDB5OYmGiaNGlihg0bZn7//feqf3BRhj7Aiz7Aqzr6gLJubeJ/BOrXr59JS0szCQkJ5sQTTzQffPBBqW1wu92mefPm9i1jyrJ27Vpz6qmnmsTERNO8eXMzduxYk5eXV4lPKrqwz3uxz3tV13G/Iuv++OOPTa9evUxaWpqpV6+eOeWUU8zXX38dVOePP/4w55xzjqlTp45p3LixGTlyZNBtuR555BHTsWNHk5SUZFJTU82xxx5rHnvsMeN2u+06EydONG3atDEJCQmmXr16pkePHkG3HYomgwcPNtPPPcVs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Za4NABLJaIfWOxj51FNPdafPmTNHp5xySlz5pq6jVFpampONhcMZ1J2rcnn/cnnfpHD4QHuiDchNubx/ubxvEm1Ae8n191Eu718u75vU/m0AkEjGTzmePHmyxo8frwMPPFCjRo3SAw88EDUYGQAAAABagyUjKwcH0ebgLqUs4x3a5gYjAwAAAACQSMY7tFLywcjJBINB3XzzzU1eXynbsX/ZK5f3Teo4+9dR6tFW2L/slcv7JnWc/eso9Wgr7F/2yuV9k3J//5BdfCYr87YBAAAAIHVjx47V9048Ueeee16mq9Lqnn7qKT0y82EtWLAg01Vpdx3iCC0AAAAAtIdcPJqXi/uUKqLJAAAAAABZiQ4tAAAAACAr0aEFAAAAAGQlxtACAAAA6BSMkawcHHCag7uUMo7QAgAAAACyEh1aAAAAAEBWokMLAAAAAMhKjKEFAAAA0CkYIxmTeyNOc3GfUsURWgAAAABAVqJDCwAAAADISnRoAQAAAABZiTG0AAAAADoFoxy9Dm0O7lOqOEILAAAAAMhKdGgBAAAAAFmJDi0AAAAAICvRoW0HjzzyiLp3757parQrn8+n5557LtPVADoE2gCgc6MNADoOk8N/nRUdWuyQqVOnav/994+bvnbtWo0dO7b9K+SxefNmjR8/XqWlpSotLdX48eO1ZcuWpMsYYzR16lT1799fRUVFOuKII/TRRx9Flamrq9Nll12m3r17q2vXrjr55JP11VdfpbXtRx55RPvuu68KCwtVVlamSy+9NGr+K6+8opEjR6q4uFh9+vTRD37wA61atcqd/+yzz+qYY45Rnz59VFJSolGjRumVV16J24bP54v7q62tTeFZBJKjDUivDfjPf/6js846SxUVFSoqKtLee++tu+++O2odU6dOTfjZ7dq1q1vmzTff1CGHHKJevXqpqKhIe+21l+68886o9RxxxBEJ13PCCSe04NkEEqMNSP97wBVXXKERI0YoGAwmfA5bqw2QpLvuukt77rmnioqKVFFRoauuuorvAcgZdGg7gfr6+nZZxqusrEzBYHCH1rGjzj77bC1dulQvv/yyXn75ZS1dulTjx49PusxvfvMb3XHHHbr33nu1aNEilZWV6ZhjjtHWrVvdMldeeaVmz56tWbNm6c0331R1dbVOPPFEhUKhFm37jjvu0PXXX6/rrrtOH330kf71r3/p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r9fw4cPdx6effrpmz56t6dOn67777tMee+wRty7nP0JJ6tmzp/bcc0+tWLGixXU688wz9dOf/lQLFy7UyJEj9fjjj2v//ffXkCFD3DJ/+tOf9NBDD+nLL7/U9u3bVV9fHxcmMGzYsBb9JyaFjwjG+utf/6q77rpLn332maqrq9XY2KiSkpIWrXfFihXab7/9oo4GHHLIIbIsSytXrmzyP7LddtutRduJ5fP54qYZYxJOT7ZcKsvElmlu25ZlqaGhQffcc4/7K++TTz6psrIyvf766zruuOO0bt06/fjHP9aECRN01llnaevWrbrpppv0wx/+UHPmzInbxpNPPqmpU6fq73//e9R/pCNHjtTIkSPdx4cccogOOOAA/f73v3ePOHRWtAHRaAMSL9cWbYDXRx99pFNOOUU33XRT3HvR8eyzz2rr1q36v//7v4Tz33jjDVVXV2vhwoW67rrrtNtuu+mss86KKzdjxgwNHTpU3/nOd5LuT2dBGxCNNiDxcm3dBqRiR9qAefPm6ZZbbtEf//hHHXzwwfrss890xRVXqLy83D0SD2SzTt2htSxLkvTiiy9qp512iprnDTKoqanR4sWLFQgE9Omnn6a8/nQarfLyco0ZM0ZPPPGERo4cqSeffFIXXnihO//pp5/WVVddpdtvv12jRo1ScXGxfvvb3+qdd96JWk86p5LFLrNw4UKdeeaZmjZtmo477jiVlpZq1qxZuv3221u03mQNeLLnqFu3bknXe9hhh+mf//xnwnllZWVav3593PRvvvmmyf84nV+X161bp/Lycnf6hg0b3GXKyspUX1+vzZs3R/06u2HDBo0ePTrlbTvr935B6dOnj3r37q3Vq1dLkv7whz+opKREv/nNb9wyf/nLX1RRUaF33nknqpP61FNP6fzzz9czzzyjo48+OuH+Ofx+vw466KAWvZdzFW1ANNqA9msDHMuXL9eRRx6pCy64IOpIWKyHHnpIJ554YpNHwQYPHiwp3IlZv369pk6dGtehramp0axZs/SLX/yiye10NrQB0WgD2r8NSNWOtAE33nijxo8f7x61HTZsmLZt26af/OQnuv766+X3d/oRiMhynbpDO2TIEAWDQa1evTrpeKOrr75afr9f//znP/W9731PJ5xwgo488sioMgsXLtTOO+8sKRzV/sknn2ivvfZKq17nnHOOfvazn+mss87S559/rjPPPNOd98Ybb2j06NG65JJL3Gmff/55Wttpzr///W8NHDhQ119/vTvNOeXGUVBQEJXql8iQIUP06KOPatu2be5/lv/+97/l9/sT/srt2JFTjUaNGqXKykq9++677pGId955R5WVle5/OLEGDx6ssrIyzZkzx/1lvr6+XvPnz9dtt90mSRoxYoTy8/M1Z84c99QuJzXU6Ximsu1DDjlEkrRy5UoNGDBAkrRp0yZ9++23GjhwoKTwF6hAIBBVR+ex8yVMCh+ZPe+88/Tkk0+mNB7GGKOlS5dq2LBhzZbNdbQBydEGtF0bIIWPzB555JGaMGGCbrnllib3ZdWqVXr99df1/PPPJ30+HMYY1dXVxU1/+umnVVdXpx/96EcpraczoA1IjjagbduAVO1oG1BTUxPXaQ0EAjLGyJjOfKIqcka7RlB1QNdff73p1auXeeSRR8xnn31m3n//fXPvvfeaRx55xBhjzD/+8Q9TUFBgFi9ebIwx5oYbbjADBgwwmzZtMsZE0g332Wcf89prr5lly5aZk08+2ey8886mrq7OGNPylNnKykpTWFho9ttvP3PUUUdFzbvrrrtMSUmJefnll83KlSvNDTfcYEpKSqLS8Zx0w5YYOHCgufPOO6OmPffccyYvL888+eST5rPPPjN333236dmzZ9S+PP7446Zr165myZIl5ptvvjG1tbXGmOh0w23btpny8nLzgx/8wCxbtszMnTvX7LLLLmbChAktqmNLHX/88Wbfffc1b7/9tnn77bfNsGHDzIknnhhVZs899zTPPvus+/jXv/61KS0tNc8++6xZtmyZOeuss0x5ebmpqqpyy1x00UVmwIAB5rXXXjPvv/++OfLII81+++1nGhsbW7TtU045xeyzzz7m3//+t1m2bJk58cQTzZAhQ9z0yH/961/G5/OZadOmmU8++cQsXrzYHHfccWbgwIGmpqbGGGPME088YfLy8swf/vAHs3btWvdvy5Yt7namTp1qXn75ZfP555+bJUuWmHPPPdfk5eWZd955p/We7CxGGxBGGxDWXm3Ahx9+aPr06WPOOeecqM/uhg0b4vbjhhtuMP37949av+Pee+81zz//vPnkk0/MJ598Yh5++GFTUlJirr/++riyhx56qBk3blzLnsROgDYgjDYgrD2/B3z66admyZIl5sILLzR77LGHWbJkiVmyZIn7vnHsaBtw8803m+LiYvPkk0+a//73v+bVV181u+66qznjjDPSe2Kz2PHHH29+d/fvzfot1Tn398cHO2/Kcafv0FqWZe6++26z5557mvz8fNOnTx9z3HHHmfnz55sNGzaYfv36mVtvvdUt39DQYL7zne+4jYDzH9kLL7xg9tlnH1NQUGAOOuggs3TpUneZdC6bcvrppxtJ5uGHH46aXltbayZOnGhKS0tN9+7dzcUXX2yuu+66NvmPzBhjfvrTn5pevXqZbt26mXHjxpk777wzal9qa2vND37wA9O9e/cOFddvjDEbN24055xzjikuLjbFxcXmnHPOMZs3b44q462zMeH3w80332zKyspMMBg03/3ud82yZcuiltm+fbu59NJLTc+ePU1RUZE58cQTzerVq1u87crKSnPeeeeZ7t27m549e5pTTz01bj1PPvmkGT58uOnatavp06ePOfnkk6Mu53D44YfHXTJBUtSXhCuvvNLsvPPOpqCgwPTp08cce+yx5q233mr5E5qjaAPCaAPC2qsNuPnmmxN+dmMvrxIKhcyAAQPcS8TEuueee8w+++xjunTpYkpKSszw4cPNH//4x6jLfRljzMqVK40k8+qrr6b25HUitAFhtAFh7fk9oKn/w1etWuWWaY02oKGhwUydOtXsuuuuprCw0FRUVJhLLrkkrj6dAR3a3OQzhnMNdsS8efM0ZswYbd68Wd27d890dQC0M9oAoHOjDQCyx9ixY3X02BM0fsK5ma5Kq/vbM0/rycdmasGCBZmuSrtjFDgAAAAAICvRoW1n++yzT5MXCI+9kHpreeONN5JemBxA+6ENADo32gAgs4wkKwf/OvMpt5065bg1HHHEES1KiHvppZfU0NCQcF66Ue7NOfDAA5tNCgSQHtoAoHOjDQCAzMpoh3bq1KmaNm1a1LR+/fpp3bp1GapR23MuydKeioqKdvji5ABaB20A0LnRBgBA68r4Edp99tlHr732mvs49rqbAAAAAAAkkvEObV5ensrKyjJdDQAAAAC5zki5eI2XXNynVGW8Q/vpp5+qf//+CgaDOvjgg3Xrrbdql112SVi2rq5OdXV17mPLsrRp0yb16tVLPp+vvaoMdHrGGG3dulX9+/eX399+2XK0AUDHQBsAdG6ZagOARDLaoT344IP12GOPaY899tD69ev1q1/9SqNH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AIC2ltYpxxMnTtTq1at14403qry8XD6fr7XrBQAAAACtyhjJysHhpjm4SylLq0P75ptv6o033tD++++/Qxu/7777dN999+mLL76QJO2zzz666aabNHbs2B1aLwAAAAAg96XVoa2oqJBphSStAQMG6Ne//rV22203SdKjjz6qU045RUuWLNE+++yzw+sHgI6g8rVfSYqEQwXyCiRJwZLebpmigy+RJG1/54/tXDsAAIDsldYY2rvuukvXXXede2Q1XSeddJK+973vaY899tAee+yhW265Rd26ddPChQt3aL0AAAAAgNyX1hHacePGqaamRrvuuqu6dOmi/Pz8qPmbNm1q8TpDoZCeeeYZbdu2TaNGjUpYpq6uTnV1de7jqqqqFm8HQPaiDQA6N9oAADvKMkahHBxEa+XgPqUqrQ7tXXfd1WoVWLZsmUaNGqXa2lp169ZNs2fP1pAhQxKWnT59uqZNm9Zq2waQXWgDgM6NNgAAECutDu2ECRNarQJ77rmnli5dqi1btuhvf/ubJkyYoPnz5yfs1E6ZMkWTJ092H1dVVamioqLV6gKgY6MNADo32gAAQKyUO7RVVVUqKSlx7yfjlEtFQUGBGwp14IEHatGiRbr77rt1//33x5UNBoMKBoMprxtAbsn2NsAJh+p22NWSpGBxT3eePz8cFFUw/DxJUv2Sh9u5dkDHl+1tAACg9aXcoe3Ro4fWrl2rvn37qnv37gmvPWuMkc/nUygUSrtCxpio8TEAAAAA0BrC16HNvfGmVqYrkEEpd2jnzp2rnj3DRxNef/31Vtn4z3/+c40dO1YVFRXaunWrZs2apXnz5unll19ulfUDAAAAAHJXyh3aww8/POH9HbF+/XqNHz9ea9euVWlpqfbdd1+9/PLLOuaYY1pl/QAAAACA3JVWKJQkbd68WTNmzNCKFSvk8/m0995769xzz3WP4qZixowZ6W4eAAAAANDJ+dNZaP78+Ro0aJDuuecebd68WZs2bdI999yjwYMHa/78+a1dRwDIKdVv3K7qN25XqLHe/TOhkEwopMLu/VTYvV+mqwgAQE6yJIVM7v114svQpneEdtKkSRo3bpzuu+8+BQIBSVIoFNIll1yiSZMm6cMPP2zVSgIAAAAAECutI7Sff/65rr76arczK0mBQECTJ0/W559/3mqVAwAAAACgKWl1aA844ACtWLEi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48aN08aNG/WLX/xCa9eu1dChQ/XSSy9p4MCBzS4bDAZ18803Jzz9KBewf9krl/dN6jj711Hq0VbYv+yVy/smdZz96yj1aCvsX/bK5X2Tcn//kF18hrxtAAAAADlu7NixWttnfw367imZrkqr++qdV9Rl5b+0YMGCTFel3TGSGwAAAACQlTJ+yjEAAAAAtAfLmBwdQ5vpGmQOR2gBAAAAAFmJDi0AAAAAICvRoQUAAAAAZCXG0AIAAADoFEyuXoc2B/cpVRyhBQAAAABkJTq0AAAAAICsRIcWAAAAAJCV6NACAAAAALISoVAAAAAAOgXLmNwMhTK5t0+p4ggtAAAAACAr0aEFAAAAAGQlOrQAAAAAgKzEGFoAAAAAnYJl5eoY2kzXIHM4QgsAAAAAyEp0aAEAAAAAWYkObTt45JFH1L1790xXo135fD4999xzma4GAAAAgBxGhxY7ZOrUqdp///3jpq9du1Zjx45t/wp5bN68WePHj1dpaalKS0s1fvx4bdmyJekyxhhNnTpV/fv3V1FRkY444gh99NFHUWXq6up02WWXqXfv3uratatOPvlkffXVVy3e9hVXXKERI0YoGAwmfA69PvvsMxUXF8f9MDJx4kT5fL64v3322Seq3JYtWzRp0iSVl5ersLBQe++9t1566aWk2wQAAMg1xkjGMjn511nRoe0E6uvr22UZr7KyMgWDwR1ax446++yztXTpUr388st6+eWXtXTpUo0fPz7pMr/5zW90xx136N5779WiRYtUVlamY445Rlu3bnXLXHnllZo9e7ZmzZqlN998U9XV1TrxxBMVCoVatG1jjM477zyNGzcuaZ0aGhp01lln6bDDDoubd/fdd2vt2rXu35o1a9SzZ0+dfvrpbpn6+nodc8wx+uKLL/TXv/5VK1eu1IMPPqiddtop6XYBAACAjq7Td2iNMfrNb36jXXbZRUVFRdpvv/3017/+1Z139NFH6/jjj5cx4V89tmzZop133lnXX3+9JGnevHny+Xx68cUXtd9++6mwsFAHH3ywli1b1uK6rFy5Uj6fTx9//HHU9DvuuEODBg2SMUahUEjnn3++Bg8erKKiIu255566++67o8pPnDhR3//+9zV9+nT1799fe+yxR7PbHjRokH71q19p4sSJKi0t1QUXXCBJ+tnPfqY99thDXbp00S677KIbb7xRDQ0NksKnUk+bNk3/+c9/3CODjzzyiKT4U46XLVumI488UkVFRerVq5d+8pOfqLq6usXPUapWrFihl19+WQ899JBGjRqlUaNG6cEHH9Q//vEPrVy5MuEyxhjddddduv7663Xaaadp6NChevTRR1VTU6MnnnhCklRZWakZM2bo9ttv19FHH63hw4frL3/5i5YtW6bXXnutRdu+5557NGnSJO2yyy5J9+WGG27QXnvtpTPOOCNuXmlpqcrKyty/9957T5s3b9a5557rlnn44Ye1adMmPffcczrkkEM0cOBAHXroodpvv/1a/LwCAAAAHUmn79DecMMNmjlzpu677z599NFHuuqqq/SjH/1I8+fPl8/n06OPPqp3331X99xzjyTpoosuUr9+/TR16tSo9fz0pz/V7373Oy1atEh9+/bVySef7Hb8UrXnnntqxIgRevzxx6OmP/HEEzr77LPl8/lkWZYGDBigp59+WsuXL9dNN92kn//853r66aejlvnXv/6lFStWaM6cOfrHP/6R0vZ/+9vfaujQoVq8eLFuvPFGSVJxcbEeeeQRLV++XHfffbcefPBB3XnnnZKkcePG6eqrr9Y+++zjHiFMdLSxpqZGxx9/vHr06KFFixbpmWee0WuvvaZLL700aX26deuW9C/ZKc1vv/22SktLdfDBB7vTRo4cqdLSUr311lsJl1m1apXWrVunY4891p0WDAZ1+OGHu8ssXrxYDQ0NUWX69++voUOHumXS2XZT5s6dq2eeeUZ/+MMfUio/Y8YMHX300Ro4cKA77fnnn9eoUaM0adIk9evXT0OHDtWtt94adUQZAAAAyEad+jq027Zt0x133KG5c+dq1KhRkqRddtlFb775pu6//34dfvjh2mmnnXT//fdr/PjxWr9+vV544QUtWbJE+fn5Ueu6+eabdcwxx0iSHn30UQ0YMECzZ89OeFQtmXPOOUf33nuvfvnLX0qSPvnkEy1evFiPPfaYJCk/P1/Tpk1zyw8ePFhvvfWWnn766ahtde3aVQ899JAKCgpS3vaRRx6pa665JmraDTfc4N4fNGiQrr76aj311FO69tprVVRUpG7duikvL09lZWVNrvfxxx/X9u3b9dhjj6lr166SpHvvvVcnnXSSbrvtNvXr1y/hckuXLk1a36KioibnrVu3Tn379o2b3rdvX61bt67JZSTF1adfv3768ssv3TIFBQXq0aNHXBln+XS2ncjGjRs1ceJE/eUvf1FJSUmz5deuXat//vOf7tFkx3//+1/NnTtX55xzjl566SV9+umnmjRpkhobG3XTTTelXB8AAIBsZ4yRlYPjTZ2zSTujTt2hXb58uWpra92OqKO+vl7Dhw93H59++umaPXu2pk+frvvuuy/hKbxOh1iSevbsqT333FMrVqxocZ3OPPNM/fSnP9XChQs1cuRIPf7449p///01ZMgQt8yf/vQnPfTQQ/ryyy+1fft21dfXx4UKDRs2rEWdWUk68MAD46b99a9/1V133aXPPvtM1dXVamxsTKlz5bVixQrtt99+bmdWkg455BBZlqWVK1c22aHdbbfdWrSdWD6fL26aMSbh9GTLpbJMbJl0t+11wQUX6Oyzz9Z3v/vdlMo7adrf//73o6ZblqW+ffvqgQceUCAQ0IgRI/T111/rt7/9LR1aAAAAZLVOfcqxZVmSpBdffFFLly51/5YvX+6Oo5XCp8wuXrxYgUBAn376acrrb0nnxVFeXq4xY8a4R9mefPJJ/ehHP3LnP/3007rqqqt03nnn6dVXX9XSpUt17rnnxoU4eTuPqYpdZuHChTrzzDM1duxY/eMf/9CSJUt0/fXXtzgwKllHLtlztCOnHJeVlWn9+vVx07/55psmO9DOUebYo6gbNmxwlykrK1N9fb02b96ctExLt53I3Llz9bvf/U55eXnKy8vT+eefr8rKSuXl5enhhx+OKmuM0cMPP6zx48fH/ZBRXl6uPfbYQ4FAwJ229957a926dTsc/gUAAABkUqc+QjtkyBAFg0GtXr1ahx9+eJPlrr76avn9fv3zn//U9773PZ1wwgk68sgjo8osXLhQO++8s6TwJVs++eQT7bXXXmnV65xzztHPfvYznXXWWfr888915plnuvPeeOMNjR49Wpdccok77fPPP09rO83597//rYEDB7oBWJLcU28dBQUFzY7FHDJkiB599FFt27bN7TT/+9//lt/vTxpYtSOnHI8aNUqVlZV699139Z3vfEeS9M4776iyslKjR49OuMzgwYNVVlamOXPmuEfo6+vrNX/+fN12222SpBEjRig/P19z5sxxT/Feu3atPvzwQ/3mN79Je9uJvP3221HP7d///nfddttteuutt+ISiufPn6/PPvtM559/ftx6DjnkED3xxBOyLEt+f/g3rE8++UTl5eUtPooPAAAAdCSdukNbXFysa665RldddZUsy9Khhx6qqqoqvfXWW+rWrZsmTJigF198UQ8//LDefvttHXDAAbruuus0YcIEffDBB1HjKH/xi1+oV69e6tevn66//nr17t077tTPVJ122mm6+OKLdfHFF2vMmDFRnZfddttNjz32mF555RUNHjxYf/7zn7Vo0SINHjx4R5+OOLvttptWr16tWbNm6aCDDtKLL76o2bNnR5UZNGiQVq1apaVLl2rAgAEqLi6Ou1zPOeeco5tvvlkTJkzQ1KlT9c033+iyyy7T+PHjkx6x3JFTjvfee28df/zxuuCCC3T//fdLkn7yk5/oxBNP1J577umW22uvvTR9+nSdeuqp8vl8uvLKK3Xrrbdq99131+67765bb71VXbp00dlnny0pnCp8/vnn6+qrr1avXr3Us2dPXXPNNRo2bJiOPvroFm3bOY173bp12r59u9uBHzJkiAoKCrT33ntH7dN7770nv9+voUOHxu3vjBkzdPDBByecd/HFF+v3v/+9rrjiCl122WX69NNPdeutt+ryyy9P+/kFAADISiY3x5vm4C6lrFOfcixJv/zlL3XTTTdp+vTp2nvvvXXcccfphRde0ODBg/XNN9/o/PPP19SpU3XAAQdICoc/9e/fXxdddFHUen7961/riiuu0IgRI7R27Vo9//zzaR/9Kikp0UknnaT//Oc/Ouecc6LmXXTRRTrttNM0btw4HXzwwdq4cWPU0drWdMopp+iqq67SpZdeqv33319vvfWWm37s+MEPfqDjjz9eY8aMUZ8+ffTkk0/GradLly565ZVXtGnTJh100EH64Q9/qKOOOkr33ntvm9Tb8fjjj2vYsGE69thjdeyxx2rffffVn//856gyK1euVGVlpfv42muv1ZVXXqlLLrlEBx54oP73v//p1VdfVXFxsVvmzjvv1Pe//32dccYZOuSQQ9SlSxe98MILUaf0prLtH//4xxo+fLjuv/9+ffLJJxo+fLiGDx+ur7/+ukX7WVlZqb/97W8Jj85KUkVFhV599VUtWrRI++67ry6//HJdccUVuu6661q0HQAAAKCj8Zlc/ImiHc2bN09jxozR5s2b1b1790xXBwAAAEACY8eO1X+Lh6p81ImZrkqrW7/4NfVZPV8LFizIdFXaXac/QgsAAAAA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Sezfvx/l5eUwGo3Izs7G1atXb7htTU2NzXkaN25cP3TsugkTJtj0eeTIkS5rPencEREREZF38biU4/j4eBQWFqKwsLBb9UIIxMbGorCwEM8++ywAQKfTISoqCqtXr8aiRYv6sNubt2bNGmzcuBGnT5/usiYvLw+XL1/G+++/33+N3cDUqVNx5513YuPGjZZlSUlJmDVrFlatWmVX/+yzz2Lnzp04ceKEZdnixYtx6NAh7Nu3r1967qlLly4hMjISlZWVuPfeex3WVFRUIDMzE83NzRg2bFj/NuiilStX4v3338dXX33VrXpPPndERERE5Nk88grt6tWrMWLECNxxxx347W9/6/QjuWfOnIFWq0V2drZlWUBAAH74wx+iqqqqP9q9KS0tLQgPD79hXUVFBSIjIzF+/Hg88cQTaGho6IfuHNPr9Th48KDNMQeA7OzsLo/5vn377Orvu+8+/Pvf/4bBYOizXntDS0sLAHTrPE2ZMgUxMTHIysrC3r17+7q1Hjt58iRiY2ORkJCA+fPnO/2DiiefOyIiIiLybB43oX3qqafw7rvvYu/evSgoKMD69euRn5/fZb1WqwUAREVF2SyPioqyrBuovv32W7zyyitYvHix07oZM2Zg27Zt+OSTT/DSSy/hwIEDmDZtGnQ6XT91aquxsREmk8mlY67Vah3WG41GNDY29lmvN0sIgaKiItxzzz2YOHFil3UxMTHYsmULysrKsH37diQmJiIrKwuffvppP3bbPVOnTsXbb7+Njz/+GK+//jq0Wi3uuusuNDU1Oaz31HNHRERERJ7P190NAOaPOBYXFzutOXDgAFJSUrB06VLLssmTJ2P48OH4yU9+Yrlq2xVJkmxeCyHslvUVV8anunDhAqZPn46HHnoICxcudLrtvHnzLM8nTpyIlJQUxMXFYdeuXZgzZ87NNX8TXD3mjuodLR9ICgoKcPjwYXz++edO6xITE5GYmGh5nZaWhrq6Oqxdu7bLjym7y4wZMyzPJ02ahLS0NIwZMwZvvfUWioqKHG7jieeOiIiIiDzfgJjQFhQUYP78+U5r4uPjHS5X03xPnTrlcEKrprNqtVrExMRYljc0NNhdVeorro7vwoULyMzMRFpaGrZs2eLy+8XExCAuLg4nT550edveEBERAY1GY3c11tkxj46Odljv6+vr9A8V7rRkyRLs3LkTn376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",
"text/plain": [
"<Figure size 1000x1200 with 13 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fg = plot_gallery(\n",
" \"Eigen-Histograms\", \n",
" eigenhists.drop('div_bin').set_xindex('expl_var_ratio'),\n",
" row_name='expl_var_ratio'\n",
" #levels=np.logspace(-5, 2, 15),\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b150faa9-e6b1-4ff1-bfe7-c80ecb91b86a",
"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.10.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment