source: XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90 @ 415

Last change on this file since 415 was 415, checked in by ymipsl, 11 years ago

Add grid mask attribute

YM

File size: 7.1 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE igridgroup_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE igrid
9  USE gridgroup_interface_attr
10 
11CONTAINS
12 
13  SUBROUTINE xios(set_gridgroup_attr)  &
14    ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name )
15   
16    IMPLICIT NONE
17      TYPE(txios(gridgroup))  :: gridgroup_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
19      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
23      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
24      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
25      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
26     
27      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
28      CALL xios(set_gridgroup_attr_hdl_)   &
29      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
30   
31  END SUBROUTINE xios(set_gridgroup_attr)
32 
33  SUBROUTINE xios(set_gridgroup_attr_hdl)  &
34    ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
35   
36    IMPLICIT NONE
37      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
39      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
41      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
42      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
43      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
45     
46      CALL xios(set_gridgroup_attr_hdl_)  &
47      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
48   
49  END SUBROUTINE xios(set_gridgroup_attr_hdl)
50 
51  SUBROUTINE xios(set_gridgroup_attr_hdl_)   &
52    ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ )
53   
54    IMPLICIT NONE
55      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
57      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
59      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
60      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:)
61      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
62      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
63     
64      IF (PRESENT(axis_ref_)) THEN
65        CALL cxios_set_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_))
66      ENDIF
67     
68      IF (PRESENT(description_)) THEN
69        CALL cxios_set_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
70      ENDIF
71     
72      IF (PRESENT(domain_ref_)) THEN
73        CALL cxios_set_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_))
74      ENDIF
75     
76      IF (PRESENT(group_ref_)) THEN
77        CALL cxios_set_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_))
78      ENDIF
79     
80      IF (PRESENT(mask_)) THEN
81        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
82        mask__tmp=mask_
83        CALL cxios_set_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
84      ENDIF
85     
86      IF (PRESENT(name_)) THEN
87        CALL cxios_set_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_))
88      ENDIF
89     
90     
91   
92  END SUBROUTINE xios(set_gridgroup_attr_hdl_)
93 
94  SUBROUTINE xios(get_gridgroup_attr)  &
95    ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name )
96   
97    IMPLICIT NONE
98      TYPE(txios(gridgroup))  :: gridgroup_hdl
99      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id
100      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
101      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
102      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
103      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
104      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
105      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
106      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
107     
108      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl)
109      CALL xios(get_gridgroup_attr_hdl_)   &
110      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
111   
112  END SUBROUTINE xios(get_gridgroup_attr)
113 
114  SUBROUTINE xios(get_gridgroup_attr_hdl)  &
115    ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
116   
117    IMPLICIT NONE
118      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
119      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
120      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
121      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
123      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
124      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
125      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
126     
127      CALL xios(get_gridgroup_attr_hdl_)  &
128      ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name )
129   
130  END SUBROUTINE xios(get_gridgroup_attr_hdl)
131 
132  SUBROUTINE xios(get_gridgroup_attr_hdl_)   &
133    ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ )
134   
135    IMPLICIT NONE
136      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl
137      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
138      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
139      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
140      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
141      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:)
142      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
143      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
144     
145      IF (PRESENT(axis_ref_)) THEN
146        CALL cxios_get_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_))
147      ENDIF
148     
149      IF (PRESENT(description_)) THEN
150        CALL cxios_get_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_))
151      ENDIF
152     
153      IF (PRESENT(domain_ref_)) THEN
154        CALL cxios_get_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_))
155      ENDIF
156     
157      IF (PRESENT(group_ref_)) THEN
158        CALL cxios_get_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_))
159      ENDIF
160     
161      IF (PRESENT(mask_)) THEN
162        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
163        CALL cxios_get_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
164        mask_=mask__tmp
165      ENDIF
166     
167      IF (PRESENT(name_)) THEN
168        CALL cxios_get_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_))
169      ENDIF
170     
171     
172   
173  END SUBROUTINE xios(get_gridgroup_attr_hdl_)
174 
175END MODULE igridgroup_attr
Note: See TracBrowser for help on using the repository browser.