Difference between revisions of "LMDZ XIOS outputs"

From Planets
Jump to: navigation, search
(Parameter files)
(file_def_physics.xml)
Line 28: Line 28:
 
=== file_def_physics.xml ===
 
=== file_def_physics.xml ===
  
This file (example [https://gitlab.in2p3.fr/la-communaut-des-mod-les-atmosph-riques-plan-taires/git-trunk/-/blob/master/LMDZ.GENERIC/deftank/xios/file_def_physics.xml?ref_type=heads here]) lists the output files you need, and which variables to write in it.
+
This file (example [https://gitlab.in2p3.fr/la-communaut-des-mod-les-atmosph-riques-plan-taires/git-trunk/-/blob/master/LMDZ.GENERIC/deftank/xios/file_def_physics.xml?ref_type=heads here]) lists the output files you want to write, and which variables to write in it.
 +
 
 +
An example (available at the link above), with the name of the output file and here only one variable (temperature) would look like:
 +
 
 +
<syntaxhighlight lang="xml">
 +
    <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>
 +
</syntaxhighlight>
  
 
== Adding new variables in the physics (physiq_mod/physiq) ==
 
== Adding new variables in the physics (physiq_mod/physiq) ==

Revision as of 12:05, 5 March 2025

You can control many outputs using XIOS (see XIOS_output_controls for details).

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.

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!