1 | function xml_iodef() { |
---|
2 | cat <<EOF |
---|
3 | <?xml version="1.0"?> |
---|
4 | <simulation> |
---|
5 | <context id="xios"> |
---|
6 | <variable_definition> |
---|
7 | <variable id="print_file" type="bool"> true </variable> |
---|
8 | <variable_group id="buffer"> |
---|
9 | </variable_group> |
---|
10 | |
---|
11 | <variable_group id="parameters" > |
---|
12 | <variable id="using_server" type="bool">false</variable> |
---|
13 | <variable id="info_level" type="int">1</variable> |
---|
14 | </variable_group> |
---|
15 | </variable_definition> |
---|
16 | </context> |
---|
17 | <context id="icosagcm" src="./icosa.xml" /> |
---|
18 | </simulation> |
---|
19 | EOF |
---|
20 | } |
---|
21 | |
---|
22 | function xml_icosa() { |
---|
23 | cat <<EOF |
---|
24 | <context id="icosagcm" > |
---|
25 | <calendar type="d360" start_date="2000-01-01 00:00:00" time_origin="2000-01-01 00:00:00"/> |
---|
26 | |
---|
27 | <field_definition src="./field_def.xml" /> |
---|
28 | |
---|
29 | <file_definition src="./filedef_dcmip2016.xml" /> |
---|
30 | |
---|
31 | <file_definition type="one_file" par_access="collective"> |
---|
32 | |
---|
33 | <file id="output" name="output" enabled=".FALSE." output_freq="2h" sync_freq="2h" output_level="10" > |
---|
34 | <field_group group_ref="standard_output"/> |
---|
35 | </file> |
---|
36 | |
---|
37 | <file id="restart" name="restart" enabled="true"> |
---|
38 | <field_group id="group_restart" operation="once"> |
---|
39 | <field id="it_restart" name="iteration" grid_ref="scalar" /> |
---|
40 | <field id="q_restart" name="q" grid_ref="grid_q" /> |
---|
41 | <field_group domain_ref="i"> |
---|
42 | <field id="ps_restart" name="ps" /> |
---|
43 | <field id="phis_restart" name="phis" /> |
---|
44 | <field_group axis_ref="lev" > |
---|
45 | <field id="theta_rhodz_restart" name="theta_rhodz" /> |
---|
46 | <field id="u_restart" name="u" domain_ref="u"/> |
---|
47 | <field id="ulon_restart" name="ulon" /> |
---|
48 | <field id="ulat_restart" name="ulat" /> |
---|
49 | </field_group> |
---|
50 | <field_group axis_ref="levp1" > |
---|
51 | <field id="W_restart" name="W" /> |
---|
52 | <field id="geopot_restart" name="geopot" /> |
---|
53 | </field_group> |
---|
54 | </field_group> |
---|
55 | </field_group> |
---|
56 | </file> |
---|
57 | |
---|
58 | <file id="start" name="start" enabled="false" mode="read"> |
---|
59 | <field_group id="group_start" operation="once"> |
---|
60 | <field id="it_start" name="iteration" grid_ref="scalar" enabled="false"/> |
---|
61 | <field id="q_start" name="q" grid_ref="grid_q_read" /> |
---|
62 | <field_group domain_ref="i"> |
---|
63 | <field id="ps_start" name="ps" /> |
---|
64 | <field id="phis_start" name="phis" /> |
---|
65 | <field_group axis_ref="lev_read" > |
---|
66 | <field id="theta_rhodz_start" name="theta_rhodz" /> |
---|
67 | <field id="u_start" name="u" domain_ref="u"/> |
---|
68 | <field id="ulon_start" name="ulon" /> |
---|
69 | <field id="ulat_start" name="ulat" /> |
---|
70 | </field_group> |
---|
71 | <field_group axis_ref="levp1" > |
---|
72 | <field id="W_start" name="W" /> |
---|
73 | <field id="geopot_start" name="geopot" /> |
---|
74 | </field_group> |
---|
75 | </field_group> |
---|
76 | </field_group> |
---|
77 | </file> |
---|
78 | |
---|
79 | |
---|
80 | </file_definition> |
---|
81 | |
---|
82 | <axis_definition> |
---|
83 | <axis id="lev" name="lev" positive="down" standard_name="atmopshere_hybrid_sigma_pressure_coordinate" long_name="hybrid level at midpoints" /> |
---|
84 | <axis id="lev_read" /> |
---|
85 | <axis id="levp1" name="ilev" unit="level" positive="down" standard_name="atmopshere_hybride_sigma_pressure_coordinate" long_name="hybrid level at interface" /> |
---|
86 | <axis id="lev_pressure" positive="down" n_glo="2" unit="Pa" value="(0,1)[85000 50000]" > |
---|
87 | <interpolate_axis order="1" coordinate="p" /> |
---|
88 | </axis> |
---|
89 | <axis id="nq" name="nq" n_glo="5" value="(0,4)[1 2 3 4 5]"/> |
---|
90 | </axis_definition> |
---|
91 | |
---|
92 | <domain_definition> |
---|
93 | |
---|
94 | <domain_group id="i"> |
---|
95 | <domain id="i" name="mesh"/> |
---|
96 | </domain_group> |
---|
97 | |
---|
98 | |
---|
99 | <domain id="v" /> |
---|
100 | <domain id="u" /> |
---|
101 | |
---|
102 | <domain id="regular_half_degree" type="rectilinear" ni_glo="720" nj_glo="360" > |
---|
103 | <generate_rectilinear_domain /> |
---|
104 | <interpolate_domain order="1"/> |
---|
105 | </domain> |
---|
106 | |
---|
107 | <domain id="regular_one_degree" type="rectilinear" ni_glo="360" nj_glo="180" > |
---|
108 | <generate_rectilinear_domain /> |
---|
109 | <interpolate_domain order="1"/> |
---|
110 | </domain> |
---|
111 | |
---|
112 | <domain id="regular_two_degree" type="rectilinear" ni_glo="180" nj_glo="90" > |
---|
113 | <generate_rectilinear_domain /> |
---|
114 | <interpolate_domain order="1"/> |
---|
115 | </domain> |
---|
116 | |
---|
117 | </domain_definition> |
---|
118 | |
---|
119 | <grid_definition> |
---|
120 | <grid id="scalar"> |
---|
121 | <scalar /> |
---|
122 | </grid> |
---|
123 | |
---|
124 | <grid id="grid_q"> |
---|
125 | <domain domain_ref="i" /> |
---|
126 | <axis axis_ref="lev" /> |
---|
127 | <axis axis_ref="nq" /> |
---|
128 | </grid > |
---|
129 | |
---|
130 | <grid id="grid_q_read"> |
---|
131 | <domain domain_ref="i" /> |
---|
132 | <axis axis_ref="lev_read" /> |
---|
133 | <axis axis_ref="nq" /> |
---|
134 | </grid > |
---|
135 | |
---|
136 | <grid id="grid_q_regular"> |
---|
137 | <domain domain_ref="regular_two_degree" /> |
---|
138 | <axis axis_ref="lev" /> |
---|
139 | <axis axis_ref="nq" /> |
---|
140 | </grid > |
---|
141 | </grid_definition> |
---|
142 | |
---|
143 | </context> |
---|
144 | EOF |
---|
145 | } |
---|
146 | |
---|
147 | function xml_field_def() { |
---|
148 | cat <<EOF |
---|
149 | <field_definition level="1" enabled=".TRUE." operation="instant"> |
---|
150 | |
---|
151 | <field_group id="standard_output"> |
---|
152 | |
---|
153 | <field id="timestep" grid_ref="scalar" unit="s"/> |
---|
154 | <field id="preff" grid_ref="scalar" unit="Pa"/> |
---|
155 | <field id="ap" axis_ref="levp1" long_name="hybrid A coefficient at layer interface" /> |
---|
156 | <field id="bp" axis_ref="levp1" long_name="hybrid B coefficient at layer interface" /> |
---|
157 | <field id="mid_ap" axis_ref="lev" long_name="hybrid A coefficient at midpoints" /> |
---|
158 | <field id="mid_bp" axis_ref="lev" long_name="hybrid B coefficient at midpoints" /> |
---|
159 | |
---|
160 | <field_group domain_ref="i"> |
---|
161 | <field id="ps" /> |
---|
162 | <field id="dps" /> |
---|
163 | <field id="Ai" /> |
---|
164 | <field id="phis" /> |
---|
165 | <field id="phi" /> |
---|
166 | <field id="precl" /> |
---|
167 | <field id="Q1_col_int" /> |
---|
168 | <field id="Q2_col_int" /> |
---|
169 | <field id="ps_init" /> |
---|
170 | |
---|
171 | <field_group axis_ref="lev"> |
---|
172 | <field id="mass" /> |
---|
173 | <field id="p" /> |
---|
174 | <field id="dmass"/> |
---|
175 | <field id="theta" /> |
---|
176 | <field id="dyn_q" /> |
---|
177 | <field id="pk"/> |
---|
178 | <field id="ulon"/> |
---|
179 | <field id="ulat"/> |
---|
180 | <field id="uz"/> |
---|
181 | <field id="omega"/> |
---|
182 | <field id="temp"/> |
---|
183 | |
---|
184 | <field id="mass_init" /> |
---|
185 | <field id="p_init" /> |
---|
186 | <field id="theta_init" /> |
---|
187 | <field id="dyn_q_init" /> |
---|
188 | <field id="ulon_init"/> |
---|
189 | <field id="ulat_init"/> |
---|
190 | <field id="uz_init"/> |
---|
191 | <field id="temp_init"/> |
---|
192 | |
---|
193 | </field_group> |
---|
194 | <field id="u850" /> |
---|
195 | <field id="v850" /> |
---|
196 | <field id="w850" /> |
---|
197 | <field id="t850" /> |
---|
198 | <field id="omega850"/> |
---|
199 | <field id="u500" /> |
---|
200 | <field id="v500" /> |
---|
201 | <field id="w500" /> |
---|
202 | <field id="t500" /> |
---|
203 | <field id="omega500"/> |
---|
204 | <field id="SST"/> |
---|
205 | |
---|
206 | <field id="ulon_850_500" field_ref="p" axis_ref="lev_pressure" /> |
---|
207 | |
---|
208 | <field_group axis_ref="levp1"> |
---|
209 | <field id="geopot"/> |
---|
210 | <field id="geopot_init"/> |
---|
211 | </field_group> |
---|
212 | </field_group> |
---|
213 | |
---|
214 | <field_group grid_ref="grid_q"> |
---|
215 | <field id="q_init" /> |
---|
216 | <field id="q" /> |
---|
217 | <field id="qflux_lon" /> |
---|
218 | <field id="qflux_lat" /> |
---|
219 | </field_group> |
---|
220 | |
---|
221 | <field_group domain_ref="v" axis_ref="lev"> |
---|
222 | <field id="vort" /> |
---|
223 | <field id="pv" /> |
---|
224 | </field_group> |
---|
225 | |
---|
226 | </field_group> |
---|
227 | |
---|
228 | |
---|
229 | </field_definition> |
---|
230 | |
---|
231 | EOF |
---|
232 | } |
---|
233 | |
---|
234 | function xml_dcmip() { # EXPNAME OUTPUT_GRID OUTPUT_FREQ |
---|
235 | EXPNAME=$1 |
---|
236 | OUTPUT_GRID=$2 |
---|
237 | OUTPUT_FREQ=$3 |
---|
238 | NBP=80 # FIXME |
---|
239 | LLM=10 # FIXME |
---|
240 | cat <<EOF |
---|
241 | <file_definition > |
---|
242 | |
---|
243 | <file id="output_dcmip2016_native" convention="CF" enabled="false" output_freq="$OUTPUT_FREQ" sync_freq="$OUTPUT_FREQ" output_level="10" timeseries="none" description="$EXPNAME" > |
---|
244 | |
---|
245 | <field_group id="dcmip2016_output_field_once" operation="once" freq_offset="0ts" ts_enabled="true"> |
---|
246 | <field field_ref="timestep" name="mdt" /> |
---|
247 | <field field_ref="preff" name="P0" long_name="reference pressure" /> |
---|
248 | <field field_ref="ap" name="hyai" /> |
---|
249 | <field field_ref="bp" name="hybi" /> |
---|
250 | <field field_ref="mid_ap" name="hyam" /> |
---|
251 | <field field_ref="mid_bp" name="hybm" /> |
---|
252 | </field_group> |
---|
253 | |
---|
254 | <field_group id="init_fields" operation="once" freq_offset="0ts" ts_enabled="true"> |
---|
255 | <field field_ref="temp_init" /> |
---|
256 | <field field_ref="uz_init" /> |
---|
257 | <field field_ref="ulon_init" /> |
---|
258 | <field field_ref="ulat_init" /> |
---|
259 | <field field_ref="p_init" /> |
---|
260 | <field field_ref="ps_init" /> |
---|
261 | <field field_ref="mass_init" /> |
---|
262 | <field field_ref="geopot_init" /> |
---|
263 | </field_group> |
---|
264 | |
---|
265 | <field_group id="dcmip2016_output_field" ts_enabled="true"> |
---|
266 | <field field_ref="ps" name="PS" standard_name="surface_pressure" long_name="Surface pressure" unit="Pa" /> |
---|
267 | <field field_ref="phis" operation="once" freq_offset="0ts" name="PHIS" standard_name="surface_geopotential" long_name="Surface geopotential" unit="m2/m2"/> |
---|
268 | <field field_ref="geopot" name="PHI" standard_name="geopotential" long_name="geopotential" unit="m2/s2"/> |
---|
269 | <field field_ref="ulon" name="U" standard_name="eastward_wind" long_name="Zonal wind" unit="m/s"/> |
---|
270 | <field field_ref="ulat" name="V" standard_name="northward_wind" long_name="Meridional wind" unit="m/s"/> |
---|
271 | <field field_ref="uz" name="W" standard_name="upward_air_velocity" long_name="Vertical velocity" unit="m/s"/> |
---|
272 | <field field_ref="omega" name="OMEGA" standard_name="lagrangian_tendency_of_air_pressure" long_name="Vertical pressure velocity" unit="Pa/s"/> |
---|
273 | <field field_ref="p" name="P" standard_name="air_pressure" long_name="Pressure" unit="Pa"/> |
---|
274 | <field field_ref="temp" name="T" standard_name="air_temperature" long_name="Temperature" unit="K"/> |
---|
275 | <field field_ref="precl" name="PRECT" standard_name="rainfall_rate" long_name="Large Scale precipitation rate" unit="m/s"/> |
---|
276 | <field field_ref="Q1_col_int" name="Q1_col_int" long_name="Single chlorine column integrated mixing ratio" unit="kg/m2"/> |
---|
277 | <field field_ref="Q2_col_int" name="Q2_col_int" long_name="Chlorine gas column integrated mixing ratio" unit="kg/m2"/> |
---|
278 | <field field_ref="u850" name="U850" long_name="Zonal wind at 850 hPa" unit="m/s"/> |
---|
279 | <field field_ref="v850" name="V850" long_name="Meridional wind at 850 hPa" unit="m/s"/> |
---|
280 | <field field_ref="w850" name="W850" long_name="Vertical velocity at 850 hPa" unit="m/s"/> |
---|
281 | <field field_ref="t850" name="T850" long_name="Temperature at 850 hPa" unit="K"/> |
---|
282 | <field field_ref="omega850" name="OMEGA850" long_name="Vertical pressure velocity at 850 hPa" unit="Pa/s"/> |
---|
283 | <field field_ref="u500" name="U500" long_name="Zonal wind at 500 hPa" unit="m/s"/> |
---|
284 | <field field_ref="v500" name="V500" long_name="Meridional wind at 850 hPa" unit="m/s"/> |
---|
285 | <field field_ref="w850" name="W500" long_name="Vertical velocity at 500 hPa" unit="m/s"/> |
---|
286 | <field field_ref="t500" name="T500" long_name="Temperature at 850 hPa" unit="K"/> |
---|
287 | <field field_ref="omega500" name="OMEGA500" long_name="Vertical pressure velocity at 500 hPa" unit="Pa/s"/> |
---|
288 | <field field_ref="SST" name="SST" long_name="Sea surface temperature" unit="K"/> |
---|
289 | |
---|
290 | </field_group> |
---|
291 | |
---|
292 | <variable name="model" type="string" > dynamico </variable> |
---|
293 | <variable name="test_case" type="string" > $EXPNAME </variable> |
---|
294 | <variable name="horizontal_resolution" type="string" > native (grid points : 80x80x10) </variable> |
---|
295 | <variable name="levels" type="string" > L10 </variable> |
---|
296 | <variable name="grid" type="string" > hex </variable> |
---|
297 | <variable name="equation" type="string" > hydro </variable> |
---|
298 | <variable name="time_frequency" type="string" > $OUTPUT_FREQ </variable> |
---|
299 | |
---|
300 | </file> |
---|
301 | |
---|
302 | |
---|
303 | <file id="output_dcmip2016_regular" enabled="true" output_freq="$OUTPUT_FREQ" sync_freq="$OUTPUT_FREQ" output_level="10" description="$EXPNAME" timeseries="none" > |
---|
304 | |
---|
305 | <field_group group_ref="dcmip2016_output_field_once"/> |
---|
306 | |
---|
307 | <field_group group_ref="init_fields" domain_ref="regular_$OUTPUT_GRID" /> |
---|
308 | |
---|
309 | <field_group group_ref="dcmip2016_output_field" domain_ref="regular_$OUTPUT_GRID" /> |
---|
310 | |
---|
311 | <field_group id="transport" ts_enabled="true" grid_ref="grid_q_regular" > |
---|
312 | <field field_ref="q" name="q" /> |
---|
313 | <field field_ref="qflux_lon" name="qflux_lon" /> |
---|
314 | <field field_ref="qflux_lat" name="qflux_lat" /> |
---|
315 | </field_group> |
---|
316 | |
---|
317 | <variable name="model" type="string" > dynamico </variable> |
---|
318 | <variable name="test_case" type="string" > $EXPNAME </variable> |
---|
319 | <variable name="horizontal_resolution" type="string" > $OUTPUT_GRID interpolated (grid points : $NBP x $NBP x $LLM) </variable> |
---|
320 | <variable name="levels" type="string" > L30 </variable> |
---|
321 | <variable name="grid" type="string" > hex </variable> |
---|
322 | <variable name="equation" type="string" > hydro </variable> |
---|
323 | <variable name="time_frequency" type="string" > $OUTPUT_FREQ </variable> |
---|
324 | |
---|
325 | </file> |
---|
326 | |
---|
327 | |
---|
328 | </file_definition> |
---|
329 | EOF |
---|
330 | } |
---|