Ignore:
Timestamp:
02/18/12 22:43:24 (12 years ago)
Author:
ymipsl
Message:

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/fortran/ifile.F90

    r312 r313  
    55   USE FILE_INTERFACE 
    66   USE FILEGROUP_INTERFACE 
     7!   USE IFILE_ATTR 
     8!   USE IFILEGROUP_ATTR 
    79    
    810   TYPE txios(file) 
     
    1517    
    1618   CONTAINS ! Fonctions disponibles pour les utilisateurs. 
    17  
    18  
    19    SUBROUTINE xios(set_file_attr)(file_id, name , description, name_suffix, output_freq, output_level, enabled, type) 
    20       IMPLICIT NONE 
    21       TYPE(txios(file))                       :: file_hdl 
    22       CHARACTER(len = *)          , INTENT(IN) :: file_id 
    23       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 
    24       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 
    25       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 
    26       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq 
    27       INTEGER           , OPTIONAL, INTENT(IN) :: output_level 
    28       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled 
    29       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 
    30              
    31       CALL xios(get_file_handle)(file_id,file_hdl) 
    32       CALL xios(set_file_attr_hdl_)(file_hdl, name , description, name_suffix, output_freq, output_level, enabled, type) 
    33        
    34    END SUBROUTINE xios(set_file_attr) 
    35     
    36  
    37    SUBROUTINE xios(set_file_attr_hdl)(file_hdl, name , description, name_suffix, output_freq, output_level, enabled,type) 
    38       TYPE(txios(file))          , INTENT(IN) :: file_hdl 
    39       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 
    40       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 
    41       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 
    42       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq 
    43       INTEGER           , OPTIONAL, INTENT(IN) :: output_level 
    44       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled 
    45       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 
    46  
    47       CALL xios(set_file_attr_hdl_)(file_hdl, name , description, name_suffix, output_freq, output_level, enabled, type) 
    48        
    49    END SUBROUTINE xios(set_file_attr_hdl) 
    50  
    51    SUBROUTINE xios(set_file_attr_hdl_)(file_hdl, name_ , description_, name_suffix_, output_freq_, output_level_, enabled_, type_) 
    52       TYPE(txios(file))          , INTENT(IN) :: file_hdl 
    53       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_ 
    54       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description_ 
    55       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix_ 
    56       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq_ 
    57       INTEGER           , OPTIONAL, INTENT(IN) :: output_level_ 
    58       LOGICAL(kind = 1)                        :: enabled__ 
    59       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled_ 
    60       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type_ 
    61              
    62       IF (PRESENT(name_))         THEN 
    63          CALL cxios_set_file_name(file_hdl%daddr, name_, len(name_)) 
    64       END IF 
    65       IF (PRESENT(description_))  THEN 
    66          CALL cxios_set_file_description(file_hdl%daddr, description_, len(description_)) 
    67       END IF 
    68       IF (PRESENT(name_suffix_))  THEN 
    69          CALL cxios_set_file_name_suffix(file_hdl%daddr, name_suffix_, len(name_suffix_)) 
    70       END IF 
    71       IF (PRESENT(output_freq_))  THEN 
    72          CALL cxios_set_file_output_freq(file_hdl%daddr, output_freq_, len(output_freq_)) 
    73       END IF 
    74       IF (PRESENT(output_level_)) THEN 
    75          CALL cxios_set_file_output_level(file_hdl%daddr, output_level_) 
    76       END IF 
    77       IF (PRESENT(enabled_))      THEN 
    78          enabled__ = enabled_         
    79          CALL cxios_set_file_enabled(file_hdl%daddr, enabled__) 
    80       END IF 
    81        
    82       IF (PRESENT(type_))         THEN 
    83          CALL cxios_set_file_type(file_hdl%daddr, type_, len(type_)) 
    84       END IF 
    85        
    86    END SUBROUTINE xios(set_file_attr_hdl_) 
    87  
    88  
    89     
    90    SUBROUTINE xios(set_filegroup_attr)(filegroup_id, name , description, name_suffix, output_freq, output_level, enabled, type) 
    91       IMPLICIT NONE 
    92       TYPE(txios(filegroup))                  :: filegroup_hdl 
    93       CHARACTER(len = *)          , INTENT(IN) :: filegroup_id 
    94       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 
    95       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 
    96       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 
    97       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq 
    98       INTEGER           , OPTIONAL, INTENT(IN) :: output_level 
    99       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled 
    100       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 
    101        
    102       CALL xios(get_filegroup_handle)(filegroup_id,filegroup_hdl) 
    103       CALL xios(set_filegroup_attr_hdl_)(filegroup_hdl, name , description, name_suffix, output_freq, output_level, enabled, type) 
    104        
    105    END SUBROUTINE xios(set_filegroup_attr) 
    106  
    107  
    108    SUBROUTINE xios(set_filegroup_attr_hdl)(filegroup_hdl, name , description, name_suffix, output_freq, output_level, enabled, type) 
    109       IMPLICIT NONE 
    110       TYPE(txios(filegroup))     , INTENT(IN) :: filegroup_hdl 
    111       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 
    112       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 
    113       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 
    114       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq 
    115       INTEGER           , OPTIONAL, INTENT(IN) :: output_level 
    116       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled 
    117       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 
    118        
    119      CALL xios(set_filegroup_attr_hdl_)(filegroup_hdl, name , description, name_suffix, output_freq, output_level, enabled, type) 
    120  
    121    END SUBROUTINE xios(set_filegroup_attr_hdl) 
    122        
    123     
    124    SUBROUTINE xios(set_filegroup_attr_hdl_)(filegroup_hdl, name_ , description_, name_suffix_, output_freq_, output_level_,     & 
    125                    enabled_,type_) 
    126       IMPLICIT NONE 
    127       TYPE(txios(filegroup))     , INTENT(IN) :: filegroup_hdl 
    128       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_ 
    129       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description_ 
    130       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix_ 
    131       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: output_freq_ 
    132       INTEGER           , OPTIONAL, INTENT(IN) :: output_level_ 
    133       LOGICAL(kind = 1)                        :: enabled__ 
    134       LOGICAL           , OPTIONAL, INTENT(IN) :: enabled_ 
    135       CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type_ 
    136        
    137       IF (PRESENT(name_))         THEN 
    138          CALL cxios_set_filegroup_name(filegroup_hdl%daddr, name_, len(name_)) 
    139       END IF 
    140       IF (PRESENT(description_))  THEN 
    141          CALL cxios_set_filegroup_description(filegroup_hdl%daddr, description_, len(description_)) 
    142       END IF 
    143       IF (PRESENT(name_suffix_))  THEN 
    144          CALL cxios_set_filegroup_name_suffix(filegroup_hdl%daddr, name_suffix_, len(name_suffix_)) 
    145       END IF 
    146       IF (PRESENT(output_freq_))  THEN 
    147          CALL cxios_set_filegroup_output_freq(filegroup_hdl%daddr, output_freq_, len(output_freq_)) 
    148       END IF 
    149       IF (PRESENT(output_level_)) THEN 
    150          CALL cxios_set_filegroup_output_level(filegroup_hdl%daddr, output_level_) 
    151       END IF 
    152       IF (PRESENT(enabled_))      THEN 
    153         enabled__ = enabled_  
    154         CALL cxios_set_filegroup_enabled(filegroup_hdl%daddr, enabled__) 
    155       END IF 
    156        
    157       IF (PRESENT(type_))         THEN 
    158          CALL cxios_set_filegroup_type(filegroup_hdl%daddr, type_, len(type_)) 
    159       END IF 
    160  
    161    END SUBROUTINE xios(set_filegroup_attr_hdl_) 
    162  
    16319 
    16420   SUBROUTINE xios(get_file_handle)( idt, ret) 
Note: See TracChangeset for help on using the changeset viewer.