TM5/std TM5/std#

YAML arguments#

The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:

Mandatory arguments#

direxec : str, mandatory

Path to executable and/or sources

auto_recompile : bool, mandatory

Recompile sources

make_clean : bool, mandatory

When compiling, do a ‘make clean’ first.

fc : str, mandatory

Fortran compiler

linker : str, mandatory

Linker

Optional arguments#

autoflush : bool, optional, default False

Cleans big temporary files when the simulation is done. Triggers the function flushrun of the model if available

tracer : str, optional, default “CH4”

The tracer to be used in the inverse modelling.

nlay : int, optional, default 25

Number of layers in TM5 vertical grid.

levs : str, optional, default “tropo25a”

Number of layers in TM5 vertical grid.

eclevs : str, optional, default “ml137”

Number of layers in ECMWF vertical grid.

projs : list, optional, default [‘base/src/’, ‘proj/levels/ml137/tropo25a/src/’, ‘proj/levels/ml137/src/’, ‘proj/tracer/CH4/src/’]

Copy these projects from the source dir before compilation. Note that the variable tm5_dir must be defined in the yaml config file.

make_options : str, optional, default “-j4”

Options to pass to make, such as ‘-j n’ to have make run parallel threads.

makedeps_dir : str, optional, default “”

The path to Makefile_makedeps, a makefile that automatically generates a list of dependencies.

fflags_gfortran : str, optional, default “-fdefault-real-8 -fdefault-double-8 -ffree-line-length-0 -g1 -O3 -fbacktrace -fcheck=array-temps -fcheck=bounds -fcheck=do -fcheck=pointer -fcheck=recursion -fallow-argument-mismatch -I/usr/local/gfortran/include “

Compiler flags for gfortran. Note that openmp only works for ifort, but that ifort is not yet supported for compiling TM5 in CIF.

ldflags_gfortran : str, optional, default “-Wl,-rpath=/usr/local/gfortran/lib -Wl,-rpath=/usr/local/gfortran/include -L/usr/local/gfortran/lib -l:libmfhdf.a -l:libdf.a -ljpeg -lz -lsz -L/usr/local/gfortran/lib -lhdf5_hl -lhdf5hl_fortran -lhdf5 -lhdf5_fortran -L/usr/local/gfortran/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5hl_fortran -lhdf5_fortran -lhdf5 -lz -lm -lsz -L/usr/local/gfortran/lib -llapack -lblas “

Linker flags for gfortran.

fflags_ifort : str, optional, default “-traceback -warn errors -warn declarations -qopenmp -r8 -O3 -I/hpc/sw/netcdf-fortran-4.4.2-intel-seq/include -I/hpc/sw/hdf-4.2.9-intel-seq/include -I/hpc/sw/szip-2.1-intel/include -mkl=sequential “

Compiler flags for ifort. Note that compiling TM5 with ifort is not yet supported in CIF.

ldflags_ifort : str, optional, default “-qopenmp -L/hpc/sw/netcdf-fortran-4.4.2-intel-seq/lib -lnetcdff -Wl,-rpath -Wl,/hpc/sw/netcdf-fortran-4.4.2-intel-seq/lib -L/hpc/sw/netcdf-4.3.1.1-intel-seq/lib -lnetcdf -Wl,-rpath -Wl,/hpc/sw/netcdf-4.3.1.1-intel-seq/lib -L/hpc/sw/hdf-4.2.9-intel-seq/lib -lmfhdf -ldf -L/hpc/sw/szip-2.1-intel/lib -lsz -ljpeg -lz -L/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64 -lmkl_lapack95_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -Wl,-rpath -Wl,/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64 “

Linker flags for ifort.

meteo_macros : list, optional, default [‘with_tmm_tm5’]

Meteo macro’s (my.tmm.define in tmvar-tm5-build.rc)

model_macros : list, optional, default [‘slopes’, ‘with_budgets’, ‘without_wet_deposition’, ‘without_photolysis’, ‘without_dry_deposition’, ‘with_convdiff’, ‘with_lapack’]

Model macro’s. When compiling with ifort, use with_mkl, else with_lapack.

mdf_macros : list, optional, default [‘with_hdf4’, ‘with_netcdf4’]

Datafile macro’s

optim_emis_type : int, optional, default 3

Type of variable to be optimized for emissions

TCCON_FTS_list : str, optional

path to a station list for TCCON sites; this may disappear in the future

Requirements#

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

domain

Domain

False

False

dummy

std

chemistry

Chemistry

False

False

TM5

SINK-TIPP

flux

DataStream

True

False

TM5

std

meteo

DataStream

True

False

TM5

std

inicond

DataStream

True

False

TM5

ic

YAML template#

Please find below a template for a YAML configuration:

 1model:
 2  plugin:
 3    name: TM5
 4    version: std
 5    type: model
 6
 7    # Mandatory arguments
 8    direxec: XXXXX  # str
 9    auto_recompile: XXXXX  # bool
10    make_clean: XXXXX  # bool
11    fc: XXXXX  # str
12    linker: XXXXX  # str
13
14    # Optional arguments
15    autoflush: XXXXX  # bool
16    tracer: XXXXX  # str
17    nlay: XXXXX  # int
18    levs: XXXXX  # str
19    eclevs: XXXXX  # str
20    projs: XXXXX  # list
21    make_options: XXXXX  # str
22    makedeps_dir: XXXXX  # str
23    fflags_gfortran: XXXXX  # str
24    ldflags_gfortran: XXXXX  # str
25    fflags_ifort: XXXXX  # str
26    ldflags_ifort: XXXXX  # str
27    meteo_macros: XXXXX  # list
28    model_macros: XXXXX  # list
29    mdf_macros: XXXXX  # list
30    optim_emis_type: XXXXX  # int
31    TCCON_FTS_list: XXXXX  # str