From 7de44f449669f331fe78a4fbb4b7b95e4d2af114 Mon Sep 17 00:00:00 2001 From: Pawel Wolff Date: Wed, 1 Apr 2026 01:00:25 +0200 Subject: [PATCH] Docstrings for to_xarray() and open_dataset() revised Rendering a field into HTML fixed Remaining xr-engine how-to notebooks revised --- .../xr_engine/xarray_engine_chunks.ipynb | 257 +++++++-- ...xarray_engine_chunks_on_dask_cluster.ipynb | 325 +++++++---- .../xr_engine/xarray_engine_ensemble.ipynb | 248 ++++++-- .../xr_engine/xarray_engine_field_dims.ipynb | 67 +-- .../xr_engine/xarray_engine_holes.ipynb | 134 ++++- .../xarray_engine_mono_variable.ipynb | 477 +++++++++++----- ...array_engine_mono_variable_remapping.ipynb | 302 +++++++--- .../xr_engine/xarray_engine_split.ipynb | 139 +++-- .../xr_engine/xarray_engine_to_grib.ipynb | 197 ++++--- .../xarray_engine_variable_key.ipynb | 530 +++++++++++++----- src/earthkit/data/indexing/xarray.py | 115 ++-- src/earthkit/data/utils/html.py | 2 +- src/earthkit/data/xr_engine/engine.py | 95 ++-- 13 files changed, 2047 insertions(+), 841 deletions(-) diff --git a/docs/source/how-tos/xr_engine/xarray_engine_chunks.ipynb b/docs/source/how-tos/xr_engine/xarray_engine_chunks.ipynb index 489e33e6f..4ba4f3123 100644 --- a/docs/source/how-tos/xr_engine/xarray_engine_chunks.ipynb +++ b/docs/source/how-tos/xr_engine/xarray_engine_chunks.ipynb @@ -26,7 +26,7 @@ "tags": [] }, "source": [ - "This notebook demonstrates how to use chunking in computations when a GRIB fieldlist is converted to to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray`. Chunking can be used to handle data that does not fit into memory." + "This notebook demonstrates how to use chunking in computations when a GRIB fieldlist is converted to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray`. Chunking can be used to handle data that does not fit into memory." ] }, { @@ -55,6 +55,13 @@ "tags": [] }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " " + ] + }, { "data": { "text/plain": [ @@ -197,6 +204,7 @@ " min-width: 300px;\n", " max-width: 700px;\n", " line-height: 1.6;\n", + " padding-bottom: 4px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", @@ -207,8 +215,11 @@ ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", + "}\n", + "\n", + ".xr-header {\n", " border-bottom: solid 1px var(--xr-border-color);\n", + " margin-bottom: 4px;\n", "}\n", "\n", ".xr-header > div,\n", @@ -219,20 +230,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -247,28 +253,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -276,11 +293,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -308,7 +339,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -317,20 +349,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -344,13 +385,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -590,7 +661,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level" + " shape=(732,), dtype='datetime64[ns]')
  • latitude
    (latitude)
    float64
    90.0 75.0 60.0 ... -75.0 -90.0
    units :
    degrees_north
    standard_name :
    latitude
    long_name :
    latitude
    array([ 90.,  75.,  60.,  45.,  30.,  15.,   0., -15., -30., -45., -60., -75.,\n",
    +       "       -90.])
  • longitude
    (longitude)
    float64
    0.0 15.0 30.0 ... 315.0 330.0 345.0
    units :
    degrees_east
    standard_name :
    longitude
    long_name :
    longitude
    array([  0.,  15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,\n",
    +       "       180., 195., 210., 225., 240., 255., 270., 285., 300., 315., 330., 345.])
  • standard_name :
    air_temperature
    long_name :
    2 metre temperature
    units :
    kelvin
    level_type :
    height_above_ground_level
  • " ], "text/plain": [ " Size: 2MB\n", @@ -859,6 +930,7 @@ " min-width: 300px;\n", " max-width: 700px;\n", " line-height: 1.6;\n", + " padding-bottom: 4px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", @@ -869,8 +941,11 @@ ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", + "}\n", + "\n", + ".xr-header {\n", " border-bottom: solid 1px var(--xr-border-color);\n", + " margin-bottom: 4px;\n", "}\n", "\n", ".xr-header > div,\n", @@ -881,20 +956,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -909,28 +979,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -938,11 +1019,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -970,7 +1065,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -979,20 +1075,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -1006,13 +1111,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -1291,7 +1426,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level
    • latitude
      (latitude)
      float64
      90.0 75.0 60.0 ... -75.0 -90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([ 90.,  75.,  60.,  45.,  30.,  15.,   0., -15., -30., -45., -60., -75.,\n",
      +       "       -90.])
    • longitude
      (longitude)
      float64
      0.0 15.0 30.0 ... 315.0 330.0 345.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([  0.,  15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,\n",
      +       "       180., 195., 210., 225., 240., 255., 270., 285., 300., 315., 330., 345.])
  • standard_name :
    air_temperature
    long_name :
    2 metre temperature
    units :
    kelvin
    level_type :
    height_above_ground_level
  • " ], "text/plain": [ " Size: 2kB\n", diff --git a/docs/source/how-tos/xr_engine/xarray_engine_chunks_on_dask_cluster.ipynb b/docs/source/how-tos/xr_engine/xarray_engine_chunks_on_dask_cluster.ipynb index 65449e8b9..2346682b2 100644 --- a/docs/source/how-tos/xr_engine/xarray_engine_chunks_on_dask_cluster.ipynb +++ b/docs/source/how-tos/xr_engine/xarray_engine_chunks_on_dask_cluster.ipynb @@ -26,7 +26,7 @@ "tags": [] }, "source": [ - "This notebook demonstrates how to use chunking in computations when a GRIB fieldlist is converted to to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray`. Chunking can be used to handle data that does not fit into memory. \n", + "This notebook demonstrates how to use chunking in computations when a GRIB fieldlist is converted to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray`. Chunking can be used to handle data that does not fit into memory. \n", "\n", "In this example the data processing runs on a Dask cluster and is distributed among several Dask workers." ] @@ -52,7 +52,7 @@ "
    \n", "
    \n", "

    Client

    \n", - "

    Client-b46a8598-2b8b-11f1-8e5d-4ea7d729840e

    \n", + "

    Client-ab8a7f08-2d40-11f1-998b-eaf1d86be156

    \n", " \n", "\n", " \n", @@ -83,7 +83,7 @@ " \n", "
    \n", "

    LocalCluster

    \n", - "

    b5af3864

    \n", + "

    62eb83de

    \n", "
    \n", " \n", "
    \n", @@ -120,11 +120,11 @@ "
    \n", "
    \n", "

    Scheduler

    \n", - "

    Scheduler-2aab23ce-4a16-4e5f-9e88-37b0fccde72d

    \n", + "

    Scheduler-6fea0535-cd89-4a31-88dc-d51d651d1d48

    \n", " \n", " \n", " \n", "
    \n", - " Comm: tcp://127.0.0.1:64766\n", + " Comm: tcp://127.0.0.1:52883\n", " \n", " Workers: 0 \n", @@ -166,7 +166,7 @@ " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -211,7 +211,7 @@ "
    \n", - " Comm: tcp://127.0.0.1:64801\n", + " Comm: tcp://127.0.0.1:52909\n", " \n", " Total threads: 2\n", @@ -174,7 +174,7 @@ "
    \n", - " Dashboard: http://127.0.0.1:64804/status\n", + " Dashboard: http://127.0.0.1:52914/status\n", " \n", " Memory: 3.20 GiB\n", @@ -182,13 +182,13 @@ "
    \n", - " Nanny: tcp://127.0.0.1:64769\n", + " Nanny: tcp://127.0.0.1:52886\n", "
    \n", - " Local directory: /var/folders/93/w0p869rx17q98wxk83gn9ys40000gn/T/dask-scratch-space/worker-yokkov3y\n", + " Local directory: /var/folders/fj/lrpq2ljj3js9t8d_b24cv_zc0000gn/T/dask-scratch-space/worker-_3aie_zx\n", "
    \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -256,7 +256,7 @@ "
    \n", - " Comm: tcp://127.0.0.1:64798\n", + " Comm: tcp://127.0.0.1:52912\n", " \n", " Total threads: 2\n", @@ -219,7 +219,7 @@ "
    \n", - " Dashboard: http://127.0.0.1:64806/status\n", + " Dashboard: http://127.0.0.1:52915/status\n", " \n", " Memory: 3.20 GiB\n", @@ -227,13 +227,13 @@ "
    \n", - " Nanny: tcp://127.0.0.1:64771\n", + " Nanny: tcp://127.0.0.1:52888\n", "
    \n", - " Local directory: /var/folders/93/w0p869rx17q98wxk83gn9ys40000gn/T/dask-scratch-space/worker-n7oh4nlb\n", + " Local directory: /var/folders/fj/lrpq2ljj3js9t8d_b24cv_zc0000gn/T/dask-scratch-space/worker-w4_f90ss\n", "
    \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -301,7 +301,7 @@ "
    \n", - " Comm: tcp://127.0.0.1:64797\n", + " Comm: tcp://127.0.0.1:52908\n", " \n", " Total threads: 2\n", @@ -264,7 +264,7 @@ "
    \n", - " Dashboard: http://127.0.0.1:64803/status\n", + " Dashboard: http://127.0.0.1:52917/status\n", " \n", " Memory: 3.20 GiB\n", @@ -272,13 +272,13 @@ "
    \n", - " Nanny: tcp://127.0.0.1:64773\n", + " Nanny: tcp://127.0.0.1:52890\n", "
    \n", - " Local directory: /var/folders/93/w0p869rx17q98wxk83gn9ys40000gn/T/dask-scratch-space/worker-aceut1ax\n", + " Local directory: /var/folders/fj/lrpq2ljj3js9t8d_b24cv_zc0000gn/T/dask-scratch-space/worker-7yfv33nq\n", "
    \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -346,7 +346,7 @@ "
    \n", - " Comm: tcp://127.0.0.1:64800\n", + " Comm: tcp://127.0.0.1:52910\n", " \n", " Total threads: 2\n", @@ -309,7 +309,7 @@ "
    \n", - " Dashboard: http://127.0.0.1:64807/status\n", + " Dashboard: http://127.0.0.1:52916/status\n", " \n", " Memory: 3.20 GiB\n", @@ -317,13 +317,13 @@ "
    \n", - " Nanny: tcp://127.0.0.1:64775\n", + " Nanny: tcp://127.0.0.1:52892\n", "
    \n", - " Local directory: /var/folders/93/w0p869rx17q98wxk83gn9ys40000gn/T/dask-scratch-space/worker-5hsz4xyk\n", + " Local directory: /var/folders/fj/lrpq2ljj3js9t8d_b24cv_zc0000gn/T/dask-scratch-space/worker-bfol2333\n", "
    \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", @@ -395,7 +395,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 1, @@ -438,18 +438,11 @@ }, "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dba6a06182e94e308065e4ad8dabe6db", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "t2_1_year_hourly.grib: 0%| | 0.00/429k [00:00 div,\n", @@ -615,20 +612,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -643,28 +635,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -672,11 +675,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -704,7 +721,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -713,20 +731,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -740,13 +767,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -986,8 +1043,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level\n", - " ek_grid_spec: {"grid": [15, 15]}
    \n", - " Comm: tcp://127.0.0.1:64799\n", + " Comm: tcp://127.0.0.1:52911\n", " \n", " Total threads: 2\n", @@ -354,7 +354,7 @@ "
    \n", - " Dashboard: http://127.0.0.1:64805/status\n", + " Dashboard: http://127.0.0.1:52918/status\n", " \n", " Memory: 3.20 GiB\n", @@ -362,13 +362,13 @@ "
    \n", - " Nanny: tcp://127.0.0.1:64777\n", + " Nanny: tcp://127.0.0.1:52894\n", "
    \n", - " Local directory: /var/folders/93/w0p869rx17q98wxk83gn9ys40000gn/T/dask-scratch-space/worker-877h1bth\n", + " Local directory: /var/folders/fj/lrpq2ljj3js9t8d_b24cv_zc0000gn/T/dask-scratch-space/worker-zviojq5_\n", "
    \n", + " level_type: height_above_ground_level
    \n", " \n", "
    \n", " \n", @@ -1095,18 +1151,18 @@ " \n", "\n", " \n", - " 24\n", - " 13\n", - " 732\n", + " 24\n", + " 13\n", + " 732\n", "\n", " \n", " \n", - "
    • valid_time
      (valid_time)
      datetime64[ns]
      2020-01-01 ... 2020-12-31T06:00:00
      array(['2020-01-01T00:00:00.000000000', '2020-01-01T06:00:00.000000000',\n",
      +       "
    • valid_time
      (valid_time)
      datetime64[ns]
      2020-01-01 ... 2020-12-31T06:00:00
      array(['2020-01-01T00:00:00.000000000', '2020-01-01T06:00:00.000000000',\n",
              "       '2020-01-02T00:00:00.000000000', ..., '2020-12-30T06:00:00.000000000',\n",
              "       '2020-12-31T00:00:00.000000000', '2020-12-31T06:00:00.000000000'],\n",
      -       "      shape=(732,), dtype='datetime64[ns]')
    • latitude
      (latitude)
      float64
      90.0 75.0 60.0 ... -75.0 -90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([ 90.,  75.,  60.,  45.,  30.,  15.,   0., -15., -30., -45., -60., -75.,\n",
      -       "       -90.])
    • longitude
      (longitude)
      float64
      0.0 15.0 30.0 ... 315.0 330.0 345.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([  0.,  15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,\n",
      -       "       180., 195., 210., 225., 240., 255., 270., 285., 300., 315., 330., 345.])
  • standard_name :
    air_temperature
    long_name :
    2 metre temperature
    units :
    kelvin
    level_type :
    height_above_ground_level
    ek_grid_spec :
    {"grid": [15, 15]}
  • " + " shape=(732,), dtype='datetime64[ns]')
  • latitude
    (latitude)
    float64
    90.0 75.0 60.0 ... -75.0 -90.0
    units :
    degrees_north
    standard_name :
    latitude
    long_name :
    latitude
    array([ 90.,  75.,  60.,  45.,  30.,  15.,   0., -15., -30., -45., -60., -75.,\n",
    +       "       -90.])
  • longitude
    (longitude)
    float64
    0.0 15.0 30.0 ... 315.0 330.0 345.0
    units :
    degrees_east
    standard_name :
    longitude
    long_name :
    longitude
    array([  0.,  15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,\n",
    +       "       180., 195., 210., 225., 240., 255., 270., 285., 300., 315., 330., 345.])
  • standard_name :
    air_temperature
    long_name :
    2 metre temperature
    units :
    kelvin
    level_type :
    height_above_ground_level
  • " ], "text/plain": [ " Size: 2MB\n", @@ -1119,8 +1175,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level\n", - " ek_grid_spec: {\"grid\": [15, 15]}" + " level_type: height_above_ground_level" ] }, "execution_count": 3, @@ -1257,6 +1312,7 @@ " min-width: 300px;\n", " max-width: 700px;\n", " line-height: 1.6;\n", + " padding-bottom: 4px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", @@ -1267,8 +1323,11 @@ ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", + "}\n", + "\n", + ".xr-header {\n", " border-bottom: solid 1px var(--xr-border-color);\n", + " margin-bottom: 4px;\n", "}\n", "\n", ".xr-header > div,\n", @@ -1279,20 +1338,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -1307,28 +1361,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -1336,11 +1401,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -1368,7 +1447,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -1377,20 +1457,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -1404,13 +1493,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -1689,8 +1808,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level\n", - " ek_grid_spec: {"grid": [15, 15]}
    • latitude
      (latitude)
      float64
      90.0 75.0 60.0 ... -75.0 -90.0
      units :
      degrees_north
      standard_name :
      latitude
      long_name :
      latitude
      array([ 90.,  75.,  60.,  45.,  30.,  15.,   0., -15., -30., -45., -60., -75.,\n",
      +       "       -90.])
    • longitude
      (longitude)
      float64
      0.0 15.0 30.0 ... 315.0 330.0 345.0
      units :
      degrees_east
      standard_name :
      longitude
      long_name :
      longitude
      array([  0.,  15.,  30.,  45.,  60.,  75.,  90., 105., 120., 135., 150., 165.,\n",
      +       "       180., 195., 210., 225., 240., 255., 270., 285., 300., 315., 330., 345.])
  • standard_name :
    air_temperature
    long_name :
    2 metre temperature
    units :
    kelvin
    level_type :
    height_above_ground_level
  • " ], "text/plain": [ " Size: 2kB\n", @@ -1784,8 +1902,7 @@ " standard_name: air_temperature\n", " long_name: 2 metre temperature\n", " units: kelvin\n", - " level_type: height_above_ground_level\n", - " ek_grid_spec: {\"grid\": [15, 15]}" + " level_type: height_above_ground_level" ] }, "execution_count": 4, diff --git a/docs/source/how-tos/xr_engine/xarray_engine_ensemble.ipynb b/docs/source/how-tos/xr_engine/xarray_engine_ensemble.ipynb index c8ac32cdc..27b219d89 100644 --- a/docs/source/how-tos/xr_engine/xarray_engine_ensemble.ipynb +++ b/docs/source/how-tos/xr_engine/xarray_engine_ensemble.ipynb @@ -39,7 +39,15 @@ }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " " + ] + } + ], "source": [ "import earthkit.data as ekd\n", "\n", @@ -315,6 +323,7 @@ " min-width: 300px;\n", " max-width: 700px;\n", " line-height: 1.6;\n", + " padding-bottom: 4px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", @@ -325,8 +334,11 @@ ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", + "}\n", + "\n", + ".xr-header {\n", " border-bottom: solid 1px var(--xr-border-color);\n", + " margin-bottom: 4px;\n", "}\n", "\n", ".xr-header > div,\n", @@ -337,20 +349,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -365,28 +372,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -394,11 +412,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -426,7 +458,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -435,20 +468,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -462,13 +504,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -709,10 +781,10 @@ " t (member, step, latitude, longitude) float64 33kB ...\n", "Attributes:\n", " Conventions: CF-1.8\n", - " institution: ECMWF
    • t
      (member, step, latitude, longitude)
      float64
      ...
      standard_name :
      air_temperature
      long_name :
      Temperature
      units :
      kelvin
      level_type :
      pressure
      _earthkit :
      {'message': b"GRIB\\x00\\x00\\xa2\\x01\\x00\\x00j\\x80b\\x9a\\xff\\x80\\x82d\\x01\\xf4\\x18\\x06\\x03\\x00\\x00\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1e\\x01\\n\\x04\\x0b0001\\x003\\x02\\x00\\x00\\x00\\x014\\xd8\\xdb\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 \\x00\\xff\\x00\\x00$\\x00\\x13\\x01_\\x90\\x00\\x00\\x00\\x80\\x81_\\x90\\x05W0'\\x10'\\x10\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x80\\x02D\\xb9}n\\x00\\x007777", 'bitsPerValue': 12}
      [4104 values with dtype=float64]
  • Conventions :
    CF-1.8
    institution :
    ECMWF
  • " ], "text/plain": [ " Size: 33kB\n", @@ -750,7 +822,7 @@ "tags": [] }, "source": [ - "This default behaviour can be overridden by specifying custom ``dim_roles``. E.g. to get the ensemble member number from the \"perturbatioNumber\" key we can use:" + "This default behaviour can be overridden by specifying custom ``dim_roles``. E.g. to get the ensemble member number from the \"perturbationNumber\" GRIB key we can use:" ] }, { @@ -857,6 +929,7 @@ " min-width: 300px;\n", " max-width: 700px;\n", " line-height: 1.6;\n", + " padding-bottom: 4px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", @@ -867,8 +940,11 @@ ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", - " margin-bottom: 4px;\n", + "}\n", + "\n", + ".xr-header {\n", " border-bottom: solid 1px var(--xr-border-color);\n", + " margin-bottom: 4px;\n", "}\n", "\n", ".xr-header > div,\n", @@ -879,20 +955,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -907,28 +978,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -936,11 +1018,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -968,7 +1064,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -977,20 +1074,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -1004,13 +1110,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -1251,10 +1387,10 @@ " t (member, step, latitude, longitude) float64 33kB ...\n", "Attributes:\n", " Conventions: CF-1.8\n", - " institution: ECMWF
    • t
      (member, step, latitude, longitude)
      float64
      ...
      standard_name :
      air_temperature
      long_name :
      Temperature
      units :
      kelvin
      level_type :
      pressure
      _earthkit :
      {'message': b"GRIB\\x00\\x00\\xa2\\x01\\x00\\x00j\\x80b\\x9a\\xff\\x80\\x82d\\x01\\xf4\\x18\\x06\\x03\\x00\\x00\\x01\\x00\\x00\\x01\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x1e\\x01\\n\\x04\\x0b0001\\x003\\x02\\x00\\x00\\x00\\x014\\xd8\\xdb\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 \\x00\\xff\\x00\\x00$\\x00\\x13\\x01_\\x90\\x00\\x00\\x00\\x80\\x81_\\x90\\x05W0'\\x10'\\x10\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0c\\x00\\x80\\x02D\\xb9}n\\x00\\x007777", 'bitsPerValue': 12}
      [4104 values with dtype=float64]
  • Conventions :
    CF-1.8
    institution :
    ECMWF
  • " ], "text/plain": [ " Size: 33kB\n", diff --git a/docs/source/how-tos/xr_engine/xarray_engine_field_dims.ipynb b/docs/source/how-tos/xr_engine/xarray_engine_field_dims.ipynb index 6fecbec8e..8d868985c 100644 --- a/docs/source/how-tos/xr_engine/xarray_engine_field_dims.ipynb +++ b/docs/source/how-tos/xr_engine/xarray_engine_field_dims.ipynb @@ -42,9 +42,9 @@ "tags": [] }, "source": [ - "When converting a GRIB fieldlist to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray` the last one or two dimensions representing the field values depend on the grid type and the ``flatten_values`` settings. \n", + "When converting a GRIB fieldlist to Xarray with :py:meth:`~earthkit.data.indexing.xarray.XarrayMixIn.to_xarray` the last one or two dimensions—representing the field values—depend on the grid type and the ``flatten_values`` setting. \n", "\n", - "When ``flatten_values`` is False (the is the default, depending on the profile) the field shape is used to form the field dimensions, whose names vary with the grid type. Otherwise, a single dimension called \"values\" will represent a field." + "When ``flatten_values`` is ``False`` (the default, unless overriden by the selected ``profile``), the native field shape defines these dimensions, and their names vary with the grid type. Otherwise, a single dimension called \"values\" will represent a field." ] }, { @@ -73,6 +73,13 @@ "tags": [] }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " " + ] + }, { "data": { "text/plain": [ @@ -157,33 +164,23 @@ }, "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cb5b551ef7ea43af902b2284e134f721", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "lambert_conformal.grib: 0%| | 0.00/55.5k [00:00 div,\n", @@ -251,20 +263,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -279,28 +286,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -308,11 +326,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -340,7 +372,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -349,20 +382,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -376,13 +418,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -624,7 +696,7 @@ " v (level, latitude, longitude) float64 4kB ...\n", "Attributes:\n", " Conventions: CF-1.8\n", - " institution: ECMWF" + " institution: ECMWF" ], "text/plain": [ " Size: 12kB\n", @@ -663,7 +735,7 @@ "tags": [] }, "source": [ - "The resulting dataset works as expected but when we slice into the holes ``nans`` are returned." + "The resulting dataset works as expected but when we slice into the holes ``NaNs`` are returned." ] }, { @@ -768,6 +840,14 @@ "source": [ "ds.u.sel(level=[500, 300]).values" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "472bb7e7-f669-4146-9435-42940e97af60", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/docs/source/how-tos/xr_engine/xarray_engine_mono_variable.ipynb b/docs/source/how-tos/xr_engine/xarray_engine_mono_variable.ipynb index eb61234d5..58fd8a8f0 100644 --- a/docs/source/how-tos/xr_engine/xarray_engine_mono_variable.ipynb +++ b/docs/source/how-tos/xr_engine/xarray_engine_mono_variable.ipynb @@ -13,7 +13,7 @@ "id": "8b3010be-7895-4fd2-8ad6-a57db7845396", "metadata": {}, "source": [ - "This notebook demonstrates how to generate an Xarray with a single dataarray containing all the parameters from a GRIB fieldlist. This data structure is often needed for machine learning." + "This notebook demonstrates how to generate an Xarray with a single DataArray containing all the parameters from a GRIB fieldlist. This data structure is often needed for machine learning." ] }, { @@ -31,18 +31,11 @@ "metadata": {}, "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "30d3e7440b1c464a8350e93972f54b47", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "t2_td2_1_year.grib: 0%| | 0.00/515k [00:00 div,\n", @@ -209,20 +214,15 @@ "}\n", "\n", ".xr-obj-type,\n", - ".xr-obj-name,\n", - ".xr-group-name {\n", + ".xr-obj-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", - ".xr-group-name::before {\n", - " content: \"📁\";\n", - " padding-right: 0.3em;\n", - "}\n", - "\n", - ".xr-group-name,\n", - ".xr-obj-type {\n", + ".xr-obj-type,\n", + ".xr-group-box-contents > label {\n", " color: var(--xr-font-color2);\n", + " display: block;\n", "}\n", "\n", ".xr-sections {\n", @@ -237,28 +237,39 @@ " display: contents;\n", "}\n", "\n", - ".xr-section-item input {\n", - " display: inline-block;\n", + ".xr-section-item > input,\n", + ".xr-group-box-contents > input,\n", + ".xr-array-wrap > input {\n", + " display: block;\n", " opacity: 0;\n", " height: 0;\n", " margin: 0;\n", "}\n", "\n", - ".xr-section-item input + label {\n", + ".xr-section-item > input + label,\n", + ".xr-var-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-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", " 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) !important;\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", "}\n", "\n", - ".xr-section-item input:enabled + label:hover {\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", " color: var(--xr-font-color0);\n", "}\n", "\n", @@ -266,11 +277,25 @@ " 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.5em;\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", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", @@ -298,7 +323,8 @@ "}\n", "\n", ".xr-section-summary,\n", - ".xr-section-inline-details {\n", + ".xr-section-inline-details,\n", + ".xr-group-box-contents > label {\n", " padding-top: 4px;\n", "}\n", "\n", @@ -307,20 +333,29 @@ "}\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 20px auto;\n", - " width: 100%;\n", + " grid-template-columns: 0px 30px auto;\n", "}\n", "\n", ".xr-group-box-vline {\n", @@ -334,13 +369,43 @@ " grid-column-start: 2;\n", " grid-row-start: 1;\n", " height: 1em;\n", - " width: 20px;\n", + " width: 26px;\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", @@ -582,10 +647,10 @@ " data (valid_datetime, variable, values) float64 105kB dask.array<chunksize=(732, 2, 9), meta=np.ndarray>\n", "Attributes:\n", " Conventions: CF-1.8\n", - " institution: ECMWF