Difference between revisions of "LMDZ XIOS outputs"
(→field_def_physics.xml) |
(→Adding new variables in the physics (physiq_mod/physiq)) |
||
| Line 54: | Line 54: | ||
== Adding new variables in the physics (physiq_mod/physiq) == | == Adding new variables in the physics (physiq_mod/physiq) == | ||
| − | If you add fields using the '''write_output()''' routine (for example in physiq_mod), you will need to add a corresponding field in '''[[#field_def_physics.xml]]'''. | + | If you add fields using the '''write_output()''' routine (for example in physiq_mod), you will need to add a corresponding field in '''[[#field_def_physics.xml|field_def_physics.xml]]'''. |
For example, | For example, | ||
<syntaxhighlight lang="fortran"> | <syntaxhighlight lang="fortran"> | ||
Revision as of 12:07, 5 March 2025
You can control many outputs using XIOS (see XIOS_output_controls for details).
Contents
Output files
The main output file, equivalent to diagfi.nc is Xhistins.nc. This file is controlled mainly by file_def_physics.xml (the name of the file can be changed too)
Parameter files
iodef.xml context_pcm_physics.xml field_def_physics.xml file_def_physics.xml
XML example files for XIOS can be found in LMDZ.GENERIC/deftank/xios for the generic PCM.
XML example files are different for DYNAMICO. See Controling outputs in the dynamics with DYNAMICO. You will find under deftank/dynamico example files for DYNAMICO with generic physics.
field_def_physics.xml
This file lists the variables available in the model. It should correspond to all variables written by write_output() (see Adding new variables in the physics (physiq_mod/physiq)
file_def_physics.xml
This file (example here) lists the output files you want to write, and which variables to write in it.
WARNING: it should NOT BE CONFUSED with field_def_physics.xml
An example (available at the link above), with the name of the output file and here only one variable (temperature) would look like:
<file_definition>
<file id="histins"
name="Xhistins"
output_freq="40ts"
sync_freq="40ts"
type="one_file"
time_units="days"
enabled="true">
<!-- VARS 3D -->
<field_group operation="instant"
grid_ref="grid_3D_out"
freq_op="1ts">
<field field_ref="temperature" />
</field_group>
</file_definition>
Adding new variables in the physics (physiq_mod/physiq)
If you add fields using the write_output() routine (for example in physiq_mod), you will need to add a corresponding field in field_def_physics.xml. For example,
call write_output("temperature","temperature","K",zt)
corresponds to
<field id="temperature"
long_name="Atmospheric temperature"
unit="K" />
You can automatize the translation fortran->XML via the script UTIL/convert_diagfi_to_xml.py (by pasting the write_output() lines into the fortran_input file read by the script).
You will need to know if the variable is 1D,2D or 3D before putting it in the right section of the field_def_physics.xml file though. As a word of caution, the script parses the line using commas. Please don't use commas in the long names of variables!