This is a simple web app/api that allows retreiving the Xarray HTML representation of a dataset. This is useful for rendering Xarray datasets repr in a web page.
We are currently using this in the LEAP data catalog to render the Xarray repr of dataset in the feedstock page.
To use this service, you can send a GET
request to the /xarray
endpoint with the url
query parameter set to the URL of the dataset you want to render. The service will return a JSON object with the HTML representation of the dataset.
curl -X 'GET' \
'https://html-reprs.fly.dev/xarray/?url=https%3A%2F%2Fncsa.osn.xsede.org%2FPangeo%2Fpangeo-forge%2FHadISST-feedstock%2Fhadisst.zarr' \
-H 'accept: application/json'
Returned JSON response
{
"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\nhtml[theme=dark],\nhtml[data-theme=dark],\nbody[data-theme=dark],\nbody.vscode-dark {\n --xr-font-color0: rgba(255, 255, 255, 1);\n --xr-font-color2: rgba(255, 255, 255, 0.54);\n --xr-font-color3: rgba(255, 255, 255, 0.38);\n --xr-border-color: #1F1F1F;\n --xr-disabled-color: #515151;\n --xr-background-color: #111111;\n --xr-background-color-row-even: #111111;\n --xr-background-color-row-odd: #313131;\n}\n\n.xr-wrap {\n display: block !important;\n min-width: 300px;\n max-width: 700px;\n}\n\n.xr-text-repr-fallback {\n /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n display: none;\n}\n\n.xr-header {\n padding-top: 6px;\n padding-bottom: 6px;\n margin-bottom: 4px;\n border-bottom: solid 1px var(--xr-border-color);\n}\n\n.xr-header > div,\n.xr-header > ul {\n display: inline;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.xr-obj-type,\n.xr-array-name {\n margin-left: 2px;\n margin-right: 10px;\n}\n\n.xr-obj-type {\n color: var(--xr-font-color2);\n}\n\n.xr-sections {\n padding-left: 0 !important;\n display: grid;\n grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n}\n\n.xr-section-item {\n display: contents;\n}\n\n.xr-section-item input {\n display: inline-block;\n opacity: 0;\n}\n\n.xr-section-item input + label {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-item input:enabled + label {\n cursor: pointer;\n color: var(--xr-font-color2);\n}\n\n.xr-section-item input:focus + label {\n border: 2px solid var(--xr-font-color0);\n}\n\n.xr-section-item input:enabled + label:hover {\n color: var(--xr-font-color0);\n}\n\n.xr-section-summary {\n grid-column: 1;\n color: var(--xr-font-color2);\n font-weight: 500;\n}\n\n.xr-section-summary > span {\n display: inline-block;\n padding-left: 0.5em;\n}\n\n.xr-section-summary-in:disabled + label {\n color: var(--xr-font-color2);\n}\n\n.xr-section-summary-in + label:before {\n display: inline-block;\n content: '►';\n font-size: 11px;\n width: 15px;\n text-align: center;\n}\n\n.xr-section-summary-in:disabled + label:before {\n color: var(--xr-disabled-color);\n}\n\n.xr-section-summary-in:checked + label:before {\n content: '▼';\n}\n\n.xr-section-summary-in:checked + label > span {\n display: none;\n}\n\n.xr-section-summary,\n.xr-section-inline-details {\n padding-top: 4px;\n padding-bottom: 4px;\n}\n\n.xr-section-inline-details {\n grid-column: 2 / -1;\n}\n\n.xr-section-details {\n display: none;\n grid-column: 1 / -1;\n margin-bottom: 5px;\n}\n\n.xr-section-summary-in:checked ~ .xr-section-details {\n display: contents;\n}\n\n.xr-array-wrap {\n grid-column: 1 / -1;\n display: grid;\n grid-template-columns: 20px auto;\n}\n\n.xr-array-wrap > label {\n grid-column: 1;\n vertical-align: top;\n}\n\n.xr-preview {\n color: var(--xr-font-color3);\n}\n\n.xr-array-preview,\n.xr-array-data {\n padding: 0 5px !important;\n grid-column: 2;\n}\n\n.xr-array-data,\n.xr-array-in:checked ~ .xr-array-preview {\n display: none;\n}\n\n.xr-array-in:checked ~ .xr-array-data,\n.xr-array-preview {\n display: inline-block;\n}\n\n.xr-dim-list {\n display: inline-block !important;\n list-style: none;\n padding: 0 !important;\n margin: 0;\n}\n\n.xr-dim-list li {\n display: inline-block;\n padding: 0;\n margin: 0;\n}\n\n.xr-dim-list:before {\n content: '(';\n}\n\n.xr-dim-list:after {\n content: ')';\n}\n\n.xr-dim-list li:not(:last-child):after {\n content: ',';\n padding-right: 5px;\n}\n\n.xr-has-index {\n font-weight: bold;\n}\n\n.xr-var-list,\n.xr-var-item {\n display: contents;\n}\n\n.xr-var-item > div,\n.xr-var-item label,\n.xr-var-item > .xr-var-name span {\n background-color: var(--xr-background-color-row-even);\n margin-bottom: 0;\n}\n\n.xr-var-item > .xr-var-name:hover span {\n padding-right: 5px;\n}\n\n.xr-var-list > li:nth-child(odd) > div,\n.xr-var-list > li:nth-child(odd) > label,\n.xr-var-list > li:nth-child(odd) > .xr-var-name span {\n background-color: var(--xr-background-color-row-odd);\n}\n\n.xr-var-name {\n grid-column: 1;\n}\n\n.xr-var-dims {\n grid-column: 2;\n}\n\n.xr-var-dtype {\n grid-column: 3;\n text-align: right;\n color: var(--xr-font-color2);\n}\n\n.xr-var-preview {\n grid-column: 4;\n}\n\n.xr-index-preview {\n grid-column: 2 / 5;\n color: var(--xr-font-color2);\n}\n\n.xr-var-name,\n.xr-var-dims,\n.xr-var-dtype,\n.xr-preview,\n.xr-attrs dt {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-right: 10px;\n}\n\n.xr-var-name:hover,\n.xr-var-dims:hover,\n.xr-var-dtype:hover,\n.xr-attrs dt:hover {\n overflow: visible;\n width: auto;\n z-index: 1;\n}\n\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n display: none;\n background-color: var(--xr-background-color) !important;\n padding-bottom: 5px !important;\n}\n\n.xr-var-attrs-in:checked ~ .xr-var-attrs,\n.xr-var-data-in:checked ~ .xr-var-data,\n.xr-index-data-in:checked ~ .xr-index-data {\n display: block;\n}\n\n.xr-var-data > table {\n float: right;\n}\n\n.xr-var-name span,\n.xr-var-data,\n.xr-index-name div,\n.xr-index-data,\n.xr-attrs {\n padding-left: 25px !important;\n}\n\n.xr-attrs,\n.xr-var-attrs,\n.xr-var-data,\n.xr-index-data {\n grid-column: 1 / -1;\n}\n\ndl.xr-attrs {\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: 125px auto;\n}\n\n.xr-attrs dt,\n.xr-attrs dd {\n padding: 0;\n margin: 0;\n float: left;\n padding-right: 10px;\n width: auto;\n}\n\n.xr-attrs dt {\n font-weight: normal;\n grid-column: 1;\n}\n\n.xr-attrs dt:hover span {\n display: inline-block;\n background: var(--xr-background-color);\n padding-right: 10px;\n}\n\n.xr-attrs dd {\n grid-column: 2;\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n.xr-icon-database,\n.xr-icon-file-text2,\n.xr-no-icon {\n display: inline-block;\n vertical-align: middle;\n width: 1em;\n height: 1.5em !important;\n stroke-width: 0;\n stroke: currentColor;\n fill: currentColor;\n}\n</style><pre class='xr-text-repr-fallback'><xarray.Dataset> Size: 474MB\nDimensions: (latitude: 180, longitude: 360, time: 1829, nv: 2)\nCoordinates:\n * latitude (latitude) float32 720B 89.5 88.5 87.5 86.5 ... -87.5 -88.5 -89.5\n * longitude (longitude) float32 1kB -179.5 -178.5 -177.5 ... 178.5 179.5\n * time (time) datetime64[ns] 15kB 1870-01-16T11:59:59.505615234 ... 2...\nDimensions without coordinates: nv\nData variables:\n sst (time, latitude, longitude) float32 474MB dask.array<chunksize=(1829, 180, 360), meta=np.ndarray>\n time_bnds (time, nv) float32 15kB dask.array<chunksize=(1829, 2), meta=np.ndarray>\nAttributes:\n Conventions: CF-1.0\n Title: Monthly version of HadISST sea surface temper...\n comment: Data restrictions: for academic research use ...\n description: HadISST 1.1 monthly average sea surface tempe...\n history: 22/7/2022 converted to netcdf from pp format\n institution: Met Office Hadley Centre\n reference: Rayner, N. A., Parker, D. E., Horton, E. B., ...\n source: HadISST\n supplementary_information: Updates and supplementary information will be...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-0f7363fa-7fc6-4ad7-8b4c-038bb2ab826a' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0f7363fa-7fc6-4ad7-8b4c-038bb2ab826a' 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'>latitude</span>: 180</li><li><span class='xr-has-index'>longitude</span>: 360</li><li><span class='xr-has-index'>time</span>: 1829</li><li><span>nv</span>: 2</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-94632c93-ad39-4e57-a2cc-9ff05d9ce6db' class='xr-section-summary-in' type='checkbox' checked><label for='section-94632c93-ad39-4e57-a2cc-9ff05d9ce6db' 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'>latitude</span></div><div class='xr-var-dims'>(latitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>89.5 88.5 87.5 ... -88.5 -89.5</div><input id='attrs-5a6c9961-1d30-4f04-953d-853e18b78faf' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5a6c9961-1d30-4f04-953d-853e18b78faf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-be3aecba-ddfe-424c-968d-fa26e811e288' class='xr-var-data-in' type='checkbox'><label for='data-be3aecba-ddfe-424c-968d-fa26e811e288' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Latitude</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([ 89.5, 88.5, 87.5, 86.5, 85.5, 84.5, 83.5, 82.5, 81.5, 80.5,\n 79.5, 78.5, 77.5, 76.5, 75.5, 74.5, 73.5, 72.5, 71.5, 70.5,\n 69.5, 68.5, 67.5, 66.5, 65.5, 64.5, 63.5, 62.5, 61.5, 60.5,\n 59.5, 58.5, 57.5, 56.5, 55.5, 54.5, 53.5, 52.5, 51.5, 50.5,\n 49.5, 48.5, 47.5, 46.5, 45.5, 44.5, 43.5, 42.5, 41.5, 40.5,\n 39.5, 38.5, 37.5, 36.5, 35.5, 34.5, 33.5, 32.5, 31.5, 30.5,\n 29.5, 28.5, 27.5, 26.5, 25.5, 24.5, 23.5, 22.5, 21.5, 20.5,\n 19.5, 18.5, 17.5, 16.5, 15.5, 14.5, 13.5, 12.5, 11.5, 10.5,\n 9.5, 8.5, 7.5, 6.5, 5.5, 4.5, 3.5, 2.5, 1.5, 0.5,\n -0.5, -1.5, -2.5, -3.5, -4.5, -5.5, -6.5, -7.5, -8.5, -9.5,\n -10.5, -11.5, -12.5, -13.5, -14.5, -15.5, -16.5, -17.5, -18.5, -19.5,\n -20.5, -21.5, -22.5, -23.5, -24.5, -25.5, -26.5, -27.5, -28.5, -29.5,\n -30.5, -31.5, -32.5, -33.5, -34.5, -35.5, -36.5, -37.5, -38.5, -39.5,\n -40.5, -41.5, -42.5, -43.5, -44.5, -45.5, -46.5, -47.5, -48.5, -49.5,\n -50.5, -51.5, -52.5, -53.5, -54.5, -55.5, -56.5, -57.5, -58.5, -59.5,\n -60.5, -61.5, -62.5, -63.5, -64.5, -65.5, -66.5, -67.5, -68.5, -69.5,\n -70.5, -71.5, -72.5, -73.5, -74.5, -75.5, -76.5, -77.5, -78.5, -79.5,\n -80.5, -81.5, -82.5, -83.5, -84.5, -85.5, -86.5, -87.5, -88.5, -89.5],\n dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>longitude</span></div><div class='xr-var-dims'>(longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>-179.5 -178.5 ... 178.5 179.5</div><input id='attrs-54c13add-8306-4b60-b764-2d041c730b9c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-54c13add-8306-4b60-b764-2d041c730b9c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-71c4a4a5-1c27-413d-b546-45f471917377' class='xr-var-data-in' type='checkbox'><label for='data-71c4a4a5-1c27-413d-b546-45f471917377' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Longitude</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([-179.5, -178.5, -177.5, ..., 177.5, 178.5, 179.5], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>1870-01-16T11:59:59.505615234 .....</div><input id='attrs-71dec4cb-6a56-45f2-bece-4e52f7dcbf3c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-71dec4cb-6a56-45f2-bece-4e52f7dcbf3c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f75ea234-74f8-4300-b23a-cb0c91122338' class='xr-var-data-in' type='checkbox'><label for='data-f75ea234-74f8-4300-b23a-cb0c91122338' 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>standard_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>array(['1870-01-16T11:59:59.505615234', '1870-02-14T23:59:59.340820312',\n '1870-03-16T11:59:59.340820312', ..., '2022-03-16T12:00:00.000000000',\n '2022-04-16T12:00:00.000000000', '2022-05-16T12:00:00.000000000'],\n dtype='datetime64[ns]')</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0f52c5cc-9918-4900-a06e-d65180ae658a' class='xr-section-summary-in' type='checkbox' checked><label for='section-0f52c5cc-9918-4900-a06e-d65180ae658a' class='xr-section-summary' >Data variables: <span>(2)</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>sst</span></div><div class='xr-var-dims'>(time, latitude, longitude)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1829, 180, 360), meta=np.ndarray></div><input id='attrs-64c7e63a-2a57-40bb-b38f-c0c11edf5778' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-64c7e63a-2a57-40bb-b38f-c0c11edf5778' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-71e9d609-3361-4ac7-82fb-8aef693c0e7a' class='xr-var-data-in' type='checkbox'><label for='data-71e9d609-3361-4ac7-82fb-8aef693c0e7a' 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_methods :</span></dt><dd>time: lat: lon: mean</dd><dt><span>long_name :</span></dt><dd>sst</dd><dt><span>standard_name :</span></dt><dd>sea_surface_temperature</dd><dt><span>units :</span></dt><dd>C</dd></dl></div><div class='xr-var-data'><table>\n <tr>\n <td>\n <table style=\"border-collapse: collapse;\">\n <thead>\n <tr>\n <td> </td>\n <th> Array </th>\n <th> Chunk </th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <th> Bytes </th>\n <td> 452.11 MiB </td>\n <td> 452.11 MiB </td>\n </tr>\n \n <tr>\n <th> Shape </th>\n <td> (1829, 180, 360) </td>\n <td> (1829, 180, 360) </td>\n </tr>\n <tr>\n <th> Dask graph </th>\n <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n </tr>\n <tr>\n <th> Data type </th>\n <td colspan=\"2\"> float32 numpy.ndarray </td>\n </tr>\n </tbody>\n </table>\n </td>\n <td>\n <svg width=\"172\" height=\"159\" 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=\"38\" x2=\"80\" y2=\"109\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"38\" style=\"stroke-width:2\" />\n <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"109\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,109.09633304754514 10.0,38.50809775342749\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"10\" y1=\"0\" x2=\"51\" y2=\"0\" style=\"stroke-width:2\" />\n <line x1=\"80\" y1=\"70\" x2=\"122\" 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=\"51\" y1=\"0\" x2=\"122\" y2=\"70\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"10.0,0.0 51.94206947829488,0.0 122.53030477241253,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Horizontal lines -->\n <line x1=\"80\" y1=\"70\" x2=\"122\" y2=\"70\" style=\"stroke-width:2\" />\n <line x1=\"80\" y1=\"109\" x2=\"122\" y2=\"109\" style=\"stroke-width:2\" />\n\n <!-- Vertical lines -->\n <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"109\" style=\"stroke-width:2\" />\n <line x1=\"122\" y1=\"70\" x2=\"122\" y2=\"109\" style=\"stroke-width:2\" />\n\n <!-- Colored Rectangle -->\n <polygon points=\"80.58823529411765,70.58823529411765 122.53030477241253,70.58823529411765 122.53030477241253,109.09633304754514 80.58823529411765,109.09633304754514\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n\n <!-- Text -->\n <text x=\"101.559270\" y=\"129.096333\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >360</text>\n <text x=\"142.530305\" y=\"89.842284\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,142.530305,89.842284)\">180</text>\n <text x=\"35.294118\" y=\"93.802215\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,93.802215)\">1829</text>\n</svg>\n </td>\n </tr>\n</table></div></li><li class='xr-var-item'><div class='xr-var-name'><span>time_bnds</span></div><div class='xr-var-dims'>(time, nv)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array<chunksize=(1829, 2), meta=np.ndarray></div><input id='attrs-e39b6f92-124e-47da-ae0b-3019217893c1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-e39b6f92-124e-47da-ae0b-3019217893c1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-afb0060a-2265-4775-9847-d045424b7f45' class='xr-var-data-in' type='checkbox'><label for='data-afb0060a-2265-4775-9847-d045424b7f45' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><table>\n <tr>\n <td>\n <table style=\"border-collapse: collapse;\">\n <thead>\n <tr>\n <td> </td>\n <th> Array </th>\n <th> Chunk </th>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <th> Bytes </th>\n <td> 14.29 kiB </td>\n <td> 14.29 kiB </td>\n </tr>\n \n <tr>\n <th> Shape </th>\n <td> (1829, 2) </td>\n <td> (1829, 2) </td>\n </tr>\n <tr>\n <th> Dask graph </th>\n <td colspan=\"2\"> 1 chunks in 2 graph layers </td>\n </tr>\n <tr>\n <th> Data type </th>\n <td colspan=\"2\"> float32 numpy.ndarray </td>\n </tr>\n </tbody>\n </table>\n </td>\n <td>\n <svg width=\"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)\">1829</text>\n</svg>\n </td>\n </tr>\n</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-e108385a-2e36-444a-b68a-8928a76c4335' class='xr-section-summary-in' type='checkbox' ><label for='section-e108385a-2e36-444a-b68a-8928a76c4335' class='xr-section-summary' >Indexes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>latitude</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-4e80f2f1-7c24-41d2-b44b-658ba23fe895' class='xr-index-data-in' type='checkbox'/><label for='index-4e80f2f1-7c24-41d2-b44b-658ba23fe895' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 89.5, 88.5, 87.5, 86.5, 85.5, 84.5, 83.5, 82.5, 81.5, 80.5,\n ...\n -80.5, -81.5, -82.5, -83.5, -84.5, -85.5, -86.5, -87.5, -88.5, -89.5],\n dtype='float32', name='latitude', length=180))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>longitude</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-c4f415f0-a44d-48cf-966e-088a58695e65' class='xr-index-data-in' type='checkbox'/><label for='index-c4f415f0-a44d-48cf-966e-088a58695e65' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([-179.5, -178.5, -177.5, -176.5, -175.5, -174.5, -173.5, -172.5, -171.5,\n -170.5,\n ...\n 170.5, 171.5, 172.5, 173.5, 174.5, 175.5, 176.5, 177.5, 178.5,\n 179.5],\n dtype='float32', name='longitude', length=360))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-ac5fe621-c03c-4ce9-879c-a6d801274a99' class='xr-index-data-in' type='checkbox'/><label for='index-ac5fe621-c03c-4ce9-879c-a6d801274a99' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex(['1870-01-16 11:59:59.505615234',\n '1870-02-14 23:59:59.340820312',\n '1870-03-16 11:59:59.340820312',\n '1870-04-15 23:59:59.340820312',\n '1870-05-16 12:00:00',\n '1870-06-16 00:00:00',\n '1870-07-16 12:00:00',\n '1870-08-16 12:00:00',\n '1870-09-16 00:00:00',\n '1870-10-16 12:00:00',\n ...\n '2021-08-16 12:00:00',\n '2021-09-16 12:00:00',\n '2021-10-16 12:00:00',\n '2021-11-16 12:00:00',\n '2021-12-16 12:00:00',\n '2022-01-16 12:00:00',\n '2022-02-16 12:00:00',\n '2022-03-16 12:00:00',\n '2022-04-16 12:00:00',\n '2022-05-16 12:00:00'],\n dtype='datetime64[ns]', name='time', length=1829, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-a34d1673-d579-40af-ad3f-844cbc72949a' class='xr-section-summary-in' type='checkbox' checked><label for='section-a34d1673-d579-40af-ad3f-844cbc72949a' class='xr-section-summary' >Attributes: <span>(9)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.0</dd><dt><span>Title :</span></dt><dd>Monthly version of HadISST sea surface temperature component</dd><dt><span>comment :</span></dt><dd>Data restrictions: for academic research use only. Data are Crown copyright see (http://www.opsi.gov.uk/advice/crown-copyright/copyright-guidance/index.htm)</dd><dt><span>description :</span></dt><dd>HadISST 1.1 monthly average sea surface temperature</dd><dt><span>history :</span></dt><dd>22/7/2022 converted to netcdf from pp format</dd><dt><span>institution :</span></dt><dd>Met Office Hadley Centre</dd><dt><span>reference :</span></dt><dd>Rayner, N. A., Parker, D. E., Horton, E. B., Folland, C. K., Alexander, L. V., Rowell, D. P., Kent, E. C., Kaplan, A. Global analyses of sea surface temperature, sea ice, and night marine air temperature since the late nineteenth century J. Geophys. Res.Vol. 108, No. D14, 4407 10.1029/2002JD002670</dd><dt><span>source :</span></dt><dd>HadISST</dd><dt><span>supplementary_information :</span></dt><dd>Updates and supplementary information will be available from http://www.metoffice.gov.uk/hadobs/hadisst</dd></dl></div></li></ul></div></div>",
"sanitized_url": "https://ncsa.osn.xsede.org/Pangeo/pangeo-forge/HadISST-feedstock/hadisst.zarr",
"url": "https://ncsa.osn.xsede.org/Pangeo/pangeo-forge/HadISST-feedstock/hadisst.zarr"
}