Difference between revisions of "The ''context dynamico.xml'' Input File"
From Planets
(Created page with "<syntaxhighlight lang="bash" line> <!-- =========================================================================================================== --> <!-- DYNAMICO context...") |
|||
Line 1: | Line 1: | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="xml" line> |
<!-- =========================================================================================================== --> | <!-- =========================================================================================================== --> | ||
<!-- DYNAMICO context --> | <!-- DYNAMICO context --> |
Revision as of 11:40, 28 September 2022
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>