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: <class ‘str’>

auto_recompile: (mandatory)

Recompile sources

accepted type: <class ‘bool’>

make_clean: (mandatory)

When compiling, do a ‘make clean’ first.

accepted type: <class ‘bool’>

fc: (mandatory)

Fortran compiler

accepted type: <class ‘str’>

linker: (mandatory)

Linker

accepted type: <class ‘str’>

TCCON_FTS_list: (mandatory)

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

accepted type: <class ‘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: <class ‘bool’>

tracer: (optional): CH4

The tracer to be used in the inverse modelling.

accepted type: <class ‘str’>

nlay: (optional): 25

Number of layers in TM5 vertical grid.

accepted type: <class ‘int’>

levs: (optional): tropo25a

Number of layers in TM5 vertical grid.

accepted type: <class ‘str’>

eclevs: (optional): ml137

Number of layers in ECMWF vertical grid.

accepted type: <class ‘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: <class ‘list’>

make_options: (optional): -j4

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

accepted type: <class ‘str’>

makedeps_dir: (optional):

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

accepted type: <class ‘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: <class ‘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: <class ‘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: <class ‘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: <class ‘str’>

meteo_macros: (optional): [‘with_tmm_tm5’]

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

accepted type: <class ‘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: <class ‘list’>

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

Datafile macro’s

accepted type: <class ‘list’>

optim_emis_type: (optional): 3

Type of variable to be optimized for emissions

accepted type: <class ‘int’>

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
 9  auto_recompile: XXXXX
10  make_clean: XXXXX
11  fc: XXXXX
12  linker: XXXXX
13  TCCON_FTS_list: XXXXX
14
15  # Optional arguments
16  autoflush: XXXXX
17  tracer: XXXXX
18  nlay: XXXXX
19  levs: XXXXX
20  eclevs: XXXXX
21  projs: XXXXX
22  make_options: XXXXX
23  makedeps_dir: XXXXX
24  fflags_gfortran: XXXXX
25  ldflags_gfortran: XXXXX
26  fflags_ifort: XXXXX
27  ldflags_ifort: XXXXX
28  meteo_macros: XXXXX
29  model_macros: XXXXX
30  mdf_macros: XXXXX
31  optim_emis_type: XXXXX