source: XIOS3/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90

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

Modify fortran-C interfaces to manage logical-bool conversion, the optimizations of OneAPI could produce bugs regarding the logical-bool encodings.

  • 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: 58.1 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE ifieldgroup_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE ifield
9  USE fieldgroup_interface_attr
10  USE LOGICAL_BOOL_CONVERSION
11
12CONTAINS
13
14  SUBROUTINE xios(set_fieldgroup_attr)  &
15    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
16    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
17    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
18    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
19    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
20    , ts_split_freq, unit, valid_max, valid_min )
21
22    IMPLICIT NONE
23      TYPE(txios(fieldgroup))  :: fieldgroup_hdl
24      CHARACTER(LEN=*), INTENT(IN) ::fieldgroup_id
25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
26      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
27      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph
28      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
30      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
31      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
32      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
33      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_blocksize_target
34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
35      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
36      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: compression_params(:)
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: compression_type
38      LOGICAL  , OPTIONAL, INTENT(IN) :: conversion_by_netcdf
39      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf_tmp
40      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
41      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
42      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp
43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
44      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
45      LOGICAL (KIND=C_BOOL) :: enabled_tmp
46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr
47      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref
48      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_offset
49      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_op
50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_path
51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref
52      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
53      LOGICAL  , OPTIONAL, INTENT(IN) :: indexed_output
54      LOGICAL (KIND=C_BOOL) :: indexed_output_tmp
55      INTEGER  , OPTIONAL, INTENT(IN) :: level
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
57      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation
59      INTEGER  , OPTIONAL, INTENT(IN) :: prec
60      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access
61      LOGICAL (KIND=C_BOOL) :: read_access_tmp
62      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref
63      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor
64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
65      LOGICAL  , OPTIONAL, INTENT(IN) :: ts_enabled
66      LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp
67      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: ts_split_freq
68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
69      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
70      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
71
72      CALL xios(get_fieldgroup_handle) &
73      (fieldgroup_id,fieldgroup_hdl)
74      CALL xios(set_fieldgroup_attr_hdl_)   &
75      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
76      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
77      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
78      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
79      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
80      , ts_split_freq, unit, valid_max, valid_min )
81
82  END SUBROUTINE xios(set_fieldgroup_attr)
83
84  SUBROUTINE xios(set_fieldgroup_attr_hdl)  &
85    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
86    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
87    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
88    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
89    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
90    , ts_split_freq, unit, valid_max, valid_min )
91
92    IMPLICIT NONE
93      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
94      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
95      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
96      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph
97      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
98      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods
99      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode
100      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active
101      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
102      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_blocksize_target
103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment
104      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level
105      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: compression_params(:)
106      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: compression_type
107      LOGICAL  , OPTIONAL, INTENT(IN) :: conversion_by_netcdf
108      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf_tmp
109      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
110      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value
111      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp
112      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
113      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
114      LOGICAL (KIND=C_BOOL) :: enabled_tmp
115      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr
116      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref
117      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_offset
118      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_op
119      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_path
120      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref
121      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref
122      LOGICAL  , OPTIONAL, INTENT(IN) :: indexed_output
123      LOGICAL (KIND=C_BOOL) :: indexed_output_tmp
124      INTEGER  , OPTIONAL, INTENT(IN) :: level
125      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
126      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
127      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation
128      INTEGER  , OPTIONAL, INTENT(IN) :: prec
129      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access
130      LOGICAL (KIND=C_BOOL) :: read_access_tmp
131      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref
132      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor
133      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
134      LOGICAL  , OPTIONAL, INTENT(IN) :: ts_enabled
135      LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp
136      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: ts_split_freq
137      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
138      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
139      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
140
141      CALL xios(set_fieldgroup_attr_hdl_)  &
142      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
143      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
144      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
145      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
146      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
147      , ts_split_freq, unit, valid_max, valid_min )
148
149  END SUBROUTINE xios(set_fieldgroup_attr_hdl)
150
151  SUBROUTINE xios(set_fieldgroup_attr_hdl_)   &
152    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
153    , check_if_active_, chunking_blocksize_target_, comment_, compression_level_, compression_params_  &
154    , compression_type_, conversion_by_netcdf_, default_value_, detect_missing_value_, domain_ref_  &
155    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  &
156    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
157    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
158
159    IMPLICIT NONE
160      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
161      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_
162      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
163      LOGICAL  , OPTIONAL, INTENT(IN) :: build_workflow_graph_
164      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp
165      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_
166      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode_
167      LOGICAL  , OPTIONAL, INTENT(IN) :: check_if_active_
168      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
169      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_blocksize_target_
170      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_
171      INTEGER  , OPTIONAL, INTENT(IN) :: compression_level_
172      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: compression_params_(:)
173      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: compression_type_
174      LOGICAL  , OPTIONAL, INTENT(IN) :: conversion_by_netcdf_
175      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf__tmp
176      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
177      LOGICAL  , OPTIONAL, INTENT(IN) :: detect_missing_value_
178      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp
179      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
180      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_
181      LOGICAL (KIND=C_BOOL) :: enabled__tmp
182      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr_
183      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_
184      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_offset_
185      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: freq_op_
186      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_path_
187      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_
188      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_
189      LOGICAL  , OPTIONAL, INTENT(IN) :: indexed_output_
190      LOGICAL (KIND=C_BOOL) :: indexed_output__tmp
191      INTEGER  , OPTIONAL, INTENT(IN) :: level_
192      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
193      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
194      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_
195      INTEGER  , OPTIONAL, INTENT(IN) :: prec_
196      LOGICAL  , OPTIONAL, INTENT(IN) :: read_access_
197      LOGICAL (KIND=C_BOOL) :: read_access__tmp
198      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref_
199      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_
200      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
201      LOGICAL  , OPTIONAL, INTENT(IN) :: ts_enabled_
202      LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp
203      TYPE(txios(duration))  , OPTIONAL, INTENT(IN) :: ts_split_freq_
204      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_
205      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_
206      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min_
207
208      IF (PRESENT(add_offset_)) THEN
209        CALL cxios_set_fieldgroup_add_offset &
210      (fieldgroup_hdl%daddr, add_offset_)
211      ENDIF
212
213      IF (PRESENT(axis_ref_)) THEN
214        CALL cxios_set_fieldgroup_axis_ref &
215      (fieldgroup_hdl%daddr, axis_ref_, len(axis_ref_))
216      ENDIF
217
218      IF (PRESENT(build_workflow_graph_)) THEN
219        build_workflow_graph__tmp = build_workflow_graph_
220        CALL xios_logical_to_bool_0d(build_workflow_graph__tmp)
221        CALL cxios_set_fieldgroup_build_workflow_graph &
222      (fieldgroup_hdl%daddr, build_workflow_graph__tmp)
223      ENDIF
224
225      IF (PRESENT(cell_methods_)) THEN
226        CALL cxios_set_fieldgroup_cell_methods &
227      (fieldgroup_hdl%daddr, cell_methods_, len(cell_methods_))
228      ENDIF
229
230      IF (PRESENT(cell_methods_mode_)) THEN
231        CALL cxios_set_fieldgroup_cell_methods_mode &
232      (fieldgroup_hdl%daddr, cell_methods_mode_, len(cell_methods_mode_))
233      ENDIF
234
235      IF (PRESENT(check_if_active_)) THEN
236        check_if_active__tmp = check_if_active_
237        CALL xios_logical_to_bool_0d(check_if_active__tmp)
238        CALL cxios_set_fieldgroup_check_if_active &
239      (fieldgroup_hdl%daddr, check_if_active__tmp)
240      ENDIF
241
242      IF (PRESENT(chunking_blocksize_target_)) THEN
243        CALL cxios_set_fieldgroup_chunking_blocksize_target &
244      (fieldgroup_hdl%daddr, chunking_blocksize_target_)
245      ENDIF
246
247      IF (PRESENT(comment_)) THEN
248        CALL cxios_set_fieldgroup_comment &
249      (fieldgroup_hdl%daddr, comment_, len(comment_))
250      ENDIF
251
252      IF (PRESENT(compression_level_)) THEN
253        CALL cxios_set_fieldgroup_compression_level &
254      (fieldgroup_hdl%daddr, compression_level_)
255      ENDIF
256
257      IF (PRESENT(compression_params_)) THEN
258        CALL cxios_set_fieldgroup_compression_params &
259      (fieldgroup_hdl%daddr, compression_params_, SHAPE(compression_params_))
260      ENDIF
261
262      IF (PRESENT(compression_type_)) THEN
263        CALL cxios_set_fieldgroup_compression_type &
264      (fieldgroup_hdl%daddr, compression_type_, len(compression_type_))
265      ENDIF
266
267      IF (PRESENT(conversion_by_netcdf_)) THEN
268        conversion_by_netcdf__tmp = conversion_by_netcdf_
269        CALL xios_logical_to_bool_0d(conversion_by_netcdf__tmp)
270        CALL cxios_set_fieldgroup_conversion_by_netcdf &
271      (fieldgroup_hdl%daddr, conversion_by_netcdf__tmp)
272      ENDIF
273
274      IF (PRESENT(default_value_)) THEN
275        CALL cxios_set_fieldgroup_default_value &
276      (fieldgroup_hdl%daddr, default_value_)
277      ENDIF
278
279      IF (PRESENT(detect_missing_value_)) THEN
280        detect_missing_value__tmp = detect_missing_value_
281        CALL xios_logical_to_bool_0d(detect_missing_value__tmp)
282        CALL cxios_set_fieldgroup_detect_missing_value &
283      (fieldgroup_hdl%daddr, detect_missing_value__tmp)
284      ENDIF
285
286      IF (PRESENT(domain_ref_)) THEN
287        CALL cxios_set_fieldgroup_domain_ref &
288      (fieldgroup_hdl%daddr, domain_ref_, len(domain_ref_))
289      ENDIF
290
291      IF (PRESENT(enabled_)) THEN
292        enabled__tmp = enabled_
293        CALL xios_logical_to_bool_0d(enabled__tmp)
294        CALL cxios_set_fieldgroup_enabled &
295      (fieldgroup_hdl%daddr, enabled__tmp)
296      ENDIF
297
298      IF (PRESENT(expr_)) THEN
299        CALL cxios_set_fieldgroup_expr &
300      (fieldgroup_hdl%daddr, expr_, len(expr_))
301      ENDIF
302
303      IF (PRESENT(field_ref_)) THEN
304        CALL cxios_set_fieldgroup_field_ref &
305      (fieldgroup_hdl%daddr, field_ref_, len(field_ref_))
306      ENDIF
307
308      IF (PRESENT(freq_offset_)) THEN
309        CALL cxios_set_fieldgroup_freq_offset &
310      (fieldgroup_hdl%daddr, freq_offset_)
311      ENDIF
312
313      IF (PRESENT(freq_op_)) THEN
314        CALL cxios_set_fieldgroup_freq_op &
315      (fieldgroup_hdl%daddr, freq_op_)
316      ENDIF
317
318      IF (PRESENT(grid_path_)) THEN
319        CALL cxios_set_fieldgroup_grid_path &
320      (fieldgroup_hdl%daddr, grid_path_, len(grid_path_))
321      ENDIF
322
323      IF (PRESENT(grid_ref_)) THEN
324        CALL cxios_set_fieldgroup_grid_ref &
325      (fieldgroup_hdl%daddr, grid_ref_, len(grid_ref_))
326      ENDIF
327
328      IF (PRESENT(group_ref_)) THEN
329        CALL cxios_set_fieldgroup_group_ref &
330      (fieldgroup_hdl%daddr, group_ref_, len(group_ref_))
331      ENDIF
332
333      IF (PRESENT(indexed_output_)) THEN
334        indexed_output__tmp = indexed_output_
335        CALL xios_logical_to_bool_0d(indexed_output__tmp)
336        CALL cxios_set_fieldgroup_indexed_output &
337      (fieldgroup_hdl%daddr, indexed_output__tmp)
338      ENDIF
339
340      IF (PRESENT(level_)) THEN
341        CALL cxios_set_fieldgroup_level &
342      (fieldgroup_hdl%daddr, level_)
343      ENDIF
344
345      IF (PRESENT(long_name_)) THEN
346        CALL cxios_set_fieldgroup_long_name &
347      (fieldgroup_hdl%daddr, long_name_, len(long_name_))
348      ENDIF
349
350      IF (PRESENT(name_)) THEN
351        CALL cxios_set_fieldgroup_name &
352      (fieldgroup_hdl%daddr, name_, len(name_))
353      ENDIF
354
355      IF (PRESENT(operation_)) THEN
356        CALL cxios_set_fieldgroup_operation &
357      (fieldgroup_hdl%daddr, operation_, len(operation_))
358      ENDIF
359
360      IF (PRESENT(prec_)) THEN
361        CALL cxios_set_fieldgroup_prec &
362      (fieldgroup_hdl%daddr, prec_)
363      ENDIF
364
365      IF (PRESENT(read_access_)) THEN
366        read_access__tmp = read_access_
367        CALL xios_logical_to_bool_0d(read_access__tmp)
368        CALL cxios_set_fieldgroup_read_access &
369      (fieldgroup_hdl%daddr, read_access__tmp)
370      ENDIF
371
372      IF (PRESENT(scalar_ref_)) THEN
373        CALL cxios_set_fieldgroup_scalar_ref &
374      (fieldgroup_hdl%daddr, scalar_ref_, len(scalar_ref_))
375      ENDIF
376
377      IF (PRESENT(scale_factor_)) THEN
378        CALL cxios_set_fieldgroup_scale_factor &
379      (fieldgroup_hdl%daddr, scale_factor_)
380      ENDIF
381
382      IF (PRESENT(standard_name_)) THEN
383        CALL cxios_set_fieldgroup_standard_name &
384      (fieldgroup_hdl%daddr, standard_name_, len(standard_name_))
385      ENDIF
386
387      IF (PRESENT(ts_enabled_)) THEN
388        ts_enabled__tmp = ts_enabled_
389        CALL xios_logical_to_bool_0d(ts_enabled__tmp)
390        CALL cxios_set_fieldgroup_ts_enabled &
391      (fieldgroup_hdl%daddr, ts_enabled__tmp)
392      ENDIF
393
394      IF (PRESENT(ts_split_freq_)) THEN
395        CALL cxios_set_fieldgroup_ts_split_freq &
396      (fieldgroup_hdl%daddr, ts_split_freq_)
397      ENDIF
398
399      IF (PRESENT(unit_)) THEN
400        CALL cxios_set_fieldgroup_unit &
401      (fieldgroup_hdl%daddr, unit_, len(unit_))
402      ENDIF
403
404      IF (PRESENT(valid_max_)) THEN
405        CALL cxios_set_fieldgroup_valid_max &
406      (fieldgroup_hdl%daddr, valid_max_)
407      ENDIF
408
409      IF (PRESENT(valid_min_)) THEN
410        CALL cxios_set_fieldgroup_valid_min &
411      (fieldgroup_hdl%daddr, valid_min_)
412      ENDIF
413
414  END SUBROUTINE xios(set_fieldgroup_attr_hdl_)
415
416  SUBROUTINE xios(get_fieldgroup_attr)  &
417    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
418    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
419    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
420    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
421    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
422    , ts_split_freq, unit, valid_max, valid_min )
423
424    IMPLICIT NONE
425      TYPE(txios(fieldgroup))  :: fieldgroup_hdl
426      CHARACTER(LEN=*), INTENT(IN) ::fieldgroup_id
427      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
428      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
429      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph
430      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
431      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
432      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
433      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
434      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
435      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_blocksize_target
436      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
437      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
438      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: compression_params(:)
439      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: compression_type
440      LOGICAL  , OPTIONAL, INTENT(OUT) :: conversion_by_netcdf
441      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf_tmp
442      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
443      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
444      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp
445      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
446      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
447      LOGICAL (KIND=C_BOOL) :: enabled_tmp
448      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr
449      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref
450      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_offset
451      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_op
452      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_path
453      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref
454      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
455      LOGICAL  , OPTIONAL, INTENT(OUT) :: indexed_output
456      LOGICAL (KIND=C_BOOL) :: indexed_output_tmp
457      INTEGER  , OPTIONAL, INTENT(OUT) :: level
458      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
459      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
460      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation
461      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
462      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access
463      LOGICAL (KIND=C_BOOL) :: read_access_tmp
464      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref
465      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor
466      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
467      LOGICAL  , OPTIONAL, INTENT(OUT) :: ts_enabled
468      LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp
469      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: ts_split_freq
470      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
471      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
472      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
473
474      CALL xios(get_fieldgroup_handle) &
475      (fieldgroup_id,fieldgroup_hdl)
476      CALL xios(get_fieldgroup_attr_hdl_)   &
477      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
478      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
479      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
480      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
481      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
482      , ts_split_freq, unit, valid_max, valid_min )
483
484  END SUBROUTINE xios(get_fieldgroup_attr)
485
486  SUBROUTINE xios(get_fieldgroup_attr_hdl)  &
487    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
488    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
489    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
490    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
491    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
492    , ts_split_freq, unit, valid_max, valid_min )
493
494    IMPLICIT NONE
495      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
496      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
497      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
498      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph
499      LOGICAL (KIND=C_BOOL) :: build_workflow_graph_tmp
500      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods
501      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode
502      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active
503      LOGICAL (KIND=C_BOOL) :: check_if_active_tmp
504      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_blocksize_target
505      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment
506      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level
507      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: compression_params(:)
508      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: compression_type
509      LOGICAL  , OPTIONAL, INTENT(OUT) :: conversion_by_netcdf
510      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf_tmp
511      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
512      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value
513      LOGICAL (KIND=C_BOOL) :: detect_missing_value_tmp
514      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
515      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
516      LOGICAL (KIND=C_BOOL) :: enabled_tmp
517      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr
518      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref
519      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_offset
520      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_op
521      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_path
522      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref
523      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref
524      LOGICAL  , OPTIONAL, INTENT(OUT) :: indexed_output
525      LOGICAL (KIND=C_BOOL) :: indexed_output_tmp
526      INTEGER  , OPTIONAL, INTENT(OUT) :: level
527      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
528      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
529      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation
530      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
531      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access
532      LOGICAL (KIND=C_BOOL) :: read_access_tmp
533      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref
534      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor
535      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
536      LOGICAL  , OPTIONAL, INTENT(OUT) :: ts_enabled
537      LOGICAL (KIND=C_BOOL) :: ts_enabled_tmp
538      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: ts_split_freq
539      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
540      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
541      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
542
543      CALL xios(get_fieldgroup_attr_hdl_)  &
544      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
545      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
546      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
547      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
548      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
549      , ts_split_freq, unit, valid_max, valid_min )
550
551  END SUBROUTINE xios(get_fieldgroup_attr_hdl)
552
553  SUBROUTINE xios(get_fieldgroup_attr_hdl_)   &
554    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
555    , check_if_active_, chunking_blocksize_target_, comment_, compression_level_, compression_params_  &
556    , compression_type_, conversion_by_netcdf_, default_value_, detect_missing_value_, domain_ref_  &
557    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  &
558    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
559    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
560
561    IMPLICIT NONE
562      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
563      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_
564      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
565      LOGICAL  , OPTIONAL, INTENT(OUT) :: build_workflow_graph_
566      LOGICAL (KIND=C_BOOL) :: build_workflow_graph__tmp
567      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_
568      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: cell_methods_mode_
569      LOGICAL  , OPTIONAL, INTENT(OUT) :: check_if_active_
570      LOGICAL (KIND=C_BOOL) :: check_if_active__tmp
571      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_blocksize_target_
572      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_
573      INTEGER  , OPTIONAL, INTENT(OUT) :: compression_level_
574      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: compression_params_(:)
575      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: compression_type_
576      LOGICAL  , OPTIONAL, INTENT(OUT) :: conversion_by_netcdf_
577      LOGICAL (KIND=C_BOOL) :: conversion_by_netcdf__tmp
578      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
579      LOGICAL  , OPTIONAL, INTENT(OUT) :: detect_missing_value_
580      LOGICAL (KIND=C_BOOL) :: detect_missing_value__tmp
581      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
582      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_
583      LOGICAL (KIND=C_BOOL) :: enabled__tmp
584      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr_
585      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref_
586      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_offset_
587      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: freq_op_
588      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_path_
589      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref_
590      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_
591      LOGICAL  , OPTIONAL, INTENT(OUT) :: indexed_output_
592      LOGICAL (KIND=C_BOOL) :: indexed_output__tmp
593      INTEGER  , OPTIONAL, INTENT(OUT) :: level_
594      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
595      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
596      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation_
597      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_
598      LOGICAL  , OPTIONAL, INTENT(OUT) :: read_access_
599      LOGICAL (KIND=C_BOOL) :: read_access__tmp
600      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: scalar_ref_
601      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_
602      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
603      LOGICAL  , OPTIONAL, INTENT(OUT) :: ts_enabled_
604      LOGICAL (KIND=C_BOOL) :: ts_enabled__tmp
605      TYPE(txios(duration))  , OPTIONAL, INTENT(OUT) :: ts_split_freq_
606      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_
607      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_
608      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min_
609
610      IF (PRESENT(add_offset_)) THEN
611        CALL cxios_get_fieldgroup_add_offset &
612      (fieldgroup_hdl%daddr, add_offset_)
613      ENDIF
614
615      IF (PRESENT(axis_ref_)) THEN
616        CALL cxios_get_fieldgroup_axis_ref &
617      (fieldgroup_hdl%daddr, axis_ref_, len(axis_ref_))
618      ENDIF
619
620      IF (PRESENT(build_workflow_graph_)) THEN
621        CALL cxios_get_fieldgroup_build_workflow_graph &
622      (fieldgroup_hdl%daddr, build_workflow_graph__tmp)
623        CALL xios_bool_to_logical_0d(build_workflow_graph__tmp)
624        build_workflow_graph_ = build_workflow_graph__tmp
625      ENDIF
626
627      IF (PRESENT(cell_methods_)) THEN
628        CALL cxios_get_fieldgroup_cell_methods &
629      (fieldgroup_hdl%daddr, cell_methods_, len(cell_methods_))
630      ENDIF
631
632      IF (PRESENT(cell_methods_mode_)) THEN
633        CALL cxios_get_fieldgroup_cell_methods_mode &
634      (fieldgroup_hdl%daddr, cell_methods_mode_, len(cell_methods_mode_))
635      ENDIF
636
637      IF (PRESENT(check_if_active_)) THEN
638        CALL cxios_get_fieldgroup_check_if_active &
639      (fieldgroup_hdl%daddr, check_if_active__tmp)
640        CALL xios_bool_to_logical_0d(check_if_active__tmp)
641        check_if_active_ = check_if_active__tmp
642      ENDIF
643
644      IF (PRESENT(chunking_blocksize_target_)) THEN
645        CALL cxios_get_fieldgroup_chunking_blocksize_target &
646      (fieldgroup_hdl%daddr, chunking_blocksize_target_)
647      ENDIF
648
649      IF (PRESENT(comment_)) THEN
650        CALL cxios_get_fieldgroup_comment &
651      (fieldgroup_hdl%daddr, comment_, len(comment_))
652      ENDIF
653
654      IF (PRESENT(compression_level_)) THEN
655        CALL cxios_get_fieldgroup_compression_level &
656      (fieldgroup_hdl%daddr, compression_level_)
657      ENDIF
658
659      IF (PRESENT(compression_params_)) THEN
660        CALL cxios_get_fieldgroup_compression_params &
661      (fieldgroup_hdl%daddr, compression_params_, SHAPE(compression_params_))
662      ENDIF
663
664      IF (PRESENT(compression_type_)) THEN
665        CALL cxios_get_fieldgroup_compression_type &
666      (fieldgroup_hdl%daddr, compression_type_, len(compression_type_))
667      ENDIF
668
669      IF (PRESENT(conversion_by_netcdf_)) THEN
670        CALL cxios_get_fieldgroup_conversion_by_netcdf &
671      (fieldgroup_hdl%daddr, conversion_by_netcdf__tmp)
672        CALL xios_bool_to_logical_0d(conversion_by_netcdf__tmp)
673        conversion_by_netcdf_ = conversion_by_netcdf__tmp
674      ENDIF
675
676      IF (PRESENT(default_value_)) THEN
677        CALL cxios_get_fieldgroup_default_value &
678      (fieldgroup_hdl%daddr, default_value_)
679      ENDIF
680
681      IF (PRESENT(detect_missing_value_)) THEN
682        CALL cxios_get_fieldgroup_detect_missing_value &
683      (fieldgroup_hdl%daddr, detect_missing_value__tmp)
684        CALL xios_bool_to_logical_0d(detect_missing_value__tmp)
685        detect_missing_value_ = detect_missing_value__tmp
686      ENDIF
687
688      IF (PRESENT(domain_ref_)) THEN
689        CALL cxios_get_fieldgroup_domain_ref &
690      (fieldgroup_hdl%daddr, domain_ref_, len(domain_ref_))
691      ENDIF
692
693      IF (PRESENT(enabled_)) THEN
694        CALL cxios_get_fieldgroup_enabled &
695      (fieldgroup_hdl%daddr, enabled__tmp)
696        CALL xios_bool_to_logical_0d(enabled__tmp)
697        enabled_ = enabled__tmp
698      ENDIF
699
700      IF (PRESENT(expr_)) THEN
701        CALL cxios_get_fieldgroup_expr &
702      (fieldgroup_hdl%daddr, expr_, len(expr_))
703      ENDIF
704
705      IF (PRESENT(field_ref_)) THEN
706        CALL cxios_get_fieldgroup_field_ref &
707      (fieldgroup_hdl%daddr, field_ref_, len(field_ref_))
708      ENDIF
709
710      IF (PRESENT(freq_offset_)) THEN
711        CALL cxios_get_fieldgroup_freq_offset &
712      (fieldgroup_hdl%daddr, freq_offset_)
713      ENDIF
714
715      IF (PRESENT(freq_op_)) THEN
716        CALL cxios_get_fieldgroup_freq_op &
717      (fieldgroup_hdl%daddr, freq_op_)
718      ENDIF
719
720      IF (PRESENT(grid_path_)) THEN
721        CALL cxios_get_fieldgroup_grid_path &
722      (fieldgroup_hdl%daddr, grid_path_, len(grid_path_))
723      ENDIF
724
725      IF (PRESENT(grid_ref_)) THEN
726        CALL cxios_get_fieldgroup_grid_ref &
727      (fieldgroup_hdl%daddr, grid_ref_, len(grid_ref_))
728      ENDIF
729
730      IF (PRESENT(group_ref_)) THEN
731        CALL cxios_get_fieldgroup_group_ref &
732      (fieldgroup_hdl%daddr, group_ref_, len(group_ref_))
733      ENDIF
734
735      IF (PRESENT(indexed_output_)) THEN
736        CALL cxios_get_fieldgroup_indexed_output &
737      (fieldgroup_hdl%daddr, indexed_output__tmp)
738        CALL xios_bool_to_logical_0d(indexed_output__tmp)
739        indexed_output_ = indexed_output__tmp
740      ENDIF
741
742      IF (PRESENT(level_)) THEN
743        CALL cxios_get_fieldgroup_level &
744      (fieldgroup_hdl%daddr, level_)
745      ENDIF
746
747      IF (PRESENT(long_name_)) THEN
748        CALL cxios_get_fieldgroup_long_name &
749      (fieldgroup_hdl%daddr, long_name_, len(long_name_))
750      ENDIF
751
752      IF (PRESENT(name_)) THEN
753        CALL cxios_get_fieldgroup_name &
754      (fieldgroup_hdl%daddr, name_, len(name_))
755      ENDIF
756
757      IF (PRESENT(operation_)) THEN
758        CALL cxios_get_fieldgroup_operation &
759      (fieldgroup_hdl%daddr, operation_, len(operation_))
760      ENDIF
761
762      IF (PRESENT(prec_)) THEN
763        CALL cxios_get_fieldgroup_prec &
764      (fieldgroup_hdl%daddr, prec_)
765      ENDIF
766
767      IF (PRESENT(read_access_)) THEN
768        CALL cxios_get_fieldgroup_read_access &
769      (fieldgroup_hdl%daddr, read_access__tmp)
770        CALL xios_bool_to_logical_0d(read_access__tmp)
771        read_access_ = read_access__tmp
772      ENDIF
773
774      IF (PRESENT(scalar_ref_)) THEN
775        CALL cxios_get_fieldgroup_scalar_ref &
776      (fieldgroup_hdl%daddr, scalar_ref_, len(scalar_ref_))
777      ENDIF
778
779      IF (PRESENT(scale_factor_)) THEN
780        CALL cxios_get_fieldgroup_scale_factor &
781      (fieldgroup_hdl%daddr, scale_factor_)
782      ENDIF
783
784      IF (PRESENT(standard_name_)) THEN
785        CALL cxios_get_fieldgroup_standard_name &
786      (fieldgroup_hdl%daddr, standard_name_, len(standard_name_))
787      ENDIF
788
789      IF (PRESENT(ts_enabled_)) THEN
790        CALL cxios_get_fieldgroup_ts_enabled &
791      (fieldgroup_hdl%daddr, ts_enabled__tmp)
792        CALL xios_bool_to_logical_0d(ts_enabled__tmp)
793        ts_enabled_ = ts_enabled__tmp
794      ENDIF
795
796      IF (PRESENT(ts_split_freq_)) THEN
797        CALL cxios_get_fieldgroup_ts_split_freq &
798      (fieldgroup_hdl%daddr, ts_split_freq_)
799      ENDIF
800
801      IF (PRESENT(unit_)) THEN
802        CALL cxios_get_fieldgroup_unit &
803      (fieldgroup_hdl%daddr, unit_, len(unit_))
804      ENDIF
805
806      IF (PRESENT(valid_max_)) THEN
807        CALL cxios_get_fieldgroup_valid_max &
808      (fieldgroup_hdl%daddr, valid_max_)
809      ENDIF
810
811      IF (PRESENT(valid_min_)) THEN
812        CALL cxios_get_fieldgroup_valid_min &
813      (fieldgroup_hdl%daddr, valid_min_)
814      ENDIF
815
816  END SUBROUTINE xios(get_fieldgroup_attr_hdl_)
817
818  SUBROUTINE xios(is_defined_fieldgroup_attr)  &
819    ( fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
820    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
821    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
822    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
823    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
824    , ts_split_freq, unit, valid_max, valid_min )
825
826    IMPLICIT NONE
827      TYPE(txios(fieldgroup))  :: fieldgroup_hdl
828      CHARACTER(LEN=*), INTENT(IN) ::fieldgroup_id
829      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset
830      LOGICAL(KIND=C_BOOL) :: add_offset_tmp
831      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
832      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
833      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph
834      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp
835      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods
836      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp
837      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
838      LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
839      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
840      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
841      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_blocksize_target
842      LOGICAL(KIND=C_BOOL) :: chunking_blocksize_target_tmp
843      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
844      LOGICAL(KIND=C_BOOL) :: comment_tmp
845      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
846      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
847      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_params
848      LOGICAL(KIND=C_BOOL) :: compression_params_tmp
849      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_type
850      LOGICAL(KIND=C_BOOL) :: compression_type_tmp
851      LOGICAL, OPTIONAL, INTENT(OUT) :: conversion_by_netcdf
852      LOGICAL(KIND=C_BOOL) :: conversion_by_netcdf_tmp
853      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
854      LOGICAL(KIND=C_BOOL) :: default_value_tmp
855      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value
856      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp
857      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
858      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
859      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled
860      LOGICAL(KIND=C_BOOL) :: enabled_tmp
861      LOGICAL, OPTIONAL, INTENT(OUT) :: expr
862      LOGICAL(KIND=C_BOOL) :: expr_tmp
863      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref
864      LOGICAL(KIND=C_BOOL) :: field_ref_tmp
865      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset
866      LOGICAL(KIND=C_BOOL) :: freq_offset_tmp
867      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op
868      LOGICAL(KIND=C_BOOL) :: freq_op_tmp
869      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_path
870      LOGICAL(KIND=C_BOOL) :: grid_path_tmp
871      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref
872      LOGICAL(KIND=C_BOOL) :: grid_ref_tmp
873      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
874      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
875      LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output
876      LOGICAL(KIND=C_BOOL) :: indexed_output_tmp
877      LOGICAL, OPTIONAL, INTENT(OUT) :: level
878      LOGICAL(KIND=C_BOOL) :: level_tmp
879      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
880      LOGICAL(KIND=C_BOOL) :: long_name_tmp
881      LOGICAL, OPTIONAL, INTENT(OUT) :: name
882      LOGICAL(KIND=C_BOOL) :: name_tmp
883      LOGICAL, OPTIONAL, INTENT(OUT) :: operation
884      LOGICAL(KIND=C_BOOL) :: operation_tmp
885      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
886      LOGICAL(KIND=C_BOOL) :: prec_tmp
887      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access
888      LOGICAL(KIND=C_BOOL) :: read_access_tmp
889      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref
890      LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp
891      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor
892      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp
893      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
894      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
895      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled
896      LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp
897      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq
898      LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp
899      LOGICAL, OPTIONAL, INTENT(OUT) :: unit
900      LOGICAL(KIND=C_BOOL) :: unit_tmp
901      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
902      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
903      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
904      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
905
906      CALL xios(get_fieldgroup_handle) &
907      (fieldgroup_id,fieldgroup_hdl)
908      CALL xios(is_defined_fieldgroup_attr_hdl_)   &
909      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
910      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
911      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
912      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
913      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
914      , ts_split_freq, unit, valid_max, valid_min )
915
916  END SUBROUTINE xios(is_defined_fieldgroup_attr)
917
918  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)  &
919    ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
920    , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
921    , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
922    , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
923    , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
924    , ts_split_freq, unit, valid_max, valid_min )
925
926    IMPLICIT NONE
927      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
928      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset
929      LOGICAL(KIND=C_BOOL) :: add_offset_tmp
930      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
931      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
932      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph
933      LOGICAL(KIND=C_BOOL) :: build_workflow_graph_tmp
934      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods
935      LOGICAL(KIND=C_BOOL) :: cell_methods_tmp
936      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode
937      LOGICAL(KIND=C_BOOL) :: cell_methods_mode_tmp
938      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active
939      LOGICAL(KIND=C_BOOL) :: check_if_active_tmp
940      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_blocksize_target
941      LOGICAL(KIND=C_BOOL) :: chunking_blocksize_target_tmp
942      LOGICAL, OPTIONAL, INTENT(OUT) :: comment
943      LOGICAL(KIND=C_BOOL) :: comment_tmp
944      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level
945      LOGICAL(KIND=C_BOOL) :: compression_level_tmp
946      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_params
947      LOGICAL(KIND=C_BOOL) :: compression_params_tmp
948      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_type
949      LOGICAL(KIND=C_BOOL) :: compression_type_tmp
950      LOGICAL, OPTIONAL, INTENT(OUT) :: conversion_by_netcdf
951      LOGICAL(KIND=C_BOOL) :: conversion_by_netcdf_tmp
952      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
953      LOGICAL(KIND=C_BOOL) :: default_value_tmp
954      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value
955      LOGICAL(KIND=C_BOOL) :: detect_missing_value_tmp
956      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
957      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
958      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled
959      LOGICAL(KIND=C_BOOL) :: enabled_tmp
960      LOGICAL, OPTIONAL, INTENT(OUT) :: expr
961      LOGICAL(KIND=C_BOOL) :: expr_tmp
962      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref
963      LOGICAL(KIND=C_BOOL) :: field_ref_tmp
964      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset
965      LOGICAL(KIND=C_BOOL) :: freq_offset_tmp
966      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op
967      LOGICAL(KIND=C_BOOL) :: freq_op_tmp
968      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_path
969      LOGICAL(KIND=C_BOOL) :: grid_path_tmp
970      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref
971      LOGICAL(KIND=C_BOOL) :: grid_ref_tmp
972      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref
973      LOGICAL(KIND=C_BOOL) :: group_ref_tmp
974      LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output
975      LOGICAL(KIND=C_BOOL) :: indexed_output_tmp
976      LOGICAL, OPTIONAL, INTENT(OUT) :: level
977      LOGICAL(KIND=C_BOOL) :: level_tmp
978      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
979      LOGICAL(KIND=C_BOOL) :: long_name_tmp
980      LOGICAL, OPTIONAL, INTENT(OUT) :: name
981      LOGICAL(KIND=C_BOOL) :: name_tmp
982      LOGICAL, OPTIONAL, INTENT(OUT) :: operation
983      LOGICAL(KIND=C_BOOL) :: operation_tmp
984      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
985      LOGICAL(KIND=C_BOOL) :: prec_tmp
986      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access
987      LOGICAL(KIND=C_BOOL) :: read_access_tmp
988      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref
989      LOGICAL(KIND=C_BOOL) :: scalar_ref_tmp
990      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor
991      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp
992      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
993      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
994      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled
995      LOGICAL(KIND=C_BOOL) :: ts_enabled_tmp
996      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq
997      LOGICAL(KIND=C_BOOL) :: ts_split_freq_tmp
998      LOGICAL, OPTIONAL, INTENT(OUT) :: unit
999      LOGICAL(KIND=C_BOOL) :: unit_tmp
1000      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
1001      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
1002      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
1003      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
1004
1005      CALL xios(is_defined_fieldgroup_attr_hdl_)  &
1006      ( fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode  &
1007      , check_if_active, chunking_blocksize_target, comment, compression_level, compression_params  &
1008      , compression_type, conversion_by_netcdf, default_value, detect_missing_value, domain_ref, enabled  &
1009      , expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output, level  &
1010      , long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled  &
1011      , ts_split_freq, unit, valid_max, valid_min )
1012
1013  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl)
1014
1015  SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)   &
1016    ( fieldgroup_hdl, add_offset_, axis_ref_, build_workflow_graph_, cell_methods_, cell_methods_mode_  &
1017    , check_if_active_, chunking_blocksize_target_, comment_, compression_level_, compression_params_  &
1018    , compression_type_, conversion_by_netcdf_, default_value_, detect_missing_value_, domain_ref_  &
1019    , enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_  &
1020    , level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_, scale_factor_, standard_name_  &
1021    , ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ )
1022
1023    IMPLICIT NONE
1024      TYPE(txios(fieldgroup)) , INTENT(IN) :: fieldgroup_hdl
1025      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset_
1026      LOGICAL(KIND=C_BOOL) :: add_offset__tmp
1027      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
1028      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
1029      LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph_
1030      LOGICAL(KIND=C_BOOL) :: build_workflow_graph__tmp
1031      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_
1032      LOGICAL(KIND=C_BOOL) :: cell_methods__tmp
1033      LOGICAL, OPTIONAL, INTENT(OUT) :: cell_methods_mode_
1034      LOGICAL(KIND=C_BOOL) :: cell_methods_mode__tmp
1035      LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active_
1036      LOGICAL(KIND=C_BOOL) :: check_if_active__tmp
1037      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_blocksize_target_
1038      LOGICAL(KIND=C_BOOL) :: chunking_blocksize_target__tmp
1039      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_
1040      LOGICAL(KIND=C_BOOL) :: comment__tmp
1041      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_level_
1042      LOGICAL(KIND=C_BOOL) :: compression_level__tmp
1043      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_params_
1044      LOGICAL(KIND=C_BOOL) :: compression_params__tmp
1045      LOGICAL, OPTIONAL, INTENT(OUT) :: compression_type_
1046      LOGICAL(KIND=C_BOOL) :: compression_type__tmp
1047      LOGICAL, OPTIONAL, INTENT(OUT) :: conversion_by_netcdf_
1048      LOGICAL(KIND=C_BOOL) :: conversion_by_netcdf__tmp
1049      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_
1050      LOGICAL(KIND=C_BOOL) :: default_value__tmp
1051      LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value_
1052      LOGICAL(KIND=C_BOOL) :: detect_missing_value__tmp
1053      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
1054      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
1055      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled_
1056      LOGICAL(KIND=C_BOOL) :: enabled__tmp
1057      LOGICAL, OPTIONAL, INTENT(OUT) :: expr_
1058      LOGICAL(KIND=C_BOOL) :: expr__tmp
1059      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref_
1060      LOGICAL(KIND=C_BOOL) :: field_ref__tmp
1061      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset_
1062      LOGICAL(KIND=C_BOOL) :: freq_offset__tmp
1063      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op_
1064      LOGICAL(KIND=C_BOOL) :: freq_op__tmp
1065      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_path_
1066      LOGICAL(KIND=C_BOOL) :: grid_path__tmp
1067      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref_
1068      LOGICAL(KIND=C_BOOL) :: grid_ref__tmp
1069      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_
1070      LOGICAL(KIND=C_BOOL) :: group_ref__tmp
1071      LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output_
1072      LOGICAL(KIND=C_BOOL) :: indexed_output__tmp
1073      LOGICAL, OPTIONAL, INTENT(OUT) :: level_
1074      LOGICAL(KIND=C_BOOL) :: level__tmp
1075      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
1076      LOGICAL(KIND=C_BOOL) :: long_name__tmp
1077      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
1078      LOGICAL(KIND=C_BOOL) :: name__tmp
1079      LOGICAL, OPTIONAL, INTENT(OUT) :: operation_
1080      LOGICAL(KIND=C_BOOL) :: operation__tmp
1081      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_
1082      LOGICAL(KIND=C_BOOL) :: prec__tmp
1083      LOGICAL, OPTIONAL, INTENT(OUT) :: read_access_
1084      LOGICAL(KIND=C_BOOL) :: read_access__tmp
1085      LOGICAL, OPTIONAL, INTENT(OUT) :: scalar_ref_
1086      LOGICAL(KIND=C_BOOL) :: scalar_ref__tmp
1087      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor_
1088      LOGICAL(KIND=C_BOOL) :: scale_factor__tmp
1089      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_
1090      LOGICAL(KIND=C_BOOL) :: standard_name__tmp
1091      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled_
1092      LOGICAL(KIND=C_BOOL) :: ts_enabled__tmp
1093      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_split_freq_
1094      LOGICAL(KIND=C_BOOL) :: ts_split_freq__tmp
1095      LOGICAL, OPTIONAL, INTENT(OUT) :: unit_
1096      LOGICAL(KIND=C_BOOL) :: unit__tmp
1097      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max_
1098      LOGICAL(KIND=C_BOOL) :: valid_max__tmp
1099      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min_
1100      LOGICAL(KIND=C_BOOL) :: valid_min__tmp
1101
1102      IF (PRESENT(add_offset_)) THEN
1103        add_offset__tmp = cxios_is_defined_fieldgroup_add_offset &
1104      (fieldgroup_hdl%daddr)
1105        add_offset_ = add_offset__tmp
1106      ENDIF
1107
1108      IF (PRESENT(axis_ref_)) THEN
1109        axis_ref__tmp = cxios_is_defined_fieldgroup_axis_ref &
1110      (fieldgroup_hdl%daddr)
1111        axis_ref_ = axis_ref__tmp
1112      ENDIF
1113
1114      IF (PRESENT(build_workflow_graph_)) THEN
1115        build_workflow_graph__tmp = cxios_is_defined_fieldgroup_build_workflow_graph &
1116      (fieldgroup_hdl%daddr)
1117        build_workflow_graph_ = build_workflow_graph__tmp
1118      ENDIF
1119
1120      IF (PRESENT(cell_methods_)) THEN
1121        cell_methods__tmp = cxios_is_defined_fieldgroup_cell_methods &
1122      (fieldgroup_hdl%daddr)
1123        cell_methods_ = cell_methods__tmp
1124      ENDIF
1125
1126      IF (PRESENT(cell_methods_mode_)) THEN
1127        cell_methods_mode__tmp = cxios_is_defined_fieldgroup_cell_methods_mode &
1128      (fieldgroup_hdl%daddr)
1129        cell_methods_mode_ = cell_methods_mode__tmp
1130      ENDIF
1131
1132      IF (PRESENT(check_if_active_)) THEN
1133        check_if_active__tmp = cxios_is_defined_fieldgroup_check_if_active &
1134      (fieldgroup_hdl%daddr)
1135        check_if_active_ = check_if_active__tmp
1136      ENDIF
1137
1138      IF (PRESENT(chunking_blocksize_target_)) THEN
1139        chunking_blocksize_target__tmp = cxios_is_defined_fieldgroup_chunking_blocksize_target &
1140      (fieldgroup_hdl%daddr)
1141        chunking_blocksize_target_ = chunking_blocksize_target__tmp
1142      ENDIF
1143
1144      IF (PRESENT(comment_)) THEN
1145        comment__tmp = cxios_is_defined_fieldgroup_comment &
1146      (fieldgroup_hdl%daddr)
1147        comment_ = comment__tmp
1148      ENDIF
1149
1150      IF (PRESENT(compression_level_)) THEN
1151        compression_level__tmp = cxios_is_defined_fieldgroup_compression_level &
1152      (fieldgroup_hdl%daddr)
1153        compression_level_ = compression_level__tmp
1154      ENDIF
1155
1156      IF (PRESENT(compression_params_)) THEN
1157        compression_params__tmp = cxios_is_defined_fieldgroup_compression_params &
1158      (fieldgroup_hdl%daddr)
1159        compression_params_ = compression_params__tmp
1160      ENDIF
1161
1162      IF (PRESENT(compression_type_)) THEN
1163        compression_type__tmp = cxios_is_defined_fieldgroup_compression_type &
1164      (fieldgroup_hdl%daddr)
1165        compression_type_ = compression_type__tmp
1166      ENDIF
1167
1168      IF (PRESENT(conversion_by_netcdf_)) THEN
1169        conversion_by_netcdf__tmp = cxios_is_defined_fieldgroup_conversion_by_netcdf &
1170      (fieldgroup_hdl%daddr)
1171        conversion_by_netcdf_ = conversion_by_netcdf__tmp
1172      ENDIF
1173
1174      IF (PRESENT(default_value_)) THEN
1175        default_value__tmp = cxios_is_defined_fieldgroup_default_value &
1176      (fieldgroup_hdl%daddr)
1177        default_value_ = default_value__tmp
1178      ENDIF
1179
1180      IF (PRESENT(detect_missing_value_)) THEN
1181        detect_missing_value__tmp = cxios_is_defined_fieldgroup_detect_missing_value &
1182      (fieldgroup_hdl%daddr)
1183        detect_missing_value_ = detect_missing_value__tmp
1184      ENDIF
1185
1186      IF (PRESENT(domain_ref_)) THEN
1187        domain_ref__tmp = cxios_is_defined_fieldgroup_domain_ref &
1188      (fieldgroup_hdl%daddr)
1189        domain_ref_ = domain_ref__tmp
1190      ENDIF
1191
1192      IF (PRESENT(enabled_)) THEN
1193        enabled__tmp = cxios_is_defined_fieldgroup_enabled &
1194      (fieldgroup_hdl%daddr)
1195        enabled_ = enabled__tmp
1196      ENDIF
1197
1198      IF (PRESENT(expr_)) THEN
1199        expr__tmp = cxios_is_defined_fieldgroup_expr &
1200      (fieldgroup_hdl%daddr)
1201        expr_ = expr__tmp
1202      ENDIF
1203
1204      IF (PRESENT(field_ref_)) THEN
1205        field_ref__tmp = cxios_is_defined_fieldgroup_field_ref &
1206      (fieldgroup_hdl%daddr)
1207        field_ref_ = field_ref__tmp
1208      ENDIF
1209
1210      IF (PRESENT(freq_offset_)) THEN
1211        freq_offset__tmp = cxios_is_defined_fieldgroup_freq_offset &
1212      (fieldgroup_hdl%daddr)
1213        freq_offset_ = freq_offset__tmp
1214      ENDIF
1215
1216      IF (PRESENT(freq_op_)) THEN
1217        freq_op__tmp = cxios_is_defined_fieldgroup_freq_op &
1218      (fieldgroup_hdl%daddr)
1219        freq_op_ = freq_op__tmp
1220      ENDIF
1221
1222      IF (PRESENT(grid_path_)) THEN
1223        grid_path__tmp = cxios_is_defined_fieldgroup_grid_path &
1224      (fieldgroup_hdl%daddr)
1225        grid_path_ = grid_path__tmp
1226      ENDIF
1227
1228      IF (PRESENT(grid_ref_)) THEN
1229        grid_ref__tmp = cxios_is_defined_fieldgroup_grid_ref &
1230      (fieldgroup_hdl%daddr)
1231        grid_ref_ = grid_ref__tmp
1232      ENDIF
1233
1234      IF (PRESENT(group_ref_)) THEN
1235        group_ref__tmp = cxios_is_defined_fieldgroup_group_ref &
1236      (fieldgroup_hdl%daddr)
1237        group_ref_ = group_ref__tmp
1238      ENDIF
1239
1240      IF (PRESENT(indexed_output_)) THEN
1241        indexed_output__tmp = cxios_is_defined_fieldgroup_indexed_output &
1242      (fieldgroup_hdl%daddr)
1243        indexed_output_ = indexed_output__tmp
1244      ENDIF
1245
1246      IF (PRESENT(level_)) THEN
1247        level__tmp = cxios_is_defined_fieldgroup_level &
1248      (fieldgroup_hdl%daddr)
1249        level_ = level__tmp
1250      ENDIF
1251
1252      IF (PRESENT(long_name_)) THEN
1253        long_name__tmp = cxios_is_defined_fieldgroup_long_name &
1254      (fieldgroup_hdl%daddr)
1255        long_name_ = long_name__tmp
1256      ENDIF
1257
1258      IF (PRESENT(name_)) THEN
1259        name__tmp = cxios_is_defined_fieldgroup_name &
1260      (fieldgroup_hdl%daddr)
1261        name_ = name__tmp
1262      ENDIF
1263
1264      IF (PRESENT(operation_)) THEN
1265        operation__tmp = cxios_is_defined_fieldgroup_operation &
1266      (fieldgroup_hdl%daddr)
1267        operation_ = operation__tmp
1268      ENDIF
1269
1270      IF (PRESENT(prec_)) THEN
1271        prec__tmp = cxios_is_defined_fieldgroup_prec &
1272      (fieldgroup_hdl%daddr)
1273        prec_ = prec__tmp
1274      ENDIF
1275
1276      IF (PRESENT(read_access_)) THEN
1277        read_access__tmp = cxios_is_defined_fieldgroup_read_access &
1278      (fieldgroup_hdl%daddr)
1279        read_access_ = read_access__tmp
1280      ENDIF
1281
1282      IF (PRESENT(scalar_ref_)) THEN
1283        scalar_ref__tmp = cxios_is_defined_fieldgroup_scalar_ref &
1284      (fieldgroup_hdl%daddr)
1285        scalar_ref_ = scalar_ref__tmp
1286      ENDIF
1287
1288      IF (PRESENT(scale_factor_)) THEN
1289        scale_factor__tmp = cxios_is_defined_fieldgroup_scale_factor &
1290      (fieldgroup_hdl%daddr)
1291        scale_factor_ = scale_factor__tmp
1292      ENDIF
1293
1294      IF (PRESENT(standard_name_)) THEN
1295        standard_name__tmp = cxios_is_defined_fieldgroup_standard_name &
1296      (fieldgroup_hdl%daddr)
1297        standard_name_ = standard_name__tmp
1298      ENDIF
1299
1300      IF (PRESENT(ts_enabled_)) THEN
1301        ts_enabled__tmp = cxios_is_defined_fieldgroup_ts_enabled &
1302      (fieldgroup_hdl%daddr)
1303        ts_enabled_ = ts_enabled__tmp
1304      ENDIF
1305
1306      IF (PRESENT(ts_split_freq_)) THEN
1307        ts_split_freq__tmp = cxios_is_defined_fieldgroup_ts_split_freq &
1308      (fieldgroup_hdl%daddr)
1309        ts_split_freq_ = ts_split_freq__tmp
1310      ENDIF
1311
1312      IF (PRESENT(unit_)) THEN
1313        unit__tmp = cxios_is_defined_fieldgroup_unit &
1314      (fieldgroup_hdl%daddr)
1315        unit_ = unit__tmp
1316      ENDIF
1317
1318      IF (PRESENT(valid_max_)) THEN
1319        valid_max__tmp = cxios_is_defined_fieldgroup_valid_max &
1320      (fieldgroup_hdl%daddr)
1321        valid_max_ = valid_max__tmp
1322      ENDIF
1323
1324      IF (PRESENT(valid_min_)) THEN
1325        valid_min__tmp = cxios_is_defined_fieldgroup_valid_min &
1326      (fieldgroup_hdl%daddr)
1327        valid_min_ = valid_min__tmp
1328      ENDIF
1329
1330  END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_)
1331
1332END MODULE ifieldgroup_attr
Note: See TracBrowser for help on using the repository browser.