[501] | 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> |
---|
| 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> |
---|
| 131 | EOF |
---|
| 132 | } |
---|
| 133 | |
---|
| 134 | function 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 | |
---|
| 213 | EOF |
---|
| 214 | } |
---|
| 215 | |
---|
| 216 | function xml_dcmip() { # EXPNAME OUTPUT_GRID OUTPUT_FREQ |
---|
| 217 | EXPNAME=$1 |
---|
| 218 | OUTPUT_GRID=$2 |
---|
| 219 | OUTPUT_FREQ=$3 |
---|
| 220 | NBP=80 # FIXME |
---|
| 221 | LLM=10 # FIXME |
---|
| 222 | cat <<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> |
---|
| 293 | EOF |
---|
| 294 | } |
---|