source: BOL/LMDZ_Setup/DEF/XMLfilesOR7994/context_input_orchidee.xml @ 5447

Last change on this file since 5447 was 4615, checked in by asima, 18 months ago

Initial import of LMDZ_Setup environment
(former TEST_PROD which was distributed as tutorial_prod.tar).

See also related doc LMDZ_Setup_HowTo (former tutorial_prod_FAQ) :
https://docs.google.com/document/d/1OLZG6e-86NiXuv5-aALxKIh-QPkp4BdCwWtiBFot-6c

This initial import corresponds to TEST_PROD from
https://lmdz.lmd.jussieu.fr/pub/Training/Archive/tutorial_prod.tar_v20230707.

Previous versions of tutorial_prod.tar are available at
https://lmdz.lmd.jussieu.fr/pub/Training/Archive

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: svn://forge.ipsl.jussieu.fr/orchidee/trunk/ORCHIDEE/src_xml/context_input_orchidee.xml $          -->
11<!-- $Date: 2023-04-12 12:35:17 +0200 (mer. 12 avril 2023) $                                                      -->
12<!-- $Revision: 7950 $                                                                                           -->
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="true" read_access="true">
169        <field id="soilcolor1" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 1 </field>
170        <field id="soilcolor2" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 2 </field>
171        <field id="soilcolor3" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 3 </field>
172        <field id="soilcolor4" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 4 </field>
173        <field id="soilcolor5" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 5 </field>
174        <field id="soilcolor6" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 6 </field>
175        <field id="soilcolor7" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 7 </field>
176        <field id="soilcolor8" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 8 </field>
177        <field id="soilcolor9" field_ref="soilcolor" domain_ref="dom_from_soil" > soilcolor == 9 </field>
178      </field_group>
179
180      <field_group id="soil_text" field_ref="soiltext" domain_ref="dom_from_soil" enabled="true" read_access="true">
181        <field id="soiltext1"  > soiltext == 1 </field>
182        <field id="soiltext2"  > soiltext == 2 </field>
183        <field id="soiltext3"  > soiltext == 3 </field>
184        <field id="soiltext4"  > soiltext == 4 </field>
185        <field id="soiltext5"  > soiltext == 5 </field>
186        <field id="soiltext6"  > soiltext == 6 </field>
187        <field id="soiltext7"  > soiltext == 7 </field>
188        <field id="soiltext8"  > soiltext == 8 </field>
189        <field id="soiltext9"  > soiltext == 9 </field>
190        <field id="soiltext10" > soiltext == 10 </field>
191        <field id="soiltext11" > soiltext == 11 </field>
192        <field id="soiltext12" > soiltext == 12 </field>
193        <field id="soiltext13" > soiltext == 13 </field>
194      </field_group>
195     
196      <!-- If soilbulk_mask .gt. min_sechiba, then renormalize by dividing with soilbulk_mask else set bulk_default.
197           soilbulk_mask interpolated to the model grid corresponds to the fraction of the grid cell covered by non-masked
198           values in the input file. Where soilbulk_mask=0, no data where found on the source grid. -->
199      <field id="soilbulk_tmp"  field_ref="soilbulk_read" domain_ref="dom_from_soilbulk" />
200      <field id="soilbulk_mask" field_ref="soilbulk_mask_read" domain_ref="dom_from_soilbulk" read_access="true" enabled="true" />
201      <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>
202
203      <!-- Same as for soilbulk -->
204      <field id="soilph_tmp"    field_ref="soilph_read"      domain_ref="dom_from_soilph" />
205      <field id="soilph_mask"   field_ref="soilph_mask_read" domain_ref="dom_from_soilph" read_access="true" enabled="true" />
206      <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>
207
208      <field id="frac_veget"      field_ref="maxvegetfrac_read" domain_ref="dom_from_pft" read_access="true" enabled="true" />
209      <field id="frac_veget_frac" field_ref="maxvegetfrac_mask" domain_ref="dom_from_pft" read_access="true" enabled="true" />
210
211      <field id="slope_tmp"           field_ref="pente_read"       domain_ref="dom_from_topo"                                  />
212      <field id="frac_slope_interp"   field_ref="mask_pente_read"  domain_ref="dom_from_topo" read_access="true" enabled="true"/>
213      <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>
214
215      <field id="bg_alb_vis_tmp"   field_ref="bg_alb_vis_read"  domain_ref="dom_from_albedo"  />
216      <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>
217
218      <field id="bg_alb_nir_tmp"    field_ref="bg_alb_nir_read"  domain_ref="dom_from_albedo"  />
219      <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>
220     
221      <field id="lai_tmp"          field_ref="lai_read"      grid_ref="grid_from_lai" />
222      <field id="frac_lai_interp"  field_ref="mask_lai_read" grid_ref="grid_from_lai" read_access="true" enabled="true" />
223      <field id="lai_interp"       field_ref="lai_tmp"                           read_access="true" enabled="true"  >  lai_tmp/(frac_lai_interp+1e-100) </field>  <!-- renormalize -->
224     
225      <field id="N_qt_WRICE_year_interp"  field_ref="N_qt_WRICE_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
226      <field id="N_qt_OTHER_year_interp"  field_ref="N_qt_OTHER_year_read"  domain_ref="dom_from_fertilizer" read_access="true" enabled="true" />
227     
228      <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" />
229
230      <field id="reftemp_interp"  field_ref="reftemp_read"  domain_ref="dom_from_reftemp" read_access="true" enabled="true" />
231
232      <field id="woodharvest_interp"  field_ref="woodharvest_read"  domain_ref="dom_from_woodharvest" read_access="true" enabled="true" />
233     
234    </field_group>
235
236    <field_group id="orchidee_input_mc" grid_ref="grid_nslm_nstm">
237      <!-- Interpolate the mask. This gives now the fraction of the source area underlaying the model grid cell -->
238      <field id="mask_moistc_interp" field_ref="mask_moistc_in" read_access="true" />
239      <!-- Interpolate the variable. Note that where the source file had missing values, the variables was set to 0. Therefor normalization is needed.     -->
240      <!-- Normalize the interpolated values with the mask which corresponds to the fraction of underlaying valid source grid cells.                       -->
241      <!-- 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. -->
242      <field id="moistc_tmp" field_ref="moistc_in"  />
243      <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>
244    </field_group>
245
246    <field_group id="orchidee_input_snow" grid_ref="grid_nsnow2" >
247      <field id="mask_snow_interp" field_ref="mask_snow_in" read_access="true" />
248      <field id="snowdz_tmp" field_ref="snowdz_in" />
249      <!-- Set snowdz=0 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells      -->
250      <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>
251      <field id="snowrho_tmp" field_ref="snowrho_in" />
252      <!-- Set snowrho=50 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells    -->
253      <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>
254      <field id="snowtemp_tmp" field_ref="snowtemp_in" />
255      <!-- Set snowtemp=273 where no information found on source grid, for all other points normlize with the fracion of underlaying source grid cells  -->
256      <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>
257    </field_group>
258
259
260
261    <field_group id="ninput"> 
262      <field id="Nammonium_tmp" field_ref="Nammonium_read" domain_ref="dom_from_ammonium" />
263      <field id="frac_Nammonium_tmp" field_ref="mask_Nammonium_read" domain_ref="dom_from_ammonium" />
264      <field id="Nammonium_interp" read_access="true" field_ref="Nammonium_tmp" > Nammonium_tmp/(frac_Nammonium_tmp+1e-100) </field>  <!-- renormalize -->
265
266      <field id="Nnitrate_tmp" field_ref="Nnitrate_read" domain_ref="dom_from_nitrate" />
267      <field id="frac_Nnitrate_tmp" field_ref="mask_Nnitrate_read" domain_ref="dom_from_nitrate" />
268      <field id="Nnitrate_interp" read_access="true" field_ref="Nnitrate_tmp" > Nnitrate_tmp/(frac_Nnitrate_tmp+1e-100) </field>  <!-- renormalize -->
269
270      <field id="Nfert_tmp" field_ref="Nfert_read" domain_ref="dom_from_nfert" />
271      <field id="frac_Nfert_tmp" field_ref="mask_Nfert_read" domain_ref="dom_from_nfert" />
272      <field id="Nfert_interp" read_access="true" field_ref="Nfert_tmp" > Nfert_tmp/(frac_Nfert_tmp+1e-100) </field>  <!-- renormalize -->
273
274      <field id="Nfert_cropland_tmp" field_ref="Nfert_cropland_read" domain_ref="dom_from_nfert_cropland" />
275      <field id="frac_Nfert_cropland_tmp" field_ref="mask_Nfert_cropland_read" domain_ref="dom_from_nfert_cropland" />
276      <field id="Nfert_cropland_interp" read_access="true" field_ref="Nfert_cropland_tmp" > Nfert_cropland_tmp/(frac_Nfert_cropland_tmp+1e-100) </field>  <!-- renormalize -->
277
278      <field id="Nfert_pasture_tmp" field_ref="Nfert_pasture_read" domain_ref="dom_from_nfert_pasture" />
279      <field id="frac_Nfert_pasture_tmp" field_ref="mask_Nfert_pasture_read" domain_ref="dom_from_nfert_pasture" />
280      <field id="Nfert_pasture_interp" read_access="true" field_ref="Nfert_pasture_tmp" > Nfert_pasture_tmp/(frac_Nfert_pasture_tmp+1e-100) </field>  <!-- renormalize -->
281
282      <field id="Nmanure_cropland_tmp" field_ref="Nmanure_cropland_read" domain_ref="dom_from_nmanure_cropland" />
283      <field id="frac_Nmanure_cropland_tmp" field_ref="mask_Nmanure_cropland_read" domain_ref="dom_from_nmanure_cropland" />
284      <field id="Nmanure_cropland_interp" read_access="true" field_ref="Nmanure_cropland_tmp" > Nmanure_cropland_tmp/(frac_Nmanure_cropland_tmp+1e-100) </field>  <!-- renormalize -->
285
286      <field id="Nmanure_pasture_tmp" field_ref="Nmanure_pasture_read" domain_ref="dom_from_nmanure_pasture" />
287      <field id="frac_Nmanure_pasture_tmp" field_ref="mask_Nmanure_pasture_read" domain_ref="dom_from_nmanure_pasture" />
288      <field id="Nmanure_pasture_interp" read_access="true" field_ref="Nmanure_pasture_tmp" > Nmanure_pasture_tmp/(frac_Nmanure_pasture_tmp+1e-100) </field>  <!-- renormalize -->
289
290      <field id="Nbnf_tmp" field_ref="Nbnf_read" domain_ref="dom_from_nbnf" />
291      <field id="frac_Nbnf_tmp" field_ref="mask_Nbnf_read" domain_ref="dom_from_nbnf" />
292      <field id="Nbnf_interp" read_access="true" field_ref="Nbnf_tmp" > Nbnf_tmp/(frac_Nbnf_tmp+1e-100) </field>  <!-- renormalize -->
293    </field_group>
294 
295  </field_definition>
296
297
298
299  <!-- =========================================================================================================== -->
300  <!-- Definition of a horizontal domain for each input file                                                       -->
301  <!-- 2 different domains are specified for each input file X: dom_file_X and dom_from_X                          -->
302  <!--                                                                                                             -->
303  <!-- dom_file_X is the horizontal original grid in the input file. In this domain, specifications to help XIOS   -->
304  <!-- read the grid can be added such as generate_rectilinear_domain                                              -->
305  <!--                                                                                                             -->
306  <!-- dom_from_X describes how to make the interpolation from the file to the model grid. This domain contains    -->
307  <!-- the interpolation methode specific to the file.                                                             -->
308  <!--                                                                                                             -->
309  <!-- If the variable contains more dimensions than the horizontal domain and 1 axis, 2 grids must be specified:  -->
310  <!-- One for the orignial grid in the input file and one for the interpolation to model grid. These two grids    -->
311  <!-- uses 2 domains specified as above.                                                                          -->
312  <!-- We here suppose that the interpolation is only done on the horizontal domain                                -->
313  <!-- =========================================================================================================== -->
314
315  <domain_definition>
316
317    <domain id="dom_file_moistc" type="rectilinear">
318      <generate_rectilinear_domain />
319    </domain>
320
321    <domain id="dom_file_snow" type="rectilinear">
322      <generate_rectilinear_domain />
323    </domain>
324   
325    <domain id="dom_from_soil" domain_ref="domain_landpoints">
326      <interpolate_domain order="1" renormalize="false"/>
327    </domain>
328   
329    <domain id="dom_from_soilbulk" domain_ref="domain_landpoints">
330      <interpolate_domain order="1" renormalize="false" />
331    </domain>
332
333    <domain id="dom_from_soilph" domain_ref="domain_landpoints">
334      <interpolate_domain order="1" renormalize="false" />
335    </domain>
336       
337    <domain id="dom_from_pft" domain_ref="domain_landpoints">
338      <interpolate_domain order="1" renormalize="false" />
339    </domain>
340   
341    <domain id="dom_from_topo" domain_ref="domain_landpoints">
342      <interpolate_domain order="1" renormalize="false" />
343    </domain>
344   
345    <domain id="dom_from_albedo" domain_ref="domain_landpoints">
346      <interpolate_domain order="1" renormalize="true" detect_missing_value="true"/>
347    </domain>
348   
349    <domain id="dom_from_lai" domain_ref="domain_landpoints">
350      <interpolate_domain order="1" renormalize="false" />
351    </domain>
352   
353    <domain id="dom_from_bbg_clim" domain_ref="domain_landpoints">
354      <interpolate_domain order="1" renormalize="false" />
355    </domain>
356   
357    <domain id="dom_from_fertilizer" domain_ref="domain_landpoints">
358      <interpolate_domain order="1" renormalize="false" />
359    </domain>
360   
361    <domain id="dom_from_reftemp" domain_ref="domain_landpoints">
362      <interpolate_domain order="1" renormalize="false" />
363    </domain>
364   
365    <domain id="dom_from_woodharvest" domain_ref="domain_landpoints">
366      <interpolate_domain order="1" renormalize="false" />
367    </domain>
368
369
370    <domain id="dom_from_ammonium" domain_ref="domain_landpoints">
371      <interpolate_domain order="1" renormalize="false" />
372    </domain>
373
374    <domain id="dom_from_nitrate" domain_ref="domain_landpoints">
375      <interpolate_domain order="1" renormalize="false" />
376    </domain>
377
378    <domain id="dom_from_nfert" domain_ref="domain_landpoints">
379      <interpolate_domain order="1" renormalize="false" />
380    </domain>
381
382    <domain id="dom_from_nfert_cropland" domain_ref="domain_landpoints">
383      <interpolate_domain order="1" renormalize="false" />
384    </domain>
385
386    <domain id="dom_from_nfert_pasture" domain_ref="domain_landpoints">
387      <interpolate_domain order="1" renormalize="false" />
388    </domain>
389
390    <domain id="dom_from_nmanure_cropland" domain_ref="domain_landpoints">
391      <interpolate_domain order="1" renormalize="false" />
392    </domain>
393
394    <domain id="dom_from_nmanure_pasture" domain_ref="domain_landpoints">
395      <interpolate_domain order="1" renormalize="false" />
396    </domain>
397
398    <domain id="dom_from_nbnf" domain_ref="domain_landpoints">
399      <interpolate_domain order="1" renormalize="false" />
400    </domain>
401
402
403   
404    <domain id="dom_file_soil" type="rectilinear">
405      <!-- generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="-90" bounds_lat_end="90"/-->
406      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
407    </domain>
408
409    <domain id="dom_file_soilbulk" type="rectilinear">
410      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>/>
411    </domain>
412
413    <domain id="dom_file_soilph" type="rectilinear">
414      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>/>
415    </domain>
416   
417    <domain id="dom_file_pft" type="rectilinear">
418      <generate_rectilinear_domain/>
419    </domain>
420   
421    <domain id="dom_file_topo" type="rectilinear">
422      <generate_rectilinear_domain/>
423    </domain>
424   
425    <domain id="dom_file_albedo" type="rectilinear">
426      <generate_rectilinear_domain />
427    </domain>
428   
429    <domain id="dom_file_lai" type="rectilinear">
430      <generate_rectilinear_domain/>
431    </domain>
432   
433    <domain id="dom_file_bbg_clim" type="rectilinear">
434      <generate_rectilinear_domain/>
435    </domain>
436   
437    <domain id="dom_file_fertilizer" type="rectilinear">
438      <generate_rectilinear_domain/>
439    </domain>
440
441    <domain id="dom_file_reftemp" type="rectilinear">
442      <generate_rectilinear_domain bounds_lon_start="-180" bounds_lon_end="180" bounds_lat_start="90" bounds_lat_end="-90"/>
443    </domain>
444
445    <domain id="dom_file_woodharvest" type="rectilinear">
446      <generate_rectilinear_domain/>
447    </domain>   
448
449
450
451    <domain id="dom_file_ammonium" type="rectilinear">
452      <generate_rectilinear_domain/>
453    </domain>
454
455    <domain id="dom_file_nitrate" type="rectilinear">
456      <generate_rectilinear_domain/>
457    </domain>
458
459    <domain id="dom_file_nfert" type="rectilinear">
460      <generate_rectilinear_domain/>
461    </domain>
462
463    <domain id="dom_file_nfert_cropland" type="rectilinear">
464      <generate_rectilinear_domain/>
465    </domain>
466
467    <domain id="dom_file_nfert_pasture" type="rectilinear">
468      <generate_rectilinear_domain/>
469    </domain>
470
471    <domain id="dom_file_nmanure_cropland" type="rectilinear">
472      <generate_rectilinear_domain/>
473    </domain>
474
475    <domain id="dom_file_nmanure_pasture" type="rectilinear">
476      <generate_rectilinear_domain/>
477    </domain>
478
479    <domain id="dom_file_nbnf" type="rectilinear">
480      <generate_rectilinear_domain/>
481    </domain>
482
483  </domain_definition>
484
485
486  <!-- =========================================================================================================== -->
487  <!-- Definition of input grids and interpolated grids                                                            -->
488  <!-- =========================================================================================================== -->
489
490  <grid_definition>
491
492    <grid id="grid_file_moistc">
493      <domain domain_ref="dom_file_moistc"/>
494      <axis axis_ref="nslm" />
495      <axis axis_ref="nstm" />
496    </grid> 
497
498    <grid id="grid_file_snow">
499      <domain domain_ref="dom_file_snow"/>
500      <axis axis_ref="nsnow" />
501    </grid> 
502   
503    <grid id="grid_from_lai">
504      <domain domain_ref="dom_from_lai" />
505      <axis axis_ref="nvmap" />
506      <axis axis_ref="lai_time" />
507    </grid>
508   
509    <grid id="lai">
510      <domain domain_ref="dom_file_lai" />
511      <axis axis_ref="nvmap" />
512      <axis axis_ref="lai_time" />
513    </grid>
514   
515    <grid id="grid_nsnow2">
516      <domain domain_ref="domain_landpoints" >
517        <interpolate_domain order="1"/>
518      </domain>
519      <axis axis_ref="nsnow" />
520    </grid>
521
522  </grid_definition>
523 
524 
525  <!-- =========================================================================================================== -->
526  <!-- Variable denfinition needed for interpolation of input files                                                -->
527  <!-- The values for below variables are set from the fortran code.                                               -->
528  <!-- =========================================================================================================== -->
529
530  <variable_definition>
531   
532    <variable id="slope_default" type="double">xxx</variable>
533    <variable id="slope_noreinf" type="double">xxx</variable>
534    <variable id="min_sechiba" type="double">xxx</variable>
535    <variable id="albbg_vis_default" type="double">xxx</variable>
536    <variable id="albbg_nir_default" type="double">xxx</variable>
537    <variable id="bulk_default" type="double">xxx</variable>
538    <variable id="ph_default" type="double">xxx</variable>
539   
540  </variable_definition>
541 
542
543</context>
Note: See TracBrowser for help on using the repository browser.