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
andachimere.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 availableaccepted 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
Requirements¶
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
---|---|---|---|---|---|
domain |
False |
False |
CHIMERE |
std |
|
chemistry |
False |
False |
CHIMERE |
gasJtab |
|
flux |
True |
False |
CHIMERE |
AEMISSIONS |
|
bioflux |
True |
False |
CHIMERE |
AEMISSIONS |
|
meteo |
True |
False |
CHIMERE |
std |
|
latcond |
True |
False |
CHIMERE |
icbc |
|
topcond |
True |
False |
CHIMERE |
icbc |
|
inicond |
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