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/idomain.F90

    r312 r313  
    55   USE DOMAIN_INTERFACE 
    66   USE DOMAINGROUP_INTERFACE 
    7     
     7!   USE IDOMAIN_ATTR 
     8!   USE IDOMAINGROUP_ATTR 
     9       
    810   TYPE txios(domain) 
    911      INTEGER(kind = C_INTPTR_T) :: daddr 
     
    1719   CONTAINS ! Fonctions disponibles pour les utilisateurs. 
    1820 
    19  
    20    SUBROUTINE xios(set_domaingroup_attr)                                                                   & 
    21    ( domaingroup_id, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,       & 
    22      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,                     & 
    23      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,                 & 
    24      lonvalue, latvalue) 
    25       IMPLICIT NONE 
    26       TYPE(txios(domaingroup))                              :: domaingroup_hdl 
    27       CHARACTER(len = *)                       , INTENT(IN) :: domaingroup_id 
    28       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: name 
    29       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: standard_name 
    30       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: long_name 
    31       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: domain_group_ref 
    32       INTEGER                        , OPTIONAL, INTENT(IN) :: ni_glo 
    33       INTEGER                        , OPTIONAL, INTENT(IN) :: nj_glo 
    34       INTEGER                        , OPTIONAL, INTENT(IN) :: ibegin 
    35       INTEGER                        , OPTIONAL, INTENT(IN) :: iend 
    36       INTEGER                        , OPTIONAL, INTENT(IN) :: ni 
    37       INTEGER                        , OPTIONAL, INTENT(IN) :: jbegin 
    38       INTEGER                        , OPTIONAL, INTENT(IN) :: jend 
    39       INTEGER                        , OPTIONAL, INTENT(IN) :: nj 
    40       LOGICAL          , dimension(*), OPTIONAL, INTENT(IN) :: mask(:,:) 
    41       INTEGER                        , OPTIONAL, INTENT(IN) :: data_dim 
    42       INTEGER                        , OPTIONAL, INTENT(IN) :: data_ni 
    43       INTEGER                        , OPTIONAL, INTENT(IN) :: data_nj 
    44       INTEGER                        , OPTIONAL, INTENT(IN) :: data_ibegin 
    45       INTEGER                        , OPTIONAL, INTENT(IN) :: data_jbegin 
    46       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_ni 
    47       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_nj 
    48       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    49       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_jbegin 
    50       INTEGER                        , OPTIONAL, INTENT(IN) :: data_n_index 
    51       INTEGER       , dimension(*)   , OPTIONAL, INTENT(IN) :: data_i_index(:) 
    52       INTEGER       , dimension(*)   , OPTIONAL, INTENT(IN) :: data_j_index(:) 
    53       REAL(kind = 8), dimension(*)   , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    54       REAL(kind = 8), dimension(*)   , OPTIONAL, INTENT(IN) :: latvalue(:) 
    55   
    56       CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    57       CALL xios(set_domaingroup_attr_hdl_)                                                                 & 
    58    ( domaingroup_hdl, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,      & 
    59      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,                     & 
    60      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,                 & 
    61      lonvalue, latvalue) 
    62  
    63    END SUBROUTINE xios(set_domaingroup_attr) 
    64  
    65    SUBROUTINE xios(set_domaingroup_attr_hdl)                                                               &    
    66    ( domaingroup_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,       & 
    67      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,                     & 
    68      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index,                               & 
    69      data_j_index, lonvalue, latvalue) 
    70       IMPLICIT NONE 
    71       TYPE(txios(domaingroup))             , INTENT(IN) :: domaingroup_hdl 
    72       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: name 
    73       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: standard_name 
    74       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: long_name 
    75       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: domain_group_ref 
    76       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_glo 
    77       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_glo 
    78       INTEGER                          , OPTIONAL, INTENT(IN) :: ibegin 
    79       INTEGER                          , OPTIONAL, INTENT(IN) :: iend 
    80       INTEGER                          , OPTIONAL, INTENT(IN) :: ni 
    81       INTEGER                          , OPTIONAL, INTENT(IN) :: jbegin 
    82       INTEGER                          , OPTIONAL, INTENT(IN) :: jend 
    83       INTEGER                          , OPTIONAL, INTENT(IN) :: nj 
    84       LOGICAL          , dimension(*)  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    85       INTEGER                          , OPTIONAL, INTENT(IN) :: data_dim 
    86       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ni 
    87       INTEGER                          , OPTIONAL, INTENT(IN) :: data_nj 
    88       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ibegin 
    89       INTEGER                          , OPTIONAL, INTENT(IN) :: data_jbegin 
    90       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ni 
    91       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_nj 
    92       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    93       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_jbegin 
    94       INTEGER                          , OPTIONAL, INTENT(IN) :: data_n_index 
    95       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_i_index(:) 
    96       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_j_index(:) 
    97       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    98       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: latvalue(:)    
    99  
    100       CALL xios(set_domaingroup_attr_hdl_)                                                               & 
    101    ( domaingroup_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,     & 
    102      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,                   & 
    103      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,               & 
    104      lonvalue, latvalue) 
    105  
    106     END SUBROUTINE xios(set_domaingroup_attr_hdl) 
    107  
    108    SUBROUTINE xios(set_domaingroup_attr_hdl_)                                                                       & 
    109    ( domaingroup_hdl, name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_,       & 
    110      ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_,                   & 
    111      zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, data_n_index_, data_i_index_, data_j_index_,                  & 
    112      lonvalue_, latvalue_) 
    113       IMPLICIT NONE 
    114       TYPE(txios(domaingroup))             , INTENT(IN) :: domaingroup_hdl 
    115       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: name_ 
    116       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: standard_name_ 
    117       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: long_name_ 
    118       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: domain_group_ref_ 
    119       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_glo_ 
    120       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_glo_ 
    121       INTEGER                          , OPTIONAL, INTENT(IN) :: ibegin_ 
    122       INTEGER                          , OPTIONAL, INTENT(IN) :: iend_ 
    123       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_ 
    124       INTEGER                          , OPTIONAL, INTENT(IN) :: jbegin_ 
    125       INTEGER                          , OPTIONAL, INTENT(IN) :: jend_ 
    126       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_ 
    127       LOGICAL          , dimension(*)  , OPTIONAL, INTENT(IN) :: mask_(:,:) 
    128       LOGICAL(kind = 1), dimension(:,:), ALLOCATABLE          :: mask__! (size(mask_,1),size(mask,2)) 
    129       INTEGER                          , OPTIONAL, INTENT(IN) :: data_dim_ 
    130       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ni_ 
    131       INTEGER                          , OPTIONAL, INTENT(IN) :: data_nj_ 
    132       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ibegin_ 
    133       INTEGER                          , OPTIONAL, INTENT(IN) :: data_jbegin_ 
    134       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ni_ 
    135       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_nj_ 
    136       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 
    137       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_jbegin_ 
    138       INTEGER                          , OPTIONAL, INTENT(IN) :: data_n_index_ 
    139       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
    140       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_j_index_(:) 
    141       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: lonvalue_(:) 
    142       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: latvalue_(:) 
    143        
    144       IF (PRESENT(name_))             THEN 
    145          CALL cxios_set_domaingroup_name(domaingroup_hdl%daddr, name_, len(name_)) 
    146       END IF 
    147       IF (PRESENT(standard_name_))    THEN 
    148          CALL cxios_set_domaingroup_standard_name(domaingroup_hdl%daddr, standard_name_, len(standard_name_)) 
    149       END IF 
    150       IF (PRESENT(long_name_))        THEN 
    151          CALL cxios_set_domaingroup_long_name(domaingroup_hdl%daddr, long_name_, len(long_name_)) 
    152        END IF 
    153       IF (PRESENT(domain_group_ref_)) THEN 
    154          CALL cxios_set_domaingroup_domain_group_ref(domaingroup_hdl%daddr, domain_group_ref_, len(domain_group_ref_)) 
    155       END IF 
    156       IF (PRESENT(ni_glo_))           THEN 
    157          CALL cxios_set_domaingroup_ni_glo(domaingroup_hdl%daddr, ni_glo_) 
    158       END IF 
    159       IF (PRESENT(nj_glo_))           THEN 
    160          CALL cxios_set_domaingroup_nj_glo(domaingroup_hdl%daddr, nj_glo_) 
    161       END IF 
    162       IF (PRESENT(ibegin_))           THEN 
    163          CALL cxios_set_domaingroup_ibegin(domaingroup_hdl%daddr, ibegin_) 
    164        END IF 
    165       IF (PRESENT(iend_))             THEN 
    166          CALL cxios_set_domaingroup_iend(domaingroup_hdl%daddr, iend_) 
    167       END IF 
    168       IF (PRESENT(ni_))               THEN 
    169          CALL cxios_set_domaingroup_ni(domaingroup_hdl%daddr, ni_) 
    170       END IF 
    171       IF (PRESENT(jbegin_))           THEN 
    172          CALL cxios_set_domaingroup_jbegin(domaingroup_hdl%daddr, jbegin_) 
    173       END IF 
    174       IF (PRESENT(jend_))             THEN 
    175          CALL cxios_set_domaingroup_jend(domaingroup_hdl%daddr, jend_) 
    176       END IF 
    177       IF (PRESENT(nj_))               THEN 
    178          CALL cxios_set_domaingroup_nj(domaingroup_hdl%daddr, nj_) 
    179       END IF 
    180       IF (PRESENT(mask_))             THEN 
    181          ALLOCATE(mask__(size(mask_, 1), size(mask_, 2))) 
    182          mask__(:,:) = mask_(:,:) 
    183          CALL cxios_set_domaingroup_mask(domaingroup_hdl%daddr, mask__, size(mask_, 1), size(mask_, 2))          
    184          DEALLOCATE(mask__) 
    185       END IF 
    186       IF (PRESENT(data_dim_))         THEN 
    187          CALL cxios_set_domaingroup_data_dim(domaingroup_hdl%daddr, data_dim_) 
    188       END IF 
    189       IF (PRESENT(data_ni_))          THEN 
    190          CALL cxios_set_domaingroup_data_ni(domaingroup_hdl%daddr, data_ni_) 
    191       END IF  
    192       IF (PRESENT(data_nj_))          THEN 
    193          CALL cxios_set_domaingroup_data_nj(domaingroup_hdl%daddr, data_nj_) 
    194       END IF 
    195       IF (PRESENT(data_ibegin_))      THEN 
    196          CALL cxios_set_domaingroup_data_ibegin(domaingroup_hdl%daddr, data_ibegin_) 
    197       END IF 
    198       IF (PRESENT(data_jbegin_))      THEN 
    199          CALL cxios_set_domaingroup_data_jbegin(domaingroup_hdl%daddr, data_jbegin_) 
    200       END IF 
    201       IF (PRESENT(zoom_ni_))          THEN 
    202          CALL cxios_set_domaingroup_zoom_ni(domaingroup_hdl%daddr, zoom_ni_) 
    203       END IF 
    204       IF (PRESENT(zoom_nj_))          THEN 
    205        CALL cxios_set_domaingroup_zoom_nj(domaingroup_hdl%daddr, zoom_nj_) 
    206       END IF 
    207       IF (PRESENT(zoom_ibegin_))      THEN 
    208          CALL cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl%daddr, zoom_ibegin_) 
    209       END IF 
    210       IF (PRESENT(zoom_jbegin_))      THEN 
    211          CALL cxios_set_domaingroup_zoom_jbegin(domaingroup_hdl%daddr, zoom_jbegin_) 
    212       END IF 
    213  
    214       IF (PRESENT(data_n_index_))     THEN 
    215          CALL cxios_set_domaingroup_data_n_index(domaingroup_hdl%daddr, data_n_index_) 
    216       END IF 
    217       IF (PRESENT(data_i_index_))     THEN 
    218          CALL cxios_set_domaingroup_data_i_index(domaingroup_hdl%daddr, data_i_index_, size(data_i_index_, 1)) 
    219       END IF 
    220       IF (PRESENT(data_j_index_))     THEN 
    221          CALL cxios_set_domaingroup_data_j_index(domaingroup_hdl%daddr, data_j_index_, size(data_j_index_, 1)) 
    222       END IF 
    223       IF (PRESENT(lonvalue_))         THEN 
    224          CALL cxios_set_domaingroup_lonvalue(domaingroup_hdl%daddr, lonvalue_, size(lonvalue_, 1)) 
    225       END IF 
    226       IF (PRESENT(latvalue_))         THEN 
    227          CALL cxios_set_domaingroup_latvalue(domaingroup_hdl%daddr, latvalue_, size(latvalue_, 1)) 
    228       END IF 
    229  
    230    END SUBROUTINE xios(set_domaingroup_attr_hdl_) 
    231     
    232     
    233    SUBROUTINE xios(set_domain_attr)                                                                & 
    234    ( domain_id, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,    & 
    235      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,             & 
    236      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,         & 
    237      lonvalue, latvalue) 
    238       IMPLICIT NONE 
    239       
    240       TYPE(txios(domain))                                   :: domain_hdl 
    241       CHARACTER(len = *)                       , INTENT(IN) :: domain_id 
    242       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: name 
    243       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: standard_name 
    244       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: long_name 
    245       CHARACTER(len = *)             , OPTIONAL, INTENT(IN) :: domain_group_ref 
    246       INTEGER                        , OPTIONAL, INTENT(IN) :: ni_glo 
    247       INTEGER                        , OPTIONAL, INTENT(IN) :: nj_glo 
    248       INTEGER                        , OPTIONAL, INTENT(IN) :: ibegin 
    249       INTEGER                        , OPTIONAL, INTENT(IN) :: iend 
    250       INTEGER                        , OPTIONAL, INTENT(IN) :: ni 
    251       INTEGER                        , OPTIONAL, INTENT(IN) :: jbegin 
    252       INTEGER                        , OPTIONAL, INTENT(IN) :: jend 
    253       INTEGER                        , OPTIONAL, INTENT(IN) :: nj 
    254       LOGICAL          , dimension(*), OPTIONAL, INTENT(IN) :: mask(:,:) 
    255       INTEGER                        , OPTIONAL, INTENT(IN) :: data_dim 
    256       INTEGER                        , OPTIONAL, INTENT(IN) :: data_ni 
    257       INTEGER                        , OPTIONAL, INTENT(IN) :: data_nj 
    258       INTEGER                        , OPTIONAL, INTENT(IN) :: data_ibegin 
    259       INTEGER                        , OPTIONAL, INTENT(IN) :: data_jbegin 
    260       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_ni 
    261       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_nj 
    262       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    263       INTEGER                        , OPTIONAL, INTENT(IN) :: zoom_jbegin 
    264       INTEGER                        , OPTIONAL, INTENT(IN) :: data_n_index 
    265       INTEGER       , dimension(*)   , OPTIONAL, INTENT(IN) :: data_i_index(:) 
    266       INTEGER       , dimension(*)   , OPTIONAL, INTENT(IN) :: data_j_index(:) 
    267       REAL(kind = 8), dimension(*)   , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    268       REAL(kind = 8), dimension(*)   , OPTIONAL, INTENT(IN) :: latvalue(:) 
    269   
    270       CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    271       CALL xios(set_domain_attr_hdl_)                                                               & 
    272    ( domain_hdl, name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,    & 
    273      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,              & 
    274      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,          & 
    275      lonvalue, latvalue) 
    276  
    277    END SUBROUTINE xios(set_domain_attr) 
    278  
    279  
    280    SUBROUTINE xios(set_domain_attr_hdl)                                                            & 
    281    ( domain_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,    & 
    282      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,             & 
    283      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index,                       & 
    284      data_j_index, lonvalue, latvalue) 
    285       IMPLICIT NONE 
    286       
    287       TYPE(txios(domain))                       , INTENT(IN) :: domain_hdl 
    288       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: name 
    289       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: standard_name 
    290       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: long_name 
    291       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: domain_group_ref 
    292       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_glo 
    293       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_glo 
    294       INTEGER                          , OPTIONAL, INTENT(IN) :: ibegin 
    295       INTEGER                          , OPTIONAL, INTENT(IN) :: iend 
    296       INTEGER                          , OPTIONAL, INTENT(IN) :: ni 
    297       INTEGER                          , OPTIONAL, INTENT(IN) :: jbegin 
    298       INTEGER                          , OPTIONAL, INTENT(IN) :: jend 
    299       INTEGER                          , OPTIONAL, INTENT(IN) :: nj 
    300       LOGICAL          , dimension(*)  , OPTIONAL, INTENT(IN) :: mask(:,:) 
    301       INTEGER                          , OPTIONAL, INTENT(IN) :: data_dim 
    302       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ni 
    303       INTEGER                          , OPTIONAL, INTENT(IN) :: data_nj 
    304       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ibegin 
    305       INTEGER                          , OPTIONAL, INTENT(IN) :: data_jbegin 
    306       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ni 
    307       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_nj 
    308       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    309       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_jbegin 
    310       INTEGER                          , OPTIONAL, INTENT(IN) :: data_n_index 
    311       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_i_index(:) 
    312       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_j_index(:) 
    313       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: lonvalue(:) 
    314       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: latvalue(:) 
    315        
    316       CALL xios(set_domain_attr_hdl_)                                                             & 
    317    ( domain_hdl,name, standard_name, long_name, domain_group_ref, ni_glo, nj_glo, ibegin, iend,   & 
    318      ni, jbegin, jend, nj, mask, data_dim, data_ni, data_nj, data_ibegin, data_jbegin,            & 
    319      zoom_ni, zoom_nj, zoom_ibegin, zoom_jbegin, data_n_index, data_i_index, data_j_index,        & 
    320      lonvalue, latvalue) 
    321       
    322    END SUBROUTINE xios(set_domain_attr_hdl) 
    323         
    324    SUBROUTINE xios(set_domain_attr_hdl_)                                                                 & 
    325    ( domain_hdl,name_, standard_name_, long_name_, domain_group_ref_, ni_glo_, nj_glo_, ibegin_, iend_,  & 
    326      ni_, jbegin_, jend_, nj_, mask_, data_dim_, data_ni_, data_nj_, data_ibegin_, data_jbegin_,         & 
    327      zoom_ni_, zoom_nj_, zoom_ibegin_, zoom_jbegin_, data_n_index_, data_i_index_, data_j_index_,        & 
    328      lonvalue_, latvalue_) 
    329  
    330       IMPLICIT NONE 
    331       TYPE(txios(domain))                       , INTENT(IN) :: domain_hdl 
    332       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: name_ 
    333       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: standard_name_ 
    334       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: long_name_ 
    335       CHARACTER(len = *)               , OPTIONAL, INTENT(IN) :: domain_group_ref_ 
    336       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_glo_ 
    337       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_glo_ 
    338       INTEGER                          , OPTIONAL, INTENT(IN) :: ibegin_ 
    339       INTEGER                          , OPTIONAL, INTENT(IN) :: iend_ 
    340       INTEGER                          , OPTIONAL, INTENT(IN) :: ni_ 
    341       INTEGER                          , OPTIONAL, INTENT(IN) :: jbegin_ 
    342       INTEGER                          , OPTIONAL, INTENT(IN) :: jend_ 
    343       INTEGER                          , OPTIONAL, INTENT(IN) :: nj_ 
    344       LOGICAL          , dimension(*)  , OPTIONAL, INTENT(IN) :: mask_(:,:) 
    345       LOGICAL(kind = 1), dimension(:,:), ALLOCATABLE          :: mask__ 
    346       INTEGER                          , OPTIONAL, INTENT(IN) :: data_dim_ 
    347       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ni_ 
    348       INTEGER                          , OPTIONAL, INTENT(IN) :: data_nj_ 
    349       INTEGER                          , OPTIONAL, INTENT(IN) :: data_ibegin_ 
    350       INTEGER                          , OPTIONAL, INTENT(IN) :: data_jbegin_ 
    351       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ni_ 
    352       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_nj_ 
    353       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 
    354       INTEGER                          , OPTIONAL, INTENT(IN) :: zoom_jbegin_ 
    355       INTEGER                          , OPTIONAL, INTENT(IN) :: data_n_index_ 
    356       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
    357       INTEGER       , dimension(*)     , OPTIONAL, INTENT(IN) :: data_j_index_(:) 
    358       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: lonvalue_(:) 
    359       REAL(kind = 8), dimension(*)     , OPTIONAL, INTENT(IN) :: latvalue_(:) 
    360       IF (PRESENT(name_))             THEN 
    361          CALL cxios_set_domain_name(domain_hdl%daddr, name_, len(name_)) 
    362       END IF 
    363       IF (PRESENT(standard_name_))    THEN 
    364          CALL cxios_set_domain_standard_name(domain_hdl%daddr, standard_name_, len(standard_name_)) 
    365       END IF 
    366       IF (PRESENT(long_name_))        THEN 
    367          CALL cxios_set_domain_long_name(domain_hdl%daddr, long_name_, len(long_name_)) 
    368        END IF 
    369       IF (PRESENT(domain_group_ref_)) THEN 
    370          CALL cxios_set_domain_domain_group_ref(domain_hdl%daddr, domain_group_ref_, len(domain_group_ref_)) 
    371       END IF 
    372       IF (PRESENT(ni_glo_))           THEN 
    373          CALL cxios_set_domain_ni_glo(domain_hdl%daddr, ni_glo_) 
    374       END IF 
    375       IF (PRESENT(nj_glo_))           THEN 
    376          CALL cxios_set_domain_nj_glo(domain_hdl%daddr, nj_glo_) 
    377       END IF 
    378       IF (PRESENT(ibegin_))           THEN 
    379          CALL cxios_set_domain_ibegin(domain_hdl%daddr, ibegin_) 
    380        END IF 
    381       IF (PRESENT(iend_))             THEN 
    382          CALL cxios_set_domain_iend(domain_hdl%daddr, iend_) 
    383       END IF 
    384       IF (PRESENT(ni_))               THEN 
    385          CALL cxios_set_domain_ni(domain_hdl%daddr, ni_) 
    386       END IF 
    387       IF (PRESENT(jbegin_))           THEN 
    388          CALL cxios_set_domain_jbegin(domain_hdl%daddr, jbegin_) 
    389       END IF 
    390       IF (PRESENT(jend_))             THEN 
    391          CALL cxios_set_domain_jend(domain_hdl%daddr, jend_) 
    392       END IF 
    393       IF (PRESENT(nj_))               THEN 
    394          CALL cxios_set_domain_nj(domain_hdl%daddr, nj_) 
    395       END IF 
    396       IF (PRESENT(mask_))             THEN 
    397          ALLOCATE(mask__(size(mask_, 1), size(mask_, 2))) 
    398          mask__(:,:) = mask_(:,:) 
    399          CALL cxios_set_domain_mask(domain_hdl%daddr, mask__, size(mask_, 1), size(mask_, 2))          
    400          DEALLOCATE(mask__) 
    401       END IF 
    402       IF (PRESENT(data_dim_))         THEN 
    403          CALL cxios_set_domain_data_dim(domain_hdl%daddr, data_dim_) 
    404       END IF 
    405       IF (PRESENT(data_ni_))          THEN 
    406          CALL cxios_set_domain_data_ni(domain_hdl%daddr, data_ni_) 
    407       END IF  
    408       IF (PRESENT(data_nj_))          THEN 
    409          CALL cxios_set_domain_data_nj(domain_hdl%daddr, data_nj_) 
    410       END IF 
    411       IF (PRESENT(data_ibegin_))      THEN 
    412          CALL cxios_set_domain_data_ibegin(domain_hdl%daddr, data_ibegin_) 
    413       END IF 
    414       IF (PRESENT(data_jbegin_))      THEN 
    415          CALL cxios_set_domain_data_jbegin(domain_hdl%daddr, data_jbegin_) 
    416       END IF 
    417       IF (PRESENT(zoom_ni_))          THEN 
    418          CALL cxios_set_domain_zoom_ni(domain_hdl%daddr, zoom_ni_) 
    419       END IF 
    420       IF (PRESENT(zoom_nj_))          THEN 
    421        CALL cxios_set_domain_zoom_nj(domain_hdl%daddr, zoom_nj_) 
    422       END IF 
    423       IF (PRESENT(zoom_ibegin_))      THEN 
    424          CALL cxios_set_domain_zoom_ibegin(domain_hdl%daddr, zoom_ibegin_) 
    425       END IF 
    426       IF (PRESENT(zoom_jbegin_))      THEN 
    427          CALL cxios_set_domain_zoom_jbegin(domain_hdl%daddr, zoom_jbegin_) 
    428       END IF 
    429       IF (PRESENT(data_n_index_))     THEN 
    430          CALL cxios_set_domain_data_n_index(domain_hdl%daddr, data_n_index_) 
    431       END IF 
    432       IF (PRESENT(data_i_index_))     THEN 
    433          CALL cxios_set_domain_data_i_index(domain_hdl%daddr, data_i_index_, size(data_i_index_, 1)) 
    434       END IF 
    435       IF (PRESENT(data_j_index_))     THEN 
    436          CALL cxios_set_domain_data_j_index(domain_hdl%daddr, data_j_index_, size(data_j_index_, 1)) 
    437       END IF 
    438       IF (PRESENT(lonvalue_))         THEN 
    439          CALL cxios_set_domain_lonvalue(domain_hdl%daddr, lonvalue_, size(lonvalue_, 1)) 
    440       END IF 
    441       IF (PRESENT(latvalue_))         THEN 
    442          CALL cxios_set_domain_latvalue(domain_hdl%daddr, latvalue_, size(latvalue_, 1)) 
    443       END IF 
    444  
    445    END SUBROUTINE xios(set_domain_attr_hdl_) 
    446  
    447  
    448     
    44921   SUBROUTINE xios(get_domain_handle)(idt,ret) 
    45022      IMPLICIT NONE 
Note: See TracChangeset for help on using the changeset viewer.