The ''context dynamico.xml'' Input File

From Planets
Jump to: navigation, search

This file contains some definitions for the DYNAMICO start.nc (including interpolation) and restart files.

It should look something like this:

  1 <!-- =========================================================================================================== -->
  2 <!-- DYNAMICO context                                                                                            -->
  3 <!-- context_dynamico.xml : Configuration file for DYNAMICO for reading and writing  files using XIOS            -->
  4 <!--                                                                                                             -->
  5 <!-- =========================================================================================================== -->
  6 
  7 <context id="icosagcm" >
  8   <calendar type="d360" start_date="2000-01-01 00:00:00" time_origin="2000-01-01 00:00:00"/>
  9   
 10   <!-- =========================================================================================================== -->
 11   <!-- Definition of all existing variables in field_def_dynamico.xml                                              -->
 12   <!-- =========================================================================================================== -->
 13   <field_definition src="./field_def_dynamico.xml" />
 14 
 15 
 16   <!-- =========================================================================================================== -->
 17   <!-- Definition of restart files and other input files                                                           -->
 18   <!-- =========================================================================================================== -->
 19   <file_definition type="one_file" par_access="collective">
 20 
 21     <file id="output" name="output" enabled=".FALSE."  output_freq="2h" sync_freq="2h" output_level="10" >
 22       <field_group group_ref="standard_output"/>
 23     </file>
 24 
 25   <!-- =========================================================================================================== -->
 26   <!-- Writing restart file                                                                                         -->
 27   <!-- =========================================================================================================== -->
 28 
 29     <file id="restart"  enabled="true">
 30        <field_group id="group_restart" operation="once"> 
 31           <field id="it_restart" name="iteration"  grid_ref="scalar" />
 32           <field id="q_restart" name="q"  grid_ref="grid_q" prec="8"/>
 33      
 34           <field_group domain_ref="i" prec="8"> 
 35              <field id="xcell_restart" name="xcell" />
 36              <field id="ycell_restart" name="ycell" />
 37              <field id="zcell_restart" name="zcell" />
 38              <field id="ps_restart" name="ps" />
 39              <field id="phis_restart" name="phis" />
 40              <field_group axis_ref="lev" >
 41                 <field id="theta_rhodz_restart" name="theta_rhodz" />
 42                 <field id="u_restart" name="u" domain_ref="u"/>
 43                 <field id="ulon_restart" name="ulon" />
 44                 <field id="ulat_restart" name="ulat" />
 45                 <field id="p_restart" name="p" />
 46                
 47                 <field_group id="tracers_restart">
 48                   <!-- tracers will be add atomatically here-->
 49                 </field_group>
 50              
 51              </field_group>
 52 
 53              <field_group axis_ref="levp1" >
 54                <field id="geopot_restart" name="geopot" />
 55                <field id="W_restart" name="W" />
 56              </field_group>
 57 
 58           </field_group>
 59        </field_group>
 60     </file>
 61 
 62    <!-- =========================================================================================================== -->
 63    <!-- Writing initial state file (when not previously read from start file)                                       -->
 64    <!-- =========================================================================================================== -->
 65   
 66    <file id="start0"  mode="write" enabled="false">
 67        <field_group id="group_start0" operation="once"> 
 68           <field id="it_start0" name="iteration"  grid_ref="scalar" />
 69           <field id="q_start0" name="q"  grid_ref="grid_q" prec="8"/>
 70      
 71           <field_group domain_ref="i" prec="8"> 
 72              <field id="xcell_start0" name="xcell" />
 73              <field id="ycell_start0" name="ycell" />
 74              <field id="zcell_start0" name="zcell" />
 75              <field id="ps_start0" name="ps" />
 76              <field id="phis_start0" name="phis" />
 77              <field_group axis_ref="lev" >
 78                 <field id="theta_rhodz_start0" name="theta_rhodz" />
 79                 <field id="u_start0" name="u" domain_ref="u"/>
 80                 <field id="ulon_start0" name="ulon" />
 81                 <field id="ulat_start0" name="ulat" />
 82                 <field id="p_start0" name="p" />
 83                
 84                 <field_group id="tracers_start0">
 85                   <!-- tracers will be add atomatically here-->
 86                 </field_group>
 87                           
 88              </field_group>
 89           </field_group>
 90        </field_group>
 91     </file>
 92 
 93    <!-- =========================================================================================================== -->
 94    <!-- reading start file                                                                                          -->
 95    <!-- =========================================================================================================== -->
 96 
 97     <file id="start" enabled="false" mode="read">
 98        <field_group id="group_start" operation="once"> 
 99           <field id="it_start" name="iteration"  grid_ref="scalar" />
100           <field_group domain_ref="i" prec="8"> 
101 	    
102             <field id="xcell_start" name="xcell" />
103             <field id="ycell_start" name="ycell" />
104             <field id="zcell_start" name="zcell" />
105             <field id="ps_start" name="ps" />
106             <field id="phis_start" name="phis" />
107 	    
108             <field_group axis_ref="lev" >
109               <field id="theta_rhodz_start" name="theta_rhodz" />
110               <field id="u_start" name="u" domain_ref="u"/>
111               <field id="ulon_start" name="ulon" />
112               <field id="ulat_start" name="ulat" />
113 	      
114               <field_group id="tracers_start">
115                 <!-- tracers will be add atomatically here-->
116               </field_group>
117 	    </field_group>
118 
119 	    <field_group axis_ref="levp1" >
120               <field id="geopot_start" name="geopot" />
121               <field id="W_start" name="W" />
122             </field_group>
123 	    
124           </field_group>
125           <field id="q_start" name="q"  grid_ref="grid_q_start" prec="8"/>
126        </field_group>
127     </file>
128     
129    <!-- =========================================================================================================== -->
130    <!-- reading start file and perform interpolation (restarting from a different resolution)                       -->
131    <!-- =========================================================================================================== -->
132 
133     <file id="start_interp" enabled="false" mode="read">
134        <field_group operation="once"> 
135           <field id="it_start_interp" name="iteration"  grid_ref="scalar" />
136           <field_group domain_ref="i_start_interp_read" prec="8"> 
137              <field id="ps_start_interp_read" name="ps" />
138              <field id="phis_start_interp_read" name="phis" />
139              <field_group axis_ref="lev_start_interp_read" >
140                 <field id="theta_rhodz_start_interp_read" name="theta_rhodz" />
141                 <field id="ulon_start_interp_read" name="ulon" />
142                 <field id="ulat_start_interp_read" name="ulat" />
143                 <field id="p_start_interp_read" name="p" />
144 
145                 <field_group id="tracers_start_interp_read">
146                   <!-- tracers will be add atomatically here-->
147                 </field_group>
148 
149              </field_group>
150           </field_group>
151        </field_group>
152     </file>
153 
154   </file_definition>
155   
156   <field_definition>
157     <field_group id="start_interp">
158       <field_group domain_ref="i_start_interp" >
159          <field id="ps_start_interp" field_ref="ps_start_interp_read" />
160          <field id="phis_start_interp" field_ref="phis_start_interp_read" />
161 
162          <field id="p_start_interp_horiz" field_ref="p_start_interp_read" axis_ref="lev_start_interp_read"/>
163        
164           <field_group axis_ref="lev_start_interp" >
165              <field id="theta_rhodz_start_interp" field_ref="theta_rhodz_start_interp_read"  />
166              <field id="ulon_start_interp" field_ref="ulon_start_interp_read" />
167              <field id="ulat_start_interp" field_ref="ulat_start_interp_read" />
168  
169              <field_group id="tracers_start_interp">
170                <!-- tracers will be add atomatically here-->
171              </field_group>
172           </field_group>
173 
174        </field_group>
175     </field_group>
176 
177     <field id="p_start_interp" domain_ref="i" axis_ref="lev" />
178     
179   </field_definition>  
180 
181   <domain_definition>
182     <domain id="i_start_interp_read" type="unstructured" >
183       <generate_rectilinear_domain/>
184     </domain>
185 
186     <domain id="i_start_interp" domain_ref="i">
187       <interpolate_domain order="1" />
188     </domain>
189 
190   </domain_definition>
191   
192   <axis_definition>
193     <axis id="lev_start_interp_read" />
194     <axis id="lev_start_interp"      axis_ref="lev">
195       <interpolate_axis order="1" coordinate_src="p_start_interp_horiz" coordinate_dst="p_start_interp" extrapolate="true"/>
196     </axis>
197   </axis_definition>
198   
199   
200 <!-- ========================================================================================================================= -->
201 <!-- Pressure is automatically resent at initialization to XIOS workflow to optionnaly do an interpolation in pressure level   --> 
202 <!-- And reinject tracer in the initial state                                                                                  --> 
203 <!-- ========================================================================================================================= -->
204 
205   <field_definition>
206     <field id="p_init0" domain_ref="i" axis_ref="lev"/>
207     <field id="ps_init0" domain_ref="i" />
208   </field_definition>
209      
210 
211 
212 
213   <!-- =========================================================================================================== -->
214   <!-- read field from file for etat0_database                                                                                  -->
215   <!-- =========================================================================================================== -->
216   <field_definition>
217 
218      <field_group id="read_fields" enabled="false" operation="instant">
219       
220         <field id="relief_db" field_ref="relief_reg" domain_ref="from_relief" read_access="true"  />
221         <field_group domain_ref="from_ecdyn" read_access="true" >
222            <field id="ps_db" field_ref="ps_reg" />
223            <field id="z_db"  field_ref="z_reg"  />
224            <field id="ts_db" field_ref="ts_reg" />
225            <field_group axis_ref="lev_ecdyn" >
226               <field id="u_db" field_ref="u_reg"  />
227               <field id="v_db" field_ref="v_reg"   />
228               <field id="temp_db" field_ref="temp_reg" />
229               <field id="q_db"    field_ref="q_reg"    />
230            </field_group>
231         </field_group>
232     
233      </field_group>
234 
235   </field_definition> 
236 
237 
238 
239   <file_definition>    
240     <file_group id="read_files" enabled="false" >
241 
242        <file id="relief" name="Relief" type="one_file" mode="read" output_freq="10ts">
243            <field id="relief_reg" name="RELIEF" domain_ref="domain_relief" operation="instant" />
244        </file>
245       
246        <file id="ECDYN"  name="ECDYN" type="one_file" mode="read" output_freq="10ts">
247           <field_group domain_ref="domain_ecdyn" operation="instant">
248              <field id="ps_reg"   name="SP"      />
249              <field id="z_reg"    name="Z"       />
250              <field id="ts_reg"   name="ST"      />
251              <field_group axis_ref="lev_ecdyn"   >
252                 <field id="u_reg"    name="U"     />
253                 <field id="v_reg"    name="V"     />
254                 <field id="temp_reg" name="TEMP"  />
255                 <field id="q_reg"    name="R"     />
256              </field_group>
257           </field_group>
258        </file>
259     
260     </file_group>    
261   </file_definition>
262     
263 
264   <!-- =========================================================================================================== -->
265   <!-- Axis definitions                                                                                            -->
266   <!-- =========================================================================================================== -->
267   <axis_definition prec="8">
268     <axis id="lev"      name="lev"                positive="down" standard_name="atmopshere_hybrid_sigma_pressure_coordinate"  long_name="hybrid level at midpoints" axis_type="Z"/>
269     <axis id="levp1"    name="ilev"  unit="level" positive="down" standard_name="atmopshere_hybride_sigma_pressure_coordinate" long_name="hybrid level at interface" axis_type="Z" />
270     <axis id="nq"       name="nq" />
271     <axis id="nq_start" name="nq" />
272     <axis id="lev_ecdyn" />
273 
274 
275     <axis id="lev_pressure" positive="down"  n_glo="2" unit="Pa" value="(0,1)[85000 50000]" >
276       <interpolate_axis order="1" coordinate="p" />
277     </axis>
278 
279     <axis id="presnivs_mb" > 
280       <interpolate_axis order="1" /> 
281     </axis>
282   </axis_definition>
283 
284   <!-- =========================================================================================================== -->
285   <!-- Domain definitions                                                                                          -->
286   <!-- =========================================================================================================== -->
287   <domain_definition prec="8">
288 
289     <domain_group id="i"> 
290       <domain id="i" name="mesh"/>     
291 
292       <domain id="from_relief" >
293         <interpolate_domain/>
294       </domain>
295       
296       <domain id="from_ecdyn" >
297         <interpolate_domain/>
298       </domain>
299     </domain_group> 
300 
301     <domain id="v" />
302     <domain id="u" />
303      
304     <domain id="regular_half_degree" type="rectilinear" ni_glo="720" nj_glo="360" >
305       <generate_rectilinear_domain />
306       <interpolate_domain order="1"/>
307     </domain> 
308     
309     <domain id="regular_one_degree" type="rectilinear" ni_glo="360" nj_glo="180" >
310       <generate_rectilinear_domain />
311       <interpolate_domain order="1"/>
312     </domain> 
313     
314     <domain id="regular_two_degree" type="rectilinear" ni_glo="180" nj_glo="90" >
315       <generate_rectilinear_domain />
316       <interpolate_domain order="1"/>
317     </domain> 
318     
319     <domain id="domain_relief" type="rectilinear" >
320       <generate_rectilinear_domain />
321     </domain>
322     
323     <domain id="domain_ecdyn" type="rectilinear" >
324       <generate_rectilinear_domain />
325     </domain>
326     
327   </domain_definition>    
328   
329   <scalar_definition>
330      <scalar id="scalar" />
331   </scalar_definition>   
332 
333   <!-- =========================================================================================================== -->
334   <!-- Grid definitions                                                                                            -->
335   <!-- =========================================================================================================== -->
336   <grid_definition>    
337     <grid id="scalar">
338       <scalar />
339     </grid>
340     
341     <grid id="grid_q">
342       <domain domain_ref="i" />
343       <axis axis_ref="lev" />
344       <axis axis_ref="nq" />
345     </grid>
346 
347     <grid id="grid_q_start">
348       <domain domain_ref="i" />
349       <axis axis_ref="lev" />
350       <axis axis_ref="nq_start" />
351     </grid>
352 
353     <grid id="grid_q_regular_two_degree">
354       <domain domain_ref="regular_two_degree" />
355       <axis axis_ref="lev" />
356       <axis axis_ref="nq" />
357     </grid>
358 
359     <grid id="grid_q_regular_one_degree">
360       <domain domain_ref="regular_one_degree" />
361       <axis axis_ref="lev" />
362       <axis axis_ref="nq" />
363     </grid>
364 
365     <grid id="grid_q_regular_alf_degree">
366       <domain domain_ref="regular_half_degree" />
367       <axis axis_ref="lev" />
368       <axis axis_ref="nq" />
369     </grid>
370 
371 
372   </grid_definition>   
373 
374 </context>