Changeset 2139


Ignore:
Timestamp:
06/02/21 11:03:35 (4 months ago)
Author:
jderouillat
Message:

Update Python error management. Importing unit test from trunk.

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  
    1515module load netcdf-fortran/4.4.4 
    1616module load hdf5/1.8.20 
    17 module load gnu 
     17module load gnu/7.3.0 
    1818 
    1919module load totalview 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/COMPILE/compile_irene

    r1945 r2139  
    11#!/bin/bash 
    22 
    3 set -x  
     3#set -x  
    44 
    55export revision=$(svn info --show-item revision .. 2>&1) 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/COMPILE/config_compile.py

    r2036 r2139  
    88def OSinfo(runthis): 
    99        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: 
    1313                print(red(runthis+" FAILED")) 
    14                 print(theInfo) 
     14                print(theErr) 
    1515                sys.exit() 
    1616 
  • 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 
     1module load subversion    2>&1 
     2module load cmake         2>&1 
     3module load python3/3.7.5 2>&1 
     4module load cdo           2>&1 
    45 
    56CHMOD() { chmod --quiet ug+rwX,o+rX "$@" ;} 
     
    1213export ref_location=/ccc/cont003/home/gencmip6/wangyush/automation_XIOS/reference/XIOS_COUPLING 
    1314#export ref_location=/ccc/cont003/home/gencmip6/wangyush/reference_dir 
     15export ref_location=/ccc/work/cont003/gen0826/derouilj/XIOS_Unit_Tests/reference/XIOS_COUPLING 
    1416export ref_file=reference.tar.gz 
    1517 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/step2.py

    r1915 r2139  
    1818def OSinfo(runthis): 
    1919    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: 
    2324        print(red(runthis+" FAILED")) 
    24         print(theInfo) 
     25        print(theErr) 
    2526        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() 
    2636 
    2737 
     
    7282                for checkfile in checkfiles: 
    7383                    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 
    7686                            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 
    7891                        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 
    7995                    
    8096 
  • 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 
     3atm_output_axis_transformation_reduce.nc 
     4atm_output_axis_transformation_zoom.nc 
     5atm_output_axis_transformation_extract.nc 
     6atm_output_axis_transformation_extract_domain.nc 
     7atm_output_axis_transformation_interpolate.nc 
     8atm_output_axis_transformation_temporal_splitting.nc 
     9atm_output_axis_transformation_duplicate_scalar.nc 
     10atm_output_axis_transformation_inverse.nc 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_axis_algo/context_atm.xml

    r2036 r2139  
    33   
    44  <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 
    636  <scalar_definition> 
    737    <scalar id="scalar" />  
    838    <scalar id="other_scalar" />  
    939  </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> 
    10135  
     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 
    11236  
    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  
    142237  
    143238    <grid id="other_grid3D"> 
     
    147242     
    148243    <grid id="other_grid2D"> 
    149       <domain domain_ref="other_domain" id="test_dom" /> 
     244      <domain domain_ref="other_domain" /> 
    150245    </grid> 
    151246 
    152247    <grid id="other_grid1D"> 
    153248      <axis axis_ref="other_axis" /> 
    154     </grid> 
    155  
    156     <grid id="other_grid0D"> 
    157       <scalar scalar_ref="other_scalar" /> 
    158249    </grid> 
    159250 
     
    204295    </grid> 
    205296 
    206     <grid id="other_grid0D_W"> 
    207       <scalar scalar_ref="other_scalar" /> 
    208       <axis axis_ref="other_ensemble" /> 
    209     </grid> 
    210  
    211297    <grid id="other_grid_XW"> 
    212298      <axis axis_ref="other_domain_X" /> 
     
    244330    </grid> 
    245331 
    246  
     332    
    247333  </grid_definition> 
    248334   
    249335   
    250336  <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"/> 
    252337    <field id="field2D" grid_ref="grid2D" /> 
    253338    <field id="field3D" grid_ref="grid3D"  /> 
    254339    <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 
    258343    <field id="field_X" grid_ref="grid_X" /> 
    259344    <field id="field_Y" grid_ref="grid_Y" /> 
     
    264349    <field id="field_YZ" grid_ref="grid_YZ" /> 
    265350 
    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 
    271352    <field id="field2D_W" grid_ref="grid2D_W"/> 
    272353    <field id="field3D_W" grid_ref="grid3D_W"  /> 
    273354    <field id="pressure_W" grid_ref="grid3D_W"  /> 
    274 <!-- ym disable for now 
    275355    <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W"  field_ref="field3D_W"/> 
    276356    <field id="field3D_resend_W" grid_ref="grid3D_W" /> 
    277 --> 
     357 
    278358    <field id="field_XW" grid_ref="grid_XW" /> 
    279359    <field id="field_YW" grid_ref="grid_YW" /> 
     
    285365 
    286366 
    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"/> 
    291368    <field id="other_field3D" grid_ref="other_grid3D"  /> 
    292369    <field id="other_pressure" grid_ref="other_grid3D"  /> 
    293 <!-- ym disable for now 
    294370    <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D"  field_ref="other_field3D"/> 
    295371    <field id="other_field3D_resend" grid_ref="other_grid3D" /> 
    296 --> 
     372 
    297373    <field id="other_field_X" grid_ref="other_grid_X" /> 
    298374    <field id="other_field_Y" grid_ref="other_grid_Y" /> 
     
    303379    <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 
    304380 
    305     <field id="other_field0D_W" grid_ref="other_grid0D_W"/> 
    306381    <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 
    307382    <field id="other_field3D_W" grid_ref="other_grid3D_W"  /> 
    308383    <field id="other_pressure_W" grid_ref="other_grid3D_W"  /> 
    309 <!-- ym disable for now 
    310384    <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W"  field_ref="other_field3D_W"/> 
    311385    <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 
    312 --> 
     386 
    313387    <field id="other_field_XW" grid_ref="other_grid_XW" /> 
    314388    <field id="other_field_YW" grid_ref="other_grid_YW" /> 
     
    318392    <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 
    319393    <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     
    320397     
    321398  </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     
    345429  
    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     
    501502  </file_definition> 
    502  
    503  
    504  
     503   
    505504   
    506505</context> 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_axis_algo/user_param.json

    r1924 r2139  
    55                "NumberServers": [2, 4], 
    66        "AxisMask": ["false"] 
    7         }, 
    8         { 
    9                 "Domain": ["lmdz"], 
    10                 "UseServer2": ["true"], 
    11                 "NumberServers": [6, 8], 
    12         "AxisMask": ["false"] 
    137        } 
    148] 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/checkfile.def

    r2036 r2139  
    11#all 
    22 
    3 atm_output_interpolate.nc 
     3atm_output_domain_transformation_reorder.nc 
     4atm_output_domain_transformation_extract.nc 
     5atm_output_domain_transformation_zoom.nc 
     6atm_output_domain_transformation_interpolate.nc 
     7atm_output_domain_transformation_expand.nc 
    48 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/context_atm.xml

    r2036 r2139  
    33   
    44  <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 
    625  <scalar_definition> 
    726    <scalar id="scalar" />  
    827    <scalar id="other_scalar" />  
    928  </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> 
    3429   
    3530   
     
    4338     
    4439    <grid id="grid2D"> 
    45       <domain domain_ref="domain" id="grid2D_dom" /> 
     40      <domain domain_ref="domain" /> 
    4641    </grid> 
    4742 
     
    4944      <axis axis_ref="axis" /> 
    5045    </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 
    5597 
    5698    <grid id="grid_X"> 
     
    100142    </grid> 
    101143 
    102     <grid id="grid0D_W"> 
    103       <scalar scalar_ref="scalar" /> 
    104       <axis axis_ref="ensemble" /> 
    105     </grid> 
    106  
    107144    <grid id="grid_XW"> 
    108145      <axis axis_ref="domain_X" /> 
     
    140177    </grid> 
    141178 
     179  
    142180  
    143181    <grid id="other_grid3D"> 
     
    147185     
    148186    <grid id="other_grid2D"> 
    149       <domain domain_ref="other_domain" id="test_dom" /> 
     187      <domain domain_ref="other_domain" /> 
    150188    </grid> 
    151189 
    152190    <grid id="other_grid1D"> 
    153191      <axis axis_ref="other_axis" /> 
    154     </grid> 
    155  
    156     <grid id="other_grid0D"> 
    157       <scalar scalar_ref="other_scalar" /> 
    158192    </grid> 
    159193 
     
    204238    </grid> 
    205239 
    206     <grid id="other_grid0D_W"> 
    207       <scalar scalar_ref="other_scalar" /> 
    208       <axis axis_ref="other_ensemble" /> 
    209     </grid> 
    210  
    211240    <grid id="other_grid_XW"> 
    212241      <axis axis_ref="other_domain_X" /> 
     
    244273    </grid> 
    245274 
    246  
     275    
    247276  </grid_definition> 
    248277   
    249278   
    250279  <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"/> 
    252280    <field id="field2D" grid_ref="grid2D" /> 
    253281    <field id="field3D" grid_ref="grid3D"  /> 
    254282    <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 
    258286    <field id="field_X" grid_ref="grid_X" /> 
    259287    <field id="field_Y" grid_ref="grid_Y" /> 
     
    264292    <field id="field_YZ" grid_ref="grid_YZ" /> 
    265293 
    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 
    271295    <field id="field2D_W" grid_ref="grid2D_W"/> 
    272296    <field id="field3D_W" grid_ref="grid3D_W"  /> 
    273297    <field id="pressure_W" grid_ref="grid3D_W"  /> 
    274 <!-- ym disable for now 
    275298    <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W"  field_ref="field3D_W"/> 
    276299    <field id="field3D_resend_W" grid_ref="grid3D_W" /> 
    277 --> 
     300 
    278301    <field id="field_XW" grid_ref="grid_XW" /> 
    279302    <field id="field_YW" grid_ref="grid_YW" /> 
     
    285308 
    286309 
    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"/> 
    291311    <field id="other_field3D" grid_ref="other_grid3D"  /> 
    292312    <field id="other_pressure" grid_ref="other_grid3D"  /> 
    293 <!-- ym disable for now 
    294313    <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D"  field_ref="other_field3D"/> 
    295314    <field id="other_field3D_resend" grid_ref="other_grid3D" /> 
    296 --> 
     315 
    297316    <field id="other_field_X" grid_ref="other_grid_X" /> 
    298317    <field id="other_field_Y" grid_ref="other_grid_Y" /> 
     
    303322    <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 
    304323 
    305     <field id="other_field0D_W" grid_ref="other_grid0D_W"/> 
    306324    <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 
    307325    <field id="other_field3D_W" grid_ref="other_grid3D_W"  /> 
    308326    <field id="other_pressure_W" grid_ref="other_grid3D_W"  /> 
    309 <!-- ym disable for now 
    310327    <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W"  field_ref="other_field3D_W"/> 
    311328    <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 
    312 --> 
     329 
    313330    <field id="other_field_XW" grid_ref="other_grid_XW" /> 
    314331    <field id="other_field_YW" grid_ref="other_grid_YW" /> 
     
    318335    <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 
    319336    <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 
     337 
     338     
    320339     
    321340  </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     
    501421  </file_definition> 
    502  
    503  
    504  
     422   
    505423   
    506424</context> 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_domain_algo/user_param.json

    r1924 r2139  
    22        { 
    33                "Domain": ["lmdz"], 
    4                 "NumberServers": [2, 4, 6, 8], 
     4                "NumberServers": [2], 
    55                "DomMask": ["false"], 
    66                "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 
     1atm_output_scalar_transformation_reduce_axis.nc 
     2atm_output_scalar_transformation_reduce_domain.nc 
     3atm_output_scalar_transformation_extract.nc 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_scalar_algo/context_atm.xml

    r2036 r2139  
    33   
    44  <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   
    1211  <axis_definition> 
    1312    <axis id="axis" /> 
    14     <axis id="axis_str" n_glo="10" label="(0,9) [toto titi tata turlututu tito tati tuto tato tete tetu ] "/> 
    1513    <axis id="domain_X" /> 
    1614    <axis id="domain_Y" /> 
     
    2119    <axis id="other_domain_Y" /> 
    2220    <axis id="other_ensemble" /> 
    23  
    24     <axis id="axis_zoom" axis_ref="axis"> 
    25         <zoom_axis begin="0" n="5"/> 
    26     </axis> 
    2721  </axis_definition> 
    2822 
    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> 
    3453   
    3554   
     
    4362     
    4463    <grid id="grid2D"> 
    45       <domain domain_ref="domain" id="grid2D_dom" /> 
     64      <domain domain_ref="domain" /> 
    4665    </grid> 
    4766 
     
    4968      <axis axis_ref="axis" /> 
    5069    </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 
    55133 
    56134    <grid id="grid_X"> 
     
    100178    </grid> 
    101179 
    102     <grid id="grid0D_W"> 
    103       <scalar scalar_ref="scalar" /> 
    104       <axis axis_ref="ensemble" /> 
    105     </grid> 
    106  
    107180    <grid id="grid_XW"> 
    108181      <axis axis_ref="domain_X" /> 
     
    140213    </grid> 
    141214 
     215  
    142216  
    143217    <grid id="other_grid3D"> 
     
    147221     
    148222    <grid id="other_grid2D"> 
    149       <domain domain_ref="other_domain" id="test_dom" /> 
     223      <domain domain_ref="other_domain" /> 
    150224    </grid> 
    151225 
    152226    <grid id="other_grid1D"> 
    153227      <axis axis_ref="other_axis" /> 
    154     </grid> 
    155  
    156     <grid id="other_grid0D"> 
    157       <scalar scalar_ref="other_scalar" /> 
    158228    </grid> 
    159229 
     
    204274    </grid> 
    205275 
    206     <grid id="other_grid0D_W"> 
    207       <scalar scalar_ref="other_scalar" /> 
    208       <axis axis_ref="other_ensemble" /> 
    209     </grid> 
    210  
    211276    <grid id="other_grid_XW"> 
    212277      <axis axis_ref="other_domain_X" /> 
     
    244309    </grid> 
    245310 
    246  
     311    
    247312  </grid_definition> 
    248313   
    249314   
    250315  <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"/> 
    252316    <field id="field2D" grid_ref="grid2D" /> 
    253317    <field id="field3D" grid_ref="grid3D"  /> 
    254318    <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 
    258322    <field id="field_X" grid_ref="grid_X" /> 
    259323    <field id="field_Y" grid_ref="grid_Y" /> 
     
    264328    <field id="field_YZ" grid_ref="grid_YZ" /> 
    265329 
    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 
    271331    <field id="field2D_W" grid_ref="grid2D_W"/> 
    272332    <field id="field3D_W" grid_ref="grid3D_W"  /> 
    273333    <field id="pressure_W" grid_ref="grid3D_W"  /> 
    274 <!-- ym disable for now 
    275334    <field id="field3D_recv_W" read_access="true" grid_ref="grid3D_W"  field_ref="field3D_W"/> 
    276335    <field id="field3D_resend_W" grid_ref="grid3D_W" /> 
    277 --> 
     336 
    278337    <field id="field_XW" grid_ref="grid_XW" /> 
    279338    <field id="field_YW" grid_ref="grid_YW" /> 
     
    285344 
    286345 
    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"/> 
    291347    <field id="other_field3D" grid_ref="other_grid3D"  /> 
    292348    <field id="other_pressure" grid_ref="other_grid3D"  /> 
    293 <!-- ym disable for now 
    294349    <field id="other_field3D_recv" read_access="true" grid_ref="other_grid3D"  field_ref="other_field3D"/> 
    295350    <field id="other_field3D_resend" grid_ref="other_grid3D" /> 
    296 --> 
     351 
    297352    <field id="other_field_X" grid_ref="other_grid_X" /> 
    298353    <field id="other_field_Y" grid_ref="other_grid_Y" /> 
     
    303358    <field id="other_field_YZ" grid_ref="other_grid_YZ" /> 
    304359 
    305     <field id="other_field0D_W" grid_ref="other_grid0D_W"/> 
    306360    <field id="other_field2D_W" grid_ref="other_grid2D_W"/> 
    307361    <field id="other_field3D_W" grid_ref="other_grid3D_W"  /> 
    308362    <field id="other_pressure_W" grid_ref="other_grid3D_W"  /> 
    309 <!-- ym disable for now 
    310363    <field id="other_field3D_recv_W" read_access="true" grid_ref="other_grid3D_W"  field_ref="other_field3D_W"/> 
    311364    <field id="other_field3D_resend_W" grid_ref="other_grid3D_W" /> 
    312 --> 
     365 
    313366    <field id="other_field_XW" grid_ref="other_grid_XW" /> 
    314367    <field id="other_field_YW" grid_ref="other_grid_YW" /> 
     
    318371    <field id="other_field_XZW" grid_ref="other_grid_XZW" /> 
    319372    <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 
     373 
     374     
    320375     
    321376  </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     
    501455  </file_definition> 
    502  
    503  
    504  
     456   
    505457   
    506458</context> 
  • XIOS/dev/dev_ym/XIOS_COUPLING/xios_test_suite/TEST_SUITE/test_scalar_algo/user_param.json

    r1924 r2139  
    44                "NumberServers": [2, 4], 
    55                "AxisMask": ["false"] 
    6         }, 
    7         { 
    8                 "Domain": ["lmdz"], 
    9                 "NumberServers": [6, 8], 
    10                 "AxisMask": ["false"] 
    116        } 
    127] 
Note: See TracChangeset for help on using the changeset viewer.