LMDz with OpenACC annotations (LMDZ
/ acc
)¶
Description¶
This is the plugin to run the model LMDZ. Please see further details on LMDZ 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¶
fileexec: (mandatory)
path to DISPERSION executable
accepted type: str
Optional arguments¶
autoflush: (optional): True
Clean sub-directories of temporary files (mod.bin, etc.)
accepted type: bool
dir_sources: (optional):
Path to DISPERSION sources. Overwrites fileexec if specified.
accepted type: str
periods: (optional): 1MS
Frequency for sub-simulations
accepted type: str
flx_tresol: (optional): 1D
Expected time step between flux values in the executable
accepted type: str
physic: (optional): True
Use physics in LMDZ
accepted type: bool
compressed_phystoke: (optional): True
Use compressed phystoke files
accepted type: bool
dump: (optional): False
Dump trajq as netCDF
accepted type: bool
do_chemistry: (optional): True
Use the chemistry
accepted type: bool
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
force-compile-stderr: (optional): False
Force printing what happened during compiling
accepted type: bool
compile-clean: (optional): False
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-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-acc-target: (optional): multicore
Target for ACC annotations
accepted values: [‘multicore’, ‘gpu’]
compiler: (optional): nvfortran
Compiler to use
accepted values: [‘nvfortran’]
nproc: (optional)
Force using a given number of processors. By default, LMDz uses all available processors
accepted type: 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 |
False |
False |
LMDZ |
std |
|
flux |
True |
False |
LMDZ |
sflx |
|
chemistry |
False |
False |
CHIMERE |
gasJtab |
|
emis_species |
True |
False |
LMDZ |
bin |
|
meteo |
True |
False |
LMDZ |
mass-fluxes |
|
inicond |
True |
False |
LMDZ |
ic |
|
prescrconcs |
True |
False |
LMDZ |
prescrconcs |
|
kinetic |
True |
False |
LMDZ |
photochem |
|
prodloss3d |
True |
False |
LMDZ |
prodloss3d |
Yaml template¶
Please find below a template for a Yaml configuration:
1model:
2 plugin:
3 name: LMDZ
4 version: acc
5 type: model
6
7 # Mandatory arguments
8 fileexec: XXXXX # str
9
10 # Optional arguments
11 autoflush: XXXXX # bool
12 dir_sources: XXXXX # str
13 periods: XXXXX # str
14 flx_tresol: XXXXX # str
15 physic: XXXXX # bool
16 compressed_phystoke: XXXXX # bool
17 dump: XXXXX # bool
18 do_chemistry: XXXXX # bool
19 auto-recompile: XXXXX # bool
20 force-recompile: XXXXX # bool
21 force-compile-stderr: XXXXX # bool
22 compile-clean: XXXXX # bool
23 compile-mode: XXXXX # PROD|DEBUG
24 compile-acc-target: XXXXX # multicore|gpu
25 compiler: XXXXX # nvfortran
26 nproc: XXXXX # int