source: branches/ORCHIDEE_3_CMIP6/ORCHIDEE/src_xml/context_input_orchidee.xml @ 7599

Last change on this file since 7599 was 7017, checked in by nicolas.vuichard, 3 years ago

update for reading raw N deposition data for input4mip

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