Next: 3.6 Compiler Macros
Up: 3 Program Files, Installation,
Previous: 3.4 Fortran Files
Contents
Index
3.5 Configure Script
The configure script produces a Makefile.
It is controlled by environment variables (see below).
It tries to use reasonable default values if they are not set (properly).
In the script the machine type is determined with `uname -m`.
According to the control variables and the machine architecture
the compiler name and its compiler flags are composed.
These are written into the header of a Makefile which is produced in the end.
An existing Makefile is appended to
Makefile_old.
Additionally the compilation command is written into the file
'compiler_flags.info'
in a form ready to be included in a Fortran program.
The environment variables that control the script are
F90_COMPILER
:
Fortran compiler:
''
: a machine dependent default is chosen individually for each architecture
f90
: general default
F90_PREFLAGS
:
Compiler flags to be put at the beginning of the list.
Usually, the list of compiler flags produced by the configure script should be pretty complete.
But you might want to add special switches like '-Bstatic' to enforce static linking of
libraries.
F90_POSTFLAGS
:
Compiler flags to be put at the end of the list.
Usually, the list of compiler flags produced by the configure script should be pretty complete.
However, you might want to overwrite some settings. This can be done by setting this variable
to a none-empty value because typically a compiler should interpret the flags from left to right.
F90_PARALLEL
:
Parallelization scheme:
scalar
: no parallelization (default)
openmp
: OpenMP (appropriate for CO5BOLD)
auto
: auto-parallelization (not implemented for all machines)
F90_DEBUG
:
Debugging level:
0
: No extra debugging information produced,
full optimization is chosen (default)
1
: standard debugging mode (typically switch '-g' instead of '-fast')
2
: other debugging (or array checking) modes possible if
implemented for the requested machine
F90_LHDRAD
:
LHDrad radiation transport:
0
: do not activate (compile and link) this module (default)
1
: activate this radiation transport module
F90_MSRAD
:
MSrad radiation transport:
0
: do not activate (compile and link) this module (default)
1
: activate this radiation transport module
F90_SHORTRAD
:
SHORTrad radiation transport:
0
: do not activate (compile and link) this module (default)
1
: activate this radiation transport module
F90_CHEM
:
CHEM module (chemical reaction networks):
0
: do not activate (compile and link) this module (default)
1
: activate this source step module
Setting this variable to 1 will set F90_DUST=1
.
The compiler is then called with -Drhd_chem01
.
F90_HION
:
HION module (time-dependent hydrogen ionization):
0
: do not activate (compile and link) this module (default)
1
: activate this source step module
Setting this variable to 1 will set F90_DUST=1
.
The compiler is then called with -Drhd_hion01
.
F90_DUST
:
DUST module:
0
: do not activate (compile and link) this module (default)
1
: activate this source step module
If this variable is set to 1 the compiler is called with -Drhd_box_quc01=1
,
see Sect. 3.6.
F90_MHD
:
MHD module:
0
: do not activate (compile and link) this module (default)
1
: activate this magnetohydrodynamics module (MHD HLL solver)
If CO5BOLD is compiled with the MHD module, your start model should include
magnetic fields, otherwise zero magnetic fields are created and used.
In the latter case, the magnetic field arrays are not written into
the output files.
F90_MACHINE
:
Explicit machine specification. This is usually not necessary, use 'local' or '' instead.
''
: local machine
sun4u
: Sun
- ...: See the header of the configure script for an up-to-date list
local
: local machine (default)
dummy
: Do not use any machine dependent flags but use module selections
empty
: Compiler flags are composed from F90_PREFLAGS
and F90_POSTFLAGS
only
F90_BASEPATH
:
Path for CO5BOLD base directory.
''
: The configure script tries to determine the base-directory name
automatically (default). This should work if the local directory is
located somewhere below .../hd/rhd/
- otherwise: This string is used as base directory name (e.g.
/home/user/for
)
Some examples can be found in Sect. 3.2.
Next: 3.6 Compiler Macros
Up: 3 Program Files, Installation,
Previous: 3.4 Fortran Files
Contents
Index