source: XIOS/xios_training/hands-on-7/context_atm.xml @ 2045

Last change on this file since 2045 was 2045, checked in by ymipsl, 3 years ago

Add source hand-on and doc for training
YM

File size: 12.4 KB
Line 
1<!-- -->
2<context id="atm">
3 
4  <calendar type="Gregorian" time_origin="1850-01-01 00:00:00" /> 
5 
6  <domain_definition>
7    <domain id="domain" />
8    <domain id="other_domain" />
9  </domain>
10 
11  <axis_definition>
12    <axis id="axis" />
13    <axis id="domain_X" />
14    <axis id="domain_Y" />
15    <axis id="ensemble" />
16   
17
18    <axis id="other_axis" />
19    <axis id="other_domain_X" />
20    <axis id="other_domain_Y" />
21    <axis id="other_ensemble" />
22  </axis_definition>
23
24  <scalar_definition>
25    <scalar id="scalar" /> 
26  </scalar_definition>
27 
28 
29 
30  <grid_definition>
31   
32    <grid id="grid3D">
33      <domain domain_ref="domain" />
34      <axis axis_ref="axis" />
35    </grid>
36   
37    <grid id="grid2D">
38      <domain domain_ref="domain" />
39    </grid>
40
41    <grid id="grid1D">
42      <axis axis_ref="axis" />
43    </grid>
44   
45
46
47
48    <grid id="grid_X">
49      <axis axis_ref="domain_X" />
50    </grid>
51
52    <grid id="grid_Y">
53      <axis axis_ref="domain_Y" />
54    </grid>
55
56    <grid id="grid_XY">
57      <axis axis_ref="domain_X" />
58      <axis axis_ref="domain_Y" />
59    </grid>
60
61    <grid id="grid_XYZ">
62      <axis axis_ref="domain_X" />
63      <axis axis_ref="domain_Y" />
64      <axis axis_ref="axis" />
65    </grid>
66
67    <grid id="grid_XZ">
68      <axis axis_ref="domain_X" />
69      <axis axis_ref="axis" />
70    </grid>
71
72    <grid id="grid_YZ">
73      <axis axis_ref="domain_Y" />
74      <axis axis_ref="axis" />
75    </grid>
76
77
78    <grid id="grid3D_W">
79      <domain domain_ref="domain" />
80      <axis axis_ref="axis" />
81      <axis axis_ref="ensemble" />
82    </grid>
83   
84    <grid id="grid2D_W">
85      <domain domain_ref="domain" />
86      <axis axis_ref="ensemble" />
87    </grid>
88
89    <grid id="grid1D_W">
90      <axis axis_ref="axis" />
91      <axis axis_ref="ensemble" />
92    </grid>
93
94    <grid id="grid_XW">
95      <axis axis_ref="domain_X" />
96      <axis axis_ref="ensemble" />
97    </grid>
98
99    <grid id="grid_YW">
100      <axis axis_ref="domain_Y" />
101      <axis axis_ref="ensemble" />
102    </grid>
103
104    <grid id="grid_XYW">
105      <axis axis_ref="domain_X" />
106      <axis axis_ref="domain_Y" />
107      <axis axis_ref="ensemble" />
108    </grid>
109
110    <grid id="grid_XYZW">
111      <axis axis_ref="domain_X" />
112      <axis axis_ref="domain_Y" />
113      <axis axis_ref="axis" />
114      <axis axis_ref="ensemble" />
115    </grid>
116
117    <grid id="grid_XZW">
118      <axis axis_ref="domain_X" />
119      <axis axis_ref="axis" />
120      <axis axis_ref="ensemble" />
121    </grid>
122
123    <grid id="grid_YZW">
124      <axis axis_ref="domain_Y" />
125      <axis axis_ref="axis" />
126      <axis axis_ref="ensemble" />
127    </grid>
128
129 
130 
131    <grid id="other_grid3D">
132      <domain domain_ref="other_domain" />
133      <axis axis_ref="other_axis" />
134    </grid>
135   
136    <grid id="other_grid2D">
137      <domain domain_ref="other_domain" />
138    </grid>
139
140    <grid id="other_grid1D">
141      <axis axis_ref="other_axis" />
142    </grid>
143
144    <grid id="other_grid_X">
145      <axis axis_ref="other_domain_X" />
146    </grid>
147
148    <grid id="other_grid_Y">
149      <axis axis_ref="other_domain_Y" />
150    </grid>
151
152    <grid id="other_grid_XY">
153      <axis axis_ref="other_domain_X" />
154      <axis axis_ref="other_domain_Y" />
155    </grid>
156
157    <grid id="other_grid_XYZ">
158      <axis axis_ref="other_domain_X" />
159      <axis axis_ref="other_domain_Y" />
160      <axis axis_ref="other_axis" />
161    </grid>
162
163    <grid id="other_grid_XZ">
164      <axis axis_ref="other_domain_X" />
165      <axis axis_ref="other_axis" />
166    </grid>
167
168    <grid id="other_grid_YZ">
169      <axis axis_ref="other_domain_Y" />
170      <axis axis_ref="other_axis" />
171    </grid>
172
173
174    <grid id="other_grid3D_W">
175      <domain domain_ref="other_domain" />
176      <axis axis_ref="other_axis" />
177      <axis axis_ref="other_ensemble" />
178    </grid>
179   
180    <grid id="other_grid2D_W">
181      <domain domain_ref="other_domain" />
182      <axis axis_ref="other_ensemble" />
183    </grid>
184
185    <grid id="other_grid1D_W">
186      <axis axis_ref="other_axis" />
187      <axis axis_ref="other_ensemble" />
188    </grid>
189
190    <grid id="other_grid_XW">
191      <axis axis_ref="other_domain_X" />
192      <axis axis_ref="other_ensemble" />
193    </grid>
194
195    <grid id="other_grid_YW">
196      <axis axis_ref="other_domain_Y" />
197      <axis axis_ref="other_ensemble" />
198    </grid>
199
200    <grid id="other_grid_XYW">
201      <axis axis_ref="other_domain_X" />
202      <axis axis_ref="other_domain_Y" />
203      <axis axis_ref="other_ensemble" />
204    </grid>
205
206    <grid id="other_grid_XYZW">
207      <axis axis_ref="other_domain_X" />
208      <axis axis_ref="other_domain_Y" />
209      <axis axis_ref="other_axis" />
210      <axis axis_ref="other_ensemble" />
211    </grid>
212
213    <grid id="other_grid_XZW">
214      <axis axis_ref="other_domain_X" />
215      <axis axis_ref="other_axis" />
216      <axis axis_ref="other_ensemble" />
217    </grid>
218
219    <grid id="other_grid_YZW">
220      <axis axis_ref="other_domain_Y" />
221      <axis axis_ref="other_axis" />
222      <axis axis_ref="other_ensemble" />
223    </grid>
224
225   
226  </grid_definition>
227 
228 
229  <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true">
230    <field id="field2D" grid_ref="grid2D" />
231    <field id="field3D" grid_ref="grid3D" />
232    <field id="pressure" grid_ref="grid3D"  />
233    <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" />
234    <field id="field3D_resend" grid_ref="grid3D" />
235   
236
237    <field id="field_X" grid_ref="grid_X" />
238    <field id="field_Y" grid_ref="grid_Y" />
239    <field id="field_Z" grid_ref="grid1D" />
240    <field id="field_XY" grid_ref="grid_XY" />
241    <field id="field_XYZ" grid_ref="grid_XYZ" />
242    <field id="field_XZ" grid_ref="grid_XZ" />
243    <field id="field_YZ" grid_ref="grid_YZ" />
244
245
246    <field id="field2D_W" grid_ref="grid2D_W"/>
247    <field id="field3D_W" grid_ref="grid3D_W"  />
248    <field id="pressure_W" grid_ref="grid3D_W"  />
249    <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W"  field_ref="field3D_W"/>
250    <field id="field3D_resend_W" grid_ref="grid3D_W" />
251
252    <field id="field_XW" grid_ref="grid_XW" />
253    <field id="field_YW" grid_ref="grid_YW" />
254    <field id="field_ZW" grid_ref="grid1D_W" />
255    <field id="field_XYW" grid_ref="grid_XYW" />
256    <field id="field_XYZW" grid_ref="grid_XYZW" />
257    <field id="field_XZW" grid_ref="grid_XZW" />
258    <field id="field_YZW" grid_ref="grid_YZW" />
259
260
261    <field id="other_field2D" grid_ref="other_grid2D"/>
262    <field id="other_field3D" grid_ref="other_grid3D"  />
263    <field id="other_pressure" grid_ref="other_grid3D"  />
264    <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D"  field_ref="other_field3D"/>
265    <field id="other_field3D_resend" grid_ref="other_grid3D" />
266
267    <field id="other_field_X" grid_ref="other_grid_X" />
268    <field id="other_field_Y" grid_ref="other_grid_Y" />
269    <field id="other_field_Z" grid_ref="other_grid1D" />
270    <field id="other_field_XY" grid_ref="other_grid_XY" />
271    <field id="other_field_XYZ" grid_ref="other_grid_XYZ" />
272    <field id="other_field_XZ" grid_ref="other_grid_XZ" />
273    <field id="other_field_YZ" grid_ref="other_grid_YZ" />
274
275    <field id="other_field2D_W" grid_ref="other_grid2D_W"/>
276    <field id="other_field3D_W" grid_ref="other_grid3D_W"  />
277    <field id="other_pressure_W" grid_ref="other_grid3D_W"  />
278    <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W"  field_ref="other_field3D_W"/>
279    <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" />
280
281    <field id="other_field_XW" grid_ref="other_grid_XW" />
282    <field id="other_field_YW" grid_ref="other_grid_YW" />
283    <field id="other_field_ZW" grid_ref="other_grid1D_W" />
284    <field id="other_field_XYW" grid_ref="other_grid_XYW" />
285    <field id="other_field_XYZW" grid_ref="other_grid_XYZW" />
286    <field id="other_field_XZW" grid_ref="other_grid_XZW" />
287    <field id="other_field_YZW" grid_ref="other_grid_YZW" />
288
289   
290   
291  </field_definition>
292
293
294
295<!-- implementation of specifics test case -->
296<!-- simplest test cases : output data to file -->
297
298 
299
300  <file_definition  type="one_file" par_access="collective" >
301
302    <file id="atm_output" output_freq="1ts" type="one_file" enabled="false">
303       <field field_ref="field3D" />
304       <field field_ref="field2D" /> 
305       <field field_ref="field_X" />
306       <field field_ref="field_Y" />
307       <field field_ref="field_XY" />
308       <field field_ref="field_Z" />
309       <field field_ref="field_XYZ" />
310       <field field_ref="field_XZ" />
311       <field field_ref="field_YZ" />
312       <field field_ref="pressure"  /> 
313       <field field_ref="field3D_resend" />
314    </file>
315
316    <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false">
317       <field field_ref="other_field3D" />
318       <field field_ref="other_field2D" /> 
319       <field field_ref="other_field_X" />
320       <field field_ref="other_field_Y" />
321       <field field_ref="other_field_XY" />
322       <field field_ref="other_field_Z" />
323       <field field_ref="other_field_XYZ" />
324       <field field_ref="other_field_XZ" />
325       <field field_ref="other_field_YZ" />
326       <field field_ref="other_pressure"  /> 
327       <field field_ref="other_field3D_resend" />
328    </file>
329   
330  </file_definition>
331
332
333  <!--  Add all your modifications here -->
334 
335  <grid_definition>
336    <grid id="grid2D_extract_2dom">
337      <domain domain_ref="domain" name="domain_extract">
338        <extract_domain ni="10" nj="5" ibegin="1" jbegin="2"/>
339      </domain>
340    </grid>
341
342    <grid id="grid2D_extract_2ax">
343      <axis n_glo="36" name="axis_extract">
344        <extract_domain direction="iDir" position="2"/>
345      </axis>
346    </grid>
347   
348    <grid id="grid1D_reduce_axis">
349      <scalar >
350        <reduce_axis operation="sum" />
351      </scalar>
352    </grid>
353
354    <grid id="grid2D_reduce_domain">
355      <axis n_glo="18" name="axis_reduce">
356        <reduce_domain operation="sum" direction="iDir" local="false"/>
357      </axis>
358    </grid>
359
360    <grid id="grid1D_inverse">
361      <axis axis_ref="axis" name="inverse_axis">
362        <inverse_axis />
363      </axis>
364    </grid>
365
366    <grid id="grid2D_recti">
367      <domain type="rectilinear" ni_glo="20" nj_glo="20" name="recti_domain">
368        <generate_rectilinear_domain bounds_lon_start="-90" bounds_lon_end="90" bounds_lat_start="-30" bounds_lat_end="30" />
369        <interpolate_domain />
370      </domain>
371    </grid>
372
373    <grid id="grid3D_interp_axis">
374      <domain domain_ref="domain"/>
375      <axis n_glo="4" name="dst_axis" value="(0,3)[70000 50000 30000 10000]">
376        <interpolate_axis coordinate="pressure"/>
377      </axis>
378    </grid>
379
380    <grid id="grid_chained">
381      <axis n_glo="36">
382        <extract_domain direction="iDir" position="5"/>
383        <extract_axis n="10" begin="1"/>
384      </axis>
385    </grid>
386
387  </grid_definition>
388
389   
390  <file_definition  type="one_file" par_access="collective" >
391 
392    <file name="output" output_freq="1d" type="one_file" enabled="true">
393      <field field_ref="field2D" />
394      <field field_ref="field_Z" />
395      <field field_ref="field3D" />
396      <field field_ref="pressure" />
397    </file>
398
399 
400    <file name="output_extract_2dom" output_freq="1d" type="one_file" enabled="true">
401      <field field_ref="field2D" name="field2D_extract_2dom" grid_ref="grid2D_extract_2dom" />
402    </file>
403
404
405    <file name="output_extract_2ax" output_freq="1d" type="one_file" enabled="true">
406      <field field_ref="field2D" name="field2D_extract_2ax" grid_ref="grid2D_extract_2ax" />
407    </file>
408
409    <file name="output_reduce_axis" output_freq="1d" type="one_file" enabled="true">
410      <field field_ref="field_Z" name="field_Z_reduce_axis" grid_ref="grid1D_reduce_axis" />
411    </file>
412
413    <file name="output_reduce_dom" output_freq="1d" type="one_file" enabled="true">
414       <field field_ref="field2D" name="field2D_reduce_dom" grid_ref="grid2D_reduce_domain" />
415    </file>
416 
417    <file name="output_inverse" output_freq="1d" type="one_file" enabled="true">
418       <field field_ref="field_Z" name="field_Z_inverse" grid_ref="grid1D_inverse" />
419    </file>
420
421    <file name="output_interpolate_domain" output_freq="1d" type="one_file" enabled="true">
422       <field field_ref="field2D" name="field2D_recti" grid_ref="grid2D_recti" />
423    </file>
424
425    <file name="output_interpolate_axis" output_freq="1d" type="one_file" enabled="true">
426       <field field_ref="field3D" name="field3D_interpolate_axis" grid_ref="grid3D_interp_axis"/>
427    </file>
428
429    <file name="output_chained" output_freq="1d" type="one_file" enabled="true">
430       <field field_ref="field2D" name="field2D_chained" grid_ref="grid_chained" />
431    </file>
432
433
434  </file_definition>
435
436  <!-- End of your modifications -->
437
438 
439</context>
Note: See TracBrowser for help on using the repository browser.