Difference between revisions of "FLEXPART Model/FLEXPARTCompilerSettings"

From mn/geo/geoit
Jump to: navigation, search
Line 1: Line 1:
 
This is the README file included now with the FLEXPART distribution
 
This is the README file included now with the FLEXPART distribution
  
==Compiling FLEXPART 8.1 in a 64-bit environment==
+
== Compiling FLEXPART in a 64-bit environment ==
  
 +
This file describes the required compiler flags for compiling FLEXPART  in a 64-bit computing environment for the gfortran compiler (version 4.2 and onward) and absoft compiler (version 10.1).
  
This file describes the required compiler flags for compiling FLEXPART 8.1 in a
+
Using 64-bit environment brings the advantage of using >2GB main memory for FLEXPART data arrays. However, this requires certain adjustments to the compilation settings of FLEXPART and the external libraries GRIB_API and JASPER (the latter as required by GRIB_API).
64-bit computing environment for the gfortran compiler (version 4.2) and absoft
 
compiler (version 10.1).
 
  
Moving from a 32-bit to a 64-bit environment brings the advantage of using
+
The main point to be considered for running FLEXPART in a 64-bit environment is the possiblity to allocate data arrays >2GB. This requires to use the compiler flag '''-mcmodel=medium'''. Note that this memory model slows down calculations, if data arrays of less than 2GB are allocated, the use of -mcmodel=small is said to provide slightly better performance.
>2GB main memory for FLEXPART data arrays. However, this requires certain
 
adjustments to the compilation settings of FLEXPART and the external libraries
 
GRIB_API and JASPER (the latter as required by GRIB_API).
 
  
The main point to be considered for running FLEXPART in a 64-bit environment is the possiblity to allocate data arrays >2GB. This requires to use the compiler flag -mcmodel=medium. Note that this memory model slows down calculations, if data arrays of less than 2GB are allocated, the use of -mcmodel=small is said to provide slightly better performance.
+
An additional requirement is that the external libraries must be compiled with the flag -fPIC to allow for the libraries to be located at any position in the computer's main memory. Without this flag, a 'relocation truncated to fit' error will result when linking FLEXPART.
  
An additional requirement is that the external libraries must be compiled with the flag -fPIC to allow for the libraries to be located at any position in the computer's main memory. Without this flag, a 'relocation truncated to fit' error will result when linking FLEXPART.
+
If the compilers are not set to generate 64-bit binaries by default, the flag <code>-m64 </code> should be included for FLEXPART and the external libraries.
 +
 
 +
All of the required settings for FLEXPART are already made in the cmake configuration files (cmake directory) included in the FLEXPART distribution.
 +
 
 +
<br/>Recommended compilation steps using the gfortran or absoft compiler
 +
 
 +
----
  
If the compilers are not set to generate 64-bit binaries by default, the flag <code> -m64 </code> should be included for FLEXPART and the external libraries.
+
*&nbsp;JPEG compression is used FLEXPART WINDFIELDS and this requires to compile GRIB-API with jpeg support ([http://www.ece.uvic.ca/~frodo/jasper/ JASPER ]&nbsp; library). On UIO servers GRIB-API and Jasper are already installed.
  
All of the required settings for FLEXPART are already made in the makefiles included in the FLEXPART 8.1 distribution.
 
  
  
Recommended compilation steps using the gfortran or absoft compiler
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To set-up your environment:
-----------------------------------------------------------------------
 
  
1. JASPER:
 
  
<pre>
+
<pre>                      module load grib_api</pre>
  
./configure CC=gcc CFLAGS='-O2 -m64 -fPIC'
 
make
 
make install
 
</pre>
 
  
2. GRIB_API:
+
<br/>Please note that grib_api will be loaded automatically when loading flexpart.
  
<pre>
 
  
export CC=gcc
 
export FC=gfortran/absoft
 
export CFLAGS='-O2 -m64 -fPIC'
 
export FFLAGS='-O2 -m64 -fPIC'
 
./configure
 
make
 
make check
 
make install
 
</pre>
 
  
3. FLEXPART:
+
*&nbsp;FLEXPART:
  
use one of the following:
+
Flexpart has already been compiled on sverdrup.uio.no and [http://www.uio.no/english/services/it/research/hpc/abel/ Abel].
  
<pre>
 
  
make -f makefile.ecmwf_gfortran_64
 
make -f makefile.gfs_gfortran_64
 
make -f makefile.ecmwf_absoft_64
 
make -f makefile.gfs_absoft_64
 
</pre>
 
  
NOTE: Set -mcmodel=medium or -mcmodel=small in the makefiles,
+
NOTE: Set -mcmodel=medium or -mcmodel=small in the makefiles, depending on memory allocation needs (see above).
depending on memory allocation needs (see above).
 

Revision as of 13:48, 15 September 2014

This is the README file included now with the FLEXPART distribution

Compiling FLEXPART in a 64-bit environment

This file describes the required compiler flags for compiling FLEXPART  in a 64-bit computing environment for the gfortran compiler (version 4.2 and onward) and absoft compiler (version 10.1).

Using 64-bit environment brings the advantage of using >2GB main memory for FLEXPART data arrays. However, this requires certain adjustments to the compilation settings of FLEXPART and the external libraries GRIB_API and JASPER (the latter as required by GRIB_API).

The main point to be considered for running FLEXPART in a 64-bit environment is the possiblity to allocate data arrays >2GB. This requires to use the compiler flag -mcmodel=medium. Note that this memory model slows down calculations, if data arrays of less than 2GB are allocated, the use of -mcmodel=small is said to provide slightly better performance.

An additional requirement is that the external libraries must be compiled with the flag -fPIC to allow for the libraries to be located at any position in the computer's main memory. Without this flag, a 'relocation truncated to fit' error will result when linking FLEXPART.

If the compilers are not set to generate 64-bit binaries by default, the flag -m64 should be included for FLEXPART and the external libraries.

All of the required settings for FLEXPART are already made in the cmake configuration files (cmake directory) included in the FLEXPART distribution.


Recommended compilation steps using the gfortran or absoft compiler


  •  JPEG compression is used FLEXPART WINDFIELDS and this requires to compile GRIB-API with jpeg support (JASPER   library). On UIO servers GRIB-API and Jasper are already installed.


            To set-up your environment:


                       module load grib_api



Please note that grib_api will be loaded automatically when loading flexpart.


  •  FLEXPART:

Flexpart has already been compiled on sverdrup.uio.no and Abel.


NOTE: Set -mcmodel=medium or -mcmodel=small in the makefiles, depending on memory allocation needs (see above).