wiki:CompilingPdaf

Version 2 (modified by lnerger, 3 years ago) (diff)

--

Compiling the PDAF library

The tutorial implementations in the directory PDAFROOT/tutorial/ and the models implemented with PDAF in PDAFROOT/models/ are setup to compile the PDAF library when the application is compiled. (Here PDAFROOT/ is the directory of the PDAF package)

The PDAF library, thus the core routines of PDAF and PDAF-OMI, can also be compiled separately. This is the common approach when one implements PDAF with some models in the online-coupled setup (see e.g. the directory modelbindings).

Compiling PDAF for ensemble filters and smoothers

To compile PDAF for ensemble filters and smoothers, do the following:

   cd src/
   make PDAF_ARCH=<ARCH>

where <ARCH> is the filename of the computer-specific settings from the directory PDAFROOT/make.arch/ without .h. A common choice is <ARCH>=linux_gfortran_openmpi.

The compilation with generate the PDAF library file PDAFROOT/lib/libpdaf-d.a. In addition several Fortran module files *.mod are generated in the directory PDAFROOT/include/. These will be used when compiling the application program coupled to PDAF.

Compiling PDAF for 3D-Var methods

The 3D-Var methods implemented in PDAF use solver algorithms from external libraries (from the directory external/).

To compile PDAF with full support for the analysis with 3D-Var schemes do the following:

   cd src/
   make pdaf-var PDAF_ARCH=<ARCH>

where <ARCH> is the filename of the computer-specific settings from the directory PDAFROOT/make.arch/ without .h. A common choice is <ARCH>=linux_gfortran_openmpi.

The compilation with generate the PDAF library file PDAFROOT/lib/libpdaf-var.a. In addition several Fortran module files *.mod are generated in the directory PDAFROOT/include/. These will be used when compiling the application program coupled to PDAF.