Ignore:
Timestamp:
10/16/12 13:04:44 (12 years ago)
Author:
ymipsl
Message:

Major Update

  • redesign Type and attribute manipulation
  • add enumerate type and attribute
  • use blitz class array instead of boost class array

YM

File:
1 edited

Legend:

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

    r326 r369  
    1212   
    1313  SUBROUTINE xios(set_axisgroup_attr)  & 
    14     ( axisgroup_id, group_ref, long_name, name, size, standard_name, unit, value ) 
     14    ( axisgroup_id, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     15    , zoom_size ) 
    1516     
    1617    IMPLICIT NONE 
     
    2425      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 
    2526      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:) 
     27      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin 
     28      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end 
     29      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size 
    2630       
    2731      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
    2832      CALL xios(set_axisgroup_attr_hdl_)   & 
    29       ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     33      ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     34      , zoom_size ) 
    3035     
    3136  END SUBROUTINE xios(set_axisgroup_attr) 
    3237   
    3338  SUBROUTINE xios(set_axisgroup_attr_hdl)  & 
    34     ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     39    ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     40    , zoom_size ) 
    3541     
    3642    IMPLICIT NONE 
     
    4349      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 
    4450      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:) 
     51      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin 
     52      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end 
     53      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size 
    4554       
    4655      CALL xios(set_axisgroup_attr_hdl_)  & 
    47       ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     56      ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     57      , zoom_size ) 
    4858     
    4959  END SUBROUTINE xios(set_axisgroup_attr_hdl) 
    5060   
    5161  SUBROUTINE xios(set_axisgroup_attr_hdl_)   & 
    52     ( axisgroup_hdl, group_ref_, long_name_, name_, size_, standard_name_, unit_, value_ ) 
     62    ( axisgroup_hdl, group_ref_, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_  & 
     63    , zoom_end_, zoom_size_ ) 
    5364     
    5465    IMPLICIT NONE 
     
    6172      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_ 
    6273      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value_(:) 
     74      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin_ 
     75      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end_ 
     76      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_ 
    6377       
    6478      IF (PRESENT(group_ref_)) THEN 
     
    90104      ENDIF 
    91105       
     106      IF (PRESENT(zoom_begin_)) THEN 
     107        CALL cxios_set_axisgroup_zoom_begin(axisgroup_hdl%daddr, zoom_begin_) 
     108      ENDIF 
     109       
     110      IF (PRESENT(zoom_end_)) THEN 
     111        CALL cxios_set_axisgroup_zoom_end(axisgroup_hdl%daddr, zoom_end_) 
     112      ENDIF 
     113       
     114      IF (PRESENT(zoom_size_)) THEN 
     115        CALL cxios_set_axisgroup_zoom_size(axisgroup_hdl%daddr, zoom_size_) 
     116      ENDIF 
     117       
    92118       
    93119     
     
    95121   
    96122  SUBROUTINE xios(get_axisgroup_attr)  & 
    97     ( axisgroup_id, group_ref, long_name, name, size, standard_name, unit, value ) 
     123    ( axisgroup_id, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     124    , zoom_size ) 
    98125     
    99126    IMPLICIT NONE 
     
    107134      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 
    108135      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:) 
     136      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin 
     137      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end 
     138      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size 
    109139       
    110140      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
    111141      CALL xios(get_axisgroup_attr_hdl_)   & 
    112       ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     142      ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     143      , zoom_size ) 
    113144     
    114145  END SUBROUTINE xios(get_axisgroup_attr) 
    115146   
    116147  SUBROUTINE xios(get_axisgroup_attr_hdl)  & 
    117     ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     148    ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     149    , zoom_size ) 
    118150     
    119151    IMPLICIT NONE 
     
    126158      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 
    127159      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:) 
     160      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin 
     161      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end 
     162      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size 
    128163       
    129164      CALL xios(get_axisgroup_attr_hdl_)  & 
    130       ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value ) 
     165      ( axisgroup_hdl, group_ref, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end  & 
     166      , zoom_size ) 
    131167     
    132168  END SUBROUTINE xios(get_axisgroup_attr_hdl) 
    133169   
    134170  SUBROUTINE xios(get_axisgroup_attr_hdl_)   & 
    135     ( axisgroup_hdl, group_ref_, long_name_, name_, size_, standard_name_, unit_, value_ ) 
     171    ( axisgroup_hdl, group_ref_, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_  & 
     172    , zoom_end_, zoom_size_ ) 
    136173     
    137174    IMPLICIT NONE 
     
    144181      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_ 
    145182      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value_(:) 
     183      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin_ 
     184      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end_ 
     185      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_ 
    146186       
    147187      IF (PRESENT(group_ref_)) THEN 
     
    173213      ENDIF 
    174214       
     215      IF (PRESENT(zoom_begin_)) THEN 
     216        CALL cxios_get_axisgroup_zoom_begin(axisgroup_hdl%daddr, zoom_begin_) 
     217      ENDIF 
     218       
     219      IF (PRESENT(zoom_end_)) THEN 
     220        CALL cxios_get_axisgroup_zoom_end(axisgroup_hdl%daddr, zoom_end_) 
     221      ENDIF 
     222       
     223      IF (PRESENT(zoom_size_)) THEN 
     224        CALL cxios_get_axisgroup_zoom_size(axisgroup_hdl%daddr, zoom_size_) 
     225      ENDIF 
     226       
    175227       
    176228     
Note: See TracChangeset for help on using the changeset viewer.