Created
July 31, 2023 16:53
-
-
Save soxofaan/235440705369fbeec991c9cf9c4b5242 to your computer and use it in GitHub Desktop.
openEO `merge_cubes` with discontinuous date ranges
This file contains 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": "29a3824c-b23d-4600-b43f-5625a7557184", | |
"metadata": {}, | |
"source": [ | |
"https://discuss.eodc.eu/t/merge-datacubes-from-multiple-dates/617" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "bc65b376-88de-4f0a-ab6f-2eb9f8753105", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import openeo\n", | |
"import xarray" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "4cd519a5-0b1d-417e-82ab-179ea986d2da", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Authenticated using refresh token.\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<Connection to 'https://openeocloud.vito.be/openeo/1.0.0/' with OidcBearerAuth>" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"connection = openeo.connect(\"openeo.cloud\")\n", | |
"connection.authenticate_oidc()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "8fdbb784-34fb-45dd-918d-18cea4251235", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"collection_id = \"SENTINEL2_L2A\"\n", | |
"spatial_extent = {\"west\": 3, \"south\": 51, \"east\": 3.01, \"north\": 51.01}\n", | |
"bands = [\"B04\", \"B08\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "e042f616-7f0e-4765-90d9-3310321ddbbb", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[['2019-08-01', '2019-08-08'],\n", | |
" ['2020-08-01', '2020-08-08'],\n", | |
" ['2021-08-01', '2021-08-08'],\n", | |
" ['2022-08-01', '2022-08-08']]" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"temporal_extents = [\n", | |
" [f\"{y}-08-01\", f\"{y}-08-08\"]\n", | |
" for y in [2019, 2020, 2021, 2022]\n", | |
"]\n", | |
"temporal_extents" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "ca3f7bac-3714-4d57-81e1-58ca6ccd81e9", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"cube = None\n", | |
"\n", | |
"for temporal_extent in temporal_extents:\n", | |
" s2 = connection.load_collection(\n", | |
" collection_id=collection_id,\n", | |
" temporal_extent=temporal_extent,\n", | |
" spatial_extent=spatial_extent,\n", | |
" bands=bands,\n", | |
" )\n", | |
" if cube is None:\n", | |
" cube = s2\n", | |
" else:\n", | |
" cube = cube.merge_cubes(s2, overlap_resolver=\"max\")\n", | |
"\n", | |
"# cube\n", | |
"# cube.print_json()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "29aaf242-a017-4e72-9b10-5d09d4d1163b", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"red = cube.band(\"B04\")\n", | |
"nir = cube.band(\"B08\")\n", | |
"ndvi = (nir - red) / (nir + red)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "d144aaa1-d97d-40c0-9c43-5c620579bed3", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"CPU times: user 35.1 ms, sys: 23.6 ms, total: 58.7 ms\n", | |
"Wall time: 4min 13s\n" | |
] | |
} | |
], | |
"source": [ | |
"%%time \n", | |
"ndvi.download(\"forum617-ndvi.nc\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "49e1f571-31f4-45b0-992e-c62088ef9c56", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", | |
"<defs>\n", | |
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", | |
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", | |
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", | |
"</symbol>\n", | |
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", | |
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", | |
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", | |
"</symbol>\n", | |
"</defs>\n", | |
"</svg>\n", | |
"<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", | |
" *\n", | |
" */\n", | |
"\n", | |
":root {\n", | |
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", | |
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", | |
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", | |
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", | |
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", | |
" --xr-background-color: var(--jp-layout-color0, white);\n", | |
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n", | |
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", | |
"}\n", | |
"\n", | |
"html[theme=dark],\n", | |
"body[data-theme=dark],\n", | |
"body.vscode-dark {\n", | |
" --xr-font-color0: rgba(255, 255, 255, 1);\n", | |
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n", | |
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n", | |
" --xr-border-color: #1F1F1F;\n", | |
" --xr-disabled-color: #515151;\n", | |
" --xr-background-color: #111111;\n", | |
" --xr-background-color-row-even: #111111;\n", | |
" --xr-background-color-row-odd: #313131;\n", | |
"}\n", | |
"\n", | |
".xr-wrap {\n", | |
" display: block !important;\n", | |
" min-width: 300px;\n", | |
" max-width: 700px;\n", | |
"}\n", | |
"\n", | |
".xr-text-repr-fallback {\n", | |
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-header {\n", | |
" padding-top: 6px;\n", | |
" padding-bottom: 6px;\n", | |
" margin-bottom: 4px;\n", | |
" border-bottom: solid 1px var(--xr-border-color);\n", | |
"}\n", | |
"\n", | |
".xr-header > div,\n", | |
".xr-header > ul {\n", | |
" display: inline;\n", | |
" margin-top: 0;\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type,\n", | |
".xr-array-name {\n", | |
" margin-left: 2px;\n", | |
" margin-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-obj-type {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-sections {\n", | |
" padding-left: 0 !important;\n", | |
" display: grid;\n", | |
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n", | |
"}\n", | |
"\n", | |
".xr-section-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-item input + label {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label {\n", | |
" cursor: pointer;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-item input:enabled + label:hover {\n", | |
" color: var(--xr-font-color0);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary {\n", | |
" grid-column: 1;\n", | |
" color: var(--xr-font-color2);\n", | |
" font-weight: 500;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary > span {\n", | |
" display: inline-block;\n", | |
" padding-left: 0.5em;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label {\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in + label:before {\n", | |
" display: inline-block;\n", | |
" content: '►';\n", | |
" font-size: 11px;\n", | |
" width: 15px;\n", | |
" text-align: center;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:disabled + label:before {\n", | |
" color: var(--xr-disabled-color);\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label:before {\n", | |
" content: '▼';\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked + label > span {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary,\n", | |
".xr-section-inline-details {\n", | |
" padding-top: 4px;\n", | |
" padding-bottom: 4px;\n", | |
"}\n", | |
"\n", | |
".xr-section-inline-details {\n", | |
" grid-column: 2 / -1;\n", | |
"}\n", | |
"\n", | |
".xr-section-details {\n", | |
" display: none;\n", | |
" grid-column: 1 / -1;\n", | |
" margin-bottom: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-section-summary-in:checked ~ .xr-section-details {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap {\n", | |
" grid-column: 1 / -1;\n", | |
" display: grid;\n", | |
" grid-template-columns: 20px auto;\n", | |
"}\n", | |
"\n", | |
".xr-array-wrap > label {\n", | |
" grid-column: 1;\n", | |
" vertical-align: top;\n", | |
"}\n", | |
"\n", | |
".xr-preview {\n", | |
" color: var(--xr-font-color3);\n", | |
"}\n", | |
"\n", | |
".xr-array-preview,\n", | |
".xr-array-data {\n", | |
" padding: 0 5px !important;\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-array-data,\n", | |
".xr-array-in:checked ~ .xr-array-preview {\n", | |
" display: none;\n", | |
"}\n", | |
"\n", | |
".xr-array-in:checked ~ .xr-array-data,\n", | |
".xr-array-preview {\n", | |
" display: inline-block;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list {\n", | |
" display: inline-block !important;\n", | |
" list-style: none;\n", | |
" padding: 0 !important;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li {\n", | |
" display: inline-block;\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:before {\n", | |
" content: '(';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list:after {\n", | |
" content: ')';\n", | |
"}\n", | |
"\n", | |
".xr-dim-list li:not(:last-child):after {\n", | |
" content: ',';\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-has-index {\n", | |
" font-weight: bold;\n", | |
"}\n", | |
"\n", | |
".xr-var-list,\n", | |
".xr-var-item {\n", | |
" display: contents;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > div,\n", | |
".xr-var-item label,\n", | |
".xr-var-item > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-even);\n", | |
" margin-bottom: 0;\n", | |
"}\n", | |
"\n", | |
".xr-var-item > .xr-var-name:hover span {\n", | |
" padding-right: 5px;\n", | |
"}\n", | |
"\n", | |
".xr-var-list > li:nth-child(odd) > div,\n", | |
".xr-var-list > li:nth-child(odd) > label,\n", | |
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", | |
" background-color: var(--xr-background-color-row-odd);\n", | |
"}\n", | |
"\n", | |
".xr-var-name {\n", | |
" grid-column: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-dims {\n", | |
" grid-column: 2;\n", | |
"}\n", | |
"\n", | |
".xr-var-dtype {\n", | |
" grid-column: 3;\n", | |
" text-align: right;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-var-preview {\n", | |
" grid-column: 4;\n", | |
"}\n", | |
"\n", | |
".xr-index-preview {\n", | |
" grid-column: 2 / 5;\n", | |
" color: var(--xr-font-color2);\n", | |
"}\n", | |
"\n", | |
".xr-var-name,\n", | |
".xr-var-dims,\n", | |
".xr-var-dtype,\n", | |
".xr-preview,\n", | |
".xr-attrs dt {\n", | |
" white-space: nowrap;\n", | |
" overflow: hidden;\n", | |
" text-overflow: ellipsis;\n", | |
" padding-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-var-name:hover,\n", | |
".xr-var-dims:hover,\n", | |
".xr-var-dtype:hover,\n", | |
".xr-attrs dt:hover {\n", | |
" overflow: visible;\n", | |
" width: auto;\n", | |
" z-index: 1;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs,\n", | |
".xr-var-data,\n", | |
".xr-index-data {\n", | |
" display: none;\n", | |
" background-color: var(--xr-background-color) !important;\n", | |
" padding-bottom: 5px !important;\n", | |
"}\n", | |
"\n", | |
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", | |
".xr-var-data-in:checked ~ .xr-var-data,\n", | |
".xr-index-data-in:checked ~ .xr-index-data {\n", | |
" display: block;\n", | |
"}\n", | |
"\n", | |
".xr-var-data > table {\n", | |
" float: right;\n", | |
"}\n", | |
"\n", | |
".xr-var-name span,\n", | |
".xr-var-data,\n", | |
".xr-index-name div,\n", | |
".xr-index-data,\n", | |
".xr-attrs {\n", | |
" padding-left: 25px !important;\n", | |
"}\n", | |
"\n", | |
".xr-attrs,\n", | |
".xr-var-attrs,\n", | |
".xr-var-data,\n", | |
".xr-index-data {\n", | |
" grid-column: 1 / -1;\n", | |
"}\n", | |
"\n", | |
"dl.xr-attrs {\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
" display: grid;\n", | |
" grid-template-columns: 125px auto;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dt,\n", | |
".xr-attrs dd {\n", | |
" padding: 0;\n", | |
" margin: 0;\n", | |
" float: left;\n", | |
" padding-right: 10px;\n", | |
" width: auto;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dt {\n", | |
" font-weight: normal;\n", | |
" grid-column: 1;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dt:hover span {\n", | |
" display: inline-block;\n", | |
" background: var(--xr-background-color);\n", | |
" padding-right: 10px;\n", | |
"}\n", | |
"\n", | |
".xr-attrs dd {\n", | |
" grid-column: 2;\n", | |
" white-space: pre-wrap;\n", | |
" word-break: break-all;\n", | |
"}\n", | |
"\n", | |
".xr-icon-database,\n", | |
".xr-icon-file-text2,\n", | |
".xr-no-icon {\n", | |
" display: inline-block;\n", | |
" vertical-align: middle;\n", | |
" width: 1em;\n", | |
" height: 1.5em !important;\n", | |
" stroke-width: 0;\n", | |
" stroke: currentColor;\n", | |
" fill: currentColor;\n", | |
"}\n", | |
"</style><pre class='xr-text-repr-fallback'><xarray.DataArray 't' (t: 15)>\n", | |
"array(['2019-08-02T00:00:00.000000000', '2019-08-04T00:00:00.000000000',\n", | |
" '2019-08-07T00:00:00.000000000', '2020-08-01T00:00:00.000000000',\n", | |
" '2020-08-03T00:00:00.000000000', '2020-08-06T00:00:00.000000000',\n", | |
" '2020-08-08T00:00:00.000000000', '2021-08-01T00:00:00.000000000',\n", | |
" '2021-08-03T00:00:00.000000000', '2021-08-06T00:00:00.000000000',\n", | |
" '2021-08-08T00:00:00.000000000', '2022-08-01T00:00:00.000000000',\n", | |
" '2022-08-03T00:00:00.000000000', '2022-08-06T00:00:00.000000000',\n", | |
" '2022-08-08T00:00:00.000000000'], dtype='datetime64[ns]')\n", | |
"Coordinates:\n", | |
" * t (t) datetime64[ns] 2019-08-02 2019-08-04 ... 2022-08-06 2022-08-08\n", | |
"Attributes:\n", | |
" standard_name: t\n", | |
" long_name: t\n", | |
" axis: T</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'t'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>t</span>: 15</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-c697afad-089a-43b9-b53d-62cb14a34579' class='xr-array-in' type='checkbox' checked><label for='section-c697afad-089a-43b9-b53d-62cb14a34579' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>2019-08-02 2019-08-04 2019-08-07 ... 2022-08-03 2022-08-06 2022-08-08</span></div><div class='xr-array-data'><pre>array(['2019-08-02T00:00:00.000000000', '2019-08-04T00:00:00.000000000',\n", | |
" '2019-08-07T00:00:00.000000000', '2020-08-01T00:00:00.000000000',\n", | |
" '2020-08-03T00:00:00.000000000', '2020-08-06T00:00:00.000000000',\n", | |
" '2020-08-08T00:00:00.000000000', '2021-08-01T00:00:00.000000000',\n", | |
" '2021-08-03T00:00:00.000000000', '2021-08-06T00:00:00.000000000',\n", | |
" '2021-08-08T00:00:00.000000000', '2022-08-01T00:00:00.000000000',\n", | |
" '2022-08-03T00:00:00.000000000', '2022-08-06T00:00:00.000000000',\n", | |
" '2022-08-08T00:00:00.000000000'], dtype='datetime64[ns]')</pre></div></div></li><li class='xr-section-item'><input id='section-cf65cb22-a747-460e-95da-a2c7472baec4' class='xr-section-summary-in' type='checkbox' checked><label for='section-cf65cb22-a747-460e-95da-a2c7472baec4' class='xr-section-summary' >Coordinates: <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 class='xr-has-index'>t</span></div><div class='xr-var-dims'>(t)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2019-08-02 ... 2022-08-08</div><input id='attrs-dff9f244-81c1-4d58-8e8c-19716f8827f5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-dff9f244-81c1-4d58-8e8c-19716f8827f5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6e229756-10da-4777-94c8-9b6fdbc244d3' class='xr-var-data-in' type='checkbox'><label for='data-6e229756-10da-4777-94c8-9b6fdbc244d3' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>t</dd><dt><span>long_name :</span></dt><dd>t</dd><dt><span>axis :</span></dt><dd>T</dd></dl></div><div class='xr-var-data'><pre>array(['2019-08-02T00:00:00.000000000', '2019-08-04T00:00:00.000000000',\n", | |
" '2019-08-07T00:00:00.000000000', '2020-08-01T00:00:00.000000000',\n", | |
" '2020-08-03T00:00:00.000000000', '2020-08-06T00:00:00.000000000',\n", | |
" '2020-08-08T00:00:00.000000000', '2021-08-01T00:00:00.000000000',\n", | |
" '2021-08-03T00:00:00.000000000', '2021-08-06T00:00:00.000000000',\n", | |
" '2021-08-08T00:00:00.000000000', '2022-08-01T00:00:00.000000000',\n", | |
" '2022-08-03T00:00:00.000000000', '2022-08-06T00:00:00.000000000',\n", | |
" '2022-08-08T00:00:00.000000000'], dtype='datetime64[ns]')</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-c27fd7c4-16a1-45ad-844c-af3b9d16baad' class='xr-section-summary-in' type='checkbox' ><label for='section-c27fd7c4-16a1-45ad-844c-af3b9d16baad' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>t</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-f9aa61b9-e67f-4640-849f-2b96bbf9c09b' class='xr-index-data-in' type='checkbox'/><label for='index-f9aa61b9-e67f-4640-849f-2b96bbf9c09b' 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(['2019-08-02', '2019-08-04', '2019-08-07', '2020-08-01',\n", | |
" '2020-08-03', '2020-08-06', '2020-08-08', '2021-08-01',\n", | |
" '2021-08-03', '2021-08-06', '2021-08-08', '2022-08-01',\n", | |
" '2022-08-03', '2022-08-06', '2022-08-08'],\n", | |
" dtype='datetime64[ns]', name='t', freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-daff5f4a-190c-4480-bda8-3b7623e47f99' class='xr-section-summary-in' type='checkbox' checked><label for='section-daff5f4a-190c-4480-bda8-3b7623e47f99' class='xr-section-summary' >Attributes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>standard_name :</span></dt><dd>t</dd><dt><span>long_name :</span></dt><dd>t</dd><dt><span>axis :</span></dt><dd>T</dd></dl></div></li></ul></div></div>" | |
], | |
"text/plain": [ | |
"<xarray.DataArray 't' (t: 15)>\n", | |
"array(['2019-08-02T00:00:00.000000000', '2019-08-04T00:00:00.000000000',\n", | |
" '2019-08-07T00:00:00.000000000', '2020-08-01T00:00:00.000000000',\n", | |
" '2020-08-03T00:00:00.000000000', '2020-08-06T00:00:00.000000000',\n", | |
" '2020-08-08T00:00:00.000000000', '2021-08-01T00:00:00.000000000',\n", | |
" '2021-08-03T00:00:00.000000000', '2021-08-06T00:00:00.000000000',\n", | |
" '2021-08-08T00:00:00.000000000', '2022-08-01T00:00:00.000000000',\n", | |
" '2022-08-03T00:00:00.000000000', '2022-08-06T00:00:00.000000000',\n", | |
" '2022-08-08T00:00:00.000000000'], dtype='datetime64[ns]')\n", | |
"Coordinates:\n", | |
" * t (t) datetime64[ns] 2019-08-02 2019-08-04 ... 2022-08-06 2022-08-08\n", | |
"Attributes:\n", | |
" standard_name: t\n", | |
" long_name: t\n", | |
" axis: T" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"data = xarray.load_dataset(\"forum617-ndvi.nc\")\n", | |
"data[\"t\"]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "0d46ec66-9f3d-4c66-b81c-ae6fb8e86d3d", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "openeo-client-venv3.9", | |
"language": "python", | |
"name": "openeo-3.9" | |
}, | |
"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.9.15" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment