Changes between Version 28 and Version 29 of SoftwarePackage
- Timestamp:
- Dec 5, 2019, 5:05:09 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoftwarePackage
v28 v29 42 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. 43 43 44 2. The environment variable PDAF_ARCH specifies for which architecture you compile PDAF according to your choice in step 1. You need to specify the file name without '.h'. You can specify PDAF_ARCH in the make command line like `make PDAF_ARCH=NAME`. Alternatively, you can set the environment variable $PDAF_ARCH in the shell to the name of the include file (without ending .h), e.g. by `setenv PDAF_ARCH NAME` in case of a (t)csh or `export PDAF_ARCH=NAME` in case of bash. 45 46 3. Execute `cd src` and type 'make' at the prompt. This will compile the sources. The library file is generated in the directory `lib/`. 47 44 48 * '''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. 45 49 46 50 * '''Note on precision of floating point variables:''' PDAF is designed to use floating point variables of double precision. However, for flexibility the variables are decared in the source code without a 'KIND' specification. Thus, for the compilation one has to specify that the compiler treats all 'real' variables with double precision accuracy. This is done, e.g. for gfortran by setting `-fdefault-real-8` or for ifort by setting `-r8`. In the provided include files in `make.arch/` these specifications are included. (Starting from version 1.8 of PDAF also single precision is supported. To enable it in PDAF, one has to use the preprocessor definition `-DSNGLPREC`.) 47 51 48 49 2. The environment variable PDAF_ARCH specifies for which architecture you compile PDAF. The include files are in `make.arch`. You need to specify the file name without '.h'. You can specify PDAF_ARCH in the make command line like `make PDAF_ARCH=NAME`. Alternatively, you can set the environment variable $PDAF_ARCH in the shell to the name of the include file (without ending .h), e.g. by `setenv PDAF_ARCH NAME` in case of a (t)csh or `export PDAF_ARCH=NAME` in case of bash.50 51 3. Execute `cd src` and type 'make' at the prompt. This will compile the sources. The library file is generated in the directory `lib/`.52 52 53 53