source: XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90 @ 551

Last change on this file since 551 was 546, checked in by rlacroix, 9 years ago

Update the Fortran interface after r540.

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 7.9 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE igrid_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE igrid
9  USE grid_interface_attr
10 
11CONTAINS
12 
13  SUBROUTINE xios(set_grid_attr)  &
14    ( grid_id, axisDomOrder, description, mask, name )
15   
16    IMPLICIT NONE
17      TYPE(txios(grid))  :: grid_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::grid_id
19      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
21      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
22      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
24     
25      CALL xios(get_grid_handle)(grid_id,grid_hdl)
26      CALL xios(set_grid_attr_hdl_)   &
27      ( grid_hdl, axisDomOrder, description, mask, name )
28   
29  END SUBROUTINE xios(set_grid_attr)
30 
31  SUBROUTINE xios(set_grid_attr_hdl)  &
32    ( grid_hdl, axisDomOrder, description, mask, name )
33   
34    IMPLICIT NONE
35      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
36      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:)
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
38      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:)
39      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
41     
42      CALL xios(set_grid_attr_hdl_)  &
43      ( grid_hdl, axisDomOrder, description, mask, name )
44   
45  END SUBROUTINE xios(set_grid_attr_hdl)
46 
47  SUBROUTINE xios(set_grid_attr_hdl_)   &
48    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
49   
50    IMPLICIT NONE
51      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
52      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder_(:)
53      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
54      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:)
55      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
57     
58      IF (PRESENT(axisDomOrder_)) THEN
59        CALL cxios_set_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
60      ENDIF
61     
62      IF (PRESENT(description_)) THEN
63        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
64      ENDIF
65     
66      IF (PRESENT(mask_)) THEN
67        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
68        mask__tmp=mask_
69        CALL cxios_set_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
70      ENDIF
71     
72      IF (PRESENT(name_)) THEN
73        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
74      ENDIF
75     
76     
77   
78  END SUBROUTINE xios(set_grid_attr_hdl_)
79 
80  SUBROUTINE xios(get_grid_attr)  &
81    ( grid_id, axisDomOrder, description, mask, name )
82   
83    IMPLICIT NONE
84      TYPE(txios(grid))  :: grid_hdl
85      CHARACTER(LEN=*), INTENT(IN) ::grid_id
86      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
87      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
88      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
89      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
90      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
91     
92      CALL xios(get_grid_handle)(grid_id,grid_hdl)
93      CALL xios(get_grid_attr_hdl_)   &
94      ( grid_hdl, axisDomOrder, description, mask, name )
95   
96  END SUBROUTINE xios(get_grid_attr)
97 
98  SUBROUTINE xios(get_grid_attr_hdl)  &
99    ( grid_hdl, axisDomOrder, description, mask, name )
100   
101    IMPLICIT NONE
102      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
103      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:)
104      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
105      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:)
106      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:)
107      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
108     
109      CALL xios(get_grid_attr_hdl_)  &
110      ( grid_hdl, axisDomOrder, description, mask, name )
111   
112  END SUBROUTINE xios(get_grid_attr_hdl)
113 
114  SUBROUTINE xios(get_grid_attr_hdl_)   &
115    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
116   
117    IMPLICIT NONE
118      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
119      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:)
120      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
121      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:)
122      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:)
123      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
124     
125      IF (PRESENT(axisDomOrder_)) THEN
126        CALL cxios_get_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1))
127      ENDIF
128     
129      IF (PRESENT(description_)) THEN
130        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
131      ENDIF
132     
133      IF (PRESENT(mask_)) THEN
134        ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3)))
135        CALL cxios_get_grid_mask(grid_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3))
136        mask_=mask__tmp
137      ENDIF
138     
139      IF (PRESENT(name_)) THEN
140        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
141      ENDIF
142     
143     
144   
145  END SUBROUTINE xios(get_grid_attr_hdl_)
146 
147  SUBROUTINE xios(is_defined_grid_attr)  &
148    ( grid_id, axisDomOrder, description, mask, name )
149   
150    IMPLICIT NONE
151      TYPE(txios(grid))  :: grid_hdl
152      CHARACTER(LEN=*), INTENT(IN) ::grid_id
153      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
154      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
155      LOGICAL, OPTIONAL, INTENT(OUT) :: description
156      LOGICAL(KIND=C_BOOL) :: description_tmp
157      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
158      LOGICAL(KIND=C_BOOL) :: mask_tmp
159      LOGICAL, OPTIONAL, INTENT(OUT) :: name
160      LOGICAL(KIND=C_BOOL) :: name_tmp
161     
162      CALL xios(get_grid_handle)(grid_id,grid_hdl)
163      CALL xios(is_defined_grid_attr_hdl_)   &
164      ( grid_hdl, axisDomOrder, description, mask, name )
165   
166  END SUBROUTINE xios(is_defined_grid_attr)
167 
168  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
169    ( grid_hdl, axisDomOrder, description, mask, name )
170   
171    IMPLICIT NONE
172      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
173      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder
174      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp
175      LOGICAL, OPTIONAL, INTENT(OUT) :: description
176      LOGICAL(KIND=C_BOOL) :: description_tmp
177      LOGICAL, OPTIONAL, INTENT(OUT) :: mask
178      LOGICAL(KIND=C_BOOL) :: mask_tmp
179      LOGICAL, OPTIONAL, INTENT(OUT) :: name
180      LOGICAL(KIND=C_BOOL) :: name_tmp
181     
182      CALL xios(is_defined_grid_attr_hdl_)  &
183      ( grid_hdl, axisDomOrder, description, mask, name )
184   
185  END SUBROUTINE xios(is_defined_grid_attr_hdl)
186 
187  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
188    ( grid_hdl, axisDomOrder_, description_, mask_, name_ )
189   
190    IMPLICIT NONE
191      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
192      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder_
193      LOGICAL(KIND=C_BOOL) :: axisDomOrder__tmp
194      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
195      LOGICAL(KIND=C_BOOL) :: description__tmp
196      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_
197      LOGICAL(KIND=C_BOOL) :: mask__tmp
198      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
199      LOGICAL(KIND=C_BOOL) :: name__tmp
200     
201      IF (PRESENT(axisDomOrder_)) THEN
202        axisDomOrder__tmp=cxios_is_defined_grid_axisDomOrder(grid_hdl%daddr)
203        axisDomOrder_=axisDomOrder__tmp
204      ENDIF
205     
206      IF (PRESENT(description_)) THEN
207        description__tmp=cxios_is_defined_grid_description(grid_hdl%daddr)
208        description_=description__tmp
209      ENDIF
210     
211      IF (PRESENT(mask_)) THEN
212        mask__tmp=cxios_is_defined_grid_mask(grid_hdl%daddr)
213        mask_=mask__tmp
214      ENDIF
215     
216      IF (PRESENT(name_)) THEN
217        name__tmp=cxios_is_defined_grid_name(grid_hdl%daddr)
218        name_=name__tmp
219      ENDIF
220     
221     
222   
223  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
224 
225END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.