This repository contains codes and sample notebooks for downloading and processing the SSH mapping data challenge.
The quickstart can be run online by clicking here:
The goal is to investigate how to best reconstruct sequences of Sea Surface Height (SSH) maps from partial satellite altimetry observations. This data challenge follows an Observation System Experiment (OSE) 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 include SARAL/Altika, Jason 2, Jason 3, Sentinel 3A, Haiyang-2A and Cryosat-2 altimeter data. This nadir altimeters constellation was operating during the 20170101-20171231 period. Note that the Cryosat-2 altimeter data are not taken in the mapping to perform the independent assessment of the various reconstructions.
The SSH reconstructions are assessed over the period from 2017-01-01 to 2017-12-31.
For reconstruction methods that need a spin-up, the observations can be used from 2016-12-01 until the beginning of the evaluation period (31 days). This spin-up period is not included in the evaluation. For reconstruction methods that need learning from full fields, the baseline reconstruction or duacs reconstruction can be used from 2017-01-01 to 2017-12-31. The altimeter data from Cryosat-2 should never be used so that any reconstruction can be considered uncorrelated to the evaluation period.
Method | µ(RMSEs) | σ(RMSEs) | λx (km) | Notes | Reference |
---|---|---|---|---|---|
BASELINE | 0.85 | 0.09 | 140 | Covariances BASELINE OI | example_eval_baseline.ipynb |
DUACS | 0.88 | 0.07 | 152 | Covariances DUACS DT2018 | example_eval_duacs.ipynb |
MIOST | 0.89 | 0.08 | 139 | Multiscale mapping | example_eval_miost.ipynb |
DYMOST | 0.89 | 0.06 | 129 | Dynamic mapping | example_eval_dymost.ipynb |
BFN | 0.88 | 0.06 | 122 | BFN mapping | example_eval_bfn.ipynb |
µ(RMSEs): average RMSE score (best score := 1, worse score := 0).
σ(RMSEs): standard deviation of the RMSE score.
λx: minimum spatial scale resolved.
You can follow the quickstart guide in this notebook or launch it directly from binder.
To work with code and demo notebooks using conda, execute the following command:
conda env create -f environment.yml
The data are hosted on the AVISO+ website and tagged with DOI: XXXXXXXXXXXXXXXXXX. The website also provides a data handbook. This wiki can help you create an AVISO account to access the data. The demo notebook example_data_access_aviso.ipynb
shows how to access and manipulate the data with python libraries.
The baseline mapping method is optimal interpolation (OI), in the spirit of the present-day standard for DUACS products provided by AVISO. OI is implemented in the baseline_oi
Jupyter notebook. The SSH reconstructions are saved as a NetCDF file in the results
directory. The content of this directory is git-ignored.
The evaluation of the mapping methods is based on the comparison of the SSH reconstructions with the independent Cryosat-2 along-track dataset. It includes two scores, one based on the Root-Mean-Square Error (RMSE), the other based on Fourier wavenumber spectra. The evaluation notebook example_data_eval
implements the computation of these two scores as they could appear in the leaderboard. The notebook also provides additional, graphical diagnostics based on RMSE and spectra.
Cross-functional modules are gathered in the src
directory. They include tools for regridding, plots, evaluation, writing and reading NetCDF files. The directory also contains a module that implements the baseline method.
The structure of this data challenge was to a large extent inspired by WeatherBench.