Changeset 2623


Ignore:
Timestamp:
03/21/24 10:13:06 (7 weeks 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:
XIOS2/trunk/src
Files:
2 added
68 edited

Legend:

Unmodified
Added
Removed
  • XIOS2/trunk/src/generate_interface_impl.hpp

    r1626 r2623  
    356356    { 
    357357      oss << "  " << name_tmp << " = " << name << "_" << iendl; 
     358      oss << "  CALL xios_logical_to_bool_0d(" << name_tmp << ")" << iendl; \ 
    358359      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; 
    359360      oss << "(" << className << "_hdl%daddr, " << name_tmp << ")" << iendl; 
     
    374375      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; 
    375376      oss << "(" << className << "_hdl%daddr, " << name_tmp << ")" << iendl; 
     377      oss << "  CALL xios_bool_to_logical_0d(" << name_tmp << ")" << iendl; \ 
    376378      oss << "  " << name << "_ = " << name_tmp << iendl; 
    377379    } 
     
    943945      oss << "  ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1)))" << iendl; \ 
    944946      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     947      oss << "  CALL xios_logical_to_bool_1d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    945948      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    946949      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    961964      oss << "  ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2)))" << iendl; \ 
    962965      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     966      oss << "  CALL xios_logical_to_bool_2d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    963967      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    964968      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    979983      oss << "  ALLOCATE(" << name_tmp << "(SIZE(" << name << "_,1), SIZE(" << name << "_,2), SIZE(" << name << "_,3)))" << iendl; \ 
    980984      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     985      oss << "  CALL xios_logical_to_bool_3d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    981986      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    982987      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    9981003      oss << " SIZE(" << name << "_,4)))" << iendl; \ 
    9991004      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     1005      oss << "  CALL xios_logical_to_bool_4d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    10001006      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    10011007      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    10171023      oss << " SIZE(" << name << "_,4), SIZE(" << name << "_,5)))" << iendl; \ 
    10181024      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     1025      oss << "  CALL xios_logical_to_bool_5d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    10191026      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    10201027      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    10361043      oss << " SIZE(" << name << "_,4), SIZE(" << name << "_,5), SIZE(" << name << "_,6)))" << iendl; \ 
    10371044      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     1045      oss << "  CALL xios_logical_to_bool_6d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    10381046      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    10391047      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    10561064      oss << " SIZE(" << name << "_,7)))" << iendl; \ 
    10571065      oss << "  " << name_tmp << " = " << name << "_" << iendl; \ 
     1066      oss << "  CALL xios_logical_to_bool_7d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    10581067      oss << "  CALL cxios_set_" << className << "_" << name << " &" << iendl; \ 
    10591068      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     
    10961105      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    10971106      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1107      oss << "  CALL xios_bool_to_logical_1d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    10981108      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    10991109    } \ 
     
    11141124      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    11151125      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1126      oss << "  CALL xios_bool_to_logical_2d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    11161127      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    11171128    } \ 
     
    11321143      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    11331144      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1145      oss << "  CALL xios_bool_to_logical_3d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    11341146      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    11351147      } \ 
     
    11511163      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    11521164      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1165      oss << "  CALL xios_bool_to_logical_4d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    11531166      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    11541167      } \ 
     
    11701183      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    11711184      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1185      oss << "  CALL xios_bool_to_logical_5d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    11721186      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    11731187      } \ 
     
    11891203      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    11901204      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1205      oss << "  CALL xios_bool_to_logical_6d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    11911206      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    11921207      } \ 
     
    12091224      oss << "  CALL cxios_get_" << className << "_" << name << " &" << iendl; \ 
    12101225      oss << "(" << className << "_hdl%daddr, " << name_tmp << ", SHAPE(" << name << "_))" << iendl; \ 
     1226      oss << "  CALL xios_bool_to_logical_7d(" << name_tmp << ", SHAPE("<< name_tmp << "))" << iendl; \ 
    12111227      oss << "  " << name << "_ = " << name_tmp << iendl; \ 
    12121228      } \ 
  • XIOS2/trunk/src/interface/fortran/iaxis.F90

    r501 r2623  
    55   USE AXIS_INTERFACE 
    66   USE AXISGROUP_INTERFACE 
     7   USE LOGICAL_BOOL_CONVERSION 
    78    
    89   TYPE txios(axis) 
     
    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 
  • XIOS2/trunk/src/interface/fortran/icalendar_wrapper.F90

    r549 r2623  
    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) 
  • XIOS2/trunk/src/interface/fortran/icompute_connectivity_domain.F90

    r934 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/icontext.F90

    r1978 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/idata.F90

    r2131 r2623  
    55   USE ICONTEXT 
    66   USE IFIELD 
     7   USE LOGICAL_BOOL_CONVERSION 
    78 
    89   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 
     
    809810 
    810811      CALL cxios_context_is_initialized(context_id, LEN(context_id), is_init) 
     812      CALL xios_bool_to_logical_0d(is_init) 
    811813      xios(context_is_initialized) = is_init 
    812814 
     
    15421544      CALL cxios_get_variable_data_k8(varId, len(varId), data_k8, val) 
    15431545 
     1546      CALL xios_bool_to_logical_0d(val) 
    15441547      xios(getVar_k8) = val 
    15451548   END FUNCTION xios(getVar_k8) 
     
    15541557      CALL cxios_get_variable_data_k4(varId, len(varId), data_k4, val) 
    15551558 
     1559      CALL xios_bool_to_logical_0d(val) 
    15561560      xios(getVar_k4) = val 
    15571561   END FUNCTION xios(getVar_k4) 
     
    15661570      CALL cxios_get_variable_data_int(varId, len(varId), data_int, val) 
    15671571 
     1572      CALL xios_bool_to_logical_0d(val) 
    15681573      xios(getVar_int) = val 
    15691574   END FUNCTION xios(getVar_int) 
     
    15781583 
    15791584      CALL cxios_get_variable_data_logic(varId, len(varId), data_tmp, val) 
     1585      CALL xios_bool_to_logical_0d(val) 
    15801586      xios(getVar_logic) = val 
    1581       IF (val) data_logic = data_tmp 
     1587      IF (val) THEN 
     1588         CALL xios_bool_to_logical_0d(data_tmp) 
     1589         data_logic = data_tmp 
     1590      ENDIF 
    15821591   END FUNCTION xios(getVar_logic) 
    15831592 
     
    15911600      CALL cxios_get_variable_data_char(varId, len(varId), data_char, len(data_char), val) 
    15921601 
     1602      CALL xios_bool_to_logical_0d(val) 
    15931603      xios(getVar_char) = val 
    15941604   END FUNCTION xios(getVar_char) 
     
    16041614      CALL cxios_set_variable_data_k8(varId, len(varId), data_k8, val) 
    16051615 
     1616      CALL xios_bool_to_logical_0d(val) 
    16061617      xios(setVar_k8) = val 
    16071618   END FUNCTION xios(setVar_k8) 
     
    16161627      CALL cxios_set_variable_data_k4(varId, len(varId), data_k4, val) 
    16171628 
     1629      CALL xios_bool_to_logical_0d(val) 
    16181630      xios(setVar_k4) = val 
    16191631   END FUNCTION xios(setVar_k4) 
     
    16281640      CALL cxios_set_variable_data_int(varId, len(varId), data_int, val) 
    16291641 
     1642      CALL xios_bool_to_logical_0d(val) 
    16301643      xios(setVar_int) = val 
    16311644   END FUNCTION xios(setVar_int) 
     
    16401653 
    16411654      data_tmp = data_logic 
     1655      CALL xios_logical_to_bool_0d(data_tmp) 
    16421656      CALL cxios_set_variable_data_logic(varId, len(varId), data_tmp, val) 
    16431657 
     1658      CALL xios_bool_to_logical_0d(val) 
    16441659      xios(setVar_logic) = val 
    16451660   END FUNCTION xios(setVar_logic) 
     
    16541669      CALL cxios_set_variable_data_char(varId, len(varId), data_char, len(data_char), val) 
    16551670 
     1671      CALL xios_bool_to_logical_0d(val) 
    16561672      xios(setVar_char) = val 
    16571673   END FUNCTION xios(setVar_char) 
  • XIOS2/trunk/src/interface/fortran/idate.F90

    r801 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/idomain.F90

    r501 r2623  
    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) 
  • XIOS2/trunk/src/interface/fortran/iduplicate_scalar_to_axis_interface.F90

    r1492 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iduration.F90

    r801 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iexpand_domain.F90

    r981 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iextract_axis_to_scalar.F90

    r981 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iextract_domain_to_axis.F90

    r981 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ifield.F90

    r1158 r2623  
    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       
  • XIOS2/trunk/src/interface/fortran/ifile.F90

    r545 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/igenerate_rectilinear_domain.F90

    r786 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/igrid.F90

    r501 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iinterpolate_axis.F90

    r786 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iinterpolate_domain.F90

    r786 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iinverse_axis.F90

    r786 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/imem_checker.F90

    r2429 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireduce_axis_to_axis.F90

    r1492 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireduce_axis_to_scalar.F90

    r891 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireduce_domain_to_axis.F90

    r981 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireduce_domain_to_scalar.F90

    r981 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireduce_scalar_to_scalar.F90

    r1492 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ireorder_domain.F90

    r1492 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/iscalar.F90

    r891 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/itemporal_splitting.F90

    r1492 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/itimer.F90

    r1849 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/ivariable.F90

    r501 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/izoom_axis.F90

    r784 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran/izoom_domain.F90

    r784 r2623  
    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 
  • XIOS2/trunk/src/interface/fortran_attr/iaxis_attr.F90

    r2618 r2623  
    88  USE iaxis 
    99  USE axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    237238        ALLOCATE(mask__tmp(SIZE(mask_,1))) 
    238239        mask__tmp = mask_ 
     240        CALL xios_logical_to_bool_1d(mask__tmp, SHAPE(mask__tmp)) 
    239241        CALL cxios_set_axis_mask & 
    240242      (axis_hdl%daddr, mask__tmp, SHAPE(mask_)) 
     
    515517        CALL cxios_get_axis_mask & 
    516518      (axis_hdl%daddr, mask__tmp, SHAPE(mask_)) 
     519        CALL xios_bool_to_logical_1d(mask__tmp, SHAPE(mask__tmp)) 
    517520        mask_ = mask__tmp 
    518521      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90

    r2618 r2623  
    88  USE iaxis 
    99  USE axisgroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    245246        ALLOCATE(mask__tmp(SIZE(mask_,1))) 
    246247        mask__tmp = mask_ 
     248        CALL xios_logical_to_bool_1d(mask__tmp, SHAPE(mask__tmp)) 
    247249        CALL cxios_set_axisgroup_mask & 
    248250      (axisgroup_hdl%daddr, mask__tmp, SHAPE(mask_)) 
     
    531533        CALL cxios_get_axisgroup_mask & 
    532534      (axisgroup_hdl%daddr, mask__tmp, SHAPE(mask_)) 
     535        CALL xios_bool_to_logical_1d(mask__tmp, SHAPE(mask__tmp)) 
    533536        mask_ = mask__tmp 
    534537      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/icalendar_wrapper_attr.F90

    r1492 r2623  
    88  USE icalendar_wrapper 
    99  USE calendar_wrapper_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/icompute_connectivity_domain_attr.F90

    r966 r2623  
    88  USE icompute_connectivity_domain 
    99  USE compute_connectivity_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/icontext_attr.F90

    r966 r2623  
    88  USE icontext 
    99  USE context_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/idomain_attr.F90

    r2618 r2623  
    88  USE idomain 
    99  USE domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    378379        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 
    379380        mask_1d__tmp = mask_1d_ 
     381        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    380382        CALL cxios_set_domain_mask_1d & 
    381383      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     
    385387        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 
    386388        mask_2d__tmp = mask_2d_ 
     389        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    387390        CALL cxios_set_domain_mask_2d & 
    388391      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     
    481484      IF (PRESENT(tile_only_)) THEN 
    482485        tile_only__tmp = tile_only_ 
     486        CALL xios_logical_to_bool_0d(tile_only__tmp) 
    483487        CALL cxios_set_domain_tile_only & 
    484488      (domain_hdl%daddr, tile_only__tmp) 
     
    860864        CALL cxios_get_domain_mask_1d & 
    861865      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     866        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    862867        mask_1d_ = mask_1d__tmp 
    863868      ENDIF 
     
    867872        CALL cxios_get_domain_mask_2d & 
    868873      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     874        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    869875        mask_2d_ = mask_2d__tmp 
    870876      ENDIF 
     
    963969        CALL cxios_get_domain_tile_only & 
    964970      (domain_hdl%daddr, tile_only__tmp) 
     971        CALL xios_bool_to_logical_0d(tile_only__tmp) 
    965972        tile_only_ = tile_only__tmp 
    966973      ENDIF 
  • 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 
  • XIOS2/trunk/src/interface/fortran_attr/iduplicate_scalar_to_axis_attr.F90

    r1492 r2623  
    88  USE iduplicate_scalar_to_axis 
    99  USE duplicate_scalar_to_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/iexpand_domain_attr.F90

    r1158 r2623  
    88  USE iexpand_domain 
    99  USE expand_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    6263      IF (PRESENT(i_periodic_)) THEN 
    6364        i_periodic__tmp = i_periodic_ 
     65        CALL xios_logical_to_bool_0d(i_periodic__tmp) 
    6466        CALL cxios_set_expand_domain_i_periodic & 
    6567      (expand_domain_hdl%daddr, i_periodic__tmp) 
     
    6870      IF (PRESENT(j_periodic_)) THEN 
    6971        j_periodic__tmp = j_periodic_ 
     72        CALL xios_logical_to_bool_0d(j_periodic__tmp) 
    7073        CALL cxios_set_expand_domain_j_periodic & 
    7174      (expand_domain_hdl%daddr, j_periodic__tmp) 
     
    136139        CALL cxios_get_expand_domain_i_periodic & 
    137140      (expand_domain_hdl%daddr, i_periodic__tmp) 
     141        CALL xios_bool_to_logical_0d(i_periodic__tmp) 
    138142        i_periodic_ = i_periodic__tmp 
    139143      ENDIF 
     
    142146        CALL cxios_get_expand_domain_j_periodic & 
    143147      (expand_domain_hdl%daddr, j_periodic__tmp) 
     148        CALL xios_bool_to_logical_0d(j_periodic__tmp) 
    144149        j_periodic_ = j_periodic__tmp 
    145150      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iextract_axis_to_scalar_attr.F90

    r981 r2623  
    88  USE iextract_axis_to_scalar 
    99  USE extract_axis_to_scalar_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/iextract_domain_to_axis_attr.F90

    r981 r2623  
    88  USE iextract_domain_to_axis 
    99  USE extract_domain_to_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ifield_attr.F90

    r2618 r2623  
    88  USE ifield 
    99  USE field_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    211212      IF (PRESENT(build_workflow_graph_)) THEN 
    212213        build_workflow_graph__tmp = build_workflow_graph_ 
     214        CALL xios_logical_to_bool_0d(build_workflow_graph__tmp) 
    213215        CALL cxios_set_field_build_workflow_graph & 
    214216      (field_hdl%daddr, build_workflow_graph__tmp) 
     
    237239      IF (PRESENT(check_if_active_)) THEN 
    238240        check_if_active__tmp = check_if_active_ 
     241        CALL xios_logical_to_bool_0d(check_if_active__tmp) 
    239242        CALL cxios_set_field_check_if_active & 
    240243      (field_hdl%daddr, check_if_active__tmp) 
     
    253256      IF (PRESENT(conversion_by_netcdf_)) THEN 
    254257        conversion_by_netcdf__tmp = conversion_by_netcdf_ 
     258        CALL xios_logical_to_bool_0d(conversion_by_netcdf__tmp) 
    255259        CALL cxios_set_field_conversion_by_netcdf & 
    256260      (field_hdl%daddr, conversion_by_netcdf__tmp) 
     
    264268      IF (PRESENT(detect_missing_value_)) THEN 
    265269        detect_missing_value__tmp = detect_missing_value_ 
     270        CALL xios_logical_to_bool_0d(detect_missing_value__tmp) 
    266271        CALL cxios_set_field_detect_missing_value & 
    267272      (field_hdl%daddr, detect_missing_value__tmp) 
     
    275280      IF (PRESENT(enabled_)) THEN 
    276281        enabled__tmp = enabled_ 
     282        CALL xios_logical_to_bool_0d(enabled__tmp) 
    277283        CALL cxios_set_field_enabled & 
    278284      (field_hdl%daddr, enabled__tmp) 
     
    311317      IF (PRESENT(indexed_output_)) THEN 
    312318        indexed_output__tmp = indexed_output_ 
     319        CALL xios_logical_to_bool_0d(indexed_output__tmp) 
    313320        CALL cxios_set_field_indexed_output & 
    314321      (field_hdl%daddr, indexed_output__tmp) 
     
    342349      IF (PRESENT(read_access_)) THEN 
    343350        read_access__tmp = read_access_ 
     351        CALL xios_logical_to_bool_0d(read_access__tmp) 
    344352        CALL cxios_set_field_read_access & 
    345353      (field_hdl%daddr, read_access__tmp) 
     
    363371      IF (PRESENT(ts_enabled_)) THEN 
    364372        ts_enabled__tmp = ts_enabled_ 
     373        CALL xios_logical_to_bool_0d(ts_enabled__tmp) 
    365374        CALL cxios_set_field_ts_enabled & 
    366375      (field_hdl%daddr, ts_enabled__tmp) 
     
    590599        CALL cxios_get_field_build_workflow_graph & 
    591600      (field_hdl%daddr, build_workflow_graph__tmp) 
     601        CALL xios_bool_to_logical_0d(build_workflow_graph__tmp) 
    592602        build_workflow_graph_ = build_workflow_graph__tmp 
    593603      ENDIF 
     
    616626        CALL cxios_get_field_check_if_active & 
    617627      (field_hdl%daddr, check_if_active__tmp) 
     628        CALL xios_bool_to_logical_0d(check_if_active__tmp) 
    618629        check_if_active_ = check_if_active__tmp 
    619630      ENDIF 
     
    632643        CALL cxios_get_field_conversion_by_netcdf & 
    633644      (field_hdl%daddr, conversion_by_netcdf__tmp) 
     645        CALL xios_bool_to_logical_0d(conversion_by_netcdf__tmp) 
    634646        conversion_by_netcdf_ = conversion_by_netcdf__tmp 
    635647      ENDIF 
     
    643655        CALL cxios_get_field_detect_missing_value & 
    644656      (field_hdl%daddr, detect_missing_value__tmp) 
     657        CALL xios_bool_to_logical_0d(detect_missing_value__tmp) 
    645658        detect_missing_value_ = detect_missing_value__tmp 
    646659      ENDIF 
     
    654667        CALL cxios_get_field_enabled & 
    655668      (field_hdl%daddr, enabled__tmp) 
     669        CALL xios_bool_to_logical_0d(enabled__tmp) 
    656670        enabled_ = enabled__tmp 
    657671      ENDIF 
     
    690704        CALL cxios_get_field_indexed_output & 
    691705      (field_hdl%daddr, indexed_output__tmp) 
     706        CALL xios_bool_to_logical_0d(indexed_output__tmp) 
    692707        indexed_output_ = indexed_output__tmp 
    693708      ENDIF 
     
    721736        CALL cxios_get_field_read_access & 
    722737      (field_hdl%daddr, read_access__tmp) 
     738        CALL xios_bool_to_logical_0d(read_access__tmp) 
    723739        read_access_ = read_access__tmp 
    724740      ENDIF 
     
    742758        CALL cxios_get_field_ts_enabled & 
    743759      (field_hdl%daddr, ts_enabled__tmp) 
     760        CALL xios_bool_to_logical_0d(ts_enabled__tmp) 
    744761        ts_enabled_ = ts_enabled__tmp 
    745762      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90

    r2618 r2623  
    88  USE ifield 
    99  USE fieldgroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    214215      IF (PRESENT(build_workflow_graph_)) THEN 
    215216        build_workflow_graph__tmp = build_workflow_graph_ 
     217        CALL xios_logical_to_bool_0d(build_workflow_graph__tmp) 
    216218        CALL cxios_set_fieldgroup_build_workflow_graph & 
    217219      (fieldgroup_hdl%daddr, build_workflow_graph__tmp) 
     
    240242      IF (PRESENT(check_if_active_)) THEN 
    241243        check_if_active__tmp = check_if_active_ 
     244        CALL xios_logical_to_bool_0d(check_if_active__tmp) 
    242245        CALL cxios_set_fieldgroup_check_if_active & 
    243246      (fieldgroup_hdl%daddr, check_if_active__tmp) 
     
    256259      IF (PRESENT(conversion_by_netcdf_)) THEN 
    257260        conversion_by_netcdf__tmp = conversion_by_netcdf_ 
     261        CALL xios_logical_to_bool_0d(conversion_by_netcdf__tmp) 
    258262        CALL cxios_set_fieldgroup_conversion_by_netcdf & 
    259263      (fieldgroup_hdl%daddr, conversion_by_netcdf__tmp) 
     
    267271      IF (PRESENT(detect_missing_value_)) THEN 
    268272        detect_missing_value__tmp = detect_missing_value_ 
     273        CALL xios_logical_to_bool_0d(detect_missing_value__tmp) 
    269274        CALL cxios_set_fieldgroup_detect_missing_value & 
    270275      (fieldgroup_hdl%daddr, detect_missing_value__tmp) 
     
    278283      IF (PRESENT(enabled_)) THEN 
    279284        enabled__tmp = enabled_ 
     285        CALL xios_logical_to_bool_0d(enabled__tmp) 
    280286        CALL cxios_set_fieldgroup_enabled & 
    281287      (fieldgroup_hdl%daddr, enabled__tmp) 
     
    319325      IF (PRESENT(indexed_output_)) THEN 
    320326        indexed_output__tmp = indexed_output_ 
     327        CALL xios_logical_to_bool_0d(indexed_output__tmp) 
    321328        CALL cxios_set_fieldgroup_indexed_output & 
    322329      (fieldgroup_hdl%daddr, indexed_output__tmp) 
     
    350357      IF (PRESENT(read_access_)) THEN 
    351358        read_access__tmp = read_access_ 
     359        CALL xios_logical_to_bool_0d(read_access__tmp) 
    352360        CALL cxios_set_fieldgroup_read_access & 
    353361      (fieldgroup_hdl%daddr, read_access__tmp) 
     
    371379      IF (PRESENT(ts_enabled_)) THEN 
    372380        ts_enabled__tmp = ts_enabled_ 
     381        CALL xios_logical_to_bool_0d(ts_enabled__tmp) 
    373382        CALL cxios_set_fieldgroup_ts_enabled & 
    374383      (fieldgroup_hdl%daddr, ts_enabled__tmp) 
     
    601610        CALL cxios_get_fieldgroup_build_workflow_graph & 
    602611      (fieldgroup_hdl%daddr, build_workflow_graph__tmp) 
     612        CALL xios_bool_to_logical_0d(build_workflow_graph__tmp) 
    603613        build_workflow_graph_ = build_workflow_graph__tmp 
    604614      ENDIF 
     
    627637        CALL cxios_get_fieldgroup_check_if_active & 
    628638      (fieldgroup_hdl%daddr, check_if_active__tmp) 
     639        CALL xios_bool_to_logical_0d(check_if_active__tmp) 
    629640        check_if_active_ = check_if_active__tmp 
    630641      ENDIF 
     
    643654        CALL cxios_get_fieldgroup_conversion_by_netcdf & 
    644655      (fieldgroup_hdl%daddr, conversion_by_netcdf__tmp) 
     656        CALL xios_bool_to_logical_0d(conversion_by_netcdf__tmp) 
    645657        conversion_by_netcdf_ = conversion_by_netcdf__tmp 
    646658      ENDIF 
     
    654666        CALL cxios_get_fieldgroup_detect_missing_value & 
    655667      (fieldgroup_hdl%daddr, detect_missing_value__tmp) 
     668        CALL xios_bool_to_logical_0d(detect_missing_value__tmp) 
    656669        detect_missing_value_ = detect_missing_value__tmp 
    657670      ENDIF 
     
    665678        CALL cxios_get_fieldgroup_enabled & 
    666679      (fieldgroup_hdl%daddr, enabled__tmp) 
     680        CALL xios_bool_to_logical_0d(enabled__tmp) 
    667681        enabled_ = enabled__tmp 
    668682      ENDIF 
     
    706720        CALL cxios_get_fieldgroup_indexed_output & 
    707721      (fieldgroup_hdl%daddr, indexed_output__tmp) 
     722        CALL xios_bool_to_logical_0d(indexed_output__tmp) 
    708723        indexed_output_ = indexed_output__tmp 
    709724      ENDIF 
     
    737752        CALL cxios_get_fieldgroup_read_access & 
    738753      (fieldgroup_hdl%daddr, read_access__tmp) 
     754        CALL xios_bool_to_logical_0d(read_access__tmp) 
    739755        read_access_ = read_access__tmp 
    740756      ENDIF 
     
    758774        CALL cxios_get_fieldgroup_ts_enabled & 
    759775      (fieldgroup_hdl%daddr, ts_enabled__tmp) 
     776        CALL xios_bool_to_logical_0d(ts_enabled__tmp) 
    760777        ts_enabled_ = ts_enabled__tmp 
    761778      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/ifile_attr.F90

    r1492 r2623  
    88  USE ifile 
    99  USE file_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    178179      IF (PRESENT(append_)) THEN 
    179180        append__tmp = append_ 
     181        CALL xios_logical_to_bool_0d(append__tmp) 
    180182        CALL cxios_set_file_append & 
    181183      (file_hdl%daddr, append__tmp) 
     
    204206      IF (PRESENT(cyclic_)) THEN 
    205207        cyclic__tmp = cyclic_ 
     208        CALL xios_logical_to_bool_0d(cyclic__tmp) 
    206209        CALL cxios_set_file_cyclic & 
    207210      (file_hdl%daddr, cyclic__tmp) 
     
    215218      IF (PRESENT(enabled_)) THEN 
    216219        enabled__tmp = enabled_ 
     220        CALL xios_logical_to_bool_0d(enabled__tmp) 
    217221        CALL cxios_set_file_enabled & 
    218222      (file_hdl%daddr, enabled__tmp) 
     
    261265      IF (PRESENT(read_metadata_par_)) THEN 
    262266        read_metadata_par__tmp = read_metadata_par_ 
     267        CALL xios_logical_to_bool_0d(read_metadata_par__tmp) 
    263268        CALL cxios_set_file_read_metadata_par & 
    264269      (file_hdl%daddr, read_metadata_par__tmp) 
     
    520525        CALL cxios_get_file_append & 
    521526      (file_hdl%daddr, append__tmp) 
     527        CALL xios_bool_to_logical_0d(append__tmp) 
    522528        append_ = append__tmp 
    523529      ENDIF 
     
    546552        CALL cxios_get_file_cyclic & 
    547553      (file_hdl%daddr, cyclic__tmp) 
     554        CALL xios_bool_to_logical_0d(cyclic__tmp) 
    548555        cyclic_ = cyclic__tmp 
    549556      ENDIF 
     
    557564        CALL cxios_get_file_enabled & 
    558565      (file_hdl%daddr, enabled__tmp) 
     566        CALL xios_bool_to_logical_0d(enabled__tmp) 
    559567        enabled_ = enabled__tmp 
    560568      ENDIF 
     
    603611        CALL cxios_get_file_read_metadata_par & 
    604612      (file_hdl%daddr, read_metadata_par__tmp) 
     613        CALL xios_bool_to_logical_0d(read_metadata_par__tmp) 
    605614        read_metadata_par_ = read_metadata_par__tmp 
    606615      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/ifilegroup_attr.F90

    r1492 r2623  
    88  USE ifile 
    99  USE filegroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    182183      IF (PRESENT(append_)) THEN 
    183184        append__tmp = append_ 
     185        CALL xios_logical_to_bool_0d(append__tmp) 
    184186        CALL cxios_set_filegroup_append & 
    185187      (filegroup_hdl%daddr, append__tmp) 
     
    208210      IF (PRESENT(cyclic_)) THEN 
    209211        cyclic__tmp = cyclic_ 
     212        CALL xios_logical_to_bool_0d(cyclic__tmp) 
    210213        CALL cxios_set_filegroup_cyclic & 
    211214      (filegroup_hdl%daddr, cyclic__tmp) 
     
    219222      IF (PRESENT(enabled_)) THEN 
    220223        enabled__tmp = enabled_ 
     224        CALL xios_logical_to_bool_0d(enabled__tmp) 
    221225        CALL cxios_set_filegroup_enabled & 
    222226      (filegroup_hdl%daddr, enabled__tmp) 
     
    270274      IF (PRESENT(read_metadata_par_)) THEN 
    271275        read_metadata_par__tmp = read_metadata_par_ 
     276        CALL xios_logical_to_bool_0d(read_metadata_par__tmp) 
    272277        CALL cxios_set_filegroup_read_metadata_par & 
    273278      (filegroup_hdl%daddr, read_metadata_par__tmp) 
     
    533538        CALL cxios_get_filegroup_append & 
    534539      (filegroup_hdl%daddr, append__tmp) 
     540        CALL xios_bool_to_logical_0d(append__tmp) 
    535541        append_ = append__tmp 
    536542      ENDIF 
     
    559565        CALL cxios_get_filegroup_cyclic & 
    560566      (filegroup_hdl%daddr, cyclic__tmp) 
     567        CALL xios_bool_to_logical_0d(cyclic__tmp) 
    561568        cyclic_ = cyclic__tmp 
    562569      ENDIF 
     
    570577        CALL cxios_get_filegroup_enabled & 
    571578      (filegroup_hdl%daddr, enabled__tmp) 
     579        CALL xios_bool_to_logical_0d(enabled__tmp) 
    572580        enabled_ = enabled__tmp 
    573581      ENDIF 
     
    621629        CALL cxios_get_filegroup_read_metadata_par & 
    622630      (filegroup_hdl%daddr, read_metadata_par__tmp) 
     631        CALL xios_bool_to_logical_0d(read_metadata_par__tmp) 
    623632        read_metadata_par_ = read_metadata_par__tmp 
    624633      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/igenerate_rectilinear_domain_attr.F90

    r966 r2623  
    88  USE igenerate_rectilinear_domain 
    99  USE generate_rectilinear_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/igrid_attr.F90

    r1492 r2623  
    88  USE igrid 
    99  USE grid_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    117118        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
    118119        mask_0d__tmp = mask_0d_ 
     120        CALL xios_logical_to_bool_1d(mask_0d__tmp, SHAPE(mask_0d__tmp)) 
    119121        CALL cxios_set_grid_mask_0d & 
    120122      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     
    124126        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 
    125127        mask_1d__tmp = mask_1d_ 
     128        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    126129        CALL cxios_set_grid_mask_1d & 
    127130      (grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     
    131134        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 
    132135        mask_2d__tmp = mask_2d_ 
     136        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    133137        CALL cxios_set_grid_mask_2d & 
    134138      (grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     
    138142        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 
    139143        mask_3d__tmp = mask_3d_ 
     144        CALL xios_logical_to_bool_3d(mask_3d__tmp, SHAPE(mask_3d__tmp)) 
    140145        CALL cxios_set_grid_mask_3d & 
    141146      (grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 
     
    146151       SIZE(mask_4d_,4))) 
    147152        mask_4d__tmp = mask_4d_ 
     153        CALL xios_logical_to_bool_4d(mask_4d__tmp, SHAPE(mask_4d__tmp)) 
    148154        CALL cxios_set_grid_mask_4d & 
    149155      (grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     
    154160       SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
    155161        mask_5d__tmp = mask_5d_ 
     162        CALL xios_logical_to_bool_5d(mask_5d__tmp, SHAPE(mask_5d__tmp)) 
    156163        CALL cxios_set_grid_mask_5d & 
    157164      (grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     
    162169       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
    163170        mask_6d__tmp = mask_6d_ 
     171        CALL xios_logical_to_bool_6d(mask_6d__tmp, SHAPE(mask_6d__tmp)) 
    164172        CALL cxios_set_grid_mask_6d & 
    165173      (grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     
    171179       SIZE(mask_7d_,7))) 
    172180        mask_7d__tmp = mask_7d_ 
     181        CALL xios_logical_to_bool_7d(mask_7d__tmp, SHAPE(mask_7d__tmp)) 
    173182        CALL cxios_set_grid_mask_7d & 
    174183      (grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     
    289298        CALL cxios_get_grid_mask_0d & 
    290299      (grid_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     300        CALL xios_bool_to_logical_1d(mask_0d__tmp, SHAPE(mask_0d__tmp)) 
    291301        mask_0d_ = mask_0d__tmp 
    292302      ENDIF 
     
    296306        CALL cxios_get_grid_mask_1d & 
    297307      (grid_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     308        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    298309        mask_1d_ = mask_1d__tmp 
    299310      ENDIF 
     
    303314        CALL cxios_get_grid_mask_2d & 
    304315      (grid_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     316        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    305317        mask_2d_ = mask_2d__tmp 
    306318      ENDIF 
     
    310322        CALL cxios_get_grid_mask_3d & 
    311323      (grid_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 
     324        CALL xios_bool_to_logical_3d(mask_3d__tmp, SHAPE(mask_3d__tmp)) 
    312325        mask_3d_ = mask_3d__tmp 
    313326      ENDIF 
     
    318331        CALL cxios_get_grid_mask_4d & 
    319332      (grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     333        CALL xios_bool_to_logical_4d(mask_4d__tmp, SHAPE(mask_4d__tmp)) 
    320334        mask_4d_ = mask_4d__tmp 
    321335      ENDIF 
     
    326340        CALL cxios_get_grid_mask_5d & 
    327341      (grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     342        CALL xios_bool_to_logical_5d(mask_5d__tmp, SHAPE(mask_5d__tmp)) 
    328343        mask_5d_ = mask_5d__tmp 
    329344      ENDIF 
     
    334349        CALL cxios_get_grid_mask_6d & 
    335350      (grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     351        CALL xios_bool_to_logical_6d(mask_6d__tmp, SHAPE(mask_6d__tmp)) 
    336352        mask_6d_ = mask_6d__tmp 
    337353      ENDIF 
     
    343359        CALL cxios_get_grid_mask_7d & 
    344360      (grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     361        CALL xios_bool_to_logical_7d(mask_7d__tmp, SHAPE(mask_7d__tmp)) 
    345362        mask_7d_ = mask_7d__tmp 
    346363      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/igridgroup_attr.F90

    r1492 r2623  
    88  USE igrid 
    99  USE gridgroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    125126        ALLOCATE(mask_0d__tmp(SIZE(mask_0d_,1))) 
    126127        mask_0d__tmp = mask_0d_ 
     128        CALL xios_logical_to_bool_1d(mask_0d__tmp, SHAPE(mask_0d__tmp)) 
    127129        CALL cxios_set_gridgroup_mask_0d & 
    128130      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     
    132134        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1))) 
    133135        mask_1d__tmp = mask_1d_ 
     136        CALL xios_logical_to_bool_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    134137        CALL cxios_set_gridgroup_mask_1d & 
    135138      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     
    139142        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2))) 
    140143        mask_2d__tmp = mask_2d_ 
     144        CALL xios_logical_to_bool_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    141145        CALL cxios_set_gridgroup_mask_2d & 
    142146      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     
    146150        ALLOCATE(mask_3d__tmp(SIZE(mask_3d_,1), SIZE(mask_3d_,2), SIZE(mask_3d_,3))) 
    147151        mask_3d__tmp = mask_3d_ 
     152        CALL xios_logical_to_bool_3d(mask_3d__tmp, SHAPE(mask_3d__tmp)) 
    148153        CALL cxios_set_gridgroup_mask_3d & 
    149154      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 
     
    154159       SIZE(mask_4d_,4))) 
    155160        mask_4d__tmp = mask_4d_ 
     161        CALL xios_logical_to_bool_4d(mask_4d__tmp, SHAPE(mask_4d__tmp)) 
    156162        CALL cxios_set_gridgroup_mask_4d & 
    157163      (gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     
    162168       SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
    163169        mask_5d__tmp = mask_5d_ 
     170        CALL xios_logical_to_bool_5d(mask_5d__tmp, SHAPE(mask_5d__tmp)) 
    164171        CALL cxios_set_gridgroup_mask_5d & 
    165172      (gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     
    170177       SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
    171178        mask_6d__tmp = mask_6d_ 
     179        CALL xios_logical_to_bool_6d(mask_6d__tmp, SHAPE(mask_6d__tmp)) 
    172180        CALL cxios_set_gridgroup_mask_6d & 
    173181      (gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     
    179187       SIZE(mask_7d_,7))) 
    180188        mask_7d__tmp = mask_7d_ 
     189        CALL xios_logical_to_bool_7d(mask_7d__tmp, SHAPE(mask_7d__tmp)) 
    181190        CALL cxios_set_gridgroup_mask_7d & 
    182191      (gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     
    305314        CALL cxios_get_gridgroup_mask_0d & 
    306315      (gridgroup_hdl%daddr, mask_0d__tmp, SHAPE(mask_0d_)) 
     316        CALL xios_bool_to_logical_1d(mask_0d__tmp, SHAPE(mask_0d__tmp)) 
    307317        mask_0d_ = mask_0d__tmp 
    308318      ENDIF 
     
    312322        CALL cxios_get_gridgroup_mask_1d & 
    313323      (gridgroup_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_)) 
     324        CALL xios_bool_to_logical_1d(mask_1d__tmp, SHAPE(mask_1d__tmp)) 
    314325        mask_1d_ = mask_1d__tmp 
    315326      ENDIF 
     
    319330        CALL cxios_get_gridgroup_mask_2d & 
    320331      (gridgroup_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_)) 
     332        CALL xios_bool_to_logical_2d(mask_2d__tmp, SHAPE(mask_2d__tmp)) 
    321333        mask_2d_ = mask_2d__tmp 
    322334      ENDIF 
     
    326338        CALL cxios_get_gridgroup_mask_3d & 
    327339      (gridgroup_hdl%daddr, mask_3d__tmp, SHAPE(mask_3d_)) 
     340        CALL xios_bool_to_logical_3d(mask_3d__tmp, SHAPE(mask_3d__tmp)) 
    328341        mask_3d_ = mask_3d__tmp 
    329342      ENDIF 
     
    334347        CALL cxios_get_gridgroup_mask_4d & 
    335348      (gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     349        CALL xios_bool_to_logical_4d(mask_4d__tmp, SHAPE(mask_4d__tmp)) 
    336350        mask_4d_ = mask_4d__tmp 
    337351      ENDIF 
     
    342356        CALL cxios_get_gridgroup_mask_5d & 
    343357      (gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     358        CALL xios_bool_to_logical_5d(mask_5d__tmp, SHAPE(mask_5d__tmp)) 
    344359        mask_5d_ = mask_5d__tmp 
    345360      ENDIF 
     
    350365        CALL cxios_get_gridgroup_mask_6d & 
    351366      (gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     367        CALL xios_bool_to_logical_6d(mask_6d__tmp, SHAPE(mask_6d__tmp)) 
    352368        mask_6d_ = mask_6d__tmp 
    353369      ENDIF 
     
    359375        CALL cxios_get_gridgroup_mask_7d & 
    360376      (gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     377        CALL xios_bool_to_logical_7d(mask_7d__tmp, SHAPE(mask_7d__tmp)) 
    361378        mask_7d_ = mask_7d__tmp 
    362379      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iinterpolate_axis_attr.F90

    r2618 r2623  
    88  USE iinterpolate_axis 
    99  USE interpolate_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    8586      IF (PRESENT(extrapolate_)) THEN 
    8687        extrapolate__tmp = extrapolate_ 
     88        CALL xios_logical_to_bool_0d(extrapolate__tmp) 
    8789        CALL cxios_set_interpolate_axis_extrapolate & 
    8890      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     
    176178        CALL cxios_get_interpolate_axis_extrapolate & 
    177179      (interpolate_axis_hdl%daddr, extrapolate__tmp) 
     180        CALL xios_bool_to_logical_0d(extrapolate__tmp) 
    178181        extrapolate_ = extrapolate__tmp 
    179182      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iinterpolate_domain_attr.F90

    r1626 r2623  
    88  USE iinterpolate_domain 
    99  USE interpolate_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    9192      IF (PRESENT(detect_missing_value_)) THEN 
    9293        detect_missing_value__tmp = detect_missing_value_ 
     94        CALL xios_logical_to_bool_0d(detect_missing_value__tmp) 
    9395        CALL cxios_set_interpolate_domain_detect_missing_value & 
    9496      (interpolate_domain_hdl%daddr, detect_missing_value__tmp) 
     
    107109      IF (PRESENT(quantity_)) THEN 
    108110        quantity__tmp = quantity_ 
     111        CALL xios_logical_to_bool_0d(quantity__tmp) 
    109112        CALL cxios_set_interpolate_domain_quantity & 
    110113      (interpolate_domain_hdl%daddr, quantity__tmp) 
     
    118121      IF (PRESENT(renormalize_)) THEN 
    119122        renormalize__tmp = renormalize_ 
     123        CALL xios_logical_to_bool_0d(renormalize__tmp) 
    120124        CALL cxios_set_interpolate_domain_renormalize & 
    121125      (interpolate_domain_hdl%daddr, renormalize__tmp) 
     
    124128      IF (PRESENT(use_area_)) THEN 
    125129        use_area__tmp = use_area_ 
     130        CALL xios_logical_to_bool_0d(use_area__tmp) 
    126131        CALL cxios_set_interpolate_domain_use_area & 
    127132      (interpolate_domain_hdl%daddr, use_area__tmp) 
     
    135140      IF (PRESENT(write_weight_)) THEN 
    136141        write_weight__tmp = write_weight_ 
     142        CALL xios_logical_to_bool_0d(write_weight__tmp) 
    137143        CALL cxios_set_interpolate_domain_write_weight & 
    138144      (interpolate_domain_hdl%daddr, write_weight__tmp) 
     
    222228        CALL cxios_get_interpolate_domain_detect_missing_value & 
    223229      (interpolate_domain_hdl%daddr, detect_missing_value__tmp) 
     230        CALL xios_bool_to_logical_0d(detect_missing_value__tmp) 
    224231        detect_missing_value_ = detect_missing_value__tmp 
    225232      ENDIF 
     
    238245        CALL cxios_get_interpolate_domain_quantity & 
    239246      (interpolate_domain_hdl%daddr, quantity__tmp) 
     247        CALL xios_bool_to_logical_0d(quantity__tmp) 
    240248        quantity_ = quantity__tmp 
    241249      ENDIF 
     
    249257        CALL cxios_get_interpolate_domain_renormalize & 
    250258      (interpolate_domain_hdl%daddr, renormalize__tmp) 
     259        CALL xios_bool_to_logical_0d(renormalize__tmp) 
    251260        renormalize_ = renormalize__tmp 
    252261      ENDIF 
     
    255264        CALL cxios_get_interpolate_domain_use_area & 
    256265      (interpolate_domain_hdl%daddr, use_area__tmp) 
     266        CALL xios_bool_to_logical_0d(use_area__tmp) 
    257267        use_area_ = use_area__tmp 
    258268      ENDIF 
     
    266276        CALL cxios_get_interpolate_domain_write_weight & 
    267277      (interpolate_domain_hdl%daddr, write_weight__tmp) 
     278        CALL xios_bool_to_logical_0d(write_weight__tmp) 
    268279        write_weight_ = write_weight__tmp 
    269280      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iinverse_axis_attr.F90

    r966 r2623  
    88  USE iinverse_axis 
    99  USE inverse_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ireduce_axis_to_axis_attr.F90

    r1492 r2623  
    88  USE ireduce_axis_to_axis 
    99  USE reduce_axis_to_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ireduce_axis_to_scalar_attr.F90

    r966 r2623  
    88  USE ireduce_axis_to_scalar 
    99  USE reduce_axis_to_scalar_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ireduce_domain_to_axis_attr.F90

    r1492 r2623  
    88  USE ireduce_domain_to_axis 
    99  USE reduce_domain_to_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    6162      IF (PRESENT(local_)) THEN 
    6263        local__tmp = local_ 
     64        CALL xios_logical_to_bool_0d(local__tmp) 
    6365        CALL cxios_set_reduce_domain_to_axis_local & 
    6466      (reduce_domain_to_axis_hdl%daddr, local__tmp) 
     
    123125        CALL cxios_get_reduce_domain_to_axis_local & 
    124126      (reduce_domain_to_axis_hdl%daddr, local__tmp) 
     127        CALL xios_bool_to_logical_0d(local__tmp) 
    125128        local_ = local__tmp 
    126129      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/ireduce_domain_to_scalar_attr.F90

    r1492 r2623  
    88  USE ireduce_domain_to_scalar 
    99  USE reduce_domain_to_scalar_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    5354      IF (PRESENT(local_)) THEN 
    5455        local__tmp = local_ 
     56        CALL xios_logical_to_bool_0d(local__tmp) 
    5557        CALL cxios_set_reduce_domain_to_scalar_local & 
    5658      (reduce_domain_to_scalar_hdl%daddr, local__tmp) 
     
    107109        CALL cxios_get_reduce_domain_to_scalar_local & 
    108110      (reduce_domain_to_scalar_hdl%daddr, local__tmp) 
     111        CALL xios_bool_to_logical_0d(local__tmp) 
    109112        local_ = local__tmp 
    110113      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/ireduce_scalar_to_scalar_attr.F90

    r1492 r2623  
    88  USE ireduce_scalar_to_scalar 
    99  USE reduce_scalar_to_scalar_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ireorder_domain_attr.F90

    r1492 r2623  
    88  USE ireorder_domain 
    99  USE reorder_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
     
    5960      IF (PRESENT(invert_lat_)) THEN 
    6061        invert_lat__tmp = invert_lat_ 
     62        CALL xios_logical_to_bool_0d(invert_lat__tmp) 
    6163        CALL cxios_set_reorder_domain_invert_lat & 
    6264      (reorder_domain_hdl%daddr, invert_lat__tmp) 
     
    129131        CALL cxios_get_reorder_domain_invert_lat & 
    130132      (reorder_domain_hdl%daddr, invert_lat__tmp) 
     133        CALL xios_bool_to_logical_0d(invert_lat__tmp) 
    131134        invert_lat_ = invert_lat__tmp 
    132135      ENDIF 
  • XIOS2/trunk/src/interface/fortran_attr/iscalar_attr.F90

    r1492 r2623  
    88  USE iscalar 
    99  USE scalar_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/iscalargroup_attr.F90

    r1492 r2623  
    88  USE iscalar 
    99  USE scalargroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/itemporal_splitting_attr.F90

    r1492 r2623  
    88  USE itemporal_splitting 
    99  USE temporal_splitting_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ivariable_attr.F90

    r1158 r2623  
    88  USE ivariable 
    99  USE variable_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/ivariablegroup_attr.F90

    r1158 r2623  
    88  USE ivariable 
    99  USE variablegroup_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/izoom_axis_attr.F90

    r1201 r2623  
    88  USE izoom_axis 
    99  USE zoom_axis_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/interface/fortran_attr/izoom_domain_attr.F90

    r966 r2623  
    88  USE izoom_domain 
    99  USE zoom_domain_interface_attr 
     10  USE LOGICAL_BOOL_CONVERSION 
    1011 
    1112CONTAINS 
  • XIOS2/trunk/src/object_template_impl.hpp

    r1626 r2623  
    535535     oss << "USE, INTRINSIC :: ISO_C_BINDING" << iendl; 
    536536     oss << "USE i" << superClassName << iendl; 
    537      oss << "USE " << className << "_interface_attr" << iendl--; 
     537     oss << "USE " << className << "_interface_attr" << iendl; 
     538     oss << "USE LOGICAL_BOOL_CONVERSION" << iendl--; 
    538539//   oss << "TYPE txios(" << className << ")" << iendl; 
    539540//   oss << "  INTEGER(kind = C_INTPTR_T) :: daddr" << iendl; 
Note: See TracChangeset for help on using the changeset viewer.