source: tags/ORCHIDEE_2_1/ORCHIDEE/src_xml/context_input_orchidee.xml

Last change on this file was 5565, checked in by josefine.ghattas, 6 years ago

Reorganization of xml files: Now regrouping all sections related to reading and interpolating input files in the file context_input_orchidee.xml. This new file must always be included from iodef.xml. The content of file_def_input_orchidee.xml has been included in context_input_orchidee.xml and the file is deleted.

These changes do not induce any differences in results but the run configuration must be modified to copy the new file and include it in iodef.xml. This will be done in trunk/ORCHIDEE_OL offline experiments in a next coming changeset. For coupled configurations, these changes will be done in v6.2 configuration files. Note also that the file file_def_input_orchidee.xml has been removed and should not longer be copied to the run directory.

  • Property svn:keywords set to Date Revision HeadURL
File size: 19.6 KB
Line 
1<!-- =========================================================================================================== -->
2<!-- ORCHIDEE context for input files                                                                            -->
3<!-- context_input_orchidee.xml : Configuration file for ORCHIDEE for reading of input files using XIOS          -->
4<!-- This file must be included from iodef.xml                                                                   -->
5<!-- All specifications specific for the reading and interpolating of input files are regrouped in this file.    -->
6<!-- Find below sections for file_definition, field_definition, domain_definition, grid_definition and           -->
7<!-- variable_definition.                                                                                        -->
8<!--                                                                                                             -->
9<!-- $HeadURL$                -->
10<!-- $Date$                                                      -->
11<!-- $Revision$                                                                                           -->
12<!-- =========================================================================================================== -->
13<context id="orchidee">
14
15
16  <!-- ========================================================================================================= -->
17  <!-- Definition of input files                                                                                 -->
18  <!-- The input files are activated or desactivated from the source code depending on simulation set up.        -->
19  <!-- The variables are here on the input source grid.                                                          -->
20  <!-- Different treatment are done accordig to the file.                                                        -->
21  <!-- Values higher than 1e10 are for some files considered as missing values and the field is then set to 0.   -->
22  <!-- A normalization are sometimes done with the fraction of the grid cell.                                    -->
23  <!-- Sometimes, if only missing values are found for a grid cell, then a default value is set.                 -->
24  <!-- ========================================================================================================= -->
25 
26  <file_definition>
27
28    <file id="soils_param_file" mode="read" output_freq="1y" enabled="true">
29      <field id="soilcolor" name="soilcolor" domain_ref="soil" operation="instant" freq_offset="1ts"/>
30      <field id="soiltext" name="soiltext" domain_ref="soil" operation="instant" freq_offset="1ts"/>
31    </file>
32   
33    <file  id="PFTmap_file"  mode="read" output_freq="1y">
34      <field id="maxvegetfrac_read"  name="maxvegetfrac" domain_ref="pft" axis_ref="nvm" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? this : 0 </field>
35      <field id="maxvegetfrac_mask"  name="maxvegetfrac" domain_ref="pft" axis_ref="nvm" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? 1 : 0 </field>
36    </file>
37   
38    <file id="topography_file"  mode="read" output_freq="1y">
39      <!--      <field id="pente"  domain_ref="topo"  operation="instant"  freq_offset="1ts" > (this &gt; 1e10) ? 1 : this </field>     ==> In reference, missing value are use for computing, this probably wrong -->
40      <field id="pente_read"       name="pente" domain_ref="topo"  operation="instant"  freq_offset="1ts" > ((this/$slope_noreinf) &lt; 1)? this/$slope_noreinf : 1 </field>
41      <field id="mask_pente_read"  name="pente" domain_ref="topo"  operation="instant"  freq_offset="1ts" > (this &lt; $min_sechiba)? 0 : 1                         </field>  <!-- create mask -->
42    </file>
43   
44    <file id="albedo_file" mode="read" output_freq="1y">
45      <field id="mask_alb_read"    name="mask"       domain_ref="albedo"  operation="instant"  freq_offset="1ts" />
46      <field id="bg_alb_vis_read"  name="bg_alb_vis" domain_ref="albedo"  operation="instant"  freq_offset="1ts" >  mask_alb_read &gt; 0.99 ? this : $missing_value  </field>
47      <field id="bg_alb_nir_read"  name="bg_alb_nir" domain_ref="albedo"  operation="instant"  freq_offset="1ts" >  mask_alb_read &gt; 0.99 ? this : $missing_value  </field>
48    </file>
49   
50    <file id="lai_file" mode="read" output_freq="1y" time_counter_name="toto" cyclic="true">
51      <field id="lai_read"       name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : this </field>
52      <field id="mask_lai_read"  name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : 1    </field>  <!-- create mask -->
53    </file>
54
55    <file id="fertilizer_file" mode="read" output_freq="1y" cyclic="true">
56      <field id="N_qt_OTHER_year_read"  name="N_qt_OTHER_year" domain_ref="fertilizer" operation="instant"  freq_offset="1ts"/>
57      <field id="N_qt_WRICE_year_read"  name="N_qt_WRICE_year" domain_ref="fertilizer" operation="instant"  freq_offset="1ts"/>
58    </file>
59   
60    <file id="bbg_clim_file" mode="read" output_freq="1y" cyclic="true">
61      <field id="flx_co2_bbg_year_read"  name="flx_co2_bbg_year" domain_ref="bbg_clim" operation="instant"  freq_offset="1ts"/>
62    </file>
63   
64    <file id="reftemp_file" mode="read" output_freq="1y" cyclic="true">
65      <field id="reftemp_read"  name="temperature" domain_ref="reftemp" operation="instant"  freq_offset="1ts"/>
66    </file>
67   
68    <file id="woodharvest_file" mode="read" output_freq="1y" cyclic="true">
69      <field id="woodharvest_read"  name="woodharvest" domain_ref="woodharvest" operation="instant"  freq_offset="1ts"/>
70    </file>
71   
72   
73   
74    <file id="interp_diag" output_freq="1ts" sync_freq="1ts" enabled=".FALSE.">
75      <field_group domain_ref="domain_landpoints" operation="once" default_value="9.96921e+36">
76        <field id="interp_diag_aveget" name="aveget" />
77        <field id="interp_diag_vegetrefrac" name="vegetrefrac" axis_ref="nvm"/>
78        <field id="interp_diag_atext" name="atext" />
79        <field id="interp_diag_soilclass" name="soilclass"     axis_ref="ncsm"/>
80        <field id="interp_diag_clayfraction" name="clayfraction"  />
81        <field id="interp_diag_aslope" name="aslope"    />
82        <field id="interp_diag_reinf_slope" name="reinf_slope"  />
83       
84        <field id="interp_diag_alb_vis" name="alb_vis"  />
85        <field id="interp_diag_alb_nir" name="alb_nir"  />
86       
87        <field id="interp_diag_N_qt_WRICE_year" name="wrice"  />
88        <field id="interp_diag_N_qt_OTHER_year" name="other"  />
89        <field id="interp_diag_flx_co2_bbg_year" name="co2_bbg"  />
90       
91      </field_group>
92      <field id="interp_diag_lai" grid_ref="from_lai" name="lai"  operation="once" default_value="9.96921e+36" enabled="false"/>
93      <field field_ref="mask_alb_read" operation="once" default_value="9.96921e+36"  freq_offset="0ts" enabled="false"/>
94    </file>
95
96
97    <file id="nudge_moistc" name="nudge_moistc" type="one_file" mode="read" output_freq="1d">
98      <field  id="moistc_in" name="moistc" operation="instant" grid_ref="grid_inputfile_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
99      <field  id="mask_moistc_in" name="moistc" operation="instant" grid_ref="grid_inputfile_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
100    </file>
101   
102    <file id="nudge_snow" name="nudge_snow" type="one_file" mode="read" output_freq="1d">
103      <field  id="snowdz_in" name="snowdz" operation="instant" grid_ref="grid_inputfile_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
104      <field  id="snowrho_in" name="snowrho" operation="instant" grid_ref="grid_inputfile_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
105      <field  id="snowtemp_in" name="snowtemp" operation="instant" grid_ref="grid_inputfile_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
106      <field  id="mask_snow_in" name="snowdz" operation="instant" grid_ref="grid_inputfile_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
107    </file>
108   
109  </file_definition>
110
111
112  <!-- ========================================================================================================= -->
113  <!-- Definition of all field coming from files but now interpolated to the model grid.                         -->
114  <!-- ========================================================================================================= -->
115
116  <field_definition>
117
118    <field_group enabled="false" read_access="true">
119
120      <field_group id="soil_color" enabled="false">
121        <field id="soilcolor0" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 0 </field>
122        <field id="soilcolor1" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 1 </field>
123        <field id="soilcolor2" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 2 </field>
124        <field id="soilcolor3" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 3 </field>
125        <field id="soilcolor4" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 4 </field>
126        <field id="soilcolor5" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 5 </field>
127        <field id="soilcolor6" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 6 </field>
128        <field id="soilcolor7" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 7 </field>
129        <field id="soilcolor8" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 8 </field>
130        <field id="soilcolor9" field_ref="soilcolor" domain_ref="from_soil" > soilcolor == 9 </field>
131      </field_group>
132
133      <field_group id="soil_text" field_ref="soiltext" domain_ref="from_soil" enabled="true" read_access="true">
134        <field id="soiltext1"  > soiltext == 1 </field>
135        <field id="soiltext2"  > soiltext == 2 </field>
136        <field id="soiltext3"  > soiltext == 3 </field>
137        <field id="soiltext4"  > soiltext == 4 </field>
138        <field id="soiltext5"  > soiltext == 5 </field>
139        <field id="soiltext6"  > soiltext == 6 </field>
140        <field id="soiltext7"  > soiltext == 7 </field>
141        <field id="soiltext8"  > soiltext == 8 </field>
142        <field id="soiltext9"  > soiltext == 9 </field>
143        <field id="soiltext10" > soiltext == 10 </field>
144        <field id="soiltext11" > soiltext == 11 </field>
145        <field id="soiltext12" > soiltext == 12 </field>
146      </field_group>
147     
148
149      <field id="frac_veget"      field_ref="maxvegetfrac_read" domain_ref="from_pft" read_access="true" enabled="true" />
150      <field id="frac_veget_frac" field_ref="maxvegetfrac_mask" domain_ref="from_pft" read_access="true" enabled="true" />
151
152      <field id="slope_tmp"           field_ref="pente_read"       domain_ref="from_topo"                                  />
153      <field id="frac_slope_interp"   field_ref="mask_pente_read"  domain_ref="from_topo" read_access="true" enabled="true"/>
154      <field id="reinf_slope_interp"                               domain_ref="from_topo" read_access="true" enabled="true"> (frac_slope_interp &gt; $min_sechiba ) ? 1-slope_tmp/(frac_slope_interp+1e-100) : $slope_default </field>
155
156      <field id="bg_alb_vis_tmp"   field_ref="bg_alb_vis_read"  domain_ref="from_albedo"  />
157      <field id="bg_alb_vis_interp" field_ref="bg_alb_vis_tmp"  read_access="true" enabled="true" > this == $missing_value ? $albbg_vis_default : this </field>
158
159      <field id="bg_alb_nir_tmp"    field_ref="bg_alb_nir_read"  domain_ref="from_albedo"  />
160      <field id="bg_alb_nir_interp" field_ref="bg_alb_nir_tmp"  read_access="true"  enabled="true" >  this == $missing_value ? $albbg_nir_default : this </field>
161     
162      <field id="lai_tmp"          field_ref="lai_read"      grid_ref="from_lai" />
163      <field id="frac_lai_interp"  field_ref="mask_lai_read" grid_ref="from_lai" read_access="true" enabled="true" />
164      <field id="lai_interp"       field_ref="lai_tmp"                           read_access="true" enabled="true"  >  lai_tmp/(frac_lai_interp+1e-100) </field>  <!-- renormalize -->
165     
166      <field id="N_qt_WRICE_year_interp"  field_ref="N_qt_WRICE_year_read"  domain_ref="from_fertilizer" read_access="true" enabled="true" />
167      <field id="N_qt_OTHER_year_interp"  field_ref="N_qt_OTHER_year_read"  domain_ref="from_fertilizer" read_access="true" enabled="true" />
168     
169      <field id="flx_co2_bbg_year_interp"  field_ref="flx_co2_bbg_year_read"  domain_ref="from_bbg_clim" read_access="true" enabled="true" />
170
171      <field id="reftemp_interp"  field_ref="reftemp_read"  domain_ref="from_reftemp" read_access="true" enabled="true" />
172
173      <field id="woodharvest_interp"  field_ref="woodharvest_read"  domain_ref="from_woodharvest" read_access="true" enabled="true" />
174     
175    </field_group>
176
177    <field_group id="orchidee_input_mc" grid_ref="grid_nslm_nstm">
178      <!-- Interpolate the mask. This gives now the fraction of the source area underlaying the model grid cell -->
179      <field id="mask_moistc_interp" field_ref="mask_moistc_in" read_access="true" />
180      <!-- Interpolate the variable. Note that where the source file had missing values, the variables was set to 0. Therefor normalization is needed.     -->
181      <!-- Normalize the interpolated values with the mask which corresponds to the fraction of underlaying valid source grid cells.                       -->
182      <!-- The default value 0.2 is used if the mask is 0. This is the case if no information at all was found on the source grid for the model grid cell. -->
183      <field id="moistc_tmp" field_ref="moistc_in"  />
184      <field id="moistc_interp" field_ref="moistc_tmp" read_access="true" > (mask_moistc_interp &lt; 1e-4) ? 0.2 : this/(mask_moistc_interp+1e-100) </field>
185    </field_group>
186
187    <field_group id="orchidee_input_snow" grid_ref="grid_nsnow2" >
188      <field id="mask_snow_interp" field_ref="mask_snow_in" read_access="true" />
189      <field id="snowdz_tmp" field_ref="snowdz_in" />
190      <!-- Set snowdz=0 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells      -->
191      <field id="snowdz_interp" field_ref="snowdz_tmp" read_access="true" > (mask_snow_interp &lt; 1e-4) ? 0 : this/(mask_snow_interp+1e-100) </field>
192      <field id="snowrho_tmp" field_ref="snowrho_in" />
193      <!-- Set snowrho=50 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells    -->
194      <field id="snowrho_interp" field_ref="snowrho_tmp" read_access="true" > (mask_snow_interp &lt; 1e-4) ? 50 : this/(mask_snow_interp+1e-100) </field>
195      <field id="snowtemp_tmp" field_ref="snowtemp_in" />
196      <!-- Set snowtemp=273 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells  -->
197      <field id="snowtemp_interp" field_ref="snowtemp_tmp" read_access="true" > (mask_snow_interp &lt; 1e-4) ? 273 : this/(mask_snow_interp+1e-100) </field>
198    </field_group>
199 
200  </field_definition>
201
202
203
204  <!-- =========================================================================================================== -->
205  <!-- Definition of a horizontal domain for each input file                                                       -->
206  <!-- =========================================================================================================== -->
207
208  <domain_definition>
209
210    <domain id="domain_inputfile_moistc" type="rectilinear">
211      <generate_rectilinear_domain />
212    </domain>
213   
214    <domain id="domain_inputfile_snow" type="rectilinear">
215      <generate_rectilinear_domain />
216    </domain>
217   
218    <domain id="from_soil" domain_ref="domain_landpoints">
219      <interpolate_domain order="1" renormalize="false"/>
220    </domain>
221   
222    <domain id="from_pft" domain_ref="domain_landpoints">
223      <interpolate_domain order="1" renormalize="false" />
224    </domain>
225   
226    <domain id="from_topo" domain_ref="domain_landpoints">
227      <interpolate_domain order="1" renormalize="false" />
228    </domain>
229   
230    <domain id="from_albedo" domain_ref="domain_landpoints">
231      <interpolate_domain order="1" renormalize="true" detect_missing_value="true"/>
232    </domain>
233   
234    <domain id="from_lai" domain_ref="domain_landpoints">
235      <interpolate_domain order="1" renormalize="false" />
236    </domain>
237   
238    <domain id="from_bbg_clim" domain_ref="domain_landpoints">
239      <interpolate_domain order="1" renormalize="false" />
240    </domain>
241   
242    <domain id="from_fertilizer" domain_ref="domain_landpoints">
243      <interpolate_domain order="1" renormalize="false" />
244    </domain>
245   
246    <domain id="from_reftemp" domain_ref="domain_landpoints">
247      <interpolate_domain order="1" renormalize="false" />
248    </domain>
249   
250    <domain id="from_woodharvest" domain_ref="domain_landpoints">
251      <interpolate_domain order="1" renormalize="false" />
252    </domain>
253   
254    <domain id="soil" type="rectilinear">
255      <!-- generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="-90" bounds_lat_end="90"/-->
256      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
257    </domain>
258   
259    <domain id="pft" type="rectilinear">
260      <generate_rectilinear_domain/>
261    </domain>
262   
263    <domain id="topo" type="rectilinear">
264      <generate_rectilinear_domain/>
265    </domain>
266   
267    <domain id="albedo" type="rectilinear">
268      <generate_rectilinear_domain />
269    </domain>
270   
271    <domain id="lai" type="rectilinear">
272      <generate_rectilinear_domain/>
273    </domain>
274   
275    <domain id="bbg_clim" type="rectilinear">
276      <generate_rectilinear_domain/>
277    </domain>
278   
279    <domain id="fertilizer" type="rectilinear">
280      <generate_rectilinear_domain/>
281    </domain>
282
283    <domain id="reftemp" type="rectilinear">
284      <generate_rectilinear_domain/>
285    </domain>
286
287    <domain id="woodharvest" type="rectilinear">
288      <generate_rectilinear_domain/>
289    </domain>
290   
291  </domain_definition>
292
293
294  <!-- =========================================================================================================== -->
295  <!-- Definition of input grids                                                                        -->
296  <!-- =========================================================================================================== -->
297
298  <grid_definition>
299
300    <grid id="grid_inputfile_moistc">
301      <domain domain_ref="domain_inputfile_moistc"/>
302      <axis axis_ref="nslm" />
303      <axis axis_ref="nstm" />
304    </grid> 
305
306    <grid id="grid_inputfile_snow">
307      <domain domain_ref="domain_inputfile_snow"/>
308      <axis axis_ref="nsnow" />
309    </grid> 
310   
311    <grid id="from_lai">
312      <domain domain_ref="from_lai" />
313      <axis axis_ref="nvm" />
314      <axis axis_ref="lai_time" />
315    </grid>
316   
317    <grid id="lai">
318      <domain domain_ref="lai" />
319      <axis axis_ref="nvm" />
320      <axis axis_ref="lai_time" />
321    </grid>
322   
323    <grid id="grid_nsnow2">
324      <domain domain_ref="domain_landpoints" >
325        <interpolate_domain order="1"/>
326      </domain>
327      <axis axis_ref="nsnow" />
328    </grid>
329
330  </grid_definition>
331 
332 
333  <!-- =========================================================================================================== -->
334  <!-- Variable denfinition needed for interpolation of input files                                                -->
335  <!-- The values for below variables are set from the fortran code.                                               -->
336  <!-- =========================================================================================================== -->
337
338  <variable_definition>
339   
340    <variable id="slope_default" type="double">xxx</variable>
341    <variable id="slope_noreinf" type="double">xxx</variable>
342    <variable id="min_sechiba" type="double">xxx</variable>
343    <variable id="albbg_vis_default" type="double">xxx</variable>
344    <variable id="albbg_nir_default" type="double">xxx</variable>
345   
346  </variable_definition>
347 
348
349</context>
Note: See TracBrowser for help on using the repository browser.