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.061403 | 0.063327 | 0.065901 | 0.068986 | 0.070190 | 0.071981 | 0.067203 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.603204 | 0.564613 | 0.510377 | 0.532521 | 0.553422 | 0.623181 | 0.637008 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.249468 | 0.253163 | 0.256327 | 0.257050 | 0.259445 | 0.262642 | 0.264345 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.106537 | 0.106598 | 0.104055 | 0.105115 | 0.103240 | 0.105411 | 0.110026 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.116165 | 0.113720 | 0.112303 | 0.111855 | 0.111708 | 0.114146 | 0.115293 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.695380 | 0.704750 | 0.718744 | 0.721718 | 0.726131 | 0.758454 | 0.752230 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.192349 | 0.192575 | 0.192962 | 0.193133 | 0.193427 | 0.194472 | 0.194877 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.090203 | 0.090716 | 0.093400 | 0.093202 | 0.092200 | 0.093045 | 0.093826 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.095964 | 0.096362 | 0.099184 | 0.098901 | 0.098095 | 0.099199 | 0.099974 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.743420 | 0.740042 | 0.749597 | 0.750400 | 0.751628 | 0.757175 | 0.757487 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.200490 | 0.200397 | 0.200596 | 0.201032 | 0.201662 | 0.202509 | 0.203086 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.087220 | 0.087448 | 0.090065 | 0.089889 | 0.089090 | 0.089630 | 0.090308 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.091127 | 0.091157 | 0.093788 | 0.093445 | 0.092704 | 0.093592 | 0.094285 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.658064 | 0.658912 | 0.671906 | 0.671935 | 0.671894 | 0.670319 | 0.670057 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.137846 | 0.137836 | 0.138226 | 0.138345 | 0.138522 | 0.138590 | 0.138664 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.081960 | 0.081832 | 0.083857 | 0.083620 | 0.083128 | 0.083233 | 0.083867 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.083962 | 0.083610 | 0.085928 | 0.085576 | 0.084971 | 0.085356 | 0.085944 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.540204 | 0.540651 | 0.549816 | 0.549857 | 0.550278 | 0.547486 | 0.547415 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.105290 | 0.105278 | 0.105587 | 0.105626 | 0.105761 | 0.105687 | 0.105701 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.081045 | 0.080853 | 0.082983 | 0.082622 | 0.082051 | 0.082339 | 0.083070 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.082876 | 0.082527 | 0.084944 | 0.084509 | 0.083818 | 0.084260 | 0.084894 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.401182 | 0.401051 | 0.405274 | 0.405907 | 0.407251 | 0.405688 | 0.405939 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.091542 | 0.091578 | 0.091376 | 0.091501 | 0.091641 | 0.091726 | 0.091854 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.084144 | 0.083795 | 0.085950 | 0.085311 | 0.084525 | 0.085366 | 0.086231 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.086530 | 0.086063 | 0.088371 | 0.087738 | 0.086867 | 0.087696 | 0.088384 |
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} | 46.676925 | 38.071514 | 31.57378 | 33.373463 | 34.680205 | 39.337104 | 40.491243 |
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.090612 | 0.092298 | 0.094006 | 0.094703 | 0.094733 | 0.095855 | 0.097142 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.093619 | 0.094559 | 0.096446 | 0.096592 | 0.096486 | 0.098000 | 0.099031 |
| 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.770993 | 0.661069 | 0.718360 | 0.715718 | 0.693699 | 0.769072 | 0.944062 |
| Temperature (°C) [sea_water_potential_temperature]{0-5m} | 0.631508 | 0.566354 | 0.508483 | 0.598180 | 0.612680 | 0.674602 | 0.702842 |
| Temperature (°C) [sea_water_potential_temperature]{5-100m} | 0.707035 | 0.710896 | 0.695521 | 0.711983 | 0.805308 | 0.761474 | 0.756023 |
| Temperature (°C) [sea_water_potential_temperature]{100-300m} | 0.300613 | 0.315809 | 0.332118 | 0.335119 | 0.324359 | 0.343311 | 0.339647 |
| Temperature (°C) [sea_water_potential_temperature]{300-600m} | 0.256294 | 0.249651 | 0.242777 | 0.245255 | 0.239802 | 0.264513 | 0.247248 |
| Salinity (PSU) [sea_water_salinity]{0-5m} | 0.654134 | 0.853800 | 0.837935 | 0.652831 | 0.625067 | 0.736924 | 0.631822 |
| Salinity (PSU) [sea_water_salinity]{5-100m} | 0.265386 | 0.321050 | 0.327803 | 0.274161 | 0.293020 | 0.306346 | 0.291096 |
| Salinity (PSU) [sea_water_salinity]{100-300m} | 0.109454 | 0.100698 | 0.117241 | 0.094039 | 0.122124 | 0.124723 | 0.126719 |
| Salinity (PSU) [sea_water_salinity]{300-600m} | 0.043430 | 0.045118 | 0.044631 | 0.044311 | 0.045890 | 0.048614 | 0.050479 |
| Sea level anomaly (m) [sea_surface_height_above_geoid]{surface} | 0.048010 | 0.047992 | 0.049194 | 0.046770 | 0.047531 | 0.050940 | 0.053283 |
| Zonal current (m/s) [eastward_sea_water_velocity]{15m} | 0.219563 | 0.222801 | 0.222899 | 0.220794 | 0.207182 | 0.220185 | 0.214736 |
| Meridional current (m/s) [northward_sea_water_velocity]{15m} | 0.185119 | 0.184961 | 0.184538 | 0.181305 | 0.183252 | 0.181841 | 0.185170 |
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.030254 | 0.035706 | 0.038076 | 0.044352 | 0.045986 | 0.048258 | 0.045231 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.509151 | 0.439852 | 0.365877 | 0.414473 | 0.452830 | 0.527163 | 0.564812 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.109957 | 0.124124 | 0.136073 | 0.146301 | 0.154606 | 0.161187 | 0.167782 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.074899 | 0.076026 | 0.067842 | 0.073333 | 0.075754 | 0.085629 | 0.096525 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.085460 | 0.083647 | 0.079743 | 0.082324 | 0.085707 | 0.094775 | 0.100476 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.318485 | 0.349134 | 0.364251 | 0.404748 | 0.442314 | 0.501094 | 0.530135 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.061811 | 0.071661 | 0.081745 | 0.090995 | 0.099059 | 0.106624 | 0.113194 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.048217 | 0.050495 | 0.051105 | 0.056613 | 0.061028 | 0.070460 | 0.077798 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.058881 | 0.060324 | 0.062153 | 0.065976 | 0.069130 | 0.077406 | 0.083796 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.258336 | 0.282211 | 0.306995 | 0.341259 | 0.373083 | 0.415129 | 0.446938 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.065428 | 0.075633 | 0.086266 | 0.096271 | 0.104844 | 0.112378 | 0.118877 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.044504 | 0.046319 | 0.047414 | 0.052804 | 0.057327 | 0.066985 | 0.074323 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.054248 | 0.055333 | 0.057452 | 0.060947 | 0.064150 | 0.072340 | 0.078516 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.191705 | 0.211598 | 0.232629 | 0.259833 | 0.284716 | 0.314889 | 0.342090 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.038695 | 0.045057 | 0.051782 | 0.058161 | 0.063701 | 0.068545 | 0.073055 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.039322 | 0.040887 | 0.041397 | 0.046280 | 0.050898 | 0.059845 | 0.066810 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.048734 | 0.049337 | 0.050907 | 0.054059 | 0.057443 | 0.064568 | 0.070310 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.162773 | 0.183615 | 0.203976 | 0.228293 | 0.250499 | 0.275659 | 0.298358 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.030981 | 0.036513 | 0.041974 | 0.047218 | 0.051761 | 0.055697 | 0.059281 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.037117 | 0.039149 | 0.040445 | 0.045275 | 0.049811 | 0.058231 | 0.064939 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.047708 | 0.048609 | 0.050346 | 0.053525 | 0.056890 | 0.063435 | 0.068939 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.136438 | 0.159328 | 0.179331 | 0.201236 | 0.221339 | 0.242091 | 0.259687 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.031423 | 0.036127 | 0.040998 | 0.045592 | 0.049686 | 0.053344 | 0.056593 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.034397 | 0.038200 | 0.042080 | 0.047093 | 0.051660 | 0.059408 | 0.065597 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.047102 | 0.048812 | 0.052279 | 0.055737 | 0.059182 | 0.065248 | 0.070372 |
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} | 44.097298 | 34.903148 | 27.892671 | 30.356421 | 32.201392 | 37.771837 | 39.559798 |
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.046447 | 0.05205 | 0.053517 | 0.059906 | 0.064821 | 0.074217 | 0.081630 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.052788 | 0.05645 | 0.058860 | 0.063133 | 0.067114 | 0.075765 | 0.082092 |