The code in this repository contains the implementation of a novel Statistical Downscaling approach using an Augmented Convolutional LSTM based architecture.
Paper: https://ieeexplore.ieee.org/document/9348885
The current codebase is entirely written in Python3.
- Tensorflow (recommended =1.13)
- Xarray is recommended for processing Climate data. For more details, see here.
- The coarse resolution precipitation outputs used, can be downloaded from NCAR Community Earth System Model available in the archives of the Climate Modeling Intercomparison Project.
- For topographical elevation information of India, we have used data from NASA’s Shuttle Radar Topography Mission (SRTM), which is available at 90 meters resolution.
Place all the downloaded data mentioned in the above section in the form of
numpy nd-arrays
in their respective folders nested inside the./data
directory.
Download a sample climate data from here which consists of 20 consecutive days including all the 7 climatic variables.
Also, Download the weights of a pre-trained model that has been trained for 500 epochs on monsoon period on India from here. Place all the files inside ./sample_data
directory. Then run the following:
$ python sample_test.py
config.ini
provides configuration allowing setting options such file directories, model parameters, and data specification required for the preprocessing of climatic variables in preprocess_data.py
and model training in model.py
and train.py
.
After placing all the climate variables in their respective folders.
$ python preprocess_data.py
$ python train.py [--mode] [--model_type] [--batch_size] [--use_gpu]
-
--mode =
train \ test
-
--model_type =
monsoon \ non_monsoon
-
--batch_size =
int (default: 15)
-
--use_gpu =
bool (default: False)