import oceanbench
oceanbench.__version__'0.4.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.072453 | 0.074295 | 0.073324 | 0.074269 | 0.075283 | 0.078947 | 0.081520 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.682194 | 0.668692 | 0.579549 | 0.592355 | 0.605324 | 0.655539 | 0.711380 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.616679 | 0.620864 | 0.623386 | 0.628032 | 0.631518 | 0.637006 | 0.642241 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.134442 | 0.133738 | 0.133453 | 0.133547 | 0.133388 | 0.143643 | 0.148840 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.138877 | 0.139186 | 0.139691 | 0.140010 | 0.140208 | 0.149271 | 0.153763 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.955821 | 0.956601 | 0.925243 | 0.928298 | 0.930763 | 0.975742 | 1.008430 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.255182 | 0.256212 | 0.255879 | 0.256739 | 0.257780 | 0.260933 | 0.263369 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.121474 | 0.120967 | 0.122490 | 0.122306 | 0.121947 | 0.130451 | 0.134775 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.124348 | 0.124563 | 0.126394 | 0.126329 | 0.126032 | 0.133243 | 0.137213 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 1.115415 | 1.116022 | 1.113147 | 1.118567 | 1.122602 | 1.158759 | 1.184112 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.200884 | 0.201060 | 0.201156 | 0.201628 | 0.202265 | 0.204135 | 0.205383 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.117952 | 0.117555 | 0.119166 | 0.118869 | 0.118353 | 0.125269 | 0.128859 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.124374 | 0.124358 | 0.125737 | 0.125442 | 0.125071 | 0.131169 | 0.134185 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.918591 | 0.918775 | 0.920941 | 0.922623 | 0.924835 | 0.940347 | 0.949960 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.163564 | 0.163605 | 0.163789 | 0.164044 | 0.164429 | 0.165722 | 0.166568 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.114604 | 0.114498 | 0.116384 | 0.115857 | 0.115066 | 0.118762 | 0.120090 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.121759 | 0.121749 | 0.123544 | 0.122787 | 0.121911 | 0.125602 | 0.126642 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.775976 | 0.775899 | 0.778276 | 0.779503 | 0.781282 | 0.794251 | 0.801826 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.136538 | 0.136537 | 0.136756 | 0.136966 | 0.137287 | 0.138426 | 0.139189 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.111908 | 0.111833 | 0.113738 | 0.113121 | 0.112294 | 0.115536 | 0.116472 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.117141 | 0.117138 | 0.118963 | 0.118258 | 0.117398 | 0.120456 | 0.121161 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.594986 | 0.595638 | 0.598702 | 0.600406 | 0.602644 | 0.612005 | 0.618573 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.103444 | 0.103528 | 0.103778 | 0.104021 | 0.104341 | 0.105046 | 0.105677 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.102669 | 0.102712 | 0.104278 | 0.103611 | 0.102833 | 0.105718 | 0.106416 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.107629 | 0.107658 | 0.109264 | 0.108703 | 0.108063 | 0.110335 | 0.110749 |
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} | 41.38633 | 40.16363 | 37.282013 | 38.219248 | 38.997901 | 40.505128 | 41.783716 |
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.172858 | 0.175257 | 0.163070 | 0.166246 | 0.168675 | 0.174845 | 0.185482 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.197407 | 0.200152 | 0.182174 | 0.185833 | 0.188162 | 0.195766 | 0.208595 |
| 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.029998 | 0.034676 | 0.034023 | 0.037733 | 0.041418 | 0.050014 | 0.054382 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.455949 | 0.461170 | 0.361880 | 0.406637 | 0.445623 | 0.533625 | 0.605565 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.153159 | 0.194985 | 0.222000 | 0.244799 | 0.262592 | 0.281928 | 0.298422 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.104787 | 0.102258 | 0.090840 | 0.097542 | 0.104015 | 0.127649 | 0.139555 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.104982 | 0.105572 | 0.095973 | 0.102560 | 0.109354 | 0.130820 | 0.142900 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.435986 | 0.491426 | 0.488929 | 0.534800 | 0.578074 | 0.673771 | 0.741074 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.075120 | 0.096340 | 0.111004 | 0.124115 | 0.135273 | 0.148653 | 0.158386 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.082323 | 0.080355 | 0.072719 | 0.079090 | 0.085339 | 0.108933 | 0.120481 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.079579 | 0.080819 | 0.076598 | 0.082717 | 0.088929 | 0.109603 | 0.120623 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.423789 | 0.490137 | 0.513558 | 0.569906 | 0.622744 | 0.730116 | 0.805842 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.060453 | 0.077799 | 0.091375 | 0.103256 | 0.113220 | 0.124355 | 0.132145 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.072919 | 0.072288 | 0.066548 | 0.072807 | 0.079103 | 0.100782 | 0.111725 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.070576 | 0.073584 | 0.072044 | 0.078264 | 0.084336 | 0.102687 | 0.112370 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.293783 | 0.346081 | 0.382539 | 0.432802 | 0.478326 | 0.556036 | 0.606101 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.044697 | 0.059879 | 0.072125 | 0.082607 | 0.091368 | 0.100882 | 0.107821 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.058695 | 0.058774 | 0.054875 | 0.060838 | 0.066702 | 0.084920 | 0.094362 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.055303 | 0.057162 | 0.056752 | 0.062453 | 0.068082 | 0.083794 | 0.091841 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.242912 | 0.290632 | 0.328370 | 0.373686 | 0.414159 | 0.480629 | 0.522239 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.037175 | 0.050184 | 0.060822 | 0.069789 | 0.077273 | 0.085350 | 0.091313 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.054100 | 0.054495 | 0.051356 | 0.057255 | 0.062995 | 0.079935 | 0.088893 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.050994 | 0.052652 | 0.052155 | 0.057648 | 0.063024 | 0.077726 | 0.085483 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.179264 | 0.222946 | 0.259640 | 0.297282 | 0.330571 | 0.379968 | 0.413639 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.027151 | 0.037368 | 0.045841 | 0.052761 | 0.058494 | 0.064115 | 0.068673 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.045566 | 0.047796 | 0.047344 | 0.053151 | 0.058544 | 0.071856 | 0.079515 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.042775 | 0.046074 | 0.047775 | 0.053289 | 0.058436 | 0.069772 | 0.076297 |
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.404414 | 31.901359 | 27.507015 | 29.64698 | 31.342262 | 33.79178 | 36.58206 |
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.140157 | 0.147533 | 0.128114 | 0.136482 | 0.143801 | 0.159651 | 0.176116 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.168493 | 0.179531 | 0.154632 | 0.162146 | 0.169372 | 0.183534 | 0.202413 |