CHIMERE / std

Description

This is the plugin to run the CTM CHIMERE. Please see further details on the CTM itself here.

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 CHIMERE sources and/or executables. For executables, fwdchimere.e, tlchimere.e and achimere.e should be in ${path}/src, ${path}/src_tl and ${path}/src_ad respective sub-folders.

accepted type: str

nphour_ref: (mandatory)

Number of physical steps per hour. 6 is well tested for regional cases.

accepted type: int

ichemstep: (mandatory)

Number of chemical refined iterations, i.e., refined time steps relative to physical time steps. Down to 1/4 degree resolution, phys=6 and step=1 is fine; For finer grids (5-10 kms), take at least step=4; For grids of 2-5 kms, try step=6 or more.

accepted type: int

ideepconv: (mandatory)

Computation of the deep convection.

accepted values:

  • 0: No deep convection

  • 1: Select deep convection automatically according to resolution, deep conv fluxes from Tiedtke

  • 2: Select deep convection automatically according to resolution, deep conv fluxes from meteorological data

nivout: (mandatory)

Number of vertical layers in output files.

accepted type: int

nlevemis: (mandatory)

Number of levels for emissions. Applies to AEMISSION files.

accepted type: int

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

dir_sources: (optional):

Path to CHIMERE sources. Overwrites direxec if specified.

accepted type: str

periods: (optional): 1D

Length of sub-simulations periods. Use Pandas frequency strings

accepted type: str

ihoursu: (optional): 0

Number of spin-up hours.

accepted type: int

useemisb: (optional): False

Include biogenic emissions, i.e. the file BEMISSIONS.nc

accepted type: bool

dumpnctype: (optional): float

Precision for the output NetCDF files. Do not impact the values in mod.txt

accepted values:

  • double: double precision: needed if precise post-processing of output files

  • float: float precision: save some disk space

dumpncoutput: (optional): True

Dump outputs into a NetCDF file.

accepted type: bool

dumpncpar: (optional): False

Dump parameters into a NetCDF file.

accepted type: bool

usechemistry: (optional): 0

Use chemistry.

accepted values: [0, 1]

useemissions: (optional): 1

Use emisions.

accepted values: [0, 1]

usetransmix: (optional): 1

Use transport and mixing.

accepted values: [0, 1]

usewetdepos: (optional): 0

Use wet deposition.

accepted values: [0, 1]

usedepos: (optional): 0

Use dry deposition.

accepted values: [0, 1]

nsavedepos: (optional): 4

Save deposition in NetCDF file every … hours.

accepted type: int

nitgs: (optional): 1

Number of Gauss-Seidel iterations in the TWOSTEP solver.

accepted values:

  • 1: for model testing, and when using the adjoint

  • 2: for better accuracy

nitgssu: (optional): 1

Same during spin-up

accepted values:

  • 1: for model testing, and when using the adjoint

  • 2: for better accuracy

useabsclipconc: (optional): 0

Clip small (in absolute value) concentrations when = 1; clip small (including all negative) concentrations when = 0. Warning: the clipping is done in twostep, not only when writing the output writing; thus, clipping must be used with care as it can alter the mass conservationsee CHIMERE doc for more information on the use of clipconc

accepted values: [0, 1]

clipconc: (optional): 1

Clipping concentration (in molecule/cm3)

accepted type: float

ntyperate: (optional): 50

Max number of reaction types

accepted type: int

nvegtype: (optional): 16

Number of vegetation types

accepted type: int

nlduse: (optional): 9

Max number of landuse classes

accepted type: int

nparammax: (optional): 30

Max number of output parameters

accepted type: int

hpulse: (optional): 0

Hour of emission pulse. All emissions before this hour from the beginning of the simulations are ignored, and all transport/chemistry computations are skipped.To be used when computing response functions from a given hour

accepted type: int

auto-recompile: (optional): False

Auto-compile executables before running if executables not available

accepted type: bool

force-recompile: (optional): False

Force compilation even if executables available

accepted type: bool

compile-mode: (optional): PROD

Compilation mode

accepted values:

  • PROD: production mode; all optimizations are activated

  • DEBUG: check-all and traceback are activated, hence slowing down the execution

compile-clean: (optional): True

Cleaning repositories before compiling; slows the compilation but prevent side-effects from re-compiling.Can be switched of for minor modifications in the code

accepted type: bool

compile-only: (optional): [‘A’, ‘L’, ‘D’]

Compile only part of the available CHIMERE modes (tangent-linear, forward and adjoint)

accepted type: list

force-compile-stderr: (optional): False

Force printing stderr from compiling (even when executable correctly generated after compiling)

accepted type: bool

nlevemis_bio: (optional): 1

Number of vertical levels in biogenic emissions (BEMISSIONS.nc)

accepted type: int

nmdoms: (optional): 1

Number of parallel domains in meridional direction

accepted type: int

nzdoms: (optional): 1

Number of parallel domains in zonal direction

accepted type: int

mpirun: (optional): mpirun

path to mpirun

accepted type: str

ignore_input_dates: (optional): False

Forces CHIMERE to by-pass the checks on the consistency of dates in AEMISSIONS, BEMISSIONS, BOUN_CONCS, INI_COCNS and METEO; useful to use input files from another periodwithout duplicating them only for the dates.

accepted type: bool

useRAMonly: (optional): False

Force relying on the RAM only, instead of TMP files, to save forward simulations necessary for the adjoint. This trades I/O burden with TMP files with RAM burden

Warning

This option can use a LOT of RAM. Please test the option on a simple case and compare with a case using TMP files. Depending on your cluster and your test case, choose the fastest one.

accepted type: bool

force_clean_run: (optional): False

Clean run subdirectory just after running to limit disk space usage

accepted type: bool

stopORmore: (optional): []

To avoid running simulations for which the simulated concentrations are smaller than a given thresholdfor a set of species; please provide a list of tuples (species,threshold) (species is from ACTIVE_SPECIES and treshold in XXUNITXX

accepted type: list

pre-computed-meteo: (optional): True

Simplified METEO mapper when the meteo is already computed. Set to False if using diagmet transform

accepted type: bool

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

CHIMERE

std

chemistry

Chemistry

False

False

CHIMERE

gasJtab

flux

DataStream

True

False

CHIMERE

AEMISSIONS

bioflux

DataStream

True

False

CHIMERE

AEMISSIONS

meteo

DataStream

True

False

CHIMERE

std

latcond

DataStream

True

False

CHIMERE

icbc

topcond

DataStream

True

False

CHIMERE

icbc

inicond

DataStream

True

False

CHIMERE

icbc

Yaml template

Please find below a template for a Yaml configuration:

 1model:
 2  plugin:
 3    name: CHIMERE
 4    version: std
 5    type: model
 6
 7  # Mandatory arguments
 8  direxec: XXXXX  # str
 9  nphour_ref: XXXXX  # int
10  ichemstep: XXXXX  # int
11  ideepconv: XXXXX  # 0|1|2
12  nivout: XXXXX  # int
13  nlevemis: XXXXX  # int
14
15  # Optional arguments
16  autoflush: XXXXX  # bool
17  dir_sources: XXXXX  # str
18  periods: XXXXX  # str
19  ihoursu: XXXXX  # int
20  useemisb: XXXXX  # bool
21  dumpnctype: XXXXX  # double|float
22  dumpncoutput: XXXXX  # bool
23  dumpncpar: XXXXX  # bool
24  usechemistry: XXXXX  # 0|1
25  useemissions: XXXXX  # 0|1
26  usetransmix: XXXXX  # 0|1
27  usewetdepos: XXXXX  # 0|1
28  usedepos: XXXXX  # 0|1
29  nsavedepos: XXXXX  # int
30  nitgs: XXXXX  # 1|2
31  nitgssu: XXXXX  # 1|2
32  useabsclipconc: XXXXX  # 0|1
33  clipconc: XXXXX  # float
34  ntyperate: XXXXX  # int
35  nvegtype: XXXXX  # int
36  nlduse: XXXXX  # int
37  nparammax: XXXXX  # int
38  hpulse: XXXXX  # int
39  auto-recompile: XXXXX  # bool
40  force-recompile: XXXXX  # bool
41  compile-mode: XXXXX  # PROD|DEBUG
42  compile-clean: XXXXX  # bool
43  compile-only: XXXXX  # list
44  force-compile-stderr: XXXXX  # bool
45  nlevemis_bio: XXXXX  # int
46  nmdoms: XXXXX  # int
47  nzdoms: XXXXX  # int
48  mpirun: XXXXX  # str
49  ignore_input_dates: XXXXX  # bool
50  useRAMonly: XXXXX  # bool
51  force_clean_run: XXXXX  # bool
52  stopORmore: XXXXX  # list
53  pre-computed-meteo: XXXXX  # bool