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: (mandatory)

Path to executable and/or sources

accepted type: str

auto_recompile: (mandatory)

Recompile sources

accepted type: bool

make_clean: (mandatory)

When compiling, do a ‘make clean’ first.

accepted type: bool

fc: (mandatory)

Fortran compiler

accepted type: str

linker: (mandatory)

Linker

accepted type: str

Optional arguments

autoflush: (optional): False

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

accepted type: bool

tracer: (optional): CH4

The tracer to be used in the inverse modelling.

accepted type: str

nlay: (optional): 25

Number of layers in TM5 vertical grid.

accepted type: int

levs: (optional): tropo25a

Number of layers in TM5 vertical grid.

accepted type: str

eclevs: (optional): ml137

Number of layers in ECMWF vertical grid.

accepted type: str

projs: (optional): [‘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.

accepted type: list

make_options: (optional): -j4

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

accepted type: str

makedeps_dir: (optional):

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

accepted type: str

fflags_gfortran: (optional): -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.

accepted type: str

ldflags_gfortran: (optional): -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.

accepted type: str

fflags_ifort: (optional): -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.

accepted type: str

ldflags_ifort: (optional): -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.

accepted type: str

meteo_macros: (optional): [‘with_tmm_tm5’]

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

accepted type: list

model_macros: (optional): [‘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.

accepted type: list

mdf_macros: (optional): [‘with_hdf4’, ‘with_netcdf4’]

Datafile macro’s

accepted type: list

optim_emis_type: (optional): 3

Type of variable to be optimized for emissions

accepted type: int

TCCON_FTS_list: (optional)

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

accepted type: str

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