Changeset 2139
- Timestamp:
- 06/02/21 11:03:35 (22 months ago)
- Location:
- XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite
- Files:
-
- 8 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/ARCH/arch-X64_IRENE.env
r2035 r2139 15 15 module load netcdf-fortran/4.4.4 16 16 module load hdf5/1.8.20 17 module load gnu 17 module load gnu/7.3.0 18 18 19 19 module load totalview -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/COMPILE/compile_irene
r1945 r2139 1 1 #!/bin/bash 2 2 3 set -x3 #set -x 4 4 5 5 export revision=$(svn info --show-item revision .. 2>&1) -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/COMPILE/config_compile.py
r2036 r2139 8 8 def OSinfo(runthis): 9 9 red = lambda text: '\033[0;31m' + text + '\033[0m' 10 osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess. STDOUT, close_fds=True)11 theInfo = osstdout.communicate()[0].strip()12 if osstdout.returncode!=0:10 osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) 11 theInfo, theErr = osstdout.communicate() 12 if theErr: 13 13 print(red(runthis+" FAILED")) 14 print(the Info)14 print(theErr) 15 15 sys.exit() 16 16 -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/ENV/irene.env
r2038 r2139 1 module load subversion 2 module load cmake 3 module load python3/3.7.5 1 module load subversion 2>&1 2 module load cmake 2>&1 3 module load python3/3.7.5 2>&1 4 module load cdo 2>&1 4 5 5 6 CHMOD() { chmod --quiet ug+rwX,o+rX "$@" ;} … … 12 13 export ref_location=/ccc/cont003/home/gencmip6/wangyush/automation_XIOS/reference/XIOS_COUPLING 13 14 #export ref_location=/ccc/cont003/home/gencmip6/wangyush/reference_dir 15 export ref_location=/ccc/work/cont003/gen0826/derouilj/XIOS_Unit_Tests/reference/XIOS_COUPLING 14 16 export ref_file=reference.tar.gz 15 17 -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/step2.py
r1915 r2139 18 18 def OSinfo(runthis): 19 19 red = lambda text: '\033[0;31m' + text + '\033[0m' 20 osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) 21 theInfo = osstdout.communicate()[0].strip() 22 if osstdout.returncode!=0: 20 osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) 21 theInfo, theErr = osstdout.communicate() 22 #print(theInfo) 23 if theErr: 23 24 print(red(runthis+" FAILED")) 24 print(the Info)25 print(theErr) 25 26 sys.exit() 27 28 #def OSinfo(runthis): 29 # red = lambda text: '\033[0;31m' + text + '\033[0m' 30 # osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) 31 # theInfo = osstdout.communicate()[0].strip() 32 # if osstdout.returncode!=0: 33 # print(red(runthis+" FAILED")) 34 # print(theInfo) 35 # sys.exit() 26 36 27 37 … … 72 82 for checkfile in checkfiles: 73 83 if os.path.exists(config+"/"+checkfile) and os.path.exists("reference/ref_"+config+"/"+checkfile): 74 OSinfo("cdo -W diffn "+config+"/"+checkfile+" "+"reference/ref_"+config+"/"+checkfile+" | > diff.txt")75 if os.stat("diff .txt").st_size==0:84 OSinfo("cdo -W diffn "+config+"/"+checkfile+" "+"reference/ref_"+config+"/"+checkfile+" 2>&1 |grep -v 'Found more than one time variable'|grep -v 'cdo diffn: Processed'|grep -v 'dimensional variables are not supported'|grep -v 'Time variable >time_counter< not found!' > diff_"+checkfile+".txt") 85 if os.stat("diff_"+checkfile+".txt").st_size==0: # if no diff -> set 0 76 86 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(1)+"\n") 77 elif os.path.exists(config+"/"+checkfile): 87 else: # if cdo diffn returns diff -> set -1 88 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(-1)+"\n") 89 90 elif os.path.exists(config+"/"+checkfile): # if no ref file -> set 0 78 91 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(0)+"\n") 92 elif os.path.exists("reference/ref_"+config+"/"+checkfile): # if no output file -> set -2 93 report.write(folder_name+" "+folder_name+"@"+config_name+" "+folder_name+"@"+config_name+"@"+checkfile+" "+str(-2)+"\n") 94 79 95 80 96 -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_axis_algo/checkfile.def
r2036 r2139 1 atm_output_interpolate.nc 1 #all 2 #atm_output_zoom.nc 3 atm_output_axis_transformation_reduce.nc 4 atm_output_axis_transformation_zoom.nc 5 atm_output_axis_transformation_extract.nc 6 atm_output_axis_transformation_extract_domain.nc 7 atm_output_axis_transformation_interpolate.nc 8 atm_output_axis_transformation_temporal_splitting.nc 9 atm_output_axis_transformation_duplicate_scalar.nc 10 atm_output_axis_transformation_inverse.nc -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_axis_algo/context_atm.xml
r2036 r2139 3 3 4 4 <calendar type="Gregorian" time_origin="1850-01-01 00:00:00" /> 5 5 6 <domain_definition> 7 <domain id="domain" /> 8 <domain id="other_domain" /> 9 </domain> 10 11 <axis_definition> 12 <axis id="axis" /> 13 <axis id="domain_X" /> 14 <axis id="domain_Y" /> 15 <axis id="ensemble" /> 16 <axis id="axis_interpolate" n_glo="2" value="(0,1)[80000 40000]"> 17 <interpolate_axis type="polynomial" order="1" coordinate="pressure"/> 18 </axis> 19 <axis id="axis_temporal_splitting" n_glo="4"> 20 <temporal_splitting /> 21 </axis> 22 23 <axis id="axis_duplicate_scalar" n_glo="5"> 24 <duplicate_scalar /> 25 </axis> 26 27 28 29 30 <axis id="other_axis" /> 31 <axis id="other_domain_X" /> 32 <axis id="other_domain_Y" /> 33 <axis id="other_ensemble" /> 34 </axis_definition> 35 6 36 <scalar_definition> 7 37 <scalar id="scalar" /> 8 38 <scalar id="other_scalar" /> 9 39 </scalar_definition> 40 41 42 43 <grid_definition> 44 45 <grid id="grid3D"> 46 <domain domain_ref="domain" /> 47 <axis axis_ref="axis" /> 48 </grid> 49 50 <grid id="grid3D_interpolate_axis"> 51 <domain domain_ref="domain" /> 52 <axis axis_ref="axis_interpolate" /> 53 </grid> 54 55 56 <grid id="grid2D"> 57 <domain domain_ref="domain" /> 58 </grid> 59 60 <grid id="grid2D_extract_domain"> 61 <axis n_glo="36" > 62 <extract_domain direction="iDir" position="5" /> 63 </axis> 64 </grid> 65 66 67 68 <grid id="grid1D"> 69 <axis axis_ref="axis" /> 70 </grid> 71 72 <grid id="grid1D_extract"> 73 <axis id="axis_extract" axis_ref="axis"> 74 <extract_axis n="5" begin="0" /> 75 </axis> 76 </grid> 77 78 <grid id="grid1D_zoom"> 79 <axis id="axis_zoom" axis_ref="axis"> 80 <zoom_axis n="5" begin="0" /> 81 </axis> 82 </grid> 83 84 85 <grid id="grid1D_inverse"> 86 <axis id="axis_inverse" axis_ref="axis"> 87 <inverse_axis /> 88 </axis> 89 </grid> 90 91 <grid id="grid1D_reduce_sum"> 92 <axis id="axis_reduce_sum" axis_ref="axis"> 93 <reduce_axis operation="sum"/> 94 </axis> 95 </grid> 96 97 <grid id="grid1D_reduce_max"> 98 <axis id="axis_reduce_max" axis_ref="axis"> 99 <reduce_axis operation="max"/> 100 </axis> 101 </grid> 102 103 104 <grid id="grid1D_reduce_min"> 105 <axis id="axis_reduce_min" axis_ref="axis"> 106 <reduce_axis operation="min"/> 107 </axis> 108 </grid> 109 110 <grid id="grid1D_reduce_ave"> 111 <axis id="axis_reduce_ave" axis_ref="axis"> 112 <reduce_axis operation="average"/> 113 </axis> 114 </grid> 115 116 <grid id="grid_src"> 117 <domain domain_ref="domain" /> 118 <axis axis_ref="axis" /> 119 <scalar scalar_ref="scalar"/> 120 </grid> 121 122 <grid id="grid_dst"> 123 <domain domain_ref="domain" /> 124 <axis axis_ref="axis" /> 125 <axis axis_ref="axis_temporal_splitting"/> 126 </grid> 127 128 <grid id="grid0D"> 129 <scalar scalar_ref="scalar" /> 130 </grid> 131 132 <grid id="grid1D_duplicate_scalar"> 133 <axis axis_ref="axis_duplicate_scalar" /> 134 </grid> 10 135 136 137 138 139 <grid id="grid_X"> 140 <axis axis_ref="domain_X" /> 141 </grid> 142 143 <grid id="grid_Y"> 144 <axis axis_ref="domain_Y" /> 145 </grid> 146 147 <grid id="grid_XY"> 148 <axis axis_ref="domain_X" /> 149 <axis axis_ref="domain_Y" /> 150 </grid> 151 152 <grid id="gridXY_zoomX"> 153 <axis id="domain_X_zoom" axis_ref="domain_X"> 154 <zoom_axis n="6" begin="1" /> 155 </axis> 156 <axis axis_ref="domain_Y" /> 157 </grid> 158 159 <grid id="gridXY_zoomY"> 160 <axis axis_ref="domain_X" /> 161 <axis id="domain_Y_zoom" axis_ref="domain_Y"> 162 <zoom_axis n="4" begin="2" /> 163 </axis> 164 </grid> 165 166 167 168 <grid id="grid_XYZ"> 169 <axis axis_ref="domain_X" /> 170 <axis axis_ref="domain_Y" /> 171 <axis axis_ref="axis" /> 172 </grid> 173 174 <grid id="grid_XZ"> 175 <axis axis_ref="domain_X" /> 176 <axis axis_ref="axis" /> 177 </grid> 178 179 <grid id="grid_YZ"> 180 <axis axis_ref="domain_Y" /> 181 <axis axis_ref="axis" /> 182 </grid> 183 184 185 <grid id="grid3D_W"> 186 <domain domain_ref="domain" /> 187 <axis axis_ref="axis" /> 188 <axis axis_ref="ensemble" /> 189 </grid> 190 191 <grid id="grid2D_W"> 192 <domain domain_ref="domain" /> 193 <axis axis_ref="ensemble" /> 194 </grid> 195 196 <grid id="grid1D_W"> 197 <axis axis_ref="axis" /> 198 <axis axis_ref="ensemble" /> 199 </grid> 200 201 <grid id="grid_XW"> 202 <axis axis_ref="domain_X" /> 203 <axis axis_ref="ensemble" /> 204 </grid> 205 206 <grid id="grid_YW"> 207 <axis axis_ref="domain_Y" /> 208 <axis axis_ref="ensemble" /> 209 </grid> 210 211 <grid id="grid_XYW"> 212 <axis axis_ref="domain_X" /> 213 <axis axis_ref="domain_Y" /> 214 <axis axis_ref="ensemble" /> 215 </grid> 216 217 <grid id="grid_XYZW"> 218 <axis axis_ref="domain_X" /> 219 <axis axis_ref="domain_Y" /> 220 <axis axis_ref="axis" /> 221 <axis axis_ref="ensemble" /> 222 </grid> 223 224 <grid id="grid_XZW"> 225 <axis axis_ref="domain_X" /> 226 <axis axis_ref="axis" /> 227 <axis axis_ref="ensemble" /> 228 </grid> 229 230 <grid id="grid_YZW"> 231 <axis axis_ref="domain_Y" /> 232 <axis axis_ref="axis" /> 233 <axis axis_ref="ensemble" /> 234 </grid> 235 11 236 12 <axis_definition>13 <axis id="axis" />14 <axis id="axis_str" n_glo="10" label="(0,9) [toto titi tata turlututu tito tati tuto tato tete tetu ] "/>15 <axis id="domain_X" />16 <axis id="domain_Y" />17 <axis id="ensemble" />18 19 <axis id="other_axis" />20 <axis id="other_domain_X" />21 <axis id="other_domain_Y" />22 <axis id="other_ensemble" />23 24 <axis id="axis_zoom" axis_ref="axis">25 <zoom_axis begin="0" n="5"/>26 </axis>27 </axis_definition>28 29 30 <domain_definition>31 <domain id="domain" />32 <domain id="other_domain" />33 </domain_definition>34 35 36 37 <grid_definition>38 39 <grid id="grid3D">40 <domain domain_ref="domain" />41 <axis axis_ref="axis" />42 </grid>43 44 <grid id="grid2D">45 <domain domain_ref="domain" id="grid2D_dom" />46 </grid>47 48 <grid id="grid1D">49 <axis axis_ref="axis" />50 </grid>51 52 <grid id="grid0D">53 <scalar scalar_ref="scalar" />54 </grid>55 56 <grid id="grid_X">57 <axis axis_ref="domain_X" />58 </grid>59 60 <grid id="grid_Y">61 <axis axis_ref="domain_Y" />62 </grid>63 64 <grid id="grid_XY">65 <axis axis_ref="domain_X" />66 <axis axis_ref="domain_Y" />67 </grid>68 69 <grid id="grid_XYZ">70 <axis axis_ref="domain_X" />71 <axis axis_ref="domain_Y" />72 <axis axis_ref="axis" />73 </grid>74 75 <grid id="grid_XZ">76 <axis axis_ref="domain_X" />77 <axis axis_ref="axis" />78 </grid>79 80 <grid id="grid_YZ">81 <axis axis_ref="domain_Y" />82 <axis axis_ref="axis" />83 </grid>84 85 86 <grid id="grid3D_W">87 <domain domain_ref="domain" />88 <axis axis_ref="axis" />89 <axis axis_ref="ensemble" />90 </grid>91 92 <grid id="grid2D_W">93 <domain domain_ref="domain" />94 <axis axis_ref="ensemble" />95 </grid>96 97 <grid id="grid1D_W">98 <axis axis_ref="axis" />99 <axis axis_ref="ensemble" />100 </grid>101 102 <grid id="grid0D_W">103 <scalar scalar_ref="scalar" />104 <axis axis_ref="ensemble" />105 </grid>106 107 <grid id="grid_XW">108 <axis axis_ref="domain_X" />109 <axis axis_ref="ensemble" />110 </grid>111 112 <grid id="grid_YW">113 <axis axis_ref="domain_Y" />114 <axis axis_ref="ensemble" />115 </grid>116 117 <grid id="grid_XYW">118 <axis axis_ref="domain_X" />119 <axis axis_ref="domain_Y" />120 <axis axis_ref="ensemble" />121 </grid>122 123 <grid id="grid_XYZW">124 <axis axis_ref="domain_X" />125 <axis axis_ref="domain_Y" />126 <axis axis_ref="axis" />127 <axis axis_ref="ensemble" />128 </grid>129 130 <grid id="grid_XZW">131 <axis axis_ref="domain_X" />132 <axis axis_ref="axis" />133 <axis axis_ref="ensemble" />134 </grid>135 136 <grid id="grid_YZW">137 <axis axis_ref="domain_Y" />138 <axis axis_ref="axis" />139 <axis axis_ref="ensemble" />140 </grid>141 142 237 143 238 <grid id="other_grid3D"> … … 147 242 148 243 <grid id="other_grid2D"> 149 <domain domain_ref="other_domain" id="test_dom"/>244 <domain domain_ref="other_domain" /> 150 245 </grid> 151 246 152 247 <grid id="other_grid1D"> 153 248 <axis axis_ref="other_axis" /> 154 </grid>155 156 <grid id="other_grid0D">157 <scalar scalar_ref="other_scalar" />158 249 </grid> 159 250 … … 204 295 </grid> 205 296 206 <grid id="other_grid0D_W">207 <scalar scalar_ref="other_scalar" />208 <axis axis_ref="other_ensemble" />209 </grid>210 211 297 <grid id="other_grid_XW"> 212 298 <axis axis_ref="other_domain_X" /> … … 244 330 </grid> 245 331 246 332 247 333 </grid_definition> 248 334 249 335 250 336 <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 251 <field id="field0D" grid_ref="grid0D"/>252 337 <field id="field2D" grid_ref="grid2D" /> 253 338 <field id="field3D" grid_ref="grid3D" /> 254 339 <field id="pressure" grid_ref="grid3D" /> 255 256 <!-- <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D"/>257 <field id="field3D_resend" grid_ref="grid3D" /> --> 340 <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D" /> 341 <field id="field3D_resend" grid_ref="grid3D" /> 342 258 343 <field id="field_X" grid_ref="grid_X" /> 259 344 <field id="field_Y" grid_ref="grid_Y" /> … … 264 349 <field id="field_YZ" grid_ref="grid_YZ" /> 265 350 266 <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert" /> 267 <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum" /> 268 269 270 <field id="field0D_W" grid_ref="grid0D_W"/> 351 271 352 <field id="field2D_W" grid_ref="grid2D_W"/> 272 353 <field id="field3D_W" grid_ref="grid3D_W" /> 273 354 <field id="pressure_W" grid_ref="grid3D_W" /> 274 <!-- ym disable for now275 355 <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W" field_ref="field3D_W"/> 276 356 <field id="field3D_resend_W" grid_ref="grid3D_W" /> 277 --> 357 278 358 <field id="field_XW" grid_ref="grid_XW" /> 279 359 <field id="field_YW" grid_ref="grid_YW" /> … … 285 365 286 366 287 288 <field id="other_field0D" grid_ref="other_grid0D"/> 289 <!-- <field id="other_field2D" grid_ref="other_grid2D"/> --> 290 <field id="other_field2D" grid_ref="zoom1"/> 367 <field id="other_field2D" grid_ref="other_grid2D"/> 291 368 <field id="other_field3D" grid_ref="other_grid3D" /> 292 369 <field id="other_pressure" grid_ref="other_grid3D" /> 293 <!-- ym disable for now294 370 <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D" field_ref="other_field3D"/> 295 371 <field id="other_field3D_resend" grid_ref="other_grid3D" /> 296 --> 372 297 373 <field id="other_field_X" grid_ref="other_grid_X" /> 298 374 <field id="other_field_Y" grid_ref="other_grid_Y" /> … … 303 379 <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 304 380 305 <field id="other_field0D_W" grid_ref="other_grid0D_W"/>306 381 <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 307 382 <field id="other_field3D_W" grid_ref="other_grid3D_W" /> 308 383 <field id="other_pressure_W" grid_ref="other_grid3D_W" /> 309 <!-- ym disable for now310 384 <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W" field_ref="other_field3D_W"/> 311 385 <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 312 --> 386 313 387 <field id="other_field_XW" grid_ref="other_grid_XW" /> 314 388 <field id="other_field_YW" grid_ref="other_grid_YW" /> … … 318 392 <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 319 393 <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 394 395 <field id="field_src" grid_ref="grid_src" field_ref="field3D" > field3D </field> 396 320 397 321 398 </field_definition> 322 323 324 <!-- test transform --> 325 326 327 <axis_definition> 328 <axis id="axis_inverse" axis_ref="axis"> 329 <inverse_axis /> 330 </axis> 331 332 <axis id="axis_extract" > 333 <extract_axis begin="1" n="5" /> 334 </axis> 335 336 337 338 </axis_definition> 339 340 <domain_definition> 341 342 <domain id="domain_extract"> 343 <extract_domain ibegin="0" ni="36" jbegin="2" nj="3" /> 344 </domain> 399 400 401 402 <!-- implementation of specifics test case --> 403 <!-- simplest test cases : output data to file --> 404 405 406 407 <file_definition type="one_file" > 408 <file id="atm_output_axis_transformation_reduce" output_freq="4ts" type="one_file" enabled="true"> 409 <field field_ref="field_Z" /> 410 <field id="field_Z_reduce_sum" field_ref="field_Z" grid_ref="grid1D_reduce_sum" /> 411 <field id="field_Z_reduce_max" field_ref="field_Z" grid_ref="grid1D_reduce_max" /> 412 <field id="field_Z_reduce_min" field_ref="field_Z" grid_ref="grid1D_reduce_min" /> 413 <field id="field_Z_reduce_ave" field_ref="field_Z" grid_ref="grid1D_reduce_ave" /> 414 </file> 415 416 <file id="atm_output_axis_transformation_zoom" output_freq="12ts" type="one_file" enabled="true"> 417 <field field_ref="field_Z" /> 418 <field id="field_Z_zoom" field_ref="field_Z" grid_ref="grid1D_zoom" /> 419 <field field_ref="field_XY" /> 420 <field id="field_XY_zoomX" field_ref="field_XY" grid_ref="gridXY_zoomX" /> 421 <field id="field_XY_zoomY" field_ref="field_XY" grid_ref="gridXY_zoomY" /> 422 </file> 423 424 <file id="atm_output_axis_transformation_extract" output_freq="12ts" type="one_file" enabled="true"> 425 <field field_ref="field_Z" /> 426 <field id="field_Z_extract" field_ref="field_Z" grid_ref="grid1D_extract" /> 427 </file> 428 345 429 346 347 <domain id="domain_reorder" domain_ref="domain"> 348 <reorder_domain invert_lat="true" shift_lon_fraction="0.5"/> 349 </domain> 350 351 <domain id="domain_expand" > 352 <expand_domain order="1" type="edge"/> 353 </domain> 354 355 <domain id="domain_interpolate" domain_ref="other_domain" > 356 <interpolate_domain detect_missing_value="false"/> 357 </domain> 358 359 <domain id="domain_connect" > 360 <compute_connectivity_domain type="edge"/> 361 </domain> 362 363 <domain id="domain_recti" ni_glo="40" nj_glo="20" type="rectilinear" /> 364 365 366 <domain id="domain_expand_extract" > 367 <expand_domain order="1" type="edge"/> 368 <extract_domain ibegin="0" ni="38" jbegin="2" nj="3" /> 369 </domain> 370 371 372 373 </domain_definition> 374 375 <grid_definition> 376 377 <grid id="grid1D_inverse"> 378 <axis axis_ref="axis_inverse" /> 379 </grid> 380 381 <grid id="grid1D_extract"> 382 <axis axis_ref="axis_extract" /> 383 </grid> 384 385 386 <grid id="grid2D_extract"> 387 <domain domain_ref="domain_extract" /> 388 </grid> 389 390 <grid id="grid2D_zoom"> 391 <domain domain_ref="domain_zoom" /> 392 </grid> 393 394 395 <grid id="grid2D_reorder"> 396 <domain domain_ref="domain_reorder" /> 397 </grid> 398 399 <grid id="grid2D_expand"> 400 <domain domain_ref="domain_expand" /> 401 </grid> 402 403 <grid id="grid2D_interpolate"> 404 <domain domain_ref="domain_interpolate" /> 405 </grid> 406 407 408 <grid id="grid2D_connect"> 409 <domain domain_ref="domain_connect" /> 410 </grid> 411 412 413 <grid id="grid2D_recti"> 414 <domain domain_ref="domain_recti" > 415 <generate_rectilinear_domain lat_start="-85" lon_start="-175" /> 416 <interpolate_domain detect_missing_value="false"/> 417 </domain> 418 </grid> 419 420 <grid id="grid2D_expand_extract"> 421 <domain domain_ref="domain_expand_extract" /> 422 </grid> 423 424 <grid id="grid2D_extract_domain"> 425 <axis n_glo="36"> 426 <extract_domain position="2" direction="jDir" /> 427 </axis> 428 </grid> 429 430 <grid id="grid3D_axis_interpolate"> 431 <domain domain_ref="domain"/> 432 <axis n_glo="2" value="(0,1)[40000 20000]"> 433 <interpolate_axis coordinate="pressure" /> 434 </axis> 435 </grid> 436 437 <grid id="grid3D_axis_interpolate_bis"> 438 <domain domain_ref="domain"/> 439 <axis n_glo="2" value="(0,1)[40000 20000]"> 440 <interpolate_axis /> 441 </axis> 442 </grid> 443 444 445 </grid_definition> 446 447 448 <field_definition> 449 <field_group id="fields_with_domain_transformation" operation="instant" > 450 <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract"/> 451 <field id="field2D_reorder" field_ref="field2D" grid_ref="grid2D_reorder" /> 452 <field id="field2D_expand" field_ref="field2D" grid_ref="grid2D_expand"/> 453 <field id="field2D_connect" field_ref="field2D" grid_ref="grid2D_connect"/> 454 <field id="field2D_interpo" field_ref="field2D" grid_ref="grid2D_interpolate"/> 455 <field id="field2D_recti" field_ref="field2D" grid_ref="grid2D_recti"/> 456 <field id="field2D_exp_ext" field_ref="field2D" grid_ref="grid2D_expand_extract"/> 457 <field id="field2D_reorder_ext" field_ref="field2D_reorder" grid_ref="grid2D_extract"/> 458 </field_group> 459 460 <field_group id="fields_with_axis_transformation" operation="instant" > 461 <field id="fieldZ_inverse" field_ref="field_Z" grid_ref="grid1D_inverse"/> 462 <field id="fieldZ_extract" field_ref="field_Z" grid_ref="grid1D_extract"/> 463 <field id="field2D_extract_domain" field_ref="field2D" grid_ref="grid2D_extract_domain"/> 464 <field id="field3D_interpo" field_ref="field3D" grid_ref="grid3D_axis_interpolate"/> 465 <field id="field3D_interpo_bis" field_ref="field3D" grid_ref="grid3D_axis_interpolate_bis"/> 466 </field_group> 467 468 </field_definition> 469 470 471 472 <file_definition> 473 474 <file id="atm_output_domain" output_freq="1ts" type="one_file" enabled="false"> 475 <field field_ref="field2D_extract" /> 476 <field field_ref="field2D_reorder" /> 477 <field field_ref="field2D_expand" /> 478 <field field_ref="field2D_interpo" /> 479 <field field_ref="field2D_recti" /> 480 <field field_ref="field2D_exp_ext" /> 481 <field field_ref="field2D_reorder_ext" /> 482 <field id="field2D" /> 483 </file> 484 485 <file id="atm_output_axis" output_freq="4ts" type="one_file" enabled="false"> 486 <field field_ref="fieldZ_inverse" enabled="false" /> 487 <field field_ref="fieldZ_extract" enabled="true"/> 488 <field field_ref="field2D_extract_domain" enabled="false"/> 489 <field id="field_Z" enabled="true"/> 490 <field id="field2D" enabled="true"/> 491 </file> 492 493 <file id="atm_output_interpolate" output_freq="1ts" type="one_file" enabled="true"> 494 <field field_ref="field3D_interpo" /> 495 <field field_ref="field3D_interpo_bis" /> 496 <field id="field3D" /> 497 </file> 498 499 500 430 <file id="atm_output_axis_transformation_inverse" output_freq="12ts" type="one_file" enabled="true"> 431 <field field_ref="field_Z" /> 432 <field id="field_Z_inverse" field_ref="field_Z" grid_ref="grid1D_inverse" /> 433 </file> 434 435 <file id="atm_output_axis_transformation_extract_domain" output_freq="12ts" type="one_file" enabled="true"> 436 <field field_ref="field2D" /> 437 <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract_domain" /> 438 </file> 439 440 <file id="atm_output_axis_transformation_interpolate" output_freq="24ts" type="one_file" enabled="true"> 441 <field field_ref="field3D" /> 442 <field field_ref="pressure" /> 443 <field id="field_interpolate_axis" field_ref="field3D" grid_ref="grid3D_interpolate_axis" /> 444 </file> 445 446 <file id="atm_output_axis_transformation_temporal_splitting" output_freq="4ts" type="one_file" enabled="true"> 447 <field field_ref="field_src" operation="instant" /> 448 <field id="field_temporal_splitting" field_ref="field_src" grid_ref="grid_dst" /> 449 </file> 450 451 <file id="atm_output_axis_transformation_duplicate_scalar" output_freq="4ts" type="one_file" enabled="false"> 452 <field field_ref="field_Z" /> 453 <field id="field_0D" field_ref="field_Z" name="field_0D" grid_ref="grid0D" /> 454 <field id="field_duplicate_scalar" field_ref="field_0D" name="field_duplicate_scalar" grid_ref="grid1D_duplicate_scalar" /> 455 </file> 456 457 458 459 460 461 <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 462 <field field_ref="field3D" /> 463 <field field_ref="field2D" /> 464 <field field_ref="field_X" /> 465 <field field_ref="field_Y" /> 466 <field field_ref="field_XY" /> 467 <field field_ref="field_Z" /> 468 <field field_ref="field_XYZ" /> 469 <field field_ref="field_XZ" /> 470 <field field_ref="field_YZ" /> 471 <field field_ref="pressure" /> 472 <field field_ref="field3D_resend" /> 473 </file> 474 475 <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 476 <field field_ref="other_field3D" /> 477 <field field_ref="other_field2D" /> 478 <field field_ref="other_field_X" /> 479 <field field_ref="other_field_Y" /> 480 <field field_ref="other_field_XY" /> 481 <field field_ref="other_field_Z" /> 482 <field field_ref="other_field_XYZ" /> 483 <field field_ref="other_field_XZ" /> 484 <field field_ref="other_field_YZ" /> 485 <field field_ref="other_pressure" /> 486 <field field_ref="other_field3D_resend" /> 487 </file> 488 489 <file id="atm_output_W" output_freq="1ts" enabled="false"> 490 <field field_ref="field3D_W" /> 491 <field field_ref="field2D_W" /> 492 <field field_ref="field_XW" /> 493 <field field_ref="field_YW" /> 494 <field field_ref="field_XYW" /> 495 <field field_ref="field_ZW" /> 496 <field field_ref="field_XYZW" /> 497 <field field_ref="field_XZW" /> 498 <field field_ref="field_YZW" /> 499 </file> 500 501 501 502 </file_definition> 502 503 504 503 505 504 506 505 </context> -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_axis_algo/user_param.json
r1924 r2139 5 5 "NumberServers": [2, 4], 6 6 "AxisMask": ["false"] 7 },8 {9 "Domain": ["lmdz"],10 "UseServer2": ["true"],11 "NumberServers": [6, 8],12 "AxisMask": ["false"]13 7 } 14 8 ] -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/checkfile.def
r2036 r2139 1 1 #all 2 2 3 atm_output_interpolate.nc 3 atm_output_domain_transformation_reorder.nc 4 atm_output_domain_transformation_extract.nc 5 atm_output_domain_transformation_zoom.nc 6 atm_output_domain_transformation_interpolate.nc 7 atm_output_domain_transformation_expand.nc 4 8 -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/context_atm.xml
r2036 r2139 3 3 4 4 <calendar type="Gregorian" time_origin="1850-01-01 00:00:00" /> 5 5 6 <domain_definition> 7 <domain id="domain" /> 8 <domain id="other_domain" /> 9 <domain id="square_domain" ni_glo="36" nj_glo="36" 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 6 25 <scalar_definition> 7 26 <scalar id="scalar" /> 8 27 <scalar id="other_scalar" /> 9 28 </scalar_definition> 10 11 12 <axis_definition>13 <axis id="axis" />14 <axis id="axis_str" n_glo="10" label="(0,9) [toto titi tata turlututu tito tati tuto tato tete tetu ] "/>15 <axis id="domain_X" />16 <axis id="domain_Y" />17 <axis id="ensemble" />18 19 <axis id="other_axis" />20 <axis id="other_domain_X" />21 <axis id="other_domain_Y" />22 <axis id="other_ensemble" />23 24 <axis id="axis_zoom" axis_ref="axis">25 <zoom_axis begin="0" n="5"/>26 </axis>27 </axis_definition>28 29 30 <domain_definition>31 <domain id="domain" />32 <domain id="other_domain" />33 </domain_definition>34 29 35 30 … … 43 38 44 39 <grid id="grid2D"> 45 <domain domain_ref="domain" id="grid2D_dom"/>40 <domain domain_ref="domain" /> 46 41 </grid> 47 42 … … 49 44 <axis axis_ref="axis" /> 50 45 </grid> 51 52 <grid id="grid0D"> 53 <scalar scalar_ref="scalar" /> 54 </grid> 46 47 <grid id="grid2D_zoom"> 48 <domain domain_ref="domain"> 49 <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 50 </domain> 51 </grid> 52 53 <grid id="grid2D_extract"> 54 <domain domain_ref="domain"> 55 <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 56 </domain> 57 </grid> 58 59 <grid id="grid3D_zoom"> 60 <domain domain_ref="domain"> 61 <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 62 </domain> 63 <axis axis_ref="axis" /> 64 </grid> 65 66 <grid id="grid3D_extract"> 67 <domain domain_ref="domain"> 68 <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 69 </domain> 70 <axis axis_ref="axis" /> 71 </grid> 72 73 <grid id="grid2D_square"> 74 <domain domain_ref="square_domain"> 75 <generate_rectilinear_domain lon_start="-175"/> 76 <interpolate_domain /> 77 </domain> 78 </grid> 79 80 <grid id="grid2D_reorder"> 81 <domain domain_ref="domain"> 82 <reorder_domain invert_lat="true" /> 83 </domain> 84 </grid> 85 86 <grid id="grid2D_expand"> 87 <domain domain_ref="domain"> 88 <expand_domain order="1" type="node"/> 89 </domain> 90 </grid> 91 92 93 94 95 96 55 97 56 98 <grid id="grid_X"> … … 100 142 </grid> 101 143 102 <grid id="grid0D_W">103 <scalar scalar_ref="scalar" />104 <axis axis_ref="ensemble" />105 </grid>106 107 144 <grid id="grid_XW"> 108 145 <axis axis_ref="domain_X" /> … … 140 177 </grid> 141 178 179 142 180 143 181 <grid id="other_grid3D"> … … 147 185 148 186 <grid id="other_grid2D"> 149 <domain domain_ref="other_domain" id="test_dom"/>187 <domain domain_ref="other_domain" /> 150 188 </grid> 151 189 152 190 <grid id="other_grid1D"> 153 191 <axis axis_ref="other_axis" /> 154 </grid>155 156 <grid id="other_grid0D">157 <scalar scalar_ref="other_scalar" />158 192 </grid> 159 193 … … 204 238 </grid> 205 239 206 <grid id="other_grid0D_W">207 <scalar scalar_ref="other_scalar" />208 <axis axis_ref="other_ensemble" />209 </grid>210 211 240 <grid id="other_grid_XW"> 212 241 <axis axis_ref="other_domain_X" /> … … 244 273 </grid> 245 274 246 275 247 276 </grid_definition> 248 277 249 278 250 279 <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 251 <field id="field0D" grid_ref="grid0D"/>252 280 <field id="field2D" grid_ref="grid2D" /> 253 281 <field id="field3D" grid_ref="grid3D" /> 254 282 <field id="pressure" grid_ref="grid3D" /> 255 256 <!-- <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D"/>257 <field id="field3D_resend" grid_ref="grid3D" /> --> 283 <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D" /> 284 <field id="field3D_resend" grid_ref="grid3D" /> 285 258 286 <field id="field_X" grid_ref="grid_X" /> 259 287 <field id="field_Y" grid_ref="grid_Y" /> … … 264 292 <field id="field_YZ" grid_ref="grid_YZ" /> 265 293 266 <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert" /> 267 <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum" /> 268 269 270 <field id="field0D_W" grid_ref="grid0D_W"/> 294 271 295 <field id="field2D_W" grid_ref="grid2D_W"/> 272 296 <field id="field3D_W" grid_ref="grid3D_W" /> 273 297 <field id="pressure_W" grid_ref="grid3D_W" /> 274 <!-- ym disable for now275 298 <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W" field_ref="field3D_W"/> 276 299 <field id="field3D_resend_W" grid_ref="grid3D_W" /> 277 --> 300 278 301 <field id="field_XW" grid_ref="grid_XW" /> 279 302 <field id="field_YW" grid_ref="grid_YW" /> … … 285 308 286 309 287 288 <field id="other_field0D" grid_ref="other_grid0D"/> 289 <!-- <field id="other_field2D" grid_ref="other_grid2D"/> --> 290 <field id="other_field2D" grid_ref="zoom1"/> 310 <field id="other_field2D" grid_ref="other_grid2D"/> 291 311 <field id="other_field3D" grid_ref="other_grid3D" /> 292 312 <field id="other_pressure" grid_ref="other_grid3D" /> 293 <!-- ym disable for now294 313 <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D" field_ref="other_field3D"/> 295 314 <field id="other_field3D_resend" grid_ref="other_grid3D" /> 296 --> 315 297 316 <field id="other_field_X" grid_ref="other_grid_X" /> 298 317 <field id="other_field_Y" grid_ref="other_grid_Y" /> … … 303 322 <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 304 323 305 <field id="other_field0D_W" grid_ref="other_grid0D_W"/>306 324 <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 307 325 <field id="other_field3D_W" grid_ref="other_grid3D_W" /> 308 326 <field id="other_pressure_W" grid_ref="other_grid3D_W" /> 309 <!-- ym disable for now310 327 <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W" field_ref="other_field3D_W"/> 311 328 <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 312 --> 329 313 330 <field id="other_field_XW" grid_ref="other_grid_XW" /> 314 331 <field id="other_field_YW" grid_ref="other_grid_YW" /> … … 318 335 <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 319 336 <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 337 338 320 339 321 340 </field_definition> 322 323 324 <!-- test transform --> 325 326 327 <axis_definition> 328 <axis id="axis_inverse" axis_ref="axis"> 329 <inverse_axis /> 330 </axis> 331 332 <axis id="axis_extract" > 333 <extract_axis begin="1" n="5" /> 334 </axis> 335 336 337 338 </axis_definition> 339 340 <domain_definition> 341 342 <domain id="domain_extract"> 343 <extract_domain ibegin="0" ni="36" jbegin="2" nj="3" /> 344 </domain> 345 346 347 <domain id="domain_reorder" domain_ref="domain"> 348 <reorder_domain invert_lat="true" shift_lon_fraction="0.5"/> 349 </domain> 350 351 <domain id="domain_expand" > 352 <expand_domain order="1" type="edge"/> 353 </domain> 354 355 <domain id="domain_interpolate" domain_ref="other_domain" > 356 <interpolate_domain detect_missing_value="false"/> 357 </domain> 358 359 <domain id="domain_connect" > 360 <compute_connectivity_domain type="edge"/> 361 </domain> 362 363 <domain id="domain_recti" ni_glo="40" nj_glo="20" type="rectilinear" /> 364 365 366 <domain id="domain_expand_extract" > 367 <expand_domain order="1" type="edge"/> 368 <extract_domain ibegin="0" ni="38" jbegin="2" nj="3" /> 369 </domain> 370 371 372 373 </domain_definition> 374 375 <grid_definition> 376 377 <grid id="grid1D_inverse"> 378 <axis axis_ref="axis_inverse" /> 379 </grid> 380 381 <grid id="grid1D_extract"> 382 <axis axis_ref="axis_extract" /> 383 </grid> 384 385 386 <grid id="grid2D_extract"> 387 <domain domain_ref="domain_extract" /> 388 </grid> 389 390 <grid id="grid2D_zoom"> 391 <domain domain_ref="domain_zoom" /> 392 </grid> 393 394 395 <grid id="grid2D_reorder"> 396 <domain domain_ref="domain_reorder" /> 397 </grid> 398 399 <grid id="grid2D_expand"> 400 <domain domain_ref="domain_expand" /> 401 </grid> 402 403 <grid id="grid2D_interpolate"> 404 <domain domain_ref="domain_interpolate" /> 405 </grid> 406 407 408 <grid id="grid2D_connect"> 409 <domain domain_ref="domain_connect" /> 410 </grid> 411 412 413 <grid id="grid2D_recti"> 414 <domain domain_ref="domain_recti" > 415 <generate_rectilinear_domain lat_start="-85" lon_start="-175" /> 416 <interpolate_domain detect_missing_value="false"/> 417 </domain> 418 </grid> 419 420 <grid id="grid2D_expand_extract"> 421 <domain domain_ref="domain_expand_extract" /> 422 </grid> 423 424 <grid id="grid2D_extract_domain"> 425 <axis n_glo="36"> 426 <extract_domain position="2" direction="jDir" /> 427 </axis> 428 </grid> 429 430 <grid id="grid3D_axis_interpolate"> 431 <domain domain_ref="domain"/> 432 <axis n_glo="2" value="(0,1)[40000 20000]"> 433 <interpolate_axis coordinate="pressure" /> 434 </axis> 435 </grid> 436 437 <grid id="grid3D_axis_interpolate_bis"> 438 <domain domain_ref="domain"/> 439 <axis n_glo="2" value="(0,1)[40000 20000]"> 440 <interpolate_axis /> 441 </axis> 442 </grid> 443 444 445 </grid_definition> 446 447 448 <field_definition> 449 <field_group id="fields_with_domain_transformation" operation="instant" > 450 <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract"/> 451 <field id="field2D_reorder" field_ref="field2D" grid_ref="grid2D_reorder" /> 452 <field id="field2D_expand" field_ref="field2D" grid_ref="grid2D_expand"/> 453 <field id="field2D_connect" field_ref="field2D" grid_ref="grid2D_connect"/> 454 <field id="field2D_interpo" field_ref="field2D" grid_ref="grid2D_interpolate"/> 455 <field id="field2D_recti" field_ref="field2D" grid_ref="grid2D_recti"/> 456 <field id="field2D_exp_ext" field_ref="field2D" grid_ref="grid2D_expand_extract"/> 457 <field id="field2D_reorder_ext" field_ref="field2D_reorder" grid_ref="grid2D_extract"/> 458 </field_group> 459 460 <field_group id="fields_with_axis_transformation" operation="instant" > 461 <field id="fieldZ_inverse" field_ref="field_Z" grid_ref="grid1D_inverse"/> 462 <field id="fieldZ_extract" field_ref="field_Z" grid_ref="grid1D_extract"/> 463 <field id="field2D_extract_domain" field_ref="field2D" grid_ref="grid2D_extract_domain"/> 464 <field id="field3D_interpo" field_ref="field3D" grid_ref="grid3D_axis_interpolate"/> 465 <field id="field3D_interpo_bis" field_ref="field3D" grid_ref="grid3D_axis_interpolate_bis"/> 466 </field_group> 467 468 </field_definition> 469 470 471 472 <file_definition> 473 474 <file id="atm_output_domain" output_freq="1ts" type="one_file" enabled="false"> 475 <field field_ref="field2D_extract" /> 476 <field field_ref="field2D_reorder" /> 477 <field field_ref="field2D_expand" /> 478 <field field_ref="field2D_interpo" /> 479 <field field_ref="field2D_recti" /> 480 <field field_ref="field2D_exp_ext" /> 481 <field field_ref="field2D_reorder_ext" /> 482 <field id="field2D" /> 483 </file> 484 485 <file id="atm_output_axis" output_freq="4ts" type="one_file" enabled="false"> 486 <field field_ref="fieldZ_inverse" enabled="false" /> 487 <field field_ref="fieldZ_extract" enabled="true"/> 488 <field field_ref="field2D_extract_domain" enabled="false"/> 489 <field id="field_Z" enabled="true"/> 490 <field id="field2D" enabled="true"/> 491 </file> 492 493 <file id="atm_output_interpolate" output_freq="1ts" type="one_file" enabled="true"> 494 <field field_ref="field3D_interpo" /> 495 <field field_ref="field3D_interpo_bis" /> 496 <field id="field3D" /> 497 </file> 498 499 500 341 342 343 344 <!-- implementation of specifics test case --> 345 <!-- simplest test cases : output data to file --> 346 347 348 349 <file_definition type="one_file" > 350 <file id="atm_output_domain_transformation_zoom" output_freq="12ts" type="one_file" enabled="false"> 351 <field field_ref="field2D" /> 352 <field field_ref="field3D" /> 353 <field id="field2D_zoom" field_ref="field2D" grid_ref="grid2D_zoom" /> 354 <field id="field3D_zoom" field_ref="field3D" grid_ref="grid3D_zoom" /> 355 </file> 356 357 <file id="atm_output_domain_transformation_extract" output_freq="12ts" type="one_file" enabled="false"> 358 <field field_ref="field2D" /> 359 <field field_ref="field3D" /> 360 <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract" /> 361 <field id="field3D_extract" field_ref="field3D" grid_ref="grid3D_extract" /> 362 </file> 363 364 <file id="atm_output_domain_transformation_interpolate" output_freq="12ts" type="one_file" enabled="true"> 365 <field field_ref="field2D" /> 366 <field id="field2D_interpolate" field_ref="field2D" grid_ref="grid2D_square" /> 367 </file> 368 369 <file id="atm_output_domain_transformation_reorder" output_freq="12ts" type="one_file" enabled="true"> 370 <field field_ref="field2D" /> 371 <field id="field2D_reorder" field_ref="field2D" grid_ref="grid2D_reorder" /> 372 </file> 373 374 <file id="atm_output_domain_transformation_expand" output_freq="12ts" type="one_file" enabled="true"> 375 <field id="field2D_expand" field_ref="field2D" grid_ref="grid2D_expand" /> 376 </file> 377 378 379 380 <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 381 <field field_ref="field3D" /> 382 <field field_ref="field2D" /> 383 <field field_ref="field_X" /> 384 <field field_ref="field_Y" /> 385 <field field_ref="field_XY" /> 386 <field field_ref="field_Z" /> 387 <field field_ref="field_XYZ" /> 388 <field field_ref="field_XZ" /> 389 <field field_ref="field_YZ" /> 390 <field field_ref="pressure" /> 391 <field field_ref="field3D_resend" /> 392 </file> 393 394 <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 395 <field field_ref="other_field3D" /> 396 <field field_ref="other_field2D" /> 397 <field field_ref="other_field_X" /> 398 <field field_ref="other_field_Y" /> 399 <field field_ref="other_field_XY" /> 400 <field field_ref="other_field_Z" /> 401 <field field_ref="other_field_XYZ" /> 402 <field field_ref="other_field_XZ" /> 403 <field field_ref="other_field_YZ" /> 404 <field field_ref="other_pressure" /> 405 <field field_ref="other_field3D_resend" /> 406 </file> 407 408 <file id="atm_output_W" output_freq="1ts" enabled="false"> 409 <field field_ref="field3D_W" /> 410 <field field_ref="field2D_W" /> 411 <field field_ref="field_XW" /> 412 <field field_ref="field_YW" /> 413 <field field_ref="field_XYW" /> 414 <field field_ref="field_ZW" /> 415 <field field_ref="field_XYZW" /> 416 <field field_ref="field_XZW" /> 417 <field field_ref="field_YZW" /> 418 </file> 419 420 501 421 </file_definition> 502 503 504 422 505 423 506 424 </context> -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/user_param.json
r1924 r2139 2 2 { 3 3 "Domain": ["lmdz"], 4 "NumberServers": [2 , 4, 6, 8],4 "NumberServers": [2], 5 5 "DomMask": ["false"], 6 6 "AxisMask": ["false"] -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_scalar_algo/checkfile.def
r2036 r2139 1 atm_output_interpolate.nc 1 atm_output_scalar_transformation_reduce_axis.nc 2 atm_output_scalar_transformation_reduce_domain.nc 3 atm_output_scalar_transformation_extract.nc -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_scalar_algo/context_atm.xml
r2036 r2139 3 3 4 4 <calendar type="Gregorian" time_origin="1850-01-01 00:00:00" /> 5 6 <scalar_definition> 7 <scalar id="scalar" /> 8 <scalar id="other_scalar" /> 9 </scalar_definition> 10 11 5 6 <domain_definition> 7 <domain id="domain" /> 8 <domain id="other_domain" /> 9 </domain> 10 12 11 <axis_definition> 13 12 <axis id="axis" /> 14 <axis id="axis_str" n_glo="10" label="(0,9) [toto titi tata turlututu tito tati tuto tato tete tetu ] "/>15 13 <axis id="domain_X" /> 16 14 <axis id="domain_Y" /> … … 21 19 <axis id="other_domain_Y" /> 22 20 <axis id="other_ensemble" /> 23 24 <axis id="axis_zoom" axis_ref="axis">25 <zoom_axis begin="0" n="5"/>26 </axis>27 21 </axis_definition> 28 22 29 30 <domain_definition> 31 <domain id="domain" /> 32 <domain id="other_domain" /> 33 </domain_definition> 23 <scalar_definition> 24 <scalar id="scalar" /> 25 <scalar id="other_scalar" /> 26 <scalar id="reduce_axis_max"> 27 <reduce_axis operation="max"/> 28 </scalar> 29 <scalar id="reduce_axis_min"> 30 <reduce_axis operation="min"/> 31 </scalar> 32 <scalar id="reduce_axis_sum"> 33 <reduce_axis operation="sum"/> 34 </scalar> 35 <scalar id="reduce_axis_ave"> 36 <reduce_axis operation="average"/> 37 </scalar> 38 <scalar id="reduce_domain_max"> 39 <reduce_domain operation="max"/> 40 </scalar> 41 <scalar id="reduce_domain_min"> 42 <reduce_domain operation="min"/> 43 </scalar> 44 <scalar id="reduce_domain_sum"> 45 <reduce_domain operation="sum"/> 46 </scalar> 47 <scalar id="reduce_domain_ave"> 48 <reduce_domain operation="average"/> 49 </scalar> 50 51 52 </scalar_definition> 34 53 35 54 … … 43 62 44 63 <grid id="grid2D"> 45 <domain domain_ref="domain" id="grid2D_dom"/>64 <domain domain_ref="domain" /> 46 65 </grid> 47 66 … … 49 68 <axis axis_ref="axis" /> 50 69 </grid> 51 52 <grid id="grid0D"> 53 <scalar scalar_ref="scalar" /> 54 </grid> 70 71 <grid id="grid0D_reduce_axis_max"> 72 <scalar scalar_ref="reduce_axis_max" /> 73 </grid> 74 75 <grid id="grid0D_reduce_axis_min"> 76 <scalar scalar_ref="reduce_axis_min" /> 77 </grid> 78 79 <grid id="grid0D_reduce_axis_sum"> 80 <scalar scalar_ref="reduce_axis_sum" /> 81 </grid> 82 83 <grid id="grid0D_reduce_axis_ave"> 84 <scalar scalar_ref="reduce_axis_ave" /> 85 </grid> 86 87 <grid id="grid0D_extract_pos4"> 88 <scalar id="extract_axis_to_scalar_pos4"> 89 <extract_axis position="4" /> 90 </scalar> 91 </grid> 92 93 <grid id="grid0D_extract_pos5"> 94 <scalar id="extract_axis_to_scalar_pos5"> 95 <extract_axis position="5" /> 96 </axis> 97 </grid> 98 99 <grid id="grid2D_extract_pos4"> 100 <domain domain_ref="domain" /> 101 <scalar id="extract2D_axis_to_scalar_pos4"> 102 <extract_axis position="4" /> 103 </scalar> 104 </grid> 105 106 <grid id="grid2D_extract_pos5"> 107 <domain domain_ref="domain" /> 108 <scalar id="extract2D_axis_to_scalar_pos5"> 109 <extract_axis position="5" /> 110 </scalar> 111 </grid> 112 113 114 <grid id="grid2D_reduce_domain_max"> 115 <scalar scalar_ref="reduce_domain_max" /> 116 </grid> 117 118 <grid id="grid2D_reduce_domain_min"> 119 <scalar scalar_ref="reduce_domain_min" /> 120 </grid> 121 122 <grid id="grid2D_reduce_domain_sum"> 123 <scalar scalar_ref="reduce_domain_sum" /> 124 </grid> 125 126 <grid id="grid2D_reduce_domain_ave"> 127 <scalar scalar_ref="reduce_domain_ave" /> 128 </grid> 129 130 131 132 55 133 56 134 <grid id="grid_X"> … … 100 178 </grid> 101 179 102 <grid id="grid0D_W">103 <scalar scalar_ref="scalar" />104 <axis axis_ref="ensemble" />105 </grid>106 107 180 <grid id="grid_XW"> 108 181 <axis axis_ref="domain_X" /> … … 140 213 </grid> 141 214 215 142 216 143 217 <grid id="other_grid3D"> … … 147 221 148 222 <grid id="other_grid2D"> 149 <domain domain_ref="other_domain" id="test_dom"/>223 <domain domain_ref="other_domain" /> 150 224 </grid> 151 225 152 226 <grid id="other_grid1D"> 153 227 <axis axis_ref="other_axis" /> 154 </grid>155 156 <grid id="other_grid0D">157 <scalar scalar_ref="other_scalar" />158 228 </grid> 159 229 … … 204 274 </grid> 205 275 206 <grid id="other_grid0D_W">207 <scalar scalar_ref="other_scalar" />208 <axis axis_ref="other_ensemble" />209 </grid>210 211 276 <grid id="other_grid_XW"> 212 277 <axis axis_ref="other_domain_X" /> … … 244 309 </grid> 245 310 246 311 247 312 </grid_definition> 248 313 249 314 250 315 <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 251 <field id="field0D" grid_ref="grid0D"/>252 316 <field id="field2D" grid_ref="grid2D" /> 253 317 <field id="field3D" grid_ref="grid3D" /> 254 318 <field id="pressure" grid_ref="grid3D" /> 255 256 <!-- <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D"/>257 <field id="field3D_resend" grid_ref="grid3D" /> --> 319 <field id="field3D_recv" read_access="true" grid_ref="grid3D" field_ref="field3D" /> 320 <field id="field3D_resend" grid_ref="grid3D" /> 321 258 322 <field id="field_X" grid_ref="grid_X" /> 259 323 <field id="field_Y" grid_ref="grid_Y" /> … … 264 328 <field id="field_YZ" grid_ref="grid_YZ" /> 265 329 266 <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert" /> 267 <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum" /> 268 269 270 <field id="field0D_W" grid_ref="grid0D_W"/> 330 271 331 <field id="field2D_W" grid_ref="grid2D_W"/> 272 332 <field id="field3D_W" grid_ref="grid3D_W" /> 273 333 <field id="pressure_W" grid_ref="grid3D_W" /> 274 <!-- ym disable for now275 334 <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W" field_ref="field3D_W"/> 276 335 <field id="field3D_resend_W" grid_ref="grid3D_W" /> 277 --> 336 278 337 <field id="field_XW" grid_ref="grid_XW" /> 279 338 <field id="field_YW" grid_ref="grid_YW" /> … … 285 344 286 345 287 288 <field id="other_field0D" grid_ref="other_grid0D"/> 289 <!-- <field id="other_field2D" grid_ref="other_grid2D"/> --> 290 <field id="other_field2D" grid_ref="zoom1"/> 346 <field id="other_field2D" grid_ref="other_grid2D"/> 291 347 <field id="other_field3D" grid_ref="other_grid3D" /> 292 348 <field id="other_pressure" grid_ref="other_grid3D" /> 293 <!-- ym disable for now294 349 <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D" field_ref="other_field3D"/> 295 350 <field id="other_field3D_resend" grid_ref="other_grid3D" /> 296 --> 351 297 352 <field id="other_field_X" grid_ref="other_grid_X" /> 298 353 <field id="other_field_Y" grid_ref="other_grid_Y" /> … … 303 358 <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 304 359 305 <field id="other_field0D_W" grid_ref="other_grid0D_W"/>306 360 <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 307 361 <field id="other_field3D_W" grid_ref="other_grid3D_W" /> 308 362 <field id="other_pressure_W" grid_ref="other_grid3D_W" /> 309 <!-- ym disable for now310 363 <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W" field_ref="other_field3D_W"/> 311 364 <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 312 --> 365 313 366 <field id="other_field_XW" grid_ref="other_grid_XW" /> 314 367 <field id="other_field_YW" grid_ref="other_grid_YW" /> … … 318 371 <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 319 372 <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 373 374 320 375 321 376 </field_definition> 322 323 324 <!-- test transform --> 325 326 327 <axis_definition> 328 <axis id="axis_inverse" axis_ref="axis"> 329 <inverse_axis /> 330 </axis> 331 332 <axis id="axis_extract" > 333 <extract_axis begin="1" n="5" /> 334 </axis> 335 336 337 338 </axis_definition> 339 340 <domain_definition> 341 342 <domain id="domain_extract"> 343 <extract_domain ibegin="0" ni="36" jbegin="2" nj="3" /> 344 </domain> 345 346 347 <domain id="domain_reorder" domain_ref="domain"> 348 <reorder_domain invert_lat="true" shift_lon_fraction="0.5"/> 349 </domain> 350 351 <domain id="domain_expand" > 352 <expand_domain order="1" type="edge"/> 353 </domain> 354 355 <domain id="domain_interpolate" domain_ref="other_domain" > 356 <interpolate_domain detect_missing_value="false"/> 357 </domain> 358 359 <domain id="domain_connect" > 360 <compute_connectivity_domain type="edge"/> 361 </domain> 362 363 <domain id="domain_recti" ni_glo="40" nj_glo="20" type="rectilinear" /> 364 365 366 <domain id="domain_expand_extract" > 367 <expand_domain order="1" type="edge"/> 368 <extract_domain ibegin="0" ni="38" jbegin="2" nj="3" /> 369 </domain> 370 371 372 373 </domain_definition> 374 375 <grid_definition> 376 377 <grid id="grid1D_inverse"> 378 <axis axis_ref="axis_inverse" /> 379 </grid> 380 381 <grid id="grid1D_extract"> 382 <axis axis_ref="axis_extract" /> 383 </grid> 384 385 386 <grid id="grid2D_extract"> 387 <domain domain_ref="domain_extract" /> 388 </grid> 389 390 <grid id="grid2D_zoom"> 391 <domain domain_ref="domain_zoom" /> 392 </grid> 393 394 395 <grid id="grid2D_reorder"> 396 <domain domain_ref="domain_reorder" /> 397 </grid> 398 399 <grid id="grid2D_expand"> 400 <domain domain_ref="domain_expand" /> 401 </grid> 402 403 <grid id="grid2D_interpolate"> 404 <domain domain_ref="domain_interpolate" /> 405 </grid> 406 407 408 <grid id="grid2D_connect"> 409 <domain domain_ref="domain_connect" /> 410 </grid> 411 412 413 <grid id="grid2D_recti"> 414 <domain domain_ref="domain_recti" > 415 <generate_rectilinear_domain lat_start="-85" lon_start="-175" /> 416 <interpolate_domain detect_missing_value="false"/> 417 </domain> 418 </grid> 419 420 <grid id="grid2D_expand_extract"> 421 <domain domain_ref="domain_expand_extract" /> 422 </grid> 423 424 <grid id="grid2D_extract_domain"> 425 <axis n_glo="36"> 426 <extract_domain position="2" direction="jDir" /> 427 </axis> 428 </grid> 429 430 <grid id="grid3D_axis_interpolate"> 431 <domain domain_ref="domain"/> 432 <axis n_glo="2" value="(0,1)[40000 20000]"> 433 <interpolate_axis coordinate="pressure" /> 434 </axis> 435 </grid> 436 437 <grid id="grid3D_axis_interpolate_bis"> 438 <domain domain_ref="domain"/> 439 <axis n_glo="2" value="(0,1)[40000 20000]"> 440 <interpolate_axis /> 441 </axis> 442 </grid> 443 444 445 </grid_definition> 446 447 448 <field_definition> 449 <field_group id="fields_with_domain_transformation" operation="instant" > 450 <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract"/> 451 <field id="field2D_reorder" field_ref="field2D" grid_ref="grid2D_reorder" /> 452 <field id="field2D_expand" field_ref="field2D" grid_ref="grid2D_expand"/> 453 <field id="field2D_connect" field_ref="field2D" grid_ref="grid2D_connect"/> 454 <field id="field2D_interpo" field_ref="field2D" grid_ref="grid2D_interpolate"/> 455 <field id="field2D_recti" field_ref="field2D" grid_ref="grid2D_recti"/> 456 <field id="field2D_exp_ext" field_ref="field2D" grid_ref="grid2D_expand_extract"/> 457 <field id="field2D_reorder_ext" field_ref="field2D_reorder" grid_ref="grid2D_extract"/> 458 </field_group> 459 460 <field_group id="fields_with_axis_transformation" operation="instant" > 461 <field id="fieldZ_inverse" field_ref="field_Z" grid_ref="grid1D_inverse"/> 462 <field id="fieldZ_extract" field_ref="field_Z" grid_ref="grid1D_extract"/> 463 <field id="field2D_extract_domain" field_ref="field2D" grid_ref="grid2D_extract_domain"/> 464 <field id="field3D_interpo" field_ref="field3D" grid_ref="grid3D_axis_interpolate"/> 465 <field id="field3D_interpo_bis" field_ref="field3D" grid_ref="grid3D_axis_interpolate_bis"/> 466 </field_group> 467 468 </field_definition> 469 470 471 472 <file_definition> 473 474 <file id="atm_output_domain" output_freq="1ts" type="one_file" enabled="false"> 475 <field field_ref="field2D_extract" /> 476 <field field_ref="field2D_reorder" /> 477 <field field_ref="field2D_expand" /> 478 <field field_ref="field2D_interpo" /> 479 <field field_ref="field2D_recti" /> 480 <field field_ref="field2D_exp_ext" /> 481 <field field_ref="field2D_reorder_ext" /> 482 <field id="field2D" /> 483 </file> 484 485 <file id="atm_output_axis" output_freq="4ts" type="one_file" enabled="false"> 486 <field field_ref="fieldZ_inverse" enabled="false" /> 487 <field field_ref="fieldZ_extract" enabled="true"/> 488 <field field_ref="field2D_extract_domain" enabled="false"/> 489 <field id="field_Z" enabled="true"/> 490 <field id="field2D" enabled="true"/> 491 </file> 492 493 <file id="atm_output_interpolate" output_freq="1ts" type="one_file" enabled="true"> 494 <field field_ref="field3D_interpo" /> 495 <field field_ref="field3D_interpo_bis" /> 496 <field id="field3D" /> 497 </file> 498 499 500 377 378 379 380 <!-- implementation of specifics test case --> 381 <!-- simplest test cases : output data to file --> 382 383 384 385 <file_definition type="one_file" > 386 <file id="atm_output_scalar_transformation_extract" output_freq="12ts" type="one_file" enabled="true" > 387 <field field_ref="field_Z" /> 388 <field id="fieldZ_pos4" field_ref="field_Z" name="fieldZ_pos4" grid_ref="grid0D_extract_pos4" /> 389 <field id="fieldZ_pos5" field_ref="field_Z" name="fieldZ_pos5" grid_ref="grid0D_extract_pos5" /> 390 <field field_ref="field3D" /> 391 <field id="field3D_pos4" enabled="true" field_ref="field3D" name="field3D_pos4" grid_ref="grid2D_extract_pos4" /> 392 <field id="field3D_pos5" enabled="true" field_ref="field3D" name="field3D_pos5" grid_ref="grid2D_extract_pos5"/> 393 </file> 394 395 <file id="atm_output_scalar_transformation_reduce_axis" output_freq="4ts" type="one_file" enabled="true"> 396 <field field_ref="field_Z" /> 397 <field id="field_reduce_axis_max" field_ref="field_Z" name="field_reduce_axis_max" grid_ref="grid0D_reduce_axis_max" enabled="true"/> 398 <field id="field_reduce_axis_min" field_ref="field_Z" name="field_reduce_axis_min" grid_ref="grid0D_reduce_axis_min" enabled="true"/> 399 <field id="field_reduce_axis_sum" field_ref="field_Z" name="field_reduce_axis_sum" grid_ref="grid0D_reduce_axis_sum" enabled="true"/> 400 <field id="field_reduce_axis_ave" field_ref="field_Z" name="field_reduce_axis_ave" grid_ref="grid0D_reduce_axis_ave" enabled="true"/> 401 </file> 402 403 <file id="atm_output_scalar_transformation_reduce_domain" output_freq="24ts" type="one_file" enabled="true"> 404 <field field_ref="field2D" /> 405 <field id="field_reduce_domain_max" field_ref="field2D" name="field_reduce_domain_max" grid_ref="grid2D_reduce_domain_max" /> 406 <field id="field_reduce_domain_min" field_ref="field2D" name="field_reduce_domain_min" grid_ref="grid2D_reduce_domain_min" /> 407 <field id="field_reduce_domain_sum" field_ref="field2D" name="field_reduce_domain_sum" grid_ref="grid2D_reduce_domain_sum" /> 408 <field id="field_reduce_domain_ave" field_ref="field2D" name="field_reduce_domain_ave" grid_ref="grid2D_reduce_domain_ave" /> 409 </file> 410 411 412 413 414 <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 415 <field field_ref="field3D" /> 416 <field field_ref="field2D" /> 417 <field field_ref="field_X" /> 418 <field field_ref="field_Y" /> 419 <field field_ref="field_XY" /> 420 <field field_ref="field_Z" /> 421 <field field_ref="field_XYZ" /> 422 <field field_ref="field_XZ" /> 423 <field field_ref="field_YZ" /> 424 <field field_ref="pressure" /> 425 <field field_ref="field3D_resend" /> 426 </file> 427 428 <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 429 <field field_ref="other_field3D" /> 430 <field field_ref="other_field2D" /> 431 <field field_ref="other_field_X" /> 432 <field field_ref="other_field_Y" /> 433 <field field_ref="other_field_XY" /> 434 <field field_ref="other_field_Z" /> 435 <field field_ref="other_field_XYZ" /> 436 <field field_ref="other_field_XZ" /> 437 <field field_ref="other_field_YZ" /> 438 <field field_ref="other_pressure" /> 439 <field field_ref="other_field3D_resend" /> 440 </file> 441 442 <file id="atm_output_W" output_freq="1ts" enabled="false"> 443 <field field_ref="field3D_W" /> 444 <field field_ref="field2D_W" /> 445 <field field_ref="field_XW" /> 446 <field field_ref="field_YW" /> 447 <field field_ref="field_XYW" /> 448 <field field_ref="field_ZW" /> 449 <field field_ref="field_XYZW" /> 450 <field field_ref="field_XZW" /> 451 <field field_ref="field_YZW" /> 452 </file> 453 454 501 455 </file_definition> 502 503 504 456 505 457 506 458 </context> -
XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_scalar_algo/user_param.json
r1924 r2139 4 4 "NumberServers": [2, 4], 5 5 "AxisMask": ["false"] 6 },7 {8 "Domain": ["lmdz"],9 "NumberServers": [6, 8],10 "AxisMask": ["false"]11 6 } 12 7 ]
Note: See TracChangeset
for help on using the changeset viewer.