source: configs/testing/bash/xml.sh @ 501

Last change on this file since 501 was 501, checked in by dubos, 7 years ago

testing : DCMIP31 & DCMIP41

  • Property svn:executable set to *
File size: 11.5 KB
Line 
1function xml_iodef() {
2cat <<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>
19EOF
20}
21
22function xml_icosa() {
23cat <<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>
51       </field_group>
52    </file>
53
54    <file id="start" name="start" enabled="false" mode="read">
55       <field_group id="group_start" operation="once">
56          <field id="it_start" name="iteration"  grid_ref="scalar" enabled="false"/>
57          <field id="q_start" name="q"  grid_ref="grid_q_read" />
58          <field_group domain_ref="i">
59             <field id="ps_start" name="ps" />
60             <field id="phis_start" name="phis" />
61             <field_group axis_ref="lev_read" >
62                <field id="theta_rhodz_start" name="theta_rhodz" />
63                <field id="u_start" name="u" domain_ref="u"/>
64                <field id="ulon_start" name="ulon" />
65                <field id="ulat_start" name="ulat" />
66             </field_group>
67          </field_group>
68       </field_group>
69    </file>
70
71   
72  </file_definition>
73   
74  <axis_definition>
75    <axis id="lev" name="lev" positive="down" standard_name="atmopshere_hybrid_sigma_pressure_coordinate" long_name="hybrid level at midpoints" />
76    <axis id="lev_read" />
77    <axis id="levp1" name="ilev"  unit="level" positive="down" standard_name="atmopshere_hybride_sigma_pressure_coordinate" long_name="hybrid level at interface" />
78    <axis id="lev_pressure" positive="down"  n_glo="2" unit="Pa" value="(0,1)[85000 50000]" >
79      <interpolate_axis order="1" coordinate="p" />
80    </axis>   
81    <axis id="nq" name="nq" n_glo="5" value="(0,4)[1 2 3 4 5]"/>
82  </axis_definition>   
83 
84  <domain_definition>
85   
86     <domain_group id="i">
87       <domain id="i" name="mesh"/>     
88     </domain_group>
89     
90     
91     <domain id="v" />
92     <domain id="u" />
93     
94     <domain id="regular_half_degree" type="rectilinear" ni_glo="720" nj_glo="360" >
95       <generate_rectilinear_domain />
96       <interpolate_domain order="1"/>
97     </domain>
98     
99     <domain id="regular_one_degree" type="rectilinear" ni_glo="360" nj_glo="180" >
100       <generate_rectilinear_domain />
101       <interpolate_domain order="1"/>
102     </domain>
103     
104     <domain id="regular_two_degree" type="rectilinear" ni_glo="180" nj_glo="90" >
105       <generate_rectilinear_domain />
106       <interpolate_domain order="1"/>
107     </domain>
108     
109  </domain_definition>   
110 
111  <grid_definition>   
112    <grid id="scalar">
113      <scalar />
114    </grid>
115   
116    <grid id="grid_q">
117      <domain domain_ref="i" />
118      <axis axis_ref="lev" />
119      <axis axis_ref="nq" />
120    </grid >
121
122    <grid id="grid_q_read">
123      <domain domain_ref="i" />
124      <axis axis_ref="lev_read" />
125      <axis axis_ref="nq" />
126    </grid >
127 
128  </grid_definition>   
129 
130</context>
131EOF
132}
133
134function xml_field_def() {
135    cat <<EOF
136<field_definition level="1" enabled=".TRUE." operation="instant">
137 
138  <field_group id="standard_output">
139   
140    <field id="timestep" grid_ref="scalar" unit="s"/>
141    <field id="preff" grid_ref="scalar"    unit="Pa"/>
142    <field id="ap" axis_ref="levp1"   long_name="hybrid A coefficient at layer interface" />
143    <field id="bp" axis_ref="levp1"  long_name="hybrid B coefficient at layer interface" />
144    <field id="mid_ap" axis_ref="lev"   long_name="hybrid A coefficient at midpoints" />
145    <field id="mid_bp" axis_ref="lev"  long_name="hybrid B coefficient at midpoints" />
146   
147    <field_group domain_ref="i">
148      <field id="ps" />
149      <field id="dps"  />
150      <field id="Ai" />
151      <field id="phis" />
152      <field id="phi" />
153      <field id="precl" />
154      <field id="Q1_col_int" />     
155      <field id="Q2_col_int" />     
156      <field id="ps_init" />
157     
158      <field_group axis_ref="lev">
159        <field id="mass" />
160        <field id="p" />
161        <field id="dmass"/>
162        <field id="theta" />
163        <field id="dyn_q" />
164        <field id="pk"/>
165        <field id="ulon"/>
166        <field id="ulat"/>
167        <field id="uz"/>
168        <field id="omega"/>
169        <field id="temp"/>
170       
171        <field id="mass_init" />
172        <field id="p_init" />
173        <field id="theta_init" />
174        <field id="dyn_q_init" />
175        <field id="ulon_init"/>
176        <field id="ulat_init"/>
177        <field id="uz_init"/>
178        <field id="temp_init"/>
179       
180      </field_group>
181      <field id="u850" />
182      <field id="v850" />
183      <field id="w850" />
184      <field id="t850" />
185      <field id="omega850"/>                 
186      <field id="u500" />
187      <field id="v500" />
188      <field id="w500" />
189      <field id="t500" />
190      <field id="omega500"/>                 
191      <field id="SST"/>
192     
193      <field id="ulon_850_500" field_ref="p" axis_ref="lev_pressure" />
194     
195      <field_group axis_ref="levp1">
196        <field id="geopot"/>
197        <field id="geopot_init"/>
198      </field_group>
199    </field_group>
200    <field id="q_init" grid_ref="grid_q" />   
201    <field id="q" grid_ref="grid_q" />   
202   
203    <field_group domain_ref="v" axis_ref="lev">
204      <field id="vort" />
205      <field id="pv" />
206    </field_group>
207   
208  </field_group>
209 
210 
211</field_definition>
212
213EOF
214}
215
216function xml_dcmip() { # EXPNAME OUTPUT_GRID OUTPUT_FREQ
217EXPNAME=$1
218OUTPUT_GRID=$2
219OUTPUT_FREQ=$3
220NBP=80 # FIXME
221LLM=10 # FIXME
222cat <<EOF
223<file_definition > 
224
225  <file id="output_dcmip2016_native" convention="CF" enabled="false" output_freq="$OUTPUT_FREQ" sync_freq="$OUTPUT_FREQ" output_level="10" timeseries="none" description="$EXPNAME" >
226   
227    <field_group id="dcmip2016_output_field_once" operation="once" freq_offset="0ts" ts_enabled="true">
228      <field field_ref="timestep" name="mdt" />
229      <field field_ref="preff" name="P0" long_name="reference pressure" />
230      <field field_ref="ap" name="hyai"   />
231      <field field_ref="bp" name="hybi"   />
232      <field field_ref="mid_ap" name="hyam"   />
233      <field field_ref="mid_bp" name="hybm"   />
234    </field_group>
235   
236   
237    <field_group id="dcmip2016_output_field" ts_enabled="true">
238      <field field_ref="ps" name="PS"       standard_name="surface_pressure" long_name="Surface pressure"         unit="Pa" />
239      <field field_ref="phis" operation="once" freq_offset="0ts" name="PHIS"   standard_name="surface_geopotential" long_name="Surface geopotential" unit="m2/m2"/>
240      <field field_ref="geopot"  name="PHI"   standard_name="geopotential" long_name="geopotential" unit="m2/s2"/>
241      <field field_ref="ulon" name="U"      standard_name="eastward_wind" long_name="Zonal wind"                  unit="m/s"/>
242      <field field_ref="ulat" name="V"      standard_name="northward_wind" long_name="Meridional wind"            unit="m/s"/>
243      <field field_ref="uz" name="W"        standard_name="upward_air_velocity" long_name="Vertical velocity"     unit="m/s"/>
244      <field field_ref="omega" name="OMEGA"        standard_name="lagrangian_tendency_of_air_pressure" long_name="Vertical pressure velocity"     unit="Pa/s"/>
245      <field field_ref="p"  name="P"        standard_name="air_pressure" long_name="Pressure"     unit="Pa"/>
246      <field field_ref="temp"  name="T"        standard_name="air_temperature" long_name="Temperature"     unit="K"/>
247      <field field_ref="precl"  name="PRECT"     standard_name="rainfall_rate"  long_name="Large Scale precipitation rate"  unit="m/s"/>
248      <field field_ref="Q1_col_int"  name="Q1_col_int"      long_name="Single chlorine column integrated mixing ratio"  unit="kg/m2"/>
249      <field field_ref="Q2_col_int"  name="Q2_col_int"      long_name="Chlorine gas column integrated mixing ratio"  unit="kg/m2"/>
250      <field field_ref="u850" name="U850"       long_name="Zonal wind at 850 hPa"      unit="m/s"/>
251      <field field_ref="v850" name="V850"       long_name="Meridional wind at 850 hPa"   unit="m/s"/>
252      <field field_ref="w850" name="W850"       long_name="Vertical velocity at 850 hPa"     unit="m/s"/>
253      <field field_ref="t850" name="T850"       long_name="Temperature at 850 hPa"   unit="K"/>
254      <field field_ref="omega850" name="OMEGA850"   long_name="Vertical pressure velocity at 850 hPa"     unit="Pa/s"/>
255      <field field_ref="u500" name="U500"       long_name="Zonal wind at 500 hPa"      unit="m/s"/>
256      <field field_ref="v500" name="V500"       long_name="Meridional wind at 850 hPa"   unit="m/s"/>
257      <field field_ref="w850" name="W500"       long_name="Vertical velocity at 500 hPa"     unit="m/s"/>
258      <field field_ref="t500" name="T500"       long_name="Temperature at 850 hPa"   unit="K"/>
259      <field field_ref="omega500" name="OMEGA500"   long_name="Vertical pressure velocity at 500 hPa"     unit="Pa/s"/>
260      <field field_ref="SST" name="SST"       long_name="Sea surface temperature"   unit="K"/>
261     
262    </field_group>
263
264    <variable name="model" type="string" > dynamico </variable>
265    <variable name="test_case" type="string" > $EXPNAME </variable>
266    <variable name="horizontal_resolution" type="string" > native (grid points : 80x80x10) </variable>
267    <variable name="levels" type="string" > L10 </variable>
268    <variable name="grid" type="string" > hex </variable>
269    <variable name="equation" type="string" > hydro </variable>
270    <variable name="time_frequency" type="string" > $OUTPUT_FREQ </variable>   
271
272  </file>
273
274
275  <file id="output_dcmip2016_regular" enabled="true" output_freq="$OUTPUT_FREQ" sync_freq="$OUTPUT_FREQ" output_level="10" description="$EXPNAME" timeseries="none" >
276   
277    <field_group group_ref="dcmip2016_output_field_once"/>
278   
279    <field_group group_ref="dcmip2016_output_field" domain_ref="regular_$OUTPUT_GRID" />
280
281    <variable name="model" type="string" > dynamico </variable>
282    <variable name="test_case" type="string" > $EXPNAME </variable>
283    <variable name="horizontal_resolution" type="string" > $OUTPUT_GRID interpolated (grid points : $NBP x $NBP x $LLM) </variable>
284    <variable name="levels" type="string" > L30 </variable>
285    <variable name="grid" type="string" > hex </variable>
286    <variable name="equation" type="string" > hydro </variable>
287    <variable name="time_frequency" type="string" > $OUTPUT_FREQ </variable>   
288
289  </file>
290
291
292</file_definition>
293EOF
294}
Note: See TracBrowser for help on using the repository browser.