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.
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:
xarray, netcdf4, rasterio, rioxarray: handling of higher-dimensional (geospatial) data.
scipy, scikit-learn: advanced data processing and statistics functions.
matplotlib, cartopy, contextily, plotly: static and interactive data visualization.
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.
The Jupyter documentation contains more information about the project, the ideas behind computational notebooks and related tools.
Project Pythia has a getting started with Jupyter guide with explanations of the JupyterLab user interface.
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.
The Turing Way book contains a chapter on version control with a getting started with git guide.
Library Carpentry has an introduction to Git/GitHub.
Project Pythia contains a getting started with GitHub guide.