Skip to content

JoranAngevaare/optim_esm_tools

Repository files navigation

OptimESM Tools

DOI Coverage Status PyPI version shields.io Python Versions PyPI downloads CodeFactor

J.R. Angevaare (KNMI)

Software

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.

Setup and installation

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!

Testing installation (optional)

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

Extended setup (optional)

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.

Example

In the notebooks folder, we have an example notebook to help you get started. More advanced tutorials are also available in the notebooks folder.

About

Getting started with OptimESM

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors