source: XIOS/trunk/src/interface/fortran/ixml_tree.F90 @ 981

Last change on this file since 981 was 981, checked in by mhnguyen, 5 years ago

Fortran interfaces:

+) Adding Fortran interfaces of transformation

Test
+) Only complilation on Curie

  • 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: 35.9 KB
Line 
1#include "xios_fortran_prefix.hpp"
2
3MODULE IXML_TREE
4   USE, INTRINSIC :: ISO_C_BINDING
5   USE ISCALAR
6   USE IAXIS
7   USE IFILE
8   USE IFIELD
9   USE IGRID
10   USE IDOMAIN
11   USE IVARIABLE
12   
13   USE IZOOM_DOMAIN
14   USE IINTERPOLATE_DOMAIN
15   USE IGENERATE_RECTILINEAR_DOMAIN
16   USE ICOMPUTE_CONNECTIVITY_DOMAIN
17   USE IEXPAND_DOMAIN
18
19   USE IZOOM_AXIS
20   USE IINTERPOLATE_AXIS
21   USE IINVERSE_AXIS
22   USE IREDUCE_DOMAIN_TO_AXIS
23   USE IEXTRACT_DOMAIN_TO_AXIS
24
25   USE IREDUCE_AXIS_TO_SCALAR
26   USE IEXTRACT_AXIS_TO_SCALAR
27   USE IREDUCE_DOMAIN_TO_SCALAR
28
29   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99
30
31      SUBROUTINE cxios_xml_tree_add_field(parent_, child_, child_id, child_id_size) BIND(C)
32         USE ISO_C_BINDING
33         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
34         INTEGER  (kind = C_INTPTR_T)               :: child_
35         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
36         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
37      END SUBROUTINE cxios_xml_tree_add_field
38
39      SUBROUTINE cxios_xml_tree_add_grid(parent_, child_, child_id, child_id_size) BIND(C)
40         USE ISO_C_BINDING
41         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
42         INTEGER  (kind = C_INTPTR_T)               :: child_
43         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
44         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
45      END SUBROUTINE cxios_xml_tree_add_grid
46
47      SUBROUTINE cxios_xml_tree_add_file(parent_, child_, child_id, child_id_size) BIND(C)
48         USE ISO_C_BINDING
49         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
50         INTEGER  (kind = C_INTPTR_T)               :: child_
51         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
52         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
53      END SUBROUTINE cxios_xml_tree_add_file
54
55      SUBROUTINE cxios_xml_tree_add_scalar(parent_, child_, child_id, child_id_size) BIND(C)
56         USE ISO_C_BINDING
57         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
58         INTEGER  (kind = C_INTPTR_T)               :: child_
59         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
60         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
61      END SUBROUTINE cxios_xml_tree_add_scalar
62
63      SUBROUTINE cxios_xml_tree_add_axis(parent_, child_, child_id, child_id_size) BIND(C)
64         USE ISO_C_BINDING
65         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
66         INTEGER  (kind = C_INTPTR_T)               :: child_
67         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
68         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
69      END SUBROUTINE cxios_xml_tree_add_axis
70
71      SUBROUTINE cxios_xml_tree_add_domain(parent_, child_, child_id, child_id_size) BIND(C)
72         USE ISO_C_BINDING
73         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
74         INTEGER  (kind = C_INTPTR_T)               :: child_
75         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
76         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
77      END SUBROUTINE cxios_xml_tree_add_domain
78
79      SUBROUTINE cxios_xml_tree_add_fieldtofile(parent_, child_, child_id, child_id_size) BIND(C)
80         USE ISO_C_BINDING
81         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
82         INTEGER  (kind = C_INTPTR_T)               :: child_
83         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
84         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
85      END SUBROUTINE cxios_xml_tree_add_fieldtofile
86
87      SUBROUTINE cxios_xml_tree_add_variabletofile(parent_, child_, child_id, child_id_size) BIND(C)
88         USE ISO_C_BINDING
89         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
90         INTEGER  (kind = C_INTPTR_T)               :: child_
91         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
92         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
93      END SUBROUTINE cxios_xml_tree_add_variabletofile
94
95
96      SUBROUTINE cxios_xml_tree_add_variabletofield(parent_, child_, child_id, child_id_size) BIND(C)
97         USE ISO_C_BINDING
98         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
99         INTEGER  (kind = C_INTPTR_T)               :: child_
100         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
101         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
102      END SUBROUTINE cxios_xml_tree_add_variabletofield
103
104
105      SUBROUTINE cxios_xml_tree_add_fieldgroup(parent_, child_, child_id, child_id_size) BIND(C)
106         USE ISO_C_BINDING
107         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
108         INTEGER  (kind = C_INTPTR_T)               :: child_
109         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
110         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
111      END SUBROUTINE cxios_xml_tree_add_fieldgroup
112
113      SUBROUTINE cxios_xml_tree_add_gridgroup(parent_, child_, child_id, child_id_size) BIND(C)
114         USE ISO_C_BINDING
115         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
116         INTEGER  (kind = C_INTPTR_T)               :: child_
117         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
118         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
119      END SUBROUTINE cxios_xml_tree_add_gridgroup
120
121      SUBROUTINE cxios_xml_tree_add_filegroup(parent_, child_, child_id, child_id_size) BIND(C)
122         USE ISO_C_BINDING
123         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
124         INTEGER  (kind = C_INTPTR_T)               :: child_
125         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
126         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
127      END SUBROUTINE cxios_xml_tree_add_filegroup
128
129      SUBROUTINE cxios_xml_tree_add_scalargroup(parent_, child_, child_id, child_id_size) BIND(C)
130         USE ISO_C_BINDING
131         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
132         INTEGER  (kind = C_INTPTR_T)               :: child_
133         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
134         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
135      END SUBROUTINE cxios_xml_tree_add_scalargroup
136
137      SUBROUTINE cxios_xml_tree_add_axisgroup(parent_, child_, child_id, child_id_size) BIND(C)
138         USE ISO_C_BINDING
139         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
140         INTEGER  (kind = C_INTPTR_T)               :: child_
141         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
142         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
143      END SUBROUTINE cxios_xml_tree_add_axisgroup
144
145      SUBROUTINE cxios_xml_tree_add_domaingroup(parent_, child_, child_id, child_id_size) BIND(C)
146         USE ISO_C_BINDING
147         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
148         INTEGER  (kind = C_INTPTR_T)               :: child_
149         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
150         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
151      END SUBROUTINE cxios_xml_tree_add_domaingroup
152
153      SUBROUTINE cxios_xml_tree_add_fieldgrouptofile(parent_, child_, child_id, child_id_size) BIND(C)
154         USE ISO_C_BINDING
155         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
156         INTEGER  (kind = C_INTPTR_T)               :: child_
157         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
158         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
159      END SUBROUTINE cxios_xml_tree_add_fieldgrouptofile
160
161      SUBROUTINE cxios_xml_tree_add_variablegrouptofile(parent_, child_, child_id, child_id_size) BIND(C)
162         USE ISO_C_BINDING
163         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
164         INTEGER  (kind = C_INTPTR_T)               :: child_
165         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
166         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
167      END SUBROUTINE cxios_xml_tree_add_variablegrouptofile
168
169      SUBROUTINE cxios_xml_tree_add_variablegrouptofield(parent_, child_, child_id, child_id_size) BIND(C)
170         USE ISO_C_BINDING
171         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
172         INTEGER  (kind = C_INTPTR_T)               :: child_
173         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
174         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
175      END SUBROUTINE cxios_xml_tree_add_variablegrouptofield
176
177      SUBROUTINE cxios_xml_tree_add_scalartogrid(parent_, child_, child_id, child_id_size) BIND(C)
178         USE ISO_C_BINDING
179         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
180         INTEGER  (kind = C_INTPTR_T)               :: child_
181         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
182         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
183      END SUBROUTINE cxios_xml_tree_add_scalartogrid
184
185      SUBROUTINE cxios_xml_tree_add_axistogrid(parent_, child_, child_id, child_id_size) BIND(C)
186         USE ISO_C_BINDING
187         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
188         INTEGER  (kind = C_INTPTR_T)               :: child_
189         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
190         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
191      END SUBROUTINE cxios_xml_tree_add_axistogrid
192
193      SUBROUTINE cxios_xml_tree_add_domaintogrid(parent_, child_, child_id, child_id_size) BIND(C)
194         USE ISO_C_BINDING
195         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
196         INTEGER  (kind = C_INTPTR_T)               :: child_
197         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
198         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
199      END SUBROUTINE cxios_xml_tree_add_domaintogrid
200
201      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
202      !!!   TRANSFORMATIONS
203      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
204      !!! DOMAIN
205      SUBROUTINE cxios_xml_tree_add_zoomdomaintodomain(parent_, child_, child_id, child_id_size) BIND(C)
206         USE ISO_C_BINDING
207         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
208         INTEGER  (kind = C_INTPTR_T)               :: child_
209         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
210         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
211      END SUBROUTINE cxios_xml_tree_add_zoomdomaintodomain
212
213      SUBROUTINE cxios_xml_tree_add_interpolatedomaintodomain(parent_, child_, child_id, child_id_size) BIND(C)
214         USE ISO_C_BINDING
215         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
216         INTEGER  (kind = C_INTPTR_T)               :: child_
217         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
218         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
219      END SUBROUTINE cxios_xml_tree_add_interpolatedomaintodomain
220
221      SUBROUTINE cxios_xml_tree_add_generatedomaintodomain(parent_, child_, child_id, child_id_size) BIND(C)
222         USE ISO_C_BINDING
223         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
224         INTEGER  (kind = C_INTPTR_T)               :: child_
225         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
226         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
227      END SUBROUTINE cxios_xml_tree_add_generatedomaintodomain
228
229      SUBROUTINE cxios_xml_tree_add_computeconnectivitydomaintodomain(parent_, child_, child_id, child_id_size) BIND(C)
230         USE ISO_C_BINDING
231         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
232         INTEGER  (kind = C_INTPTR_T)               :: child_
233         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
234         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
235      END SUBROUTINE cxios_xml_tree_add_computeconnectivitydomaintodomain
236
237      SUBROUTINE cxios_xml_tree_add_expanddomaintodomain(parent_, child_, child_id, child_id_size) BIND(C)
238         USE ISO_C_BINDING
239         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
240         INTEGER  (kind = C_INTPTR_T)               :: child_
241         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
242         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
243      END SUBROUTINE cxios_xml_tree_add_expanddomaintodomain
244
245      !!!! AXIS
246      SUBROUTINE cxios_xml_tree_add_zoomaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C)
247         USE ISO_C_BINDING
248         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
249         INTEGER  (kind = C_INTPTR_T)               :: child_
250         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
251         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
252      END SUBROUTINE cxios_xml_tree_add_zoomaxistoaxis
253
254      SUBROUTINE cxios_xml_tree_add_interpolateaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C)
255         USE ISO_C_BINDING
256         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
257         INTEGER  (kind = C_INTPTR_T)               :: child_
258         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
259         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
260      END SUBROUTINE cxios_xml_tree_add_interpolateaxistoaxis
261
262      SUBROUTINE cxios_xml_tree_add_inverseaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C)
263         USE ISO_C_BINDING
264         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
265         INTEGER  (kind = C_INTPTR_T)               :: child_
266         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
267         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
268      END SUBROUTINE cxios_xml_tree_add_inverseaxistoaxis
269
270      SUBROUTINE cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C)
271         USE ISO_C_BINDING
272         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
273         INTEGER  (kind = C_INTPTR_T)               :: child_
274         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
275         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
276      END SUBROUTINE cxios_xml_tree_add_reducedomaintoaxistoaxis
277
278      SUBROUTINE cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_, child_, child_id, child_id_size) BIND(C)
279         USE ISO_C_BINDING
280         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
281         INTEGER  (kind = C_INTPTR_T)               :: child_
282         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
283         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
284      END SUBROUTINE cxios_xml_tree_add_extractdomaintoaxistoaxis
285
286      !!! SCALAR
287      SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C)
288         USE ISO_C_BINDING
289         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
290         INTEGER  (kind = C_INTPTR_T)               :: child_
291         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
292         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
293      END SUBROUTINE cxios_xml_tree_add_reduceaxistoscalartoscalar
294
295      SUBROUTINE cxios_xml_tree_add_extractaxistoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C)
296         USE ISO_C_BINDING
297         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
298         INTEGER  (kind = C_INTPTR_T)               :: child_
299         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
300         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
301      END SUBROUTINE cxios_xml_tree_add_extractaxistoscalartoscalar
302
303      SUBROUTINE cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_, child_, child_id, child_id_size) BIND(C)
304         USE ISO_C_BINDING
305         INTEGER  (kind = C_INTPTR_T), VALUE        :: parent_
306         INTEGER  (kind = C_INTPTR_T)               :: child_
307         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: child_id
308         INTEGER  (kind = C_INT)     , VALUE        :: child_id_size
309      END SUBROUTINE cxios_xml_tree_add_reducedomaintoscalartoscalar
310
311      SUBROUTINE cxios_xml_tree_show(filename, filename_size) BIND(C)
312         USE ISO_C_BINDING
313         CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename
314         INTEGER  (kind = C_INT) , VALUE        :: filename_size
315      END SUBROUTINE cxios_xml_tree_show
316
317      SUBROUTINE cxios_xml_parse_file(filename, filename_size) BIND(C)
318         USE ISO_C_BINDING
319         CHARACTER(kind = C_CHAR), DIMENSION(*) :: filename
320         INTEGER  (kind = C_INT) , VALUE        :: filename_size
321      END SUBROUTINE cxios_xml_parse_file
322
323      SUBROUTINE cxios_xml_parse_string(xmlcontent, xmlcontent_size) BIND(C)
324         USE ISO_C_BINDING
325         CHARACTER(kind = C_CHAR), DIMENSION(*) :: xmlcontent
326         INTEGER  (kind = C_INT) , VALUE        :: xmlcontent_size
327      END SUBROUTINE cxios_xml_parse_string
328
329   END INTERFACE
330
331
332   CONTAINS ! Fonctions disponibles pour les utilisateurs.
333
334   SUBROUTINE xios(add_scalar)(parent_hdl, child_hdl, child_id)
335      TYPE(txios(scalargroup))     , INTENT(IN) :: parent_hdl
336      TYPE(txios(scalar))          , INTENT(OUT):: child_hdl
337      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
338
339      IF (PRESENT(child_id)) THEN
340         CALL cxios_xml_tree_add_scalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
341      ELSE
342         CALL cxios_xml_tree_add_scalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
343      END IF
344
345   END SUBROUTINE xios(add_scalar)
346
347   SUBROUTINE xios(add_axis)(parent_hdl, child_hdl, child_id)
348      TYPE(txios(axisgroup))     , INTENT(IN) :: parent_hdl
349      TYPE(txios(axis))          , INTENT(OUT):: child_hdl
350      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
351
352      IF (PRESENT(child_id)) THEN
353         CALL cxios_xml_tree_add_axis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
354      ELSE
355         CALL cxios_xml_tree_add_axis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
356      END IF
357
358   END SUBROUTINE xios(add_axis)
359
360   SUBROUTINE xios(add_file)(parent_hdl, child_hdl, child_id)
361      TYPE(txios(filegroup))      , INTENT(IN) :: parent_hdl
362      TYPE(txios(file))           , INTENT(OUT):: child_hdl
363      CHARACTER(len = *), OPTIONAL, INTENT(IN)  :: child_id
364
365      IF (PRESENT(child_id)) THEN
366         CALL cxios_xml_tree_add_file(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
367      ELSE
368         CALL cxios_xml_tree_add_file(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
369      END IF
370
371   END SUBROUTINE xios(add_file)
372
373   SUBROUTINE xios(add_grid)(parent_hdl, child_hdl, child_id)
374      TYPE(txios(gridgroup))     , INTENT(IN) :: parent_hdl
375      TYPE(txios(grid))          , INTENT(OUT):: child_hdl
376      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
377      IF (PRESENT(child_id)) THEN
378         CALL cxios_xml_tree_add_grid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
379      ELSE
380         CALL cxios_xml_tree_add_grid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
381      END IF
382
383   END SUBROUTINE xios(add_grid)
384
385
386   SUBROUTINE xios(add_field)(parent_hdl, child_hdl, child_id)
387      TYPE(txios(fieldgroup))     , INTENT(IN) :: parent_hdl
388      TYPE(txios(field))          , INTENT(OUT):: child_hdl
389      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
390
391      IF (PRESENT(child_id)) THEN
392         CALL cxios_xml_tree_add_field(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
393      ELSE
394         CALL cxios_xml_tree_add_field(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
395      END IF
396
397   END SUBROUTINE xios(add_field)
398
399
400   SUBROUTINE xios(add_domain)(parent_hdl, child_hdl, child_id)
401      TYPE(txios(domaingroup))     , INTENT(IN) :: parent_hdl
402      TYPE(txios(domain))     , INTENT(OUT):: child_hdl
403      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
404
405      IF (PRESENT(child_id)) THEN
406         CALL cxios_xml_tree_add_domain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
407      ELSE
408         CALL cxios_xml_tree_add_domain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
409      END IF
410
411   END SUBROUTINE xios(add_domain)
412
413   SUBROUTINE xios(add_fieldtofile)(parent_hdl, child_hdl, child_id)
414      TYPE(txios(file))            , INTENT(IN) :: parent_hdl
415      TYPE(txios(field))           , INTENT(OUT):: child_hdl
416      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
417
418      IF (PRESENT(child_id)) THEN
419         CALL cxios_xml_tree_add_fieldtofile(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
420      ELSE
421         CALL cxios_xml_tree_add_fieldtofile(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
422      END IF
423
424   END SUBROUTINE xios(add_fieldtofile)
425
426   SUBROUTINE xios(add_variabletofile)(parent_hdl, child_hdl, child_id)
427      TYPE(txios(file))            , INTENT(IN) :: parent_hdl
428      TYPE(txios(variable))        , INTENT(OUT):: child_hdl
429      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
430
431      IF (PRESENT(child_id)) THEN
432         CALL cxios_xml_tree_add_variabletofile(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
433      ELSE
434         CALL cxios_xml_tree_add_variabletofile(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
435      END IF
436
437   END SUBROUTINE xios(add_variabletofile)
438
439   SUBROUTINE xios(add_variabletofield)(parent_hdl, child_hdl, child_id)
440      TYPE(txios(field))            , INTENT(IN) :: parent_hdl
441      TYPE(txios(variable))         , INTENT(OUT):: child_hdl
442      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
443
444      IF (PRESENT(child_id)) THEN
445         CALL cxios_xml_tree_add_variabletofield(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
446      ELSE
447         CALL cxios_xml_tree_add_variabletofield(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
448      END IF
449
450   END SUBROUTINE xios(add_variabletofield)
451
452   SUBROUTINE xios(add_scalargroup)(parent_hdl, child_hdl, child_id)
453      TYPE(txios(scalargroup))      , INTENT(IN) :: parent_hdl
454      TYPE(txios(scalargroup))      , INTENT(OUT):: child_hdl
455      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
456
457      IF (PRESENT(child_id)) THEN
458         CALL cxios_xml_tree_add_scalargroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
459      ELSE
460         CALL cxios_xml_tree_add_scalargroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
461      END IF
462
463   END SUBROUTINE xios(add_scalargroup)
464
465   SUBROUTINE xios(add_axisgroup)(parent_hdl, child_hdl, child_id)
466      TYPE(txios(axisgroup))      , INTENT(IN) :: parent_hdl
467      TYPE(txios(axisgroup))      , INTENT(OUT):: child_hdl
468      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
469
470      IF (PRESENT(child_id)) THEN
471         CALL cxios_xml_tree_add_axisgroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
472      ELSE
473         CALL cxios_xml_tree_add_axisgroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
474      END IF
475
476   END SUBROUTINE xios(add_axisgroup)
477
478
479   SUBROUTINE xios(add_filegroup)(parent_hdl, child_hdl, child_id)
480      TYPE(txios(filegroup))      , INTENT(IN) :: parent_hdl
481      TYPE(txios(filegroup))      , INTENT(OUT):: child_hdl
482      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
483
484      IF (PRESENT(child_id)) THEN
485         CALL cxios_xml_tree_add_filegroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
486      ELSE
487         CALL cxios_xml_tree_add_filegroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
488      END IF
489
490   END SUBROUTINE xios(add_filegroup)
491
492   SUBROUTINE xios(add_gridgroup)(parent_hdl, child_hdl, child_id)
493      TYPE(txios(gridgroup))      , INTENT(IN) :: parent_hdl
494      TYPE(txios(gridgroup))      , INTENT(OUT):: child_hdl
495      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
496
497      IF (PRESENT(child_id)) THEN
498         CALL cxios_xml_tree_add_gridgroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
499      ELSE
500         CALL cxios_xml_tree_add_gridgroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
501      END IF
502
503   END SUBROUTINE xios(add_gridgroup)
504
505
506   SUBROUTINE xios(add_fieldgroup)(parent_hdl, child_hdl, child_id)
507      TYPE(txios(fieldgroup))     , INTENT(IN) :: parent_hdl
508      TYPE(txios(fieldgroup))     , INTENT(OUT):: child_hdl
509      CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
510      IF (PRESENT(child_id)) THEN
511         CALL cxios_xml_tree_add_fieldgroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
512      ELSE
513         CALL cxios_xml_tree_add_fieldgroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
514      END IF
515   END SUBROUTINE xios(add_fieldgroup)
516
517   SUBROUTINE xios(add_domaingroup)(parent_hdl, child_hdl, child_id)
518      TYPE(txios(domaingroup))     , INTENT(IN) :: parent_hdl
519      TYPE(txios(domaingroup))     , INTENT(OUT):: child_hdl
520      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
521
522      IF (PRESENT(child_id)) THEN
523         CALL cxios_xml_tree_add_domaingroup(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
524      ELSE
525         CALL cxios_xml_tree_add_domaingroup(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
526      END IF
527
528   END SUBROUTINE xios(add_domaingroup)
529
530   SUBROUTINE xios(add_fieldgrouptofile)(parent_hdl, child_hdl, child_id)
531      TYPE(txios(file))            , INTENT(IN) :: parent_hdl
532      TYPE(txios(fieldgroup))      , INTENT(OUT):: child_hdl
533      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
534
535      IF (PRESENT(child_id)) THEN
536         CALL cxios_xml_tree_add_fieldgrouptofile(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
537      ELSE
538         CALL cxios_xml_tree_add_fieldgrouptofile(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
539      END IF
540
541   END SUBROUTINE xios(add_fieldgrouptofile)
542
543   SUBROUTINE xios(add_variablegrouptofile)(parent_hdl, child_hdl, child_id)
544      TYPE(txios(file))            , INTENT(IN) :: parent_hdl
545      TYPE(txios(variablegroup))   , INTENT(OUT):: child_hdl
546      CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id
547
548      IF (PRESENT(child_id)) THEN
549         CALL cxios_xml_tree_add_variablegrouptofile(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
550      ELSE
551         CALL cxios_xml_tree_add_variablegrouptofile(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
552      END IF
553
554   END SUBROUTINE xios(add_variablegrouptofile)
555
556   SUBROUTINE xios(add_variablegrouptofield)(parent_hdl, child_hdl, child_id)
557      TYPE(txios(field))            , INTENT(IN) :: parent_hdl
558      TYPE(txios(variablegroup))    , INTENT(OUT):: child_hdl
559      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
560
561      IF (PRESENT(child_id)) THEN
562         CALL cxios_xml_tree_add_variablegrouptofield(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
563      ELSE
564         CALL cxios_xml_tree_add_variablegrouptofield(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
565      END IF
566
567   END SUBROUTINE xios(add_variablegrouptofield)
568
569   SUBROUTINE xios(add_scalartogrid)(parent_hdl, child_hdl, child_id)
570      TYPE(txios(grid))             , INTENT(IN) :: parent_hdl
571      TYPE(txios(scalar))           , INTENT(OUT):: child_hdl
572      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
573
574      IF (PRESENT(child_id)) THEN
575         CALL cxios_xml_tree_add_scalartogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
576      ELSE
577         CALL cxios_xml_tree_add_scalartogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
578      END IF
579
580   END SUBROUTINE xios(add_scalartogrid)
581
582   SUBROUTINE xios(add_axistogrid)(parent_hdl, child_hdl, child_id)
583      TYPE(txios(grid))             , INTENT(IN) :: parent_hdl
584      TYPE(txios(axis))             , INTENT(OUT):: child_hdl
585      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
586
587      IF (PRESENT(child_id)) THEN
588         CALL cxios_xml_tree_add_axistogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
589      ELSE
590         CALL cxios_xml_tree_add_axistogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
591      END IF
592
593   END SUBROUTINE xios(add_axistogrid)
594
595   SUBROUTINE xios(add_domaintogrid)(parent_hdl, child_hdl, child_id)
596      TYPE(txios(grid))             , INTENT(IN) :: parent_hdl
597      TYPE(txios(domain))           , INTENT(OUT):: child_hdl
598      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
599
600      IF (PRESENT(child_id)) THEN
601         CALL cxios_xml_tree_add_domaintogrid(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
602      ELSE
603         CALL cxios_xml_tree_add_domaintogrid(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
604      END IF
605
606   END SUBROUTINE xios(add_domaintogrid)
607
608   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
609   !!!         TRANSFORMATIONS
610   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
611   !!!         DOAMIN
612   SUBROUTINE xios(add_zoomdomaintodomain)(parent_hdl, child_hdl, child_id)
613      TYPE(txios(domain))           , INTENT(IN) :: parent_hdl
614      TYPE(txios(zoom_domain))      , INTENT(OUT):: child_hdl
615      CHARACTER(len = *), OPTIONAL  , INTENT(IN) :: child_id
616
617      IF (PRESENT(child_id)) THEN
618         CALL cxios_xml_tree_add_zoomdomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
619      ELSE
620         CALL cxios_xml_tree_add_zoomdomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
621      END IF
622
623   END SUBROUTINE xios(add_zoomdomaintodomain)
624
625   SUBROUTINE xios(add_interpolatedomaintodomain)(parent_hdl, child_hdl, child_id)
626      TYPE(txios(domain))             , INTENT(IN) :: parent_hdl
627      TYPE(txios(interpolate_domain)) , INTENT(OUT):: child_hdl
628      CHARACTER(len = *), OPTIONAL    , INTENT(IN) :: child_id
629
630      IF (PRESENT(child_id)) THEN
631         CALL cxios_xml_tree_add_interpolatedomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
632      ELSE
633         CALL cxios_xml_tree_add_interpolatedomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
634      END IF
635
636   END SUBROUTINE xios(add_interpolatedomaintodomain)
637
638   SUBROUTINE xios(add_generatedomaintodomain)(parent_hdl, child_hdl, child_id)
639      TYPE(txios(domain))                      , INTENT(IN) :: parent_hdl
640      TYPE(txios(generate_rectilinear_domain)) , INTENT(OUT):: child_hdl
641      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
642
643      IF (PRESENT(child_id)) THEN
644         CALL cxios_xml_tree_add_generatedomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
645      ELSE
646         CALL cxios_xml_tree_add_generatedomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
647      END IF
648
649   END SUBROUTINE xios(add_generatedomaintodomain)
650
651   SUBROUTINE xios(add_computeconnectivitydomaintodomain)(parent_hdl, child_hdl, child_id)
652      TYPE(txios(domain))                      , INTENT(IN) :: parent_hdl
653      TYPE(txios(compute_connectivity_domain)) , INTENT(OUT):: child_hdl
654      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
655
656      IF (PRESENT(child_id)) THEN
657         CALL cxios_xml_tree_add_computeconnectivitydomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
658      ELSE
659         CALL cxios_xml_tree_add_computeconnectivitydomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
660      END IF
661
662   END SUBROUTINE xios(add_computeconnectivitydomaintodomain)
663
664   SUBROUTINE xios(add_expanddomaintodomain)(parent_hdl, child_hdl, child_id)
665      TYPE(txios(domain))                      , INTENT(IN) :: parent_hdl
666      TYPE(txios(expand_domain))               , INTENT(OUT):: child_hdl
667      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
668
669      IF (PRESENT(child_id)) THEN
670         CALL cxios_xml_tree_add_expanddomaintodomain(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
671      ELSE
672         CALL cxios_xml_tree_add_expanddomaintodomain(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
673      END IF
674
675   END SUBROUTINE xios(add_expanddomaintodomain)
676
677   !!!  AXIS
678   SUBROUTINE xios(add_zoomaxistoaxis)(parent_hdl, child_hdl, child_id)
679      TYPE(txios(axis))                      , INTENT(IN) :: parent_hdl
680      TYPE(txios(zoom_axis))                 , INTENT(OUT):: child_hdl
681      CHARACTER(len = *), OPTIONAL           , INTENT(IN) :: child_id
682
683      IF (PRESENT(child_id)) THEN
684         CALL cxios_xml_tree_add_zoomaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
685      ELSE
686         CALL cxios_xml_tree_add_zoomaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
687      END IF
688
689   END SUBROUTINE xios(add_zoomaxistoaxis)
690
691   SUBROUTINE xios(add_interpolateaxistoaxis)(parent_hdl, child_hdl, child_id)
692      TYPE(txios(axis))                      , INTENT(IN) :: parent_hdl
693      TYPE(txios(interpolate_axis))          , INTENT(OUT):: child_hdl
694      CHARACTER(len = *), OPTIONAL           , INTENT(IN) :: child_id
695
696      IF (PRESENT(child_id)) THEN
697         CALL cxios_xml_tree_add_interpolateaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
698      ELSE
699         CALL cxios_xml_tree_add_interpolateaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
700      END IF
701
702   END SUBROUTINE xios(add_interpolateaxistoaxis)
703
704   SUBROUTINE xios(add_inverseaxistoaxis)(parent_hdl, child_hdl, child_id)
705      TYPE(txios(axis))                      , INTENT(IN) :: parent_hdl
706      TYPE(txios(inverse_axis))              , INTENT(OUT):: child_hdl
707      CHARACTER(len = *), OPTIONAL           , INTENT(IN) :: child_id
708
709      IF (PRESENT(child_id)) THEN
710         CALL cxios_xml_tree_add_inverseaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
711      ELSE
712         CALL cxios_xml_tree_add_inverseaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
713      END IF
714
715   END SUBROUTINE xios(add_inverseaxistoaxis)
716
717   SUBROUTINE xios(add_reducedomaintoaxistoaxis)(parent_hdl, child_hdl, child_id)
718      TYPE(txios(axis))                        , INTENT(IN) :: parent_hdl
719      TYPE(txios(reduce_domain_to_axis))       , INTENT(OUT):: child_hdl
720      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
721
722      IF (PRESENT(child_id)) THEN
723         CALL cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
724      ELSE
725         CALL cxios_xml_tree_add_reducedomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
726      END IF
727
728   END SUBROUTINE xios(add_reducedomaintoaxistoaxis)
729
730   SUBROUTINE xios(add_extractdomaintoaxistoaxis)(parent_hdl, child_hdl, child_id)
731      TYPE(txios(axis))                        , INTENT(IN) :: parent_hdl
732      TYPE(txios(extract_domain_to_axis))      , INTENT(OUT):: child_hdl
733      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
734
735      IF (PRESENT(child_id)) THEN
736         CALL cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
737      ELSE
738         CALL cxios_xml_tree_add_extractdomaintoaxistoaxis(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
739      END IF
740
741   END SUBROUTINE xios(add_extractdomaintoaxistoaxis)
742
743   !!! SCALAR
744   SUBROUTINE xios(add_reduceaxistoscalartoscalar)(parent_hdl, child_hdl, child_id)
745      TYPE(txios(scalar))                    , INTENT(IN) :: parent_hdl
746      TYPE(txios(reduce_axis_to_scalar))     , INTENT(OUT):: child_hdl
747      CHARACTER(len = *), OPTIONAL           , INTENT(IN) :: child_id
748
749      IF (PRESENT(child_id)) THEN
750         CALL cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
751      ELSE
752         CALL cxios_xml_tree_add_reduceaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
753      END IF
754
755   END SUBROUTINE xios(add_reduceaxistoscalartoscalar)
756
757   SUBROUTINE xios(add_extractaxistoscalartoscalar)(parent_hdl, child_hdl, child_id)
758      TYPE(txios(scalar))                    , INTENT(IN) :: parent_hdl
759      TYPE(txios(extract_axis_to_scalar))    , INTENT(OUT):: child_hdl
760      CHARACTER(len = *), OPTIONAL           , INTENT(IN) :: child_id
761
762      IF (PRESENT(child_id)) THEN
763         CALL cxios_xml_tree_add_extractaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
764      ELSE
765         CALL cxios_xml_tree_add_extractaxistoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
766      END IF
767
768   END SUBROUTINE xios(add_extractaxistoscalartoscalar)
769
770   SUBROUTINE xios(add_reducedomaintoscalartoscalar)(parent_hdl, child_hdl, child_id)
771      TYPE(txios(scalar))                      , INTENT(IN) :: parent_hdl
772      TYPE(txios(reduce_domain_to_scalar))     , INTENT(OUT):: child_hdl
773      CHARACTER(len = *), OPTIONAL             , INTENT(IN) :: child_id
774
775      IF (PRESENT(child_id)) THEN
776         CALL cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, child_id, len(child_id))
777      ELSE
778         CALL cxios_xml_tree_add_reducedomaintoscalartoscalar(parent_hdl%daddr, child_hdl%daddr, "NONE", -1)
779      END IF
780
781   END SUBROUTINE xios(add_reducedomaintoscalartoscalar)
782
783END MODULE IXML_TREE
Note: See TracBrowser for help on using the repository browser.