source: XIOS3/trunk/src/interface/fortran_attr/idomain_attr.F90 @ 2616

Last change on this file since 2616 was 2616, checked in by jderouillat, 4 months ago

Add XIOS3 fortran interfaces (resources management, chunking, compression)

  • 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: 60.6 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE idomain_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE idomain
9  USE domain_interface_attr
10
11CONTAINS
12
13  SUBROUTINE xios(set_domain_attr)  &
14    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
15    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
16    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
17    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
18    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
19    , prec, radius, standard_name, type )
20
21    IMPLICIT NONE
22      TYPE(txios(domain))  :: domain_hdl
23      CHARACTER(LEN=*), INTENT(IN) ::domain_id
24      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)
25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:)
26      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:)
27      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)
28      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)
29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name
30      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)
31      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)
32      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name
33      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i
34      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j
35      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
36      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim
37      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:)
38      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin
39      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index(:)
40      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin
41      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni
42      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name
44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name
45      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
46      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:)
47      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
48      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:)
49      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin
50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name
51      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:)
52      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)
53      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name
54      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
55      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:)
56      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)
57      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
58      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
59      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
60      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
61      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
62      INTEGER  , OPTIONAL, INTENT(IN) :: ni
63      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo
64      INTEGER  , OPTIONAL, INTENT(IN) :: nj
65      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo
66      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex
67      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name
68      INTEGER  , OPTIONAL, INTENT(IN) :: prec
69      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius
70      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
72
73      CALL xios(get_domain_handle) &
74      (domain_id,domain_hdl)
75      CALL xios(set_domain_attr_hdl_)   &
76      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
77      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
78      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
79      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
80      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
81      , prec, radius, standard_name, type )
82
83  END SUBROUTINE xios(set_domain_attr)
84
85  SUBROUTINE xios(set_domain_attr_hdl)  &
86    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
87    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
88    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
89    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
90    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
91    , prec, radius, standard_name, type )
92
93    IMPLICIT NONE
94      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
95      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)
96      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:)
97      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:)
98      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)
99      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)
100      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name
101      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)
102      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)
103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name
104      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i
105      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j
106      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
107      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim
108      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:)
109      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin
110      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index(:)
111      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin
112      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni
113      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj
114      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name
115      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name
116      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
117      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:)
118      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin
119      INTEGER  , OPTIONAL, INTENT(IN) :: j_index(:)
120      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin
121      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name
122      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d(:)
123      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)
124      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name
125      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
126      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d(:)
127      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)
128      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d(:)
129      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
130      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d(:,:)
131      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
132      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
133      INTEGER  , OPTIONAL, INTENT(IN) :: ni
134      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo
135      INTEGER  , OPTIONAL, INTENT(IN) :: nj
136      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo
137      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex
138      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name
139      INTEGER  , OPTIONAL, INTENT(IN) :: prec
140      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius
141      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
142      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
143
144      CALL xios(set_domain_attr_hdl_)  &
145      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
146      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
147      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
148      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
149      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
150      , prec, radius, standard_name, type )
151
152  END SUBROUTINE xios(set_domain_attr_hdl)
153
154  SUBROUTINE xios(set_domain_attr_hdl_)   &
155    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
156    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
157    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
158    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
159    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
160    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
161
162    IMPLICIT NONE
163      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
164      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_(:,:)
165      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d_(:)
166      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d_(:,:)
167      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:)
168      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:)
169      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lat_name_
170      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d_(:,:)
171      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:)
172      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name_
173      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i_
174      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j_
175      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
176      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_
177      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:)
178      INTEGER  , OPTIONAL, INTENT(IN) :: data_ibegin_
179      INTEGER  , OPTIONAL, INTENT(IN) :: data_j_index_(:)
180      INTEGER  , OPTIONAL, INTENT(IN) :: data_jbegin_
181      INTEGER  , OPTIONAL, INTENT(IN) :: data_ni_
182      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_
183      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_i_name_
184      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: dim_j_name_
185      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
186      INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:)
187      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin_
188      INTEGER  , OPTIONAL, INTENT(IN) :: j_index_(:)
189      INTEGER  , OPTIONAL, INTENT(IN) :: jbegin_
190      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lat_name_
191      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_1d_(:)
192      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d_(:,:)
193      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: lon_name_
194      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
195      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_1d_(:)
196      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d_(:,:)
197      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_1d_(:)
198      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
199      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_2d_(:,:)
200      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
201      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
202      INTEGER  , OPTIONAL, INTENT(IN) :: ni_
203      INTEGER  , OPTIONAL, INTENT(IN) :: ni_glo_
204      INTEGER  , OPTIONAL, INTENT(IN) :: nj_
205      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo_
206      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_
207      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name_
208      INTEGER  , OPTIONAL, INTENT(IN) :: prec_
209      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius_
210      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
211      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
212
213      IF (PRESENT(area_)) THEN
214        CALL cxios_set_domain_area &
215      (domain_hdl%daddr, area_, SHAPE(area_))
216      ENDIF
217
218      IF (PRESENT(area_1d_)) THEN
219        CALL cxios_set_domain_area_1d &
220      (domain_hdl%daddr, area_1d_, SHAPE(area_1d_))
221      ENDIF
222
223      IF (PRESENT(area_2d_)) THEN
224        CALL cxios_set_domain_area_2d &
225      (domain_hdl%daddr, area_2d_, SHAPE(area_2d_))
226      ENDIF
227
228      IF (PRESENT(bounds_lat_1d_)) THEN
229        CALL cxios_set_domain_bounds_lat_1d &
230      (domain_hdl%daddr, bounds_lat_1d_, SHAPE(bounds_lat_1d_))
231      ENDIF
232
233      IF (PRESENT(bounds_lat_2d_)) THEN
234        CALL cxios_set_domain_bounds_lat_2d &
235      (domain_hdl%daddr, bounds_lat_2d_, SHAPE(bounds_lat_2d_))
236      ENDIF
237
238      IF (PRESENT(bounds_lat_name_)) THEN
239        CALL cxios_set_domain_bounds_lat_name &
240      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_))
241      ENDIF
242
243      IF (PRESENT(bounds_lon_1d_)) THEN
244        CALL cxios_set_domain_bounds_lon_1d &
245      (domain_hdl%daddr, bounds_lon_1d_, SHAPE(bounds_lon_1d_))
246      ENDIF
247
248      IF (PRESENT(bounds_lon_2d_)) THEN
249        CALL cxios_set_domain_bounds_lon_2d &
250      (domain_hdl%daddr, bounds_lon_2d_, SHAPE(bounds_lon_2d_))
251      ENDIF
252
253      IF (PRESENT(bounds_lon_name_)) THEN
254        CALL cxios_set_domain_bounds_lon_name &
255      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_))
256      ENDIF
257
258      IF (PRESENT(chunking_weight_i_)) THEN
259        CALL cxios_set_domain_chunking_weight_i &
260      (domain_hdl%daddr, chunking_weight_i_)
261      ENDIF
262
263      IF (PRESENT(chunking_weight_j_)) THEN
264        CALL cxios_set_domain_chunking_weight_j &
265      (domain_hdl%daddr, chunking_weight_j_)
266      ENDIF
267
268      IF (PRESENT(comment_)) THEN
269        CALL cxios_set_domain_comment &
270      (domain_hdl%daddr, comment_, len(comment_))
271      ENDIF
272
273      IF (PRESENT(data_dim_)) THEN
274        CALL cxios_set_domain_data_dim &
275      (domain_hdl%daddr, data_dim_)
276      ENDIF
277
278      IF (PRESENT(data_i_index_)) THEN
279        CALL cxios_set_domain_data_i_index &
280      (domain_hdl%daddr, data_i_index_, SHAPE(data_i_index_))
281      ENDIF
282
283      IF (PRESENT(data_ibegin_)) THEN
284        CALL cxios_set_domain_data_ibegin &
285      (domain_hdl%daddr, data_ibegin_)
286      ENDIF
287
288      IF (PRESENT(data_j_index_)) THEN
289        CALL cxios_set_domain_data_j_index &
290      (domain_hdl%daddr, data_j_index_, SHAPE(data_j_index_))
291      ENDIF
292
293      IF (PRESENT(data_jbegin_)) THEN
294        CALL cxios_set_domain_data_jbegin &
295      (domain_hdl%daddr, data_jbegin_)
296      ENDIF
297
298      IF (PRESENT(data_ni_)) THEN
299        CALL cxios_set_domain_data_ni &
300      (domain_hdl%daddr, data_ni_)
301      ENDIF
302
303      IF (PRESENT(data_nj_)) THEN
304        CALL cxios_set_domain_data_nj &
305      (domain_hdl%daddr, data_nj_)
306      ENDIF
307
308      IF (PRESENT(dim_i_name_)) THEN
309        CALL cxios_set_domain_dim_i_name &
310      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_))
311      ENDIF
312
313      IF (PRESENT(dim_j_name_)) THEN
314        CALL cxios_set_domain_dim_j_name &
315      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_))
316      ENDIF
317
318      IF (PRESENT(domain_ref_)) THEN
319        CALL cxios_set_domain_domain_ref &
320      (domain_hdl%daddr, domain_ref_, len(domain_ref_))
321      ENDIF
322
323      IF (PRESENT(i_index_)) THEN
324        CALL cxios_set_domain_i_index &
325      (domain_hdl%daddr, i_index_, SHAPE(i_index_))
326      ENDIF
327
328      IF (PRESENT(ibegin_)) THEN
329        CALL cxios_set_domain_ibegin &
330      (domain_hdl%daddr, ibegin_)
331      ENDIF
332
333      IF (PRESENT(j_index_)) THEN
334        CALL cxios_set_domain_j_index &
335      (domain_hdl%daddr, j_index_, SHAPE(j_index_))
336      ENDIF
337
338      IF (PRESENT(jbegin_)) THEN
339        CALL cxios_set_domain_jbegin &
340      (domain_hdl%daddr, jbegin_)
341      ENDIF
342
343      IF (PRESENT(lat_name_)) THEN
344        CALL cxios_set_domain_lat_name &
345      (domain_hdl%daddr, lat_name_, len(lat_name_))
346      ENDIF
347
348      IF (PRESENT(latvalue_1d_)) THEN
349        CALL cxios_set_domain_latvalue_1d &
350      (domain_hdl%daddr, latvalue_1d_, SHAPE(latvalue_1d_))
351      ENDIF
352
353      IF (PRESENT(latvalue_2d_)) THEN
354        CALL cxios_set_domain_latvalue_2d &
355      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_))
356      ENDIF
357
358      IF (PRESENT(lon_name_)) THEN
359        CALL cxios_set_domain_lon_name &
360      (domain_hdl%daddr, lon_name_, len(lon_name_))
361      ENDIF
362
363      IF (PRESENT(long_name_)) THEN
364        CALL cxios_set_domain_long_name &
365      (domain_hdl%daddr, long_name_, len(long_name_))
366      ENDIF
367
368      IF (PRESENT(lonvalue_1d_)) THEN
369        CALL cxios_set_domain_lonvalue_1d &
370      (domain_hdl%daddr, lonvalue_1d_, SHAPE(lonvalue_1d_))
371      ENDIF
372
373      IF (PRESENT(lonvalue_2d_)) THEN
374        CALL cxios_set_domain_lonvalue_2d &
375      (domain_hdl%daddr, lonvalue_2d_, SHAPE(lonvalue_2d_))
376      ENDIF
377
378      IF (PRESENT(mask_1d_)) THEN
379        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
380        mask_1d__tmp = mask_1d_
381        CALL cxios_set_domain_mask_1d &
382      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
383      ENDIF
384
385      IF (PRESENT(mask_2d_)) THEN
386        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
387        mask_2d__tmp = mask_2d_
388        CALL cxios_set_domain_mask_2d &
389      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
390      ENDIF
391
392      IF (PRESENT(name_)) THEN
393        CALL cxios_set_domain_name &
394      (domain_hdl%daddr, name_, len(name_))
395      ENDIF
396
397      IF (PRESENT(ni_)) THEN
398        CALL cxios_set_domain_ni &
399      (domain_hdl%daddr, ni_)
400      ENDIF
401
402      IF (PRESENT(ni_glo_)) THEN
403        CALL cxios_set_domain_ni_glo &
404      (domain_hdl%daddr, ni_glo_)
405      ENDIF
406
407      IF (PRESENT(nj_)) THEN
408        CALL cxios_set_domain_nj &
409      (domain_hdl%daddr, nj_)
410      ENDIF
411
412      IF (PRESENT(nj_glo_)) THEN
413        CALL cxios_set_domain_nj_glo &
414      (domain_hdl%daddr, nj_glo_)
415      ENDIF
416
417      IF (PRESENT(nvertex_)) THEN
418        CALL cxios_set_domain_nvertex &
419      (domain_hdl%daddr, nvertex_)
420      ENDIF
421
422      IF (PRESENT(nvertex_name_)) THEN
423        CALL cxios_set_domain_nvertex_name &
424      (domain_hdl%daddr, nvertex_name_, len(nvertex_name_))
425      ENDIF
426
427      IF (PRESENT(prec_)) THEN
428        CALL cxios_set_domain_prec &
429      (domain_hdl%daddr, prec_)
430      ENDIF
431
432      IF (PRESENT(radius_)) THEN
433        CALL cxios_set_domain_radius &
434      (domain_hdl%daddr, radius_)
435      ENDIF
436
437      IF (PRESENT(standard_name_)) THEN
438        CALL cxios_set_domain_standard_name &
439      (domain_hdl%daddr, standard_name_, len(standard_name_))
440      ENDIF
441
442      IF (PRESENT(type_)) THEN
443        CALL cxios_set_domain_type &
444      (domain_hdl%daddr, type_, len(type_))
445      ENDIF
446
447  END SUBROUTINE xios(set_domain_attr_hdl_)
448
449  SUBROUTINE xios(get_domain_attr)  &
450    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
451    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
452    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
453    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
454    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
455    , prec, radius, standard_name, type )
456
457    IMPLICIT NONE
458      TYPE(txios(domain))  :: domain_hdl
459      CHARACTER(LEN=*), INTENT(IN) ::domain_id
460      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:)
461      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:)
462      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:)
463      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:)
464      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:)
465      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name
466      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:)
467      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:)
468      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name
469      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i
470      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j
471      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
472      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim
473      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:)
474      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin
475      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index(:)
476      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin
477      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni
478      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
479      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name
480      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name
481      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
482      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:)
483      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
484      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:)
485      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin
486      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name
487      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:)
488      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:)
489      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name
490      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
491      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:)
492      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:)
493      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
494      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
495      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
496      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
497      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
498      INTEGER  , OPTIONAL, INTENT(OUT) :: ni
499      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo
500      INTEGER  , OPTIONAL, INTENT(OUT) :: nj
501      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo
502      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex
503      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name
504      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
505      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius
506      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
507      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
508
509      CALL xios(get_domain_handle) &
510      (domain_id,domain_hdl)
511      CALL xios(get_domain_attr_hdl_)   &
512      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
513      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
514      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
515      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
516      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
517      , prec, radius, standard_name, type )
518
519  END SUBROUTINE xios(get_domain_attr)
520
521  SUBROUTINE xios(get_domain_attr_hdl)  &
522    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
523    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
524    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
525    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
526    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
527    , prec, radius, standard_name, type )
528
529    IMPLICIT NONE
530      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
531      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:)
532      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:)
533      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:)
534      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:)
535      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:)
536      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name
537      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d(:,:)
538      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:)
539      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name
540      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i
541      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j
542      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
543      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim
544      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:)
545      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin
546      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index(:)
547      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin
548      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni
549      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj
550      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name
551      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name
552      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
553      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:)
554      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin
555      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index(:)
556      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin
557      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name
558      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d(:)
559      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d(:,:)
560      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name
561      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
562      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d(:)
563      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d(:,:)
564      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d(:)
565      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d_tmp(:)
566      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d(:,:)
567      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d_tmp(:,:)
568      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
569      INTEGER  , OPTIONAL, INTENT(OUT) :: ni
570      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo
571      INTEGER  , OPTIONAL, INTENT(OUT) :: nj
572      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo
573      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex
574      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name
575      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
576      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius
577      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
578      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
579
580      CALL xios(get_domain_attr_hdl_)  &
581      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
582      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
583      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
584      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
585      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
586      , prec, radius, standard_name, type )
587
588  END SUBROUTINE xios(get_domain_attr_hdl)
589
590  SUBROUTINE xios(get_domain_attr_hdl_)   &
591    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
592    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
593    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
594    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
595    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
596    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
597
598    IMPLICIT NONE
599      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
600      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_(:,:)
601      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d_(:)
602      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d_(:,:)
603      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:)
604      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:)
605      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lat_name_
606      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_1d_(:,:)
607      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:)
608      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name_
609      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i_
610      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j_
611      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
612      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_
613      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:)
614      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ibegin_
615      INTEGER  , OPTIONAL, INTENT(OUT) :: data_j_index_(:)
616      INTEGER  , OPTIONAL, INTENT(OUT) :: data_jbegin_
617      INTEGER  , OPTIONAL, INTENT(OUT) :: data_ni_
618      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_
619      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_i_name_
620      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: dim_j_name_
621      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
622      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:)
623      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin_
624      INTEGER  , OPTIONAL, INTENT(OUT) :: j_index_(:)
625      INTEGER  , OPTIONAL, INTENT(OUT) :: jbegin_
626      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lat_name_
627      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_1d_(:)
628      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: latvalue_2d_(:,:)
629      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: lon_name_
630      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
631      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_1d_(:)
632      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: lonvalue_2d_(:,:)
633      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_1d_(:)
634      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_1d__tmp(:)
635      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_2d_(:,:)
636      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_2d__tmp(:,:)
637      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
638      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_
639      INTEGER  , OPTIONAL, INTENT(OUT) :: ni_glo_
640      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_
641      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo_
642      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_
643      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name_
644      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_
645      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius_
646      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
647      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
648
649      IF (PRESENT(area_)) THEN
650        CALL cxios_get_domain_area &
651      (domain_hdl%daddr, area_, SHAPE(area_))
652      ENDIF
653
654      IF (PRESENT(area_1d_)) THEN
655        CALL cxios_get_domain_area_1d &
656      (domain_hdl%daddr, area_1d_, SHAPE(area_1d_))
657      ENDIF
658
659      IF (PRESENT(area_2d_)) THEN
660        CALL cxios_get_domain_area_2d &
661      (domain_hdl%daddr, area_2d_, SHAPE(area_2d_))
662      ENDIF
663
664      IF (PRESENT(bounds_lat_1d_)) THEN
665        CALL cxios_get_domain_bounds_lat_1d &
666      (domain_hdl%daddr, bounds_lat_1d_, SHAPE(bounds_lat_1d_))
667      ENDIF
668
669      IF (PRESENT(bounds_lat_2d_)) THEN
670        CALL cxios_get_domain_bounds_lat_2d &
671      (domain_hdl%daddr, bounds_lat_2d_, SHAPE(bounds_lat_2d_))
672      ENDIF
673
674      IF (PRESENT(bounds_lat_name_)) THEN
675        CALL cxios_get_domain_bounds_lat_name &
676      (domain_hdl%daddr, bounds_lat_name_, len(bounds_lat_name_))
677      ENDIF
678
679      IF (PRESENT(bounds_lon_1d_)) THEN
680        CALL cxios_get_domain_bounds_lon_1d &
681      (domain_hdl%daddr, bounds_lon_1d_, SHAPE(bounds_lon_1d_))
682      ENDIF
683
684      IF (PRESENT(bounds_lon_2d_)) THEN
685        CALL cxios_get_domain_bounds_lon_2d &
686      (domain_hdl%daddr, bounds_lon_2d_, SHAPE(bounds_lon_2d_))
687      ENDIF
688
689      IF (PRESENT(bounds_lon_name_)) THEN
690        CALL cxios_get_domain_bounds_lon_name &
691      (domain_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_))
692      ENDIF
693
694      IF (PRESENT(chunking_weight_i_)) THEN
695        CALL cxios_get_domain_chunking_weight_i &
696      (domain_hdl%daddr, chunking_weight_i_)
697      ENDIF
698
699      IF (PRESENT(chunking_weight_j_)) THEN
700        CALL cxios_get_domain_chunking_weight_j &
701      (domain_hdl%daddr, chunking_weight_j_)
702      ENDIF
703
704      IF (PRESENT(comment_)) THEN
705        CALL cxios_get_domain_comment &
706      (domain_hdl%daddr, comment_, len(comment_))
707      ENDIF
708
709      IF (PRESENT(data_dim_)) THEN
710        CALL cxios_get_domain_data_dim &
711      (domain_hdl%daddr, data_dim_)
712      ENDIF
713
714      IF (PRESENT(data_i_index_)) THEN
715        CALL cxios_get_domain_data_i_index &
716      (domain_hdl%daddr, data_i_index_, SHAPE(data_i_index_))
717      ENDIF
718
719      IF (PRESENT(data_ibegin_)) THEN
720        CALL cxios_get_domain_data_ibegin &
721      (domain_hdl%daddr, data_ibegin_)
722      ENDIF
723
724      IF (PRESENT(data_j_index_)) THEN
725        CALL cxios_get_domain_data_j_index &
726      (domain_hdl%daddr, data_j_index_, SHAPE(data_j_index_))
727      ENDIF
728
729      IF (PRESENT(data_jbegin_)) THEN
730        CALL cxios_get_domain_data_jbegin &
731      (domain_hdl%daddr, data_jbegin_)
732      ENDIF
733
734      IF (PRESENT(data_ni_)) THEN
735        CALL cxios_get_domain_data_ni &
736      (domain_hdl%daddr, data_ni_)
737      ENDIF
738
739      IF (PRESENT(data_nj_)) THEN
740        CALL cxios_get_domain_data_nj &
741      (domain_hdl%daddr, data_nj_)
742      ENDIF
743
744      IF (PRESENT(dim_i_name_)) THEN
745        CALL cxios_get_domain_dim_i_name &
746      (domain_hdl%daddr, dim_i_name_, len(dim_i_name_))
747      ENDIF
748
749      IF (PRESENT(dim_j_name_)) THEN
750        CALL cxios_get_domain_dim_j_name &
751      (domain_hdl%daddr, dim_j_name_, len(dim_j_name_))
752      ENDIF
753
754      IF (PRESENT(domain_ref_)) THEN
755        CALL cxios_get_domain_domain_ref &
756      (domain_hdl%daddr, domain_ref_, len(domain_ref_))
757      ENDIF
758
759      IF (PRESENT(i_index_)) THEN
760        CALL cxios_get_domain_i_index &
761      (domain_hdl%daddr, i_index_, SHAPE(i_index_))
762      ENDIF
763
764      IF (PRESENT(ibegin_)) THEN
765        CALL cxios_get_domain_ibegin &
766      (domain_hdl%daddr, ibegin_)
767      ENDIF
768
769      IF (PRESENT(j_index_)) THEN
770        CALL cxios_get_domain_j_index &
771      (domain_hdl%daddr, j_index_, SHAPE(j_index_))
772      ENDIF
773
774      IF (PRESENT(jbegin_)) THEN
775        CALL cxios_get_domain_jbegin &
776      (domain_hdl%daddr, jbegin_)
777      ENDIF
778
779      IF (PRESENT(lat_name_)) THEN
780        CALL cxios_get_domain_lat_name &
781      (domain_hdl%daddr, lat_name_, len(lat_name_))
782      ENDIF
783
784      IF (PRESENT(latvalue_1d_)) THEN
785        CALL cxios_get_domain_latvalue_1d &
786      (domain_hdl%daddr, latvalue_1d_, SHAPE(latvalue_1d_))
787      ENDIF
788
789      IF (PRESENT(latvalue_2d_)) THEN
790        CALL cxios_get_domain_latvalue_2d &
791      (domain_hdl%daddr, latvalue_2d_, SHAPE(latvalue_2d_))
792      ENDIF
793
794      IF (PRESENT(lon_name_)) THEN
795        CALL cxios_get_domain_lon_name &
796      (domain_hdl%daddr, lon_name_, len(lon_name_))
797      ENDIF
798
799      IF (PRESENT(long_name_)) THEN
800        CALL cxios_get_domain_long_name &
801      (domain_hdl%daddr, long_name_, len(long_name_))
802      ENDIF
803
804      IF (PRESENT(lonvalue_1d_)) THEN
805        CALL cxios_get_domain_lonvalue_1d &
806      (domain_hdl%daddr, lonvalue_1d_, SHAPE(lonvalue_1d_))
807      ENDIF
808
809      IF (PRESENT(lonvalue_2d_)) THEN
810        CALL cxios_get_domain_lonvalue_2d &
811      (domain_hdl%daddr, lonvalue_2d_, SHAPE(lonvalue_2d_))
812      ENDIF
813
814      IF (PRESENT(mask_1d_)) THEN
815        ALLOCATE(mask_1d__tmp(SIZE(mask_1d_,1)))
816        CALL cxios_get_domain_mask_1d &
817      (domain_hdl%daddr, mask_1d__tmp, SHAPE(mask_1d_))
818        mask_1d_ = mask_1d__tmp
819      ENDIF
820
821      IF (PRESENT(mask_2d_)) THEN
822        ALLOCATE(mask_2d__tmp(SIZE(mask_2d_,1), SIZE(mask_2d_,2)))
823        CALL cxios_get_domain_mask_2d &
824      (domain_hdl%daddr, mask_2d__tmp, SHAPE(mask_2d_))
825        mask_2d_ = mask_2d__tmp
826      ENDIF
827
828      IF (PRESENT(name_)) THEN
829        CALL cxios_get_domain_name &
830      (domain_hdl%daddr, name_, len(name_))
831      ENDIF
832
833      IF (PRESENT(ni_)) THEN
834        CALL cxios_get_domain_ni &
835      (domain_hdl%daddr, ni_)
836      ENDIF
837
838      IF (PRESENT(ni_glo_)) THEN
839        CALL cxios_get_domain_ni_glo &
840      (domain_hdl%daddr, ni_glo_)
841      ENDIF
842
843      IF (PRESENT(nj_)) THEN
844        CALL cxios_get_domain_nj &
845      (domain_hdl%daddr, nj_)
846      ENDIF
847
848      IF (PRESENT(nj_glo_)) THEN
849        CALL cxios_get_domain_nj_glo &
850      (domain_hdl%daddr, nj_glo_)
851      ENDIF
852
853      IF (PRESENT(nvertex_)) THEN
854        CALL cxios_get_domain_nvertex &
855      (domain_hdl%daddr, nvertex_)
856      ENDIF
857
858      IF (PRESENT(nvertex_name_)) THEN
859        CALL cxios_get_domain_nvertex_name &
860      (domain_hdl%daddr, nvertex_name_, len(nvertex_name_))
861      ENDIF
862
863      IF (PRESENT(prec_)) THEN
864        CALL cxios_get_domain_prec &
865      (domain_hdl%daddr, prec_)
866      ENDIF
867
868      IF (PRESENT(radius_)) THEN
869        CALL cxios_get_domain_radius &
870      (domain_hdl%daddr, radius_)
871      ENDIF
872
873      IF (PRESENT(standard_name_)) THEN
874        CALL cxios_get_domain_standard_name &
875      (domain_hdl%daddr, standard_name_, len(standard_name_))
876      ENDIF
877
878      IF (PRESENT(type_)) THEN
879        CALL cxios_get_domain_type &
880      (domain_hdl%daddr, type_, len(type_))
881      ENDIF
882
883  END SUBROUTINE xios(get_domain_attr_hdl_)
884
885  SUBROUTINE xios(is_defined_domain_attr)  &
886    ( domain_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
887    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
888    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
889    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
890    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
891    , prec, radius, standard_name, type )
892
893    IMPLICIT NONE
894      TYPE(txios(domain))  :: domain_hdl
895      CHARACTER(LEN=*), INTENT(IN) ::domain_id
896      LOGICAL, OPTIONAL, INTENT(OUT) :: area
897      LOGICAL(KIND=C_BOOL) :: area_tmp
898      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d
899      LOGICAL(KIND=C_BOOL) :: area_1d_tmp
900      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d
901      LOGICAL(KIND=C_BOOL) :: area_2d_tmp
902      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d
903      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp
904      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d
905      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp
906      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name
907      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp
908      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d
909      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp
910      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d
911      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp
912      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name
913      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp
914      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i
915      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp
916      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j
917      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp
918      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
919      LOGICAL(KIND=C_BOOL) :: comment_tmp
920      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim
921      LOGICAL(KIND=C_BOOL) :: data_dim_tmp
922      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index
923      LOGICAL(KIND=C_BOOL) :: data_i_index_tmp
924      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin
925      LOGICAL(KIND=C_BOOL) :: data_ibegin_tmp
926      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index
927      LOGICAL(KIND=C_BOOL) :: data_j_index_tmp
928      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin
929      LOGICAL(KIND=C_BOOL) :: data_jbegin_tmp
930      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni
931      LOGICAL(KIND=C_BOOL) :: data_ni_tmp
932      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj
933      LOGICAL(KIND=C_BOOL) :: data_nj_tmp
934      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name
935      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp
936      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name
937      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp
938      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
939      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
940      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
941      LOGICAL(KIND=C_BOOL) :: i_index_tmp
942      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin
943      LOGICAL(KIND=C_BOOL) :: ibegin_tmp
944      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index
945      LOGICAL(KIND=C_BOOL) :: j_index_tmp
946      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin
947      LOGICAL(KIND=C_BOOL) :: jbegin_tmp
948      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name
949      LOGICAL(KIND=C_BOOL) :: lat_name_tmp
950      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d
951      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp
952      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d
953      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp
954      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name
955      LOGICAL(KIND=C_BOOL) :: lon_name_tmp
956      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
957      LOGICAL(KIND=C_BOOL) :: long_name_tmp
958      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d
959      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp
960      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d
961      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp
962      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
963      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
964      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
965      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
966      LOGICAL, OPTIONAL, INTENT(OUT) :: name
967      LOGICAL(KIND=C_BOOL) :: name_tmp
968      LOGICAL, OPTIONAL, INTENT(OUT) :: ni
969      LOGICAL(KIND=C_BOOL) :: ni_tmp
970      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo
971      LOGICAL(KIND=C_BOOL) :: ni_glo_tmp
972      LOGICAL, OPTIONAL, INTENT(OUT) :: nj
973      LOGICAL(KIND=C_BOOL) :: nj_tmp
974      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo
975      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp
976      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex
977      LOGICAL(KIND=C_BOOL) :: nvertex_tmp
978      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name
979      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp
980      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
981      LOGICAL(KIND=C_BOOL) :: prec_tmp
982      LOGICAL, OPTIONAL, INTENT(OUT) :: radius
983      LOGICAL(KIND=C_BOOL) :: radius_tmp
984      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
985      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
986      LOGICAL, OPTIONAL, INTENT(OUT) :: type
987      LOGICAL(KIND=C_BOOL) :: type_tmp
988
989      CALL xios(get_domain_handle) &
990      (domain_id,domain_hdl)
991      CALL xios(is_defined_domain_attr_hdl_)   &
992      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
993      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
994      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
995      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
996      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
997      , prec, radius, standard_name, type )
998
999  END SUBROUTINE xios(is_defined_domain_attr)
1000
1001  SUBROUTINE xios(is_defined_domain_attr_hdl)  &
1002    ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
1003    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
1004    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
1005    , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
1006    , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
1007    , prec, radius, standard_name, type )
1008
1009    IMPLICIT NONE
1010      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
1011      LOGICAL, OPTIONAL, INTENT(OUT) :: area
1012      LOGICAL(KIND=C_BOOL) :: area_tmp
1013      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d
1014      LOGICAL(KIND=C_BOOL) :: area_1d_tmp
1015      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d
1016      LOGICAL(KIND=C_BOOL) :: area_2d_tmp
1017      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d
1018      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp
1019      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d
1020      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d_tmp
1021      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name
1022      LOGICAL(KIND=C_BOOL) :: bounds_lat_name_tmp
1023      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d
1024      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d_tmp
1025      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d
1026      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d_tmp
1027      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name
1028      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp
1029      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i
1030      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp
1031      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j
1032      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp
1033      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
1034      LOGICAL(KIND=C_BOOL) :: comment_tmp
1035      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim
1036      LOGICAL(KIND=C_BOOL) :: data_dim_tmp
1037      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index
1038      LOGICAL(KIND=C_BOOL) :: data_i_index_tmp
1039      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin
1040      LOGICAL(KIND=C_BOOL) :: data_ibegin_tmp
1041      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index
1042      LOGICAL(KIND=C_BOOL) :: data_j_index_tmp
1043      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin
1044      LOGICAL(KIND=C_BOOL) :: data_jbegin_tmp
1045      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni
1046      LOGICAL(KIND=C_BOOL) :: data_ni_tmp
1047      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj
1048      LOGICAL(KIND=C_BOOL) :: data_nj_tmp
1049      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name
1050      LOGICAL(KIND=C_BOOL) :: dim_i_name_tmp
1051      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name
1052      LOGICAL(KIND=C_BOOL) :: dim_j_name_tmp
1053      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
1054      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
1055      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index
1056      LOGICAL(KIND=C_BOOL) :: i_index_tmp
1057      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin
1058      LOGICAL(KIND=C_BOOL) :: ibegin_tmp
1059      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index
1060      LOGICAL(KIND=C_BOOL) :: j_index_tmp
1061      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin
1062      LOGICAL(KIND=C_BOOL) :: jbegin_tmp
1063      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name
1064      LOGICAL(KIND=C_BOOL) :: lat_name_tmp
1065      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d
1066      LOGICAL(KIND=C_BOOL) :: latvalue_1d_tmp
1067      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d
1068      LOGICAL(KIND=C_BOOL) :: latvalue_2d_tmp
1069      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name
1070      LOGICAL(KIND=C_BOOL) :: lon_name_tmp
1071      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
1072      LOGICAL(KIND=C_BOOL) :: long_name_tmp
1073      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d
1074      LOGICAL(KIND=C_BOOL) :: lonvalue_1d_tmp
1075      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d
1076      LOGICAL(KIND=C_BOOL) :: lonvalue_2d_tmp
1077      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d
1078      LOGICAL(KIND=C_BOOL) :: mask_1d_tmp
1079      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d
1080      LOGICAL(KIND=C_BOOL) :: mask_2d_tmp
1081      LOGICAL, OPTIONAL, INTENT(OUT) :: name
1082      LOGICAL(KIND=C_BOOL) :: name_tmp
1083      LOGICAL, OPTIONAL, INTENT(OUT) :: ni
1084      LOGICAL(KIND=C_BOOL) :: ni_tmp
1085      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo
1086      LOGICAL(KIND=C_BOOL) :: ni_glo_tmp
1087      LOGICAL, OPTIONAL, INTENT(OUT) :: nj
1088      LOGICAL(KIND=C_BOOL) :: nj_tmp
1089      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo
1090      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp
1091      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex
1092      LOGICAL(KIND=C_BOOL) :: nvertex_tmp
1093      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name
1094      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp
1095      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
1096      LOGICAL(KIND=C_BOOL) :: prec_tmp
1097      LOGICAL, OPTIONAL, INTENT(OUT) :: radius
1098      LOGICAL(KIND=C_BOOL) :: radius_tmp
1099      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
1100      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
1101      LOGICAL, OPTIONAL, INTENT(OUT) :: type
1102      LOGICAL(KIND=C_BOOL) :: type_tmp
1103
1104      CALL xios(is_defined_domain_attr_hdl_)  &
1105      ( domain_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  &
1106      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  &
1107      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  &
1108      , i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name, long_name  &
1109      , lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex, nvertex_name  &
1110      , prec, radius, standard_name, type )
1111
1112  END SUBROUTINE xios(is_defined_domain_attr_hdl)
1113
1114  SUBROUTINE xios(is_defined_domain_attr_hdl_)   &
1115    ( domain_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_  &
1116    , bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_, data_dim_  &
1117    , data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  &
1118    , dim_j_name_, domain_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_, latvalue_2d_  &
1119    , lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_, ni_, ni_glo_  &
1120    , nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_ )
1121
1122    IMPLICIT NONE
1123      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl
1124      LOGICAL, OPTIONAL, INTENT(OUT) :: area_
1125      LOGICAL(KIND=C_BOOL) :: area__tmp
1126      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d_
1127      LOGICAL(KIND=C_BOOL) :: area_1d__tmp
1128      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d_
1129      LOGICAL(KIND=C_BOOL) :: area_2d__tmp
1130      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d_
1131      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d__tmp
1132      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d_
1133      LOGICAL(KIND=C_BOOL) :: bounds_lat_2d__tmp
1134      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name_
1135      LOGICAL(KIND=C_BOOL) :: bounds_lat_name__tmp
1136      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d_
1137      LOGICAL(KIND=C_BOOL) :: bounds_lon_1d__tmp
1138      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d_
1139      LOGICAL(KIND=C_BOOL) :: bounds_lon_2d__tmp
1140      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name_
1141      LOGICAL(KIND=C_BOOL) :: bounds_lon_name__tmp
1142      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i_
1143      LOGICAL(KIND=C_BOOL) :: chunking_weight_i__tmp
1144      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j_
1145      LOGICAL(KIND=C_BOOL) :: chunking_weight_j__tmp
1146      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_
1147      LOGICAL(KIND=C_BOOL) :: comment__tmp
1148      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_
1149      LOGICAL(KIND=C_BOOL) :: data_dim__tmp
1150      LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index_
1151      LOGICAL(KIND=C_BOOL) :: data_i_index__tmp
1152      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin_
1153      LOGICAL(KIND=C_BOOL) :: data_ibegin__tmp
1154      LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index_
1155      LOGICAL(KIND=C_BOOL) :: data_j_index__tmp
1156      LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin_
1157      LOGICAL(KIND=C_BOOL) :: data_jbegin__tmp
1158      LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni_
1159      LOGICAL(KIND=C_BOOL) :: data_ni__tmp
1160      LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj_
1161      LOGICAL(KIND=C_BOOL) :: data_nj__tmp
1162      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name_
1163      LOGICAL(KIND=C_BOOL) :: dim_i_name__tmp
1164      LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name_
1165      LOGICAL(KIND=C_BOOL) :: dim_j_name__tmp
1166      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
1167      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
1168      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index_
1169      LOGICAL(KIND=C_BOOL) :: i_index__tmp
1170      LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin_
1171      LOGICAL(KIND=C_BOOL) :: ibegin__tmp
1172      LOGICAL, OPTIONAL, INTENT(OUT) :: j_index_
1173      LOGICAL(KIND=C_BOOL) :: j_index__tmp
1174      LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin_
1175      LOGICAL(KIND=C_BOOL) :: jbegin__tmp
1176      LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name_
1177      LOGICAL(KIND=C_BOOL) :: lat_name__tmp
1178      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d_
1179      LOGICAL(KIND=C_BOOL) :: latvalue_1d__tmp
1180      LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d_
1181      LOGICAL(KIND=C_BOOL) :: latvalue_2d__tmp
1182      LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name_
1183      LOGICAL(KIND=C_BOOL) :: lon_name__tmp
1184      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
1185      LOGICAL(KIND=C_BOOL) :: long_name__tmp
1186      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d_
1187      LOGICAL(KIND=C_BOOL) :: lonvalue_1d__tmp
1188      LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d_
1189      LOGICAL(KIND=C_BOOL) :: lonvalue_2d__tmp
1190      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d_
1191      LOGICAL(KIND=C_BOOL) :: mask_1d__tmp
1192      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d_
1193      LOGICAL(KIND=C_BOOL) :: mask_2d__tmp
1194      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
1195      LOGICAL(KIND=C_BOOL) :: name__tmp
1196      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_
1197      LOGICAL(KIND=C_BOOL) :: ni__tmp
1198      LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo_
1199      LOGICAL(KIND=C_BOOL) :: ni_glo__tmp
1200      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_
1201      LOGICAL(KIND=C_BOOL) :: nj__tmp
1202      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo_
1203      LOGICAL(KIND=C_BOOL) :: nj_glo__tmp
1204      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_
1205      LOGICAL(KIND=C_BOOL) :: nvertex__tmp
1206      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name_
1207      LOGICAL(KIND=C_BOOL) :: nvertex_name__tmp
1208      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_
1209      LOGICAL(KIND=C_BOOL) :: prec__tmp
1210      LOGICAL, OPTIONAL, INTENT(OUT) :: radius_
1211      LOGICAL(KIND=C_BOOL) :: radius__tmp
1212      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_
1213      LOGICAL(KIND=C_BOOL) :: standard_name__tmp
1214      LOGICAL, OPTIONAL, INTENT(OUT) :: type_
1215      LOGICAL(KIND=C_BOOL) :: type__tmp
1216
1217      IF (PRESENT(area_)) THEN
1218        area__tmp = cxios_is_defined_domain_area &
1219      (domain_hdl%daddr)
1220        area_ = area__tmp
1221      ENDIF
1222
1223      IF (PRESENT(area_1d_)) THEN
1224        area_1d__tmp = cxios_is_defined_domain_area_1d &
1225      (domain_hdl%daddr)
1226        area_1d_ = area_1d__tmp
1227      ENDIF
1228
1229      IF (PRESENT(area_2d_)) THEN
1230        area_2d__tmp = cxios_is_defined_domain_area_2d &
1231      (domain_hdl%daddr)
1232        area_2d_ = area_2d__tmp
1233      ENDIF
1234
1235      IF (PRESENT(bounds_lat_1d_)) THEN
1236        bounds_lat_1d__tmp = cxios_is_defined_domain_bounds_lat_1d &
1237      (domain_hdl%daddr)
1238        bounds_lat_1d_ = bounds_lat_1d__tmp
1239      ENDIF
1240
1241      IF (PRESENT(bounds_lat_2d_)) THEN
1242        bounds_lat_2d__tmp = cxios_is_defined_domain_bounds_lat_2d &
1243      (domain_hdl%daddr)
1244        bounds_lat_2d_ = bounds_lat_2d__tmp
1245      ENDIF
1246
1247      IF (PRESENT(bounds_lat_name_)) THEN
1248        bounds_lat_name__tmp = cxios_is_defined_domain_bounds_lat_name &
1249      (domain_hdl%daddr)
1250        bounds_lat_name_ = bounds_lat_name__tmp
1251      ENDIF
1252
1253      IF (PRESENT(bounds_lon_1d_)) THEN
1254        bounds_lon_1d__tmp = cxios_is_defined_domain_bounds_lon_1d &
1255      (domain_hdl%daddr)
1256        bounds_lon_1d_ = bounds_lon_1d__tmp
1257      ENDIF
1258
1259      IF (PRESENT(bounds_lon_2d_)) THEN
1260        bounds_lon_2d__tmp = cxios_is_defined_domain_bounds_lon_2d &
1261      (domain_hdl%daddr)
1262        bounds_lon_2d_ = bounds_lon_2d__tmp
1263      ENDIF
1264
1265      IF (PRESENT(bounds_lon_name_)) THEN
1266        bounds_lon_name__tmp = cxios_is_defined_domain_bounds_lon_name &
1267      (domain_hdl%daddr)
1268        bounds_lon_name_ = bounds_lon_name__tmp
1269      ENDIF
1270
1271      IF (PRESENT(chunking_weight_i_)) THEN
1272        chunking_weight_i__tmp = cxios_is_defined_domain_chunking_weight_i &
1273      (domain_hdl%daddr)
1274        chunking_weight_i_ = chunking_weight_i__tmp
1275      ENDIF
1276
1277      IF (PRESENT(chunking_weight_j_)) THEN
1278        chunking_weight_j__tmp = cxios_is_defined_domain_chunking_weight_j &
1279      (domain_hdl%daddr)
1280        chunking_weight_j_ = chunking_weight_j__tmp
1281      ENDIF
1282
1283      IF (PRESENT(comment_)) THEN
1284        comment__tmp = cxios_is_defined_domain_comment &
1285      (domain_hdl%daddr)
1286        comment_ = comment__tmp
1287      ENDIF
1288
1289      IF (PRESENT(data_dim_)) THEN
1290        data_dim__tmp = cxios_is_defined_domain_data_dim &
1291      (domain_hdl%daddr)
1292        data_dim_ = data_dim__tmp
1293      ENDIF
1294
1295      IF (PRESENT(data_i_index_)) THEN
1296        data_i_index__tmp = cxios_is_defined_domain_data_i_index &
1297      (domain_hdl%daddr)
1298        data_i_index_ = data_i_index__tmp
1299      ENDIF
1300
1301      IF (PRESENT(data_ibegin_)) THEN
1302        data_ibegin__tmp = cxios_is_defined_domain_data_ibegin &
1303      (domain_hdl%daddr)
1304        data_ibegin_ = data_ibegin__tmp
1305      ENDIF
1306
1307      IF (PRESENT(data_j_index_)) THEN
1308        data_j_index__tmp = cxios_is_defined_domain_data_j_index &
1309      (domain_hdl%daddr)
1310        data_j_index_ = data_j_index__tmp
1311      ENDIF
1312
1313      IF (PRESENT(data_jbegin_)) THEN
1314        data_jbegin__tmp = cxios_is_defined_domain_data_jbegin &
1315      (domain_hdl%daddr)
1316        data_jbegin_ = data_jbegin__tmp
1317      ENDIF
1318
1319      IF (PRESENT(data_ni_)) THEN
1320        data_ni__tmp = cxios_is_defined_domain_data_ni &
1321      (domain_hdl%daddr)
1322        data_ni_ = data_ni__tmp
1323      ENDIF
1324
1325      IF (PRESENT(data_nj_)) THEN
1326        data_nj__tmp = cxios_is_defined_domain_data_nj &
1327      (domain_hdl%daddr)
1328        data_nj_ = data_nj__tmp
1329      ENDIF
1330
1331      IF (PRESENT(dim_i_name_)) THEN
1332        dim_i_name__tmp = cxios_is_defined_domain_dim_i_name &
1333      (domain_hdl%daddr)
1334        dim_i_name_ = dim_i_name__tmp
1335      ENDIF
1336
1337      IF (PRESENT(dim_j_name_)) THEN
1338        dim_j_name__tmp = cxios_is_defined_domain_dim_j_name &
1339      (domain_hdl%daddr)
1340        dim_j_name_ = dim_j_name__tmp
1341      ENDIF
1342
1343      IF (PRESENT(domain_ref_)) THEN
1344        domain_ref__tmp = cxios_is_defined_domain_domain_ref &
1345      (domain_hdl%daddr)
1346        domain_ref_ = domain_ref__tmp
1347      ENDIF
1348
1349      IF (PRESENT(i_index_)) THEN
1350        i_index__tmp = cxios_is_defined_domain_i_index &
1351      (domain_hdl%daddr)
1352        i_index_ = i_index__tmp
1353      ENDIF
1354
1355      IF (PRESENT(ibegin_)) THEN
1356        ibegin__tmp = cxios_is_defined_domain_ibegin &
1357      (domain_hdl%daddr)
1358        ibegin_ = ibegin__tmp
1359      ENDIF
1360
1361      IF (PRESENT(j_index_)) THEN
1362        j_index__tmp = cxios_is_defined_domain_j_index &
1363      (domain_hdl%daddr)
1364        j_index_ = j_index__tmp
1365      ENDIF
1366
1367      IF (PRESENT(jbegin_)) THEN
1368        jbegin__tmp = cxios_is_defined_domain_jbegin &
1369      (domain_hdl%daddr)
1370        jbegin_ = jbegin__tmp
1371      ENDIF
1372
1373      IF (PRESENT(lat_name_)) THEN
1374        lat_name__tmp = cxios_is_defined_domain_lat_name &
1375      (domain_hdl%daddr)
1376        lat_name_ = lat_name__tmp
1377      ENDIF
1378
1379      IF (PRESENT(latvalue_1d_)) THEN
1380        latvalue_1d__tmp = cxios_is_defined_domain_latvalue_1d &
1381      (domain_hdl%daddr)
1382        latvalue_1d_ = latvalue_1d__tmp
1383      ENDIF
1384
1385      IF (PRESENT(latvalue_2d_)) THEN
1386        latvalue_2d__tmp = cxios_is_defined_domain_latvalue_2d &
1387      (domain_hdl%daddr)
1388        latvalue_2d_ = latvalue_2d__tmp
1389      ENDIF
1390
1391      IF (PRESENT(lon_name_)) THEN
1392        lon_name__tmp = cxios_is_defined_domain_lon_name &
1393      (domain_hdl%daddr)
1394        lon_name_ = lon_name__tmp
1395      ENDIF
1396
1397      IF (PRESENT(long_name_)) THEN
1398        long_name__tmp = cxios_is_defined_domain_long_name &
1399      (domain_hdl%daddr)
1400        long_name_ = long_name__tmp
1401      ENDIF
1402
1403      IF (PRESENT(lonvalue_1d_)) THEN
1404        lonvalue_1d__tmp = cxios_is_defined_domain_lonvalue_1d &
1405      (domain_hdl%daddr)
1406        lonvalue_1d_ = lonvalue_1d__tmp
1407      ENDIF
1408
1409      IF (PRESENT(lonvalue_2d_)) THEN
1410        lonvalue_2d__tmp = cxios_is_defined_domain_lonvalue_2d &
1411      (domain_hdl%daddr)
1412        lonvalue_2d_ = lonvalue_2d__tmp
1413      ENDIF
1414
1415      IF (PRESENT(mask_1d_)) THEN
1416        mask_1d__tmp = cxios_is_defined_domain_mask_1d &
1417      (domain_hdl%daddr)
1418        mask_1d_ = mask_1d__tmp
1419      ENDIF
1420
1421      IF (PRESENT(mask_2d_)) THEN
1422        mask_2d__tmp = cxios_is_defined_domain_mask_2d &
1423      (domain_hdl%daddr)
1424        mask_2d_ = mask_2d__tmp
1425      ENDIF
1426
1427      IF (PRESENT(name_)) THEN
1428        name__tmp = cxios_is_defined_domain_name &
1429      (domain_hdl%daddr)
1430        name_ = name__tmp
1431      ENDIF
1432
1433      IF (PRESENT(ni_)) THEN
1434        ni__tmp = cxios_is_defined_domain_ni &
1435      (domain_hdl%daddr)
1436        ni_ = ni__tmp
1437      ENDIF
1438
1439      IF (PRESENT(ni_glo_)) THEN
1440        ni_glo__tmp = cxios_is_defined_domain_ni_glo &
1441      (domain_hdl%daddr)
1442        ni_glo_ = ni_glo__tmp
1443      ENDIF
1444
1445      IF (PRESENT(nj_)) THEN
1446        nj__tmp = cxios_is_defined_domain_nj &
1447      (domain_hdl%daddr)
1448        nj_ = nj__tmp
1449      ENDIF
1450
1451      IF (PRESENT(nj_glo_)) THEN
1452        nj_glo__tmp = cxios_is_defined_domain_nj_glo &
1453      (domain_hdl%daddr)
1454        nj_glo_ = nj_glo__tmp
1455      ENDIF
1456
1457      IF (PRESENT(nvertex_)) THEN
1458        nvertex__tmp = cxios_is_defined_domain_nvertex &
1459      (domain_hdl%daddr)
1460        nvertex_ = nvertex__tmp
1461      ENDIF
1462
1463      IF (PRESENT(nvertex_name_)) THEN
1464        nvertex_name__tmp = cxios_is_defined_domain_nvertex_name &
1465      (domain_hdl%daddr)
1466        nvertex_name_ = nvertex_name__tmp
1467      ENDIF
1468
1469      IF (PRESENT(prec_)) THEN
1470        prec__tmp = cxios_is_defined_domain_prec &
1471      (domain_hdl%daddr)
1472        prec_ = prec__tmp
1473      ENDIF
1474
1475      IF (PRESENT(radius_)) THEN
1476        radius__tmp = cxios_is_defined_domain_radius &
1477      (domain_hdl%daddr)
1478        radius_ = radius__tmp
1479      ENDIF
1480
1481      IF (PRESENT(standard_name_)) THEN
1482        standard_name__tmp = cxios_is_defined_domain_standard_name &
1483      (domain_hdl%daddr)
1484        standard_name_ = standard_name__tmp
1485      ENDIF
1486
1487      IF (PRESENT(type_)) THEN
1488        type__tmp = cxios_is_defined_domain_type &
1489      (domain_hdl%daddr)
1490        type_ = type__tmp
1491      ENDIF
1492
1493  END SUBROUTINE xios(is_defined_domain_attr_hdl_)
1494
1495END MODULE idomain_attr
Note: See TracBrowser for help on using the repository browser.