Created
June 4, 2021 03:31
-
-
Save rabernat/dde8b835bb7ef0590b6bf4034d5e0b2f to your computer and use it in GitHub Desktop.
CloudFilesStore for Zarr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"id": "twelve-minneapolis", | |
"metadata": {}, | |
"source": [ | |
"# CloudFiles Zarr Store Demo" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "crazy-rogers", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from collections.abc import MutableMapping\n", | |
"from cloudfiles import CloudFiles\n", | |
"\n", | |
"class CloudFilesMapper:\n", | |
" \n", | |
" def __init__(self, path, **kwargs):\n", | |
" self.cf = CloudFiles(path, **kwargs)\n", | |
" \n", | |
" def clear(self):\n", | |
" self.cf.delete(self.cf.list())\n", | |
" \n", | |
" def getitems(self, keys, on_error=\"none\"):\n", | |
" return {item['path']: item['content'] for item in self.cf.get(keys, raw=True)}\n", | |
" \n", | |
" def setitems(self, values_dict):\n", | |
" self.cf.puts([(k, v) for k, v in values_dict.items()])\n", | |
" \n", | |
" def delitems(self, keys):\n", | |
" self.cf.delete(keys)\n", | |
" \n", | |
" def __getitem__(self, key):\n", | |
" return self.cf.get(key)\n", | |
" \n", | |
" def __setitem__(self, key, value):\n", | |
" self.cf.put(key, value)\n", | |
" \n", | |
" def __iter__(self):\n", | |
" for item in self.cf.list():\n", | |
" yield item\n", | |
"\n", | |
" def __len__(self):\n", | |
" raise NotImplementedError\n", | |
"\n", | |
" def __delitem__(self, key):\n", | |
" self.cf.delete(key)\n", | |
"\n", | |
" def __contains__(self, key):\n", | |
" return self.cf.exists(key)\n", | |
"\n", | |
" def listdir(self, key):\n", | |
" for item in self.cf.list(key):\n", | |
" yield item.lstrip(key).lstrip('/')\n", | |
" \n", | |
" def rmdir(self, prefix):\n", | |
" self.cf.delete(self.cf.list(prefix=prefix))\n", | |
" \n", | |
" #def keys(self):\n", | |
" # return list(self.__iter__())" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "apart-young", | |
"metadata": {}, | |
"source": [ | |
"## Read from GCS" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "intimate-moses", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import zarr\n", | |
"import xarray as xr\n", | |
"from dask.diagnostics import ProgressBar\n", | |
"\n", | |
"url = 'gs://cmip6/CMIP6/CMIP/NCAR/CESM2/historical/r10i1p1f1/day/tas/gn/v20190313/'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "scenic-senate", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\u001b[1;93mUsing default Google credentials. There is no ~/.cloudvolume/secrets/google-secret.json set.\u001b[m\n", | |
"\u001b[1;93m\n", | |
" Warning: Environment variable GOOGLE_APPLICATION_CREDENTIALS is not set.\n", | |
" google-cloud-python might not find your credentials. Your credentials\n", | |
" might be located in $HOME/.config/gcloud/legacy_credentials/$YOUR_GMAIL/adc.json\n", | |
"\n", | |
" If they are you can export your credentials like so:\n", | |
" export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME/.config/gcloud/legacy_credentials/$YOUR_GMAIL/adc.json\"\n", | |
" \u001b[m\n", | |
"Name : /\n", | |
"Type : zarr.hierarchy.Group\n", | |
"Read-only : False\n", | |
"Store type : zarr.storage.ConsolidatedMetadataStore\n", | |
"Chunk store type : __main__.CloudFilesMapper\n", | |
"No. members : 7\n", | |
"No. arrays : 7\n", | |
"No. groups : 0\n", | |
"Arrays : lat, lat_bnds, lon, lon_bnds, tas, time, time_bnds\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"zgroup = zarr.open_consolidated(CloudFilesMapper(url))\n", | |
"print(zgroup.info)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "about-sampling", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<table class=\"zarr-info\"><tbody><tr><th style=\"text-align: left\">Name</th><td style=\"text-align: left\">/tas</td></tr><tr><th style=\"text-align: left\">Type</th><td style=\"text-align: left\">zarr.core.Array</td></tr><tr><th style=\"text-align: left\">Data type</th><td style=\"text-align: left\">float32</td></tr><tr><th style=\"text-align: left\">Shape</th><td style=\"text-align: left\">(60226, 192, 288)</td></tr><tr><th style=\"text-align: left\">Chunk shape</th><td style=\"text-align: left\">(397, 192, 288)</td></tr><tr><th style=\"text-align: left\">Order</th><td style=\"text-align: left\">C</td></tr><tr><th style=\"text-align: left\">Read-only</th><td style=\"text-align: left\">False</td></tr><tr><th style=\"text-align: left\">Compressor</th><td style=\"text-align: left\">Blosc(cname='lz4', clevel=5, shuffle=SHUFFLE, blocksize=0)</td></tr><tr><th style=\"text-align: left\">Store type</th><td style=\"text-align: left\">zarr.storage.ConsolidatedMetadataStore</td></tr><tr><th style=\"text-align: left\">Chunk store type</th><td style=\"text-align: left\">__main__.CloudFilesMapper</td></tr><tr><th style=\"text-align: left\">No. bytes</th><td style=\"text-align: left\">13321027584 (12.4G)</td></tr><tr><th style=\"text-align: left\">Chunks initialized</th><td style=\"text-align: left\">152/152</td></tr></tbody></table>" | |
], | |
"text/plain": [ | |
"Name : /tas\n", | |
"Type : zarr.core.Array\n", | |
"Data type : float32\n", | |
"Shape : (60226, 192, 288)\n", | |
"Chunk shape : (397, 192, 288)\n", | |
"Order : C\n", | |
"Read-only : False\n", | |
"Compressor : Blosc(cname='lz4', clevel=5, shuffle=SHUFFLE, blocksize=0)\n", | |
"Store type : zarr.storage.ConsolidatedMetadataStore\n", | |
"Chunk store type : __main__.CloudFilesMapper\n", | |
"No. bytes : 13321027584 (12.4G)\n", | |
"Chunks initialized : 152/152" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"array = zgroup['tas']\n", | |
"array.info" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "designed-wilderness", | |
"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.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;\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-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", | |
" 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", | |
" 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-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-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", | |
" 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'><xarray.Dataset>\n", | |
"Dimensions: (lat: 192, lon: 288, nbnd: 2, time: 60226)\n", | |
"Coordinates:\n", | |
" * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", | |
" lat_bnds (lat, nbnd) float64 dask.array<chunksize=(192, 2), meta=np.ndarray>\n", | |
" * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", | |
" lon_bnds (lon, nbnd) float64 dask.array<chunksize=(288, 2), meta=np.ndarray>\n", | |
" * time (time) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", | |
" time_bnds (time, nbnd) object dask.array<chunksize=(30113, 1), meta=np.ndarray>\n", | |
"Dimensions without coordinates: nbnd\n", | |
"Data variables:\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(397, 192, 288), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" Conventions: CF-1.7 CMIP-6.2\n", | |
" activity_id: CMIP\n", | |
" branch_method: standard\n", | |
" branch_time_in_child: 674885.0\n", | |
" branch_time_in_parent: 306600.0\n", | |
" case_id: 24\n", | |
" cesm_casename: b.e21.BHIST.f09_g17.CMIP6-historical.010\n", | |
" contact: [email protected]\n", | |
" creation_date: 2019-03-12T04:46:13Z\n", | |
" data_specs_version: 01.00.29\n", | |
" experiment: Simulation of recent past (1850 to 2014). Impose ...\n", | |
" experiment_id: historical\n", | |
" external_variables: areacella\n", | |
" forcing_index: 1\n", | |
" frequency: day\n", | |
" further_info_url: https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.h...\n", | |
" grid: native 0.9x1.25 finite volume grid (192x288 latxlon)\n", | |
" grid_label: gn\n", | |
" initialization_index: 1\n", | |
" institution: National Center for Atmospheric Research, Climate...\n", | |
" institution_id: NCAR\n", | |
" license: CMIP6 model data produced by <The National Center...\n", | |
" mip_era: CMIP6\n", | |
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n", | |
" nominal_resolution: 100 km\n", | |
" parent_activity_id: CMIP\n", | |
" parent_experiment_id: piControl\n", | |
" parent_mip_era: CMIP6\n", | |
" parent_source_id: CESM2\n", | |
" parent_time_units: days since 0001-01-01 00:00:00\n", | |
" parent_variant_label: r1i1p1f1\n", | |
" physics_index: 1\n", | |
" product: model-output\n", | |
" realization_index: 10\n", | |
" realm: atmos\n", | |
" source: CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite v...\n", | |
" source_id: CESM2\n", | |
" source_type: AOGCM BGC\n", | |
" sub_experiment: none\n", | |
" sub_experiment_id: none\n", | |
" table_id: day\n", | |
" tracking_id: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" variable_id: tas\n", | |
" variant_info: CMIP6 20th century experiments (1850-2014) with C...\n", | |
" variant_label: r10i1p1f1\n", | |
" status: 2019-11-04;created;by [email protected]\n", | |
" netcdf_tracking_ids: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" version_id: v20190313</pre><div class='xr-wrap' hidden><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-d321ad6e-9678-48cd-87d4-e568e8e7a2ae' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d321ad6e-9678-48cd-87d4-e568e8e7a2ae' 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'>lat</span>: 192</li><li><span class='xr-has-index'>lon</span>: 288</li><li><span>nbnd</span>: 2</li><li><span class='xr-has-index'>time</span>: 60226</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-5f58c81f-f0a9-4160-a0e4-985a46611c72' class='xr-section-summary-in' type='checkbox' checked><label for='section-5f58c81f-f0a9-4160-a0e4-985a46611c72' class='xr-section-summary' >Coordinates: <span>(6)</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'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-90.0 -89.06 -88.12 ... 89.06 90.0</div><input id='attrs-307b2ea9-4c83-4647-a95b-d1a4f27058c3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-307b2ea9-4c83-4647-a95b-d1a4f27058c3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4826fd90-bb01-492b-9237-95101f15455d' class='xr-var-data-in' type='checkbox'><label for='data-4826fd90-bb01-492b-9237-95101f15455d' 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>axis :</span></dt><dd>Y</dd><dt><span>bounds :</span></dt><dd>lat_bnds</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>title :</span></dt><dd>Latitude</dd><dt><span>type :</span></dt><dd>double</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>valid_max :</span></dt><dd>90.0</dd><dt><span>valid_min :</span></dt><dd>-90.0</dd></dl></div><div class='xr-var-data'><pre>array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,\n", | |
" -84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,\n", | |
" -78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,\n", | |
" -73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,\n", | |
" -67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,\n", | |
" -61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,\n", | |
" -56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,\n", | |
" -50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,\n", | |
" -44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,\n", | |
" -39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,\n", | |
" -33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,\n", | |
" -27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,\n", | |
" -22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,\n", | |
" -16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,\n", | |
" -10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,\n", | |
" -5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,\n", | |
" 0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,\n", | |
" 6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,\n", | |
" 11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,\n", | |
" 17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,\n", | |
" 23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,\n", | |
" 28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,\n", | |
" 34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,\n", | |
" 40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,\n", | |
" 45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,\n", | |
" 51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,\n", | |
" 57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,\n", | |
" 62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,\n", | |
" 68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,\n", | |
" 73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,\n", | |
" 79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,\n", | |
" 85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lat_bnds</span></div><div class='xr-var-dims'>(lat, nbnd)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(192, 2), meta=np.ndarray></div><input id='attrs-b4502b97-ebde-4088-aae2-ab51458c0c64' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b4502b97-ebde-4088-aae2-ab51458c0c64' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f7067094-2b9b-4bea-852f-5d47e37a8bb3' class='xr-var-data-in' type='checkbox'><label for='data-f7067094-2b9b-4bea-852f-5d47e37a8bb3' 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>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 3.07 kB </td> <td> 3.07 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (192, 2) </td> <td> (192, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.60913412115106,0.0 25.60913412115106,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.804567\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.609134\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.609134,60.000000)\">192</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'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 1.25 2.5 ... 356.2 357.5 358.8</div><input id='attrs-43344833-3df1-4140-ab2d-b742cdd7db40' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-43344833-3df1-4140-ab2d-b742cdd7db40' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-baab6633-a4a7-4a13-941a-de586b9523d7' class='xr-var-data-in' type='checkbox'><label for='data-baab6633-a4a7-4a13-941a-de586b9523d7' 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>axis :</span></dt><dd>X</dd><dt><span>bounds :</span></dt><dd>lon_bnds</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>title :</span></dt><dd>Longitude</dd><dt><span>type :</span></dt><dd>double</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>valid_max :</span></dt><dd>360.0</dd><dt><span>valid_min :</span></dt><dd>0.0</dd></dl></div><div class='xr-var-data'><pre>array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lon_bnds</span></div><div class='xr-var-dims'>(lon, nbnd)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(288, 2), meta=np.ndarray></div><input id='attrs-cfcf3b44-67ab-45f9-a752-2059a8cdaa1b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-cfcf3b44-67ab-45f9-a752-2059a8cdaa1b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8b28892e-6fc3-4b5f-b0ea-5223c012145f' class='xr-var-data-in' type='checkbox'><label for='data-8b28892e-6fc3-4b5f-b0ea-5223c012145f' 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>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 4.61 kB </td> <td> 4.61 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (288, 2) </td> <td> (288, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">288</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'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1850-01-01 00:00:00 ... 2015-01-...</div><input id='attrs-37a1ee53-4001-48a1-88e2-648ec0b375fb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-37a1ee53-4001-48a1-88e2-648ec0b375fb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1762e1ca-5899-40cd-8996-83f7c28d88c9' class='xr-var-data-in' type='checkbox'><label for='data-1762e1ca-5899-40cd-8996-83f7c28d88c9' 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>axis :</span></dt><dd>T</dd><dt><span>bounds :</span></dt><dd>time_bnds</dd><dt><span>standard_name :</span></dt><dd>time</dd><dt><span>title :</span></dt><dd>time</dd><dt><span>type :</span></dt><dd>double</dd></dl></div><div class='xr-var-data'><pre>array([cftime.DatetimeNoLeap(1850, 1, 1, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1850, 1, 2, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1850, 1, 3, 0, 0, 0, 0), ...,\n", | |
" cftime.DatetimeNoLeap(2014, 12, 30, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(2014, 12, 31, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(2015, 1, 1, 0, 0, 0, 0)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>time_bnds</span></div><div class='xr-var-dims'>(time, nbnd)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(30113, 1), meta=np.ndarray></div><input id='attrs-7cacaf88-8bed-4505-b7df-02b45a2cf5b5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7cacaf88-8bed-4505-b7df-02b45a2cf5b5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fa331743-d4f7-44ab-a5d4-3192f5836833' class='xr-var-data-in' type='checkbox'><label for='data-fa331743-d4f7-44ab-a5d4-3192f5836833' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 963.62 kB </td> <td> 240.90 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (60226, 2) </td> <td> (30113, 1) </td></tr>\n", | |
" <tr><th> Count </th><td> 5 Tasks </td><td> 4 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> object </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"60\" x2=\"25\" y2=\"60\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">60226</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-658c6d7d-b7c2-4d8e-8e8d-1c61cb8bb4bd' class='xr-section-summary-in' type='checkbox' checked><label for='section-658c6d7d-b7c2-4d8e-8e8d-1c61cb8bb4bd' 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>tas</span></div><div class='xr-var-dims'>(time, lat, lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(397, 192, 288), meta=np.ndarray></div><input id='attrs-1dd4d48e-6695-4cde-824e-b694b8ece60e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1dd4d48e-6695-4cde-824e-b694b8ece60e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3688f2e9-8e92-4d8a-a6bf-1b93c5545039' class='xr-var-data-in' type='checkbox'><label for='data-3688f2e9-8e92-4d8a-a6bf-1b93c5545039' 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>cell_measures :</span></dt><dd>area: areacella</dd><dt><span>cell_methods :</span></dt><dd>area: time: mean</dd><dt><span>comment :</span></dt><dd>near-surface (usually, 2 meter) air temperature</dd><dt><span>description :</span></dt><dd>near-surface (usually, 2 meter) air temperature</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>id :</span></dt><dd>tas</dd><dt><span>long_name :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>mipTable :</span></dt><dd>day</dd><dt><span>out_name :</span></dt><dd>tas</dd><dt><span>prov :</span></dt><dd>day ((isd.003))</dd><dt><span>realm :</span></dt><dd>atmos</dd><dt><span>standard_name :</span></dt><dd>air_temperature</dd><dt><span>time :</span></dt><dd>time</dd><dt><span>time_label :</span></dt><dd>time-mean</dd><dt><span>time_title :</span></dt><dd>Temporal mean</dd><dt><span>title :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>type :</span></dt><dd>real</dd><dt><span>units :</span></dt><dd>K</dd><dt><span>variable_id :</span></dt><dd>tas</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 13.32 GB </td> <td> 87.81 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (60226, 192, 288) </td> <td> (397, 192, 288) </td></tr>\n", | |
" <tr><th> Count </th><td> 153 Tasks </td><td> 152 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float32 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"29\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"32\" />\n", | |
" <line x1=\"21\" y1=\"11\" x2=\"21\" y2=\"36\" />\n", | |
" <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" />\n", | |
" <line x1=\"28\" y1=\"18\" x2=\"28\" y2=\"44\" />\n", | |
" <line x1=\"32\" y1=\"22\" x2=\"32\" y2=\"47\" />\n", | |
" <line x1=\"36\" y1=\"26\" x2=\"36\" y2=\"51\" />\n", | |
" <line x1=\"39\" y1=\"29\" x2=\"39\" y2=\"55\" />\n", | |
" <line x1=\"43\" y1=\"33\" x2=\"43\" y2=\"58\" />\n", | |
" <line x1=\"47\" y1=\"37\" x2=\"47\" y2=\"62\" />\n", | |
" <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"66\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"54\" y2=\"70\" />\n", | |
" <line x1=\"58\" y1=\"48\" x2=\"58\" y2=\"73\" />\n", | |
" <line x1=\"62\" y1=\"52\" x2=\"62\" y2=\"77\" />\n", | |
" <line x1=\"65\" y1=\"55\" x2=\"65\" y2=\"81\" />\n", | |
" <line x1=\"69\" y1=\"59\" x2=\"69\" y2=\"84\" />\n", | |
" <line x1=\"73\" y1=\"63\" x2=\"73\" y2=\"88\" />\n", | |
" <line x1=\"77\" y1=\"67\" x2=\"77\" y2=\"92\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"13\" y1=\"3\" x2=\"39\" y2=\"3\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"42\" y2=\"7\" />\n", | |
" <line x1=\"21\" y1=\"11\" x2=\"46\" y2=\"11\" />\n", | |
" <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" />\n", | |
" <line x1=\"28\" y1=\"18\" x2=\"54\" y2=\"18\" />\n", | |
" <line x1=\"32\" y1=\"22\" x2=\"57\" y2=\"22\" />\n", | |
" <line x1=\"36\" y1=\"26\" x2=\"61\" y2=\"26\" />\n", | |
" <line x1=\"39\" y1=\"29\" x2=\"65\" y2=\"29\" />\n", | |
" <line x1=\"43\" y1=\"33\" x2=\"68\" y2=\"33\" />\n", | |
" <line x1=\"47\" y1=\"37\" x2=\"72\" y2=\"37\" />\n", | |
" <line x1=\"50\" y1=\"40\" x2=\"76\" y2=\"40\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"80\" y2=\"44\" />\n", | |
" <line x1=\"58\" y1=\"48\" x2=\"83\" y2=\"48\" />\n", | |
" <line x1=\"62\" y1=\"52\" x2=\"87\" y2=\"52\" />\n", | |
" <line x1=\"65\" y1=\"55\" x2=\"91\" y2=\"55\" />\n", | |
" <line x1=\"69\" y1=\"59\" x2=\"94\" y2=\"59\" />\n", | |
" <line x1=\"73\" y1=\"63\" x2=\"98\" y2=\"63\" />\n", | |
" <line x1=\"77\" y1=\"67\" x2=\"102\" y2=\"67\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"35\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 35.41261651458248,0.0 106.00085180870013,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"80.58823529411765,70.58823529411765 106.00085180870013,70.58823529411765 106.00085180870013,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.294544\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >288</text>\n", | |
" <text x=\"126.000852\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,126.000852,83.294544)\">192</text>\n", | |
" <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">60226</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-0175cd10-01ed-42a9-b85c-5d01c751abce' class='xr-section-summary-in' type='checkbox' ><label for='section-0175cd10-01ed-42a9-b85c-5d01c751abce' class='xr-section-summary' >Attributes: <span>(48)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.7 CMIP-6.2</dd><dt><span>activity_id :</span></dt><dd>CMIP</dd><dt><span>branch_method :</span></dt><dd>standard</dd><dt><span>branch_time_in_child :</span></dt><dd>674885.0</dd><dt><span>branch_time_in_parent :</span></dt><dd>306600.0</dd><dt><span>case_id :</span></dt><dd>24</dd><dt><span>cesm_casename :</span></dt><dd>b.e21.BHIST.f09_g17.CMIP6-historical.010</dd><dt><span>contact :</span></dt><dd>[email protected]</dd><dt><span>creation_date :</span></dt><dd>2019-03-12T04:46:13Z</dd><dt><span>data_specs_version :</span></dt><dd>01.00.29</dd><dt><span>experiment :</span></dt><dd>Simulation of recent past (1850 to 2014). Impose changing conditions (consistent with observations). Should be initialised from a point early enough in the pre-industrial control run to ensure that the end of all the perturbed runs branching from the end of this historical run end before the end of the control. Only one ensemble member is requested but modelling groups are strongly encouraged to submit at least three ensemble members of their CMIP historical simulation. </dd><dt><span>experiment_id :</span></dt><dd>historical</dd><dt><span>external_variables :</span></dt><dd>areacella</dd><dt><span>forcing_index :</span></dt><dd>1</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>further_info_url :</span></dt><dd>https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.historical.none.r10i1p1f1</dd><dt><span>grid :</span></dt><dd>native 0.9x1.25 finite volume grid (192x288 latxlon)</dd><dt><span>grid_label :</span></dt><dd>gn</dd><dt><span>initialization_index :</span></dt><dd>1</dd><dt><span>institution :</span></dt><dd>National Center for Atmospheric Research, Climate and Global Dynamics Laboratory, 1850 Table Mesa Drive, Boulder, CO 80305, USA</dd><dt><span>institution_id :</span></dt><dd>NCAR</dd><dt><span>license :</span></dt><dd>CMIP6 model data produced by <The National Center for Atmospheric Research> is licensed under a Creative Commons Attribution-[]ShareAlike 4.0 International License (https://creativecommons.org/licenses/). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file)[]. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.</dd><dt><span>mip_era :</span></dt><dd>CMIP6</dd><dt><span>model_doi_url :</span></dt><dd>https://doi.org/10.5065/D67H1H0V</dd><dt><span>nominal_resolution :</span></dt><dd>100 km</dd><dt><span>parent_activity_id :</span></dt><dd>CMIP</dd><dt><span>parent_experiment_id :</span></dt><dd>piControl</dd><dt><span>parent_mip_era :</span></dt><dd>CMIP6</dd><dt><span>parent_source_id :</span></dt><dd>CESM2</dd><dt><span>parent_time_units :</span></dt><dd>days since 0001-01-01 00:00:00</dd><dt><span>parent_variant_label :</span></dt><dd>r1i1p1f1</dd><dt><span>physics_index :</span></dt><dd>1</dd><dt><span>product :</span></dt><dd>model-output</dd><dt><span>realization_index :</span></dt><dd>10</dd><dt><span>realm :</span></dt><dd>atmos</dd><dt><span>source :</span></dt><dd>CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); ocean: POP2 (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m); sea_ice: CICE5.1 (same grid as ocean); land: CLM5 0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); aerosol: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); atmoschem: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); landIce: CISM2.1; ocnBgchem: MARBL (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m)</dd><dt><span>source_id :</span></dt><dd>CESM2</dd><dt><span>source_type :</span></dt><dd>AOGCM BGC</dd><dt><span>sub_experiment :</span></dt><dd>none</dd><dt><span>sub_experiment_id :</span></dt><dd>none</dd><dt><span>table_id :</span></dt><dd>day</dd><dt><span>tracking_id :</span></dt><dd>hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592</dd><dt><span>variable_id :</span></dt><dd>tas</dd><dt><span>variant_info :</span></dt><dd>CMIP6 20th century experiments (1850-2014) with CAM6, interactive land (CLM5), coupled ocean (POP2) with biogeochemistry (MARBL), interactive sea ice (CICE5.1), and non-evolving land ice (CISM2.1)\r\n", | |
"</dd><dt><span>variant_label :</span></dt><dd>r10i1p1f1</dd><dt><span>status :</span></dt><dd>2019-11-04;created;by [email protected]</dd><dt><span>netcdf_tracking_ids :</span></dt><dd>hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592</dd><dt><span>version_id :</span></dt><dd>v20190313</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (lat: 192, lon: 288, nbnd: 2, time: 60226)\n", | |
"Coordinates:\n", | |
" * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", | |
" lat_bnds (lat, nbnd) float64 dask.array<chunksize=(192, 2), meta=np.ndarray>\n", | |
" * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", | |
" lon_bnds (lon, nbnd) float64 dask.array<chunksize=(288, 2), meta=np.ndarray>\n", | |
" * time (time) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", | |
" time_bnds (time, nbnd) object dask.array<chunksize=(30113, 1), meta=np.ndarray>\n", | |
"Dimensions without coordinates: nbnd\n", | |
"Data variables:\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(397, 192, 288), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" Conventions: CF-1.7 CMIP-6.2\n", | |
" activity_id: CMIP\n", | |
" branch_method: standard\n", | |
" branch_time_in_child: 674885.0\n", | |
" branch_time_in_parent: 306600.0\n", | |
" case_id: 24\n", | |
" cesm_casename: b.e21.BHIST.f09_g17.CMIP6-historical.010\n", | |
" contact: [email protected]\n", | |
" creation_date: 2019-03-12T04:46:13Z\n", | |
" data_specs_version: 01.00.29\n", | |
" experiment: Simulation of recent past (1850 to 2014). Impose ...\n", | |
" experiment_id: historical\n", | |
" external_variables: areacella\n", | |
" forcing_index: 1\n", | |
" frequency: day\n", | |
" further_info_url: https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.h...\n", | |
" grid: native 0.9x1.25 finite volume grid (192x288 latxlon)\n", | |
" grid_label: gn\n", | |
" initialization_index: 1\n", | |
" institution: National Center for Atmospheric Research, Climate...\n", | |
" institution_id: NCAR\n", | |
" license: CMIP6 model data produced by <The National Center...\n", | |
" mip_era: CMIP6\n", | |
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n", | |
" nominal_resolution: 100 km\n", | |
" parent_activity_id: CMIP\n", | |
" parent_experiment_id: piControl\n", | |
" parent_mip_era: CMIP6\n", | |
" parent_source_id: CESM2\n", | |
" parent_time_units: days since 0001-01-01 00:00:00\n", | |
" parent_variant_label: r1i1p1f1\n", | |
" physics_index: 1\n", | |
" product: model-output\n", | |
" realization_index: 10\n", | |
" realm: atmos\n", | |
" source: CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite v...\n", | |
" source_id: CESM2\n", | |
" source_type: AOGCM BGC\n", | |
" sub_experiment: none\n", | |
" sub_experiment_id: none\n", | |
" table_id: day\n", | |
" tracking_id: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" variable_id: tas\n", | |
" variant_info: CMIP6 20th century experiments (1850-2014) with C...\n", | |
" variant_label: r10i1p1f1\n", | |
" status: 2019-11-04;created;by [email protected]\n", | |
" netcdf_tracking_ids: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" version_id: v20190313" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ds = xr.open_zarr(CloudFilesMapper(url), consolidated=True)\n", | |
"ds" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"id": "proof-society", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<table style=\"border: 2px solid white;\">\n", | |
"<tr>\n", | |
"<td style=\"vertical-align: top; border: 0px solid white\">\n", | |
"<h3 style=\"text-align: left;\">Client</h3>\n", | |
"<ul style=\"text-align: left; list-style: none; margin: 0; padding: 0;\">\n", | |
" <li><b>Scheduler: </b>tcp://127.0.0.1:33793</li>\n", | |
" <li><b>Dashboard: </b><a href='/user/rabernat/proxy/8787/status' target='_blank'>/user/rabernat/proxy/8787/status</a></li>\n", | |
"</ul>\n", | |
"</td>\n", | |
"<td style=\"vertical-align: top; border: 0px solid white\">\n", | |
"<h3 style=\"text-align: left;\">Cluster</h3>\n", | |
"<ul style=\"text-align: left; list-style:none; margin: 0; padding: 0;\">\n", | |
" <li><b>Workers: </b>2</li>\n", | |
" <li><b>Cores: </b>4</li>\n", | |
" <li><b>Memory: </b>8.59 GB</li>\n", | |
"</ul>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table>" | |
], | |
"text/plain": [ | |
"<Client: 'tcp://127.0.0.1:33793' processes=2 threads=4, memory=8.59 GB>" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"from dask.distributed import Client, LocalCluster\n", | |
"client = Client(n_workers=2, threads_per_worker=2)\n", | |
"client" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"id": "ordered-option", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"CPU times: user 9.7 s, sys: 1.45 s, total: 11.2 s\n", | |
"Wall time: 2min 6s\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f61b69d8580>]" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%time tas = ds.tas.mean(dim=('lon', 'lat')).compute()\n", | |
"tas.plot()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "elect-medline", | |
"metadata": {}, | |
"source": [ | |
"### Compare distributed speed to GCS" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"id": "turned-drunk", | |
"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.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;\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-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", | |
" 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", | |
" 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-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-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", | |
" 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'><xarray.Dataset>\n", | |
"Dimensions: (lat: 192, lon: 288, nbnd: 2, time: 60226)\n", | |
"Coordinates:\n", | |
" * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", | |
" lat_bnds (lat, nbnd) float64 dask.array<chunksize=(192, 2), meta=np.ndarray>\n", | |
" * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", | |
" lon_bnds (lon, nbnd) float64 dask.array<chunksize=(288, 2), meta=np.ndarray>\n", | |
" * time (time) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", | |
" time_bnds (time, nbnd) object dask.array<chunksize=(30113, 1), meta=np.ndarray>\n", | |
"Dimensions without coordinates: nbnd\n", | |
"Data variables:\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(397, 192, 288), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" Conventions: CF-1.7 CMIP-6.2\n", | |
" activity_id: CMIP\n", | |
" branch_method: standard\n", | |
" branch_time_in_child: 674885.0\n", | |
" branch_time_in_parent: 306600.0\n", | |
" case_id: 24\n", | |
" cesm_casename: b.e21.BHIST.f09_g17.CMIP6-historical.010\n", | |
" contact: [email protected]\n", | |
" creation_date: 2019-03-12T04:46:13Z\n", | |
" data_specs_version: 01.00.29\n", | |
" experiment: Simulation of recent past (1850 to 2014). Impose ...\n", | |
" experiment_id: historical\n", | |
" external_variables: areacella\n", | |
" forcing_index: 1\n", | |
" frequency: day\n", | |
" further_info_url: https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.h...\n", | |
" grid: native 0.9x1.25 finite volume grid (192x288 latxlon)\n", | |
" grid_label: gn\n", | |
" initialization_index: 1\n", | |
" institution: National Center for Atmospheric Research, Climate...\n", | |
" institution_id: NCAR\n", | |
" license: CMIP6 model data produced by <The National Center...\n", | |
" mip_era: CMIP6\n", | |
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n", | |
" nominal_resolution: 100 km\n", | |
" parent_activity_id: CMIP\n", | |
" parent_experiment_id: piControl\n", | |
" parent_mip_era: CMIP6\n", | |
" parent_source_id: CESM2\n", | |
" parent_time_units: days since 0001-01-01 00:00:00\n", | |
" parent_variant_label: r1i1p1f1\n", | |
" physics_index: 1\n", | |
" product: model-output\n", | |
" realization_index: 10\n", | |
" realm: atmos\n", | |
" source: CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite v...\n", | |
" source_id: CESM2\n", | |
" source_type: AOGCM BGC\n", | |
" sub_experiment: none\n", | |
" sub_experiment_id: none\n", | |
" table_id: day\n", | |
" tracking_id: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" variable_id: tas\n", | |
" variant_info: CMIP6 20th century experiments (1850-2014) with C...\n", | |
" variant_label: r10i1p1f1\n", | |
" status: 2019-11-04;created;by [email protected]\n", | |
" netcdf_tracking_ids: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" version_id: v20190313</pre><div class='xr-wrap' hidden><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-245468d4-243d-4cfb-8901-b2fbca09e51d' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-245468d4-243d-4cfb-8901-b2fbca09e51d' 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'>lat</span>: 192</li><li><span class='xr-has-index'>lon</span>: 288</li><li><span>nbnd</span>: 2</li><li><span class='xr-has-index'>time</span>: 60226</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-e59d7953-2cd8-408d-9d0d-f7fa29cb027d' class='xr-section-summary-in' type='checkbox' checked><label for='section-e59d7953-2cd8-408d-9d0d-f7fa29cb027d' class='xr-section-summary' >Coordinates: <span>(6)</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'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-90.0 -89.06 -88.12 ... 89.06 90.0</div><input id='attrs-5efdcbc0-7d0f-49f0-8713-5a1a4719687b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5efdcbc0-7d0f-49f0-8713-5a1a4719687b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-08b821e0-4826-4d5b-baf8-c41445615d34' class='xr-var-data-in' type='checkbox'><label for='data-08b821e0-4826-4d5b-baf8-c41445615d34' 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>axis :</span></dt><dd>Y</dd><dt><span>bounds :</span></dt><dd>lat_bnds</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>title :</span></dt><dd>Latitude</dd><dt><span>type :</span></dt><dd>double</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>valid_max :</span></dt><dd>90.0</dd><dt><span>valid_min :</span></dt><dd>-90.0</dd></dl></div><div class='xr-var-data'><pre>array([-90. , -89.057592, -88.115183, -87.172775, -86.230366, -85.287958,\n", | |
" -84.34555 , -83.403141, -82.460733, -81.518325, -80.575916, -79.633508,\n", | |
" -78.691099, -77.748691, -76.806283, -75.863874, -74.921466, -73.979058,\n", | |
" -73.036649, -72.094241, -71.151832, -70.209424, -69.267016, -68.324607,\n", | |
" -67.382199, -66.439791, -65.497382, -64.554974, -63.612565, -62.670157,\n", | |
" -61.727749, -60.78534 , -59.842932, -58.900524, -57.958115, -57.015707,\n", | |
" -56.073298, -55.13089 , -54.188482, -53.246073, -52.303665, -51.361257,\n", | |
" -50.418848, -49.47644 , -48.534031, -47.591623, -46.649215, -45.706806,\n", | |
" -44.764398, -43.82199 , -42.879581, -41.937173, -40.994764, -40.052356,\n", | |
" -39.109948, -38.167539, -37.225131, -36.282723, -35.340314, -34.397906,\n", | |
" -33.455497, -32.513089, -31.570681, -30.628272, -29.685864, -28.743455,\n", | |
" -27.801047, -26.858639, -25.91623 , -24.973822, -24.031414, -23.089005,\n", | |
" -22.146597, -21.204188, -20.26178 , -19.319372, -18.376963, -17.434555,\n", | |
" -16.492147, -15.549738, -14.60733 , -13.664921, -12.722513, -11.780105,\n", | |
" -10.837696, -9.895288, -8.95288 , -8.010471, -7.068063, -6.125654,\n", | |
" -5.183246, -4.240838, -3.298429, -2.356021, -1.413613, -0.471204,\n", | |
" 0.471204, 1.413613, 2.356021, 3.298429, 4.240838, 5.183246,\n", | |
" 6.125654, 7.068063, 8.010471, 8.95288 , 9.895288, 10.837696,\n", | |
" 11.780105, 12.722513, 13.664921, 14.60733 , 15.549738, 16.492147,\n", | |
" 17.434555, 18.376963, 19.319372, 20.26178 , 21.204188, 22.146597,\n", | |
" 23.089005, 24.031414, 24.973822, 25.91623 , 26.858639, 27.801047,\n", | |
" 28.743455, 29.685864, 30.628272, 31.570681, 32.513089, 33.455497,\n", | |
" 34.397906, 35.340314, 36.282723, 37.225131, 38.167539, 39.109948,\n", | |
" 40.052356, 40.994764, 41.937173, 42.879581, 43.82199 , 44.764398,\n", | |
" 45.706806, 46.649215, 47.591623, 48.534031, 49.47644 , 50.418848,\n", | |
" 51.361257, 52.303665, 53.246073, 54.188482, 55.13089 , 56.073298,\n", | |
" 57.015707, 57.958115, 58.900524, 59.842932, 60.78534 , 61.727749,\n", | |
" 62.670157, 63.612565, 64.554974, 65.497382, 66.439791, 67.382199,\n", | |
" 68.324607, 69.267016, 70.209424, 71.151832, 72.094241, 73.036649,\n", | |
" 73.979058, 74.921466, 75.863874, 76.806283, 77.748691, 78.691099,\n", | |
" 79.633508, 80.575916, 81.518325, 82.460733, 83.403141, 84.34555 ,\n", | |
" 85.287958, 86.230366, 87.172775, 88.115183, 89.057592, 90. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lat_bnds</span></div><div class='xr-var-dims'>(lat, nbnd)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(192, 2), meta=np.ndarray></div><input id='attrs-72ff34fd-811a-4f7f-9998-b7d96fb9bedf' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-72ff34fd-811a-4f7f-9998-b7d96fb9bedf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6c341e23-4e49-4f07-ac41-0887c282c7c3' class='xr-var-data-in' type='checkbox'><label for='data-6c341e23-4e49-4f07-ac41-0887c282c7c3' 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>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 3.07 kB </td> <td> 3.07 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (192, 2) </td> <td> (192, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.60913412115106,0.0 25.60913412115106,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.804567\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.609134\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.609134,60.000000)\">192</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'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 1.25 2.5 ... 356.2 357.5 358.8</div><input id='attrs-0a252d04-73ea-479d-ae4d-fb0f6d65fcc5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0a252d04-73ea-479d-ae4d-fb0f6d65fcc5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-220ddcdc-7247-4709-882a-583e003b18b1' class='xr-var-data-in' type='checkbox'><label for='data-220ddcdc-7247-4709-882a-583e003b18b1' 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>axis :</span></dt><dd>X</dd><dt><span>bounds :</span></dt><dd>lon_bnds</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>title :</span></dt><dd>Longitude</dd><dt><span>type :</span></dt><dd>double</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>valid_max :</span></dt><dd>360.0</dd><dt><span>valid_min :</span></dt><dd>0.0</dd></dl></div><div class='xr-var-data'><pre>array([ 0. , 1.25, 2.5 , ..., 356.25, 357.5 , 358.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>lon_bnds</span></div><div class='xr-var-dims'>(lon, nbnd)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(288, 2), meta=np.ndarray></div><input id='attrs-f0389885-3296-4f5b-9833-4d5108ea0d01' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f0389885-3296-4f5b-9833-4d5108ea0d01' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c985dbed-3cd8-4b96-8c32-9720edf879bc' class='xr-var-data-in' type='checkbox'><label for='data-c985dbed-3cd8-4b96-8c32-9720edf879bc' 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>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 4.61 kB </td> <td> 4.61 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (288, 2) </td> <td> (288, 2) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">288</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'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1850-01-01 00:00:00 ... 2015-01-...</div><input id='attrs-b5756fae-de8b-4c0b-a70e-d1a5996d323e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b5756fae-de8b-4c0b-a70e-d1a5996d323e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2e311ada-4a39-41b0-9864-15c0fa06015d' class='xr-var-data-in' type='checkbox'><label for='data-2e311ada-4a39-41b0-9864-15c0fa06015d' 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>axis :</span></dt><dd>T</dd><dt><span>bounds :</span></dt><dd>time_bnds</dd><dt><span>standard_name :</span></dt><dd>time</dd><dt><span>title :</span></dt><dd>time</dd><dt><span>type :</span></dt><dd>double</dd></dl></div><div class='xr-var-data'><pre>array([cftime.DatetimeNoLeap(1850, 1, 1, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1850, 1, 2, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1850, 1, 3, 0, 0, 0, 0), ...,\n", | |
" cftime.DatetimeNoLeap(2014, 12, 30, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(2014, 12, 31, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(2015, 1, 1, 0, 0, 0, 0)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>time_bnds</span></div><div class='xr-var-dims'>(time, nbnd)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(30113, 1), meta=np.ndarray></div><input id='attrs-56e3a509-063a-4097-a8d3-85fb331a264d' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-56e3a509-063a-4097-a8d3-85fb331a264d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-93575d7b-be20-4808-a672-9a2579c96a26' class='xr-var-data-in' type='checkbox'><label for='data-93575d7b-be20-4808-a672-9a2579c96a26' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 963.62 kB </td> <td> 240.90 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (60226, 2) </td> <td> (30113, 1) </td></tr>\n", | |
" <tr><th> Count </th><td> 5 Tasks </td><td> 4 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> object </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"75\" height=\"170\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"25\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"0\" y1=\"60\" x2=\"25\" y2=\"60\" />\n", | |
" <line x1=\"0\" y1=\"120\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"12\" y1=\"0\" x2=\"12\" y2=\"120\" />\n", | |
" <line x1=\"25\" y1=\"0\" x2=\"25\" y2=\"120\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 25.412616514582485,0.0 25.412616514582485,120.0 0.0,120.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"12.706308\" y=\"140.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >2</text>\n", | |
" <text x=\"45.412617\" y=\"60.000000\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,45.412617,60.000000)\">60226</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-60fe6919-fa8f-468e-851f-c1c9edf0104a' class='xr-section-summary-in' type='checkbox' checked><label for='section-60fe6919-fa8f-468e-851f-c1c9edf0104a' 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>tas</span></div><div class='xr-var-dims'>(time, lat, lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(397, 192, 288), meta=np.ndarray></div><input id='attrs-b8bb7c44-ebc9-4867-8aaa-e2c7f3091362' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b8bb7c44-ebc9-4867-8aaa-e2c7f3091362' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7fc232c7-b83c-4742-87aa-ac5444d1d3e1' class='xr-var-data-in' type='checkbox'><label for='data-7fc232c7-b83c-4742-87aa-ac5444d1d3e1' 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>cell_measures :</span></dt><dd>area: areacella</dd><dt><span>cell_methods :</span></dt><dd>area: time: mean</dd><dt><span>comment :</span></dt><dd>near-surface (usually, 2 meter) air temperature</dd><dt><span>description :</span></dt><dd>near-surface (usually, 2 meter) air temperature</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>id :</span></dt><dd>tas</dd><dt><span>long_name :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>mipTable :</span></dt><dd>day</dd><dt><span>out_name :</span></dt><dd>tas</dd><dt><span>prov :</span></dt><dd>day ((isd.003))</dd><dt><span>realm :</span></dt><dd>atmos</dd><dt><span>standard_name :</span></dt><dd>air_temperature</dd><dt><span>time :</span></dt><dd>time</dd><dt><span>time_label :</span></dt><dd>time-mean</dd><dt><span>time_title :</span></dt><dd>Temporal mean</dd><dt><span>title :</span></dt><dd>Near-Surface Air Temperature</dd><dt><span>type :</span></dt><dd>real</dd><dt><span>units :</span></dt><dd>K</dd><dt><span>variable_id :</span></dt><dd>tas</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 13.32 GB </td> <td> 87.81 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (60226, 192, 288) </td> <td> (397, 192, 288) </td></tr>\n", | |
" <tr><th> Count </th><td> 153 Tasks </td><td> 152 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float32 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"13\" y1=\"3\" x2=\"13\" y2=\"29\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"32\" />\n", | |
" <line x1=\"21\" y1=\"11\" x2=\"21\" y2=\"36\" />\n", | |
" <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"40\" />\n", | |
" <line x1=\"28\" y1=\"18\" x2=\"28\" y2=\"44\" />\n", | |
" <line x1=\"32\" y1=\"22\" x2=\"32\" y2=\"47\" />\n", | |
" <line x1=\"36\" y1=\"26\" x2=\"36\" y2=\"51\" />\n", | |
" <line x1=\"39\" y1=\"29\" x2=\"39\" y2=\"55\" />\n", | |
" <line x1=\"43\" y1=\"33\" x2=\"43\" y2=\"58\" />\n", | |
" <line x1=\"47\" y1=\"37\" x2=\"47\" y2=\"62\" />\n", | |
" <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"66\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"54\" y2=\"70\" />\n", | |
" <line x1=\"58\" y1=\"48\" x2=\"58\" y2=\"73\" />\n", | |
" <line x1=\"62\" y1=\"52\" x2=\"62\" y2=\"77\" />\n", | |
" <line x1=\"65\" y1=\"55\" x2=\"65\" y2=\"81\" />\n", | |
" <line x1=\"69\" y1=\"59\" x2=\"69\" y2=\"84\" />\n", | |
" <line x1=\"73\" y1=\"63\" x2=\"73\" y2=\"88\" />\n", | |
" <line x1=\"77\" y1=\"67\" x2=\"77\" y2=\"92\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"13\" y1=\"3\" x2=\"39\" y2=\"3\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"42\" y2=\"7\" />\n", | |
" <line x1=\"21\" y1=\"11\" x2=\"46\" y2=\"11\" />\n", | |
" <line x1=\"24\" y1=\"14\" x2=\"50\" y2=\"14\" />\n", | |
" <line x1=\"28\" y1=\"18\" x2=\"54\" y2=\"18\" />\n", | |
" <line x1=\"32\" y1=\"22\" x2=\"57\" y2=\"22\" />\n", | |
" <line x1=\"36\" y1=\"26\" x2=\"61\" y2=\"26\" />\n", | |
" <line x1=\"39\" y1=\"29\" x2=\"65\" y2=\"29\" />\n", | |
" <line x1=\"43\" y1=\"33\" x2=\"68\" y2=\"33\" />\n", | |
" <line x1=\"47\" y1=\"37\" x2=\"72\" y2=\"37\" />\n", | |
" <line x1=\"50\" y1=\"40\" x2=\"76\" y2=\"40\" />\n", | |
" <line x1=\"54\" y1=\"44\" x2=\"80\" y2=\"44\" />\n", | |
" <line x1=\"58\" y1=\"48\" x2=\"83\" y2=\"48\" />\n", | |
" <line x1=\"62\" y1=\"52\" x2=\"87\" y2=\"52\" />\n", | |
" <line x1=\"65\" y1=\"55\" x2=\"91\" y2=\"55\" />\n", | |
" <line x1=\"69\" y1=\"59\" x2=\"94\" y2=\"59\" />\n", | |
" <line x1=\"73\" y1=\"63\" x2=\"98\" y2=\"63\" />\n", | |
" <line x1=\"77\" y1=\"67\" x2=\"102\" y2=\"67\" />\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"35\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 35.41261651458248,0.0 106.00085180870013,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"80.58823529411765,70.58823529411765 106.00085180870013,70.58823529411765 106.00085180870013,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.294544\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >288</text>\n", | |
" <text x=\"126.000852\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,126.000852,83.294544)\">192</text>\n", | |
" <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">60226</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-3af8fd40-9ce1-4c72-938c-ff533446cb64' class='xr-section-summary-in' type='checkbox' ><label for='section-3af8fd40-9ce1-4c72-938c-ff533446cb64' class='xr-section-summary' >Attributes: <span>(48)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.7 CMIP-6.2</dd><dt><span>activity_id :</span></dt><dd>CMIP</dd><dt><span>branch_method :</span></dt><dd>standard</dd><dt><span>branch_time_in_child :</span></dt><dd>674885.0</dd><dt><span>branch_time_in_parent :</span></dt><dd>306600.0</dd><dt><span>case_id :</span></dt><dd>24</dd><dt><span>cesm_casename :</span></dt><dd>b.e21.BHIST.f09_g17.CMIP6-historical.010</dd><dt><span>contact :</span></dt><dd>[email protected]</dd><dt><span>creation_date :</span></dt><dd>2019-03-12T04:46:13Z</dd><dt><span>data_specs_version :</span></dt><dd>01.00.29</dd><dt><span>experiment :</span></dt><dd>Simulation of recent past (1850 to 2014). Impose changing conditions (consistent with observations). Should be initialised from a point early enough in the pre-industrial control run to ensure that the end of all the perturbed runs branching from the end of this historical run end before the end of the control. Only one ensemble member is requested but modelling groups are strongly encouraged to submit at least three ensemble members of their CMIP historical simulation. </dd><dt><span>experiment_id :</span></dt><dd>historical</dd><dt><span>external_variables :</span></dt><dd>areacella</dd><dt><span>forcing_index :</span></dt><dd>1</dd><dt><span>frequency :</span></dt><dd>day</dd><dt><span>further_info_url :</span></dt><dd>https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.historical.none.r10i1p1f1</dd><dt><span>grid :</span></dt><dd>native 0.9x1.25 finite volume grid (192x288 latxlon)</dd><dt><span>grid_label :</span></dt><dd>gn</dd><dt><span>initialization_index :</span></dt><dd>1</dd><dt><span>institution :</span></dt><dd>National Center for Atmospheric Research, Climate and Global Dynamics Laboratory, 1850 Table Mesa Drive, Boulder, CO 80305, USA</dd><dt><span>institution_id :</span></dt><dd>NCAR</dd><dt><span>license :</span></dt><dd>CMIP6 model data produced by <The National Center for Atmospheric Research> is licensed under a Creative Commons Attribution-[]ShareAlike 4.0 International License (https://creativecommons.org/licenses/). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file)[]. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.</dd><dt><span>mip_era :</span></dt><dd>CMIP6</dd><dt><span>model_doi_url :</span></dt><dd>https://doi.org/10.5065/D67H1H0V</dd><dt><span>nominal_resolution :</span></dt><dd>100 km</dd><dt><span>parent_activity_id :</span></dt><dd>CMIP</dd><dt><span>parent_experiment_id :</span></dt><dd>piControl</dd><dt><span>parent_mip_era :</span></dt><dd>CMIP6</dd><dt><span>parent_source_id :</span></dt><dd>CESM2</dd><dt><span>parent_time_units :</span></dt><dd>days since 0001-01-01 00:00:00</dd><dt><span>parent_variant_label :</span></dt><dd>r1i1p1f1</dd><dt><span>physics_index :</span></dt><dd>1</dd><dt><span>product :</span></dt><dd>model-output</dd><dt><span>realization_index :</span></dt><dd>10</dd><dt><span>realm :</span></dt><dd>atmos</dd><dt><span>source :</span></dt><dd>CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); ocean: POP2 (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m); sea_ice: CICE5.1 (same grid as ocean); land: CLM5 0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); aerosol: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); atmoschem: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); landIce: CISM2.1; ocnBgchem: MARBL (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m)</dd><dt><span>source_id :</span></dt><dd>CESM2</dd><dt><span>source_type :</span></dt><dd>AOGCM BGC</dd><dt><span>sub_experiment :</span></dt><dd>none</dd><dt><span>sub_experiment_id :</span></dt><dd>none</dd><dt><span>table_id :</span></dt><dd>day</dd><dt><span>tracking_id :</span></dt><dd>hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592</dd><dt><span>variable_id :</span></dt><dd>tas</dd><dt><span>variant_info :</span></dt><dd>CMIP6 20th century experiments (1850-2014) with CAM6, interactive land (CLM5), coupled ocean (POP2) with biogeochemistry (MARBL), interactive sea ice (CICE5.1), and non-evolving land ice (CISM2.1)\r\n", | |
"</dd><dt><span>variant_label :</span></dt><dd>r10i1p1f1</dd><dt><span>status :</span></dt><dd>2019-11-04;created;by [email protected]</dd><dt><span>netcdf_tracking_ids :</span></dt><dd>hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592\n", | |
"hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592</dd><dt><span>version_id :</span></dt><dd>v20190313</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (lat: 192, lon: 288, nbnd: 2, time: 60226)\n", | |
"Coordinates:\n", | |
" * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", | |
" lat_bnds (lat, nbnd) float64 dask.array<chunksize=(192, 2), meta=np.ndarray>\n", | |
" * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", | |
" lon_bnds (lon, nbnd) float64 dask.array<chunksize=(288, 2), meta=np.ndarray>\n", | |
" * time (time) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", | |
" time_bnds (time, nbnd) object dask.array<chunksize=(30113, 1), meta=np.ndarray>\n", | |
"Dimensions without coordinates: nbnd\n", | |
"Data variables:\n", | |
" tas (time, lat, lon) float32 dask.array<chunksize=(397, 192, 288), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" Conventions: CF-1.7 CMIP-6.2\n", | |
" activity_id: CMIP\n", | |
" branch_method: standard\n", | |
" branch_time_in_child: 674885.0\n", | |
" branch_time_in_parent: 306600.0\n", | |
" case_id: 24\n", | |
" cesm_casename: b.e21.BHIST.f09_g17.CMIP6-historical.010\n", | |
" contact: [email protected]\n", | |
" creation_date: 2019-03-12T04:46:13Z\n", | |
" data_specs_version: 01.00.29\n", | |
" experiment: Simulation of recent past (1850 to 2014). Impose ...\n", | |
" experiment_id: historical\n", | |
" external_variables: areacella\n", | |
" forcing_index: 1\n", | |
" frequency: day\n", | |
" further_info_url: https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.h...\n", | |
" grid: native 0.9x1.25 finite volume grid (192x288 latxlon)\n", | |
" grid_label: gn\n", | |
" initialization_index: 1\n", | |
" institution: National Center for Atmospheric Research, Climate...\n", | |
" institution_id: NCAR\n", | |
" license: CMIP6 model data produced by <The National Center...\n", | |
" mip_era: CMIP6\n", | |
" model_doi_url: https://doi.org/10.5065/D67H1H0V\n", | |
" nominal_resolution: 100 km\n", | |
" parent_activity_id: CMIP\n", | |
" parent_experiment_id: piControl\n", | |
" parent_mip_era: CMIP6\n", | |
" parent_source_id: CESM2\n", | |
" parent_time_units: days since 0001-01-01 00:00:00\n", | |
" parent_variant_label: r1i1p1f1\n", | |
" physics_index: 1\n", | |
" product: model-output\n", | |
" realization_index: 10\n", | |
" realm: atmos\n", | |
" source: CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite v...\n", | |
" source_id: CESM2\n", | |
" source_type: AOGCM BGC\n", | |
" sub_experiment: none\n", | |
" sub_experiment_id: none\n", | |
" table_id: day\n", | |
" tracking_id: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" variable_id: tas\n", | |
" variant_info: CMIP6 20th century experiments (1850-2014) with C...\n", | |
" variant_label: r10i1p1f1\n", | |
" status: 2019-11-04;created;by [email protected]\n", | |
" netcdf_tracking_ids: hdl:21.14100/ae5ef4b2-73c9-4919-86e4-7d714ca03592...\n", | |
" version_id: v20190313" | |
] | |
}, | |
"execution_count": 18, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import gcsfs\n", | |
"mapper = gcsfs.GCSFileSystem().get_mapper(url)\n", | |
"ds_gcsfs = xr.open_zarr(mapper, consolidated=True)\n", | |
"ds_gcsfs" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"id": "healthy-affect", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"CPU times: user 7.02 s, sys: 1.31 s, total: 8.32 s\n", | |
"Wall time: 1min 11s\n" | |
] | |
} | |
], | |
"source": [ | |
"%time tas = ds_gcsfs.tas.mean(dim=('lon', 'lat')).compute()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "liquid-invalid", | |
"metadata": {}, | |
"source": [ | |
"## Write\n", | |
"\n", | |
"Needs credentials of course." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"id": "musical-anniversary", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'gs://pangeo-scratch/rabernat/cloud-files-test.zarr'" | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import os\n", | |
"url = os.environ['PANGEO_SCRATCH'] + \"cloud-files-test.zarr\"\n", | |
"url" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"id": "fresh-compiler", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"cfmap = CloudFilesMapper(url, progress=False)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"id": "objective-application", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\u001b[1;93mUsing default Google credentials. There is no ~/.cloudvolume/secrets/google-secret.json set.\u001b[m\n", | |
"\u001b[1;93m\n", | |
" Warning: Environment variable GOOGLE_APPLICATION_CREDENTIALS is not set.\n", | |
" google-cloud-python might not find your credentials. Your credentials\n", | |
" might be located in $HOME/.config/gcloud/legacy_credentials/$YOUR_GMAIL/adc.json\n", | |
"\n", | |
" If they are you can export your credentials like so:\n", | |
" export GOOGLE_APPLICATION_CREDENTIALS=\"$HOME/.config/gcloud/legacy_credentials/$YOUR_GMAIL/adc.json\"\n", | |
" \u001b[m\n" | |
] | |
} | |
], | |
"source": [ | |
"z1 = zarr.open(\n", | |
" cfmap,\n", | |
" mode='w',\n", | |
" shape=(800, 800),\n", | |
" chunks=(200, 200),\n", | |
" dtype='i4'\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"id": "uniform-essay", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"\n", | |
"data = np.random.randint(100, size=z1.shape, dtype='i4')\n", | |
"z1[:] = data\n", | |
"np.testing.assert_equal(z1[:], data)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"id": "scheduled-declaration", | |
"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.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;\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-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", | |
" 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", | |
" 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-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-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", | |
" 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'><xarray.Dataset>\n", | |
"Dimensions: (time: 36, x: 275, y: 205)\n", | |
"Coordinates:\n", | |
" * time (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00\n", | |
" xc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
" yc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
"Dimensions without coordinates: x, y\n", | |
"Data variables:\n", | |
" Tair (time, y, x) float64 dask.array<chunksize=(12, 205, 275), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" title: /workspace/jhamman/processed/R1002RBRxaaa01a/l...\n", | |
" institution: U.W.\n", | |
" source: RACM R1002RBRxaaa01a\n", | |
" output_frequency: daily\n", | |
" output_mode: averaged\n", | |
" convention: CF-1.4\n", | |
" references: Based on the initial model of Liang et al., 19...\n", | |
" comment: Output from the Variable Infiltration Capacity...\n", | |
" nco_openmp_thread_number: 1\n", | |
" NCO: "4.6.0"\n", | |
" history: Tue Dec 27 14:15:22 2016: ncatted -a dimension...</pre><div class='xr-wrap' hidden><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-37ff37d2-25b2-44ca-82e8-f44e4612684a' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-37ff37d2-25b2-44ca-82e8-f44e4612684a' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 36</li><li><span>x</span>: 275</li><li><span>y</span>: 205</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-4a807be8-a072-4d36-bc98-2f66a764ad92' class='xr-section-summary-in' type='checkbox' checked><label for='section-4a807be8-a072-4d36-bc98-2f66a764ad92' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1980-09-16 12:00:00 ... 1983-08-...</div><input id='attrs-cf98d14c-3f99-49d4-b0f6-5ed2afb894bd' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-cf98d14c-3f99-49d4-b0f6-5ed2afb894bd' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-522008f4-4411-406b-84fc-da4d21beabe5' class='xr-var-data-in' type='checkbox'><label for='data-522008f4-4411-406b-84fc-da4d21beabe5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time</dd><dt><span>type_preferred :</span></dt><dd>int</dd></dl></div><div class='xr-var-data'><pre>array([cftime.DatetimeNoLeap(1980, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 8, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 8, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 8, 17, 0, 0, 0, 0)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>xc</span></div><div class='xr-var-dims'>(y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(205, 275), meta=np.ndarray></div><input id='attrs-bc7d3777-3cea-4ae0-8238-f93599b5f0c4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bc7d3777-3cea-4ae0-8238-f93599b5f0c4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c428a95b-7741-4214-b842-7b016045bb5d' class='xr-var-data-in' type='checkbox'><label for='data-c428a95b-7741-4214-b842-7b016045bb5d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude of grid cell center</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>bounds :</span></dt><dd>xv</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 451.00 kB </td> <td> 451.00 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (205, 275) </td> <td> (205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"170\" height=\"139\" 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=\"89\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,89.45454545454544 0.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"60.000000\" y=\"109.454545\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"140.000000\" y=\"44.727273\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,44.727273)\">205</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>yc</span></div><div class='xr-var-dims'>(y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(205, 275), meta=np.ndarray></div><input id='attrs-fc978645-2da2-4752-9568-0274d460332d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fc978645-2da2-4752-9568-0274d460332d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-22bb6b2e-a384-4ccb-aafd-c6d6bf9ce368' class='xr-var-data-in' type='checkbox'><label for='data-22bb6b2e-a384-4ccb-aafd-c6d6bf9ce368' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude of grid cell center</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>bounds :</span></dt><dd>yv</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 451.00 kB </td> <td> 451.00 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (205, 275) </td> <td> (205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"170\" height=\"139\" 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=\"89\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,89.45454545454544 0.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"60.000000\" y=\"109.454545\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"140.000000\" y=\"44.727273\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,44.727273)\">205</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-3b3a7c03-228a-4e70-aadd-0212fb5cbf06' class='xr-section-summary-in' type='checkbox' checked><label for='section-3b3a7c03-228a-4e70-aadd-0212fb5cbf06' 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>Tair</span></div><div class='xr-var-dims'>(time, y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(12, 205, 275), meta=np.ndarray></div><input id='attrs-e854820e-42af-4fed-a209-6952cfd0cdbc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e854820e-42af-4fed-a209-6952cfd0cdbc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ad339db5-0cbb-4eb7-a706-6ec18ccab652' class='xr-var-data-in' type='checkbox'><label for='data-ad339db5-0cbb-4eb7-a706-6ec18ccab652' 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>C</dd><dt><span>long_name :</span></dt><dd>Surface air temperature</dd><dt><span>type_preferred :</span></dt><dd>double</dd><dt><span>time_rep :</span></dt><dd>instantaneous</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 16.24 MB </td> <td> 5.41 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (36, 205, 275) </td> <td> (12, 205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 4 Tasks </td><td> 3 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"203\" height=\"163\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"33\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"89\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"97\" />\n", | |
" <line x1=\"25\" y1=\"15\" x2=\"25\" y2=\"105\" />\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 33.547662537435315,23.54766253743532 33.547662537435315,113.00220799198075 10.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"130\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"137\" y2=\"7\" />\n", | |
" <line x1=\"25\" y1=\"15\" x2=\"145\" y2=\"15\" />\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"33\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"130\" y1=\"0\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 130.0,0.0 153.54766253743531,23.54766253743532 33.547662537435315,23.54766253743532\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"33\" y1=\"113\" x2=\"153\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"153\" y1=\"23\" x2=\"153\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"33.547662537435315,23.54766253743532 153.54766253743531,23.54766253743532 153.54766253743531,113.00220799198075 33.547662537435315,113.00220799198075\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.547663\" y=\"133.002208\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"173.547663\" y=\"68.274935\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,173.547663,68.274935)\">205</text>\n", | |
" <text x=\"11.773831\" y=\"121.228377\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,11.773831,121.228377)\">36</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-c62829d9-3406-4fa7-94b6-28d3fb109f31' class='xr-section-summary-in' type='checkbox' ><label for='section-c62829d9-3406-4fa7-94b6-28d3fb109f31' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>title :</span></dt><dd>/workspace/jhamman/processed/R1002RBRxaaa01a/lnd/temp/R1002RBRxaaa01a.vic.ha.1979-09-01.nc</dd><dt><span>institution :</span></dt><dd>U.W.</dd><dt><span>source :</span></dt><dd>RACM R1002RBRxaaa01a</dd><dt><span>output_frequency :</span></dt><dd>daily</dd><dt><span>output_mode :</span></dt><dd>averaged</dd><dt><span>convention :</span></dt><dd>CF-1.4</dd><dt><span>references :</span></dt><dd>Based on the initial model of Liang et al., 1994, JGR, 99, 14,415- 14,429.</dd><dt><span>comment :</span></dt><dd>Output from the Variable Infiltration Capacity (VIC) model.</dd><dt><span>nco_openmp_thread_number :</span></dt><dd>1</dd><dt><span>NCO :</span></dt><dd>"4.6.0"</dd><dt><span>history :</span></dt><dd>Tue Dec 27 14:15:22 2016: ncatted -a dimensions,,d,, rasm.nc rasm.nc\n", | |
"Tue Dec 27 13:38:40 2016: ncks -3 rasm.nc rasm.nc\n", | |
"history deleted for brevity</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (time: 36, x: 275, y: 205)\n", | |
"Coordinates:\n", | |
" * time (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00\n", | |
" xc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
" yc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
"Dimensions without coordinates: x, y\n", | |
"Data variables:\n", | |
" Tair (time, y, x) float64 dask.array<chunksize=(12, 205, 275), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" title: /workspace/jhamman/processed/R1002RBRxaaa01a/l...\n", | |
" institution: U.W.\n", | |
" source: RACM R1002RBRxaaa01a\n", | |
" output_frequency: daily\n", | |
" output_mode: averaged\n", | |
" convention: CF-1.4\n", | |
" references: Based on the initial model of Liang et al., 19...\n", | |
" comment: Output from the Variable Infiltration Capacity...\n", | |
" nco_openmp_thread_number: 1\n", | |
" NCO: \"4.6.0\"\n", | |
" history: Tue Dec 27 14:15:22 2016: ncatted -a dimension..." | |
] | |
}, | |
"execution_count": 29, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ds_test = xr.tutorial.open_dataset('rasm').chunk({'time': 12})\n", | |
"ds_test" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"id": "indoor-protein", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"rasm_map = CloudFilesMapper(os.environ['PANGEO_SCRATCH'] + 'rasm.zarr')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"id": "unnecessary-frederick", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<xarray.backends.zarr.ZarrStore at 0x7f61b46334c0>" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ds_test.to_zarr(rasm_map, consolidated=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"id": "incomplete-deviation", | |
"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.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;\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-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", | |
" 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", | |
" 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-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-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", | |
" 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'><xarray.Dataset>\n", | |
"Dimensions: (time: 36, x: 275, y: 205)\n", | |
"Coordinates:\n", | |
" * time (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00\n", | |
" xc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
" yc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
"Dimensions without coordinates: x, y\n", | |
"Data variables:\n", | |
" Tair (time, y, x) float64 dask.array<chunksize=(12, 205, 275), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" NCO: "4.6.0"\n", | |
" comment: Output from the Variable Infiltration Capacity...\n", | |
" convention: CF-1.4\n", | |
" history: Tue Dec 27 14:15:22 2016: ncatted -a dimension...\n", | |
" institution: U.W.\n", | |
" nco_openmp_thread_number: 1\n", | |
" output_frequency: daily\n", | |
" output_mode: averaged\n", | |
" references: Based on the initial model of Liang et al., 19...\n", | |
" source: RACM R1002RBRxaaa01a\n", | |
" title: /workspace/jhamman/processed/R1002RBRxaaa01a/l...</pre><div class='xr-wrap' hidden><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-d6d07a23-6123-4e03-bfa7-66db0f640f65' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d6d07a23-6123-4e03-bfa7-66db0f640f65' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 36</li><li><span>x</span>: 275</li><li><span>y</span>: 205</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-d05277e2-2958-43db-90d1-4dd46a474f80' class='xr-section-summary-in' type='checkbox' checked><label for='section-d05277e2-2958-43db-90d1-4dd46a474f80' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1980-09-16 12:00:00 ... 1983-08-...</div><input id='attrs-5941a5a1-fe16-4e02-a436-80680899b29d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5941a5a1-fe16-4e02-a436-80680899b29d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-921a28ce-5c42-44ba-b2b3-c63b16629747' class='xr-var-data-in' type='checkbox'><label for='data-921a28ce-5c42-44ba-b2b3-c63b16629747' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time</dd><dt><span>type_preferred :</span></dt><dd>int</dd></dl></div><div class='xr-var-data'><pre>array([cftime.DatetimeNoLeap(1980, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1980, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 8, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1981, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 8, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 9, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 10, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 11, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1982, 12, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 1, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 2, 15, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 3, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 4, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 5, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 6, 16, 12, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 7, 17, 0, 0, 0, 0),\n", | |
" cftime.DatetimeNoLeap(1983, 8, 17, 0, 0, 0, 0)], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>xc</span></div><div class='xr-var-dims'>(y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(205, 275), meta=np.ndarray></div><input id='attrs-823091e8-cead-46b4-8916-8f5077eb7fae' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-823091e8-cead-46b4-8916-8f5077eb7fae' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-23d81fe2-70fc-4fe9-8a0d-316b29b23c7e' class='xr-var-data-in' type='checkbox'><label for='data-23d81fe2-70fc-4fe9-8a0d-316b29b23c7e' 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>bounds :</span></dt><dd>xv</dd><dt><span>long_name :</span></dt><dd>longitude of grid cell center</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 451.00 kB </td> <td> 451.00 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (205, 275) </td> <td> (205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"170\" height=\"139\" 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=\"89\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,89.45454545454544 0.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"60.000000\" y=\"109.454545\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"140.000000\" y=\"44.727273\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,44.727273)\">205</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>yc</span></div><div class='xr-var-dims'>(y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(205, 275), meta=np.ndarray></div><input id='attrs-14b0ee1a-17be-4dc1-bff9-c96dddc34d01' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-14b0ee1a-17be-4dc1-bff9-c96dddc34d01' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4628824b-5758-4b1b-be1a-bbd168956971' class='xr-var-data-in' type='checkbox'><label for='data-4628824b-5758-4b1b-be1a-bbd168956971' 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>bounds :</span></dt><dd>yv</dd><dt><span>long_name :</span></dt><dd>latitude of grid cell center</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 451.00 kB </td> <td> 451.00 kB </td></tr>\n", | |
" <tr><th> Shape </th><td> (205, 275) </td> <td> (205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 2 Tasks </td><td> 1 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"170\" height=\"139\" 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=\"89\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"0.0,0.0 120.0,0.0 120.0,89.45454545454544 0.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"60.000000\" y=\"109.454545\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"140.000000\" y=\"44.727273\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,140.000000,44.727273)\">205</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-c5402b78-4953-4a26-af06-b75e8023e2db' class='xr-section-summary-in' type='checkbox' checked><label for='section-c5402b78-4953-4a26-af06-b75e8023e2db' 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>Tair</span></div><div class='xr-var-dims'>(time, y, x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(12, 205, 275), meta=np.ndarray></div><input id='attrs-6434d360-1349-409b-923a-cb8feae5e6d4' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6434d360-1349-409b-923a-cb8feae5e6d4' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b88baea9-7412-490c-8e34-a344604035a0' class='xr-var-data-in' type='checkbox'><label for='data-b88baea9-7412-490c-8e34-a344604035a0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Surface air temperature</dd><dt><span>time_rep :</span></dt><dd>instantaneous</dd><dt><span>type_preferred :</span></dt><dd>double</dd><dt><span>units :</span></dt><dd>C</dd></dl></div><div class='xr-var-data'><table>\n", | |
"<tr>\n", | |
"<td>\n", | |
"<table>\n", | |
" <thead>\n", | |
" <tr><td> </td><th> Array </th><th> Chunk </th></tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr><th> Bytes </th><td> 16.24 MB </td> <td> 5.41 MB </td></tr>\n", | |
" <tr><th> Shape </th><td> (36, 205, 275) </td> <td> (12, 205, 275) </td></tr>\n", | |
" <tr><th> Count </th><td> 4 Tasks </td><td> 3 Chunks </td></tr>\n", | |
" <tr><th> Type </th><td> float64 </td><td> numpy.ndarray </td></tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</td>\n", | |
"<td>\n", | |
"<svg width=\"203\" height=\"163\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"33\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"10\" y1=\"89\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"89\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"97\" />\n", | |
" <line x1=\"25\" y1=\"15\" x2=\"25\" y2=\"105\" />\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 33.547662537435315,23.54766253743532 33.547662537435315,113.00220799198075 10.0,89.45454545454544\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"130\" y2=\"0\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"17\" y1=\"7\" x2=\"137\" y2=\"7\" />\n", | |
" <line x1=\"25\" y1=\"15\" x2=\"145\" y2=\"15\" />\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"10\" y1=\"0\" x2=\"33\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"130\" y1=\"0\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"10.0,0.0 130.0,0.0 153.54766253743531,23.54766253743532 33.547662537435315,23.54766253743532\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Horizontal lines -->\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"153\" y2=\"23\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"33\" y1=\"113\" x2=\"153\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Vertical lines -->\n", | |
" <line x1=\"33\" y1=\"23\" x2=\"33\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
" <line x1=\"153\" y1=\"23\" x2=\"153\" y2=\"113\" style=\"stroke-width:2\" />\n", | |
"\n", | |
" <!-- Colored Rectangle -->\n", | |
" <polygon points=\"33.547662537435315,23.54766253743532 153.54766253743531,23.54766253743532 153.54766253743531,113.00220799198075 33.547662537435315,113.00220799198075\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n", | |
"\n", | |
" <!-- Text -->\n", | |
" <text x=\"93.547663\" y=\"133.002208\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >275</text>\n", | |
" <text x=\"173.547663\" y=\"68.274935\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,173.547663,68.274935)\">205</text>\n", | |
" <text x=\"11.773831\" y=\"121.228377\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,11.773831,121.228377)\">36</text>\n", | |
"</svg>\n", | |
"</td>\n", | |
"</tr>\n", | |
"</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-f8f95769-23b4-4e45-9701-d2d3e11699b3' class='xr-section-summary-in' type='checkbox' ><label for='section-f8f95769-23b4-4e45-9701-d2d3e11699b3' class='xr-section-summary' >Attributes: <span>(11)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>NCO :</span></dt><dd>"4.6.0"</dd><dt><span>comment :</span></dt><dd>Output from the Variable Infiltration Capacity (VIC) model.</dd><dt><span>convention :</span></dt><dd>CF-1.4</dd><dt><span>history :</span></dt><dd>Tue Dec 27 14:15:22 2016: ncatted -a dimensions,,d,, rasm.nc rasm.nc\n", | |
"Tue Dec 27 13:38:40 2016: ncks -3 rasm.nc rasm.nc\n", | |
"history deleted for brevity</dd><dt><span>institution :</span></dt><dd>U.W.</dd><dt><span>nco_openmp_thread_number :</span></dt><dd>1</dd><dt><span>output_frequency :</span></dt><dd>daily</dd><dt><span>output_mode :</span></dt><dd>averaged</dd><dt><span>references :</span></dt><dd>Based on the initial model of Liang et al., 1994, JGR, 99, 14,415- 14,429.</dd><dt><span>source :</span></dt><dd>RACM R1002RBRxaaa01a</dd><dt><span>title :</span></dt><dd>/workspace/jhamman/processed/R1002RBRxaaa01a/lnd/temp/R1002RBRxaaa01a.vic.ha.1979-09-01.nc</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.Dataset>\n", | |
"Dimensions: (time: 36, x: 275, y: 205)\n", | |
"Coordinates:\n", | |
" * time (time) object 1980-09-16 12:00:00 ... 1983-08-17 00:00:00\n", | |
" xc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
" yc (y, x) float64 dask.array<chunksize=(205, 275), meta=np.ndarray>\n", | |
"Dimensions without coordinates: x, y\n", | |
"Data variables:\n", | |
" Tair (time, y, x) float64 dask.array<chunksize=(12, 205, 275), meta=np.ndarray>\n", | |
"Attributes:\n", | |
" NCO: \"4.6.0\"\n", | |
" comment: Output from the Variable Infiltration Capacity...\n", | |
" convention: CF-1.4\n", | |
" history: Tue Dec 27 14:15:22 2016: ncatted -a dimension...\n", | |
" institution: U.W.\n", | |
" nco_openmp_thread_number: 1\n", | |
" output_frequency: daily\n", | |
" output_mode: averaged\n", | |
" references: Based on the initial model of Liang et al., 19...\n", | |
" source: RACM R1002RBRxaaa01a\n", | |
" title: /workspace/jhamman/processed/R1002RBRxaaa01a/l..." | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"xr.open_zarr(rasm_map, consolidated=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "nutritional-alabama", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"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.8.6" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment