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.062100 | 0.064186 | 0.066888 | 0.070458 | 0.071757 | 0.073726 | 0.068189 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.599001 | 0.557495 | 0.506480 | 0.529116 | 0.550291 | 0.622110 | 0.638899 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.250811 | 0.254787 | 0.257992 | 0.258713 | 0.261274 | 0.264511 | 0.266274 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.105150 | 0.105171 | 0.102609 | 0.103835 | 0.102053 | 0.104102 | 0.108655 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.113798 | 0.111742 | 0.110483 | 0.110000 | 0.110023 | 0.112445 | 0.113353 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.686278 | 0.695008 | 0.707614 | 0.710540 | 0.714922 | 0.747854 | 0.742091 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.186609 | 0.186863 | 0.187231 | 0.187431 | 0.187746 | 0.188736 | 0.189090 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.088807 | 0.089294 | 0.091939 | 0.091833 | 0.090864 | 0.091655 | 0.092332 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.094412 | 0.094744 | 0.097552 | 0.097318 | 0.096560 | 0.097624 | 0.098314 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.721498 | 0.718538 | 0.727306 | 0.728108 | 0.729342 | 0.735404 | 0.735570 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.192460 | 0.192374 | 0.192545 | 0.192962 | 0.193562 | 0.194368 | 0.194906 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.086471 | 0.086670 | 0.089314 | 0.089203 | 0.088416 | 0.088940 | 0.089537 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.090262 | 0.090225 | 0.092917 | 0.092592 | 0.091856 | 0.092758 | 0.093378 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.634146 | 0.634946 | 0.647402 | 0.647441 | 0.647399 | 0.646235 | 0.646034 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.132178 | 0.132172 | 0.132530 | 0.132651 | 0.132829 | 0.132898 | 0.132974 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.081990 | 0.081801 | 0.083843 | 0.083597 | 0.083097 | 0.083280 | 0.083871 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.084011 | 0.083581 | 0.085967 | 0.085608 | 0.084996 | 0.085464 | 0.086003 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.524302 | 0.524666 | 0.533575 | 0.533580 | 0.533965 | 0.531556 | 0.531646 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.101495 | 0.101483 | 0.101766 | 0.101810 | 0.101950 | 0.101883 | 0.101906 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.081033 | 0.080790 | 0.082924 | 0.082557 | 0.081988 | 0.082356 | 0.083044 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.082896 | 0.082478 | 0.084947 | 0.084513 | 0.083821 | 0.084344 | 0.084925 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.400599 | 0.400643 | 0.404746 | 0.405386 | 0.406779 | 0.406030 | 0.406681 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.090088 | 0.090122 | 0.089940 | 0.090067 | 0.090215 | 0.090327 | 0.090473 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.083887 | 0.083504 | 0.085663 | 0.085026 | 0.084250 | 0.085155 | 0.085969 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.086244 | 0.085722 | 0.088094 | 0.087468 | 0.086600 | 0.087491 | 0.088121 |
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} | 48.922356 | 39.905499 | 32.438881 | 34.254089 | 35.604412 | 40.550808 | 41.796471 |
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.089132 | 0.091004 | 0.092589 | 0.093463 | 0.093632 | 0.094741 | 0.096031 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.091689 | 0.092695 | 0.094522 | 0.094728 | 0.094726 | 0.096291 | 0.097311 |
| 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.032357 | 0.038089 | 0.040569 | 0.047262 | 0.048923 | 0.051086 | 0.047401 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.503589 | 0.433514 | 0.364156 | 0.412809 | 0.450987 | 0.526542 | 0.565944 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.113590 | 0.127532 | 0.139366 | 0.149441 | 0.157639 | 0.163957 | 0.170461 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.074522 | 0.075699 | 0.067841 | 0.073326 | 0.075665 | 0.085058 | 0.095610 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.083973 | 0.082718 | 0.079067 | 0.081537 | 0.084861 | 0.093730 | 0.099020 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.313655 | 0.342942 | 0.357509 | 0.397218 | 0.434174 | 0.493606 | 0.522276 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.060178 | 0.069668 | 0.079337 | 0.088241 | 0.096038 | 0.103344 | 0.109677 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.047964 | 0.050304 | 0.050951 | 0.056464 | 0.060790 | 0.069860 | 0.076827 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.058440 | 0.059773 | 0.061653 | 0.065469 | 0.068558 | 0.076631 | 0.082720 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.251810 | 0.274731 | 0.298806 | 0.332060 | 0.362938 | 0.403945 | 0.434546 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.063060 | 0.072839 | 0.083015 | 0.092638 | 0.100892 | 0.108147 | 0.114394 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.044576 | 0.046499 | 0.047628 | 0.053058 | 0.057517 | 0.066978 | 0.074028 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.054203 | 0.055229 | 0.057439 | 0.060935 | 0.064112 | 0.072237 | 0.078158 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.186949 | 0.205806 | 0.225906 | 0.252104 | 0.276110 | 0.305760 | 0.332157 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.037355 | 0.043446 | 0.049862 | 0.055990 | 0.061315 | 0.065959 | 0.070285 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.039711 | 0.041298 | 0.041649 | 0.046571 | 0.051232 | 0.060295 | 0.067121 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.049124 | 0.049670 | 0.051270 | 0.054444 | 0.057857 | 0.065124 | 0.070732 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.159752 | 0.179760 | 0.199407 | 0.222935 | 0.244491 | 0.269572 | 0.291810 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.030086 | 0.035413 | 0.040655 | 0.045714 | 0.050103 | 0.053905 | 0.057363 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.037476 | 0.039529 | 0.040662 | 0.045519 | 0.050096 | 0.058659 | 0.065252 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.048003 | 0.048851 | 0.050601 | 0.053807 | 0.057206 | 0.063906 | 0.069294 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.138078 | 0.161307 | 0.181659 | 0.203553 | 0.223659 | 0.245354 | 0.263395 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.031045 | 0.035738 | 0.040551 | 0.045087 | 0.049135 | 0.052773 | 0.055992 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.034682 | 0.038485 | 0.042267 | 0.047280 | 0.051869 | 0.059732 | 0.065825 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.047269 | 0.048924 | 0.052447 | 0.055915 | 0.059381 | 0.065565 | 0.070592 |
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} | 46.447136 | 36.800579 | 28.768095 | 31.286652 | 33.181797 | 39.050426 | 40.993469 |
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.046561 | 0.052435 | 0.053750 | 0.060170 | 0.065039 | 0.074163 | 0.081311 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.052186 | 0.055989 | 0.058381 | 0.062614 | 0.066586 | 0.075126 | 0.081223 |