Getting started with CLIMADA#

This is a short summary of the guides to help you find the information that you need to get started. To learn more about CLIMADA, have a look at the introduction. You can also have a look at the paper repository to get an overview of research projects.

Installation#

The first step to getting started is installing CLIMADA. To do so you will need:

  1. To get the lastest release from the git repository CLIMADA releases or clone the project with git if you are interested in contributing to the development.

  2. To build a conda environment with the dependencies needed by CLIMADA.

For details see the Installation Instructions.

If you need to run a model on a computational cluster, have a look at this guide to install CLIMADA and run your jobs.

Programming in Python#

It is best to have some basic knowledge of Python programming before starting with CLIMADA. But if you need a quick introduction or reminder, have a look at the short Python Tutorial. Also have a look at the python Python Dos and Don’t guide and at the Python Performance Guide for best practice tips.

Apps for working with CLIMADA#

To work with CLIMADA, you will need an application that supports Jupyter Notebooks. There are plugins available for nearly every code editor or IDE, but if you are unsure about which to choose, we recommend JupyterLab, Visual Studio Code or Spyder. It is easy to get confused by all the different softwares and their uses so here is an overview of which tools we use for what:

Use

Tools

Description

Useful for

Distribution /
manage virtual environment
& packages

Recommended:
Mamba
Alternatives:
Anaconda

  • Install climada, manage & use the climada virtual environment, install packages
  • Anaconda includes Anaconda navigator, which is a desktop GUI and can be used to launch applications like Jupyter Notebook, Spyder etc.
  • Climada Users
    & Developers

    IDE
    (Integrated Development Environment)

    Recommended:
    VSCode
    Alternatives:
    Spyder
    JupyterLab
    PyCharm
    & many more

  • Write and run code
  • Useful for Developers:
  • VSCode also has a GUI to commit changes to Git (similar to GitHub Desktop, but in the same place as your code)
  • VSCode test explorer shows results for individual tests & any classes and files containing those tests (folders display a failure or pass icon)
  • Climada Users
    & Developers

    Git GUI
    (Graphical User Interface)

    GitHub Desktop
    Gitkraken

  • Provides an interface which keeps track of the branch you’re working on, changes you made etc.
  • Allows you to commit changes, push to GitHub etc. without having to use command line
  • The code itself is not written using these applications but with your IDE of choice(see above)
  • Climada Developers

    Continuous integration
    (CI) server

    Jenkins

  • Automatically checks code changes in GitHub repositories, e.g. when you create a pull request for the develop branch
  • Performs static code analysis using pylint
  • you don’t need to do any installations yourself, this runs automatically when you push new code to GitHub
  • see Continuous Integration and GitHub Actions
  • Climada Developers

    Tutorials#

    A good way to start using CLIMADA is to have a look at the Tutorials. The Main Tutorial will introduce you the structure of CLIMADA and how to calculate you first impacts, as well as your first appraisal of adaptation options. You can then look at the specific tutorials for each module (for example if you are interested in a specific hazard, like Tropical Cyclones, or in learning to estimate the value of asset exposure,…).

    Documentation#

    You can find the documentation of CLIMADA on Read the Docs online. Note that the documentation has several versions: ‘latest’, ‘stable’ and explicit version numbers, such as ‘v3.1.1’, in the url path. ‘latest’ is created from the ‘develop’ branch and has the latest changes of the developers, ‘stable’ from the latest release. For more details about documentation versions, please have a look at here.

    Contributing#

    If you would like to participate in the development of CLIMADA, carefully read the Git and Development Guide. Before making a new feature, discuss with one of the repository admins (Now Chahan, Emmanuel and David). Every new feature or enhancement should be done on a separate branch, which will be merged in the develop branch after being reviewed (see Checklist). Finally, the develop branch is merged in the main branch in each CLIMADA release. Each new feature should come with a tutorial and with Unit and Integration Tests.

    Other Questions#

    If you cannot find you answer in the other guides provided here, you can open an issue for somebody to help you.