Changeset 1922 for XIOS


Ignore:
Timestamp:
07/31/20 16:08:56 (4 years ago)
Author:
yushan
Message:

trunk : complete test for domain, scalar and reduction

Location:
XIOS/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/generic_testcase/iodef.xml

    r1921 r1922  
    88      <variable id="timestep"> 1h </variable> 
    99      <variable id="domain"> lmdz </variable> 
    10       <variable id="domain_mask"> true </variable> 
     10      <variable id="domain_mask"> false </variable> 
    1111      <variable id="axis_mask"> false </variable> 
    1212      <variable id="init_field2D"> rank </variable> 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/iodef.xml

    r1921 r1922  
    88      <variable id="timestep"> 1h </variable> 
    99      <variable id="domain"> XIOS::ATMdomain </variable> 
    10       <variable id="domain_mask"> true </variable> 
     10      <variable id="domain_mask"> false </variable> 
    1111      <variable id="axis_mask"> false </variable> 
    1212      <variable id="init_field2D"> rank </variable> 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_domain_algo/checkfile.def

    r1807 r1922  
    11#all 
    22 
    3 atm_output.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 
    47 
    5 atm_output_expand.nc 
    6  
    7  
    8 atm_output_extract.nc 
    9  
    10 atm_output_interpolate.nc 
    11  
    12 atm_output_zoom.nc 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_domain_algo/context_atm.xml

    r1807 r1922  
    77    <domain id="domain" /> 
    88    <domain id="other_domain" /> 
    9   </domain> 
    10    
     9    <domain id="square_domain" ni_glo="36" nj_glo="36" type="rectilinear"/> 
     10  </domain_definition> 
     11 
    1112  <axis_definition> 
    1213    <axis id="axis" /> 
    13     <axis id="axis_dup" /> 
    1414    <axis id="domain_X" /> 
    1515    <axis id="domain_Y" /> 
    1616    <axis id="ensemble" /> 
     17 
    1718 
    1819    <axis id="other_axis" /> 
     
    2223  </axis_definition> 
    2324 
    24   <axis_definition> 
    25     <axis id="axis_zoom" axis_ref="axis"> 
    26         <zoom_axis begin="0" n="5"/> 
    27     </axis> 
    28     <axis id="domain_X_zoom" axis_ref="domain_X"> 
    29         <zoom_axis begin="0" n="1"/> 
    30     </axis> 
    31     <axis id="domain_Y_zoom" axis_ref="domain_Y"> 
    32         <zoom_axis begin="3" n="1"/> 
    33     </axis> 
    34   </axis_definition> 
    35  
    3625  <scalar_definition> 
    3726    <scalar id="scalar" />  
     
    5443      <axis axis_ref="axis" /> 
    5544    </grid> 
     45    
     46    <grid id="grid2D_zoom"> 
     47      <domain domain_ref="domain"> 
     48      <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 
     49      </domain>  
     50    </grid> 
     51 
     52    <grid id="grid2D_extract"> 
     53      <domain domain_ref="domain"> 
     54      <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 
     55      </domain>  
     56    </grid> 
     57 
     58    <grid id="grid3D_zoom"> 
     59      <domain domain_ref="domain"> 
     60      <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 
     61      </domain>  
     62      <axis axis_ref="axis" /> 
     63    </grid> 
     64 
     65    <grid id="grid3D_extract"> 
     66      <domain domain_ref="domain"> 
     67      <zoom_domain ni="10" ibegin="15" nj="16" jbegin="0"/> 
     68      </domain>  
     69      <axis axis_ref="axis" /> 
     70    </grid> 
     71 
     72    <grid id="grid2D_square"> 
     73      <domain domain_ref="square_domain"> 
     74      <generate_rectilinear_domain lon_start="-175"/> 
     75      <interpolate_domain /> 
     76      </domain>  
     77    </grid> 
     78 
     79    <grid id="grid2D_reorder"> 
     80      <domain domain_ref="domain"> 
     81      <reorder_domain invert_lat="true" /> 
     82      </domain>  
     83    </grid> 
     84 
     85 
     86 
     87 
     88 
     89 
    5690 
    5791    <grid id="grid_X"> 
    5892      <axis axis_ref="domain_X" /> 
    59     </grid> 
    60  
    61      <grid id="grid_X_zoom"> 
    62       <axis axis_ref="domain_X_zoom" /> 
    6393    </grid> 
    6494 
     
    140170    </grid> 
    141171 
    142  
    143     <grid id="grid_XY_zoom_Y"> 
    144       <axis axis_ref="domain_X" /> 
    145       <axis axis_ref="domain_Y_zoom" /> 
    146     </grid> 
    147  
    148     <grid id="grid_XY_zoom_X"> 
    149       <axis axis_ref="domain_X_zoom" /> 
    150       <axis axis_ref="domain_Y" /> 
    151  
    152     </grid> 
    153  
    154   
    155   
    156   
    157172  
    158173  
     
    251266    </grid> 
    252267 
    253  
    254  
    255  
    256  
    257  
    258  
    259  
    260  
    261  
    262     <grid id="grid_vert_reduce"> 
    263       <domain domain_ref="domain" /> 
    264       <scalar > 
    265         <reduce_axis operation="sum" /> 
    266       </scalar> 
    267     </grid> 
    268  
    269     <grid id="grid_horiz_reduce"> 
    270       <scalar > 
    271         <reduce_domain operation="sum" /> 
    272       </scalar> 
    273       <axis axis_ref="axis" /> 
    274     </grid> 
    275        
    276     <grid id="grid_zoom_vert"> 
    277       <domain domain_ref="domain" /> 
    278       <axis axis_ref="axis_zoom" /> 
    279     </grid> 
    280  
    281     <grid id="grid_zoom_vert_sum"> 
    282       <scalar > 
    283         <reduce_domain operation="sum" /> 
    284       </scalar> 
    285       <axis axis_ref="axis_zoom" /> 
    286     </grid> 
    287  
    288    <grid id="grid_lat"> 
    289        <axis axis_ref="domain_Y"> 
    290          <reduce_domain direction="iDir" operation="sum"/>  
    291        </axis> 
    292        <axis axis_ref="axis" /> 
    293     </grid> 
    294      
    295  
    296     <grid id="grid3D_invert"> 
    297       <domain domain_ref="domain"> 
    298         <reorder_domain invert_lat="true" /> 
    299       </domain> 
    300       <axis axis_ref="axis" /> 
    301     </grid> 
    302      
    303     <grid id="grid2D_invert"> 
    304       <domain domain_ref="domain"> 
    305         <reorder_domain invert_lat="true" shift_lon_fraction="0.5" min_lon="0" max_lon="360"/> 
    306       </domain> 
    307     </grid> 
    308  
    309      
     268    
    310269  </grid_definition> 
    311270   
    312271   
    313272  <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 
    314     <field id="field2D" grid_ref="grid2D" build_workflow_graph="false" /> 
    315     <field id="field3D" grid_ref="grid3D" build_workflow_graph="true" /> 
     273    <field id="field2D" grid_ref="grid2D" /> 
     274    <field id="field3D" grid_ref="grid3D" /> 
    316275    <field id="pressure" grid_ref="grid3D"  /> 
    317276    <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" /> 
    318277    <field id="field3D_resend" grid_ref="grid3D" /> 
    319278 
    320     <field id="field_X" grid_ref="grid_X" build_workflow_graph="false" /> 
    321     <field id="field_Y" grid_ref="grid_Y" build_workflow_graph="false" /> 
    322     <field id="field_Z" grid_ref="grid1D" build_workflow_graph="false" /> 
     279    <field id="field_X" grid_ref="grid_X" /> 
     280    <field id="field_Y" grid_ref="grid_Y" /> 
     281    <field id="field_Z" grid_ref="grid1D" /> 
    323282    <field id="field_XY" grid_ref="grid_XY" /> 
    324283    <field id="field_XYZ" grid_ref="grid_XYZ" /> 
    325284    <field id="field_XZ" grid_ref="grid_XZ" /> 
    326285    <field id="field_YZ" grid_ref="grid_YZ" /> 
    327  
    328     <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert"  /> 
    329     <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum"  /> 
    330  
    331286 
    332287 
     
    346301 
    347302 
    348  
    349  
    350303    <field id="other_field2D" grid_ref="other_grid2D"/> 
    351304    <field id="other_field3D" grid_ref="other_grid3D"  /> 
     
    376329    <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 
    377330 
    378  
    379  
    380  
    381331     
    382332     
    383333  </field_definition> 
     334 
     335 
     336 
     337<!-- implementation of specifics test case --> 
     338<!-- simplest test cases : output data to file --> 
     339 
    384340   
    385341 
    386342  <file_definition  type="one_file" > 
    387      
    388     <file id="atm_output" output_freq="1ts" type="one_file" enabled="true"> 
    389        <!-- <field id="id_fieldXY" field_ref="field_XY" operation="once" enabled="true"/> --> 
    390        <field field_ref="field_X" operation="instant" enabled="true"/> 
    391     </file> 
    392  
    393     <file id="atm_output_expand" output_freq="1ts" enabled="true"> 
    394        <field field_ref="field_X" operation="instant" enabled="true"/> 
    395     </file> 
    396  
    397     <file id="atm_output_extract" output_freq="1ts" enabled="true"> 
    398        <field field_ref="field_X" operation="instant" enabled="true"/> 
    399     </file> 
    400  
    401     <file id="atm_output_interpolate" output_freq="1ts" enabled="true"> 
    402        <field field_ref="field_X" operation="instant" enabled="true"/> 
    403     </file> 
    404  
    405     <file id="atm_output_zoom" output_freq="1ts" enabled="true"> 
    406        <field field_ref="field_X" operation="instant" enabled="true"/> 
    407     </file> 
    408  
    409  
    410     <file id="atm_output_other" output_freq="1ts"  enabled="false"> 
    411        <field field_ref="other_field3D" enabled="false"/> 
    412        <field field_ref="other_field2D" enabled="true"/>  
    413        <field field_ref="other_field_X" enabled="false"/> 
    414        <field field_ref="other_field_Y" enabled="false"/> 
    415        <field field_ref="other_field_XY" enabled="false"/> 
    416        <field field_ref="other_field_Z" enabled="false"/> 
    417        <field field_ref="other_field_XYZ" enabled="false"/> 
    418        <field field_ref="other_field_XZ" enabled="false"/> 
    419        <field field_ref="other_field_YZ" enabled="false"/> 
     343    <file id="atm_output_domain_transformation_zoom" output_freq="12ts" type="one_file" enabled="true"> 
     344       <field field_ref="field2D" /> 
     345       <field field_ref="field3D" /> 
     346       <field id="field2D_zoom" field_ref="field2D" grid_ref="grid2D_zoom" /> 
     347       <field id="field3D_zoom" field_ref="field3D" grid_ref="grid3D_zoom" /> 
     348    </file> 
     349 
     350    <file id="atm_output_domain_transformation_extract" output_freq="12ts" type="one_file" enabled="true"> 
     351       <field field_ref="field2D" /> 
     352       <field field_ref="field3D" /> 
     353       <field id="field2D_extract" field_ref="field2D" grid_ref="grid2D_extract" /> 
     354       <field id="field3D_extract" field_ref="field3D" grid_ref="grid3D_extract" /> 
     355    </file> 
     356 
     357    <file id="atm_output_domain_transformation_interpolate" output_freq="12ts" type="one_file" enabled="true"> 
     358       <field field_ref="field2D" /> 
     359       <field id="field2D_interpolate" field_ref="field2D" grid_ref="grid2D_square" /> 
     360    </file> 
     361 
     362   <file id="atm_output_domain_transformation_reorder" output_freq="12ts" type="one_file" enabled="true"> 
     363       <field field_ref="field2D" /> 
     364       <field id="field2D_reorder" field_ref="field2D" grid_ref="grid2D_reorder" /> 
     365    </file> 
     366 
     367 
     368 
     369    <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 
     370       <field field_ref="field3D" /> 
     371       <field field_ref="field2D" />  
     372       <field field_ref="field_X" /> 
     373       <field field_ref="field_Y" /> 
     374       <field field_ref="field_XY" /> 
     375       <field field_ref="field_Z" /> 
     376       <field field_ref="field_XYZ" /> 
     377       <field field_ref="field_XZ" /> 
     378       <field field_ref="field_YZ" /> 
     379       <field field_ref="pressure"  />  
     380       <field field_ref="field3D_resend" /> 
     381    </file> 
     382 
     383    <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 
     384       <field field_ref="other_field3D" /> 
     385       <field field_ref="other_field2D" />  
     386       <field field_ref="other_field_X" /> 
     387       <field field_ref="other_field_Y" /> 
     388       <field field_ref="other_field_XY" /> 
     389       <field field_ref="other_field_Z" /> 
     390       <field field_ref="other_field_XYZ" /> 
     391       <field field_ref="other_field_XZ" /> 
     392       <field field_ref="other_field_YZ" /> 
     393       <field field_ref="other_pressure"  />  
     394       <field field_ref="other_field3D_resend" /> 
    420395    </file> 
    421396 
    422397    <file id="atm_output_W" output_freq="1ts" enabled="false"> 
    423        <field field_ref="field3D_W" enabled="true"/> 
    424        <field field_ref="field2D_W" enabled="true"/>  
    425        <field field_ref="field_XW" enabled="true"/> 
    426        <field field_ref="field_YW" enabled="true"/> 
    427        <field field_ref="field_XYW" enabled="true"/> 
    428        <field field_ref="field_ZW" enabled="true"/> 
    429        <field field_ref="field_XYZW" enabled="true"/> 
    430        <field field_ref="field_XZW" enabled="true"/> 
    431        <field field_ref="field_YZW" enabled="true"/> 
    432     </file> 
    433      
    434  
    435     <file id="atm_output_reorder" output_freq="1ts" enabled="false" > 
    436        <field field_ref="field2D" grid_ref="grid2D_invert" enabled="true"/> 
    437     </file> 
    438      
    439     <file id="test_grid_lat" output_freq="1ts" enabled="false"> 
    440       <field field_ref="field3D" operation="instant" /> 
    441       <field id="field_reduce_lat" field_ref="field3D" grid_ref="grid_lat" operation="instant" /> 
    442     </file> 
     398       <field field_ref="field3D_W" /> 
     399       <field field_ref="field2D_W" />  
     400       <field field_ref="field_XW" /> 
     401       <field field_ref="field_YW" /> 
     402       <field field_ref="field_XYW" /> 
     403       <field field_ref="field_ZW" /> 
     404       <field field_ref="field_XYZW" /> 
     405       <field field_ref="field_XZW" /> 
     406       <field field_ref="field_YZW" /> 
     407    </file> 
     408     
    443409     
    444410  </file_definition> 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_function/checkfile.def

    r1913 r1922  
    11 
    22#atm_output.nc 
    3 atm_output_max.nc 
    4 atm_output_min.nc 
    5 atm_output_sum.nc 
    6 atm_output_ave.nc 
     3atm_output_reduction_1D.nc 
     4atm_output_reduction_2D.nc 
     5atm_output_reduction_3D.nc 
     6atm_output_reduction_ref.nc 
     7#atm_output_max.nc 
     8#atm_output_min.nc 
     9#atm_output_sum.nc 
     10#atm_output_ave.nc 
    711#atm_output_ensemble.nc 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_function/context_atm.xml

    r1913 r1922  
    77    <domain id="domain" /> 
    88    <domain id="other_domain" /> 
    9   </domain> 
    10    
     9  </domain_definition> 
     10 
    1111  <axis_definition> 
    1212    <axis id="axis" /> 
    13     <axis id="axis_dup" /> 
    1413    <axis id="domain_X" /> 
    1514    <axis id="domain_Y" /> 
    1615    <axis id="ensemble" /> 
     16 
    1717 
    1818    <axis id="other_axis" /> 
     
    2222  </axis_definition> 
    2323 
    24   <axis_definition> 
    25     <axis id="axis_zoom" axis_ref="axis"> 
    26         <zoom_axis begin="0" n="5"/> 
    27     </axis> 
    28   </axis_definition> 
    29  
    3024  <scalar_definition> 
    3125    <scalar id="scalar" />  
     
    4842      <axis axis_ref="axis" /> 
    4943    </grid> 
     44    
     45 
     46 
    5047 
    5148    <grid id="grid_X"> 
     
    130127    </grid> 
    131128 
    132   
    133   
    134   
    135129  
    136130  
     
    229223    </grid> 
    230224 
    231  
    232  
    233  
    234  
    235  
    236  
    237  
    238  
    239  
    240     <grid id="grid_vert_reduce"> 
    241       <domain domain_ref="domain" /> 
    242       <scalar > 
    243         <reduce_axis operation="sum" /> 
    244       </scalar> 
    245     </grid> 
    246  
    247     <grid id="grid_horiz_reduce"> 
    248       <scalar > 
    249         <reduce_domain operation="sum" /> 
    250       </scalar> 
    251       <axis axis_ref="axis" /> 
    252     </grid> 
    253        
    254     <grid id="grid_zoom_vert"> 
    255       <domain domain_ref="domain" /> 
    256       <axis axis_ref="axis_zoom" /> 
    257     </grid> 
    258  
    259     <grid id="grid_zoom_vert_sum"> 
    260       <scalar > 
    261         <reduce_domain operation="sum" /> 
    262       </scalar> 
    263       <axis axis_ref="axis_zoom" /> 
    264     </grid> 
    265  
    266    <grid id="grid_lat"> 
    267        <axis axis_ref="domain_Y"> 
    268          <reduce_domain direction="iDir" operation="sum"/>  
    269        </axis> 
    270        <axis axis_ref="axis" /> 
    271     </grid> 
    272      
    273  
    274     <grid id="grid3D_invert"> 
    275       <domain domain_ref="domain"> 
    276         <reorder_domain invert_lat="true" /> 
    277       </domain> 
    278       <axis axis_ref="axis" /> 
    279     </grid> 
    280      
    281     <grid id="grid2D_invert"> 
    282       <domain domain_ref="domain"> 
    283         <reorder_domain invert_lat="true" shift_lon_fraction="0.5" min_lon="0" max_lon="360"/> 
    284       </domain> 
    285     </grid> 
    286  
    287      
     225    
    288226  </grid_definition> 
    289227   
    290228   
    291229  <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 
    292     <field id="field2D" grid_ref="grid2D" build_workflow_graph="false" /> 
    293     <field id="field3D" grid_ref="grid3D" build_workflow_graph="true" /> 
     230    <field id="field2D" grid_ref="grid2D" /> 
     231    <field id="field3D" grid_ref="grid3D" /> 
    294232    <field id="pressure" grid_ref="grid3D"  /> 
    295233    <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" /> 
    296234    <field id="field3D_resend" grid_ref="grid3D" /> 
    297235 
    298     <field id="field_X" grid_ref="grid_X" build_workflow_graph="false" /> 
    299     <field id="field_Y" grid_ref="grid_Y" build_workflow_graph="false" /> 
    300     <field id="field_Z" grid_ref="grid1D" build_workflow_graph="false" /> 
     236    <field id="field_X" grid_ref="grid_X" /> 
     237    <field id="field_Y" grid_ref="grid_Y" /> 
     238    <field id="field_Z" grid_ref="grid1D" /> 
    301239    <field id="field_XY" grid_ref="grid_XY" /> 
    302240    <field id="field_XYZ" grid_ref="grid_XYZ" /> 
    303241    <field id="field_XZ" grid_ref="grid_XZ" /> 
    304242    <field id="field_YZ" grid_ref="grid_YZ" /> 
    305  
    306     <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert"  /> 
    307     <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum"  /> 
    308  
    309243 
    310244 
     
    324258 
    325259 
    326  
    327  
    328260    <field id="other_field2D" grid_ref="other_grid2D"/> 
    329261    <field id="other_field3D" grid_ref="other_grid3D"  /> 
     
    354286    <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 
    355287 
    356  
    357  
    358  
    359288     
    360289     
    361290  </field_definition> 
     291 
     292 
     293 
     294<!-- implementation of specifics test case --> 
     295<!-- simplest test cases : output data to file --> 
     296 
    362297   
    363298 
    364299  <file_definition  type="one_file" > 
    365      
    366      <file id="atm_output_max" output_freq="4ts" enabled="true" > 
    367        <field field_ref="field2D"  operation = "maximum" /> 
    368        <field field_ref="field3D"  operation = "maximum" /> 
    369        <field field_ref="pressure" operation = "maximum" /> 
    370      </file> 
    371  
    372  
    373      <file id="atm_output_min" output_freq="4ts" enabled="true" > 
    374        <field field_ref="field2D"  operation = "minimum" /> 
    375        <field field_ref="field3D"  operation = "minimum" /> 
    376        <field field_ref="pressure" operation = "minimum" /> 
    377      </file> 
    378  
    379      <file id="atm_output_ave" output_freq="4ts" enabled="true" > 
    380        <field field_ref="field2D"  operation = "average" /> 
    381        <field field_ref="field3D"  operation = "average" /> 
    382        <field field_ref="pressure" operation = "average" /> 
    383      </file> 
    384  
    385      <file id="atm_output_sum" output_freq="4ts" enabled="true" > 
    386        <field field_ref="field2D"  operation = "accumulate" /> 
    387        <field field_ref="field3D"  operation = "accumulate" /> 
    388        <field field_ref="pressure" operation = "accumulate" /> 
    389      </file> 
    390       
    391      <file id="atm_output_once" output_freq="4ts" enabled="true" > 
    392        <field field_ref="field2D"  operation = "once" /> 
    393        <field field_ref="field3D"  operation = "once" /> 
    394        <field field_ref="pressure" operation = "once" /> 
    395      </file> 
    396       
    397      <file id="atm_output_instant" output_freq="4ts" enabled="true" > 
    398        <field field_ref="field2D"  operation = "instant" /> 
    399        <field field_ref="field3D"  operation = "instant" /> 
    400        <field field_ref="pressure" operation = "instant" /> 
    401      </file> 
    402  
    403  
    404      <file id="atm_output" output_freq="4ts" enabled="false" > 
    405         
    406        <field field_ref="field2D" operation="average" enabled="true"/> 
    407        <field field_ref="field3D" operation="average" enabled="false"/> 
    408        <field field_ref="pressure" operation="average" enabled="false"/> 
    409        <field field_ref="field3D_recv" operation="average" enabled="false"/> 
    410        <field field_ref="field3D_resend" operation="average" enabled="false"/> 
    411         
    412        <!-- <field field_ref="field_X" operation="average" enabled="true"/> 
    413        <field field_ref="field_Y" operation="average" enabled="true"/> 
    414        <field field_ref="field_Z" operation="average" enabled="true"/> 
    415        <field field_ref="field_XY" operation="average" enabled="true"/> 
    416        <field field_ref="field_XYZ" operation="average" enabled="true"/> 
    417        <field field_ref="field_XZ" operation="average" enabled="true"/> 
    418        <field field_ref="field_YZ" operation="average" enabled="true"/> 
    419         
    420        <field field_ref="field_zoom_vert" operation="average" enabled="true"/> 
    421        <field field_ref="field_zoom_vert_sum" operation="average" enabled="true"/> --> 
    422         
    423     </file> 
    424  
    425  
    426     <file id="atm_output_ensemble" output_freq="4ts" enabled="false"> 
    427        <field field_ref="field2D_W" operation="average" /> 
    428        <field field_ref="field3D_W" operation="average" /> 
    429        <field field_ref="pressure_W" operation="average" /> 
    430        <field field_ref="field3D_recv_W" operation="average" /> 
    431        <field field_ref="field3D_resend_W" operation="average" /> 
    432  
    433        <field field_ref="field_XW" operation="average" enabled="false" /> 
    434        <field field_ref="field_YW" operation="average" enabled="false" /> 
    435        <field field_ref="field_XYW" operation="average" enabled="false" /> 
    436        <field field_ref="field_ZW" operation="average" enabled="false" /> 
    437        <field field_ref="field_XYZW" operation="average" enabled="false" /> 
    438        <field field_ref="field_XZW" operation="average" enabled="false" /> 
    439        <field field_ref="field_YZW" operation="average" enabled="false" /> 
    440     </file> 
    441  
    442  
    443     <file id="atm_output_other" output_freq="1ts"  enabled="false"> 
    444        <field field_ref="other_field3D" enabled="false"/> 
    445        <field field_ref="other_field2D" enabled="true"/>  
    446        <field field_ref="other_field_X" enabled="false"/> 
    447        <field field_ref="other_field_Y" enabled="false"/> 
    448        <field field_ref="other_field_XY" enabled="false"/> 
    449        <field field_ref="other_field_Z" enabled="false"/> 
    450        <field field_ref="other_field_XYZ" enabled="false"/> 
    451        <field field_ref="other_field_XZ" enabled="false"/> 
    452        <field field_ref="other_field_YZ" enabled="false"/> 
    453     </file> 
    454      
    455  
    456     <file id="atm_output_reorder" output_freq="1ts" enabled="false" > 
    457        <field field_ref="field2D" grid_ref="grid2D_invert" enabled="true"/> 
    458     </file> 
    459      
    460     <file id="test_grid_lat" output_freq="1ts" enabled="false"> 
    461       <field field_ref="field3D" operation="instant" /> 
    462       <field id="field_reduce_lat" field_ref="field3D" grid_ref="grid_lat" operation="instant" /> 
    463     </file> 
     300    <file id="atm_output_reduction_1D" output_freq="6ts" type="one_file" enabled="true" > 
     301       <field field_ref="field_Z" freq_op="3ts" operation="average" name="field1D_average"/> 
     302       <field field_ref="field_Z" freq_op="3ts" operation="accumulate" name="field1D_sum"/> 
     303       <field field_ref="field_Z" freq_op="3ts" operation="maximum" name="field1D_max"/> 
     304       <field field_ref="field_Z" freq_op="3ts" operation="minimum" name="field1D_min"/> 
     305    </file> 
     306    
     307    <file id="atm_output_reduction_2D" output_freq="6ts" type="one_file" enabled="true"  > 
     308       <field field_ref="field2D" freq_op="3ts" operation="average" name="field2D_average"/> 
     309       <field field_ref="field2D" freq_op="3ts" operation="accumulate" name="field2D_sum"/> 
     310       <field field_ref="field2D" freq_op="3ts" operation="maximum" name="field2D_max"/> 
     311       <field field_ref="field2D" freq_op="3ts" operation="minimum" name="field2D_min"/> 
     312    </file> 
     313    
     314    <file id="atm_output_reduction_3D" output_freq="6ts" type="one_file" enabled="true"  > 
     315       <field field_ref="field3D" freq_op="3ts" operation="average" name="field3D_average"/> 
     316       <field field_ref="field3D" freq_op="3ts" operation="accumulate" name="field3D_sum"/> 
     317       <field field_ref="field3D" freq_op="3ts" operation="maximum" name="field3D_max"/> 
     318       <field field_ref="field3D" freq_op="3ts" operation="minimum" name="field3D_min"/> 
     319    </file> 
     320    
     321    <file id="atm_output_reduction_ref" output_freq="1ts" type="one_file" enabled="true"> 
     322       <field field_ref="field_Z"   /> 
     323       <field field_ref="field2D"   /> 
     324       <field field_ref="field3D"   /> 
     325    </file> 
     326 
     327 
     328   
     329    <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 
     330       <field field_ref="field3D" /> 
     331       <field field_ref="field2D" />  
     332       <field field_ref="field_X" /> 
     333       <field field_ref="field_Y" /> 
     334       <field field_ref="field_XY" /> 
     335       <field field_ref="field_Z" /> 
     336       <field field_ref="field_XYZ" /> 
     337       <field field_ref="field_XZ" /> 
     338       <field field_ref="field_YZ" /> 
     339       <field field_ref="pressure"  />  
     340       <field field_ref="field3D_resend" /> 
     341    </file> 
     342 
     343    <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 
     344       <field field_ref="other_field3D" /> 
     345       <field field_ref="other_field2D" />  
     346       <field field_ref="other_field_X" /> 
     347       <field field_ref="other_field_Y" /> 
     348       <field field_ref="other_field_XY" /> 
     349       <field field_ref="other_field_Z" /> 
     350       <field field_ref="other_field_XYZ" /> 
     351       <field field_ref="other_field_XZ" /> 
     352       <field field_ref="other_field_YZ" /> 
     353       <field field_ref="other_pressure"  />  
     354       <field field_ref="other_field3D_resend" /> 
     355    </file> 
     356 
     357    <file id="atm_output_W" output_freq="1ts" enabled="false"> 
     358       <field field_ref="field3D_W" /> 
     359       <field field_ref="field2D_W" />  
     360       <field field_ref="field_XW" /> 
     361       <field field_ref="field_YW" /> 
     362       <field field_ref="field_XYW" /> 
     363       <field field_ref="field_ZW" /> 
     364       <field field_ref="field_XYZW" /> 
     365       <field field_ref="field_XZW" /> 
     366       <field field_ref="field_YZW" /> 
     367    </file> 
     368     
    464369     
    465370  </file_definition> 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_scalar_algo/checkfile.def

    r1807 r1922  
    1 #atm_output1.nc 
    2  
    3 atm_output.nc 
    4 atm_output_zoom.nc 
     1atm_output_scalar_transformation_reduce_axis.nc 
     2atm_output_scalar_transformation_reduce_domain.nc 
     3atm_output_scalar_transformation_extract.nc 
  • XIOS/trunk/xios_test_suite/TEST_SUITE/test_scalar_algo/context_atm.xml

    r1807 r1922  
    1111  <axis_definition> 
    1212    <axis id="axis" /> 
    13     <axis id="axis_dup" /> 
    1413    <axis id="domain_X" /> 
    1514    <axis id="domain_Y" /> 
     
    2221  </axis_definition> 
    2322 
    24   <axis_definition> 
    25     <axis id="axis_zoom" axis_ref="axis"> 
    26         <zoom_axis begin="0" n="5"/> 
    27     </axis> 
    28     <axis id="domain_X_zoom" axis_ref="domain_X"> 
    29         <zoom_axis begin="0" n="1"/> 
    30     </axis> 
    31     <axis id="domain_Y_zoom" axis_ref="domain_Y"> 
    32         <zoom_axis begin="3" n="1"/> 
    33     </axis> 
    34   </axis_definition> 
    35  
    3623  <scalar_definition> 
    3724    <scalar id="scalar" />  
     25    <scalar id="reduce_axis_max"> 
     26      <reduce_axis operation="max"/> 
     27    </scalar> 
     28    <scalar id="reduce_axis_min"> 
     29      <reduce_axis operation="min"/> 
     30    </scalar> 
     31    <scalar id="reduce_axis_sum"> 
     32      <reduce_axis operation="sum"/> 
     33    </scalar> 
     34    <scalar id="reduce_axis_ave"> 
     35      <reduce_axis operation="average"/> 
     36    </scalar> 
     37    <scalar id="reduce_domain_max"> 
     38      <reduce_domain operation="max"/> 
     39    </scalar> 
     40    <scalar id="reduce_domain_min"> 
     41      <reduce_domain operation="min"/> 
     42    </scalar> 
     43    <scalar id="reduce_domain_sum"> 
     44      <reduce_domain operation="sum"/> 
     45    </scalar> 
     46    <scalar id="reduce_domain_ave"> 
     47      <reduce_domain operation="average"/> 
     48    </scalar> 
     49  
     50   
    3851  </scalar_definition> 
    3952   
     
    5467      <axis axis_ref="axis" /> 
    5568    </grid> 
     69       
     70    <grid id="grid0D_reduce_axis_max"> 
     71      <scalar scalar_ref="reduce_axis_max" /> 
     72    </grid> 
     73  
     74    <grid id="grid0D_reduce_axis_min"> 
     75      <scalar scalar_ref="reduce_axis_min" /> 
     76    </grid> 
     77  
     78    <grid id="grid0D_reduce_axis_sum"> 
     79      <scalar scalar_ref="reduce_axis_sum" /> 
     80    </grid> 
     81  
     82    <grid id="grid0D_reduce_axis_ave"> 
     83      <scalar scalar_ref="reduce_axis_ave" /> 
     84    </grid> 
     85  
     86    <grid id="grid0D_extract_pos4"> 
     87      <scalar id="extract_axis_to_scalar_pos4"> 
     88        <extract_axis position="4" />  
     89      </scalar> 
     90    </grid> 
     91 
     92   <grid id="grid0D_extract_pos5"> 
     93      <scalar id="extract_axis_to_scalar_pos5"> 
     94        <extract_axis position="5" />  
     95      </axis> 
     96    </grid> 
     97 
     98    <grid id="grid2D_extract_pos4"> 
     99      <domain domain_ref="domain" /> 
     100      <scalar id="extract2D_axis_to_scalar_pos4"> 
     101        <extract_axis position="4" />  
     102      </scalar> 
     103    </grid> 
     104     
     105    <grid id="grid2D_extract_pos5"> 
     106      <domain domain_ref="domain" /> 
     107      <scalar id="extract2D_axis_to_scalar_pos5"> 
     108        <extract_axis position="5" />  
     109      </scalar> 
     110    </grid> 
     111 
     112  
     113    <grid id="grid2D_reduce_domain_max"> 
     114      <scalar scalar_ref="reduce_domain_max" /> 
     115    </grid> 
     116  
     117    <grid id="grid2D_reduce_domain_min"> 
     118      <scalar scalar_ref="reduce_domain_min" /> 
     119    </grid> 
     120  
     121    <grid id="grid2D_reduce_domain_sum"> 
     122      <scalar scalar_ref="reduce_domain_sum" /> 
     123    </grid> 
     124  
     125    <grid id="grid2D_reduce_domain_ave"> 
     126      <scalar scalar_ref="reduce_domain_ave" /> 
     127    </grid> 
     128  
     129 
     130 
     131 
    56132 
    57133    <grid id="grid_X"> 
     
    59135    </grid> 
    60136 
    61      <grid id="grid_X_zoom"> 
    62       <axis axis_ref="domain_X_zoom" /> 
    63     </grid> 
    64  
    65137    <grid id="grid_Y"> 
    66138      <axis axis_ref="domain_Y" /> 
     
    140212    </grid> 
    141213 
    142  
    143     <grid id="grid_XY_zoom_Y"> 
    144       <axis axis_ref="domain_X" /> 
    145       <axis axis_ref="domain_Y_zoom" /> 
    146     </grid> 
    147  
    148     <grid id="grid_XY_zoom_X"> 
    149       <axis axis_ref="domain_X_zoom" /> 
    150       <axis axis_ref="domain_Y" /> 
    151  
    152     </grid> 
    153  
    154   
    155   
    156   
    157214  
    158215  
     
    251308    </grid> 
    252309 
    253  
    254  
    255  
    256  
    257  
    258  
    259  
    260  
    261  
    262     <grid id="grid_vert_reduce"> 
    263       <domain domain_ref="domain" /> 
    264       <scalar > 
    265         <reduce_axis operation="sum" /> 
    266       </scalar> 
    267     </grid> 
    268  
    269     <grid id="grid_horiz_reduce"> 
    270       <scalar > 
    271         <reduce_domain operation="sum" /> 
    272       </scalar> 
    273       <axis axis_ref="axis" /> 
    274     </grid> 
    275        
    276     <grid id="grid_zoom_vert"> 
    277       <domain domain_ref="domain" /> 
    278       <axis axis_ref="axis_zoom" /> 
    279     </grid> 
    280  
    281     <grid id="grid_zoom_vert_sum"> 
    282       <scalar > 
    283         <reduce_domain operation="sum" /> 
    284       </scalar> 
    285       <axis axis_ref="axis_zoom" /> 
    286     </grid> 
    287  
    288    <grid id="grid_lat"> 
    289        <axis axis_ref="domain_Y"> 
    290          <reduce_domain direction="iDir" operation="sum"/>  
    291        </axis> 
    292        <axis axis_ref="axis" /> 
    293     </grid> 
    294      
    295  
    296     <grid id="grid3D_invert"> 
    297       <domain domain_ref="domain"> 
    298         <reorder_domain invert_lat="true" /> 
    299       </domain> 
    300       <axis axis_ref="axis" /> 
    301     </grid> 
    302      
    303     <grid id="grid2D_invert"> 
    304       <domain domain_ref="domain"> 
    305         <reorder_domain invert_lat="true" shift_lon_fraction="0.5" min_lon="0" max_lon="360"/> 
    306       </domain> 
    307     </grid> 
    308  
    309      
     310    
    310311  </grid_definition> 
    311312   
    312313   
    313314  <field_definition level="1" prec="8" operation="instant" freq_op="1ts" enabled=".true." default_value="1.e+20" detect_missing_value="true"> 
    314     <field id="field2D" grid_ref="grid2D" build_workflow_graph="false" /> 
    315     <field id="field3D" grid_ref="grid3D" build_workflow_graph="true" /> 
     315    <field id="field2D" grid_ref="grid2D" /> 
     316    <field id="field3D" grid_ref="grid3D" /> 
    316317    <field id="pressure" grid_ref="grid3D"  /> 
    317318    <field id="field3D_recv" read_access="true" grid_ref="grid3D"  field_ref="field3D" /> 
    318319    <field id="field3D_resend" grid_ref="grid3D" /> 
    319320 
    320     <field id="field_X" grid_ref="grid_X" build_workflow_graph="false" /> 
    321     <field id="field_Y" grid_ref="grid_Y" build_workflow_graph="false" /> 
    322     <field id="field_Z" grid_ref="grid1D" build_workflow_graph="false" /> 
     321    <field id="field_X" grid_ref="grid_X" /> 
     322    <field id="field_Y" grid_ref="grid_Y" /> 
     323    <field id="field_Z" grid_ref="grid1D" /> 
    323324    <field id="field_XY" grid_ref="grid_XY" /> 
    324325    <field id="field_XYZ" grid_ref="grid_XYZ" /> 
    325326    <field id="field_XZ" grid_ref="grid_XZ" /> 
    326327    <field id="field_YZ" grid_ref="grid_YZ" /> 
    327  
    328     <field id="field_zoom_vert" field_ref="field3D" grid_ref="grid_zoom_vert"  /> 
    329     <field id="field_zoom_vert_sum" field_ref="field_zoom_vert" grid_ref="grid_zoom_vert_sum"  /> 
    330  
    331328 
    332329 
     
    346343 
    347344 
    348  
    349  
    350345    <field id="other_field2D" grid_ref="other_grid2D"/> 
    351346    <field id="other_field3D" grid_ref="other_grid3D"  /> 
     
    376371    <field id="other_field_YZW" grid_ref="other_grid_YZW" /> 
    377372 
    378  
    379  
    380  
    381373     
    382374     
    383375  </field_definition> 
     376 
     377 
     378 
     379<!-- implementation of specifics test case --> 
     380<!-- simplest test cases : output data to file --> 
     381 
    384382   
    385383 
    386384  <file_definition  type="one_file" > 
    387      
    388     <file id="atm_output" output_freq="1ts" type="one_file" enabled="true"> 
    389        <!-- <field id="id_fieldXY" field_ref="field_XY" operation="once" enabled="true"/> --> 
    390        <field id="id_fieldX" field_ref="field_X" operation="once" enabled="true"/> 
    391     </file> 
    392  
    393      <file id="atm_output_zoom" output_freq="1ts" enabled="true"> 
    394        <field id="fieldX_zoomX" field_ref="field_X" grid_ref="grid_X_zoom" operation="once" enabled="true"/> 
    395        <!-- <field id="fieldXY_zoomX" field_ref="field_XY" grid_ref="grid_XY_zoom_X" operation="once" enabled="true"/> 
    396        <field id="fieldXY_zoomY" field_ref="field_XY" grid_ref="grid_XY_zoom_Y" operation="once" enabled="true"/> --> 
    397     </file> 
    398  
    399  
    400     <file id="atm_output_other" output_freq="1ts"  enabled="false"> 
    401        <field field_ref="other_field3D" enabled="false"/> 
    402        <field field_ref="other_field2D" enabled="true"/>  
    403        <field field_ref="other_field_X" enabled="false"/> 
    404        <field field_ref="other_field_Y" enabled="false"/> 
    405        <field field_ref="other_field_XY" enabled="false"/> 
    406        <field field_ref="other_field_Z" enabled="false"/> 
    407        <field field_ref="other_field_XYZ" enabled="false"/> 
    408        <field field_ref="other_field_XZ" enabled="false"/> 
    409        <field field_ref="other_field_YZ" enabled="false"/> 
     385    <file id="atm_output_scalar_transformation_extract" output_freq="12ts" type="one_file" enabled="true" > 
     386       <field field_ref="field_Z" /> 
     387       <field id="fieldZ_pos4" field_ref="field_Z" name="fieldZ_pos4" grid_ref="grid0D_extract_pos4" /> 
     388       <field id="fieldZ_pos5" field_ref="field_Z" name="fieldZ_pos5" grid_ref="grid0D_extract_pos5" /> 
     389       <field field_ref="field3D" /> 
     390       <field id="field3D_pos4" enabled="true" field_ref="field3D" name="field3D_pos4" grid_ref="grid2D_extract_pos4" /> 
     391       <field id="field3D_pos5" enabled="true" field_ref="field3D" name="field3D_pos5" grid_ref="grid2D_extract_pos5"/> 
     392    </file> 
     393 
     394    <file id="atm_output_scalar_transformation_reduce_axis" output_freq="4ts" type="one_file" enabled="true"> 
     395       <field field_ref="field_Z" /> 
     396       <field id="field_reduce_axis_max" field_ref="field_Z" name="field_reduce_axis_max" grid_ref="grid0D_reduce_axis_max" enabled="true"/> 
     397       <field id="field_reduce_axis_min" field_ref="field_Z" name="field_reduce_axis_min" grid_ref="grid0D_reduce_axis_min" enabled="true"/> 
     398       <field id="field_reduce_axis_sum" field_ref="field_Z" name="field_reduce_axis_sum" grid_ref="grid0D_reduce_axis_sum" enabled="true"/> 
     399       <field id="field_reduce_axis_ave" field_ref="field_Z" name="field_reduce_axis_ave" grid_ref="grid0D_reduce_axis_ave" enabled="true"/> 
     400    </file> 
     401    
     402    <file id="atm_output_scalar_transformation_reduce_domain" output_freq="24ts" type="one_file" enabled="true"> 
     403       <field field_ref="field2D" /> 
     404       <field id="field_reduce_domain_max" field_ref="field2D" name="field_reduce_domain_max" grid_ref="grid2D_reduce_domain_max" /> 
     405       <field id="field_reduce_domain_min" field_ref="field2D" name="field_reduce_domain_min" grid_ref="grid2D_reduce_domain_min" /> 
     406       <field id="field_reduce_domain_sum" field_ref="field2D" name="field_reduce_domain_sum" grid_ref="grid2D_reduce_domain_sum" /> 
     407       <field id="field_reduce_domain_ave" field_ref="field2D" name="field_reduce_domain_ave" grid_ref="grid2D_reduce_domain_ave" /> 
     408    </file> 
     409 
     410 
     411 
     412   
     413    <file id="atm_output" output_freq="1ts" type="one_file" enabled="false"> 
     414       <field field_ref="field3D" /> 
     415       <field field_ref="field2D" />  
     416       <field field_ref="field_X" /> 
     417       <field field_ref="field_Y" /> 
     418       <field field_ref="field_XY" /> 
     419       <field field_ref="field_Z" /> 
     420       <field field_ref="field_XYZ" /> 
     421       <field field_ref="field_XZ" /> 
     422       <field field_ref="field_YZ" /> 
     423       <field field_ref="pressure"  />  
     424       <field field_ref="field3D_resend" /> 
     425    </file> 
     426 
     427    <file id="atm_output_other" output_freq="1ts" type="one_file" enabled="false"> 
     428       <field field_ref="other_field3D" /> 
     429       <field field_ref="other_field2D" />  
     430       <field field_ref="other_field_X" /> 
     431       <field field_ref="other_field_Y" /> 
     432       <field field_ref="other_field_XY" /> 
     433       <field field_ref="other_field_Z" /> 
     434       <field field_ref="other_field_XYZ" /> 
     435       <field field_ref="other_field_XZ" /> 
     436       <field field_ref="other_field_YZ" /> 
     437       <field field_ref="other_pressure"  />  
     438       <field field_ref="other_field3D_resend" /> 
    410439    </file> 
    411440 
    412441    <file id="atm_output_W" output_freq="1ts" enabled="false"> 
    413        <field field_ref="field3D_W" enabled="true"/> 
    414        <field field_ref="field2D_W" enabled="true"/>  
    415        <field field_ref="field_XW" enabled="true"/> 
    416        <field field_ref="field_YW" enabled="true"/> 
    417        <field field_ref="field_XYW" enabled="true"/> 
    418        <field field_ref="field_ZW" enabled="true"/> 
    419        <field field_ref="field_XYZW" enabled="true"/> 
    420        <field field_ref="field_XZW" enabled="true"/> 
    421        <field field_ref="field_YZW" enabled="true"/> 
    422     </file> 
    423      
    424  
    425     <file id="atm_output_reorder" output_freq="1ts" enabled="false" > 
    426        <field field_ref="field2D" grid_ref="grid2D_invert" enabled="true"/> 
    427     </file> 
    428      
    429     <file id="test_grid_lat" output_freq="1ts" enabled="false"> 
    430       <field field_ref="field3D" operation="instant" /> 
    431       <field id="field_reduce_lat" field_ref="field3D" grid_ref="grid_lat" operation="instant" /> 
    432     </file> 
     442       <field field_ref="field3D_W" /> 
     443       <field field_ref="field2D_W" />  
     444       <field field_ref="field_XW" /> 
     445       <field field_ref="field_YW" /> 
     446       <field field_ref="field_XYW" /> 
     447       <field field_ref="field_ZW" /> 
     448       <field field_ref="field_XYZW" /> 
     449       <field field_ref="field_XZW" /> 
     450       <field field_ref="field_YZW" /> 
     451    </file> 
     452     
    433453     
    434454  </file_definition> 
Note: See TracChangeset for help on using the changeset viewer.