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