Ignore:
Timestamp:
03/21/24 10:13:06 (4 months ago)
Author:
jderouillat
Message:

Modify fortran-C interfaces to manage logical-bool conversion, the optimizations of OneAPI could produce bugs regarding the logical-bool encodings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS2/trunk/src/interface/fortran_attr/idomaingroup_attr.F90

    r2618 r2623  
    88  USE idomain 
    99  USE domaingroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    390391        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 
    391392        mask_1d__tmp = mask_1d_ 
     393        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    392394        CALL cxios_set_domaingroup_mask_1d & 
    393395      (domaingroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     
    397399        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 
    398400        mask_2d__tmp = mask_2d_ 
     401        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    399402        CALL cxios_set_domaingroup_mask_2d & 
    400403      (domaingroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     
    493496      IF (PRESENT(tile_only_)) THEN 
    494497        tile_only__tmp = tile_only_ 
     498        CALL xios_logical_to_bool_0d(tile_only__tmp) 
    495499        CALL cxios_set_domaingroup_tile_only & 
    496500      (domaingroup_hdl%daddr, tile_only__tmp) 
     
    884888        CALL cxios_get_domaingroup_mask_1d & 
    885889      (domaingroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     890        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    886891        mask_1d_ = mask_1d__tmp 
    887892      ENDIF 
     
    891896        CALL cxios_get_domaingroup_mask_2d & 
    892897      (domaingroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     898        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    893899        mask_2d_ = mask_2d__tmp 
    894900      ENDIF 
     
    987993        CALL cxios_get_domaingroup_tile_only & 
    988994      (domaingroup_hdl%daddr, tile_only__tmp) 
     995        CALL xios_bool_to_logical_0d(tile_only__tmp) 
    989996        tile_only_ = tile_only__tmp 
    990997      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.