source: branches/publications/ORCHIDEE_2.2_r7266/ORCHIDEE/src_xml/context_input_orchidee.xml @ 7541

Last change on this file since 7541 was 7541, checked in by fabienne.maignan, 2 years ago
  1. Zhang publication on coupling factor
File size: 21.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<!-- Recent change:  added block to read params_sp_mip.nc (Salma Tafasca and Agnes Ducharne, November 2020)      -->
9<!--                                                                                                             --> 
10<!-- $HeadURL: svn://forge.ipsl.jussieu.fr/orchidee/branches/ORCHIDEE_2_2/ORCHIDEE/src_xml/context_input_orchidee.xml $          -->
11<!-- $Date: 2021-07-27 18:03:07 +0200 (Tue, 27 Jul 2021) $                                                      -->
12<!-- $Revision: 7260 $                                                                                           -->
13<!-- =========================================================================================================== -->
14<context id="orchidee">
15
16
17  <!-- ========================================================================================================= -->
18  <!-- Definition of input files                                                                                 -->
19  <!-- The input files are activated or desactivated from the source code depending on simulation set up.        -->
20  <!-- The variables are here on the input source grid.                                                          -->
21  <!-- Different treatment are done accordig to the file.                                                        -->
22  <!-- Values higher than 1e10 are for some files considered as missing values and the field is then set to 0.   -->
23  <!-- A normalization are sometimes done with the fraction of the grid cell.                                    -->
24  <!-- Sometimes, if only missing values are found for a grid cell, then a default value is set.                 -->
25  <!-- ========================================================================================================= -->
26 
27  <file_definition>
28
29    <file id="soils_param_file" mode="read" output_freq="1y" enabled="true">
30      <field id="soilcolor" name="soilcolor" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts"/>
31      <field id="soiltext" name="soiltext" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts"/>
32    </file>
33
34    <!-- Default file name: params_sp_mip.nc for both all soil hydraulic parameters. -->
35    <file id="soilparam_file" mode="read" output_freq="1y" enabled="true">
36      <field id="soilks" name="soilks" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
37      <field id="soilnvan" name="soilnvan" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
38      <field id="soilavan" name="soilavan" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
39      <field id="soilmcr" name="soilmcr" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
40      <field id="soilmcs" name="soilmcs" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
41      <field id="soilmcfc" name="soilmcfc" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
42      <field id="soilmcw" name="soilmcw" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field>
43    </file>
44
45   
46    <file  id="PFTmap_file"  mode="read" output_freq="1y">
47      <field id="maxvegetfrac_read"  name="maxvegetfrac" domain_ref="dom_file_pft" axis_ref="nvm" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? this : 0 </field>
48      <field id="maxvegetfrac_mask"  name="maxvegetfrac" domain_ref="dom_file_pft" axis_ref="nvm" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? 1 : 0 </field>
49    </file>
50   
51    <file id="topography_file"  mode="read" output_freq="1y">
52      <!--      <field id="pente"  domain_ref="dom_file_topo"  operation="instant"  freq_offset="1ts" > (this &gt; 1e10) ? 1 : this </field>     ==> In reference, missing value are use for computing, this probably wrong -->
53      <field id="pente_read"       name="pente" domain_ref="dom_file_topo"  operation="instant"  freq_offset="1ts" > ((this/$slope_noreinf) &lt; 1)? this/$slope_noreinf : 1 </field>
54      <field id="mask_pente_read"  name="pente" domain_ref="dom_file_topo"  operation="instant"  freq_offset="1ts" > (this &lt; $min_sechiba)? 0 : 1                         </field>  <!-- create mask -->
55    </file>
56   
57    <file id="albedo_file" mode="read" output_freq="1y">
58      <field id="mask_alb_read"    name="mask"       domain_ref="dom_file_albedo"  operation="instant"  freq_offset="1ts" />
59      <field id="bg_alb_vis_read"  name="bg_alb_vis" domain_ref="dom_file_albedo"  operation="instant"  freq_offset="1ts" >  mask_alb_read &gt; 0.99 ? this : $missing_value  </field>
60      <field id="bg_alb_nir_read"  name="bg_alb_nir" domain_ref="dom_file_albedo"  operation="instant"  freq_offset="1ts" >  mask_alb_read &gt; 0.99 ? this : $missing_value  </field>
61    </file>
62   
63    <file id="lai_file" mode="read" output_freq="1y" time_counter_name="toto" cyclic="true">
64      <field id="lai_read"       name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : this </field>
65      <field id="mask_lai_read"  name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : 1    </field>  <!-- create mask -->
66    </file>
67
68    <file id="fertilizer_file" mode="read" output_freq="1y" cyclic="true">
69      <field id="N_qt_OTHER_year_read"  name="N_qt_OTHER_year" domain_ref="dom_file_fertilizer" operation="instant"  freq_offset="1ts"/>
70      <field id="N_qt_WRICE_year_read"  name="N_qt_WRICE_year" domain_ref="dom_file_fertilizer" operation="instant"  freq_offset="1ts"/>
71    </file>
72   
73    <file id="bbg_clim_file" mode="read" output_freq="1y" cyclic="true">
74      <field id="flx_co2_bbg_year_read"  name="flx_co2_bbg_year" domain_ref="dom_file_bbg_clim" operation="instant"  freq_offset="1ts"/>
75    </file>
76   
77    <file id="reftemp_file" mode="read" output_freq="1y" cyclic="true">
78      <field id="reftemp_read"  name="temperature" domain_ref="dom_file_reftemp" operation="instant"  freq_offset="1ts"/>
79    </file>
80   
81    <file id="woodharvest_file" mode="read" output_freq="1y" cyclic="true">
82      <field id="woodharvest_read"  name="woodharvest" domain_ref="dom_file_woodharvest" operation="instant"  freq_offset="1ts"/>
83    </file>
84   
85       
86    <file id="nudge_moistc" name="nudge_moistc" type="one_file" mode="read" output_freq="1d">
87      <field  id="moistc_in" name="moistc" operation="instant" grid_ref="grid_file_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
88      <field  id="mask_moistc_in" name="moistc" operation="instant" grid_ref="grid_file_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
89    </file>
90   
91    <file id="nudge_snow" name="nudge_snow" type="one_file" mode="read" output_freq="1d">
92      <field  id="snowdz_in" name="snowdz" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
93      <field  id="snowrho_in" name="snowrho" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
94      <field  id="snowtemp_in" name="snowtemp" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
95      <field  id="mask_snow_in" name="snowdz" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
96    </file>
97   
98  </file_definition>
99
100
101  <!-- ========================================================================================================= -->
102  <!-- Definition of all field coming from files but now interpolated to the model grid.                         -->
103  <!-- ========================================================================================================= -->
104
105  <field_definition>
106
107    <field_group enabled="false" read_access="true">
108
109      <field_group id="soil_color" enabled="false">
110        <field id="soilcolor0" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 0 </field>
111        <field id="soilcolor1" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 1 </field>
112        <field id="soilcolor2" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 2 </field>
113        <field id="soilcolor3" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 3 </field>
114        <field id="soilcolor4" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 4 </field>
115        <field id="soilcolor5" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 5 </field>
116        <field id="soilcolor6" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 6 </field>
117        <field id="soilcolor7" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 7 </field>
118        <field id="soilcolor8" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 8 </field>
119        <field id="soilcolor9" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 9 </field>
120      </field_group>
121
122      <field_group id="soil_text" field_ref="soiltext" domain_ref="dom_from_soil" enabled="true" read_access="true">
123        <field id="soiltext1"  > soiltext == 1 </field>
124        <field id="soiltext2"  > soiltext == 2 </field>
125        <field id="soiltext3"  > soiltext == 3 </field>
126        <field id="soiltext4"  > soiltext == 4 </field>
127        <field id="soiltext5"  > soiltext == 5 </field>
128        <field id="soiltext6"  > soiltext == 6 </field>
129        <field id="soiltext7"  > soiltext == 7 </field>
130        <field id="soiltext8"  > soiltext == 8 </field>
131        <field id="soiltext9"  > soiltext == 9 </field>
132        <field id="soiltext10" > soiltext == 10 </field>
133        <field id="soiltext11" > soiltext == 11 </field>
134        <field id="soiltext12" > soiltext == 12 </field>
135        <field id="soiltext13" > soiltext == 13 </field>
136      </field_group>
137     
138      <field id="frac_veget"      field_ref="maxvegetfrac_read" domain_ref="dom_from_pft" read_access="true" enabled="true" />
139      <field id="frac_veget_frac" field_ref="maxvegetfrac_mask" domain_ref="dom_from_pft" read_access="true" enabled="true" />
140
141      <field id="slope_tmp"           field_ref="pente_read"       domain_ref="dom_from_topo"                                  />
142      <field id="frac_slope_interp"   field_ref="mask_pente_read"  domain_ref="dom_from_topo" read_access="true" enabled="true"/>
143      <field id="reinf_slope_interp"                               domain_ref="dom_from_topo" read_access="true" enabled="true"> (frac_slope_interp &gt; $min_sechiba ) ? 1-slope_tmp/(frac_slope_interp+1e-100) : $slope_default </field>
144
145      <field id="bg_alb_vis_tmp"   field_ref="bg_alb_vis_read"  domain_ref="dom_from_albedo"  />
146      <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>
147
148      <field id="bg_alb_nir_tmp"    field_ref="bg_alb_nir_read"  domain_ref="dom_from_albedo"  />
149      <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>
150     
151      <field id="lai_tmp"          field_ref="lai_read"      grid_ref="grid_from_lai" />
152      <field id="frac_lai_interp"  field_ref="mask_lai_read" grid_ref="grid_from_lai" read_access="true" enabled="true" />
153      <field id="lai_interp"       field_ref="lai_tmp"                           read_access="true" enabled="true"  >  lai_tmp/(frac_lai_interp+1e-100) </field>  <!-- renormalize -->
154     
155      <field id="N_qt_WRICE_year_interp"  field_ref="N_qt_WRICE_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
156      <field id="N_qt_OTHER_year_interp"  field_ref="N_qt_OTHER_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
157     
158      <field id="flx_co2_bbg_year_interp"  field_ref="flx_co2_bbg_year_read"  domain_ref="dom_from_bbg_clim" read_access="true" enabled="true" />
159
160      <field id="reftemp_interp"  field_ref="reftemp_read"  domain_ref="dom_from_reftemp" read_access="true" enabled="true" />
161
162      <field id="woodharvest_interp"  field_ref="woodharvest_read"  domain_ref="dom_from_woodharvest" read_access="true" enabled="true" />
163     
164    </field_group>
165
166    <field_group id="orchidee_input_mc" grid_ref="grid_nslm_nstm">
167      <!-- Interpolate the mask. This gives now the fraction of the source area underlaying the model grid cell -->
168      <field id="mask_moistc_interp" field_ref="mask_moistc_in" read_access="true" />
169      <!-- Interpolate the variable. Note that where the source file had missing values, the variables was set to 0. Therefor normalization is needed.     -->
170      <!-- Normalize the interpolated values with the mask which corresponds to the fraction of underlaying valid source grid cells.                       -->
171      <!-- 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. -->
172      <field id="moistc_tmp" field_ref="moistc_in"  />
173      <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>
174    </field_group>
175
176    <field_group id="orchidee_input_snow" grid_ref="grid_nsnow2" >
177      <field id="mask_snow_interp" field_ref="mask_snow_in" read_access="true" />
178      <field id="snowdz_tmp" field_ref="snowdz_in" />
179      <!-- Set snowdz=0 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells      -->
180      <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>
181      <field id="snowrho_tmp" field_ref="snowrho_in" />
182      <!-- Set snowrho=50 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells    -->
183      <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>
184      <field id="snowtemp_tmp" field_ref="snowtemp_in" />
185      <!-- Set snowtemp=273 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells  -->
186      <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>
187    </field_group>
188 
189  </field_definition>
190
191
192
193  <!-- =========================================================================================================== -->
194  <!-- Definition of a horizontal domain for each input file                                                       -->
195  <!-- 2 different domains are specified for each input file X: dom_file_X and dom_from_X                          -->
196  <!--                                                                                                             -->
197  <!-- dom_file_X is the horizontal original grid in the input file. In this domain, specifications to help XIOS   -->
198  <!-- read the grid can be added such as generate_rectilinear_domain                                              -->
199  <!--                                                                                                             -->
200  <!-- dom_from_X describes how to make the interpolation from the file to the model grid. This domain contains    -->
201  <!-- the interpolation methode specific to the file.                                                             -->
202  <!--                                                                                                             -->
203  <!-- If the variable contains more dimensions than the horizontal domain and 1 axis, 2 grids must be specified:  -->
204  <!-- One for the orignial grid in the input file and one for the interpolation to model grid. These two grids    -->
205  <!-- uses 2 domains specified as above.                                                                          -->
206  <!-- We here suppose that the interpolation is only done on the horizontal domain                                -->
207  <!-- =========================================================================================================== -->
208
209  <domain_definition>
210
211    <domain id="dom_file_moistc" type="rectilinear">
212      <generate_rectilinear_domain />
213    </domain>
214   
215    <domain id="dom_file_snow" type="rectilinear">
216      <generate_rectilinear_domain />
217    </domain>
218   
219    <domain id="dom_from_soil" domain_ref="domain_landpoints">
220      <interpolate_domain order="1" renormalize="false"/>
221    </domain>
222
223    <domain id="dom_from_pft" domain_ref="domain_landpoints">
224      <interpolate_domain order="1" renormalize="false" />
225    </domain>
226   
227    <domain id="dom_from_topo" domain_ref="domain_landpoints">
228      <interpolate_domain order="1" renormalize="false" />
229    </domain>
230   
231    <domain id="dom_from_albedo" domain_ref="domain_landpoints">
232      <interpolate_domain order="1" renormalize="true" detect_missing_value="true"/>
233    </domain>
234   
235    <domain id="dom_from_lai" domain_ref="domain_landpoints">
236      <interpolate_domain order="1" renormalize="false" />
237    </domain>
238   
239    <domain id="dom_from_bbg_clim" domain_ref="domain_landpoints">
240      <interpolate_domain order="1" renormalize="false" />
241    </domain>
242   
243    <domain id="dom_from_fertilizer" domain_ref="domain_landpoints">
244      <interpolate_domain order="1" renormalize="false" />
245    </domain>
246   
247    <domain id="dom_from_reftemp" domain_ref="domain_landpoints">
248      <interpolate_domain order="1" renormalize="false" />
249    </domain>
250   
251    <domain id="dom_from_woodharvest" domain_ref="domain_landpoints">
252      <interpolate_domain order="1" renormalize="false" />
253    </domain>
254   
255    <domain id="dom_file_soil" type="rectilinear">
256      <!-- generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="-90" bounds_lat_end="90"/-->
257      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
258    </domain>
259   
260    <domain id="dom_file_pft" type="rectilinear">
261      <generate_rectilinear_domain/>
262    </domain>
263   
264    <domain id="dom_file_topo" type="rectilinear">
265      <generate_rectilinear_domain/>
266    </domain>
267   
268    <domain id="dom_file_albedo" type="rectilinear">
269      <generate_rectilinear_domain />
270    </domain>
271   
272    <domain id="dom_file_lai" type="rectilinear">
273      <generate_rectilinear_domain/>
274    </domain>
275   
276    <domain id="dom_file_bbg_clim" type="rectilinear">
277      <generate_rectilinear_domain/>
278    </domain>
279   
280    <domain id="dom_file_fertilizer" type="rectilinear">
281      <generate_rectilinear_domain/>
282    </domain>
283
284    <domain id="dom_file_reftemp" type="rectilinear">
285      <generate_rectilinear_domain/>
286    </domain>
287
288    <domain id="dom_file_woodharvest" type="rectilinear">
289      <generate_rectilinear_domain/>
290    </domain>
291   
292  </domain_definition>
293
294
295  <!-- =========================================================================================================== -->
296  <!-- Definition of input grids and interpolated grids                                                            -->
297  <!-- =========================================================================================================== -->
298
299  <grid_definition>
300
301    <grid id="grid_file_moistc">
302      <domain domain_ref="dom_file_moistc"/>
303      <axis axis_ref="nslm" />
304      <axis axis_ref="nstm" />
305    </grid> 
306
307    <grid id="grid_file_snow">
308      <domain domain_ref="dom_file_snow"/>
309      <axis axis_ref="nsnow" />
310    </grid> 
311   
312    <grid id="grid_from_lai">
313      <domain domain_ref="dom_from_lai" />
314      <axis axis_ref="nvm" />
315      <axis axis_ref="lai_time" />
316    </grid>
317   
318    <grid id="lai">
319      <domain domain_ref="dom_file_lai" />
320      <axis axis_ref="nvm" />
321      <axis axis_ref="lai_time" />
322    </grid>
323   
324    <grid id="grid_nsnow2">
325      <domain domain_ref="domain_landpoints" >
326        <interpolate_domain order="1"/>
327      </domain>
328      <axis axis_ref="nsnow" />
329    </grid>
330
331  </grid_definition>
332 
333 
334  <!-- =========================================================================================================== -->
335  <!-- Variable denfinition needed for interpolation of input files                                                -->
336  <!-- The values for below variables are set from the fortran code.                                               -->
337  <!-- =========================================================================================================== -->
338
339  <variable_definition>
340   
341    <variable id="slope_default" type="double">xxx</variable>
342    <variable id="slope_noreinf" type="double">xxx</variable>
343    <variable id="min_sechiba" type="double">xxx</variable>
344    <variable id="albbg_vis_default" type="double">xxx</variable>
345    <variable id="albbg_nir_default" type="double">xxx</variable>
346   
347  </variable_definition>
348 
349
350</context>
Note: See TracBrowser for help on using the repository browser.