Ignore:
Timestamp:
07/05/16 15:59:23 (8 years ago)
Author:
mhnguyen
Message:

Adding Fortran interface for reduce_axis_to_scalar

Test
+) On Curie
+) Only compilation

File:
1 edited

Legend:

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

    r790 r891  
    1414    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    1515    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    16     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    17     , ts_split_freq, unit, valid_max, valid_min ) 
     16    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     17    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    1818 
    1919    IMPLICIT NONE 
     
    4444      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access 
    4545      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
     46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
    4647      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 
    4748      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     
    5758      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    5859      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    59       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    60       , ts_split_freq, unit, valid_max, valid_min ) 
     60      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     61      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    6162 
    6263  END SUBROUTINE xios(set_fieldgroup_attr) 
     
    6566    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    6667    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    67     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    68     , ts_split_freq, unit, valid_max, valid_min ) 
     68    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     69    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    6970 
    7071    IMPLICIT NONE 
     
    9495      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access 
    9596      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
     97      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 
    9698      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 
    9799      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     
    106108      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    107109      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    108       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    109       , ts_split_freq, unit, valid_max, valid_min ) 
     110      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     111      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    110112 
    111113  END SUBROUTINE xios(set_fieldgroup_attr_hdl) 
     
    114116    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  & 
    115117    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_  & 
    116     , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_  & 
     118    , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_  & 
    117119    , standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    118120 
     
    143145      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access_ 
    144146      LOGICAL (KIND=C_BOOL) :: read_access__tmp 
     147      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref_ 
    145148      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_ 
    146149      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
     
    236239      ENDIF 
    237240 
     241      IF (PRESENT(scalar_ref_)) THEN 
     242        CALL cxios_set_fieldgroup_scalar_ref(fieldgroup_hdl%daddr, scalar_ref_, len(scalar_ref_)) 
     243      ENDIF 
     244 
    238245      IF (PRESENT(scale_factor_)) THEN 
    239246        CALL cxios_set_fieldgroup_scale_factor(fieldgroup_hdl%daddr, scale_factor_) 
     
    270277    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    271278    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    272     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    273     , ts_split_freq, unit, valid_max, valid_min ) 
     279    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     280    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    274281 
    275282    IMPLICIT NONE 
     
    300307      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access 
    301308      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
     309      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
    302310      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 
    303311      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     
    313321      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    314322      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    315       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    316       , ts_split_freq, unit, valid_max, valid_min ) 
     323      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     324      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    317325 
    318326  END SUBROUTINE xios(get_fieldgroup_attr) 
     
    321329    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    322330    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    323     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    324     , ts_split_freq, unit, valid_max, valid_min ) 
     331    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     332    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    325333 
    326334    IMPLICIT NONE 
     
    350358      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access 
    351359      LOGICAL (KIND=C_BOOL) :: read_access_tmp 
     360      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref 
    352361      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor 
    353362      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     
    362371      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    363372      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    364       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    365       , ts_split_freq, unit, valid_max, valid_min ) 
     373      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     374      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    366375 
    367376  END SUBROUTINE xios(get_fieldgroup_attr_hdl) 
     
    370379    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  & 
    371380    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_  & 
    372     , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_  & 
     381    , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_  & 
    373382    , standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    374383 
     
    399408      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access_ 
    400409      LOGICAL (KIND=C_BOOL) :: read_access__tmp 
     410      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref_ 
    401411      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_ 
    402412      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
     
    492502      ENDIF 
    493503 
     504      IF (PRESENT(scalar_ref_)) THEN 
     505        CALL cxios_get_fieldgroup_scalar_ref(fieldgroup_hdl%daddr, scalar_ref_, len(scalar_ref_)) 
     506      ENDIF 
     507 
    494508      IF (PRESENT(scale_factor_)) THEN 
    495509        CALL cxios_get_fieldgroup_scale_factor(fieldgroup_hdl%daddr, scale_factor_) 
     
    526540    ( fieldgroup_id, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    527541    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    528     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    529     , ts_split_freq, unit, valid_max, valid_min ) 
     542    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     543    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    530544 
    531545    IMPLICIT NONE 
     
    572586      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 
    573587      LOGICAL(KIND=C_BOOL) :: read_access_tmp 
     588      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref 
     589      LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp 
    574590      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor 
    575591      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp 
     
    591607      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    592608      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    593       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    594       , ts_split_freq, unit, valid_max, valid_min ) 
     609      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     610      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    595611 
    596612  END SUBROUTINE xios(is_defined_fieldgroup_attr) 
     
    599615    ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    600616    , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    601     , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    602     , ts_split_freq, unit, valid_max, valid_min ) 
     617    , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     618    , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    603619 
    604620    IMPLICIT NONE 
     
    644660      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 
    645661      LOGICAL(KIND=C_BOOL) :: read_access_tmp 
     662      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref 
     663      LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp 
    646664      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor 
    647665      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp 
     
    662680      ( fieldgroup_hdl, add_offset, axis_ref, compression_level, default_value, detect_missing_value  & 
    663681      , domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output  & 
    664       , level, long_name, name, operation, prec, read_access, scale_factor, standard_name, ts_enabled  & 
    665       , ts_split_freq, unit, valid_max, valid_min ) 
     682      , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name  & 
     683      , ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 
    666684 
    667685  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) 
     
    670688    ( fieldgroup_hdl, add_offset_, axis_ref_, compression_level_, default_value_, detect_missing_value_  & 
    671689    , domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_  & 
    672     , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scale_factor_  & 
     690    , indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_  & 
    673691    , standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ ) 
    674692 
     
    715733      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access_ 
    716734      LOGICAL(KIND=C_BOOL) :: read_access__tmp 
     735      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref_ 
     736      LOGICAL(KIND=C_BOOL) :: scalar_ref__tmp 
    717737      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor_ 
    718738      LOGICAL(KIND=C_BOOL) :: scale_factor__tmp 
     
    830850      ENDIF 
    831851 
     852      IF (PRESENT(scalar_ref_)) THEN 
     853        scalar_ref__tmp = cxios_is_defined_fieldgroup_scalar_ref(fieldgroup_hdl%daddr) 
     854        scalar_ref_ = scalar_ref__tmp 
     855      ENDIF 
     856 
    832857      IF (PRESENT(scale_factor_)) THEN 
    833858        scale_factor__tmp = cxios_is_defined_fieldgroup_scale_factor(fieldgroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.