Software#

The CLIMAAX climate risk assessment workflows are built and run with open source software from the Python software environment and distributed in version controlled repositories via GitHub. Here, we provide links to online resources about these software tools, which have been extensively documented throughout the web.

../_images/github_zenodo.jpg

Fig. 34 Illustration created by Scriberia with The Turing Way community. CC-BY 4.0. 10.5281/zenodo.3332807#

Python#

Our workflows use the Python programming language and make use of packages (also known as libraries) from the scientific Python ecosystem for data reading, writing, processing and visualization.

Project Pythia has a quickstart guide for Python beginners that are already familiar with basic programming concepts and short tutorials for setting up a Python environment on a Linux computer. They also have introductions to some core scientific Python packages.

Packages#

Python packages commonly used in the CLIMAAX risk workflows are:

Many of these packages provide tutorials and example pages in their documentation in addition to the description of each library’s API.

Xarray’s surrounding ecosystem consist of packages that build on and support its data structures.

Environments and package management#

A package manager configures the libraries of a Python environment and carries out tasks such as package installation, upgrading and removal. At CLIMAAX, we mainly use the conda package manager and retrieve packages from the conda-forge channel. We therefore recommend to use the miniforge conda installer, but other conda installers, e.g. miniconda work too.

All workflow repositories contain an environment.yml file to simplify the creation of a suitable Python environment with conda. A general environment for all CLIMAAX workflows can be created based on the environment.yml file in our workflow template repository.

Jupyter#

Our workflows combine documentation, code and outputs in Jupyter notebooks, a format widely used for data analysis, visualization and educational purposes. While this handbook contains static representations of the workflows, the underlying notebooks available from GitHub are intended to be used in an interactive fashion when opened in a Jupyter-compatible user interface. The Jupyter ecosystem itself provides the web browser-based JupyterLab and classic Notebook interfaces and some editors like VS Code also have native support for working interactively with Jupyter notebooks.

Tip

The Python environments in CLIMAAX workflow repositories contain both the JupyterLab and classic Notebook interfaces. With a workflow environment activated, run, e.g., jupyter lab in a terminal to start working with the notebooks.

Git and GitHub#

For collaborative work and the distribution of our workflow source code files, we use the git version control system. Version control allows us to manage current, previous and development versions of our repositories and have multiple people working together at the same time.

Our workflows are found in the CLIMAAX organization on GitHub, a git repository hosting service and web platform that provides additional features for collaborative working and software development on top of git.

See also

Our contribution page shows how you can contribute to the CLIMAAX risk assessment workflows with GitHub issues and pull requests.