Ignore:
Timestamp:
03/20/24 14:48:11 (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.

Location:
XIOS3/trunk/src/interface/fortran
Files:
1 added
36 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/interface/fortran/iaxis.F90

    r501 r2620  
    55   USE AXIS_INTERFACE 
    66   USE AXISGROUP_INTERFACE 
    7     
     7   USE LOGICAL_BOOL_CONVERSION 
     8 
    89   TYPE txios(axis) 
    910      INTEGER(kind = C_INTPTR_T) :: daddr 
     
    4041       
    4142      CALL cxios_axis_valid_id(val, idt, len(idt)) 
     43      CALL xios_bool_to_logical_0d(val) 
    4244      xios(is_valid_axis) = val 
    4345 
     
    5052 
    5153      CALL cxios_axisgroup_valid_id(val, idt, len(idt)) 
     54      CALL xios_bool_to_logical_0d(val) 
    5255      xios(is_valid_axisgroup) = val 
    5356 
  • XIOS3/trunk/src/interface/fortran/icalendar_wrapper.F90

    r549 r2620  
    66   USE IDATE 
    77   USE IDURATION 
     8   USE LOGICAL_BOOL_CONVERSION 
    89 
    910   TYPE txios(calendar_wrapper) 
     
    3435 
    3536      CALL cxios_calendar_wrapper_valid_id(val, idt, len(idt)); 
     37      CALL xios_bool_to_logical_0d(val) 
    3638      xios(is_valid_calendar_wrapper) = val 
    3739   END FUNCTION  xios(is_valid_calendar_wrapper) 
  • XIOS3/trunk/src/interface/fortran/icompute_connectivity_domain.F90

    r934 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE COMPUTE_CONNECTIVITY_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(compute_connectivity_domain) 
     
    2425 
    2526      CALL cxios_compute_connectivity_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_compute_connectivity_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/icontext.F90

    r2121 r2620  
    77   USE IDURATION 
    88!   USE icontext_attr 
     9   USE LOGICAL_BOOL_CONVERSION 
    910 
    1011 
     
    6263         wswap = .FALSE. 
    6364      END IF 
     65      CALL xios_logical_to_bool_0d(wswap) 
    6466      CALL cxios_context_set_current(context%daddr, wswap) 
    6567 
     
    8385 
    8486      CALL cxios_context_valid_id(val, idt, len(idt)); 
     87      CALL xios_bool_to_logical_0d(val) 
    8588      xios(is_valid_context) = val 
    8689 
  • XIOS3/trunk/src/interface/fortran/idata.F90

    r2121 r2620  
    55   USE ICONTEXT 
    66   USE IFIELD 
     7   USE LOGICAL_BOOL_CONVERSION 
    78 
    89   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 
     
    780781 
    781782      CALL cxios_context_is_initialized(context_id, LEN(context_id), is_init) 
     783      CALL xios_bool_to_logical_0d(is_init) 
    782784      xios(context_is_initialized) = is_init 
    783785 
     
    13471349      CALL cxios_get_variable_data_k8(varId, len(varId), data_k8, val) 
    13481350 
     1351      CALL xios_bool_to_logical_0d(val) 
    13491352      xios(getVar_k8) = val 
    13501353   END FUNCTION xios(getVar_k8) 
     
    13591362      CALL cxios_get_variable_data_k4(varId, len(varId), data_k4, val) 
    13601363 
     1364      CALL xios_bool_to_logical_0d(val) 
    13611365      xios(getVar_k4) = val 
    13621366   END FUNCTION xios(getVar_k4) 
     
    13711375      CALL cxios_get_variable_data_int(varId, len(varId), data_int, val) 
    13721376 
     1377      CALL xios_bool_to_logical_0d(val) 
    13731378      xios(getVar_int) = val 
    13741379   END FUNCTION xios(getVar_int) 
     
    13831388 
    13841389      CALL cxios_get_variable_data_logic(varId, len(varId), data_tmp, val) 
     1390      CALL xios_bool_to_logical_0d(val) 
    13851391      xios(getVar_logic) = val 
    1386       IF (val) data_logic = data_tmp 
     1392      IF (val) THEN 
     1393         CALL xios_bool_to_logical_0d(data_tmp) 
     1394         data_logic = data_tmp 
     1395      ENDIF 
    13871396   END FUNCTION xios(getVar_logic) 
    13881397 
     
    13961405      CALL cxios_get_variable_data_char(varId, len(varId), data_char, len(data_char), val) 
    13971406 
     1407      CALL xios_bool_to_logical_0d(val) 
    13981408      xios(getVar_char) = val 
    13991409   END FUNCTION xios(getVar_char) 
     
    14091419      CALL cxios_set_variable_data_k8(varId, len(varId), data_k8, val) 
    14101420 
     1421      CALL xios_bool_to_logical_0d(val) 
    14111422      xios(setVar_k8) = val 
    14121423   END FUNCTION xios(setVar_k8) 
     
    14211432      CALL cxios_set_variable_data_k4(varId, len(varId), data_k4, val) 
    14221433 
     1434      CALL xios_bool_to_logical_0d(val) 
    14231435      xios(setVar_k4) = val 
    14241436   END FUNCTION xios(setVar_k4) 
     
    14331445      CALL cxios_set_variable_data_int(varId, len(varId), data_int, val) 
    14341446 
     1447      CALL xios_bool_to_logical_0d(val) 
    14351448      xios(setVar_int) = val 
    14361449   END FUNCTION xios(setVar_int) 
     
    14451458 
    14461459      data_tmp = data_logic 
     1460      CALL xios_logical_to_bool_0d(data_tmp) 
    14471461      CALL cxios_set_variable_data_logic(varId, len(varId), data_tmp, val) 
    14481462 
     1463      CALL xios_bool_to_logical_0d(val) 
    14491464      xios(setVar_logic) = val 
    14501465   END FUNCTION xios(setVar_logic) 
     
    14591474      CALL cxios_set_variable_data_char(varId, len(varId), data_char, len(data_char), val) 
    14601475 
     1476      CALL xios_bool_to_logical_0d(val) 
    14611477      xios(setVar_char) = val 
    14621478   END FUNCTION xios(setVar_char) 
  • XIOS3/trunk/src/interface/fortran/idate.F90

    r801 r2620  
    33   USE, INTRINSIC :: ISO_C_BINDING 
    44   USE DATE_INTERFACE 
     5   USE LOGICAL_BOOL_CONVERSION 
    56 
    67   INTERFACE OPERATOR(+) 
     
    115116      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    116117      LOGICAL :: res 
    117  
    118       res = cxios_date_eq(date1, date2) 
     118      LOGICAL (KIND=C_BOOL) :: res__tmp 
     119 
     120      res__tmp = cxios_date_eq(date1, date2) 
     121      CALL xios_bool_to_logical_0d(res__tmp) 
     122      res = res__tmp 
    119123   END FUNCTION xios(date_eq) 
    120124 
     
    124128      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    125129      LOGICAL :: res 
    126  
    127       res = cxios_date_neq(date1, date2) 
     130      LOGICAL (KIND=C_BOOL) :: res__tmp 
     131 
     132      res__tmp = cxios_date_neq(date1, date2) 
     133      CALL xios_bool_to_logical_0d(res__tmp) 
     134      res = res__tmp 
    128135   END FUNCTION xios(date_neq) 
    129136 
     
    133140      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    134141      LOGICAL :: res 
    135  
    136       res = cxios_date_lt(date1, date2) 
     142      LOGICAL (KIND=C_BOOL) :: res__tmp 
     143 
     144      res__tmp = cxios_date_lt(date1, date2) 
     145      CALL xios_bool_to_logical_0d(res__tmp) 
     146      res = res__tmp 
    137147   END FUNCTION xios(date_lt) 
    138148 
     
    142152      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    143153      LOGICAL :: res 
    144  
    145       res = cxios_date_le(date1, date2) 
     154      LOGICAL (KIND=C_BOOL) :: res__tmp 
     155 
     156      res__tmp = cxios_date_le(date1, date2) 
     157      CALL xios_bool_to_logical_0d(res__tmp) 
     158      res = res__tmp 
    146159   END FUNCTION xios(date_le) 
    147160 
     
    151164      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    152165      LOGICAL :: res 
    153  
    154       res = cxios_date_gt(date1, date2) 
     166      LOGICAL (KIND=C_BOOL) :: res__tmp 
     167 
     168      res__tmp = cxios_date_gt(date1, date2) 
     169      CALL xios_bool_to_logical_0d(res__tmp) 
     170      res = res__tmp 
    155171   END FUNCTION xios(date_gt) 
    156172 
     
    160176      TYPE(txios(date)), INTENT(IN) :: date1, date2 
    161177      LOGICAL :: res 
    162  
    163       res = cxios_date_ge(date1, date2) 
     178      LOGICAL (KIND=C_BOOL) :: res__tmp 
     179 
     180      res__tmp = cxios_date_ge(date1, date2) 
     181      CALL xios_bool_to_logical_0d(res__tmp) 
     182      res = res__tmp 
    164183   END FUNCTION xios(date_ge) 
    165184 
  • XIOS3/trunk/src/interface/fortran/idomain.F90

    r501 r2620  
    77!   USE IDOMAIN_ATTR 
    88!   USE IDOMAINGROUP_ATTR 
     9   USE LOGICAL_BOOL_CONVERSION 
    910       
    1011   TYPE txios(domain) 
     
    4243      LOGICAL  (kind = 1)                 :: val 
    4344      CALL cxios_domain_valid_id(val, idt, len(idt)); 
     45      CALL xios_bool_to_logical_0d(val) 
    4446      xios(is_valid_domain) = val 
    4547   END FUNCTION  xios(is_valid_domain) 
     
    5052      LOGICAL  (kind = 1)                 :: val 
    5153      CALL cxios_domaingroup_valid_id(val, idt, len(idt)); 
     54      CALL xios_bool_to_logical_0d(val) 
    5255      xios(is_valid_domaingroup) = val 
    5356   END FUNCTION  xios(is_valid_domaingroup) 
  • XIOS3/trunk/src/interface/fortran/iduplicate_scalar_to_axis_interface.F90

    r1492 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE DUPLICATE_SCALAR_TO_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(duplicate_scalar_to_axis) 
     
    2425 
    2526      CALL cxios_duplicate_scalar_to_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_duplicate_scalar_to_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iduration.F90

    r801 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE DURATION_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE(txios(duration)), PARAMETER :: xios(year) = txios(duration)(1, 0, 0, 0, 0, 0, 0) 
     
    176177      TYPE(txios(duration)), INTENT(IN) :: dur1, dur2 
    177178      LOGICAL :: res 
     179      LOGICAL (KIND=C_BOOL) :: res__tmp 
    178180 
    179       res = cxios_duration_eq(dur1, dur2) 
     181      res__tmp = cxios_duration_eq(dur1, dur2) 
     182      CALL xios_bool_to_logical_0d(res__tmp) 
     183      res = res__tmp 
    180184   END FUNCTION xios(duration_eq) 
    181185 
     
    185189      TYPE(txios(duration)), INTENT(IN) :: dur1, dur2 
    186190      LOGICAL :: res 
     191      LOGICAL (KIND=C_BOOL) :: res__tmp 
    187192 
    188       res = cxios_duration_neq(dur1, dur2) 
     193      res__tmp = cxios_duration_neq(dur1, dur2) 
     194      CALL xios_bool_to_logical_0d(res__tmp) 
     195      res = res__tmp 
    189196   END FUNCTION xios(duration_neq) 
    190197 
  • XIOS3/trunk/src/interface/fortran/iexpand_domain.F90

    r981 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE EXPAND_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(expand_domain) 
     
    2425 
    2526      CALL cxios_expand_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_expand_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iextract_axis_to_scalar.F90

    r981 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE EXTRACT_AXIS_TO_SCALAR_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(extract_axis_to_scalar) 
     
    2425 
    2526      CALL cxios_extract_axis_to_scalar_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_extract_axis_to_scalar) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iextract_domain.F90

    r2338 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE EXTRACT_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(extract_domain) 
     
    2425 
    2526      CALL cxios_extract_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_extract_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iextract_domain_to_axis.F90

    r981 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE EXTRACT_DOMAIN_TO_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(extract_domain_to_axis) 
     
    2425 
    2526      CALL cxios_extract_domain_to_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_extract_domain_to_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ifield.F90

    r1158 r2620  
    1111   USE IAXIS 
    1212   USE ISCALAR 
     13   USE LOGICAL_BOOL_CONVERSION 
    1314    
    1415   TYPE txios(field) 
     
    129130       
    130131      CALL cxios_field_valid_id(val, idt, len(idt)); 
     132      CALL xios_bool_to_logical_0d(val) 
    131133      xios(is_valid_field) = val 
    132134 
     
    138140      LOGICAL  (kind = 1)                 :: val 
    139141      CALL cxios_fieldgroup_valid_id(val, idt, len(idt)); 
     142      CALL xios_bool_to_logical_0d(val) 
    140143      xios(is_valid_fieldgroup) = val 
    141144 
     
    166169      ENDIF 
    167170 
     171      CALL xios_logical_to_bool_0d(at_current_timestep) 
    168172      CALL cxios_field_is_active(field_hdl%daddr, at_current_timestep, ret); 
     173      CALL xios_bool_to_logical_0d(ret) 
    169174      xios(field_is_active_hdl) = ret 
    170175       
  • XIOS3/trunk/src/interface/fortran/ifile.F90

    r545 r2620  
    88!   USE IFILEGROUP_ATTR 
    99   USE IDURATION 
     10   USE LOGICAL_BOOL_CONVERSION 
    1011    
    1112   TYPE txios(file) 
     
    4344 
    4445      CALL cxios_file_valid_id(val, idt, len(idt)); 
     46      CALL xios_bool_to_logical_0d(val) 
    4547      xios(is_valid_file) = val 
    4648 
     
    5355 
    5456      CALL cxios_filegroup_valid_id(val, idt, len(idt)); 
     57      CALL xios_bool_to_logical_0d(val) 
    5558      xios(is_valid_filegroup) = val 
    5659 
  • XIOS3/trunk/src/interface/fortran/igenerate_rectilinear_domain.F90

    r786 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE GENERATE_RECTILINEAR_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(generate_rectilinear_domain) 
     
    2425 
    2526      CALL cxios_generate_rectilinear_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_generate_rectilinear_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/igrid.F90

    r501 r2620  
    77!   USE IGRID_ATTR 
    88!   USE IGRIDGROUP_ATTR 
     9   USE LOGICAL_BOOL_CONVERSION 
    910    
    1011   TYPE txios(grid) 
     
    4344 
    4445      CALL cxios_grid_valid_id(val, idt, len(idt)); 
     46      CALL xios_bool_to_logical_0d(val) 
    4547      xios(is_valid_grid) = val 
    4648 
     
    5355 
    5456      CALL cxios_gridgroup_valid_id(val, idt, len(idt)); 
     57      CALL xios_bool_to_logical_0d(val) 
    5558      xios(is_valid_gridgroup) = val 
    5659 
  • XIOS3/trunk/src/interface/fortran/iinterpolate_axis.F90

    r786 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE INTERPOLATE_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(interpolate_axis) 
     
    2425 
    2526      CALL cxios_interpolate_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_interpolate_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iinterpolate_domain.F90

    r786 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE INTERPOLATE_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(interpolate_domain) 
     
    2425 
    2526      CALL cxios_interpolate_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_interpolate_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iinverse_axis.F90

    r786 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE INVERSE_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(inverse_axis) 
     
    2425 
    2526      CALL cxios_inverse_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_inverse_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/imem_checker.F90

    r2418 r2620  
    33MODULE IMEM_CHECKER 
    44   USE, INTRINSIC :: ISO_C_BINDING 
     5   USE LOGICAL_BOOL_CONVERSION 
    56    
    67   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 
     
    4041      finalize_=.FALSE. 
    4142      IF (PRESENT(finalize)) finalize_ = finalize 
     43      CALL xios_logical_to_bool_0d(finalize_) 
    4244      CALL cxios_mem_checker_log(mem_id, len(mem_id), finalize_) 
    4345 
  • XIOS3/trunk/src/interface/fortran/iredistribute_axis.F90

    r2616 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDISTRIBUTE_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(redistribute_axis) 
     
    2425 
    2526      CALL cxios_redistribute_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_redistribute_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iredistribute_domain.F90

    r2616 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDISTRIBUTE_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(redistribute_domain) 
     
    2425 
    2526      CALL cxios_redistribute_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_redistribute_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iredistribute_scalar.F90

    r2616 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDISTRIBUTE_SCALAR_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(redistribute_scalar) 
     
    2425 
    2526      CALL cxios_redistribute_scalar_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_redistribute_scalar) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireduce_axis_to_axis.F90

    r1492 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDUCE_AXIS_TO_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reduce_axis_to_axis) 
     
    2425 
    2526      CALL cxios_reduce_axis_to_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reduce_axis_to_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireduce_axis_to_scalar.F90

    r891 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDUCE_AXIS_TO_SCALAR_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reduce_axis_to_scalar) 
     
    2425 
    2526      CALL cxios_reduce_axis_to_scalar_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reduce_axis_to_scalar) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireduce_domain_to_axis.F90

    r981 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDUCE_DOMAIN_TO_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reduce_domain_to_axis) 
     
    2425 
    2526      CALL cxios_reduce_domain_to_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reduce_domain_to_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireduce_domain_to_scalar.F90

    r981 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDUCE_DOMAIN_TO_SCALAR_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reduce_domain_to_scalar) 
     
    2425 
    2526      CALL cxios_reduce_domain_to_scalar_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reduce_domain_to_scalar) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireduce_scalar_to_scalar.F90

    r1492 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REDUCE_SCALAR_TO_SCALAR_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reduce_scalar_to_scalar) 
     
    2425 
    2526      CALL cxios_reduce_scalar_to_scalar_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reduce_scalar_to_scalar) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/ireorder_domain.F90

    r1492 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE REORDER_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(reorder_domain) 
     
    2425 
    2526      CALL cxios_reorder_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_reorder_domain) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/iscalar.F90

    r891 r2620  
    55   USE SCALAR_INTERFACE 
    66   USE SCALARGROUP_INTERFACE 
     7   USE LOGICAL_BOOL_CONVERSION 
    78 
    89   TYPE txios(scalar) 
     
    4041 
    4142      CALL cxios_scalar_valid_id(val, idt, len(idt)) 
     43      CALL xios_bool_to_logical_0d(val) 
    4244      xios(is_valid_scalar) = val 
    4345 
     
    5052 
    5153      CALL cxios_scalargroup_valid_id(val, idt, len(idt)) 
     54      CALL xios_bool_to_logical_0d(val) 
    5255      xios(is_valid_scalargroup) = val 
    5356 
  • XIOS3/trunk/src/interface/fortran/itemporal_splitting.F90

    r1492 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE TEMPORAL_SPLITTING_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(temporal_splitting) 
     
    2425 
    2526      CALL cxios_temporal_splitting_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_temporal_splitting) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/itimer.F90

    r1754 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE TIMER_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   CONTAINS ! Fonctions disponibles pour les utilisateurs. 
     
    1516      trace_=.TRUE. 
    1617      IF (PRESENT(trace)) trace_ = trace 
     18      CALL xios_logical_to_bool_0d(trace_) 
    1719      CALL cxios_timer_resume(timer_id, len(timer_id),trace_)             
    1820 
     
    2729      trace_=.TRUE. 
    2830      IF (PRESENT(trace)) trace_ = trace 
     31      CALL xios_logical_to_bool_0d(trace_) 
    2932      CALL cxios_timer_suspend(timer_id, len(timer_id),trace_)             
    3033 
  • XIOS3/trunk/src/interface/fortran/ivariable.F90

    r501 r2620  
    55   USE VARIABLE_INTERFACE 
    66   USE VARIABLEGROUP_INTERFACE 
     7   USE LOGICAL_BOOL_CONVERSION 
    78    
    89   TYPE txios(variable) 
     
    4041       
    4142      CALL cxios_variable_valid_id(val, idt, len(idt)) 
     43      CALL xios_bool_to_logical_0d(val) 
    4244      xios(is_valid_variable) = val 
    4345 
     
    5052 
    5153      CALL cxios_variablegroup_valid_id(val, idt, len(idt)) 
     54      CALL xios_bool_to_logical_0d(val) 
    5255      xios(is_valid_variablegroup) = val 
    5356 
  • XIOS3/trunk/src/interface/fortran/izoom_axis.F90

    r784 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE ZOOM_AXIS_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(zoom_axis) 
     
    2425 
    2526      CALL cxios_zoom_axis_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_zoom_axis) = val 
    2729 
  • XIOS3/trunk/src/interface/fortran/izoom_domain.F90

    r784 r2620  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE ZOOM_DOMAIN_INTERFACE 
     6   USE LOGICAL_BOOL_CONVERSION 
    67 
    78   TYPE txios(zoom_domain) 
     
    2425 
    2526      CALL cxios_zoom_domain_valid_id(val, idt, len(idt)) 
     27      CALL xios_bool_to_logical_0d(val) 
    2628      xios(is_valid_zoom_domain) = val 
    2729 
Note: See TracChangeset for help on using the changeset viewer.