R2S is a framework for simulating satellite observations with reanalysis data.
- Downloading reanalysis data and satellite observations
- Matching reanalysis data and satellite observations temporally and spatially to construct the R-S dataset
- Training the simulator with Gradient Boosting Decision Tree (GBDT)
- Improving simulator's performance on the rare domain with imbalanced learning
This is the flowchart of training the simulator:
All python dependencies are shown in config/environment.yml
. The easiest way to setup the environment is using conda
:
conda env create -f environment.yml
Meanwhile, users need install MySQL Server 8.0 to manage the data.
This repository currently provides a case study of simulating SMAP satellite observations of ocean surface wind speed around tropical cyclone (TC) using ERA5 reanalysis data. Users who want to use R2S for other scenarios will need to modify the relevant code.
The workflow in controlled by r2s/manager.py
. Please refer to the docstrings of .py
files for specific use. Here are some examples:
Downloading IBTrACS and extracting features from it:
python manager.py --period=2000-01-01-00-00-00,2020-01-01-00-00-00 --ibtracs --basin=na
Matching ERA5 reanalysis and SMAP observations temporally and spatially to constrcut the R-S dataset:
python manager.py --period=2015-04-01-00-00-00,2020-01-01-00-00-00 --match_smap --basin=na
Training the simulator using GBDT and imbalanced learning:
python manager.py --period=2015-04-01-00-00-00,2020-01-01-00-00-00 --basin=na --reg=lgb,focus,save,load,smogn_final,valid,optimize --smogn_target=train
Gaps in SMAP's observation of hurricane Florence's wind speed:
Simulation produced by R2S, which fills the gaps and improve the temporal resolution:
The solid black lines are the tracks of the aircraft, and the circles along the solid black lines indicate the resampled high-precision wind speed observed by instruments on aircraft.