source: tags/ORCHIDEE_4_1/ORCHIDEE/src_xml/context_input_orchidee.xml @ 7852

Last change on this file since 7852 was 7604, checked in by josefine.ghattas, 2 years ago

Remove option to read a total manure file (default is the reading of manure_cropland and manure_pasture). This option is not used anymore. See ticket #472

  • Property svn:keywords set to Date Revision HeadURL
File size: 33.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$          -->
11<!-- $Date$                                                      -->
12<!-- $Revision$                                                                                           -->
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 file names are set from the fortran code using default names or user choosen names read from run.def. -->
21  <!-- The variables are here on the input source grid.                                                          -->
22  <!-- Different treatment are done accordig to the file.                                                        -->
23  <!-- Values higher than 1e10 are for some files considered as missing values and the field is then set to 0.   -->
24  <!-- A normalization are sometimes done with the fraction of the grid cell.                                    -->
25  <!-- Sometimes, if only missing values are found for a grid cell, then a default value is set.                 -->
26  <!-- ========================================================================================================= -->
27 
28  <file_definition>
29
30    <file id="soils_param_file" mode="read" output_freq="1y" enabled="true">
31      <field id="soilcolor" name="soilcolor" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts"/>
32      <field id="soiltext" name="soiltext" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts"/>
33    </file>
34
35      <!-- Default file name: params_sp_mip.nc for both all soil hydraulic parameters. --> 
36      <!--file id="soilparam_file" mode="read" output_freq="1y" enabled="true"--> 
37        <!--field id="soilks" name="soilks" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field-->
38        <!--field id="soilnvan" name="soilnvan" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field--> 
39        <!--field id="soilavan" name="soilavan" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field--> 
40        <!--field id="soilmcr" name="soilmcr" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field-->
41        <!--field id="soilmcs" name="soilmcs" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field--> 
42        <!--field id="soilmcfc" name="soilmcfc" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field--> 
43        <!--field id="soilmcw" name="soilmcw" domain_ref="dom_file_soil" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1e10 : 0 </field--> 
44      <!--/file-->
45   
46    <!-- Default file name: soil_bulk_and_ph.nc for both soilbulk and soilph. The variables can be read from different files, specified in run.def
47         This file is read in the initialization phase only if there is no restart file.
48         For soilbulk and soilph, set values lower than min_sechiba as masked values because missing values are zero in the file.
49         Renormalization will be done later using the interpolated mask.  -->
50    <file id="soilbulk_file" mode="read" output_freq="1y" enabled="true">
51      <field id="soilbulk_mask_read" name="soilbulk" domain_ref="dom_file_soilbulk" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? 1 : 0 </field>
52      <field id="soilbulk_read" name="soilbulk" domain_ref="dom_file_soilbulk" operation="instant" freq_offset="1ts" > this &gt; $min_sechiba ? this : 0 </field>
53    </file>
54
55    <file id="soilph_file" mode="read" output_freq="1y" enabled="true">
56      <field id="soilph_mask_read" name="soilph" domain_ref="dom_file_soilph" operation="instant" freq_offset="1ts" > this &gt; 0.1 ? 1 : 0 </field>
57      <field id="soilph_read" name="soilph" domain_ref="dom_file_soilph" operation="instant" freq_offset="1ts" > this &gt; 0.1 ? this : 0 </field>
58    </file>
59
60    <!-- Default file name: PFTmap.nc -->
61    <file  id="PFTmap_file"  mode="read" output_freq="1y">
62      <field id="maxvegetfrac_read"  name="maxvegetfrac" domain_ref="dom_file_pft" axis_ref="nvmap" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? this : 0 </field>
63      <field id="maxvegetfrac_mask"  name="maxvegetfrac" domain_ref="dom_file_pft" axis_ref="nvmap" operation="instant"  freq_offset="1ts"> this &lt; 1e10 ? 1 : 0 </field>
64    </file>
65   
66    <!-- Default file name: cartepente2d_15min.nc -->
67    <file id="topography_file"  mode="read" output_freq="1y">
68      <!--      <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 -->
69      <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>
70      <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 -->
71    </file>
72   
73    <file id="albedo_file" mode="read" output_freq="1y">
74      <field id="mask_alb_read"    name="mask"       domain_ref="dom_file_albedo"  operation="instant"  freq_offset="1ts" />
75      <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>
76      <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>
77    </file>
78   
79    <file id="lai_file" mode="read" output_freq="1y" time_counter_name="toto" cyclic="true">
80      <field id="lai_read"       name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : this </field>
81      <field id="mask_lai_read"  name="LAI" grid_ref="lai" operation="instant"  freq_offset="1ts" > this &gt; 20 ? 0 : 1    </field>  <!-- create mask -->
82    </file>
83
84    <file id="fertilizer_file" mode="read" output_freq="1y" cyclic="true">
85      <field id="N_qt_OTHER_year_read"  name="N_qt_OTHER_year" domain_ref="dom_file_fertilizer" operation="instant"  freq_offset="1ts"/>
86      <field id="N_qt_WRICE_year_read"  name="N_qt_WRICE_year" domain_ref="dom_file_fertilizer" operation="instant"  freq_offset="1ts"/>
87    </file>
88   
89    <file id="bbg_clim_file" mode="read" output_freq="1y" cyclic="true">
90      <field id="flx_co2_bbg_year_read"  name="flx_co2_bbg_year" domain_ref="dom_file_bbg_clim" operation="instant"  freq_offset="1ts"/>
91    </file>
92   
93    <file id="reftemp_file" mode="read" output_freq="1y" cyclic="true">
94      <field id="reftemp_read"  name="temperature" domain_ref="dom_file_reftemp" operation="instant"  freq_offset="1ts"/>
95    </file>
96   
97    <file id="woodharvest_file" mode="read" output_freq="1y" cyclic="true">
98      <field id="woodharvest_read"  name="woodharvest" domain_ref="dom_file_woodharvest" operation="instant"  freq_offset="1ts"/>
99    </file>
100   
101       
102    <file id="nudge_moistc" name="nudge_moistc" type="one_file" mode="read" output_freq="1d">
103      <field  id="moistc_in" name="moistc" operation="instant" grid_ref="grid_file_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
104      <field  id="mask_moistc_in" name="moistc" operation="instant" grid_ref="grid_file_moistc" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
105    </file>
106   
107    <file id="nudge_snow" name="nudge_snow" type="one_file" mode="read" output_freq="1d">
108      <field  id="snowdz_in" name="snowdz" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
109      <field  id="snowrho_in" name="snowrho" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
110      <field  id="snowtemp_in" name="snowtemp" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : this </field>
111      <field  id="mask_snow_in" name="snowdz" operation="instant" grid_ref="grid_file_snow" freq_offset="1ts" > (this &gt; 1e10) ? 0 : 1 </field>
112    </file>
113
114
115
116    <file id="Nammonium_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
117      <field id="Nammonium_read" domain_ref="dom_file_ammonium" axis_ref="time12" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
118      <field id="mask_Nammonium_read" domain_ref="dom_file_ammonium" axis_ref="time12" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
119    </file>
120
121    <file id="Nnitrate_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
122      <field id="Nnitrate_read" domain_ref="dom_file_nitrate" axis_ref="time12" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
123      <field id="mask_Nnitrate_read" domain_ref="dom_file_nitrate" axis_ref="time12" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
124    </file>
125
126    <file id="Nfert_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true" >
127      <field id="Nfert_read" name="nfer" domain_ref="dom_file_nfert" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
128      <field id="mask_Nfert_read" name="nfer" domain_ref="dom_file_nfert" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
129    </file>
130
131    <file id="Nfert_cropland_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
132      <field id="Nfert_cropland_read" domain_ref="dom_file_nfert_cropland" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
133      <field id="mask_Nfert_cropland_read" domain_ref="dom_file_nfert_cropland" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
134    </file>
135
136    <file id="Nfert_pasture_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true" >
137      <field id="Nfert_pasture_read" domain_ref="dom_file_nfert_pasture" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
138      <field id="mask_Nfert_pasture_read" domain_ref="dom_file_nfert_pasture" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
139    </file>
140
141    <file id="Nmanure_cropland_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
142      <field id="Nmanure_cropland_read" domain_ref="dom_file_nmanure_cropland" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
143      <field id="mask_Nmanure_cropland_read" domain_ref="dom_file_nmanure_cropland" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
144    </file>
145
146    <file id="Nmanure_pasture_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
147      <field id="Nmanure_pasture_read" domain_ref="dom_file_nmanure_pasture" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : this </field>
148      <field id="mask_Nmanure_pasture_read" domain_ref="dom_file_nmanure_pasture" axis_ref="time1" operation="instant"  freq_offset="1ts" > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
149    </file>
150
151    <file id="Nbnf_file" mode="read" output_freq="1y" time_counter_name="dummy" cyclic="true">
152      <field id="Nbnf_read" domain_ref="dom_file_nbnf" axis_ref="time1" operation="instant"  freq_offset="1ts"  > this &lt; -100 ? 0 : this </field>
153      <field id="mask_Nbnf_read" domain_ref="dom_file_nbnf" axis_ref="time1" operation="instant"  freq_offset="1ts"  > this &lt; -100 ? 0 : 1 </field> <!-- create mask -->
154    </file>
155
156   
157  </file_definition>
158
159
160  <!-- ========================================================================================================= -->
161  <!-- Definition of all field coming from files but now interpolated to the model grid.                         -->
162  <!-- ========================================================================================================= -->
163
164  <field_definition>
165
166    <field_group enabled="false" read_access="true">
167
168      <field_group id="soil_color" enabled="false">
169        <field id="soilcolor0" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 0 </field>
170        <field id="soilcolor1" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 1 </field>
171        <field id="soilcolor2" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 2 </field>
172        <field id="soilcolor3" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 3 </field>
173        <field id="soilcolor4" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 4 </field>
174        <field id="soilcolor5" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 5 </field>
175        <field id="soilcolor6" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 6 </field>
176        <field id="soilcolor7" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 7 </field>
177        <field id="soilcolor8" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 8 </field>
178        <field id="soilcolor9" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 9 </field>
179      </field_group>
180
181      <field_group id="soil_text" field_ref="soiltext" domain_ref="dom_from_soil" enabled="true" read_access="true">
182        <field id="soiltext1"  > soiltext == 1 </field>
183        <field id="soiltext2"  > soiltext == 2 </field>
184        <field id="soiltext3"  > soiltext == 3 </field>
185        <field id="soiltext4"  > soiltext == 4 </field>
186        <field id="soiltext5"  > soiltext == 5 </field>
187        <field id="soiltext6"  > soiltext == 6 </field>
188        <field id="soiltext7"  > soiltext == 7 </field>
189        <field id="soiltext8"  > soiltext == 8 </field>
190        <field id="soiltext9"  > soiltext == 9 </field>
191        <field id="soiltext10" > soiltext == 10 </field>
192        <field id="soiltext11" > soiltext == 11 </field>
193        <field id="soiltext12" > soiltext == 12 </field>
194        <field id="soiltext13" > soiltext == 13 </field>
195      </field_group>
196     
197      <!-- If soilbulk_mask .gt. min_sechiba, then renormalize by dividing with soilbulk_mask else set bulk_default.
198           soilbulk_mask interpolated to the model grid corresponds to the fraction of the grid cell covered by non-masked
199           values in the input file. Where soilbulk_mask=0, no data where found on the source grid. -->
200      <field id="soilbulk_tmp"  field_ref="soilbulk_read" domain_ref="dom_from_soilbulk" />
201      <field id="soilbulk_mask" field_ref="soilbulk_mask_read" domain_ref="dom_from_soilbulk" read_access="true" enabled="true" />
202      <field id="soilbulk"      field_ref="soilbulk_tmp"  domain_ref="dom_from_soilbulk" read_access="true" enabled="true"  > soilbulk_mask &gt; $min_sechiba ? soilbulk_tmp/(soilbulk_mask+1e-100) : $bulk_default </field>
203
204      <!-- Same as for soilbulk -->
205      <field id="soilph_tmp"    field_ref="soilph_read"      domain_ref="dom_from_soilph" />
206      <field id="soilph_mask"   field_ref="soilph_mask_read" domain_ref="dom_from_soilph" read_access="true" enabled="true" />
207      <field id="soilph"      field_ref="soilph_tmp"  domain_ref="dom_from_soilph" read_access="true" enabled="true"  > soilph_mask &gt; $min_sechiba ? soilph_tmp/(soilph_mask+1e-100) : $ph_default </field>
208
209      <field id="frac_veget"      field_ref="maxvegetfrac_read" domain_ref="dom_from_pft" read_access="true" enabled="true" />
210      <field id="frac_veget_frac" field_ref="maxvegetfrac_mask" domain_ref="dom_from_pft" read_access="true" enabled="true" />
211
212      <field id="slope_tmp"           field_ref="pente_read"       domain_ref="dom_from_topo"                                  />
213      <field id="frac_slope_interp"   field_ref="mask_pente_read"  domain_ref="dom_from_topo" read_access="true" enabled="true"/>
214      <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>
215
216      <field id="bg_alb_vis_tmp"   field_ref="bg_alb_vis_read"  domain_ref="dom_from_albedo"  />
217      <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>
218
219      <field id="bg_alb_nir_tmp"    field_ref="bg_alb_nir_read"  domain_ref="dom_from_albedo"  />
220      <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>
221     
222      <field id="lai_tmp"          field_ref="lai_read"      grid_ref="grid_from_lai" />
223      <field id="frac_lai_interp"  field_ref="mask_lai_read" grid_ref="grid_from_lai" read_access="true" enabled="true" />
224      <field id="lai_interp"       field_ref="lai_tmp"                           read_access="true" enabled="true"  >  lai_tmp/(frac_lai_interp+1e-100) </field>  <!-- renormalize -->
225     
226      <field id="N_qt_WRICE_year_interp"  field_ref="N_qt_WRICE_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
227      <field id="N_qt_OTHER_year_interp"  field_ref="N_qt_OTHER_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
228     
229      <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" />
230
231      <field id="reftemp_interp"  field_ref="reftemp_read"  domain_ref="dom_from_reftemp" read_access="true" enabled="true" />
232
233      <field id="woodharvest_interp"  field_ref="woodharvest_read"  domain_ref="dom_from_woodharvest" read_access="true" enabled="true" />
234     
235    </field_group>
236
237    <field_group id="orchidee_input_mc" grid_ref="grid_nslm_nstm">
238      <!-- Interpolate the mask. This gives now the fraction of the source area underlaying the model grid cell -->
239      <field id="mask_moistc_interp" field_ref="mask_moistc_in" read_access="true" />
240      <!-- Interpolate the variable. Note that where the source file had missing values, the variables was set to 0. Therefor normalization is needed.     -->
241      <!-- Normalize the interpolated values with the mask which corresponds to the fraction of underlaying valid source grid cells.                       -->
242      <!-- 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. -->
243      <field id="moistc_tmp" field_ref="moistc_in"  />
244      <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>
245    </field_group>
246
247    <field_group id="orchidee_input_snow" grid_ref="grid_nsnow2" >
248      <field id="mask_snow_interp" field_ref="mask_snow_in" read_access="true" />
249      <field id="snowdz_tmp" field_ref="snowdz_in" />
250      <!-- Set snowdz=0 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells      -->
251      <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>
252      <field id="snowrho_tmp" field_ref="snowrho_in" />
253      <!-- Set snowrho=50 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells    -->
254      <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>
255      <field id="snowtemp_tmp" field_ref="snowtemp_in" />
256      <!-- Set snowtemp=273 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells  -->
257      <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>
258    </field_group>
259
260
261
262    <field_group id="ninput"> 
263      <field id="Nammonium_tmp" field_ref="Nammonium_read" domain_ref="dom_from_ammonium" />
264      <field id="frac_Nammonium_tmp" field_ref="mask_Nammonium_read" domain_ref="dom_from_ammonium" />
265      <field id="Nammonium_interp" read_access="true" field_ref="Nammonium_tmp" > Nammonium_tmp/(frac_Nammonium_tmp+1e-100) </field>  <!-- renormalize -->
266
267      <field id="Nnitrate_tmp" field_ref="Nnitrate_read" domain_ref="dom_from_nitrate" />
268      <field id="frac_Nnitrate_tmp" field_ref="mask_Nnitrate_read" domain_ref="dom_from_nitrate" />
269      <field id="Nnitrate_interp" read_access="true" field_ref="Nnitrate_tmp" > Nnitrate_tmp/(frac_Nnitrate_tmp+1e-100) </field>  <!-- renormalize -->
270
271      <field id="Nfert_tmp" field_ref="Nfert_read" domain_ref="dom_from_nfert" />
272      <field id="frac_Nfert_tmp" field_ref="mask_Nfert_read" domain_ref="dom_from_nfert" />
273      <field id="Nfert_interp" read_access="true" field_ref="Nfert_tmp" > Nfert_tmp/(frac_Nfert_tmp+1e-100) </field>  <!-- renormalize -->
274
275      <field id="Nfert_cropland_tmp" field_ref="Nfert_cropland_read" domain_ref="dom_from_nfert_cropland" />
276      <field id="frac_Nfert_cropland_tmp" field_ref="mask_Nfert_cropland_read" domain_ref="dom_from_nfert_cropland" />
277      <field id="Nfert_cropland_interp" read_access="true" field_ref="Nfert_cropland_tmp" > Nfert_cropland_tmp/(frac_Nfert_cropland_tmp+1e-100) </field>  <!-- renormalize -->
278
279      <field id="Nfert_pasture_tmp" field_ref="Nfert_pasture_read" domain_ref="dom_from_nfert_pasture" />
280      <field id="frac_Nfert_pasture_tmp" field_ref="mask_Nfert_pasture_read" domain_ref="dom_from_nfert_pasture" />
281      <field id="Nfert_pasture_interp" read_access="true" field_ref="Nfert_pasture_tmp" > Nfert_pasture_tmp/(frac_Nfert_pasture_tmp+1e-100) </field>  <!-- renormalize -->
282
283      <field id="Nmanure_cropland_tmp" field_ref="Nmanure_cropland_read" domain_ref="dom_from_nmanure_cropland" />
284      <field id="frac_Nmanure_cropland_tmp" field_ref="mask_Nmanure_cropland_read" domain_ref="dom_from_nmanure_cropland" />
285      <field id="Nmanure_cropland_interp" read_access="true" field_ref="Nmanure_cropland_tmp" > Nmanure_cropland_tmp/(frac_Nmanure_cropland_tmp+1e-100) </field>  <!-- renormalize -->
286
287      <field id="Nmanure_pasture_tmp" field_ref="Nmanure_pasture_read" domain_ref="dom_from_nmanure_pasture" />
288      <field id="frac_Nmanure_pasture_tmp" field_ref="mask_Nmanure_pasture_read" domain_ref="dom_from_nmanure_pasture" />
289      <field id="Nmanure_pasture_interp" read_access="true" field_ref="Nmanure_pasture_tmp" > Nmanure_pasture_tmp/(frac_Nmanure_pasture_tmp+1e-100) </field>  <!-- renormalize -->
290
291      <field id="Nbnf_tmp" field_ref="Nbnf_read" domain_ref="dom_from_nbnf" />
292      <field id="frac_Nbnf_tmp" field_ref="mask_Nbnf_read" domain_ref="dom_from_nbnf" />
293      <field id="Nbnf_interp" read_access="true" field_ref="Nbnf_tmp" > Nbnf_tmp/(frac_Nbnf_tmp+1e-100) </field>  <!-- renormalize -->
294    </field_group>
295 
296  </field_definition>
297
298
299
300  <!-- =========================================================================================================== -->
301  <!-- Definition of a horizontal domain for each input file                                                       -->
302  <!-- 2 different domains are specified for each input file X: dom_file_X and dom_from_X                          -->
303  <!--                                                                                                             -->
304  <!-- dom_file_X is the horizontal original grid in the input file. In this domain, specifications to help XIOS   -->
305  <!-- read the grid can be added such as generate_rectilinear_domain                                              -->
306  <!--                                                                                                             -->
307  <!-- dom_from_X describes how to make the interpolation from the file to the model grid. This domain contains    -->
308  <!-- the interpolation methode specific to the file.                                                             -->
309  <!--                                                                                                             -->
310  <!-- If the variable contains more dimensions than the horizontal domain and 1 axis, 2 grids must be specified:  -->
311  <!-- One for the orignial grid in the input file and one for the interpolation to model grid. These two grids    -->
312  <!-- uses 2 domains specified as above.                                                                          -->
313  <!-- We here suppose that the interpolation is only done on the horizontal domain                                -->
314  <!-- =========================================================================================================== -->
315
316  <domain_definition>
317
318    <domain id="dom_file_moistc" type="rectilinear">
319      <generate_rectilinear_domain />
320    </domain>
321
322    <domain id="dom_file_snow" type="rectilinear">
323      <generate_rectilinear_domain />
324    </domain>
325   
326    <domain id="dom_from_soil" domain_ref="domain_landpoints">
327      <interpolate_domain order="1" renormalize="false"/>
328    </domain>
329   
330    <domain id="dom_from_soilbulk" domain_ref="domain_landpoints">
331      <interpolate_domain order="1" renormalize="false" />
332    </domain>
333
334    <domain id="dom_from_soilph" domain_ref="domain_landpoints">
335      <interpolate_domain order="1" renormalize="false" />
336    </domain>
337       
338    <domain id="dom_from_pft" domain_ref="domain_landpoints">
339      <interpolate_domain order="1" renormalize="false" />
340    </domain>
341   
342    <domain id="dom_from_topo" domain_ref="domain_landpoints">
343      <interpolate_domain order="1" renormalize="false" />
344    </domain>
345   
346    <domain id="dom_from_albedo" domain_ref="domain_landpoints">
347      <interpolate_domain order="1" renormalize="true" detect_missing_value="true"/>
348    </domain>
349   
350    <domain id="dom_from_lai" domain_ref="domain_landpoints">
351      <interpolate_domain order="1" renormalize="false" />
352    </domain>
353   
354    <domain id="dom_from_bbg_clim" domain_ref="domain_landpoints">
355      <interpolate_domain order="1" renormalize="false" />
356    </domain>
357   
358    <domain id="dom_from_fertilizer" domain_ref="domain_landpoints">
359      <interpolate_domain order="1" renormalize="false" />
360    </domain>
361   
362    <domain id="dom_from_reftemp" domain_ref="domain_landpoints">
363      <interpolate_domain order="1" renormalize="false" />
364    </domain>
365   
366    <domain id="dom_from_woodharvest" domain_ref="domain_landpoints">
367      <interpolate_domain order="1" renormalize="false" />
368    </domain>
369
370
371    <domain id="dom_from_ammonium" domain_ref="domain_landpoints">
372      <interpolate_domain order="1" renormalize="false" />
373    </domain>
374
375    <domain id="dom_from_nitrate" domain_ref="domain_landpoints">
376      <interpolate_domain order="1" renormalize="false" />
377    </domain>
378
379    <domain id="dom_from_nfert" domain_ref="domain_landpoints">
380      <interpolate_domain order="1" renormalize="false" />
381    </domain>
382
383    <domain id="dom_from_nfert_cropland" domain_ref="domain_landpoints">
384      <interpolate_domain order="1" renormalize="false" />
385    </domain>
386
387    <domain id="dom_from_nfert_pasture" domain_ref="domain_landpoints">
388      <interpolate_domain order="1" renormalize="false" />
389    </domain>
390
391    <domain id="dom_from_nmanure_cropland" domain_ref="domain_landpoints">
392      <interpolate_domain order="1" renormalize="false" />
393    </domain>
394
395    <domain id="dom_from_nmanure_pasture" domain_ref="domain_landpoints">
396      <interpolate_domain order="1" renormalize="false" />
397    </domain>
398
399    <domain id="dom_from_nbnf" domain_ref="domain_landpoints">
400      <interpolate_domain order="1" renormalize="false" />
401    </domain>
402
403
404   
405    <domain id="dom_file_soil" type="rectilinear">
406      <!-- generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="-90" bounds_lat_end="90"/-->
407      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
408    </domain>
409
410    <domain id="dom_file_soilbulk" type="rectilinear">
411      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>/>
412    </domain>
413
414    <domain id="dom_file_soilph" type="rectilinear">
415      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>/>
416    </domain>
417   
418    <domain id="dom_file_pft" type="rectilinear">
419      <generate_rectilinear_domain/>
420    </domain>
421   
422    <domain id="dom_file_topo" type="rectilinear">
423      <generate_rectilinear_domain/>
424    </domain>
425   
426    <domain id="dom_file_albedo" type="rectilinear">
427      <generate_rectilinear_domain />
428    </domain>
429   
430    <domain id="dom_file_lai" type="rectilinear">
431      <generate_rectilinear_domain/>
432    </domain>
433   
434    <domain id="dom_file_bbg_clim" type="rectilinear">
435      <generate_rectilinear_domain/>
436    </domain>
437   
438    <domain id="dom_file_fertilizer" type="rectilinear">
439      <generate_rectilinear_domain/>
440    </domain>
441
442    <domain id="dom_file_reftemp" type="rectilinear">
443      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
444    </domain>
445
446    <domain id="dom_file_woodharvest" type="rectilinear">
447      <generate_rectilinear_domain/>
448    </domain>   
449
450
451
452    <domain id="dom_file_ammonium" type="rectilinear">
453      <generate_rectilinear_domain/>
454    </domain>
455
456    <domain id="dom_file_nitrate" type="rectilinear">
457      <generate_rectilinear_domain/>
458    </domain>
459
460    <domain id="dom_file_nfert" type="rectilinear">
461      <generate_rectilinear_domain/>
462    </domain>
463
464    <domain id="dom_file_nfert_cropland" type="rectilinear">
465      <generate_rectilinear_domain/>
466    </domain>
467
468    <domain id="dom_file_nfert_pasture" type="rectilinear">
469      <generate_rectilinear_domain/>
470    </domain>
471
472    <domain id="dom_file_nmanure_cropland" type="rectilinear">
473      <generate_rectilinear_domain/>
474    </domain>
475
476    <domain id="dom_file_nmanure_pasture" type="rectilinear">
477      <generate_rectilinear_domain/>
478    </domain>
479
480    <domain id="dom_file_nbnf" type="rectilinear">
481      <generate_rectilinear_domain/>
482    </domain>
483
484  </domain_definition>
485
486
487  <!-- =========================================================================================================== -->
488  <!-- Definition of input grids and interpolated grids                                                            -->
489  <!-- =========================================================================================================== -->
490
491  <grid_definition>
492
493    <grid id="grid_file_moistc">
494      <domain domain_ref="dom_file_moistc"/>
495      <axis axis_ref="nslm" />
496      <axis axis_ref="nstm" />
497    </grid> 
498
499    <grid id="grid_file_snow">
500      <domain domain_ref="dom_file_snow"/>
501      <axis axis_ref="nsnow" />
502    </grid> 
503   
504    <grid id="grid_from_lai">
505      <domain domain_ref="dom_from_lai" />
506      <axis axis_ref="nvmap" />
507      <axis axis_ref="lai_time" />
508    </grid>
509   
510    <grid id="lai">
511      <domain domain_ref="dom_file_lai" />
512      <axis axis_ref="nvmap" />
513      <axis axis_ref="lai_time" />
514    </grid>
515   
516    <grid id="grid_nsnow2">
517      <domain domain_ref="domain_landpoints" >
518        <interpolate_domain order="1"/>
519      </domain>
520      <axis axis_ref="nsnow" />
521    </grid>
522
523  </grid_definition>
524 
525 
526  <!-- =========================================================================================================== -->
527  <!-- Variable denfinition needed for interpolation of input files                                                -->
528  <!-- The values for below variables are set from the fortran code.                                               -->
529  <!-- =========================================================================================================== -->
530
531  <variable_definition>
532   
533    <variable id="slope_default" type="double">xxx</variable>
534    <variable id="slope_noreinf" type="double">xxx</variable>
535    <variable id="min_sechiba" type="double">xxx</variable>
536    <variable id="albbg_vis_default" type="double">xxx</variable>
537    <variable id="albbg_nir_default" type="double">xxx</variable>
538    <variable id="bulk_default" type="double">xxx</variable>
539    <variable id="ph_default" type="double">xxx</variable>
540   
541  </variable_definition>
542 
543
544</context>
Note: See TracBrowser for help on using the repository browser.