source: XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_nemo_algo/context_atm.xml @ 2299

Last change on this file since 2299 was 2299, checked in by jderouillat, 2 years ago

Add composed reductions to the test suite on a nemo like grid. Prepare masked scalar tests within grids defined by a tensor product. Reference results have been updated for MPI like reduction.

File size: 11.0 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 id="square_domain" ni_glo="34" nj_glo="38" type="rectilinear"/>
10  </domain_definition>
11
12  <axis_definition>
13    <axis id="axis" />
14    <axis id="domain_X" />
15    <axis id="domain_Y" />
16    <axis id="ensemble" />
17
18
19    <axis id="other_axis" />
20    <axis id="other_domain_X" />
21    <axis id="other_domain_Y" />
22    <axis id="other_ensemble" />
23  </axis_definition>
24
25  <scalar_definition>
26    <scalar id="scalar" /> 
27    <scalar id="other_scalar" /> 
28  </scalar_definition>
29 
30 
31 
32  <grid_definition>
33   
34    <grid id="grid3D">
35      <domain domain_ref="domain" />
36      <axis axis_ref="axis" />
37    </grid>
38   
39    <grid id="grid2D">
40      <domain domain_ref="domain" />
41    </grid>
42
43    <grid id="grid1D">
44      <axis axis_ref="axis" />
45    </grid>
46   
47
48    <grid id="grid_reduce_domain_j" >
49      <axis id="axis_reduce_domain_j" n_glo="18" >
50        <reduce_domain direction="jDir" operation="sum" local="true" />
51      </axis>
52    </grid>
53    <grid id="grid_reduced_j" >
54      <axis id="axis_reduced_j" axis_ref="axis_reduce_domain_j" >
55        <reduce_axis operation="sum" />
56      </axis> 
57    </grid> 
58
59    <grid id="grid_reduce_domain_i" >
60      <axis id="axis_reduce_domain_i" n_glo="36" >
61        <reduce_domain direction="iDir" operation="sum" local="true" />
62      </axis>
63     </grid>     
64    <grid id="grid_reduced_i" >
65      <axis id="axis_reduced_i" axis_ref="axis_reduce_domain_i" >
66        <reduce_axis operation="sum" />
67      </axis> 
68    </grid> 
69
70
71
72    <grid id="grid_X">
73      <axis axis_ref="domain_X" />
74    </grid>
75
76    <grid id="grid_Y">
77      <axis axis_ref="domain_Y" />
78    </grid>
79
80    <grid id="grid_XY">
81      <axis axis_ref="domain_X" />
82      <axis axis_ref="domain_Y" />
83    </grid>
84
85    <grid id="grid_XYZ">
86      <axis axis_ref="domain_X" />
87      <axis axis_ref="domain_Y" />
88      <axis axis_ref="axis" />
89    </grid>
90
91    <grid id="grid_XZ">
92      <axis axis_ref="domain_X" />
93      <axis axis_ref="axis" />
94    </grid>
95
96    <grid id="grid_YZ">
97      <axis axis_ref="domain_Y" />
98      <axis axis_ref="axis" />
99    </grid>
100
101
102    <grid id="grid3D_W">
103      <domain domain_ref="domain" />
104      <axis axis_ref="axis" />
105      <axis axis_ref="ensemble" />
106    </grid>
107   
108    <grid id="grid2D_W">
109      <domain domain_ref="domain" />
110      <axis axis_ref="ensemble" />
111    </grid>
112
113    <grid id="grid1D_W">
114      <axis axis_ref="axis" />
115      <axis axis_ref="ensemble" />
116    </grid>
117
118    <grid id="grid_XW">
119      <axis axis_ref="domain_X" />
120      <axis axis_ref="ensemble" />
121    </grid>
122
123    <grid id="grid_YW">
124      <axis axis_ref="domain_Y" />
125      <axis axis_ref="ensemble" />
126    </grid>
127
128    <grid id="grid_XYW">
129      <axis axis_ref="domain_X" />
130      <axis axis_ref="domain_Y" />
131      <axis axis_ref="ensemble" />
132    </grid>
133
134    <grid id="grid_XYZW">
135      <axis axis_ref="domain_X" />
136      <axis axis_ref="domain_Y" />
137      <axis axis_ref="axis" />
138      <axis axis_ref="ensemble" />
139    </grid>
140
141    <grid id="grid_XZW">
142      <axis axis_ref="domain_X" />
143      <axis axis_ref="axis" />
144      <axis axis_ref="ensemble" />
145    </grid>
146
147    <grid id="grid_YZW">
148      <axis axis_ref="domain_Y" />
149      <axis axis_ref="axis" />
150      <axis axis_ref="ensemble" />
151    </grid>
152
153 
154 
155    <grid id="other_grid3D">
156      <domain domain_ref="other_domain" />
157      <axis axis_ref="other_axis" />
158    </grid>
159   
160    <grid id="other_grid2D">
161      <domain domain_ref="other_domain" />
162    </grid>
163
164    <grid id="other_grid1D">
165      <axis axis_ref="other_axis" />
166    </grid>
167
168    <grid id="other_grid_X">
169      <axis axis_ref="other_domain_X" />
170    </grid>
171
172    <grid id="other_grid_Y">
173      <axis axis_ref="other_domain_Y" />
174    </grid>
175
176    <grid id="other_grid_XY">
177      <axis axis_ref="other_domain_X" />
178      <axis axis_ref="other_domain_Y" />
179    </grid>
180
181    <grid id="other_grid_XYZ">
182      <axis axis_ref="other_domain_X" />
183      <axis axis_ref="other_domain_Y" />
184      <axis axis_ref="other_axis" />
185    </grid>
186
187    <grid id="other_grid_XZ">
188      <axis axis_ref="other_domain_X" />
189      <axis axis_ref="other_axis" />
190    </grid>
191
192    <grid id="other_grid_YZ">
193      <axis axis_ref="other_domain_Y" />
194      <axis axis_ref="other_axis" />
195    </grid>
196
197
198    <grid id="other_grid3D_W">
199      <domain domain_ref="other_domain" />
200      <axis axis_ref="other_axis" />
201      <axis axis_ref="other_ensemble" />
202    </grid>
203   
204    <grid id="other_grid2D_W">
205      <domain domain_ref="other_domain" />
206      <axis axis_ref="other_ensemble" />
207    </grid>
208
209    <grid id="other_grid1D_W">
210      <axis axis_ref="other_axis" />
211      <axis axis_ref="other_ensemble" />
212    </grid>
213
214    <grid id="other_grid_XW">
215      <axis axis_ref="other_domain_X" />
216      <axis axis_ref="other_ensemble" />
217    </grid>
218
219    <grid id="other_grid_YW">
220      <axis axis_ref="other_domain_Y" />
221      <axis axis_ref="other_ensemble" />
222    </grid>
223
224    <grid id="other_grid_XYW">
225      <axis axis_ref="other_domain_X" />
226      <axis axis_ref="other_domain_Y" />
227      <axis axis_ref="other_ensemble" />
228    </grid>
229
230    <grid id="other_grid_XYZW">
231      <axis axis_ref="other_domain_X" />
232      <axis axis_ref="other_domain_Y" />
233      <axis axis_ref="other_axis" />
234      <axis axis_ref="other_ensemble" />
235    </grid>
236
237    <grid id="other_grid_XZW">
238      <axis axis_ref="other_domain_X" />
239      <axis axis_ref="other_axis" />
240      <axis axis_ref="other_ensemble" />
241    </grid>
242
243    <grid id="other_grid_YZW">
244      <axis axis_ref="other_domain_Y" />
245      <axis axis_ref="other_axis" />
246      <axis axis_ref="other_ensemble" />
247    </grid>
248
249   
250  </grid_definition>
251 
252 
253  <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true">
254    <field id="field2D" grid_ref="grid2D" />
255    <field id="field3D" grid_ref="grid3D"  />
256    <field id="pressure" grid_ref="grid3D"  />
257    <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" />
258    <field id="field3D_resend" grid_ref="grid3D" />
259
260    <field id="field_X" grid_ref="grid_X" />
261    <field id="field_Y" grid_ref="grid_Y" />
262    <field id="field_Z" grid_ref="grid1D" />
263    <field id="field_XY" grid_ref="grid_XY" />
264    <field id="field_XYZ" grid_ref="grid_XYZ" />
265    <field id="field_XZ" grid_ref="grid_XZ" />
266    <field id="field_YZ" grid_ref="grid_YZ" />
267
268
269    <field id="field2D_W" grid_ref="grid2D_W"/>
270    <field id="field3D_W" grid_ref="grid3D_W"  />
271    <field id="pressure_W" grid_ref="grid3D_W"  />
272    <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W"  field_ref="field3D_W"/>
273    <field id="field3D_resend_W" grid_ref="grid3D_W" />
274
275    <field id="field_XW" grid_ref="grid_XW" />
276    <field id="field_YW" grid_ref="grid_YW" />
277    <field id="field_ZW" grid_ref="grid1D_W" />
278    <field id="field_XYW" grid_ref="grid_XYW" />
279    <field id="field_XYZW" grid_ref="grid_XYZW" />
280    <field id="field_XZW" grid_ref="grid_XZW" />
281    <field id="field_YZW" grid_ref="grid_YZW" />
282
283
284    <field id="other_field2D" grid_ref="other_grid2D"/>
285    <field id="other_field3D" grid_ref="other_grid3D"  />
286    <field id="other_pressure" grid_ref="other_grid3D"  />
287    <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D"  field_ref="other_field3D"/>
288    <field id="other_field3D_resend" grid_ref="other_grid3D" />
289
290    <field id="other_field_X" grid_ref="other_grid_X" />
291    <field id="other_field_Y" grid_ref="other_grid_Y" />
292    <field id="other_field_Z" grid_ref="other_grid1D" />
293    <field id="other_field_XY" grid_ref="other_grid_XY" />
294    <field id="other_field_XYZ" grid_ref="other_grid_XYZ" />
295    <field id="other_field_XZ" grid_ref="other_grid_XZ" />
296    <field id="other_field_YZ" grid_ref="other_grid_YZ" />
297
298    <field id="other_field2D_W" grid_ref="other_grid2D_W"/>
299    <field id="other_field3D_W" grid_ref="other_grid3D_W"  />
300    <field id="other_pressure_W" grid_ref="other_grid3D_W"  />
301    <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W"  field_ref="other_field3D_W"/>
302    <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" />
303
304    <field id="other_field_XW" grid_ref="other_grid_XW" />
305    <field id="other_field_YW" grid_ref="other_grid_YW" />
306    <field id="other_field_ZW" grid_ref="other_grid1D_W" />
307    <field id="other_field_XYW" grid_ref="other_grid_XYW" />
308    <field id="other_field_XYZW" grid_ref="other_grid_XYZW" />
309    <field id="other_field_XZW" grid_ref="other_grid_XZW" />
310    <field id="other_field_YZW" grid_ref="other_grid_YZW" />
311
312   
313    <field id="field2D_reduce_to_axis_j" grid_ref="grid_reduce_domain_j" field_ref="field2D" />
314    <field id="field2D_reduce_to_axis_i" grid_ref="grid_reduce_domain_i" field_ref="field2D" />   
315   
316  </field_definition>
317
318
319
320<!-- implementation of specifics test case -->
321<!-- simplest test cases : output data to file -->
322
323 
324
325<file_definition  type="one_file" >
326 
327    <file id="atm_output_domain_nemo" output_freq="24ts" type="one_file" enabled="true">
328       <field field_ref="field2D" />
329    </file>
330
331    <file id="atm_output_reduce_axis" output_freq="24ts" type="one_file" enabled="true">
332       <field field_ref="field2D_reduce_to_axis_j" />
333       <field id="field2D_reduced_j" field_ref="field2D_reduce_to_axis_j" grid_ref="grid_reduced_j" />
334       <field field_ref="field2D_reduce_to_axis_i" />
335       <field id="field2D_reduced_i" field_ref="field2D_reduce_to_axis_i" grid_ref="grid_reduced_i" />
336   </file>
337
338
339
340    <file id="atm_output" output_freq="1ts" type="one_file" enabled="false">
341       <field field_ref="field3D" />
342       <field field_ref="field2D" /> 
343       <field field_ref="field_X" />
344       <field field_ref="field_Y" />
345       <field field_ref="field_XY" />
346       <field field_ref="field_Z" />
347       <field field_ref="field_XYZ" />
348       <field field_ref="field_XZ" />
349       <field field_ref="field_YZ" />
350       <field field_ref="pressure"  /> 
351       <field field_ref="field3D_resend" />
352    </file>
353
354    <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false">
355       <field field_ref="other_field3D" />
356       <field field_ref="other_field2D" /> 
357       <field field_ref="other_field_X" />
358       <field field_ref="other_field_Y" />
359       <field field_ref="other_field_XY" />
360       <field field_ref="other_field_Z" />
361       <field field_ref="other_field_XYZ" />
362       <field field_ref="other_field_XZ" />
363       <field field_ref="other_field_YZ" />
364       <field field_ref="other_pressure"  /> 
365       <field field_ref="other_field3D_resend" />
366    </file>
367
368    <file id="atm_output_W" output_freq="1ts" enabled="false">
369       <field field_ref="field3D_W" />
370       <field field_ref="field2D_W" /> 
371       <field field_ref="field_XW" />
372       <field field_ref="field_YW" />
373       <field field_ref="field_XYW" />
374       <field field_ref="field_ZW" />
375       <field field_ref="field_XYZW" />
376       <field field_ref="field_XZW" />
377       <field field_ref="field_YZW" />
378    </file>
379   
380   
381  </file_definition>
382 
383 
384</context>
Note: See TracBrowser for help on using the repository browser.