import oceanbench
oceanbench.__version__'0.3.0'
Insert here the code that opens the challenger dataset as
challenger_dataset: xarray.Dataset
# SPDX-FileCopyrightText: 2025 Mercator Ocean International <https://www.mercator-ocean.eu/>
#
# SPDX-License-Identifier: EUPL-1.2
# Open LangYa forecasts with xarray
import xarray
import oceanbench
challenger_dataset: xarray.Dataset = oceanbench.datasets.challenger.langya()
challenger_dataset<xarray.Dataset> Size: 2TB
Dimensions: (first_day_datetime: 52, lead_day_index: 7, depth: 32,
latitude: 2040, longitude: 4320)
Coordinates:
* depth (depth) float32 128B 0.494 1.541 2.646 ... 453.9 541.1
* latitude (latitude) float64 16kB -80.0 -79.92 ... 89.83 89.92
* lead_day_index (lead_day_index) int64 56B 0 1 2 3 4 5 6
* longitude (longitude) float64 35kB -180.0 -179.9 ... 179.8 179.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 411GB dask.array<chunksize=(1, 1, 1, 2040, 4320), meta=np.ndarray>
thetao (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 2040, 4320), meta=np.ndarray>
uo (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 2040, 4320), meta=np.ndarray>
vo (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 2040, 4320), meta=np.ndarray>
zos (first_day_datetime, lead_day_index, latitude, longitude) float32 13GB dask.array<chunksize=(1, 1, 2040, 4320), meta=np.ndarray>
Attributes:
Conventions: CF-1.8
challenger: langya
forecast_reference_time: 2024-01-02
oceanbench_source_kind: challenger
oceanbench_source_name: langyaarray([4.940250e-01, 1.541375e+00, 2.645669e+00, 3.819495e+00, 5.078224e+00,
6.440614e+00, 7.929560e+00, 9.572997e+00, 1.140500e+01, 1.346714e+01,
1.581007e+01, 1.849556e+01, 2.159882e+01, 2.521141e+01, 2.944473e+01,
3.443415e+01, 4.034405e+01, 4.737369e+01, 5.576429e+01, 6.580727e+01,
7.785385e+01, 9.232607e+01, 1.097293e+02, 1.306660e+02, 1.558507e+02,
1.861256e+02, 2.224752e+02, 2.660403e+02, 3.181274e+02, 3.802130e+02,
4.539377e+02, 5.410889e+02], dtype=float32)array([-80. , -79.916667, -79.833333, ..., 89.75 , 89.833333,
89.916667], shape=(2040,))array([0, 1, 2, 3, 4, 5, 6])
array([-180. , -179.916667, -179.833333, ..., 179.75 , 179.833333,
179.916667], shape=(4320,))array(['2024-01-03T00:00:00.000000', '2024-01-10T00:00:00.000000',
'2024-01-17T00:00:00.000000', '2024-01-24T00:00:00.000000',
'2024-01-31T00:00:00.000000', '2024-02-07T00:00:00.000000',
'2024-02-14T00:00:00.000000', '2024-02-21T00:00:00.000000',
'2024-02-28T00:00:00.000000', '2024-03-06T00:00:00.000000',
'2024-03-13T00:00:00.000000', '2024-03-20T00:00:00.000000',
'2024-03-27T00:00:00.000000', '2024-04-03T00:00:00.000000',
'2024-04-10T00:00:00.000000', '2024-04-17T00:00:00.000000',
'2024-04-24T00:00:00.000000', '2024-05-01T00:00:00.000000',
'2024-05-08T00:00:00.000000', '2024-05-15T00:00:00.000000',
'2024-05-22T00:00:00.000000', '2024-05-29T00:00:00.000000',
'2024-06-05T00:00:00.000000', '2024-06-12T00:00:00.000000',
'2024-06-19T00:00:00.000000', '2024-06-26T00:00:00.000000',
'2024-07-03T00:00:00.000000', '2024-07-10T00:00:00.000000',
'2024-07-17T00:00:00.000000', '2024-07-24T00:00:00.000000',
'2024-07-31T00:00:00.000000', '2024-08-07T00:00:00.000000',
'2024-08-14T00:00:00.000000', '2024-08-21T00:00:00.000000',
'2024-08-28T00:00:00.000000', '2024-09-04T00:00:00.000000',
'2024-09-11T00:00:00.000000', '2024-09-18T00:00:00.000000',
'2024-09-25T00:00:00.000000', '2024-10-02T00:00:00.000000',
'2024-10-09T00:00:00.000000', '2024-10-16T00:00:00.000000',
'2024-10-23T00:00:00.000000', '2024-10-30T00:00:00.000000',
'2024-11-06T00:00:00.000000', '2024-11-13T00:00:00.000000',
'2024-11-20T00:00:00.000000', '2024-11-27T00:00:00.000000',
'2024-12-04T00:00:00.000000', '2024-12-11T00:00:00.000000',
'2024-12-18T00:00:00.000000', '2024-12-25T00:00:00.000000'],
dtype='datetime64[us]')
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
PandasIndex(Index([0.49402499198913574, 1.5413750410079956, 2.6456689834594727,
3.8194949626922607, 5.078224182128906, 6.440614223480225,
7.92956018447876, 9.572997093200684, 11.404999732971191,
13.467140197753906, 15.810070037841797, 18.495559692382812,
21.598819732666016, 25.211410522460938, 29.444730758666992,
34.43415069580078, 40.344051361083984, 47.37369155883789,
55.76428985595703, 65.80726623535156, 77.85385131835938,
92.3260726928711, 109.72930145263672, 130.66600036621094,
155.85069274902344, 186.12559509277344, 222.47520446777344,
266.0403137207031, 318.1274108886719, 380.2130126953125,
453.9377136230469, 541.0889282226562],
dtype='float32', name='depth'))PandasIndex(Index([ -80.0, -79.91666666666667, -79.83333333333333,
-79.75, -79.66666666666667, -79.58333333333333,
-79.5, -79.41666666666667, -79.33333333333333,
-79.25,
...
89.16666666666666, 89.25, 89.33333333333334,
89.41666666666666, 89.5, 89.58333333333334,
89.66666666666666, 89.75, 89.83333333333334,
89.91666666666666],
dtype='float64', name='latitude', length=2040))PandasIndex(Index([0, 1, 2, 3, 4, 5, 6], dtype='int64', name='lead_day_index'))
PandasIndex(Index([ -180.0, -179.91666666666666, -179.83333333333334,
-179.75, -179.66666666666666, -179.58333333333334,
-179.5, -179.41666666666666, -179.33333333333334,
-179.25,
...
179.16666666666669, 179.25, 179.33333333333331,
179.41666666666669, 179.5, 179.58333333333331,
179.66666666666669, 179.75, 179.83333333333331,
179.91666666666669],
dtype='float64', name='longitude', length=4320))PandasIndex(DatetimeIndex(['2024-01-03', '2024-01-10', '2024-01-17', '2024-01-24',
'2024-01-31', '2024-02-07', '2024-02-14', '2024-02-21',
'2024-02-28', '2024-03-06', '2024-03-13', '2024-03-20',
'2024-03-27', '2024-04-03', '2024-04-10', '2024-04-17',
'2024-04-24', '2024-05-01', '2024-05-08', '2024-05-15',
'2024-05-22', '2024-05-29', '2024-06-05', '2024-06-12',
'2024-06-19', '2024-06-26', '2024-07-03', '2024-07-10',
'2024-07-17', '2024-07-24', '2024-07-31', '2024-08-07',
'2024-08-14', '2024-08-21', '2024-08-28', '2024-09-04',
'2024-09-11', '2024-09-18', '2024-09-25', '2024-10-02',
'2024-10-09', '2024-10-16', '2024-10-23', '2024-10-30',
'2024-11-06', '2024-11-13', '2024-11-20', '2024-11-27',
'2024-12-04', '2024-12-11', '2024-12-18', '2024-12-25'],
dtype='datetime64[us]', name='first_day_datetime', freq=None))oceanbench.metrics.rmsd_of_variables_compared_to_glorys_reanalysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Sea surface height (m) [sea_surface_height_above_geoid]{surface} | 0.073481 | 0.075157 | 0.074875 | 0.076131 | 0.077246 | 0.080647 | 0.082993 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.664944 | 0.647757 | 0.577568 | 0.589050 | 0.600993 | 0.646476 | 0.694612 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.866563 | 0.868737 | 0.869560 | 0.872976 | 0.875823 | 0.882671 | 0.888410 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.124307 | 0.124007 | 0.124084 | 0.124145 | 0.123878 | 0.132530 | 0.136717 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.127748 | 0.128252 | 0.128910 | 0.129113 | 0.129139 | 0.137007 | 0.140688 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.883657 | 0.881116 | 0.855461 | 0.858037 | 0.860353 | 0.898600 | 0.926456 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.381061 | 0.381447 | 0.380922 | 0.381201 | 0.381627 | 0.383642 | 0.385275 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.112277 | 0.111835 | 0.113504 | 0.113176 | 0.112701 | 0.120162 | 0.123566 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.114694 | 0.114806 | 0.116709 | 0.116524 | 0.116098 | 0.122441 | 0.125538 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 1.024629 | 1.024427 | 1.022026 | 1.026300 | 1.029606 | 1.059917 | 1.080968 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.256270 | 0.256369 | 0.256369 | 0.256632 | 0.257029 | 0.258406 | 0.259317 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.109232 | 0.108844 | 0.110604 | 0.110197 | 0.109588 | 0.115847 | 0.118681 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.114132 | 0.114046 | 0.115644 | 0.115268 | 0.114781 | 0.120306 | 0.122683 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.859929 | 0.859844 | 0.862029 | 0.863487 | 0.865410 | 0.879913 | 0.888483 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.160677 | 0.160700 | 0.160889 | 0.161121 | 0.161473 | 0.162651 | 0.163395 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.106036 | 0.105861 | 0.107765 | 0.107200 | 0.106395 | 0.110130 | 0.111225 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.111465 | 0.111380 | 0.113237 | 0.112507 | 0.111642 | 0.115273 | 0.116129 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.728503 | 0.728310 | 0.730683 | 0.731779 | 0.733402 | 0.746157 | 0.753220 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.126950 | 0.126952 | 0.127181 | 0.127385 | 0.127697 | 0.128809 | 0.129539 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.103429 | 0.103282 | 0.105147 | 0.104515 | 0.103694 | 0.107016 | 0.107802 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.107446 | 0.107374 | 0.109189 | 0.108504 | 0.107662 | 0.110748 | 0.111335 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.562032 | 0.562529 | 0.565456 | 0.567075 | 0.569199 | 0.578565 | 0.584951 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.095224 | 0.095308 | 0.095563 | 0.095805 | 0.096124 | 0.096830 | 0.097455 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.095018 | 0.094982 | 0.096532 | 0.095871 | 0.095103 | 0.098023 | 0.098598 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.098871 | 0.098843 | 0.100460 | 0.099886 | 0.099224 | 0.101603 | 0.101939 |
oceanbench.metrics.rmsd_of_mixed_layer_depth_compared_to_glorys_reanalysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Mixed layer depth (m) [ocean_mixed_layer_thickness]{surface} | 43.508369 | 41.945583 | 39.029495 | 39.901413 | 40.64315 | 42.155636 | 43.390202 |
oceanbench.metrics.rmsd_of_geostrophic_currents_compared_to_glorys_reanalysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Meridional geostrophic current (m/s) [geostrophic_northward_sea_water_velocity]{surface} | 0.227380 | 0.234452 | 0.227063 | 0.242526 | 0.254940 | 0.219043 | 0.222549 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.170617 | 0.172885 | 0.158887 | 0.161703 | 0.163453 | 0.170226 | 0.180563 |
| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.912465 | 0.911941 | 0.818189 | 0.849885 | 0.880025 | 0.951731 | 0.977392 |
| Temperature (°C) [sea_water_potential_temperature]{0-5m} | 0.870754 | 0.876176 | 0.812984 | 0.846279 | 0.855536 | 0.907237 | 0.966076 |
| Temperature (°C) [sea_water_potential_temperature]{5-100m} | 0.950844 | 0.952187 | 0.906571 | 0.936326 | 0.930166 | 0.972249 | 1.007846 |
| Temperature (°C) [sea_water_potential_temperature]{100-300m} | 0.827663 | 0.848126 | 0.829347 | 0.833413 | 0.845878 | 0.857058 | 0.884400 |
| Temperature (°C) [sea_water_potential_temperature]{300-600m} | 0.572644 | 0.583934 | 0.577803 | 0.572927 | 0.580002 | 0.610685 | 0.618646 |
| Salinity (PSU) [sea_water_salinity]{0-5m} | 0.275824 | 0.299090 | 0.285466 | 0.330874 | 0.290480 | 0.300734 | 0.299216 |
| Salinity (PSU) [sea_water_salinity]{5-100m} | 0.265583 | 0.262144 | 0.267598 | 0.256039 | 0.273197 | 0.279033 | 0.270121 |
| Salinity (PSU) [sea_water_salinity]{100-300m} | 0.137102 | 0.138676 | 0.139487 | 0.138535 | 0.141151 | 0.140128 | 0.146165 |
| Salinity (PSU) [sea_water_salinity]{300-600m} | 0.092662 | 0.092538 | 0.091199 | 0.091821 | 0.092086 | 0.094326 | 0.095307 |
| Sea level anomaly (m) [sea_surface_height_above_geoid]{surface} | 0.050917 | 0.052370 | 0.050938 | 0.052732 | 0.053955 | 0.059026 | 0.061779 |
| Zonal current (m/s) [eastward_sea_water_velocity]{15m} | 0.217615 | 0.217039 | 0.219337 | 0.219474 | 0.217363 | 0.220084 | 0.224409 |
| Meridional current (m/s) [northward_sea_water_velocity]{15m} | 0.199125 | 0.198230 | 0.198910 | 0.201291 | 0.200587 | 0.204581 | 0.206440 |
oceanbench.metrics.rmsd_of_variables_compared_to_glo12_analysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Sea surface height (m) [sea_surface_height_above_geoid]{surface} | 0.031031 | 0.036223 | 0.036227 | 0.040466 | 0.044344 | 0.052333 | 0.056221 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.426948 | 0.429485 | 0.346308 | 0.388968 | 0.426408 | 0.509925 | 0.573458 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.159780 | 0.199379 | 0.226700 | 0.250821 | 0.270708 | 0.291310 | 0.309216 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.095800 | 0.093743 | 0.083707 | 0.089965 | 0.095910 | 0.116727 | 0.126977 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.095793 | 0.096218 | 0.087980 | 0.093927 | 0.100135 | 0.119280 | 0.129682 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.400279 | 0.445239 | 0.444145 | 0.486588 | 0.526378 | 0.612996 | 0.671806 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.073474 | 0.091886 | 0.105064 | 0.116864 | 0.126996 | 0.139187 | 0.147914 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.075203 | 0.072914 | 0.065657 | 0.071779 | 0.077756 | 0.099333 | 0.109335 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.073288 | 0.073453 | 0.069175 | 0.074984 | 0.080818 | 0.099817 | 0.109364 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.382133 | 0.438909 | 0.461111 | 0.512091 | 0.559495 | 0.654855 | 0.719874 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.058144 | 0.073379 | 0.085428 | 0.096049 | 0.104997 | 0.115258 | 0.122283 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.067427 | 0.066071 | 0.060312 | 0.066414 | 0.072458 | 0.092673 | 0.102209 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.065541 | 0.067107 | 0.065115 | 0.071016 | 0.076758 | 0.094027 | 0.102550 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.271548 | 0.316306 | 0.348417 | 0.393883 | 0.435112 | 0.508046 | 0.552489 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.041146 | 0.054548 | 0.065376 | 0.074700 | 0.082506 | 0.091231 | 0.097435 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.055965 | 0.055213 | 0.050912 | 0.056787 | 0.062491 | 0.079937 | 0.088263 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.053176 | 0.053974 | 0.052880 | 0.058393 | 0.063799 | 0.078927 | 0.086147 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.227175 | 0.268183 | 0.301188 | 0.342332 | 0.379264 | 0.442687 | 0.480395 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.034093 | 0.045705 | 0.055194 | 0.063239 | 0.069965 | 0.077417 | 0.082808 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.051936 | 0.051533 | 0.047912 | 0.053681 | 0.059237 | 0.075493 | 0.083421 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.049483 | 0.050219 | 0.049013 | 0.054325 | 0.059497 | 0.073656 | 0.080624 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.168903 | 0.207598 | 0.240546 | 0.274996 | 0.305631 | 0.352771 | 0.383877 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.024945 | 0.034251 | 0.041944 | 0.048240 | 0.053464 | 0.058653 | 0.062844 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.043933 | 0.045350 | 0.044386 | 0.049969 | 0.055121 | 0.068041 | 0.074862 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.041650 | 0.044072 | 0.045138 | 0.050376 | 0.055252 | 0.066345 | 0.072252 |
oceanbench.metrics.rmsd_of_mixed_layer_depth_compared_to_glo12_analysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Mixed layer depth (m) [ocean_mixed_layer_thickness]{surface} | 32.771263 | 31.899273 | 27.489109 | 29.652927 | 31.411736 | 33.998051 | 36.848274 |
oceanbench.metrics.rmsd_of_geostrophic_currents_compared_to_glo12_analysis(
challenger_dataset,
region=region,
)| Lead day 1 | Lead day 2 | Lead day 3 | Lead day 4 | Lead day 5 | Lead day 6 | Lead day 7 | |
|---|---|---|---|---|---|---|---|
| Meridional geostrophic current (m/s) [geostrophic_northward_sea_water_velocity]{surface} | 0.207264 | 0.216921 | 0.206501 | 0.225652 | 0.241241 | 0.208434 | 0.215250 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.142182 | 0.151248 | 0.130681 | 0.137402 | 0.143870 | 0.157301 | 0.173216 |