wiki:Documentation/UserGuide/SetDiffLevel

Controlling output level for LMDZ in configuration LMDZOR_v5 and LMDZOR_v5.2

In LMDZOR_v5 and LMDZOR_v5.2 configurations LMDZ uses IOIPSL for writing the output files. Read on this page how to control the output using IOIPSL. In LMDZOR_v6 configuration it is XIOS which is used for the output. For that case, the xml files in PARAM directory are changed directly.

Which LMDZ variables will make it to your history files (in ORCHIDEE terminology or output files in LMDZ terminology) is controlled in two files. One file is the COMP/lmdz.card and the other is in PARAM/output.def_low/medium/height, which are associated with the setting of LMDZ output files in your submission directory.

COMP/lmdz.card

In the COMP/lmdz.card, there is an option: "OutLevel"

# Set OutLevel to choose the level of output files from LMDZ. The file PARAM/output.def_$OutLevel will be used.
# OutLevel=low/medium/high
OutLevel=low

PARAM/output.def_low

In the PARAM/output.def_low, there is a limited list of predefined parameters to adjust the detail of the output files. Within this file there is an option called "phys_out_filelevel" which could be assigned to different write frequencies for the different output intervals.

phys_out_filenames=      histmth histday histhf   histhf3h  histhf3hm histstn
phys_out_filelevels=     5       5       2        5         5         5

Simply change the output levels in the output.def_low with "phys_out_filelevels= 10 10 10 10 10 " for getting all the variables. This is not very elegant and will increase the run time of the simulation but it may work. When, however, you are interested in adding a specific variable to the output file and it is not mentioned in those files you can have look at the following instructions.

phys_output_ctrlout_mod.F90

There is another file called "ouput.def" in the /modeles/LMDZ/libf/phylmd/phys_output_ctrlout_mod.F90. This file lists a lot of variables with their output levels as default values.

!!! 2D
  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10 /), &
    'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 6) /))
  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10 /), &
    'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 6) /))
  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10 /), &
    'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 6) /))
  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10 /), &
    't2m', 'Temperature 2m', 'K', (/ ('', i=1, 6) /))
  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10, 10 /), &
    't2m_min', 'Temp 2m min', 'K', &
      (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10, 10 /), &

.....

You can select the variables what you want to include in certain output level. Given this file is in the ./modeles folder and not in the ./config folder recompiling seems appropriate (I haven't tried without recompiling).

Last modified 9 years ago Last modified on 2015-07-10T17:49:58+02:00