Ignore:
Timestamp:
09/24/20 12:16:22 (4 years ago)
Author:
ymipsl
Message:

XIOS coupling : Update fortran interface
YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran_attr/iscalar_attr.F90

    r1492 r1941  
    1212 
    1313  SUBROUTINE xios(set_scalar_attr)  & 
    14     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    15     , scalar_ref, standard_name, unit, value ) 
     14    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     15    , prec, scalar_ref, standard_name, unit, value ) 
    1616 
    1717    IMPLICIT NONE 
     
    2424      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    2525      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
     26      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
     27      LOGICAL (KIND=C_BOOL) :: mask_tmp 
    2628      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    2729      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    3537      (scalar_id,scalar_hdl) 
    3638      CALL xios(set_scalar_attr_hdl_)   & 
    37       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    38       , scalar_ref, standard_name, unit, value ) 
     39      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     40      , prec, scalar_ref, standard_name, unit, value ) 
    3941 
    4042  END SUBROUTINE xios(set_scalar_attr) 
    4143 
    4244  SUBROUTINE xios(set_scalar_attr_hdl)  & 
    43     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    44     , scalar_ref, standard_name, unit, value ) 
     45    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     46    , prec, scalar_ref, standard_name, unit, value ) 
    4547 
    4648    IMPLICIT NONE 
     
    5254      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label 
    5355      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
     56      LOGICAL  , OPTIONAL, INTENT(IN) :: mask 
     57      LOGICAL (KIND=C_BOOL) :: mask_tmp 
    5458      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    5559      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive 
     
    6165 
    6266      CALL xios(set_scalar_attr_hdl_)  & 
    63       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    64       , scalar_ref, standard_name, unit, value ) 
     67      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     68      , prec, scalar_ref, standard_name, unit, value ) 
    6569 
    6670  END SUBROUTINE xios(set_scalar_attr_hdl) 
    6771 
    6872  SUBROUTINE xios(set_scalar_attr_hdl_)   & 
    69     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
    70     , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     73    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     74    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    7175 
    7276    IMPLICIT NONE 
     
    7882      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: label_ 
    7983      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
     84      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_ 
     85      LOGICAL (KIND=C_BOOL) :: mask__tmp 
    8086      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    8187      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: positive_ 
     
    116122      ENDIF 
    117123 
     124      IF (PRESENT(mask_)) THEN 
     125        mask__tmp = mask_ 
     126        CALL cxios_set_scalar_mask & 
     127      (scalar_hdl%daddr, mask__tmp) 
     128      ENDIF 
     129 
    118130      IF (PRESENT(name_)) THEN 
    119131        CALL cxios_set_scalar_name & 
     
    154166 
    155167  SUBROUTINE xios(get_scalar_attr)  & 
    156     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    157     , scalar_ref, standard_name, unit, value ) 
     168    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     169    , prec, scalar_ref, standard_name, unit, value ) 
    158170 
    159171    IMPLICIT NONE 
     
    166178      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    167179      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
     180      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
     181      LOGICAL (KIND=C_BOOL) :: mask_tmp 
    168182      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    169183      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    177191      (scalar_id,scalar_hdl) 
    178192      CALL xios(get_scalar_attr_hdl_)   & 
    179       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    180       , scalar_ref, standard_name, unit, value ) 
     193      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     194      , prec, scalar_ref, standard_name, unit, value ) 
    181195 
    182196  END SUBROUTINE xios(get_scalar_attr) 
    183197 
    184198  SUBROUTINE xios(get_scalar_attr_hdl)  & 
    185     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    186     , scalar_ref, standard_name, unit, value ) 
     199    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     200    , prec, scalar_ref, standard_name, unit, value ) 
    187201 
    188202    IMPLICIT NONE 
     
    194208      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label 
    195209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
     210      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask 
     211      LOGICAL (KIND=C_BOOL) :: mask_tmp 
    196212      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    197213      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive 
     
    203219 
    204220      CALL xios(get_scalar_attr_hdl_)  & 
    205       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    206       , scalar_ref, standard_name, unit, value ) 
     221      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     222      , prec, scalar_ref, standard_name, unit, value ) 
    207223 
    208224  END SUBROUTINE xios(get_scalar_attr_hdl) 
    209225 
    210226  SUBROUTINE xios(get_scalar_attr_hdl_)   & 
    211     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
    212     , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     227    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     228    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    213229 
    214230    IMPLICIT NONE 
     
    220236      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: label_ 
    221237      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
     238      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_ 
     239      LOGICAL (KIND=C_BOOL) :: mask__tmp 
    222240      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    223241      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: positive_ 
     
    258276      ENDIF 
    259277 
     278      IF (PRESENT(mask_)) THEN 
     279        CALL cxios_get_scalar_mask & 
     280      (scalar_hdl%daddr, mask__tmp) 
     281        mask_ = mask__tmp 
     282      ENDIF 
     283 
    260284      IF (PRESENT(name_)) THEN 
    261285        CALL cxios_get_scalar_name & 
     
    296320 
    297321  SUBROUTINE xios(is_defined_scalar_attr)  & 
    298     ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    299     , scalar_ref, standard_name, unit, value ) 
     322    ( scalar_id, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     323    , prec, scalar_ref, standard_name, unit, value ) 
    300324 
    301325    IMPLICIT NONE 
     
    314338      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    315339      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     340      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
     341      LOGICAL(KIND=C_BOOL) :: mask_tmp 
    316342      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    317343      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    332358      (scalar_id,scalar_hdl) 
    333359      CALL xios(is_defined_scalar_attr_hdl_)   & 
    334       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    335       , scalar_ref, standard_name, unit, value ) 
     360      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     361      , prec, scalar_ref, standard_name, unit, value ) 
    336362 
    337363  END SUBROUTINE xios(is_defined_scalar_attr) 
    338364 
    339365  SUBROUTINE xios(is_defined_scalar_attr_hdl)  & 
    340     ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    341     , scalar_ref, standard_name, unit, value ) 
     366    ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     367    , prec, scalar_ref, standard_name, unit, value ) 
    342368 
    343369    IMPLICIT NONE 
     
    355381      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    356382      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     383      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
     384      LOGICAL(KIND=C_BOOL) :: mask_tmp 
    357385      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    358386      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    371399 
    372400      CALL xios(is_defined_scalar_attr_hdl_)  & 
    373       ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, name, positive, prec  & 
    374       , scalar_ref, standard_name, unit, value ) 
     401      ( scalar_hdl, axis_type, bounds, bounds_name, comment, label, long_name, mask, name, positive  & 
     402      , prec, scalar_ref, standard_name, unit, value ) 
    375403 
    376404  END SUBROUTINE xios(is_defined_scalar_attr_hdl) 
    377405 
    378406  SUBROUTINE xios(is_defined_scalar_attr_hdl_)   & 
    379     ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, name_, positive_  & 
    380     , prec_, scalar_ref_, standard_name_, unit_, value_ ) 
     407    ( scalar_hdl, axis_type_, bounds_, bounds_name_, comment_, label_, long_name_, mask_, name_  & 
     408    , positive_, prec_, scalar_ref_, standard_name_, unit_, value_ ) 
    381409 
    382410    IMPLICIT NONE 
     
    394422      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    395423      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
     424      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
     425      LOGICAL(KIND=C_BOOL) :: mask__tmp 
    396426      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    397427      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    445475      ENDIF 
    446476 
     477      IF (PRESENT(mask_)) THEN 
     478        mask__tmp = cxios_is_defined_scalar_mask & 
     479      (scalar_hdl%daddr) 
     480        mask_ = mask__tmp 
     481      ENDIF 
     482 
    447483      IF (PRESENT(name_)) THEN 
    448484        name__tmp = cxios_is_defined_scalar_name & 
Note: See TracChangeset for help on using the changeset viewer.