Managing the Venus PCM outputs

From Planets
Revision as of 08:38, 5 June 2023 by Emillour (talk | contribs)

Jump to: navigation, search

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.

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

Venus PCM - LMDZ outputs with IOIPSL

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