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

Location:
XIOS/trunk/src/interface/fortran_attr
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.f90

    r326 r369  
    9797     
    9898     
     99    SUBROUTINE cxios_set_axis_zoom_begin(axis_hdl, zoom_begin) BIND(C) 
     100      USE ISO_C_BINDING 
     101      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     102      INTEGER (KIND=C_INT)      , VALUE :: zoom_begin 
     103    END SUBROUTINE cxios_set_axis_zoom_begin 
     104     
     105    SUBROUTINE cxios_get_axis_zoom_begin(axis_hdl, zoom_begin) BIND(C) 
     106      USE ISO_C_BINDING 
     107      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     108      INTEGER (KIND=C_INT)             :: zoom_begin 
     109    END SUBROUTINE cxios_get_axis_zoom_begin 
     110     
     111     
     112    SUBROUTINE cxios_set_axis_zoom_end(axis_hdl, zoom_end) BIND(C) 
     113      USE ISO_C_BINDING 
     114      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     115      INTEGER (KIND=C_INT)      , VALUE :: zoom_end 
     116    END SUBROUTINE cxios_set_axis_zoom_end 
     117     
     118    SUBROUTINE cxios_get_axis_zoom_end(axis_hdl, zoom_end) BIND(C) 
     119      USE ISO_C_BINDING 
     120      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     121      INTEGER (KIND=C_INT)             :: zoom_end 
     122    END SUBROUTINE cxios_get_axis_zoom_end 
     123     
     124     
     125    SUBROUTINE cxios_set_axis_zoom_size(axis_hdl, zoom_size) BIND(C) 
     126      USE ISO_C_BINDING 
     127      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     128      INTEGER (KIND=C_INT)      , VALUE :: zoom_size 
     129    END SUBROUTINE cxios_set_axis_zoom_size 
     130     
     131    SUBROUTINE cxios_get_axis_zoom_size(axis_hdl, zoom_size) BIND(C) 
     132      USE ISO_C_BINDING 
     133      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     134      INTEGER (KIND=C_INT)             :: zoom_size 
     135    END SUBROUTINE cxios_get_axis_zoom_size 
     136     
     137     
    99138    END INTERFACE 
    100139   
  • XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.f90

    r326 r369  
    112112     
    113113     
     114    SUBROUTINE cxios_set_axisgroup_zoom_begin(axisgroup_hdl, zoom_begin) BIND(C) 
     115      USE ISO_C_BINDING 
     116      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     117      INTEGER (KIND=C_INT)      , VALUE :: zoom_begin 
     118    END SUBROUTINE cxios_set_axisgroup_zoom_begin 
     119     
     120    SUBROUTINE cxios_get_axisgroup_zoom_begin(axisgroup_hdl, zoom_begin) BIND(C) 
     121      USE ISO_C_BINDING 
     122      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     123      INTEGER (KIND=C_INT)             :: zoom_begin 
     124    END SUBROUTINE cxios_get_axisgroup_zoom_begin 
     125     
     126     
     127    SUBROUTINE cxios_set_axisgroup_zoom_end(axisgroup_hdl, zoom_end) BIND(C) 
     128      USE ISO_C_BINDING 
     129      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     130      INTEGER (KIND=C_INT)      , VALUE :: zoom_end 
     131    END SUBROUTINE cxios_set_axisgroup_zoom_end 
     132     
     133    SUBROUTINE cxios_get_axisgroup_zoom_end(axisgroup_hdl, zoom_end) BIND(C) 
     134      USE ISO_C_BINDING 
     135      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     136      INTEGER (KIND=C_INT)             :: zoom_end 
     137    END SUBROUTINE cxios_get_axisgroup_zoom_end 
     138     
     139     
     140    SUBROUTINE cxios_set_axisgroup_zoom_size(axisgroup_hdl, zoom_size) BIND(C) 
     141      USE ISO_C_BINDING 
     142      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     143      INTEGER (KIND=C_INT)      , VALUE :: zoom_size 
     144    END SUBROUTINE cxios_set_axisgroup_zoom_size 
     145     
     146    SUBROUTINE cxios_get_axisgroup_zoom_size(axisgroup_hdl, zoom_size) BIND(C) 
     147      USE ISO_C_BINDING 
     148      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     149      INTEGER (KIND=C_INT)             :: zoom_size 
     150    END SUBROUTINE cxios_get_axisgroup_zoom_size 
     151     
     152     
    114153    END INTERFACE 
    115154   
  • XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90

    r326 r369  
    1212   
    1313  SUBROUTINE xios(set_axis_attr)  & 
    14     ( axis_id, long_name, name, size, standard_name, unit, value ) 
     14    ( axis_id, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     15     ) 
    1516     
    1617    IMPLICIT NONE 
     
    2324      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 
    2425      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:) 
     26      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin 
     27      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end 
     28      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size 
    2529       
    2630      CALL xios(get_axis_handle)(axis_id,axis_hdl) 
    2731      CALL xios(set_axis_attr_hdl_)   & 
    28       ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     32      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     33       ) 
    2934     
    3035  END SUBROUTINE xios(set_axis_attr) 
    3136   
    3237  SUBROUTINE xios(set_axis_attr_hdl)  & 
    33     ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     38    ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     39     ) 
    3440     
    3541    IMPLICIT NONE 
     
    4147      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 
    4248      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:) 
     49      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin 
     50      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end 
     51      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size 
    4352       
    4453      CALL xios(set_axis_attr_hdl_)  & 
    45       ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     54      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     55       ) 
    4656     
    4757  END SUBROUTINE xios(set_axis_attr_hdl) 
    4858   
    4959  SUBROUTINE xios(set_axis_attr_hdl_)   & 
    50     ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_ ) 
     60    ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_  & 
     61    , zoom_size_ ) 
    5162     
    5263    IMPLICIT NONE 
     
    5869      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_ 
    5970      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value_(:) 
     71      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin_ 
     72      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end_ 
     73      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_ 
    6074       
    6175      IF (PRESENT(long_name_)) THEN 
     
    8397      ENDIF 
    8498       
     99      IF (PRESENT(zoom_begin_)) THEN 
     100        CALL cxios_set_axis_zoom_begin(axis_hdl%daddr, zoom_begin_) 
     101      ENDIF 
     102       
     103      IF (PRESENT(zoom_end_)) THEN 
     104        CALL cxios_set_axis_zoom_end(axis_hdl%daddr, zoom_end_) 
     105      ENDIF 
     106       
     107      IF (PRESENT(zoom_size_)) THEN 
     108        CALL cxios_set_axis_zoom_size(axis_hdl%daddr, zoom_size_) 
     109      ENDIF 
     110       
    85111       
    86112     
     
    88114   
    89115  SUBROUTINE xios(get_axis_attr)  & 
    90     ( axis_id, long_name, name, size, standard_name, unit, value ) 
     116    ( axis_id, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     117     ) 
    91118     
    92119    IMPLICIT NONE 
     
    99126      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 
    100127      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:) 
     128      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin 
     129      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end 
     130      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size 
    101131       
    102132      CALL xios(get_axis_handle)(axis_id,axis_hdl) 
    103133      CALL xios(get_axis_attr_hdl_)   & 
    104       ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     134      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     135       ) 
    105136     
    106137  END SUBROUTINE xios(get_axis_attr) 
    107138   
    108139  SUBROUTINE xios(get_axis_attr_hdl)  & 
    109     ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     140    ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     141     ) 
    110142     
    111143    IMPLICIT NONE 
     
    117149      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit 
    118150      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:) 
     151      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin 
     152      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end 
     153      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size 
    119154       
    120155      CALL xios(get_axis_attr_hdl_)  & 
    121       ( axis_hdl, long_name, name, size, standard_name, unit, value ) 
     156      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  & 
     157       ) 
    122158     
    123159  END SUBROUTINE xios(get_axis_attr_hdl) 
    124160   
    125161  SUBROUTINE xios(get_axis_attr_hdl_)   & 
    126     ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_ ) 
     162    ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_  & 
     163    , zoom_size_ ) 
    127164     
    128165    IMPLICIT NONE 
     
    134171      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_ 
    135172      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value_(:) 
     173      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin_ 
     174      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end_ 
     175      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_ 
    136176       
    137177      IF (PRESENT(long_name_)) THEN 
     
    159199      ENDIF 
    160200       
     201      IF (PRESENT(zoom_begin_)) THEN 
     202        CALL cxios_get_axis_zoom_begin(axis_hdl%daddr, zoom_begin_) 
     203      ENDIF 
     204       
     205      IF (PRESENT(zoom_end_)) THEN 
     206        CALL cxios_get_axis_zoom_end(axis_hdl%daddr, zoom_end_) 
     207      ENDIF 
     208       
     209      IF (PRESENT(zoom_size_)) THEN 
     210        CALL cxios_get_axis_zoom_size(axis_hdl%daddr, zoom_size_) 
     211      ENDIF 
     212       
    161213       
    162214     
  • 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     
  • XIOS/trunk/src/interface/fortran_attr/icontext_attr.F90

    r326 r369  
    1212   
    1313  SUBROUTINE xios(set_context_attr)  & 
    14     ( context_id, calendar_type, output_dir, start_date, timestep ) 
     14    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep ) 
    1515     
    1616    IMPLICIT NONE 
     
    2020      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir 
    2121      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: start_date 
     22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_origin 
    2223      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep 
    2324       
    2425      CALL xios(get_context_handle)(context_id,context_hdl) 
    2526      CALL xios(set_context_attr_hdl_)   & 
    26       ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     27      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    2728     
    2829  END SUBROUTINE xios(set_context_attr) 
    2930   
    3031  SUBROUTINE xios(set_context_attr_hdl)  & 
    31     ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     32    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    3233     
    3334    IMPLICIT NONE 
     
    3637      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir 
    3738      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: start_date 
     39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_origin 
    3840      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep 
    3941       
    4042      CALL xios(set_context_attr_hdl_)  & 
    41       ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     43      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    4244     
    4345  END SUBROUTINE xios(set_context_attr_hdl) 
    4446   
    4547  SUBROUTINE xios(set_context_attr_hdl_)   & 
    46     ( context_hdl, calendar_type_, output_dir_, start_date_, timestep_ ) 
     48    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ ) 
    4749     
    4850    IMPLICIT NONE 
     
    5153      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir_ 
    5254      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: start_date_ 
     55      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: time_origin_ 
    5356      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep_ 
    5457       
     
    6568      ENDIF 
    6669       
     70      IF (PRESENT(time_origin_)) THEN 
     71        CALL cxios_set_context_time_origin(context_hdl%daddr, time_origin_, len(time_origin_)) 
     72      ENDIF 
     73       
    6774      IF (PRESENT(timestep_)) THEN 
    6875        CALL cxios_set_context_timestep(context_hdl%daddr, timestep_, len(timestep_)) 
     
    7481   
    7582  SUBROUTINE xios(get_context_attr)  & 
    76     ( context_id, calendar_type, output_dir, start_date, timestep ) 
     83    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep ) 
    7784     
    7885    IMPLICIT NONE 
     
    8289      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir 
    8390      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: start_date 
     91      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_origin 
    8492      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep 
    8593       
    8694      CALL xios(get_context_handle)(context_id,context_hdl) 
    8795      CALL xios(get_context_attr_hdl_)   & 
    88       ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     96      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    8997     
    9098  END SUBROUTINE xios(get_context_attr) 
    9199   
    92100  SUBROUTINE xios(get_context_attr_hdl)  & 
    93     ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     101    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    94102     
    95103    IMPLICIT NONE 
     
    98106      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir 
    99107      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: start_date 
     108      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_origin 
    100109      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep 
    101110       
    102111      CALL xios(get_context_attr_hdl_)  & 
    103       ( context_hdl, calendar_type, output_dir, start_date, timestep ) 
     112      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep ) 
    104113     
    105114  END SUBROUTINE xios(get_context_attr_hdl) 
    106115   
    107116  SUBROUTINE xios(get_context_attr_hdl_)   & 
    108     ( context_hdl, calendar_type_, output_dir_, start_date_, timestep_ ) 
     117    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ ) 
    109118     
    110119    IMPLICIT NONE 
     
    113122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir_ 
    114123      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: start_date_ 
     124      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: time_origin_ 
    115125      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep_ 
    116126       
     
    127137      ENDIF 
    128138       
     139      IF (PRESENT(time_origin_)) THEN 
     140        CALL cxios_get_context_time_origin(context_hdl%daddr, time_origin_, len(time_origin_)) 
     141      ENDIF 
     142       
    129143      IF (PRESENT(timestep_)) THEN 
    130144        CALL cxios_get_context_timestep(context_hdl%daddr, timestep_, len(timestep_)) 
  • XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90

    r326 r369  
    1212   
    1313  SUBROUTINE xios(set_file_attr)  & 
    14     ( file_id, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    15     , type ) 
     14    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     15    , sync_freq, type ) 
    1616     
    1717    IMPLICIT NONE 
     
    2525      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq 
    2626      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
     27      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
    2728      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq 
    2829      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq 
     
    3132      CALL xios(get_file_handle)(file_id,file_hdl) 
    3233      CALL xios(set_file_attr_hdl_)   & 
    33       ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    34       , type ) 
     34      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     35      , sync_freq, type ) 
    3536     
    3637  END SUBROUTINE xios(set_file_attr) 
    3738   
    3839  SUBROUTINE xios(set_file_attr_hdl)  & 
    39     ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    40     , type ) 
     40    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     41    , sync_freq, type ) 
    4142     
    4243    IMPLICIT NONE 
     
    4950      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq 
    5051      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
     52      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
    5153      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq 
    5254      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq 
     
    5456       
    5557      CALL xios(set_file_attr_hdl_)  & 
    56       ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    57       , type ) 
     58      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     59      , sync_freq, type ) 
    5860     
    5961  END SUBROUTINE xios(set_file_attr_hdl) 
    6062   
    6163  SUBROUTINE xios(set_file_attr_hdl_)   & 
    62     ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, split_freq_  & 
    63     , sync_freq_, type_ ) 
     64    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
     65    , split_freq_, sync_freq_, type_ ) 
    6466     
    6567    IMPLICIT NONE 
     
    7274      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq_ 
    7375      INTEGER  , OPTIONAL, INTENT(IN) :: output_level_ 
     76      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_ 
    7477      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_ 
    7578      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq_ 
     
    101104      ENDIF 
    102105       
     106      IF (PRESENT(par_access_)) THEN 
     107        CALL cxios_set_file_par_access(file_hdl%daddr, par_access_, len(par_access_)) 
     108      ENDIF 
     109       
    103110      IF (PRESENT(split_freq_)) THEN 
    104111        CALL cxios_set_file_split_freq(file_hdl%daddr, split_freq_, len(split_freq_)) 
     
    118125   
    119126  SUBROUTINE xios(get_file_attr)  & 
    120     ( file_id, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    121     , type ) 
     127    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     128    , sync_freq, type ) 
    122129     
    123130    IMPLICIT NONE 
     
    131138      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq 
    132139      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
     140      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
    133141      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq 
    134142      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq 
     
    137145      CALL xios(get_file_handle)(file_id,file_hdl) 
    138146      CALL xios(get_file_attr_hdl_)   & 
    139       ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    140       , type ) 
     147      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     148      , sync_freq, type ) 
    141149     
    142150  END SUBROUTINE xios(get_file_attr) 
    143151   
    144152  SUBROUTINE xios(get_file_attr_hdl)  & 
    145     ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    146     , type ) 
     153    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     154    , sync_freq, type ) 
    147155     
    148156    IMPLICIT NONE 
     
    155163      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq 
    156164      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
     165      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
    157166      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq 
    158167      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq 
     
    160169       
    161170      CALL xios(get_file_attr_hdl_)  & 
    162       ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  & 
    163       , type ) 
     171      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, par_access, split_freq  & 
     172      , sync_freq, type ) 
    164173     
    165174  END SUBROUTINE xios(get_file_attr_hdl) 
    166175   
    167176  SUBROUTINE xios(get_file_attr_hdl_)   & 
    168     ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, split_freq_  & 
    169     , sync_freq_, type_ ) 
     177    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
     178    , split_freq_, sync_freq_, type_ ) 
    170179     
    171180    IMPLICIT NONE 
     
    178187      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq_ 
    179188      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_ 
     189      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_ 
    180190      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_ 
    181191      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq_ 
     
    207217      ENDIF 
    208218       
     219      IF (PRESENT(par_access_)) THEN 
     220        CALL cxios_get_file_par_access(file_hdl%daddr, par_access_, len(par_access_)) 
     221      ENDIF 
     222       
    209223      IF (PRESENT(split_freq_)) THEN 
    210224        CALL cxios_get_file_split_freq(file_hdl%daddr, split_freq_, len(split_freq_)) 
  • XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90

    r326 r369  
    1313  SUBROUTINE xios(set_filegroup_attr)  & 
    1414    ( filegroup_id, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    15     , split_freq, sync_freq, type ) 
     15    , par_access, split_freq, sync_freq, type ) 
    1616     
    1717    IMPLICIT NONE 
     
    2626      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq 
    2727      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
     28      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
    2829      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq 
    2930      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq 
     
    3334      CALL xios(set_filegroup_attr_hdl_)   & 
    3435      ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    35       , split_freq, sync_freq, type ) 
     36      , par_access, split_freq, sync_freq, type ) 
    3637     
    3738  END SUBROUTINE xios(set_filegroup_attr) 
     
    3940  SUBROUTINE xios(set_filegroup_attr_hdl)  & 
    4041    ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    41     , split_freq, sync_freq, type ) 
     42    , par_access, split_freq, sync_freq, type ) 
    4243     
    4344    IMPLICIT NONE 
     
    5152      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq 
    5253      INTEGER  , OPTIONAL, INTENT(IN) :: output_level 
     54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access 
    5355      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq 
    5456      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq 
     
    5759      CALL xios(set_filegroup_attr_hdl_)  & 
    5860      ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    59       , split_freq, sync_freq, type ) 
     61      , par_access, split_freq, sync_freq, type ) 
    6062     
    6163  END SUBROUTINE xios(set_filegroup_attr_hdl) 
     
    6365  SUBROUTINE xios(set_filegroup_attr_hdl_)   & 
    6466    ( filegroup_hdl, description_, enabled_, group_ref_, name_, name_suffix_, output_freq_, output_level_  & 
    65     , split_freq_, sync_freq_, type_ ) 
     67    , par_access_, split_freq_, sync_freq_, type_ ) 
    6668     
    6769    IMPLICIT NONE 
     
    7577      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq_ 
    7678      INTEGER  , OPTIONAL, INTENT(IN) :: output_level_ 
     79      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: par_access_ 
    7780      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_ 
    7881      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq_ 
     
    108111      ENDIF 
    109112       
     113      IF (PRESENT(par_access_)) THEN 
     114        CALL cxios_set_filegroup_par_access(filegroup_hdl%daddr, par_access_, len(par_access_)) 
     115      ENDIF 
     116       
    110117      IF (PRESENT(split_freq_)) THEN 
    111118        CALL cxios_set_filegroup_split_freq(filegroup_hdl%daddr, split_freq_, len(split_freq_)) 
     
    126133  SUBROUTINE xios(get_filegroup_attr)  & 
    127134    ( filegroup_id, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    128     , split_freq, sync_freq, type ) 
     135    , par_access, split_freq, sync_freq, type ) 
    129136     
    130137    IMPLICIT NONE 
     
    139146      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq 
    140147      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
     148      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
    141149      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq 
    142150      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq 
     
    146154      CALL xios(get_filegroup_attr_hdl_)   & 
    147155      ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    148       , split_freq, sync_freq, type ) 
     156      , par_access, split_freq, sync_freq, type ) 
    149157     
    150158  END SUBROUTINE xios(get_filegroup_attr) 
     
    152160  SUBROUTINE xios(get_filegroup_attr_hdl)  & 
    153161    ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    154     , split_freq, sync_freq, type ) 
     162    , par_access, split_freq, sync_freq, type ) 
    155163     
    156164    IMPLICIT NONE 
     
    164172      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq 
    165173      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level 
     174      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access 
    166175      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq 
    167176      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq 
     
    170179      CALL xios(get_filegroup_attr_hdl_)  & 
    171180      ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  & 
    172       , split_freq, sync_freq, type ) 
     181      , par_access, split_freq, sync_freq, type ) 
    173182     
    174183  END SUBROUTINE xios(get_filegroup_attr_hdl) 
     
    176185  SUBROUTINE xios(get_filegroup_attr_hdl_)   & 
    177186    ( filegroup_hdl, description_, enabled_, group_ref_, name_, name_suffix_, output_freq_, output_level_  & 
    178     , split_freq_, sync_freq_, type_ ) 
     187    , par_access_, split_freq_, sync_freq_, type_ ) 
    179188     
    180189    IMPLICIT NONE 
     
    188197      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq_ 
    189198      INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_ 
     199      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: par_access_ 
    190200      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_ 
    191201      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq_ 
     
    221231      ENDIF 
    222232       
     233      IF (PRESENT(par_access_)) THEN 
     234        CALL cxios_get_filegroup_par_access(filegroup_hdl%daddr, par_access_, len(par_access_)) 
     235      ENDIF 
     236       
    223237      IF (PRESENT(split_freq_)) THEN 
    224238        CALL cxios_get_filegroup_split_freq(filegroup_hdl%daddr, split_freq_, len(split_freq_)) 
Note: See TracChangeset for help on using the changeset viewer.