J.R. Angevaare (KNMI)
This software is used in the scope of the OptimESM project. The scientific aim is to isolate regions of three dimensional earth science data (time, latitude and longitude) from CMIP6 and identify regions in latitude-longitude that show dramatic changes as function of time.
This work is currently under review in Earth System Dynamics (ESD): https://egusphere.copernicus.org/preprints/2025/egusphere-2025-2039/
In this github repository we include several examples on how to use this software. The first is the example notebook, to get started and get an overview of the workflow.
This software requires cdo and cartopy, and preferably also latex.
To install cdo and py-cdo, we use miniforge, but alternative methods exits. To use miniforge (on linux):
wget https://github.com/conda-forge/miniforge/releases/download/25.3.0-3/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh
Create an environment, e.g.:
conda create -n py310 python=3.10.13 cdo
# and activate
conda ativate py310
# install the software
pip install optim_esm_tools
You should be ready to go!
After installation, you could test that everything is properly installed and all the dependencies are working.
# Clone https://github.com/JoranAngevaare/optim_esm_tools
git clone https://github.com/JoranAngevaare/optim_esm_tools.git
cd optim_esm_tools
pytest -v --durations 0
You could even test that all the notebooks work out of the box with the jupyter setup in your environment:
# Clone https://github.com/JoranAngevaare/optim_esm_tools
git clone https://github.com/JoranAngevaare/optim_esm_tools.git
cd optim_esm_tools
pip install -r requirements_tests.txt
pytest optim_esm_tools -v --nbmake -n3 notebooks/*.ipynb --durations 0
For downloading CMIP6 data, synda is a useful tool, and few routines work best with the associated the ESGF-file structure.
Since synda list is only supported in python 3.8, we created a separate repository optim_esm_base that has a working set of software versions that are compatible with these requirements.
Alternatively, setting up a miniforge/conda environment is documented in optim_esm_base.
In the notebooks folder, we have an example notebook to help you get started. More advanced tutorials are also available in the notebooks folder.