Check out the data challenge website for more infos !
This repository contains codes and sample notebooks for downloading and processing the 2023a SSH mapping data challenge. Note that this data challenge is a somewhat extended version of the data challenge 2021a_SSH_mapping_OSE on a global scale.
So far, the github page visits amount to:
The Copernicus Marine Service (CMEMS) is committed to providing high-quality, state-of-the-art ocean products through the validation and verification of physical oceanic parameters on both global and regional scales. Among the variables distributed by the service, ocean surface topography and surface currents are of great interest to the oceanographic communities for practical applications and for scientific research.
Several mapping techniques, such as statistical interpolation methods or ocean model assimilation methods, are currently proposed to provide operational maps of ocean surface heights and currents. New mapping techniques (e.g. data-driven methods) are emerging and being tested in a research and development context. It is therefore becoming important to inform users and developers about the accuracy of scale represented by each mapping system.
The goal of the present data-challenge is to investigate how to best reconstruct sequences of Sea Surface Height (SSH) and surface current maps from partial satellite altimetry observations and from a global perspective. This data challenge follows an Observation System Experiment framework: Satellite observations are from real sea surface height data from altimeter. The practical goal of the challenge is to investigate the best mapping method according to scores described below and in Jupyter notebooks.
The SSH observations used in this study comprise data from a nadir altimeter constellation that includes Jason 3, Sentinel 3A, Sentinel 3B, Haiyang-2A, Haiyang-2B, and Cryosat-2. These data are distributed by the Copernicus Marine Service (https://doi.org/10.48670/moi-00146) and cover the period from January 1st, 2019 to December 31st, 2019. The Saral/AltiKa altimeter data are excluded from the mapping process to enable an independent assessment of the different reconstructions.
In addition, independent assessment of ocean surface currents is performed using in situ data, which are also distributed by CMEMS (https://doi.org/10.17882/86236).
The SSH reconstructions are assessed at global scale and over the period from 2019-01-01 to 2019-12-31.
For reconstruction methods that need a spin-up, the observations from other period can be used.
The altimeter data from Saral/AltiKa and surface current velocity data mentioned above should never be used so that any reconstruction can be considered uncorrelated to the evaluation period.
💻 How to get started ?
Clone the data challenge repo:
git clone https://github.com/ocean-data-challenges/2023a_SSH_mapping_OSE.git
or using SSH:
git clone [email protected]:ocean-data-challenges/2023a_SSH_mapping_OSE.git
create the data challenge conda environment, named env-dc-swot-filtering, by running the following command:
conda env create --file=dc_environment.yml
and activate it with:
conda activate env-dc-global-ose
then add it to the available kernels for jupyter to see:
ipython kernel install --name "env-dc-global-ose" --user
finally, select the "env-dc-global-ose" kernel in your notebook with Kernel > Change Kernel.
You're now good to go !
The data are hosted and can be accessed on the MEOM server opendap here. The disk space needed to locally download the full dataset (for the reconstruction experiment, the independant evaluation and the comparison) is approximately 33Go. The comparison data is by far the heaviest with approximately 26Go.
A notebook to illustrate how to download and read the global data is available: download_and_acces_global_data.ipynb
If you are only interested in regional data, a notebook is available to read online the global data and download only regional data: read_and_download_regional_data.ipynb
The dataset is presented with the following directory structure:
.
|-- alongtrack
.
|-- independant_alongtrack
| |-- alg % DT Altika Drifting Phase Global Ocean Along track SSALTO/DUACS Sea Surface Height L3 product
| | |-- 2019
| | | |-- dt_global_alg_phy_l3_2019*.nc
.
|-- independent_drifters
| |-- uv_drifters_*.nc % Drifter data
| |-- index_history.txt % Preprocessing drifter data information
| |-- reformate_drifters.ipynb % Preprocessing notebook (for informational purposes, not needed for experiments)
.
|-- sad
| |-- distance_to_nearest_coastline_60.nc
| |-- land_water_mask_60.nc
| |-- variance_cmems_dt_allsat.nc
.
|-- maps
| |-- DUACS_global_allsat-alg % DUACS reconstruction
| |-- MIOST_geos_global_allsat-alg % MIOST reconstruction
| |-- MIOST_geos_barotrop_eqwaves_global_allsat-alg % MIOST reconstruction with barotropic and equatorial waves processing
The data can be downloaded locally using the wget command. We recommand that the data be stored in the data/
repository.
For example, to download and unzip the experiment alongtrack data:
cd data/
wget https://ige-meom-opendap.univ-grenoble-alpes.fr/thredds/fileServer/meomopendap/extract/MEOM/OCEAN_DATA_CHALLENGES/2023a_SSH_mapping_OSE/alongtrack/*
tar -xvf alongtrack.tar.gz
rm -f alongtrack.tar.gz
The mapping methods are evaluated against independent data using two independant datasets:
Independant nadir SSH data: Check example 1
The ocean surface topography reconstruction is compared with independant data from Saral/AltiKa altimeter. The metrics available using this independant dataset are:
- Grid boxes statistics (maps)
- Statistics by regimes (scalar scores)
- Spectral effective resolution (maps)
Independant drifter currents data: Check example 2
The surface currents are assessed by comparing them to the surface drifter velocities. The metrics available using this independant dataset are:
- Grid boxes statistics (maps)
- Statistics by regimes (scalar scores)
- Zonaly averaged rotary spectra (omega-latitude plots)
- 1D along trajectory spectrum (plots)
Cross-functional modules are gathered in the src
directory. They include tools for regridding, plots, evaluation, writing and reading NetCDF files.