Ignore:
Timestamp:
05/26/15 16:13:45 (9 years ago)
Author:
rlacroix
Message:

Add a new interface xios_recv_field to get local instant data from a field.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90

    r581 r593  
    1414    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    1515    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    16     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     16    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    1717 
    1818    IMPLICIT NONE 
     
    3737      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    3838      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     39      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access 
     40      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
    3941      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 
    4042      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     
    4749      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    4850      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    49       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     51      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    5052 
    5153  END SUBROUTINE xios(set_fieldgroup_attr) 
     
    5456    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    5557    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    56     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     58    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    5759 
    5860    IMPLICIT NONE 
     
    7678      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 
    7779      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
     80      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access 
     81      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
    7882      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 
    7983      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     
    8589      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    8690      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    87       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     91      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    8892 
    8993  END SUBROUTINE xios(set_fieldgroup_attr_hdl) 
     
    9296    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
    9397    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
    94     , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     98    , operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_  & 
     99     ) 
    95100 
    96101    IMPLICIT NONE 
     
    114119      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_ 
    115120      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
     121      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access_ 
     122      LOGICAL (KIND=C_BOOL) :: read_access__tmp 
    116123      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_ 
    117124      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
     
    186193      ENDIF 
    187194 
     195      IF (PRESENT(read_access_)) THEN 
     196        read_access__tmp = read_access_ 
     197        CALL cxios_set_fieldgroup_read_access(fieldgroup_hdl%daddr, read_access__tmp) 
     198      ENDIF 
     199 
    188200      IF (PRESENT(scale_factor_)) THEN 
    189201        CALL cxios_set_fieldgroup_scale_factor(fieldgroup_hdl%daddr, scale_factor_) 
     
    211223    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    212224    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    213     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     225    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    214226 
    215227    IMPLICIT NONE 
     
    234246      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    235247      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     248      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access 
     249      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
    236250      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 
    237251      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     
    244258      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    245259      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    246       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     260      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    247261 
    248262  END SUBROUTINE xios(get_fieldgroup_attr) 
     
    251265    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    252266    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    253     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     267    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    254268 
    255269    IMPLICIT NONE 
     
    273287      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation 
    274288      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
     289      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access 
     290      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
    275291      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 
    276292      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     
    282298      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    283299      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    284       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     300      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    285301 
    286302  END SUBROUTINE xios(get_fieldgroup_attr_hdl) 
     
    289305    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
    290306    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
    291     , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     307    , operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_  & 
     308     ) 
    292309 
    293310    IMPLICIT NONE 
     
    311328      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation_ 
    312329      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
     330      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access_ 
     331      LOGICAL (KIND=C_BOOL) :: read_access__tmp 
    313332      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_ 
    314333      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
     
    383402      ENDIF 
    384403 
     404      IF (PRESENT(read_access_)) THEN 
     405        CALL cxios_get_fieldgroup_read_access(fieldgroup_hdl%daddr, read_access__tmp) 
     406        read_access_ = read_access__tmp 
     407      ENDIF 
     408 
    385409      IF (PRESENT(scale_factor_)) THEN 
    386410        CALL cxios_get_fieldgroup_scale_factor(fieldgroup_hdl%daddr, scale_factor_) 
     
    408432    ( fieldgroup_id, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    409433    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    410     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     434    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    411435 
    412436    IMPLICIT NONE 
     
    445469      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    446470      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     471      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 
     472      LOGICAL(KIND=C_BOOL) :: read_access_tmp 
    447473      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor 
    448474      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp 
     
    460486      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    461487      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    462       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     488      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    463489 
    464490  END SUBROUTINE xios(is_defined_fieldgroup_attr) 
     
    467493    ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    468494    , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    469     , scale_factor, standard_name, unit, valid_max, valid_min ) 
     495    , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    470496 
    471497    IMPLICIT NONE 
     
    503529      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    504530      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     531      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 
     532      LOGICAL(KIND=C_BOOL) :: read_access_tmp 
    505533      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor 
    506534      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp 
     
    517545      ( fieldgroup_hdl, add_offset, axis_ref, default_value, detect_missing_value, domain_ref, enabled  & 
    518546      , field_ref, freq_offset, freq_op, grid_ref, group_ref, level, long_name, name, operation, prec  & 
    519       , scale_factor, standard_name, unit, valid_max, valid_min ) 
     547      , read_access, scale_factor, standard_name, unit, valid_max, valid_min ) 
    520548 
    521549  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) 
     
    524552    ( fieldgroup_hdl, add_offset_, axis_ref_, default_value_, detect_missing_value_, domain_ref_  & 
    525553    , enabled_, field_ref_, freq_offset_, freq_op_, grid_ref_, group_ref_, level_, long_name_, name_  & 
    526     , operation_, prec_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_ ) 
     554    , operation_, prec_, read_access_, scale_factor_, standard_name_, unit_, valid_max_, valid_min_  & 
     555     ) 
    527556 
    528557    IMPLICIT NONE 
     
    560589      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    561590      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     591      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access_ 
     592      LOGICAL(KIND=C_BOOL) :: read_access__tmp 
    562593      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor_ 
    563594      LOGICAL(KIND=C_BOOL) :: scale_factor__tmp 
     
    651682      ENDIF 
    652683 
     684      IF (PRESENT(read_access_)) THEN 
     685        read_access__tmp = cxios_is_defined_fieldgroup_read_access(fieldgroup_hdl%daddr) 
     686        read_access_ = read_access__tmp 
     687      ENDIF 
     688 
    653689      IF (PRESENT(scale_factor_)) THEN 
    654690        scale_factor__tmp = cxios_is_defined_fieldgroup_scale_factor(fieldgroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.