Managing the Venus PCM outputs
This page gives some comments and instructions on managing the Venus PCM outputs, depending on the dynamical core (LMDZ or DYNAMICO) and input library (IOIPSL or XIOS) that is used.
Contents
Generalities
- We here describe only the outputs from the Venus physics package, not from the dynamics
- depending on which input/output library (IOIPSL or XIOS) things are quite different. Outputs using IOIPSL is depreciated (but still possible); using XIOS should be favored and is strongly recommended.
Venus PCM - LMDZ outputs with IOIPSL
Warning: using IOIPSL for outputs is depreciated.
When outputs are with IOIPSL they consist in (at most) two files, histmth.nc (averages) and histins.nc (instantaneous fields) and
are controlled by some flags in the physiq.def file, namely:
# Parameters for IOIPSL output files ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## OLD. Now we use XIOS => see context_lmdz_physics.xml to taylor the output files # ### OK_journe= y for daily output file histday.nc, =n no histday.nc output ### Meaningless for Venus OK_journe=n ### OK_mensuel= y for monthly output file histmth.nc, =n no histmth.nc ### For Venus, only these averaged outputs OK_mensuel=n ## rate (in days) at which the Venus histmth file is to be written # sets the output rate in histmth and/or histins ecritphy=0.1 ### OK_instan=y, make some "instantaneous" outputs (same rate as histmth) OK_instan=n # # Output levels for the various output files # # output level for "day" lev_histday # - lev_hist*=1 => baseline 2D fields # - lev_hist*=2 => baseline 3D fields (default) # - lev_hist*=3 => radiative transfert # - lev_hist*=4 => 3D tendencies # - lev_hist*=5 => tracers and others lev_histday=2 #output level for "mth" lev_histmth lev_histmth=2
Note that the setup (and flags) is inherited from the Earth model hence some weird unusable options (like OK_journe) and flag names. The user thus can trigger the generation of histins.nc outputs by setting OK_instan=y and the generation of histmth.nc by setting OK_mensuel=y. In addition the output frequency (i.e. timesteps in the output file) can be adapted using the flag ecritphy which should be set to the (Venus) day fraction to be used. As concerns the fields that will be included in the output files, these will depend on the values of flags lev_histday and lev_histmth as mentioned in the comments above. Note that if the user needs to add variables to the output files or change the default behavior then this will require modifying the source code.
If running in parallel (MPI) with outputs using IOIPSL, each process will generate each its own set of output files: histmth_0000.nc, histins_0000.nc for process number 0, histmth_0001.nc, histins_0001.nc for process number 1, and so on. Once the run is finished it is up to the user to recombine these hist*_*.nc files into single files gathering the data over the entire planet, using the IOIPSL rebuild script, e.g.:
rebuild histmth.nc histmth_*.nc
Venus PCM - LMDZ outputs with XIOS
Note that this configuration requires running in parallel and with XIOS enabled, i.e. having compiled with makelmdz_fcm options
-parallel mpi -io xios
XIOS outputs are managed and defined via dedicated XML files which must be alongside the executable when it is run. Check out the XIOS library page for more details about what the XML files should contain. In a nutshell one needs the following files:
- iodef.xml : the XIOS "master" input file (which includes all the other XML files)
- context_lmdz_physics.xml : the XIOS "main" file (concerns the physics package and includes other XML files) which also contains the description of the various input and output grids to be used.
- field_def_physics.xml : file which describes all the variables that the code sends to XIOS and which might be outputted.
- file_def_physics.xml : file which describes all the desired output files and their contents
Some examples of these xml files are given in LMDZ.VENUS/deftank
TODO: MORE DETAILS ON THE XML SYNTAX AND RELEVANT PARAMETERS NEEDED HERE
Venus PCM - DYNAMICO outputs with XIOS
Note that using XIOS is the only possibility (no IOIPSL outputs) when using DYNAMICO
TODO: MORE DETAILS NEEDED HERE