Ignore:
Timestamp:
11/27/15 09:55:05 (9 years ago)
Author:
rlacroix
Message:

Append mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/branchs/xios-1.0/src/interface/fortran_attr/ifile_attr.F90

    r703 r798  
    1212   
    1313  SUBROUTINE xios(set_file_attr)  & 
    14     ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     14    ( file_id, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    1515    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    1616     
     
    1818      TYPE(txios(file))  :: file_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::file_id 
     20      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
     21      LOGICAL (KIND=C_BOOL) :: append_tmp 
    2022      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    2123      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
     
    3638      CALL xios(get_file_handle)(file_id,file_hdl) 
    3739      CALL xios(set_file_attr_hdl_)   & 
    38       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     40      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    3941      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    4042     
     
    4244   
    4345  SUBROUTINE xios(set_file_attr_hdl)  & 
    44     ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     46    ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    4547    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    4648     
    4749    IMPLICIT NONE 
    4850      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     51      LOGICAL  , OPTIONAL, INTENT(IN) :: append 
     52      LOGICAL (KIND=C_BOOL) :: append_tmp 
    4953      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
    5054      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
     
    6468       
    6569      CALL xios(set_file_attr_hdl_)  & 
    66       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     70      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    6771      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    6872     
     
    7074   
    7175  SUBROUTINE xios(set_file_attr_hdl_)   & 
    72     ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  & 
    73     , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_, type_  & 
    74     ) 
     76    ( file_hdl, append_, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_  & 
     77    , output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_  & 
     78    , type_ ) 
    7579     
    7680    IMPLICIT NONE 
    7781      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     82      LOGICAL  , OPTIONAL, INTENT(IN) :: append_ 
     83      LOGICAL (KIND=C_BOOL) :: append__tmp 
    7884      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
    7985      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 
     
    9298      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
    9399       
     100      IF (PRESENT(append_)) THEN 
     101        append__tmp=append_ 
     102        CALL cxios_set_file_append(file_hdl%daddr, append__tmp) 
     103      ENDIF 
     104       
    94105      IF (PRESENT(compression_level_)) THEN 
    95106        CALL cxios_set_file_compression_level(file_hdl%daddr, compression_level_) 
     
    154165   
    155166  SUBROUTINE xios(get_file_attr)  & 
    156     ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     167    ( file_id, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    157168    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    158169     
     
    160171      TYPE(txios(file))  :: file_hdl 
    161172      CHARACTER(LEN=*), INTENT(IN) ::file_id 
     173      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
     174      LOGICAL (KIND=C_BOOL) :: append_tmp 
    162175      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    163176      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
     
    178191      CALL xios(get_file_handle)(file_id,file_hdl) 
    179192      CALL xios(get_file_attr_hdl_)   & 
    180       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     193      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    181194      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    182195     
     
    184197   
    185198  SUBROUTINE xios(get_file_attr_hdl)  & 
    186     ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     199    ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    187200    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    188201     
    189202    IMPLICIT NONE 
    190203      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     204      LOGICAL  , OPTIONAL, INTENT(OUT) :: append 
     205      LOGICAL (KIND=C_BOOL) :: append_tmp 
    191206      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
    192207      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
     
    206221       
    207222      CALL xios(get_file_attr_hdl_)  & 
    208       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     223      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    209224      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    210225     
     
    212227   
    213228  SUBROUTINE xios(get_file_attr_hdl_)   & 
    214     ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  & 
    215     , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_, type_  & 
    216     ) 
     229    ( file_hdl, append_, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_  & 
     230    , output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_  & 
     231    , type_ ) 
    217232     
    218233    IMPLICIT NONE 
    219234      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     235      LOGICAL  , OPTIONAL, INTENT(OUT) :: append_ 
     236      LOGICAL (KIND=C_BOOL) :: append__tmp 
    220237      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
    221238      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 
     
    234251      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
    235252       
     253      IF (PRESENT(append_)) THEN 
     254        CALL cxios_get_file_append(file_hdl%daddr, append__tmp) 
     255        append_=append__tmp 
     256      ENDIF 
     257       
    236258      IF (PRESENT(compression_level_)) THEN 
    237259        CALL cxios_get_file_compression_level(file_hdl%daddr, compression_level_) 
     
    296318   
    297319  SUBROUTINE xios(is_defined_file_attr)  & 
    298     ( file_id, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     320    ( file_id, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    299321    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    300322     
     
    302324      TYPE(txios(file))  :: file_hdl 
    303325      CHARACTER(LEN=*), INTENT(IN) ::file_id 
     326      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
     327      LOGICAL(KIND=C_BOOL) :: append_tmp 
    304328      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    305329      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    333357      CALL xios(get_file_handle)(file_id,file_hdl) 
    334358      CALL xios(is_defined_file_attr_hdl_)   & 
    335       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     359      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    336360      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    337361     
     
    339363   
    340364  SUBROUTINE xios(is_defined_file_attr_hdl)  & 
    341     ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     365    ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    342366    , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    343367     
    344368    IMPLICIT NONE 
    345369      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     370      LOGICAL, OPTIONAL, INTENT(OUT) :: append 
     371      LOGICAL(KIND=C_BOOL) :: append_tmp 
    346372      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    347373      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     
    374400       
    375401      CALL xios(is_defined_file_attr_hdl_)  & 
    376       ( file_hdl, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
     402      ( file_hdl, append, compression_level, description, enabled, min_digits, name, name_suffix, output_freq  & 
    377403      , output_level, par_access, split_freq, split_freq_format, sync_freq, time_counter, type ) 
    378404     
     
    380406   
    381407  SUBROUTINE xios(is_defined_file_attr_hdl_)   & 
    382     ( file_hdl, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_, output_freq_  & 
    383     , output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_, type_  & 
    384     ) 
     408    ( file_hdl, append_, compression_level_, description_, enabled_, min_digits_, name_, name_suffix_  & 
     409    , output_freq_, output_level_, par_access_, split_freq_, split_freq_format_, sync_freq_, time_counter_  & 
     410    , type_ ) 
    385411     
    386412    IMPLICIT NONE 
    387413      TYPE(txios(file)) , INTENT(IN) :: file_hdl 
     414      LOGICAL, OPTIONAL, INTENT(OUT) :: append_ 
     415      LOGICAL(KIND=C_BOOL) :: append__tmp 
    388416      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    389417      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     
    415443      LOGICAL(KIND=C_BOOL) :: type__tmp 
    416444       
     445      IF (PRESENT(append_)) THEN 
     446        append__tmp=cxios_is_defined_file_append(file_hdl%daddr) 
     447        append_=append__tmp 
     448      ENDIF 
     449       
    417450      IF (PRESENT(compression_level_)) THEN 
    418451        compression_level__tmp=cxios_is_defined_file_compression_level(file_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.