Changes between Version 39 and Version 40 of SoftwarePackage


Ignore:
Timestamp:
May 31, 2025, 7:55:50 PM (2 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftwarePackage

    v39 v40  
    2121  * This directory contains machine-specific include files for the Makefile.
    2222 * `modelbindings/`
    23   * This directory contains the PDAF bindings for real simulation models
     23  * This directory contains links to the PDAF model coupling codes for real simulation models
    2424 * `models/`
    2525  * This directory contains fully implemented toy models for assimilation experiments with PDAF
     
    2828 * `templates/`
    2929  * 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/`.)
    30  * `testsuite/`
    31   * This directory contains the test suite of PDAF including example implementations. For more details see the section on [#TheTestSuite the test suite]
     30 * `tests/`
     31  * This directory contains implementations of PDAF for detailed tests. For more details see the section on [#TheTestSuite the test suite]
    3232 * `tutorial/`
    3333  * This directory contains example implementations of the analysis step in the online and offline modes of PDAF
     
    3737== Compiling the PDAF library ==
    3838
    39 The library file of PDAF can be compiled on its own or in connection with an example implementation from `tutorial/` or `models/`. Here, we describe the stand-alone compilation. 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.
     39The 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.
    4040
    4141The compilation itself is described on the [wiki:CompilingPdaf page on compiling PDAF].
     
    4444== Tutorial Implementations ==
    4545
    46 The directory `tutorial/` contains different example implementations as well as inputs file used to run the examples (from Version 1.9 of PDAF). They are the recommended starting point to study the online and offline implementations of PDAF.
     46The 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.
    4747 * `offline_2D_serial`
    4848  * This directory contains the example implementation of the offline mode without parallelization
     
    5252  * This directory contains an example implementation of the online mode with a serial model
    5353 * `online_2D_serialmodel_2fields`
    54   * This directory contains an example implementation of the online mode with a serial model using multivariate assimilation
     54  * This directory contains an example implementation of the online mode with a serial model showing the implementation for 2 model fields
    5555 * `online_2D_parallelmodel`
    5656  * This directory contains an example implementation of the online model with a parallelized model
     
    6363The following example implementations are included in the sub-directories in `models/`:
    6464 * **lorenz63**
    65   * This directory currently the Lorenz-63 model. In PDAF V1.14 we also added the data assimilation. 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 [wiki:Lorenz_63_model Lorenz-63 model].
     65  * 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 [wiki:Lorenz_63_model Lorenz-63 model].
    6666 * **lorenz96**
    67   * This directory contains the Lorenz-96 model as well as a full data assimilation implementation of the model with PDAF. This model can be configured to have a sufficiently large state dimension to test low-rank filter algorithms like the SEIK filter. (We have using this model for example in the study: Janjić, T., Nerger, L., Albertella, A., Schröter, J., Skachko S. (2011). On domain localization in ensemble based Kalman filter algorithms. Monthly Weather Review, 139, 2046-2060 ( doi:10.1175/2011MWR3552.1).) Compiling and running this model is described in detail on the page on the [wiki:Lorenz_96_model Lorenz-96 model].
     67  * 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 [wiki:Lorenz_96_model Lorenz-96 model].
    6868 * **lorenz2005b**
    69   * This directory contains the Lorenz-2005 model variant II as well as a full data assimilation implementation of the model with PDAF (it was added in PDAF 2.0). It is considerd as an improved variant of the Lorenz-96 model.
     69  * 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.
    7070 * **lorenz2005c**
    71   * This directory contains the two-scale model Lorenz-2005-III (introduced by Lorenz(2005), there called model variant III) as well as a full data assimilation implementation of the model with PDAF.  (it was added in PDAF 2.0)
     71  * 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.
    7272
    7373
     
    7575== The Test Suite ==
    7676
    77 The test suite of PDAF is included in the directory `testsuite/`. It is rather intended for our internal verification tests. It contains the following sub-directories:
     77The 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.
    7878
    79  * `bin/`
    80    * This directory will contain the executable program when an example case is compiled
    81  * `src/`
    82    * This directory contains the example implementations. In addition the Makefile to compile the examples is included.
    83  * `tests_dummy1D/`
    84    * This directory contains scripts to run a series of test runs with the example implementation from `testsuite/src/dummymodel_1D`. In addition example outputs are included in the sub-directories. These outputs can be used to compare your own test runs with existing outputs. (The example outputs in `out.linux_gfortran` are from test runs on a Linux PC using the gfortran compilers both with and without parallelization. The example outputs in `out.cray_xc_hlrn` have been produced using a Cray XC40 Supercomputer with parallelization.)
    85 
    86 == Example Implementations in the test suite ==
    87 
    88 The following example implementations are included in the directories in `testsuite/src/`:
    89  * `dummymodel_1D`
    90    * This is the example implementation in which PDAF is fully connected to a model. The model is trivial: At each time step simply the time step size is added to the state vector. This example can be used as the starting point for the 'flexible' online implementation variant of PDAF.
    91  * `dummymodel_1D_si`
    92    * This directory contains an analogous example implementation to `dummymodel_1D`. This variant, however, uses the simplified interface of PDAF. In this case, predefined names of the user-supplied subroutines are used such that there is no need to specify them in the call to the interface of PDAF. (The interface looks simpler in this case, but the subroutine names are fixed)
    93  * `dummymodel_1D_snglprec`
    94    * This directory contains an analogous example implementation to `dummymodel_1D`. This variant, however, uses single precision (We recommend to use double precision for numerical computation. However, if a model is implemented in single precision PDAF can be used with this model (starting from Version 1.8 of PDAF))
    95  * `offline_1D`
    96    * This example shows the usage of PDAF as an offline tool. In the offline configuration one computes manually the ensemble integrations and supplies this information to PDAF through files. For simplicity, this example does not use files, but generates dummy-information in the code itself.
     79There is also a script `runtests.sh` in the directory `tutorial/`, which runs analogously.
    9780
    9881== Compiling test cases and tutorial implementations ==