Skip to content

fjansson/EasyVVUQ-DALES

Repository files navigation

EasyVVUQ analysis scripts for the DALES model

This repository contains scripts and settings for using EasyVVUQ for uncertainty quantification of the atmospheric model DALES. The case setup is from the RICO study by van Zanten et al (see below).

Requirements

  • matplotlib
  • numpy
  • EasyVVUQ from the dev branch or the M24 release (August 2020)
  • FabSim3 (optional)
  • DALES, we used branch "to4.3", the pre-release of version 4.3

Running

Running locally

A DALES UQ experiment is done in three stages:

python easyvvuq_dales.py <other options> --prepare
# creates run directories for the model, one for each sample point in parameter space.

python easyvvuq_dales.py <other options> --run
# runs the DALES model for each directory created above

python easyvvuq_dales.py <other options> --analyze
# collects the results and preforms a UQ analysis,
# output is given with tables and plots.

The are used to define the experiment:

  • --workdir base directory for EasyVVUQ to use for the model run directories. It creates a subdirectory here for each experiment.
  • --template a template for the model parameter file, use one of the included files namoptions*.template.
  • --campaign a json file name where EasyVVUQ stores the state of the campaign between the different steps.
  • --experiment one of [physics_z0, poisson, test, choices, subgrid], used to select a set of parameters to vary (defined in the easyvvuq_dales.py script). Should match the template.
  • --model path of the DALES executable

Adding the option --parallel to the --run step, will use GNU parallel to run N model evaluations in parallel on the local machine.

Running with FabSim3

See this tutorial for setting up FabSim3. Use the same options as for a local run, with the addition of --fab, and an additional --fetch step before --analyze.

python easyvvuq_dales.py <other options> --fab --prepare

python easyvvuq_dales.py <other options> --fab --run
# submits the jobs with FabSim on some remote machine

python easyvvuq_dales.py <other options> --fab --fetch
# fetches results with FabSim from the remote machine,
# run this after the jobs have completed.

python easyvvuq_dales.py <other options> --fab --analyze

Access details of the remote computer system, settings for the DALES installation there, and run-time settings for the maximal wallclock time and number of MPI tasks for a job need to be added to the FabSim configuration files, e.g. deploy/machines_user.yml.

Example Runs

The following is three runs with matching templates and experiment definitions, for use with the FabSim3 job system. For a full analysis, each requires a sequence of four invocations, with the last command line option being --prepare, --run, --fetch, and --analyze.

# Physcal parameters, 256 samples 
python easyvvuq_dales.py --workdir=~/work --fab --template=namoptions-z0.template --campaign=physics_z0.json --experiment=physics_z0 --prepare

# Model choices, 72 samples
python easyvvuq_dales.py --workdir=~/work --fab --template=namoptions-choices.template --campaign=choices.json --experiment=choices --prepare

# Iterative Poisson-solver tolerance, 35 samples
python easyvvuq_dales.py --workdir=~/work --fab --template=namoptions-poisson.template --campaign=poissondigits.json --experiment=poisson --prepare

License

The scripts in this repository are made available under the terms of the GNU GPL version 3, see the file COPYING for details. EasyVVUQ, Fabsim3 and DALES have their own (open source) licenses.

References

Formulation of the Dutch Atmospheric Large-Eddy Simulation (DALES) and overview of its applications, T. Heus et al, Geosci. Model Dev., 3, 415-444, 2010

Controls on precipitation and cloudiness in simulations of trade-wind cumulus as observed during RICO, van Zanten et al, Journal of Advances in Modeling Earth Systems 3. (2011)

About

EasyVVUQ uncertainty quantification of DALES

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published