\n",
" \n",
" \n",
@@ -700,12 +635,12 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 1\n",
+ " 9\n",
+ " 1\n",
"\n",
" \n",
" \n",
- " longitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_east
- standard_name :
- longitude
- long_name :
- longitude
longitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_east
- standard_name :
- longitude
- long_name :
- longitude
\n",
" \n",
" \n",
" \n",
@@ -755,12 +690,12 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 1\n",
+ " 9\n",
+ " 1\n",
"\n",
" \n",
" \n",
- " data (valid_datetime, variable, values) float64 dask.array<chunksize=(732, 2, 9), meta=np.ndarray> - standard_name :
- unknown
- long_name :
- 2 metre dewpoint temperature
- units :
- kelvin
- level_type :
- height_above_ground_level
- ek_grid_spec :
- {"area": [60, 0, 30, 30], "grid": [15, 15]}
\n",
" \n",
" \n",
" \n",
@@ -832,13 +767,13 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 2\n",
- " 732\n",
+ " 9\n",
+ " 2\n",
+ " 732\n",
"\n",
" \n",
" \n",
- " - Conventions :
- CF-1.8
- institution :
- ECMWF
"
+ " |
- Conventions :
- CF-1.8
- institution :
- ECMWF
"
],
"text/plain": [
" Size: 111kB\n",
@@ -984,7 +919,6 @@
" min-width: 300px;\n",
" max-width: 700px;\n",
" line-height: 1.6;\n",
- " padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
@@ -995,11 +929,8 @@
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
- "}\n",
- "\n",
- ".xr-header {\n",
- " border-bottom: solid 1px var(--xr-border-color);\n",
" margin-bottom: 4px;\n",
+ " border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
@@ -1010,15 +941,20 @@
"}\n",
"\n",
".xr-obj-type,\n",
- ".xr-obj-name {\n",
+ ".xr-obj-name,\n",
+ ".xr-group-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
- ".xr-obj-type,\n",
- ".xr-group-box-contents > label {\n",
+ ".xr-group-name::before {\n",
+ " content: \"📁\";\n",
+ " padding-right: 0.3em;\n",
+ "}\n",
+ "\n",
+ ".xr-group-name,\n",
+ ".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
- " display: block;\n",
"}\n",
"\n",
".xr-sections {\n",
@@ -1033,39 +969,28 @@
" display: contents;\n",
"}\n",
"\n",
- ".xr-section-item > input,\n",
- ".xr-group-box-contents > input,\n",
- ".xr-array-wrap > input {\n",
- " display: block;\n",
+ ".xr-section-item input {\n",
+ " display: inline-block;\n",
" opacity: 0;\n",
" height: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
- ".xr-section-item > input + label,\n",
- ".xr-var-item > input + label {\n",
+ ".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
+ " border: 2px solid transparent !important;\n",
"}\n",
"\n",
- ".xr-section-item > input:enabled + label,\n",
- ".xr-var-item > input:enabled + label,\n",
- ".xr-array-wrap > input:enabled + label,\n",
- ".xr-group-box-contents > input:enabled + label {\n",
+ ".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
- ".xr-section-item > input:focus-visible + label,\n",
- ".xr-var-item > input:focus-visible + label,\n",
- ".xr-array-wrap > input:focus-visible + label,\n",
- ".xr-group-box-contents > input:focus-visible + label {\n",
- " outline: auto;\n",
+ ".xr-section-item input:focus + label {\n",
+ " border: 2px solid var(--xr-font-color0) !important;\n",
"}\n",
"\n",
- ".xr-section-item > input:enabled + label:hover,\n",
- ".xr-var-item > input:enabled + label:hover,\n",
- ".xr-array-wrap > input:enabled + label:hover,\n",
- ".xr-group-box-contents > input:enabled + label:hover {\n",
+ ".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
@@ -1073,25 +998,11 @@
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
- " white-space: nowrap;\n",
- "}\n",
- "\n",
- ".xr-section-summary > em {\n",
- " font-weight: normal;\n",
- "}\n",
- "\n",
- ".xr-span-grid {\n",
- " grid-column-end: -1;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
- " padding-left: 0.3em;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label > span {\n",
- " display: inline-block;\n",
- " padding-left: 0.6em;\n",
+ " padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
@@ -1119,8 +1030,7 @@
"}\n",
"\n",
".xr-section-summary,\n",
- ".xr-section-inline-details,\n",
- ".xr-group-box-contents > label {\n",
+ ".xr-section-inline-details {\n",
" padding-top: 4px;\n",
"}\n",
"\n",
@@ -1129,29 +1039,20 @@
"}\n",
"\n",
".xr-section-details {\n",
+ " display: none;\n",
" grid-column: 1 / -1;\n",
" margin-top: 4px;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
- ".xr-section-summary-in ~ .xr-section-details {\n",
- " display: none;\n",
- "}\n",
- "\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
- ".xr-children {\n",
- " display: inline-grid;\n",
- " grid-template-columns: 100%;\n",
- " grid-column: 1 / -1;\n",
- " padding-top: 4px;\n",
- "}\n",
- "\n",
".xr-group-box {\n",
" display: inline-grid;\n",
- " grid-template-columns: 0px 30px auto;\n",
+ " grid-template-columns: 0px 20px auto;\n",
+ " width: 100%;\n",
"}\n",
"\n",
".xr-group-box-vline {\n",
@@ -1165,43 +1066,13 @@
" grid-column-start: 2;\n",
" grid-row-start: 1;\n",
" height: 1em;\n",
- " width: 26px;\n",
+ " width: 20px;\n",
" border-bottom: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
"}\n",
"\n",
".xr-group-box-contents {\n",
" grid-column-start: 3;\n",
- " padding-bottom: 4px;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > label::before {\n",
- " content: \"📂\";\n",
- " padding-right: 0.3em;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label::before {\n",
- " content: \"📁\";\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label {\n",
- " padding-bottom: 0px;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked ~ .xr-sections {\n",
- " display: none;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input + label > span {\n",
- " display: none;\n",
- "}\n",
- "\n",
- ".xr-group-box-ellipsis {\n",
- " font-size: 1.4em;\n",
- " font-weight: 900;\n",
- " color: var(--xr-font-color2);\n",
- " letter-spacing: 0.15em;\n",
- " cursor: default;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
@@ -1443,7 +1314,8 @@
" standard_name: unknown\n",
" long_name: 2 metre dewpoint temperature\n",
" units: kelvin\n",
- " level_type: height_above_ground_leveldask.array<chunksize=(732, 2, 9), meta=np.ndarray> \n",
+ " level_type: height_above_ground_level\n",
+ " ek_grid_spec: {"area": [60, 0, 30, 30], "grid": [15, 15]}dask.array<chunksize=(732, 2, 9), meta=np.ndarray> \n",
" \n",
" \n",
" \n",
@@ -1515,16 +1387,16 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 2\n",
- " 732\n",
+ " 9\n",
+ " 2\n",
+ " 732\n",
"\n",
" \n",
" \n",
- " | valid_datetime (valid_datetime) datetime64[ns] 2020-01-01 ... 2020-12-31T12:00:00 array(['2020-01-01T00:00:00.000000000', '2020-01-01T12:00:00.000000000',\n",
" '2020-01-02T00:00:00.000000000', ..., '2020-12-30T12:00:00.000000000',\n",
" '2020-12-31T00:00:00.000000000', '2020-12-31T12:00:00.000000000'],\n",
- " shape=(732,), dtype='datetime64[ns]')variable (variable) <U2 '2d' '2t' array(['2d', '2t'], dtype='<U2') latitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_north
- standard_name :
- latitude
- long_name :
- latitude
\n",
+ " shape=(732,), dtype='datetime64[ns]')variable (variable) <U2 '2d' '2t' array(['2d', '2t'], dtype='<U2') latitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_north
- standard_name :
- latitude
- long_name :
- latitude
\n",
" \n",
" \n",
" \n",
@@ -1574,12 +1446,12 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 1\n",
+ " 9\n",
+ " 1\n",
"\n",
" \n",
" \n",
- " longitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_east
- standard_name :
- longitude
- long_name :
- longitude
longitude (values) float64 dask.array<chunksize=(9,), meta=np.ndarray> - units :
- degrees_east
- standard_name :
- longitude
- long_name :
- longitude
\n",
" \n",
" \n",
" \n",
@@ -1629,12 +1501,12 @@
" \n",
"\n",
" \n",
- " 9\n",
- " 1\n",
+ " 9\n",
+ " 1\n",
"\n",
" \n",
" \n",
- " - standard_name :
- unknown
- long_name :
- 2 metre dewpoint temperature
- units :
- kelvin
- level_type :
- height_above_ground_level
"
+ " | - standard_name :
- unknown
- long_name :
- 2 metre dewpoint temperature
- units :
- kelvin
- level_type :
- height_above_ground_level
- ek_grid_spec :
- {"area": [60, 0, 30, 30], "grid": [15, 15]}
"
],
"text/plain": [
" Size: 105kB\n",
@@ -1649,7 +1521,8 @@
" standard_name: unknown\n",
" long_name: 2 metre dewpoint temperature\n",
" units: kelvin\n",
- " level_type: height_above_ground_level"
+ " level_type: height_above_ground_level\n",
+ " ek_grid_spec: {\"area\": [60, 0, 30, 30], \"grid\": [15, 15]}"
]
},
"execution_count": 3,
@@ -1680,7 +1553,7 @@
"id": "7db65a70-e815-4e81-835e-2a705251355d",
"metadata": {},
"source": [
- "We add the ensemble member as an additional dimension to the generated Xarray. Because the input is not ensemble data the value of the \"number\" GRIB key can be missing. So we need to provide a meaningful default with the ``fill_metadata`` kwarg to be able to build the \"number\" dimension."
+ "We add the ensemble member as an additional dimension to the generated Xarray. Because the input is not ensemble data the value of the ``ensemble.member`` can be None for some/all fields preventing us from forming this dimension. To overcome this problem we provide a meaningful default with the ``fill_metadata`` kwarg."
]
},
{
@@ -1689,14 +1562,6 @@
"id": "6f2a78d3-3ace-49e7-a99e-49154bd17620",
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "GribToSpec: inconsistent increment: 'iDirectionIncrementInDegrees'=15.000000 ~= -165.000000 (calculated from 'longitudeOfFirstGridPointInDegrees'=360.000000, 'longitudeOfLastGridPointInDegrees'=30.000000, 'Ni'=3, 'iScansPositively'=1)\n",
- "GribToSpec: inconsistent increment: 'iDirectionIncrementInDegrees'=15.000000 ~= -165.000000 (calculated from 'longitudeOfFirstGridPointInDegrees'=360.000000, 'longitudeOfLastGridPointInDegrees'=30.000000, 'Ni'=3, 'iScansPositively'=1)\n"
- ]
- },
{
"data": {
"text/html": [
@@ -1795,7 +1660,6 @@
" min-width: 300px;\n",
" max-width: 700px;\n",
" line-height: 1.6;\n",
- " padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
@@ -1806,11 +1670,8 @@
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
- "}\n",
- "\n",
- ".xr-header {\n",
- " border-bottom: solid 1px var(--xr-border-color);\n",
" margin-bottom: 4px;\n",
+ " border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
@@ -1821,15 +1682,20 @@
"}\n",
"\n",
".xr-obj-type,\n",
- ".xr-obj-name {\n",
+ ".xr-obj-name,\n",
+ ".xr-group-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
- ".xr-obj-type,\n",
- ".xr-group-box-contents > label {\n",
+ ".xr-group-name::before {\n",
+ " content: \"📁\";\n",
+ " padding-right: 0.3em;\n",
+ "}\n",
+ "\n",
+ ".xr-group-name,\n",
+ ".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
- " display: block;\n",
"}\n",
"\n",
".xr-sections {\n",
@@ -1844,39 +1710,28 @@
" display: contents;\n",
"}\n",
"\n",
- ".xr-section-item > input,\n",
- ".xr-group-box-contents > input,\n",
- ".xr-array-wrap > input {\n",
- " display: block;\n",
+ ".xr-section-item input {\n",
+ " display: inline-block;\n",
" opacity: 0;\n",
" height: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
- ".xr-section-item > input + label,\n",
- ".xr-var-item > input + label {\n",
+ ".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
+ " border: 2px solid transparent !important;\n",
"}\n",
"\n",
- ".xr-section-item > input:enabled + label,\n",
- ".xr-var-item > input:enabled + label,\n",
- ".xr-array-wrap > input:enabled + label,\n",
- ".xr-group-box-contents > input:enabled + label {\n",
+ ".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
- ".xr-section-item > input:focus-visible + label,\n",
- ".xr-var-item > input:focus-visible + label,\n",
- ".xr-array-wrap > input:focus-visible + label,\n",
- ".xr-group-box-contents > input:focus-visible + label {\n",
- " outline: auto;\n",
+ ".xr-section-item input:focus + label {\n",
+ " border: 2px solid var(--xr-font-color0) !important;\n",
"}\n",
"\n",
- ".xr-section-item > input:enabled + label:hover,\n",
- ".xr-var-item > input:enabled + label:hover,\n",
- ".xr-array-wrap > input:enabled + label:hover,\n",
- ".xr-group-box-contents > input:enabled + label:hover {\n",
+ ".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
@@ -1884,25 +1739,11 @@
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
- " white-space: nowrap;\n",
- "}\n",
- "\n",
- ".xr-section-summary > em {\n",
- " font-weight: normal;\n",
- "}\n",
- "\n",
- ".xr-span-grid {\n",
- " grid-column-end: -1;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
- " padding-left: 0.3em;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label > span {\n",
- " display: inline-block;\n",
- " padding-left: 0.6em;\n",
+ " padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
@@ -1930,8 +1771,7 @@
"}\n",
"\n",
".xr-section-summary,\n",
- ".xr-section-inline-details,\n",
- ".xr-group-box-contents > label {\n",
+ ".xr-section-inline-details {\n",
" padding-top: 4px;\n",
"}\n",
"\n",
@@ -1940,29 +1780,20 @@
"}\n",
"\n",
".xr-section-details {\n",
+ " display: none;\n",
" grid-column: 1 / -1;\n",
" margin-top: 4px;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
- ".xr-section-summary-in ~ .xr-section-details {\n",
- " display: none;\n",
- "}\n",
- "\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
- ".xr-children {\n",
- " display: inline-grid;\n",
- " grid-template-columns: 100%;\n",
- " grid-column: 1 / -1;\n",
- " padding-top: 4px;\n",
- "}\n",
- "\n",
".xr-group-box {\n",
" display: inline-grid;\n",
- " grid-template-columns: 0px 30px auto;\n",
+ " grid-template-columns: 0px 20px auto;\n",
+ " width: 100%;\n",
"}\n",
"\n",
".xr-group-box-vline {\n",
@@ -1976,43 +1807,13 @@
" grid-column-start: 2;\n",
" grid-row-start: 1;\n",
" height: 1em;\n",
- " width: 26px;\n",
+ " width: 20px;\n",
" border-bottom: 0.2em solid;\n",
" border-color: var(--xr-border-color);\n",
"}\n",
"\n",
".xr-group-box-contents {\n",
" grid-column-start: 3;\n",
- " padding-bottom: 4px;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > label::before {\n",
- " content: \"📂\";\n",
- " padding-right: 0.3em;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label::before {\n",
- " content: \"📁\";\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked + label {\n",
- " padding-bottom: 0px;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input:checked ~ .xr-sections {\n",
- " display: none;\n",
- "}\n",
- "\n",
- ".xr-group-box-contents > input + label > span {\n",
- " display: none;\n",
- "}\n",
- "\n",
- ".xr-group-box-ellipsis {\n",
- " font-size: 1.4em;\n",
- " font-weight: 900;\n",
- " color: var(--xr-font-color2);\n",
- " letter-spacing: 0.15em;\n",
- " cursor: default;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
@@ -2243,22 +2044,22 @@
" stroke-width: 0.8px;\n",
"}\n",
"<xarray.Dataset> Size: 111kB\n",
- "Dimensions: (valid_datetime: 732, variable: 2, number: 1, values: 9)\n",
+ "Dimensions: (valid_datetime: 732, variable: 2, member: 1, values: 9)\n",
"Coordinates:\n",
" * valid_datetime (valid_datetime) datetime64[ns] 6kB 2020-01-01 ... 2020-1...\n",
" * variable (variable) <U2 16B '2d' '2t'\n",
- " * number (number) int64 8B 0\n",
+ " * member (member) <U1 4B '0'\n",
" latitude (values) float64 72B dask.array<chunksize=(9,), meta=np.ndarray>\n",
" longitude (values) float64 72B dask.array<chunksize=(9,), meta=np.ndarray>\n",
"Dimensions without coordinates: values\n",
"Data variables:\n",
- " data (valid_datetime, variable, number, values) float64 105kB dask.array<chunksize=(732, 2, 1, 9), meta=np.ndarray>\n",
+ " data (valid_datetime, variable, member, values) float64 105kB dask.array<chunksize=(732, 2, 1, 9), meta=np.ndarray>\n",
"Attributes:\n",
" Conventions: CF-1.8\n",
- " institution: ECMWF |
| |