Freva

Freva gitlab Freva Provided On Mistral Freva Maintaned On Mistral Freva Developed on DKRZ

The Free Evaluation System Framework (Freva) is a standardized data and evaluation system developed at the FUB and DKRZ and provided by the Climate Informatics and Technologies research group (CLINT). Freva provides an efficient and comprehensive access to model data bases as well as to evaluation data sets. The application system has been developed as an easy to use low-end application minimizing technical requirements for users and tool developers.

Freva is an open source framework written in python, its repository can be found publically available at DKRZ’s Gitlab.

In a few words

Freva is a scientific software infrastructure for standardized data and analysis tools (plugins) that provides all its available features both in a shell and web environment. Written in python, is equipped with a standardized model database, an application-programming interface (API) and a history of evaluations, among others:

  • An implemented metadata system in SOLR with its own search tool allows scientists and their plugins to retrieve the required information from a centralized database. The databrowser interface satisfies the international standards provided by the Earth System Grid Federation (ESGF).

  • An API allows scientific developers to connect their plugins with the evaluation system independently of the programming language. The connected plugins are able to access from and integrate their results back to the database, allowing for a concatenation of plugins as well. The tools can be run interactively (in the shell) or handled via workloader (e.g. slurm).

  • The history and configuration sub-system stores every analysis performed with Freva in a MySQL database. Analysis configurations and results can be searched, modified, re-run and shared among the scientists.

../../../../_images/freva_flowchart.png

Starting with Freva

Each Freva instance can be accessed either via command line interface (CLI) or via web browser. The major functionalities can be accessed through both platforms, although there are some features exclusive to each.

Freva via CLI

The different Freva instances are hosted in Mistral, so first of all we need to log in:

$ ssh <username>@mistral.dkrz.de

Where <username> is your DKRZ account ID.

To run Freva we will need to first load the proper module (a list of common module commands can be found here):

# for climxtreme:
$ module load xces
# for cmi6-esmvaltools:
$ module load cmip6-dicad/1.0
# for regiklim:
$ module load clint regiklim-ces
This activates the system for your current session. You might notice some other modules have been loaded.

Warning

  • The Freva evaluation system works in Bash, specially some functionalities such autocompletion.
    To avoid incompabilities choose /bin/bash as the default shell. Check/change your shell in https://luv.dkrz.de/

  • The module also loads other required modules and extends $PATH to point to evaluation_system/bin and $PYTHONPATH to evaluation_system/src.
    Be aware that the current Freva python version is 2.7.10.

Freva via web

Each Freva instance has its own landing page that can be consulted at the Projects section, but in general terms all the access look alike. If we access the CMIP-DICAD instance (for example) we will find the following:



../../../../_images/freva_web_main.png



where the login <username> and password correspond to your DKRZ account ID. Each tab correspond to the list of functionalities offered, depending on the instance their name may vary slightly and some can be lacking (more on that on the following subsection). Observe that there is a Guest option, this user takes you through a guided tour of each instance, with an overview of the functionalities and some examples within.

Functionality Overview

Freva is an all-in-one framework. The complete set of tools via CLI are the following ones, although due to the customisation of the framework it may happen that some instances are lacking some of these:

$ freva --help

Freva
Available commands:
  --plugin       : Applies some analysis to the given data.
  --history      : provides access to the configuration history (use --help for more help)
  --databrowser  : Find data in the system
  --crawl_my_data: Use this command to update your projectdata.
  --esgf         : Browse ESGF data and create wget script

Where:

  • General usage: $ freva --COMMAND [OPTIONS]

  • And help for the individual commands: $ freva --COMMAND --help or $ freva --COMMAND -h

A quick summary of each tool is provided in the following table, with links to each corresponding subsection. Here all of the functionalities are presented, accesible via CLI, web or both (Y = accesible, N = not accesible):

freva Function

CLI/web

Description

Sample code

plugins

Y /Y

apply some analysis tool

freva --plugin pca input=myfile.nc outputdir=/tmp variable=ta

history

Y /Y

browse users analysis history

freva --history or freva --history --plugin movieplotter

results

N /Y

browse any analysis history within that Freva instance

databrowser

Y /Y

search for datasets included in Freva. If you are in bash, hit tab twice whenever you want to input a new attribute or value for the search, you’ll see all possible values listed.

freva --databrowser project=baseline1 variable=tas time_frequency=mon ensemble=r[1-5]i1p1 experiment=*196[0-5]

crawl data

Y /N

incorporate your own little database into Freva database.

freva --crawl_my_data --path=path_to_data4freva/projectdata/<username>

esgf

Y /N

contact the ESGF to query for datasets files and retrieve the wget script used to download them

freva --esgf --download-script /tmp/download.wget variable=tas time_frequency=mon ensemble=r1i1p1 experiment=decadal1965

Freva & Projects

Currently there are several projects running different instances of this framework at DKRZ:

ClimXtreme

ClimXtreme is a BMBF project that aims at providing sound answers to the questions whether the past climate change has caused more extreme weather events and whether future climate change will modify the ocurrence of extreme events.

This Freva instance allows the project members to search and analyse the data at disposal of the project.

Full access is closed, however, it offers a quick overview (data browsing & analysis) as guest.

RegIKlim

RegIKlim is an BMBF project that aims at developing decision-relevant knowledge on climate change in municipalities and regions and to create a sound basis for regionally specific information and evaluation services.

This Freva instance allows the project members to search and analyse the data at disposal of the project.

Full access is closed, however, it offers a quick overview (data browsing & analysis) as guest.

CMIP-DICAD

The CMIP-DICAD project provides a German contribution within the CMIP6 Project. The Earth System Model Evaluation Tool (ESMValTool) is a community-developed diagnostic and performance metrics tool for the evaluation of Earth system models with observations.

This Freva instance allows the search and consult of analysis done with ESMValTool.

Full access is open as a DKRZ user.

NextGEMS

The NextGEMS webfrontend is an Earth System Model tool for the evaluation with observations. This site includes DYAMOND, MPI-GE, CMIP5, CMIP6, Observations, and Reanalyses.

This Freva instance allows the search and consult of analysis.

Full access is open as a DKRZ user.

Freva Functionalities

For a longer description of each Freva tools please navigate to each corresponding section: