Ignore:
Timestamp:
09/21/16 14:35:03 (8 years ago)
Author:
mhnguyen
Message:

Adding Fortran interface for high-dimension grid (up to 7)

+) Add check mask for high-dimension grid
+) Add Fortran interface for send_field, recv_field

Test
+) On Curie
+) Work

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

Legend:

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

    r891 r932  
    4848 
    4949 
     50    SUBROUTINE cxios_set_file_convention(file_hdl, convention, convention_size) BIND(C) 
     51      USE ISO_C_BINDING 
     52      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     53      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention 
     54      INTEGER  (kind = C_INT)     , VALUE        :: convention_size 
     55    END SUBROUTINE cxios_set_file_convention 
     56 
     57    SUBROUTINE cxios_get_file_convention(file_hdl, convention, convention_size) BIND(C) 
     58      USE ISO_C_BINDING 
     59      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     60      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention 
     61      INTEGER  (kind = C_INT)     , VALUE        :: convention_size 
     62    END SUBROUTINE cxios_get_file_convention 
     63 
     64    FUNCTION cxios_is_defined_file_convention(file_hdl) BIND(C) 
     65      USE ISO_C_BINDING 
     66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_file_convention 
     67      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl 
     68    END FUNCTION cxios_is_defined_file_convention 
     69 
     70 
    5071    SUBROUTINE cxios_set_file_cyclic(file_hdl, cyclic) BIND(C) 
    5172      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90

    r891 r932  
    4848 
    4949 
     50    SUBROUTINE cxios_set_filegroup_convention(filegroup_hdl, convention, convention_size) BIND(C) 
     51      USE ISO_C_BINDING 
     52      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     53      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention 
     54      INTEGER  (kind = C_INT)     , VALUE        :: convention_size 
     55    END SUBROUTINE cxios_set_filegroup_convention 
     56 
     57    SUBROUTINE cxios_get_filegroup_convention(filegroup_hdl, convention, convention_size) BIND(C) 
     58      USE ISO_C_BINDING 
     59      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     60      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: convention 
     61      INTEGER  (kind = C_INT)     , VALUE        :: convention_size 
     62    END SUBROUTINE cxios_get_filegroup_convention 
     63 
     64    FUNCTION cxios_is_defined_filegroup_convention(filegroup_hdl) BIND(C) 
     65      USE ISO_C_BINDING 
     66      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_convention 
     67      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     68    END FUNCTION cxios_is_defined_filegroup_convention 
     69 
     70 
    5071    SUBROUTINE cxios_set_filegroup_cyclic(filegroup_hdl, cyclic) BIND(C) 
    5172      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90

    r817 r932  
    9494 
    9595 
     96    SUBROUTINE cxios_set_grid_mask_4d(grid_hdl, mask_4d, extent) BIND(C) 
     97      USE ISO_C_BINDING 
     98      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     99      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     100      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     101    END SUBROUTINE cxios_set_grid_mask_4d 
     102 
     103    SUBROUTINE cxios_get_grid_mask_4d(grid_hdl, mask_4d, extent) BIND(C) 
     104      USE ISO_C_BINDING 
     105      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     106      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     107      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     108    END SUBROUTINE cxios_get_grid_mask_4d 
     109 
     110    FUNCTION cxios_is_defined_grid_mask_4d(grid_hdl) BIND(C) 
     111      USE ISO_C_BINDING 
     112      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_4d 
     113      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     114    END FUNCTION cxios_is_defined_grid_mask_4d 
     115 
     116 
     117    SUBROUTINE cxios_set_grid_mask_5d(grid_hdl, mask_5d, extent) BIND(C) 
     118      USE ISO_C_BINDING 
     119      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     120      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     121      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     122    END SUBROUTINE cxios_set_grid_mask_5d 
     123 
     124    SUBROUTINE cxios_get_grid_mask_5d(grid_hdl, mask_5d, extent) BIND(C) 
     125      USE ISO_C_BINDING 
     126      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     127      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     128      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     129    END SUBROUTINE cxios_get_grid_mask_5d 
     130 
     131    FUNCTION cxios_is_defined_grid_mask_5d(grid_hdl) BIND(C) 
     132      USE ISO_C_BINDING 
     133      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_5d 
     134      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     135    END FUNCTION cxios_is_defined_grid_mask_5d 
     136 
     137 
     138    SUBROUTINE cxios_set_grid_mask_6d(grid_hdl, mask_6d, extent) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     141      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     142      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     143    END SUBROUTINE cxios_set_grid_mask_6d 
     144 
     145    SUBROUTINE cxios_get_grid_mask_6d(grid_hdl, mask_6d, extent) BIND(C) 
     146      USE ISO_C_BINDING 
     147      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     148      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     149      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     150    END SUBROUTINE cxios_get_grid_mask_6d 
     151 
     152    FUNCTION cxios_is_defined_grid_mask_6d(grid_hdl) BIND(C) 
     153      USE ISO_C_BINDING 
     154      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_6d 
     155      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     156    END FUNCTION cxios_is_defined_grid_mask_6d 
     157 
     158 
     159    SUBROUTINE cxios_set_grid_mask_7d(grid_hdl, mask_7d, extent) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     162      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     163      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     164    END SUBROUTINE cxios_set_grid_mask_7d 
     165 
     166    SUBROUTINE cxios_get_grid_mask_7d(grid_hdl, mask_7d, extent) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     169      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     170      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     171    END SUBROUTINE cxios_get_grid_mask_7d 
     172 
     173    FUNCTION cxios_is_defined_grid_mask_7d(grid_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_mask_7d 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
     177    END FUNCTION cxios_is_defined_grid_mask_7d 
     178 
     179 
    96180    SUBROUTINE cxios_set_grid_name(grid_hdl, name, name_size) BIND(C) 
    97181      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90

    r817 r932  
    115115 
    116116 
     117    SUBROUTINE cxios_set_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 
     118      USE ISO_C_BINDING 
     119      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     120      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     121      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     122    END SUBROUTINE cxios_set_gridgroup_mask_4d 
     123 
     124    SUBROUTINE cxios_get_gridgroup_mask_4d(gridgroup_hdl, mask_4d, extent) BIND(C) 
     125      USE ISO_C_BINDING 
     126      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     127      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_4d 
     128      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     129    END SUBROUTINE cxios_get_gridgroup_mask_4d 
     130 
     131    FUNCTION cxios_is_defined_gridgroup_mask_4d(gridgroup_hdl) BIND(C) 
     132      USE ISO_C_BINDING 
     133      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_4d 
     134      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     135    END FUNCTION cxios_is_defined_gridgroup_mask_4d 
     136 
     137 
     138    SUBROUTINE cxios_set_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 
     139      USE ISO_C_BINDING 
     140      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     141      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     142      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     143    END SUBROUTINE cxios_set_gridgroup_mask_5d 
     144 
     145    SUBROUTINE cxios_get_gridgroup_mask_5d(gridgroup_hdl, mask_5d, extent) BIND(C) 
     146      USE ISO_C_BINDING 
     147      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     148      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_5d 
     149      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     150    END SUBROUTINE cxios_get_gridgroup_mask_5d 
     151 
     152    FUNCTION cxios_is_defined_gridgroup_mask_5d(gridgroup_hdl) BIND(C) 
     153      USE ISO_C_BINDING 
     154      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_5d 
     155      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     156    END FUNCTION cxios_is_defined_gridgroup_mask_5d 
     157 
     158 
     159    SUBROUTINE cxios_set_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 
     160      USE ISO_C_BINDING 
     161      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     162      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     163      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     164    END SUBROUTINE cxios_set_gridgroup_mask_6d 
     165 
     166    SUBROUTINE cxios_get_gridgroup_mask_6d(gridgroup_hdl, mask_6d, extent) BIND(C) 
     167      USE ISO_C_BINDING 
     168      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     169      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_6d 
     170      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     171    END SUBROUTINE cxios_get_gridgroup_mask_6d 
     172 
     173    FUNCTION cxios_is_defined_gridgroup_mask_6d(gridgroup_hdl) BIND(C) 
     174      USE ISO_C_BINDING 
     175      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_6d 
     176      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     177    END FUNCTION cxios_is_defined_gridgroup_mask_6d 
     178 
     179 
     180    SUBROUTINE cxios_set_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 
     181      USE ISO_C_BINDING 
     182      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     183      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     184      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     185    END SUBROUTINE cxios_set_gridgroup_mask_7d 
     186 
     187    SUBROUTINE cxios_get_gridgroup_mask_7d(gridgroup_hdl, mask_7d, extent) BIND(C) 
     188      USE ISO_C_BINDING 
     189      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     190      LOGICAL (KIND=C_BOOL)     , DIMENSION(*) :: mask_7d 
     191      INTEGER (kind = C_INT), DIMENSION(*)     :: extent 
     192    END SUBROUTINE cxios_get_gridgroup_mask_7d 
     193 
     194    FUNCTION cxios_is_defined_gridgroup_mask_7d(gridgroup_hdl) BIND(C) 
     195      USE ISO_C_BINDING 
     196      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_mask_7d 
     197      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
     198    END FUNCTION cxios_is_defined_gridgroup_mask_7d 
     199 
     200 
    117201    SUBROUTINE cxios_set_gridgroup_name(gridgroup_hdl, name, name_size) BIND(C) 
    118202      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/ifile_attr.F90

    r891 r932  
    1212 
    1313  SUBROUTINE xios(set_file_attr)  & 
    14     ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    15     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    16     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     14    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     15    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     16    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     17     ) 
    1718 
    1819    IMPLICIT NONE 
     
    2223      LOGICAL (KIND=C_BOOL) :: append_tmp 
    2324      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
     25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
    2426      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic 
    2527      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    4749      CALL xios(get_file_handle)(file_id,file_hdl) 
    4850      CALL xios(set_file_attr_hdl_)   & 
    49       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    50       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    51       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     51      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     52      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     53      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     54       ) 
    5255 
    5356  END SUBROUTINE xios(set_file_attr) 
    5457 
    5558  SUBROUTINE xios(set_file_attr_hdl)  & 
    56     ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    57     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    58     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     59    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     60    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     61    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     62     ) 
    5963 
    6064    IMPLICIT NONE 
     
    6367      LOGICAL (KIND=C_BOOL) :: append_tmp 
    6468      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
     69      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
    6570      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic 
    6671      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    8792 
    8893      CALL xios(set_file_attr_hdl_)  & 
    89       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    90       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    91       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     94      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     95      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     96      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     97       ) 
    9298 
    9399  END SUBROUTINE xios(set_file_attr_hdl) 
    94100 
    95101  SUBROUTINE xios(set_file_attr_hdl_)   & 
    96     ( file_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, min_digits_  & 
    97     , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  & 
    98     , split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_  & 
    99     , type_ ) 
     102    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     103    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
     104    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
     105    , ts_prefix_, type_ ) 
    100106 
    101107    IMPLICIT NONE 
     
    104110      LOGICAL (KIND=C_BOOL) :: append__tmp 
    105111      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
     112      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 
    106113      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic_ 
    107114      LOGICAL (KIND=C_BOOL) :: cyclic__tmp 
     
    136143      ENDIF 
    137144 
     145      IF (PRESENT(convention_)) THEN 
     146        CALL cxios_set_file_convention(file_hdl%daddr, convention_, len(convention_)) 
     147      ENDIF 
     148 
    138149      IF (PRESENT(cyclic_)) THEN 
    139150        cyclic__tmp = cyclic_ 
     
    221232 
    222233  SUBROUTINE xios(get_file_attr)  & 
    223     ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    224     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    225     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     234    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     235    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     236    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     237     ) 
    226238 
    227239    IMPLICIT NONE 
     
    231243      LOGICAL (KIND=C_BOOL) :: append_tmp 
    232244      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
     245      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
    233246      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic 
    234247      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    256269      CALL xios(get_file_handle)(file_id,file_hdl) 
    257270      CALL xios(get_file_attr_hdl_)   & 
    258       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    259       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    260       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     271      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     272      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     273      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     274       ) 
    261275 
    262276  END SUBROUTINE xios(get_file_attr) 
    263277 
    264278  SUBROUTINE xios(get_file_attr_hdl)  & 
    265     ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    266     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    267     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     279    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     280    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     281    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     282     ) 
    268283 
    269284    IMPLICIT NONE 
     
    272287      LOGICAL (KIND=C_BOOL) :: append_tmp 
    273288      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
     289      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
    274290      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic 
    275291      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    296312 
    297313      CALL xios(get_file_attr_hdl_)  & 
    298       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    299       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    300       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     314      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     315      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     316      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     317       ) 
    301318 
    302319  END SUBROUTINE xios(get_file_attr_hdl) 
    303320 
    304321  SUBROUTINE xios(get_file_attr_hdl_)   & 
    305     ( file_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, min_digits_  & 
    306     , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  & 
    307     , split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_  & 
    308     , type_ ) 
     322    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     323    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
     324    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
     325    , ts_prefix_, type_ ) 
    309326 
    310327    IMPLICIT NONE 
     
    313330      LOGICAL (KIND=C_BOOL) :: append__tmp 
    314331      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
     332      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 
    315333      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic_ 
    316334      LOGICAL (KIND=C_BOOL) :: cyclic__tmp 
     
    345363      ENDIF 
    346364 
     365      IF (PRESENT(convention_)) THEN 
     366        CALL cxios_get_file_convention(file_hdl%daddr, convention_, len(convention_)) 
     367      ENDIF 
     368 
    347369      IF (PRESENT(cyclic_)) THEN 
    348370        CALL cxios_get_file_cyclic(file_hdl%daddr, cyclic__tmp) 
     
    430452 
    431453  SUBROUTINE xios(is_defined_file_attr)  & 
    432     ( file_id, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    433     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    434     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     454    ( file_id, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     455    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     456    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     457     ) 
    435458 
    436459    IMPLICIT NONE 
     
    441464      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    442465      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     466      LOGICAL, OPTIONAL, INTENT(OUT) :: convention 
     467      LOGICAL(KIND=C_BOOL) :: convention_tmp 
    443468      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 
    444469      LOGICAL(KIND=C_BOOL) :: cyclic_tmp 
     
    484509      CALL xios(get_file_handle)(file_id,file_hdl) 
    485510      CALL xios(is_defined_file_attr_hdl_)   & 
    486       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    487       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    488       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     511      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     512      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     513      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     514       ) 
    489515 
    490516  END SUBROUTINE xios(is_defined_file_attr) 
    491517 
    492518  SUBROUTINE xios(is_defined_file_attr_hdl)  & 
    493     ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    494     , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    495     , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     519    ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     520    , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     521    , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     522     ) 
    496523 
    497524    IMPLICIT NONE 
     
    501528      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    502529      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     530      LOGICAL, OPTIONAL, INTENT(OUT) :: convention 
     531      LOGICAL(KIND=C_BOOL) :: convention_tmp 
    503532      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 
    504533      LOGICAL(KIND=C_BOOL) :: cyclic_tmp 
     
    543572 
    544573      CALL xios(is_defined_file_attr_hdl_)  & 
    545       ( file_hdl, append, compression_level, cyclic, description, enabled, format, min_digits, mode  & 
    546       , name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq, split_freq_format  & 
    547       , sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type ) 
     574      ( file_hdl, append, compression_level, convention, cyclic, description, enabled, format, min_digits  & 
     575      , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
     576      , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
     577       ) 
    548578 
    549579  END SUBROUTINE xios(is_defined_file_attr_hdl) 
    550580 
    551581  SUBROUTINE xios(is_defined_file_attr_hdl_)   & 
    552     ( file_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, min_digits_  & 
    553     , mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_, split_freq_  & 
    554     , split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_, ts_prefix_  & 
    555     , type_ ) 
     582    ( file_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     583    , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
     584    , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
     585    , ts_prefix_, type_ ) 
    556586 
    557587    IMPLICIT NONE 
     
    561591      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    562592      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     593      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_ 
     594      LOGICAL(KIND=C_BOOL) :: convention__tmp 
    563595      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_ 
    564596      LOGICAL(KIND=C_BOOL) :: cyclic__tmp 
     
    612644      ENDIF 
    613645 
     646      IF (PRESENT(convention_)) THEN 
     647        convention__tmp = cxios_is_defined_file_convention(file_hdl%daddr) 
     648        convention_ = convention__tmp 
     649      ENDIF 
     650 
    614651      IF (PRESENT(cyclic_)) THEN 
    615652        cyclic__tmp = cxios_is_defined_file_cyclic(file_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/ifilegroup_attr.F90

    r891 r932  
    1212 
    1313  SUBROUTINE xios(set_filegroup_attr)  & 
    14     ( filegroup_id, append, compression_level, cyclic, description, enabled, format, group_ref, min_digits  & 
    15     , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
    16     , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
    17     ) 
     14    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  & 
     15    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     16    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
     17    , type ) 
    1818 
    1919    IMPLICIT NONE 
     
    2323      LOGICAL (KIND=C_BOOL) :: append_tmp 
    2424      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
     25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
    2526      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic 
    2627      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    4950      CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 
    5051      CALL xios(set_filegroup_attr_hdl_)   & 
    51       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    52       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     52      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     53      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    5354      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    5455      , type ) 
     
    5758 
    5859  SUBROUTINE xios(set_filegroup_attr_hdl)  & 
    59     ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    60     , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     60    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     61    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    6162    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    6263    , type ) 
     
    6768      LOGICAL (KIND=C_BOOL) :: append_tmp 
    6869      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level 
     70      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention 
    6971      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic 
    7072      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    9294 
    9395      CALL xios(set_filegroup_attr_hdl_)  & 
    94       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    95       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     96      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     97      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    9698      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    9799      , type ) 
     
    100102 
    101103  SUBROUTINE xios(set_filegroup_attr_hdl_)   & 
    102     ( filegroup_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, group_ref_  & 
    103     , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
    104     , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
    105     , ts_prefix_, type_ ) 
     104    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     105    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
     106    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     107    , timeseries_, ts_prefix_, type_ ) 
    106108 
    107109    IMPLICIT NONE 
     
    110112      LOGICAL (KIND=C_BOOL) :: append__tmp 
    111113      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_ 
     114      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: convention_ 
    112115      LOGICAL  , OPTIONAL, INTENT(IN) :: cyclic_ 
    113116      LOGICAL (KIND=C_BOOL) :: cyclic__tmp 
     
    143146      ENDIF 
    144147 
     148      IF (PRESENT(convention_)) THEN 
     149        CALL cxios_set_filegroup_convention(filegroup_hdl%daddr, convention_, len(convention_)) 
     150      ENDIF 
     151 
    145152      IF (PRESENT(cyclic_)) THEN 
    146153        cyclic__tmp = cyclic_ 
     
    232239 
    233240  SUBROUTINE xios(get_filegroup_attr)  & 
    234     ( filegroup_id, append, compression_level, cyclic, description, enabled, format, group_ref, min_digits  & 
    235     , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
    236     , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
    237     ) 
     241    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  & 
     242    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     243    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
     244    , type ) 
    238245 
    239246    IMPLICIT NONE 
     
    243250      LOGICAL (KIND=C_BOOL) :: append_tmp 
    244251      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
     252      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
    245253      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic 
    246254      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    269277      CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 
    270278      CALL xios(get_filegroup_attr_hdl_)   & 
    271       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    272       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     279      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     280      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    273281      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    274282      , type ) 
     
    277285 
    278286  SUBROUTINE xios(get_filegroup_attr_hdl)  & 
    279     ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    280     , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     287    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     288    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    281289    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    282290    , type ) 
     
    287295      LOGICAL (KIND=C_BOOL) :: append_tmp 
    288296      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level 
     297      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention 
    289298      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic 
    290299      LOGICAL (KIND=C_BOOL) :: cyclic_tmp 
     
    312321 
    313322      CALL xios(get_filegroup_attr_hdl_)  & 
    314       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    315       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     323      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     324      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    316325      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    317326      , type ) 
     
    320329 
    321330  SUBROUTINE xios(get_filegroup_attr_hdl_)   & 
    322     ( filegroup_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, group_ref_  & 
    323     , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
    324     , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
    325     , ts_prefix_, type_ ) 
     331    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     332    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
     333    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     334    , timeseries_, ts_prefix_, type_ ) 
    326335 
    327336    IMPLICIT NONE 
     
    330339      LOGICAL (KIND=C_BOOL) :: append__tmp 
    331340      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_ 
     341      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: convention_ 
    332342      LOGICAL  , OPTIONAL, INTENT(OUT) :: cyclic_ 
    333343      LOGICAL (KIND=C_BOOL) :: cyclic__tmp 
     
    363373      ENDIF 
    364374 
     375      IF (PRESENT(convention_)) THEN 
     376        CALL cxios_get_filegroup_convention(filegroup_hdl%daddr, convention_, len(convention_)) 
     377      ENDIF 
     378 
    365379      IF (PRESENT(cyclic_)) THEN 
    366380        CALL cxios_get_filegroup_cyclic(filegroup_hdl%daddr, cyclic__tmp) 
     
    452466 
    453467  SUBROUTINE xios(is_defined_filegroup_attr)  & 
    454     ( filegroup_id, append, compression_level, cyclic, description, enabled, format, group_ref, min_digits  & 
    455     , mode, name, name_suffix, output_freq, output_level, par_access, record_offset, split_freq  & 
    456     , split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix, type  & 
    457     ) 
     468    ( filegroup_id, append, compression_level, convention, cyclic, description, enabled, format  & 
     469    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     470    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
     471    , type ) 
    458472 
    459473    IMPLICIT NONE 
     
    464478      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    465479      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     480      LOGICAL, OPTIONAL, INTENT(OUT) :: convention 
     481      LOGICAL(KIND=C_BOOL) :: convention_tmp 
    466482      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 
    467483      LOGICAL(KIND=C_BOOL) :: cyclic_tmp 
     
    509525      CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 
    510526      CALL xios(is_defined_filegroup_attr_hdl_)   & 
    511       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    512       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     527      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     528      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    513529      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    514530      , type ) 
     
    517533 
    518534  SUBROUTINE xios(is_defined_filegroup_attr_hdl)  & 
    519     ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    520     , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     535    ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     536    , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    521537    , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    522538    , type ) 
     
    528544      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level 
    529545      LOGICAL(KIND=C_BOOL) :: compression_level_tmp 
     546      LOGICAL, OPTIONAL, INTENT(OUT) :: convention 
     547      LOGICAL(KIND=C_BOOL) :: convention_tmp 
    530548      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic 
    531549      LOGICAL(KIND=C_BOOL) :: cyclic_tmp 
     
    572590 
    573591      CALL xios(is_defined_filegroup_attr_hdl_)  & 
    574       ( filegroup_hdl, append, compression_level, cyclic, description, enabled, format, group_ref  & 
    575       , min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
     592      ( filegroup_hdl, append, compression_level, convention, cyclic, description, enabled, format  & 
     593      , group_ref, min_digits, mode, name, name_suffix, output_freq, output_level, par_access, record_offset  & 
    576594      , split_freq, split_freq_format, sync_freq, time_counter, time_counter_name, timeseries, ts_prefix  & 
    577595      , type ) 
     
    580598 
    581599  SUBROUTINE xios(is_defined_filegroup_attr_hdl_)   & 
    582     ( filegroup_hdl, append_, compression_level_, cyclic_, description_, enabled_, format_, group_ref_  & 
    583     , min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_, record_offset_  & 
    584     , split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_, timeseries_  & 
    585     , ts_prefix_, type_ ) 
     600    ( filegroup_hdl, append_, compression_level_, convention_, cyclic_, description_, enabled_, format_  & 
     601    , group_ref_, min_digits_, mode_, name_, name_suffix_, output_freq_, output_level_, par_access_  & 
     602    , record_offset_, split_freq_, split_freq_format_, sync_freq_, time_counter_, time_counter_name_  & 
     603    , timeseries_, ts_prefix_, type_ ) 
    586604 
    587605    IMPLICIT NONE 
     
    591609      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_ 
    592610      LOGICAL(KIND=C_BOOL) :: compression_level__tmp 
     611      LOGICAL, OPTIONAL, INTENT(OUT) :: convention_ 
     612      LOGICAL(KIND=C_BOOL) :: convention__tmp 
    593613      LOGICAL, OPTIONAL, INTENT(OUT) :: cyclic_ 
    594614      LOGICAL(KIND=C_BOOL) :: cyclic__tmp 
     
    644664      ENDIF 
    645665 
     666      IF (PRESENT(convention_)) THEN 
     667        convention__tmp = cxios_is_defined_filegroup_convention(filegroup_hdl%daddr) 
     668        convention_ = convention__tmp 
     669      ENDIF 
     670 
    646671      IF (PRESENT(cyclic_)) THEN 
    647672        cyclic__tmp = cxios_is_defined_filegroup_cyclic(filegroup_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90

    r817 r932  
    1212 
    1313  SUBROUTINE xios(set_grid_attr)  & 
    14     ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 
     14    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     15     ) 
    1516 
    1617    IMPLICIT NONE 
     
    2425      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 
    2526      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     27      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 
     28      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     29      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 
     30      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     31      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 
     32      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     33      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 
     34      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    2635      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    2736 
    2837      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    2938      CALL xios(set_grid_attr_hdl_)   & 
    30       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     39      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     40       ) 
    3141 
    3242  END SUBROUTINE xios(set_grid_attr) 
    3343 
    3444  SUBROUTINE xios(set_grid_attr_hdl)  & 
    35     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     45    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     46     ) 
    3647 
    3748    IMPLICIT NONE 
     
    4455      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 
    4556      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     57      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 
     58      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 
     60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     61      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 
     62      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     63      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 
     64      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    4665      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    4766 
    4867      CALL xios(set_grid_attr_hdl_)  & 
    49       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     68      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     69       ) 
    5070 
    5171  END SUBROUTINE xios(set_grid_attr_hdl) 
    5272 
    5373  SUBROUTINE xios(set_grid_attr_hdl_)   & 
    54     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     74    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
     75    , name_ ) 
    5576 
    5677    IMPLICIT NONE 
     
    6384      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 
    6485      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 
     86      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:) 
     87      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 
     88      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:) 
     89      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 
     90      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:) 
     91      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 
     92      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:) 
     93      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 
    6594      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    6695 
     
    87116      ENDIF 
    88117 
     118      IF (PRESENT(mask_4d_)) THEN 
     119        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 
     120        mask_4d__tmp = mask_4d_ 
     121        CALL cxios_set_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     122      ENDIF 
     123 
     124      IF (PRESENT(mask_5d_)) THEN 
     125        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
     126        mask_5d__tmp = mask_5d_ 
     127        CALL cxios_set_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     128      ENDIF 
     129 
     130      IF (PRESENT(mask_6d_)) THEN 
     131        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
     132        mask_6d__tmp = mask_6d_ 
     133        CALL cxios_set_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     134      ENDIF 
     135 
     136      IF (PRESENT(mask_7d_)) THEN 
     137        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 
     138        mask_7d__tmp = mask_7d_ 
     139        CALL cxios_set_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     140      ENDIF 
     141 
    89142      IF (PRESENT(name_)) THEN 
    90143        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_)) 
     
    94147 
    95148  SUBROUTINE xios(get_grid_attr)  & 
    96     ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 
     149    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     150     ) 
    97151 
    98152    IMPLICIT NONE 
     
    106160      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 
    107161      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     162      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 
     163      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     164      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 
     165      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     166      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 
     167      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     168      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 
     169      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    108170      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    109171 
    110172      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    111173      CALL xios(get_grid_attr_hdl_)   & 
    112       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     174      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     175       ) 
    113176 
    114177  END SUBROUTINE xios(get_grid_attr) 
    115178 
    116179  SUBROUTINE xios(get_grid_attr_hdl)  & 
    117     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     180    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     181     ) 
    118182 
    119183    IMPLICIT NONE 
     
    126190      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 
    127191      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     192      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 
     193      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     194      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 
     195      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     196      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 
     197      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     198      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 
     199      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    128200      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    129201 
    130202      CALL xios(get_grid_attr_hdl_)  & 
    131       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     203      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     204       ) 
    132205 
    133206  END SUBROUTINE xios(get_grid_attr_hdl) 
    134207 
    135208  SUBROUTINE xios(get_grid_attr_hdl_)   & 
    136     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     209    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
     210    , name_ ) 
    137211 
    138212    IMPLICIT NONE 
     
    145219      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 
    146220      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 
     221      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:) 
     222      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 
     223      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:) 
     224      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 
     225      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:) 
     226      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 
     227      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:) 
     228      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 
    147229      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    148230 
     
    169251      ENDIF 
    170252 
     253      IF (PRESENT(mask_4d_)) THEN 
     254        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 
     255        CALL cxios_get_grid_mask_4d(grid_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     256        mask_4d_ = mask_4d__tmp 
     257      ENDIF 
     258 
     259      IF (PRESENT(mask_5d_)) THEN 
     260        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
     261        CALL cxios_get_grid_mask_5d(grid_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     262        mask_5d_ = mask_5d__tmp 
     263      ENDIF 
     264 
     265      IF (PRESENT(mask_6d_)) THEN 
     266        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
     267        CALL cxios_get_grid_mask_6d(grid_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     268        mask_6d_ = mask_6d__tmp 
     269      ENDIF 
     270 
     271      IF (PRESENT(mask_7d_)) THEN 
     272        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 
     273        CALL cxios_get_grid_mask_7d(grid_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     274        mask_7d_ = mask_7d__tmp 
     275      ENDIF 
     276 
    171277      IF (PRESENT(name_)) THEN 
    172278        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_)) 
     
    176282 
    177283  SUBROUTINE xios(is_defined_grid_attr)  & 
    178     ( grid_id, description, mask_1d, mask_2d, mask_3d, name ) 
     284    ( grid_id, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     285     ) 
    179286 
    180287    IMPLICIT NONE 
     
    189296      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 
    190297      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 
     298      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 
     299      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 
     300      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 
     301      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 
     302      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 
     303      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 
     304      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 
     305      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 
    191306      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    192307      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    194309      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    195310      CALL xios(is_defined_grid_attr_hdl_)   & 
    196       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     311      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     312       ) 
    197313 
    198314  END SUBROUTINE xios(is_defined_grid_attr) 
    199315 
    200316  SUBROUTINE xios(is_defined_grid_attr_hdl)  & 
    201     ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     317    ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     318     ) 
    202319 
    203320    IMPLICIT NONE 
     
    211328      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 
    212329      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 
     330      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 
     331      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 
     332      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 
     333      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 
     334      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 
     335      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 
     336      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 
     337      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 
    213338      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    214339      LOGICAL(KIND=C_BOOL) :: name_tmp 
    215340 
    216341      CALL xios(is_defined_grid_attr_hdl_)  & 
    217       ( grid_hdl, description, mask_1d, mask_2d, mask_3d, name ) 
     342      ( grid_hdl, description, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d, mask_7d, name  & 
     343       ) 
    218344 
    219345  END SUBROUTINE xios(is_defined_grid_attr_hdl) 
    220346 
    221347  SUBROUTINE xios(is_defined_grid_attr_hdl_)   & 
    222     ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     348    ( grid_hdl, description_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_, mask_6d_, mask_7d_  & 
     349    , name_ ) 
    223350 
    224351    IMPLICIT NONE 
     
    232359      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 
    233360      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 
     361      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_ 
     362      LOGICAL(KIND=C_BOOL) :: mask_4d__tmp 
     363      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_ 
     364      LOGICAL(KIND=C_BOOL) :: mask_5d__tmp 
     365      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_ 
     366      LOGICAL(KIND=C_BOOL) :: mask_6d__tmp 
     367      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_ 
     368      LOGICAL(KIND=C_BOOL) :: mask_7d__tmp 
    234369      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    235370      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    255390      ENDIF 
    256391 
     392      IF (PRESENT(mask_4d_)) THEN 
     393        mask_4d__tmp = cxios_is_defined_grid_mask_4d(grid_hdl%daddr) 
     394        mask_4d_ = mask_4d__tmp 
     395      ENDIF 
     396 
     397      IF (PRESENT(mask_5d_)) THEN 
     398        mask_5d__tmp = cxios_is_defined_grid_mask_5d(grid_hdl%daddr) 
     399        mask_5d_ = mask_5d__tmp 
     400      ENDIF 
     401 
     402      IF (PRESENT(mask_6d_)) THEN 
     403        mask_6d__tmp = cxios_is_defined_grid_mask_6d(grid_hdl%daddr) 
     404        mask_6d_ = mask_6d__tmp 
     405      ENDIF 
     406 
     407      IF (PRESENT(mask_7d_)) THEN 
     408        mask_7d__tmp = cxios_is_defined_grid_mask_7d(grid_hdl%daddr) 
     409        mask_7d_ = mask_7d__tmp 
     410      ENDIF 
     411 
    257412      IF (PRESENT(name_)) THEN 
    258413        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90

    r817 r932  
    1212 
    1313  SUBROUTINE xios(set_gridgroup_attr)  & 
    14     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     14    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     15    , mask_7d, name ) 
    1516 
    1617    IMPLICIT NONE 
     
    2526      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 
    2627      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     28      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 
     29      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     30      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 
     31      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     32      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 
     33      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     34      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 
     35      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    2736      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    2837 
    2938      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    3039      CALL xios(set_gridgroup_attr_hdl_)   & 
    31       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     40      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     41      , mask_7d, name ) 
    3242 
    3343  END SUBROUTINE xios(set_gridgroup_attr) 
    3444 
    3545  SUBROUTINE xios(set_gridgroup_attr_hdl)  & 
    36     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     46    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     47    , mask_7d, name ) 
    3748 
    3849    IMPLICIT NONE 
     
    4657      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d(:,:,:) 
    4758      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d(:,:,:,:) 
     60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     61      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d(:,:,:,:,:) 
     62      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     63      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d(:,:,:,:,:,:) 
     64      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     65      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d(:,:,:,:,:,:,:) 
     66      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    4867      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
    4968 
    5069      CALL xios(set_gridgroup_attr_hdl_)  & 
    51       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     70      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     71      , mask_7d, name ) 
    5272 
    5373  END SUBROUTINE xios(set_gridgroup_attr_hdl) 
    5474 
    5575  SUBROUTINE xios(set_gridgroup_attr_hdl_)   & 
    56     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     76    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     77    , mask_6d_, mask_7d_, name_ ) 
    5778 
    5879    IMPLICIT NONE 
     
    6687      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_3d_(:,:,:) 
    6788      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 
     89      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_4d_(:,:,:,:) 
     90      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 
     91      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_5d_(:,:,:,:,:) 
     92      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 
     93      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_6d_(:,:,:,:,:,:) 
     94      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 
     95      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_7d_(:,:,:,:,:,:,:) 
     96      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 
    6897      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    6998 
     
    94123      ENDIF 
    95124 
     125      IF (PRESENT(mask_4d_)) THEN 
     126        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 
     127        mask_4d__tmp = mask_4d_ 
     128        CALL cxios_set_gridgroup_mask_4d(gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     129      ENDIF 
     130 
     131      IF (PRESENT(mask_5d_)) THEN 
     132        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
     133        mask_5d__tmp = mask_5d_ 
     134        CALL cxios_set_gridgroup_mask_5d(gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     135      ENDIF 
     136 
     137      IF (PRESENT(mask_6d_)) THEN 
     138        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
     139        mask_6d__tmp = mask_6d_ 
     140        CALL cxios_set_gridgroup_mask_6d(gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     141      ENDIF 
     142 
     143      IF (PRESENT(mask_7d_)) THEN 
     144        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 
     145        mask_7d__tmp = mask_7d_ 
     146        CALL cxios_set_gridgroup_mask_7d(gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     147      ENDIF 
     148 
    96149      IF (PRESENT(name_)) THEN 
    97150        CALL cxios_set_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) 
     
    101154 
    102155  SUBROUTINE xios(get_gridgroup_attr)  & 
    103     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     156    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     157    , mask_7d, name ) 
    104158 
    105159    IMPLICIT NONE 
     
    114168      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 
    115169      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     170      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 
     171      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     172      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 
     173      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     174      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 
     175      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     176      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 
     177      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    116178      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    117179 
    118180      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    119181      CALL xios(get_gridgroup_attr_hdl_)   & 
    120       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     182      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     183      , mask_7d, name ) 
    121184 
    122185  END SUBROUTINE xios(get_gridgroup_attr) 
    123186 
    124187  SUBROUTINE xios(get_gridgroup_attr_hdl)  & 
    125     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     188    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     189    , mask_7d, name ) 
    126190 
    127191    IMPLICIT NONE 
     
    135199      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d(:,:,:) 
    136200      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d_tmp(:,:,:) 
     201      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d(:,:,:,:) 
     202      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d_tmp(:,:,:,:) 
     203      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d(:,:,:,:,:) 
     204      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d_tmp(:,:,:,:,:) 
     205      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d(:,:,:,:,:,:) 
     206      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d_tmp(:,:,:,:,:,:) 
     207      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d(:,:,:,:,:,:,:) 
     208      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d_tmp(:,:,:,:,:,:,:) 
    137209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
    138210 
    139211      CALL xios(get_gridgroup_attr_hdl_)  & 
    140       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     212      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     213      , mask_7d, name ) 
    141214 
    142215  END SUBROUTINE xios(get_gridgroup_attr_hdl) 
    143216 
    144217  SUBROUTINE xios(get_gridgroup_attr_hdl_)   & 
    145     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     218    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     219    , mask_6d_, mask_7d_, name_ ) 
    146220 
    147221    IMPLICIT NONE 
     
    155229      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_3d_(:,:,:) 
    156230      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_3d__tmp(:,:,:) 
     231      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_4d_(:,:,:,:) 
     232      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_4d__tmp(:,:,:,:) 
     233      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_5d_(:,:,:,:,:) 
     234      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_5d__tmp(:,:,:,:,:) 
     235      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_6d_(:,:,:,:,:,:) 
     236      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_6d__tmp(:,:,:,:,:,:) 
     237      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_7d_(:,:,:,:,:,:,:) 
     238      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_7d__tmp(:,:,:,:,:,:,:) 
    157239      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    158240 
     
    183265      ENDIF 
    184266 
     267      IF (PRESENT(mask_4d_)) THEN 
     268        ALLOCATE(mask_4d__tmp(SIZE(mask_4d_,1), SIZE(mask_4d_,2), SIZE(mask_4d_,3), SIZE(mask_4d_,4))) 
     269        CALL cxios_get_gridgroup_mask_4d(gridgroup_hdl%daddr, mask_4d__tmp, SHAPE(mask_4d_)) 
     270        mask_4d_ = mask_4d__tmp 
     271      ENDIF 
     272 
     273      IF (PRESENT(mask_5d_)) THEN 
     274        ALLOCATE(mask_5d__tmp(SIZE(mask_5d_,1), SIZE(mask_5d_,2), SIZE(mask_5d_,3), SIZE(mask_5d_,4), SIZE(mask_5d_,5))) 
     275        CALL cxios_get_gridgroup_mask_5d(gridgroup_hdl%daddr, mask_5d__tmp, SHAPE(mask_5d_)) 
     276        mask_5d_ = mask_5d__tmp 
     277      ENDIF 
     278 
     279      IF (PRESENT(mask_6d_)) THEN 
     280        ALLOCATE(mask_6d__tmp(SIZE(mask_6d_,1), SIZE(mask_6d_,2), SIZE(mask_6d_,3), SIZE(mask_6d_,4), SIZE(mask_6d_,5), SIZE(mask_6d_,6))) 
     281        CALL cxios_get_gridgroup_mask_6d(gridgroup_hdl%daddr, mask_6d__tmp, SHAPE(mask_6d_)) 
     282        mask_6d_ = mask_6d__tmp 
     283      ENDIF 
     284 
     285      IF (PRESENT(mask_7d_)) THEN 
     286        ALLOCATE(mask_7d__tmp(SIZE(mask_7d_,1), SIZE(mask_7d_,2), SIZE(mask_7d_,3), SIZE(mask_7d_,4), SIZE(mask_7d_,5), SIZE(mask_7d_,6), SIZE(mask_7d_,7))) 
     287        CALL cxios_get_gridgroup_mask_7d(gridgroup_hdl%daddr, mask_7d__tmp, SHAPE(mask_7d_)) 
     288        mask_7d_ = mask_7d__tmp 
     289      ENDIF 
     290 
    185291      IF (PRESENT(name_)) THEN 
    186292        CALL cxios_get_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) 
     
    190296 
    191297  SUBROUTINE xios(is_defined_gridgroup_attr)  & 
    192     ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     298    ( gridgroup_id, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     299    , mask_7d, name ) 
    193300 
    194301    IMPLICIT NONE 
     
    205312      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 
    206313      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 
     314      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 
     315      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 
     316      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 
     317      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 
     318      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 
     319      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 
     320      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 
     321      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 
    207322      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    208323      LOGICAL(KIND=C_BOOL) :: name_tmp 
     
    210325      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    211326      CALL xios(is_defined_gridgroup_attr_hdl_)   & 
    212       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     327      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     328      , mask_7d, name ) 
    213329 
    214330  END SUBROUTINE xios(is_defined_gridgroup_attr) 
    215331 
    216332  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  & 
    217     ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     333    ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     334    , mask_7d, name ) 
    218335 
    219336    IMPLICIT NONE 
     
    229346      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d 
    230347      LOGICAL(KIND=C_BOOL) :: mask_3d_tmp 
     348      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d 
     349      LOGICAL(KIND=C_BOOL) :: mask_4d_tmp 
     350      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d 
     351      LOGICAL(KIND=C_BOOL) :: mask_5d_tmp 
     352      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d 
     353      LOGICAL(KIND=C_BOOL) :: mask_6d_tmp 
     354      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d 
     355      LOGICAL(KIND=C_BOOL) :: mask_7d_tmp 
    231356      LOGICAL, OPTIONAL, INTENT(OUT) :: name 
    232357      LOGICAL(KIND=C_BOOL) :: name_tmp 
    233358 
    234359      CALL xios(is_defined_gridgroup_attr_hdl_)  & 
    235       ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, name ) 
     360      ( gridgroup_hdl, description, group_ref, mask_1d, mask_2d, mask_3d, mask_4d, mask_5d, mask_6d  & 
     361      , mask_7d, name ) 
    236362 
    237363  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 
    238364 
    239365  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   & 
    240     ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, name_ ) 
     366    ( gridgroup_hdl, description_, group_ref_, mask_1d_, mask_2d_, mask_3d_, mask_4d_, mask_5d_  & 
     367    , mask_6d_, mask_7d_, name_ ) 
    241368 
    242369    IMPLICIT NONE 
     
    252379      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_3d_ 
    253380      LOGICAL(KIND=C_BOOL) :: mask_3d__tmp 
     381      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_4d_ 
     382      LOGICAL(KIND=C_BOOL) :: mask_4d__tmp 
     383      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_5d_ 
     384      LOGICAL(KIND=C_BOOL) :: mask_5d__tmp 
     385      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_6d_ 
     386      LOGICAL(KIND=C_BOOL) :: mask_6d__tmp 
     387      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_7d_ 
     388      LOGICAL(KIND=C_BOOL) :: mask_7d__tmp 
    254389      LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 
    255390      LOGICAL(KIND=C_BOOL) :: name__tmp 
     
    280415      ENDIF 
    281416 
     417      IF (PRESENT(mask_4d_)) THEN 
     418        mask_4d__tmp = cxios_is_defined_gridgroup_mask_4d(gridgroup_hdl%daddr) 
     419        mask_4d_ = mask_4d__tmp 
     420      ENDIF 
     421 
     422      IF (PRESENT(mask_5d_)) THEN 
     423        mask_5d__tmp = cxios_is_defined_gridgroup_mask_5d(gridgroup_hdl%daddr) 
     424        mask_5d_ = mask_5d__tmp 
     425      ENDIF 
     426 
     427      IF (PRESENT(mask_6d_)) THEN 
     428        mask_6d__tmp = cxios_is_defined_gridgroup_mask_6d(gridgroup_hdl%daddr) 
     429        mask_6d_ = mask_6d__tmp 
     430      ENDIF 
     431 
     432      IF (PRESENT(mask_7d_)) THEN 
     433        mask_7d__tmp = cxios_is_defined_gridgroup_mask_7d(gridgroup_hdl%daddr) 
     434        mask_7d_ = mask_7d__tmp 
     435      ENDIF 
     436 
    282437      IF (PRESENT(name_)) THEN 
    283438        name__tmp = cxios_is_defined_gridgroup_name(gridgroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.