import oceanbench
oceanbench.__version__'0.5.1'
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: 2041, 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.92 90.0
* 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[ns] 416B 2024-01-03 ....
Data variables:
so (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 256, 512), meta=np.ndarray>
thetao (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 256, 512), meta=np.ndarray>
uo (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 256, 512), meta=np.ndarray>
vo (first_day_datetime, lead_day_index, depth, latitude, longitude) float32 411GB dask.array<chunksize=(1, 1, 1, 256, 512), meta=np.ndarray>
zos (first_day_datetime, lead_day_index, latitude, longitude) float32 13GB dask.array<chunksize=(1, 1, 256, 512), 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.833333, 89.916667,
90. ], shape=(2041,))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.000000000', '2024-01-10T00:00:00.000000000',
'2024-01-17T00:00:00.000000000', '2024-01-24T00:00:00.000000000',
'2024-01-31T00:00:00.000000000', '2024-02-07T00:00:00.000000000',
'2024-02-14T00:00:00.000000000', '2024-02-21T00:00:00.000000000',
'2024-02-28T00:00:00.000000000', '2024-03-06T00:00:00.000000000',
'2024-03-13T00:00:00.000000000', '2024-03-20T00:00:00.000000000',
'2024-03-27T00:00:00.000000000', '2024-04-03T00:00:00.000000000',
'2024-04-10T00:00:00.000000000', '2024-04-17T00:00:00.000000000',
'2024-04-24T00:00:00.000000000', '2024-05-01T00:00:00.000000000',
'2024-05-08T00:00:00.000000000', '2024-05-15T00:00:00.000000000',
'2024-05-22T00:00:00.000000000', '2024-05-29T00:00:00.000000000',
'2024-06-05T00:00:00.000000000', '2024-06-12T00:00:00.000000000',
'2024-06-19T00:00:00.000000000', '2024-06-26T00:00:00.000000000',
'2024-07-03T00:00:00.000000000', '2024-07-10T00:00:00.000000000',
'2024-07-17T00:00:00.000000000', '2024-07-24T00:00:00.000000000',
'2024-07-31T00:00:00.000000000', '2024-08-07T00:00:00.000000000',
'2024-08-14T00:00:00.000000000', '2024-08-21T00:00:00.000000000',
'2024-08-28T00:00:00.000000000', '2024-09-04T00:00:00.000000000',
'2024-09-11T00:00:00.000000000', '2024-09-18T00:00:00.000000000',
'2024-09-25T00:00:00.000000000', '2024-10-02T00:00:00.000000000',
'2024-10-09T00:00:00.000000000', '2024-10-16T00:00:00.000000000',
'2024-10-23T00:00:00.000000000', '2024-10-30T00:00:00.000000000',
'2024-11-06T00:00:00.000000000', '2024-11-13T00:00:00.000000000',
'2024-11-20T00:00:00.000000000', '2024-11-27T00:00:00.000000000',
'2024-12-04T00:00:00.000000000', '2024-12-11T00:00:00.000000000',
'2024-12-18T00:00:00.000000000', '2024-12-25T00:00:00.000000000'],
dtype='datetime64[ns]')
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
|
||||||||||||||||
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.25, 89.33333333333334, 89.41666666666666,
89.5, 89.58333333333334, 89.66666666666666,
89.75, 89.83333333333334, 89.91666666666666,
90.0],
dtype='float64', name='latitude', length=2041))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[ns]', 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.060361 | 0.062578 | 0.065082 | 0.068331 | 0.069573 | 0.071352 | 0.066516 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.619591 | 0.568462 | 0.505240 | 0.528274 | 0.549111 | 0.612853 | 0.632734 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.258264 | 0.261542 | 0.265463 | 0.267390 | 0.270939 | 0.274698 | 0.276671 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.105598 | 0.105737 | 0.102859 | 0.103951 | 0.102178 | 0.104436 | 0.109229 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.113686 | 0.111701 | 0.110121 | 0.109988 | 0.109937 | 0.112354 | 0.113514 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.693266 | 0.699209 | 0.710640 | 0.713620 | 0.718136 | 0.747845 | 0.744935 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.191046 | 0.191350 | 0.191892 | 0.192168 | 0.192565 | 0.193710 | 0.194280 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.089183 | 0.089773 | 0.092430 | 0.092289 | 0.091322 | 0.092166 | 0.092957 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.093540 | 0.094244 | 0.096792 | 0.096684 | 0.095976 | 0.097110 | 0.097916 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.735946 | 0.732490 | 0.741752 | 0.742779 | 0.744096 | 0.749086 | 0.750119 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.197044 | 0.197021 | 0.197392 | 0.197953 | 0.198622 | 0.199508 | 0.200189 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.086291 | 0.086592 | 0.089129 | 0.089019 | 0.088257 | 0.088798 | 0.089508 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.089196 | 0.089467 | 0.091843 | 0.091647 | 0.090944 | 0.091864 | 0.092593 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.651387 | 0.652174 | 0.664423 | 0.664613 | 0.664834 | 0.663207 | 0.663016 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.136729 | 0.136728 | 0.137104 | 0.137246 | 0.137462 | 0.137519 | 0.137627 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.081161 | 0.081074 | 0.083007 | 0.082794 | 0.082310 | 0.082437 | 0.083105 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.082564 | 0.082385 | 0.084336 | 0.084006 | 0.083443 | 0.083845 | 0.084531 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.535452 | 0.535896 | 0.544263 | 0.544470 | 0.545047 | 0.542135 | 0.541994 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.104837 | 0.104819 | 0.105079 | 0.105125 | 0.105259 | 0.105151 | 0.105182 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.080341 | 0.080196 | 0.082214 | 0.081860 | 0.081293 | 0.081590 | 0.082362 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.081833 | 0.081639 | 0.083668 | 0.083238 | 0.082589 | 0.083023 | 0.083738 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.397534 | 0.397231 | 0.401003 | 0.401662 | 0.402973 | 0.401047 | 0.401161 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.091117 | 0.091135 | 0.090943 | 0.091076 | 0.091236 | 0.091314 | 0.091462 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.083489 | 0.083185 | 0.085235 | 0.084612 | 0.083823 | 0.084656 | 0.085556 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.085435 | 0.085063 | 0.087108 | 0.086460 | 0.085616 | 0.086447 | 0.087204 |
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.275248 | 37.511662 | 30.935132 | 32.834266 | 34.092312 | 38.74794 | 39.862172 |
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.089477 | 0.091299 | 0.092991 | 0.093787 | 0.093865 | 0.094921 | 0.096213 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.091021 | 0.092417 | 0.094114 | 0.094603 | 0.094661 | 0.096045 | 0.097078 |
| 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.695292 | 0.633569 | 0.630924 | 0.557584 | 0.584486 | 0.667529 | 0.859473 |
| Temperature (°C) [sea_water_potential_temperature]{0-5m} | 0.682071 | 0.609013 | 0.456690 | 0.572447 | 0.604897 | 0.646114 | 0.701758 |
| Temperature (°C) [sea_water_potential_temperature]{5-100m} | 0.716803 | 0.696524 | 0.680253 | 0.690964 | 0.778317 | 0.734166 | 0.750677 |
| Temperature (°C) [sea_water_potential_temperature]{100-300m} | 0.300960 | 0.326613 | 0.320029 | 0.319125 | 0.332471 | 0.332792 | 0.338086 |
| Temperature (°C) [sea_water_potential_temperature]{300-600m} | 0.256846 | 0.250014 | 0.238363 | 0.238176 | 0.241380 | 0.252914 | 0.248764 |
| Salinity (PSU) [sea_water_salinity]{0-5m} | 0.665095 | 0.865429 | 0.849486 | 0.656230 | 0.632459 | 0.738958 | 0.639721 |
| Salinity (PSU) [sea_water_salinity]{5-100m} | 0.268923 | 0.322581 | 0.326464 | 0.272210 | 0.297687 | 0.307152 | 0.293127 |
| Salinity (PSU) [sea_water_salinity]{100-300m} | 0.110056 | 0.094990 | 0.116685 | 0.087616 | 0.131195 | 0.115879 | 0.125396 |
| Salinity (PSU) [sea_water_salinity]{300-600m} | 0.041557 | 0.043327 | 0.043931 | 0.042518 | 0.044602 | 0.047315 | 0.050872 |
| Sea level anomaly (m) [sea_surface_height_above_geoid]{surface} | 0.048665 | 0.048311 | 0.049110 | 0.046917 | 0.047700 | 0.051046 | 0.053610 |
| Zonal current (m/s) [eastward_sea_water_velocity]{15m} | 0.219735 | 0.221985 | 0.222494 | 0.220487 | 0.206839 | 0.218924 | 0.215025 |
| Meridional current (m/s) [northward_sea_water_velocity]{15m} | 0.184722 | 0.184772 | 0.183999 | 0.181374 | 0.183578 | 0.182098 | 0.185245 |
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.029432 | 0.035548 | 0.037690 | 0.044180 | 0.045998 | 0.048296 | 0.045289 |
| Temperature (°C) [sea_water_potential_temperature]{surface} | 0.513924 | 0.431846 | 0.349182 | 0.403144 | 0.443882 | 0.513787 | 0.559750 |
| Salinity (PSU) [sea_water_salinity]{surface} | 0.059625 | 0.088356 | 0.107840 | 0.122619 | 0.134953 | 0.144234 | 0.152166 |
| Meridional current (m/s) [northward_sea_water_velocity]{surface} | 0.070947 | 0.072757 | 0.063752 | 0.070001 | 0.072912 | 0.083437 | 0.094977 |
| Zonal current (m/s) [eastward_sea_water_velocity]{surface} | 0.073848 | 0.073745 | 0.068712 | 0.073388 | 0.078423 | 0.089197 | 0.096121 |
| Temperature (°C) [sea_water_potential_temperature]{50m} | 0.265159 | 0.308992 | 0.329606 | 0.380024 | 0.423351 | 0.482153 | 0.518711 |
| Salinity (PSU) [sea_water_salinity]{50m} | 0.039856 | 0.058050 | 0.072688 | 0.084577 | 0.094163 | 0.103000 | 0.110349 |
| Meridional current (m/s) [northward_sea_water_velocity]{50m} | 0.042598 | 0.045904 | 0.046258 | 0.052861 | 0.057976 | 0.068213 | 0.076080 |
| Zonal current (m/s) [eastward_sea_water_velocity]{50m} | 0.042424 | 0.046830 | 0.047724 | 0.054650 | 0.059989 | 0.070692 | 0.078637 |
| Temperature (°C) [sea_water_potential_temperature]{100m} | 0.193311 | 0.236163 | 0.270666 | 0.315054 | 0.353224 | 0.398639 | 0.434438 |
| Salinity (PSU) [sea_water_salinity]{100m} | 0.039247 | 0.057849 | 0.073395 | 0.086429 | 0.096965 | 0.105854 | 0.113302 |
| Meridional current (m/s) [northward_sea_water_velocity]{100m} | 0.038083 | 0.041316 | 0.042425 | 0.048973 | 0.054195 | 0.064726 | 0.072558 |
| Zonal current (m/s) [eastward_sea_water_velocity]{100m} | 0.036707 | 0.041512 | 0.043434 | 0.050015 | 0.055370 | 0.066078 | 0.073650 |
| Temperature (°C) [sea_water_potential_temperature]{200m} | 0.148926 | 0.181349 | 0.208638 | 0.241613 | 0.270211 | 0.303881 | 0.333470 |
| Salinity (PSU) [sea_water_salinity]{200m} | 0.026568 | 0.037465 | 0.046588 | 0.054286 | 0.060649 | 0.066100 | 0.070987 |
| Meridional current (m/s) [northward_sea_water_velocity]{200m} | 0.032762 | 0.035734 | 0.036159 | 0.042135 | 0.047507 | 0.057407 | 0.064895 |
| Zonal current (m/s) [eastward_sea_water_velocity]{200m} | 0.031501 | 0.035616 | 0.036769 | 0.042628 | 0.047949 | 0.057595 | 0.064903 |
| Temperature (°C) [sea_water_potential_temperature]{300m} | 0.121590 | 0.155369 | 0.182048 | 0.211546 | 0.236988 | 0.265121 | 0.289934 |
| Salinity (PSU) [sea_water_salinity]{300m} | 0.021189 | 0.030520 | 0.037890 | 0.044181 | 0.049366 | 0.053730 | 0.057661 |
| Meridional current (m/s) [northward_sea_water_velocity]{300m} | 0.030324 | 0.033885 | 0.035105 | 0.040989 | 0.046291 | 0.055626 | 0.062897 |
| Zonal current (m/s) [eastward_sea_water_velocity]{300m} | 0.029560 | 0.034123 | 0.035601 | 0.041406 | 0.046679 | 0.055691 | 0.062792 |
| Temperature (°C) [sea_water_potential_temperature]{500m} | 0.091490 | 0.128905 | 0.155986 | 0.183065 | 0.206339 | 0.228589 | 0.247528 |
| Salinity (PSU) [sea_water_salinity]{500m} | 0.018414 | 0.027539 | 0.034690 | 0.040661 | 0.045585 | 0.049662 | 0.053248 |
| Meridional current (m/s) [northward_sea_water_velocity]{500m} | 0.026224 | 0.032321 | 0.036940 | 0.043036 | 0.048312 | 0.056819 | 0.063556 |
| Zonal current (m/s) [eastward_sea_water_velocity]{500m} | 0.025348 | 0.032371 | 0.037552 | 0.043760 | 0.049094 | 0.057345 | 0.063898 |
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} | 43.551025 | 33.943386 | 26.734418 | 29.485549 | 31.316682 | 36.968545 | 38.643863 |
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.040558 | 0.047826 | 0.049284 | 0.056759 | 0.062385 | 0.072252 | 0.079978 |
| Zonal geostrophic current (m/s) [geostrophic_eastward_sea_water_velocity]{surface} | 0.037728 | 0.044863 | 0.046857 | 0.053982 | 0.059875 | 0.070098 | 0.077642 |