Open-source tool for climatological time series reconstruction and extension
Project description
Reconstruction by AnalogS of ClimatologicAL time series (RASCAL)
RASCAL is a python library desinged to reconstruct time series of climatological data, based on the Analog Method (AM), to use them for climate studies. The AM is a statistical downscalling method, based on the assumption that large-scale atmospheric conditions tend to produce similar local weather patterns, and therefore is possible to predict local conditions finding analog days, with similar large-scale patterns, in the historical record. The objective of RASCAL is to generate complete time series, based on limited observational data, that can reproduce the climatic characteristics of the region to study better than the reanalysis products.
Requirements
To run this library renalaysis and observational data is required. the reanalysis data should cover the whole period to be reconstructed, and should have at least one predictor variable.The observational data temporal cover must overlap with the reanalysis data.
The choice of the predictor variable is flexible. However, if you want to reconstruct a long time series, it's important to consider that the connection between the predictor and the predicted variable should be very robust. This is because certain relationships may change in a changing climate scenario.
RASCAL is based in python 3.10. To run RASCAL, these other python libraries are required:
- numpy 1.26.4
- pandas 2.2.1
- dask 2024.4.1
- xarray 2024.3.0
- scipy 1.13.0
- tqdm 4.65.0
- scikit-learn 1.4.1.post1
- seaborn 0.13.2
- eofs 1.4.1
Documentation
For a more detalied documentation and tutorials check RASCAL ReadTheDocs.
Getting Started
RASCAL can be installed through PyPi. It is recommemded to create a virtual environment first.
conda create --name rascal_env python==3.10
conda activate rascal_env
python3 -m pip install rascal-ties
How to use
RASCAL is a library based in four main clases: Station, Predictor, Analogs and Rskill, and an additional class CIndex, that allows to calculate relevant climatic indices
You can find datasets to practice in Zenodo
To run RASCAl as a python library, you can refer to the tutorial in the documentation: Make your first reconstruction.
This repository contains a the script multiple_runs_example.py, where all the neccesary steps to make reconstructions are already programmed, allowing to make lots of different reconstructions for different stations, variables, analog pool sizes, and similarity methods, only modifying the configuration file config.yaml and running:
python3 multiple_runs_example.py
To validate and plot the results, and compare its skill to the observations and reference reanalysis, you can use the Jupyter Notebook RASCAL_evaluation.ipynb
References
-
Pending of publication. González-Cervera, A., Durán, L. (2024), RASCAL v1.0: An Open Source Tool for Climatological Time Series Reconstruction and Extension. https://egusphere.copernicus.org/preprints/2024/egusphere-2024-958/
-
Zenodo: Gonzalez-Cervera. (2024). alvaro-gc95/RASCAL: RASCALv1.0.9 (v1.0.9). Zenodo. https://doi.org/10.5281/zenodo.12654140
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rascal_ties-1.0.10.tar.gz
.
File metadata
- Download URL: rascal_ties-1.0.10.tar.gz
- Upload date:
- Size: 25.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54928d4955395bdfba3d1163c4aab4984d103954bc35fefa3610d56ee47a6d73 |
|
MD5 | 3ecc22749a7bcb6f7a2004ad3f1e589f |
|
BLAKE2b-256 | 2fc381c854661bef48ecbc7b9aa906dd47f3435c4f4529653e1772b394a72337 |
File details
Details for the file rascal_ties-1.0.10-py3-none-any.whl
.
File metadata
- Download URL: rascal_ties-1.0.10-py3-none-any.whl
- Upload date:
- Size: 32.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd5908a5dad004c3bc898fa20ec325604827db77caf98137279951c6b8ad95b7 |
|
MD5 | 0943be7c8305f2a10fd38d60abfe0567 |
|
BLAKE2b-256 | f35da5438d8e066f0bf57905996381a932ad684a82cf05e1cb81481a3dc5ef39 |