diff --git a/.github/ci-hpc-config.yml b/.github/ci-hpc-config.yml index 135774d..e945fa3 100644 --- a/.github/ci-hpc-config.yml +++ b/.github/ci-hpc-config.yml @@ -13,6 +13,10 @@ build: python_dependencies: - ecmwf/eccodes-python@develop - ecmwf/pyodc@develop + - ecmwf/earthkit-utils@develop + - ecmwf/earthkit-hydro@develop + - ecmwf/earthkit-data@develop + - ecmwf/earthkit-meteo@develop env: - ECCODES_SAMPLES_PATH=$ECCODES_DIR/share/eccodes/samples - ECCODES_DEFINITION_PATH=$ECCODES_DIR/share/eccodes/definitions diff --git a/.github/workflows/legacy-ci.yml b/.github/workflows/legacy-ci.yml deleted file mode 100644 index 68d70a8..0000000 --- a/.github/workflows/legacy-ci.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: legacy-ci - -on: - push: - branches: - - main - - develop - tags: - - "*" - pull_request: - branches: - - main - - develop - pull_request_target: - types: [labeled] - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -defaults: - run: - shell: bash -l {0} - -jobs: - documentation: - if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }} - runs-on: ubuntu-latest - defaults: - run: - shell: bash -l {0} - - steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha || github.ref }} - - name: Install Conda environment with Micromamba - uses: mamba-org/setup-micromamba@v1 - with: - environment-file: tests/environment-docs-tests.yml - environment-name: DEVELOP - channels: conda-forge - cache-environment: true - cache-env-key: ubuntu-latest-3.10-no-eccodes - create-args: >- - python=3.10 - - name: Install package - run: | - python -m pip install --no-deps -e . - - name: Build documentation - run: | - make docs-build diff --git a/.github/workflows/notify-new-issue.yml b/.github/workflows/notify-new-issue.yml deleted file mode 100644 index e447951..0000000 --- a/.github/workflows/notify-new-issue.yml +++ /dev/null @@ -1,15 +0,0 @@ -# name: Notify new issue - -# on: -# issues: -# types: -# - "opened" - -# jobs: -# notify: -# runs-on: ubuntu-latest -# steps: -# - name: Notify new issue -# uses: ecmwf/notify-teams-issue@v1 -# with: -# incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }} diff --git a/.github/workflows/notify-new-pr.yml b/.github/workflows/notify-new-pr.yml deleted file mode 100644 index 241537e..0000000 --- a/.github/workflows/notify-new-pr.yml +++ /dev/null @@ -1,15 +0,0 @@ -# name: Notify new PR - -# on: -# pull_request_target: -# types: -# - "opened" - -# jobs: -# notify: -# runs-on: ubuntu-latest -# steps: -# - name: Notify new PR -# uses: ecmwf/notify-teams-pr@v1 -# with: -# incoming_webhook: ${{ secrets.MS_TEAMS_INCOMING_WEBHOOK }} diff --git a/.readthedocs.yml b/.readthedocs.yml index 56a1ea1..34c3539 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -3,7 +3,7 @@ formats: [] build: os: "ubuntu-22.04" tools: - python: "3.9" + python: "3.11" python: install: - requirements: docs/requirements.txt diff --git a/LICENCE b/LICENSE similarity index 100% rename from LICENCE rename to LICENSE diff --git a/Makefile b/Makefile index 52d27b3..25c68ca 100644 --- a/Makefile +++ b/Makefile @@ -13,18 +13,3 @@ qa: unit-tests: cd .. && python -m pytest earthkit -vv --cov=. --cov-report=$(COV_REPORT) && cd - - -type-check: - python -m mypy . - -conda-env-update: - $(CONDA) env update $(CONDAFLAGS) -f environment.yml - -docker-build: - docker build -t $(PROJECT) . - -docker-run: - docker run --rm -ti -v $(PWD):/srv $(PROJECT) - -docs-build: - cd docs && rm -fr _api && make clean && make html diff --git a/README.md b/README.md index 12dd5c8..1ec9e3e 100644 --- a/README.md +++ b/README.md @@ -5,24 +5,6 @@
- -@@ -32,7 +14,7 @@
> \[!IMPORTANT\] -> This software is **Incubating** and subject to ECMWF's guidelines on [Software Maturity](https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity). +> This software is **Graduated** and subject to ECMWF's guidelines on [Software Maturity](https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity). **earthkit** is an open-source project led by ECMWF, providing powerful tools for speeding up weather and climate science workflows by simplifying data access, processing, analysis, visualisation and much more. @@ -41,8 +23,7 @@ | | | | |:-------------------------:|:-------------------------:|:-------------------------:| |<xarray.Dataset> Size: 53kB\n", - "Dimensions: (datetimes: 1, number: 1, steps: 1, points: 1093)\n", - "Coordinates:\n", - " * datetimes (datetimes) <U20 80B '2024-12-17T12:00:00Z'\n", - " * number (number) int64 8B 1\n", - " * steps (steps) int64 8B 0\n", - " * points (points) int64 9kB 0 1 2 3 4 5 ... 1087 1088 1089 1090 1091 1092\n", - " x (points) float64 9kB 37.08 37.08 37.08 37.15 ... 42.0 42.0 42.07\n", - " y (points) float64 9kB 351.1 351.2 351.3 ... 351.6 351.7 351.7\n", - " z (points) float64 9kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", - "Data variables:\n", - " 2t (datetimes, number, steps, points) float64 9kB 290.9 ... 289.0\n", - " ssrd (datetimes, number, steps, points) float64 9kB 0.0 0.0 ... 0.0\n", - "Attributes:\n", - " class: od\n", - " Forecast date: 2024-12-17T12:00:00Z\n", - " domain: g\n", - " expver: 0001\n", - " levtype: sfc\n", - " number: 1\n", - " step: 0\n", - " stream: enfo\n", - " type: pf\n", - " date: 2024-12-17T12:00:00Z" - ], - "text/plain": [ - "
<xarray.Dataset> Size: 176kB\n", - "Dimensions: (x: 1, y: 1, z: 1, number: 50, datetime: 1, t: 145)\n", - "Coordinates:\n", - " * x (x) float64 8B 38.77\n", - " * y (y) float64 8B 350.9\n", - " * z (z) int64 8B 0\n", - " * number (number) int64 400B 1 2 3 4 5 6 7 8 9 ... 43 44 45 46 47 48 49 50\n", - " * datetime (datetime) <U20 80B '2024-12-17T00:00:00Z'\n", - " * t (t) datetime64[ns] 1kB 2024-12-17 ... 2025-01-01\n", - "Data variables:\n", - " tcc (x, y, z, number, datetime, t) float64 58kB 1.0 0.9854 ... 0.999\n", - " 2t (x, y, z, number, datetime, t) float64 58kB 286.7 285.8 ... 286.3\n", - " ssrd (x, y, z, number, datetime, t) float64 58kB 0.0 0.0 ... 1.304e+08\n", - "Attributes:\n", - " class: od\n", - " Forecast date: 2024-12-17T00:00:00Z\n", - " domain: g\n", - " expver: 0001\n", - " levtype: sfc\n", - " number: 1\n", - " stream: enfo\n", - " type: pf
<xarray.Dataset> Size: 640B\n", - "Dimensions: (x: 1, y: 1, number: 1, datetime: 1, t: 1, z: 22)\n", - "Coordinates:\n", - " * x (x) float64 8B 38.91\n", - " * y (y) float64 8B 350.9\n", - " * number (number) int64 8B 1\n", - " * datetime (datetime) <U20 80B '2024-12-17T00:00:00Z'\n", - " * t (t) int64 8B 0\n", - " * z (z) int64 176B 1 2 3 5 7 10 20 30 ... 400 500 600 700 850 925 1000\n", - "Data variables:\n", - " q (x, y, number, datetime, t, z) float64 176B 4.254e-06 ... 0.005184\n", - " o3 (x, y, number, datetime, t, z) float64 176B 4.228e-06 ... 6.039...\n", - "Attributes:\n", - " class: od\n", - " Forecast date: 2024-12-17T00:00:00Z\n", - " domain: g\n", - " expver: 0001\n", - " levelist: 1\n", - " levtype: pl\n", - " number: 1\n", - " stream: enfo\n", - " type: pf
<xarray.Dataset> Size: 8MB\n", + "Dimensions: (month: 1, latitude: 721, longitude: 1440)\n", + "Coordinates:\n", + " * latitude (latitude) float64 6kB 90.0 89.75 89.5 ... -89.5 -89.75 -90.0\n", + " * longitude (longitude) float64 12kB 0.0 0.25 0.5 0.75 ... 359.2 359.5 359.8\n", + " * month (month) int64 8B 7\n", + "Data variables:\n", + " 2t (month, latitude, longitude) float64 8MB 274.0 274.0 ... 218.5\n", + "Attributes:\n", + " Conventions: CF-1.8\n", + " institution: ECMWF
<xarray.Dataset> Size: 44MB\n", + "Dimensions: (time: 2102, latitude: 36, longitude: 72, bnds: 2)\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 17kB 1850-01-16T12:00:00 ... 2025...\n", + " * latitude (latitude) float64 288B -87.5 -82.5 -77.5 ... 82.5 87.5\n", + " * longitude (longitude) float64 576B -177.5 -172.5 ... 172.5 177.5\n", + " realization int64 8B ...\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " tas_mean (time, latitude, longitude) float64 44MB ...\n", + " time_bnds (time, bnds) datetime64[ns] 34kB ...\n", + " latitude_bnds (latitude, bnds) float64 576B ...\n", + " longitude_bnds (longitude, bnds) float64 1kB ...\n", + " realization_bnds (bnds) int64 16B ...\n", + "Attributes:\n", + " comment: 2m air temperature over land blended with sea water tempera...\n", + " history: Data set built at: 2025-04-30T17:33:58+00:00\n", + " institution: Met Office Hadley Centre / Climatic Research Unit, Universi...\n", + " licence: HadCRUT5 is licensed under the Open Government Licence v3.0...\n", + " reference: C. P. Morice, J. J. Kennedy, N. A. Rayner, J. P. Winn, E. H...\n", + " source: CRUTEM.5.0.2.0 HadSST.4.0.1.0\n", + " title: HadCRUT.5.0.2.0 blended land air temperature and sea-surfac...\n", + " version: HadCRUT.5.0.2.0\n", + " Conventions: CF-1.7
<xarray.DataArray 'tas_mean' (time: 1, latitude: 36, longitude: 72)> Size: 21kB\n", + "[2592 values with dtype=float64]\n", + "Coordinates:\n", + " * time (time) datetime64[ns] 8B 2024-07-16T12:00:00\n", + " * latitude (latitude) float64 288B -87.5 -82.5 -77.5 ... 77.5 82.5 87.5\n", + " * longitude (longitude) float64 576B -177.5 -172.5 -167.5 ... 172.5 177.5\n", + " realization int64 8B ...\n", + "Attributes:\n", + " long_name: blended air_temperature_anomaly over land with sea_water_t...\n", + " units: K\n", + " cell_methods: area: mean (interval: 5.0 degrees_north 5.0 degrees_east) ...
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "metadata.marsType | \n", + "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "10fg3 | \n", + "2013-10-28 00:00:00 | \n", + "2013-10-25 | \n", + "3 days 00:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| 1 | \n", + "10fg3 | \n", + "2013-10-28 06:00:00 | \n", + "2013-10-25 | \n", + "3 days 06:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| 2 | \n", + "10fg3 | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| 3 | \n", + "z | \n", + "2013-10-28 00:00:00 | \n", + "2013-10-25 | \n", + "3 days 00:00:00 | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| 4 | \n", + "z | \n", + "2013-10-28 06:00:00 | \n", + "2013-10-25 | \n", + "3 days 06:00:00 | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| 5 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "fc | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "metadata.marsType | \n", + "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "10fg3 | \n", + "2013-10-28 00:00:00 | \n", + "2013-10-25 | \n", + "3 days 00:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "cf | \n", + "
| 1 | \n", + "10fg3 | \n", + "2013-10-28 06:00:00 | \n", + "2013-10-25 | \n", + "3 days 06:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "cf | \n", + "
| 2 | \n", + "10fg3 | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "0 | \n", + "surface | \n", + "0 | \n", + "regular_ll | \n", + "cf | \n", + "
| 3 | \n", + "10fg3 | \n", + "2013-10-28 00:00:00 | \n", + "2013-10-25 | \n", + "3 days 00:00:00 | \n", + "0 | \n", + "surface | \n", + "1 | \n", + "regular_ll | \n", + "pf | \n", + "
| 4 | \n", + "10fg3 | \n", + "2013-10-28 00:00:00 | \n", + "2013-10-25 | \n", + "3 days 00:00:00 | \n", + "0 | \n", + "surface | \n", + "2 | \n", + "regular_ll | \n", + "pf | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 301 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "46 | \n", + "regular_ll | \n", + "pf | \n", + "
| 302 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "47 | \n", + "regular_ll | \n", + "pf | \n", + "
| 303 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "48 | \n", + "regular_ll | \n", + "pf | \n", + "
| 304 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "49 | \n", + "regular_ll | \n", + "pf | \n", + "
| 305 | \n", + "z | \n", + "2013-10-28 12:00:00 | \n", + "2013-10-25 | \n", + "3 days 12:00:00 | \n", + "850 | \n", + "pressure | \n", + "50 | \n", + "regular_ll | \n", + "pf | \n", + "
306 rows × 9 columns
\n", + "<xarray.Dataset> Size: 2MB\n", + "Dimensions: (member: 51, forecast_reference_time: 1, step: 3,\n", + " latitude: 31, longitude: 48)\n", + "Coordinates:\n", + " * member (member) <U2 408B '0' '1' '10' '11' ... '7' '8' '9'\n", + " * forecast_reference_time (forecast_reference_time) datetime64[ns] 8B 2013...\n", + " * step (step) timedelta64[ns] 24B 3 days 00:00:00 ... 3...\n", + " * latitude (latitude) float64 248B 66.0 65.25 ... 44.25 43.5\n", + " * longitude (longitude) float64 384B -19.5 -18.75 ... 15.75\n", + "Data variables:\n", + " 10fg3 (member, forecast_reference_time, step, latitude, longitude) float64 2MB ...\n", + "Attributes:\n", + " Conventions: CF-1.8\n", + " institution: ECMWF
<xarray.Dataset> Size: 2GB\n", + "Dimensions: (time: 40, lat: 2970, lon: 4530)\n", + "Coordinates:\n", + " * lat (lat) float64 24kB 72.24 72.22 72.21 72.19 ... 22.79 22.77 22.76\n", + " * lon (lon) float64 36kB -25.24 -25.23 -25.21 ... 50.21 50.22 50.24\n", + " * time (time) datetime64[ns] 320B 2024-11-14T06:00:00 ... 2024-11-24\n", + "Data variables:\n", + " R06a (time, lat, lon) float32 2GB ...\n", + "Attributes:\n", + " history: Wed Mar 8 12:00:44 2023: ncks -O --mk_rec_dmn time area.templa...\n", + " NCO: netCDF Operators version 4.9.7 (Homepage = http://nco.sf.net, C...
<xarray.DataArray 'R06a' (time: 10, lat: 2970, lon: 4530)> Size: 538MB\n", + "[134541000 values with dtype=float32]\n", + "Coordinates:\n", + " * lat (lat) float64 24kB 72.24 72.22 72.21 72.19 ... 22.79 22.77 22.76\n", + " * lon (lon) float64 36kB -25.24 -25.23 -25.21 ... 50.21 50.22 50.24\n", + " * time (time) datetime64[ns] 80B 2024-11-14T06:00:00 ... 2024-11-16T12:...\n", + "Attributes:\n", + " units: mm\n", + " standard_name: precipitation\n", + " long_name: precipitation
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "t | \n", + "2015-04-22 12:00:00 | \n", + "2015-04-22 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "None | \n", + "regular_ll | \n", + "
| 1 | \n", + "t | \n", + "2015-04-22 12:00:00 | \n", + "2015-04-22 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "None | \n", + "reduced_gg | \n", + "
| 2 | \n", + "t | \n", + "2015-04-22 12:00:00 | \n", + "2015-04-22 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "None | \n", + "healpix | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "t | \n", + "2015-04-22 12:00:00 | \n", + "2015-04-22 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "None | \n", + "regular_ll | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "t | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 1 | \n", + "q | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 2 | \n", + "u | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 3 | \n", + "v | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 4 | \n", + "t | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 5 | \n", + "q | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 1 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 2 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "700 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 3 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "500 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 4 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "400 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 5 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "300 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 1 | \n", + "pt | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 1 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 2 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "700 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 3 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "500 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 4 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "400 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 5 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "300 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| \n", + " | parameter.variable | \n", + "time.valid_datetime | \n", + "time.base_datetime | \n", + "time.step | \n", + "vertical.level | \n", + "vertical.level_type | \n", + "ensemble.member | \n", + "geography.grid_type | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "1000 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
| 1 | \n", + "ws | \n", + "2018-08-01 12:00:00 | \n", + "2018-08-01 12:00:00 | \n", + "0 days | \n", + "850 | \n", + "pressure | \n", + "0 | \n", + "regular_ll | \n", + "
<xarray.Dataset> Size: 54kB\n", + "Dimensions: (datetimes: 1, number: 1, steps: 1, points: 1118)\n", + "Coordinates:\n", + " * datetimes (datetimes) <U20 80B '2026-04-14T12:00:00Z'\n", + " * number (number) int64 8B 1\n", + " * steps (steps) int64 8B 0\n", + " * points (points) int64 9kB 0 1 2 3 4 5 ... 1112 1113 1114 1115 1116 1117\n", + " latitude (points) float64 9kB 36.87 36.87 36.94 ... 42.14 42.21 42.21\n", + " longitude (points) float64 9kB 352.1 352.2 351.2 ... 351.7 351.6 351.7\n", + " levelist (points) float64 9kB 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + "Data variables:\n", + " 2t (datetimes, number, steps, points) float64 9kB 288.4 ... 284.7\n", + " ssrd (datetimes, number, steps, points) float64 9kB 0.0 0.0 ... 0.0\n", + "Attributes:\n", + " class: od\n", + " Forecast date: 2026-04-14T12:00:00Z\n", + " domain: g\n", + " expver: 0001\n", + " levtype: sfc\n", + " number: 1\n", + " step: 0\n", + " stream: enfo\n", + " type: pf\n", + " date: 2026-04-14T12:00:00Z
<xarray.Dataset> Size: 176kB\n", + "Dimensions: (latitude: 1, longitude: 1, levelist: 1, number: 50,\n", + " datetime: 1, t: 145)\n", + "Coordinates:\n", + " * latitude (latitude) float64 8B 38.77\n", + " * longitude (longitude) float64 8B 350.9\n", + " * levelist (levelist) int64 8B 0\n", + " * number (number) int64 400B 1 2 3 4 5 6 7 8 9 ... 43 44 45 46 47 48 49 50\n", + " * datetime (datetime) <U20 80B '2026-04-14T00:00:00Z'\n", + " * t (t) datetime64[ns] 1kB 2026-04-14 ... 2026-04-29\n", + "Data variables:\n", + " tcc (latitude, longitude, levelist, number, datetime, t) float64 58kB ...\n", + " 2t (latitude, longitude, levelist, number, datetime, t) float64 58kB ...\n", + " ssrd (latitude, longitude, levelist, number, datetime, t) float64 58kB ...\n", + "Attributes:\n", + " class: od\n", + " Forecast date: 2026-04-14T00:00:00Z\n", + " domain: g\n", + " expver: 0001\n", + " levtype: sfc\n", + " number: 1\n", + " stream: enfo\n", + " type: pf\n", + " levelist: 0
<xarray.Dataset> Size: 640B\n", + "Dimensions: (latitude: 1, longitude: 1, number: 1, datetime: 1, time: 1,\n", + " levelist: 22)\n", + "Coordinates:\n", + " * latitude (latitude) float64 8B 38.91\n", + " * longitude (longitude) float64 8B 350.9\n", + " * number (number) int64 8B 1\n", + " * datetime (datetime) <U20 80B '2026-04-14T00:00:00Z'\n", + " * time (time) int64 8B 0\n", + " * levelist (levelist) int64 176B 1 2 3 5 7 10 ... 500 600 700 850 925 1000\n", + "Data variables:\n", + " q (latitude, longitude, number, datetime, time, levelist) float64 176B ...\n", + " o3 (latitude, longitude, number, datetime, time, levelist) float64 176B ...\n", + "Attributes:\n", + " class: od\n", + " Forecast date: 2026-04-14T00:00:00Z\n", + " domain: g\n", + " expver: 0001\n", + " levelist: 1\n", + " levtype: pl\n", + " number: 1\n", + " stream: enfo\n", + " type: pf
<xarray.Dataset> Size: 35kB\n", + "Dimensions: (valid_time: 2928)\n", + "Coordinates:\n", + " latitude float64 8B ...\n", + " longitude float64 8B ...\n", + " * valid_time (valid_time) datetime64[ns] 23kB 2025-06-01 ... 2025-09-30T23...\n", + "Data variables:\n", + " t2m (valid_time) float32 12kB ...\n", + "Attributes:\n", + " Conventions: CF-1.7\n", + " GRIB_centre: ecmf\n", + " GRIB_centreDescription: European Centre for Medium-Range Weather Forecasts\n", + " GRIB_edition: 1\n", + " GRIB_subCentre: 0\n", + " history: 2024-09-02T04:48 GRIB to CDM+CF via cfgrib-0.9.1...\n", + " institution: European Centre for Medium-Range Weather Forecasts