Changes between Version 27 and Version 28 of SoftwarePackage


Ignore:
Timestamp:
Dec 5, 2019, 5:02:43 PM (8 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftwarePackage

    v27 v28  
    4040
    4141Compiling the PDAF library is conduction in the following steps:
    42  1. Choose a suitable include file for the make process and/or edit one. In the directory `make.arch/` several include files are provided. There are include files for compilation with and without MPI. The name of the include files as well as the header comment in the file described the intended architecture.
     42 1. Choose a suitable include file for the make process and/or edit one. In the directory `make.arch/` several include files are provided. There are include files for compilation with and without MPI. The name of the include files as well as the header comment in the file described the intended architecture. The choices `linux_gfortran.h` and `linux_gfortran_openmpi.h` are quite generic choices that should work on a wide range of computers.
    4343
    4444 * '''Note on parallelization:''' PDAF is generally intended for parallel computing using MPI. However, it can be compiled for serial computing. To compile PDAF for this case a simplified MPI header file is included in `src/dummympi` and should be in the include path. In addition, a dummy implementation of MPI, which behaves like MPI in the single-process case, is provided in the directory `nullmpi/`. For the serial case, this file should also be compiled and linked when PDAF is linked to a program. The include files in `make.arch` without MPI-parallelization include the required settings.
     
    106106To build an example follow the following steps:
    107107 1. First, follow steps 1 and 2 described in [#CompilingthePDAFlibrary Compiling the PDAF library] above.
    108  2. In `testsuite/src` execute `make`. This will show the possible targets than can be compiled. In the tutorial implementation `make` will directly start the compilation of the example program.
    109  3. Execute a make operation like `make dummymodel` (This will build the forward model of the case `dummymodel_1D`).
     108 2. Change into a directory of a tutorial example, e.g. `tutorial/online_2D_serialmodel` and execute `make`. This will show the possible targets than can be compiled. In the tutorial implementation for offline-coupled assimilation, `make` will directly start the compilation of the example program.
     109 3. Execute a make operation like `make model_pdaf` (This will build the tutorial model with assimilation).
    110110
    111111 * '''Note''': There are make targets for the compilation of the model itself without data assimilation as well as those for the compilation of the assimilation program. In order to obtain a working assimilation program, one has to define `USE_PDAF` in the preprocessor definition variable `CPP_DEFS` has to be set in the include file from `make.arch`. For example, for most compilers one would use `CPP_DEFS = -DUSE_PDAF`. When `USE_PDAF` is not set, the calls to the PDAF routines is not included in the compiled program.