oceanbench.datasets package

Submodules

oceanbench.datasets.challenger module

This module exposes the challenger datasets evaluated in the benchmark.

oceanbench.datasets.challenger.glo12() Dataset

Open the GLO12 challenger dataset.

Returns

Dataset

The Dataset containing GLO12 forecasts.

>>> glo12()
<xarray.Dataset> Size: 2TB
Dimensions:             (first_day_datetime: 52, lead_day_index: 10, depth: 21,
                         latitude: 2041, longitude: 4320)
Coordinates:
  * depth               (depth) float32 84B 0.494 47.37 ... 4.833e+03 5.275e+03
  * latitude            (latitude) float32 8kB -80.0 -79.92 ... 89.92 90.0
  * longitude           (longitude) float32 17kB -180.0 -179.9 ... 179.8 179.9
  * lead_day_index      (lead_day_index) int64 80B 0 1 2 3 4 5 6 7 8 9
  * first_day_datetime  (first_day_datetime) datetime64[us] 416B 2024-01-03 ....
Data variables:
    so                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 385GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    thetao              (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 385GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    uo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 385GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    vo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 385GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    zos                 (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 75, 4320), meta=np.ndarray>
Attributes:
    Conventions:  CF-1.8
    area:         Global
    contact:      https://marine.copernicus.eu/contact
    credit:       E.U. Copernicus Marine Service Information (CMEMS)
    institution:  Mercator Ocean International
    licence:      http://marine.copernicus.eu/services-portfolio/service-comm...
    producer:     CMEMS - Global Monitoring and Forecasting Centre
    references:   http://marine.copernicus.eu
    source:       MOI GLO12
    title:        daily mean fields from Global Ocean Physics Analysis and Fo...
oceanbench.datasets.challenger.glo36v1() Dataset

Open the GLO36V1 challenger dataset.

Returns

Dataset

The Dataset containing GLO36V1 forecasts.

>>> glo36v1()
<xarray.Dataset> Size: 3TB
Dimensions:             (first_day_datetime: 52, lead_day_index: 7, depth: 50,
                         latitude: 2041, longitude: 4320)
Coordinates:
  * depth               (depth) float32 200B 0.494 1.541 ... 5.275e+03 5.728e+03
  * latitude            (latitude) float32 8kB -80.0 -79.92 ... 89.92 90.0
  * lead_day_index      (lead_day_index) int64 56B 0 1 2 3 4 5 6
  * longitude           (longitude) float32 17kB -180.0 -179.9 ... 179.8 179.9
  * first_day_datetime  (first_day_datetime) datetime64[us] 416B 2023-01-04 ....
Data variables:
    so                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 642GB dask.array<chunksize=(1, 1, 7, 256, 540), meta=np.ndarray>
    thetao              (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 642GB dask.array<chunksize=(1, 1, 7, 256, 540), meta=np.ndarray>
    uo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 642GB dask.array<chunksize=(1, 1, 7, 256, 540), meta=np.ndarray>
    vo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 642GB dask.array<chunksize=(1, 1, 7, 256, 540), meta=np.ndarray>
    zos                 (first_day_datetime, lead_day_index, latitude, longitude) float32 13GB dask.array<chunksize=(1, 1, 256, 1080), meta=np.ndarray>
oceanbench.datasets.challenger.glonet() Dataset

Open the GLONET challenger dataset.

Returns

Dataset

The Dataset containing GLONET forecasts.

>>> glonet()
<xarray.Dataset> Size: 342GB
Dimensions:             (first_day_datetime: 52, lead_day_index: 10, depth: 21,
                         lat: 672, lon: 1440)
Coordinates:
  * depth               (depth) float32 84B 0.494 47.37 ... 4.833e+03 5.275e+03
  * lat                 (lat) float64 5kB -78.0 -77.75 -77.5 ... 89.5 89.75
  * lon                 (lon) float64 12kB -180.0 -179.8 -179.5 ... 179.5 179.8
  * lead_day_index      (lead_day_index) int64 80B 0 1 2 3 4 5 6 7 8 9
  * first_day_datetime  (first_day_datetime) datetime64[us] 416B 2024-01-03 ....
Data variables:
    so                  (first_day_datetime, lead_day_index, depth, lat, lon) float64 85GB dask.array<chunksize=(1, 10, 1, 672, 1440), meta=np.ndarray>
    thetao              (first_day_datetime, lead_day_index, depth, lat, lon) float64 85GB dask.array<chunksize=(1, 10, 1, 672, 1440), meta=np.ndarray>
    uo                  (first_day_datetime, lead_day_index, depth, lat, lon) float64 85GB dask.array<chunksize=(1, 10, 1, 672, 1440), meta=np.ndarray>
    vo                  (first_day_datetime, lead_day_index, depth, lat, lon) float64 85GB dask.array<chunksize=(1, 10, 1, 672, 1440), meta=np.ndarray>
    zos                 (first_day_datetime, lead_day_index, lat, lon) float64 4GB dask.array<chunksize=(1, 10, 672, 1440), meta=np.ndarray>
Attributes:
    regrid_method:  bilinear
oceanbench.datasets.challenger.wenhai() Dataset

Open the WenHai challenger dataset.

Returns

Dataset

The Dataset containing WenHai forecasts.

>>> wenhai()
<xarray.Dataset> Size: 2TB
Dimensions:             (first_day_datetime: 52, lead_day_index: 10, depth: 23,
                         latitude: 2041, longitude: 4320)
Coordinates:
  * depth               (depth) float32 92B 0.494 2.646 5.078 ... 541.1 643.6
  * latitude            (latitude) float32 8kB -80.0 -79.92 ... 89.92 90.0
  * longitude           (longitude) float32 17kB -180.0 -179.9 ... 179.8 179.9
  * lead_day_index      (lead_day_index) int64 80B 0 1 2 3 4 5 6 7 8 9
  * first_day_datetime  (first_day_datetime) datetime64[us] 416B 2024-01-03 ....
Data variables:
    so                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    thetao              (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    uo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    vo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    zos                 (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 75, 4320), meta=np.ndarray>
oceanbench.datasets.challenger.xihe() Dataset

Open the XiHe challenger dataset.

Returns

Dataset

The Dataset containing XiHe forecasts.

>>> xihe()
<xarray.Dataset> Size: 2TB
Dimensions:             (first_day_datetime: 52, lead_day_index: 10, depth: 23,
                         latitude: 2041, longitude: 4320)
Coordinates:
  * depth               (depth) float64 184B 0.494 2.646 5.078 ... 541.1 643.6
  * latitude            (latitude) float32 8kB -80.0 -79.92 ... 89.92 90.0
  * longitude           (longitude) float32 17kB -180.0 -179.9 ... 179.8 179.9
  * lead_day_index      (lead_day_index) int64 80B 0 1 2 3 4 5 6 7 8 9
  * first_day_datetime  (first_day_datetime) datetime64[us] 416B 2024-01-03 ....
Data variables:
    so                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    thetao              (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    uo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    vo                  (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 422GB dask.array<chunksize=(1, 1, 1, 75, 4320), meta=np.ndarray>
    zos                 (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 75, 4320), meta=np.ndarray>

oceanbench.datasets.input module

This module exposes the input datasets for OceanBench challengers to produce forecast datasets to evaluate in the benchmark.

oceanbench.datasets.input.glo12_nowcasts() Dataset

Open GLO12 nowcasts.

Returns

Dataset

The Dataset containing GLO12 nowcasts.

>>> glo12_nowcasts()
<xarray.Dataset> Size: 392GB
Dimensions:    (time: 52, latitude: 2041, longitude: 4320, depth: 50)
Coordinates:
  * depth      (depth) float32 200B 0.494 1.541 2.646 ... 5.275e+03 5.728e+03
  * latitude   (latitude) float32 8kB -80.0 -79.92 -79.83 ... 89.83 89.92 90.0
  * longitude  (longitude) float32 17kB -180.0 -179.9 -179.8 ... 179.8 179.9
  * time       (time) datetime64[ns] 416B 2024-01-02T12:00:00 ... 2024-12-24T...
Data variables: (12/18)
    ist        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    mlotst     (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    pbo        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    siage      (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    sialb      (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    siconc     (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    ...         ...
    tob        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    uo         (time, depth, latitude, longitude) float32 92GB dask.array<chunksize=(1, 4, 256, 540), meta=np.ndarray>
    usi        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    vo         (time, depth, latitude, longitude) float32 92GB dask.array<chunksize=(1, 4, 256, 540), meta=np.ndarray>
    vsi        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
    zos        (time, latitude, longitude) float32 2GB dask.array<chunksize=(1, 256, 1080), meta=np.ndarray>
Attributes: (12/13)
    Conventions:                CF-1.8
    NCO:                        netCDF Operators version 4.9.7 (Homepage = ht...
    area:                       Global
    contact:                    https://marine.copernicus.eu/contact
    credit:                     E.U. Copernicus Marine Service Information (C...
    history:                    Mon Mar 31 11:20:47 2025: ncks -A /data/rd_ex...
    ...                         ...
    institution:                Mercator Ocean International
    licence:                    http://marine.copernicus.eu/services-portfoli...
    producer:                   CMEMS - Global Monitoring and Forecasting Centre
    references:                 http://marine.copernicus.eu
    source:                     MOI GLO12
    title:                      daily mean fields from Global Ocean Physics A...
oceanbench.datasets.input.ifs_forcings() Dataset

Open IFS forcings.

Returns

Dataset

The Dataset containing IFS forcings.

>>> ifs_forcings()
<xarray.Dataset> Size: 147GB
Dimensions:             (first_day_datetime: 52, lead_day_index: 10,
                         latitude: 2041, longitude: 4320)
Coordinates:
  * longitude           (longitude) float32 17kB -180.0 -179.9 ... 179.8 179.9
  * latitude            (latitude) float32 8kB -80.0 -79.92 ... 89.92 90.0
  * lead_day_index      (lead_day_index) int64 80B 0 1 2 3 4 5 6 7 8 9
  * first_day_datetime  (first_day_datetime) datetime64[ns] 416B 2024-01-03 ....
Data variables:
    leadtime            (first_day_datetime, lead_day_index) float64 4kB dask.array<chunksize=(1, 10), meta=np.ndarray>
    sotemair            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sowinu10            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sowinv10            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sosudosw            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sosudolw            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sowaprec            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    sod2m               (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
    somslpre            (first_day_datetime, lead_day_index, latitude, longitude) float32 18GB dask.array<chunksize=(1, 1, 1021, 2160), meta=np.ndarray>
Attributes: (12/30)
    CDI:                                      Climate Data Interface version ...
    Conventions:                              CF-1.6
    GRIB_dataType:                            fc
    GRIB_typeOfLevel:                         surface
    GRIB_stepType:                            instant
    GRIB_gridType:                            regular_gg
    ...                                       ...
    GRIB_units:                               Pa
    GRIB_shortName:                           msl
    GRIB_name:                                Mean sea level pressure
    units:                                    Pa
    long_name:                                Mean sea level pressure
    history_of_appended_files:                Wed Apr  9 07:48:50 2025: Appen...

oceanbench.datasets.reference module

This module exposes the reference datasets used in OceanBench for OceanBench challenger to explore.

oceanbench.datasets.reference.glo12_analysis() Dataset

Open GLO12 analysis with as an xarray.Dataset.

Returns

Dataset

The Dataset containing GLO12 analysis.

>>> glo12_analysis()
<xarray.Dataset> Size: 3TB
Dimensions:    (depth: 50, latitude: 2041, longitude: 4320, time: 366)
Coordinates:
  * depth      (depth) float32 200B 0.494 1.541 2.646 ... 5.275e+03 5.728e+03
  * latitude   (latitude) float32 8kB -80.0 -79.92 -79.83 ... 89.83 89.92 90.0
  * longitude  (longitude) float32 17kB -180.0 -179.9 -179.8 ... 179.8 179.9
  * time       (time) datetime64[ns] 3kB 2024-01-01 2024-01-02 ... 2024-12-31
Data variables:
    thetao     (time, depth, latitude, longitude) float32 645GB dask.array<chunksize=(21, 1, 512, 2048), meta=np.ndarray>
    so         (time, depth, latitude, longitude) float32 645GB dask.array<chunksize=(21, 1, 512, 2048), meta=np.ndarray>
    uo         (time, depth, latitude, longitude) float32 645GB dask.array<chunksize=(21, 1, 512, 2048), meta=np.ndarray>
    vo         (time, depth, latitude, longitude) float32 645GB dask.array<chunksize=(21, 1, 512, 2048), meta=np.ndarray>
    zos        (time, latitude, longitude) float32 13GB dask.array<chunksize=(21, 1024, 2048), meta=np.ndarray>
Attributes:
    credit:       E.U. Copernicus Marine Service Information (CMEMS)
    contact:      https://marine.copernicus.eu/contact
    source:       MOI GLO12
    producer:     CMEMS - Global Monitoring and Forecasting Centre
    references:   http://marine.copernicus.eu
    Conventions:  CF-1.8
    title:        daily mean fields from Global Ocean Physics Analysis and Fo...
    institution:  Mercator Ocean International
oceanbench.datasets.reference.glorys_reanalysis() Dataset

Open GLORYS reanalysis with as an xarray.Dataset.

Returns

Dataset

The Dataset containing GLORYS reanalysis.

>>> glorys_reanalysis()
<xarray.Dataset> Size: 5TB
Dimensions:    (depth: 50, latitude: 2041, longitude: 4320, time: 366)
Coordinates:
  * depth      (depth) float32 200B 0.494 1.541 2.646 ... 5.275e+03 5.728e+03
  * latitude   (latitude) float32 8kB -80.0 -79.92 -79.83 ... 89.83 89.92 90.0
  * longitude  (longitude) float32 17kB -180.0 -179.9 -179.8 ... 179.8 179.9
  * time       (time) datetime64[ns] 3kB 2024-01-01 2024-01-02 ... 2024-12-31
Data variables:
    thetao     (time, depth, latitude, longitude) float64 1TB dask.array<chunksize=(28, 1, 512, 2048), meta=np.ndarray>
    so         (time, depth, latitude, longitude) float64 1TB dask.array<chunksize=(28, 1, 512, 2048), meta=np.ndarray>
    uo         (time, depth, latitude, longitude) float64 1TB dask.array<chunksize=(28, 1, 512, 2048), meta=np.ndarray>
    vo         (time, depth, latitude, longitude) float64 1TB dask.array<chunksize=(28, 1, 512, 2048), meta=np.ndarray>
    zos        (time, latitude, longitude) float64 26GB dask.array<chunksize=(28, 512, 2048), meta=np.ndarray>
Attributes:
    source:       MERCATOR GLORYS12V1
    institution:  MERCATOR OCEAN
    comment:      CMEMS product
    title:        daily mean fields from Global Ocean Physics Analysis and Fo...
    references:   http://www.mercator-ocean.fr
    history:      2023/06/01 16:20:05 MERCATOR OCEAN Netcdf creation
    Conventions:  CF-1.4

Module contents

This module exposes the package python API to evaluate a challenger.