Version 41 (modified by 2 days ago) ( diff ) | ,
---|
The Software Release
Contents of this page
Getting the code package
see the Download page for information on downloading PDAF and for registering to PDAF's maillist.
Structure of the package
The software package contains the following directories:
lib/
- This is the directory in which the library object file of PDAF is created upon compilation.
make.arch/
- This directory contains machine-specific include files for the Makefile.
modelbindings/
- This directory contains links to the PDAF model coupling codes for real simulation models
models/
- This directory contains fully implemented toy models for assimilation experiments with PDAF
src/
- This directory contains the source code of the core routines of PDAF. In addition, a Makefile is included to compile the PDAF library file.
templates/
- This directory contains stubs for all user-supplied routines required by the different filters. These files can be used for the own implementation (alternatively one can base on the routines of the tutorial implementations in
tutorial/
.)
- This directory contains stubs for all user-supplied routines required by the different filters. These files can be used for the own implementation (alternatively one can base on the routines of the tutorial implementations in
tests/
- This directory contains implementations of PDAF for detailed tests. For more details see the section on the test suite
tutorial/
- This directory contains example implementations of the analysis step in the online and offline modes of PDAF
external/
- From PDAF V2.0, this directory contains external libraries, in particular solver methods used in 3D-Var
Compiling the PDAF library
The library file of PDAF can be compiled on its own or in connection with an example implementations from tutorial/
or models/
. In order to build the library file, you need a Fortran-2003 compatible compiler and 'make'. In addition, the libraries 'BLAS', 'LAPACK', and 'MPI' are required.
The compilation itself is described on the page on compiling PDAF.
Tutorial Implementations
The directory tutorial/
contains different example implementations as well as inputs file used to run the examples. They are the recommended starting point to study the online and offline implementations of PDAF.
offline_2D_serial
- This directory contains the example implementation of the offline mode without parallelization
offline_2D_parallel
- This directory contains a parallel example implementation of the offline mode
online_2D_serialmodel
- This directory contains an example implementation of the online mode with a serial model
online_2D_serialmodel_2fields
- This directory contains an example implementation of the online mode with a serial model showing the implementation for 2 model fields
online_2D_parallelmodel
- This directory contains an example implementation of the online model with a parallelized model
Please see the Tutorial Page for the tutorials describing these implementations.
Models
The following example implementations are included in the sub-directories in models/
:
- lorenz63
- This directory contains the Lorenz-63 model with a full data assimilation implementation with PDAF. Because of its small size, this model an be, e.g., used with the Particle Filter. Compiling and running this model is described in detail on the page on the Lorenz-63 model.
- lorenz96
- This directory contains the Lorenz-96 model with a full data assimilation implementation with PDAF. This model can be configured to have a sufficiently large state dimension to test ensemble filter algorithms like the ESTKF filter with localization. (We have used this model in different published studies.) Compiling and running this model is described in detail on the page on the Lorenz-96 model.
- lorenz2005b
- This directory contains the Lorenz-2005 model variant II (introduced by Lorenz, 2005) with a full data assimilation implementation with PDAF. The model is considered as an improved variant of the Lorenz-96 model.
- lorenz2005c
- This directory contains the two-scale model Lorenz-2005-III (introduced by Lorenz, 2005), there called model variant III) with a full data assimilation implementation of the model with PDAF.
The Test Suite
The directory tests/
contains implemenations for detailed testing of PDAF. The implmentations base on the tutorial cases, but include the full set of options. It is rather intended for our internal verification tests. One can run tests by executing runtests_online.sh
or runtests_offline.sh
. For checking with reference outputs, Python scripts are used.
There is also a script runtests.sh
in the directory tutorial/
, which runs analogously.
Compiling test cases and tutorial implementations
To get started with PDAF we recommend to follow the instructions on First Steps with PDAF.