source: XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90 @ 464

Last change on this file since 464 was 464, checked in by ymipsl, 8 years ago

Enhancement : Add scale_factor and add_offset attribute to field output
Operation (field-add_offset)/scale_factor would be computed before output write.
If field attribute prec=2 the field would be rounded to nearest integer value and output as short int (2 bytes).

YM

File size: 25.8 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE ifield_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE ifield
9  USE field_interface_attr
10 
11CONTAINS
12 
13  SUBROUTINE xios(set_field_attr)  &
14    ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
15    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
16    , valid_max, valid_min )
17   
18    IMPLICIT NONE
19      TYPE(txios(field))  :: field_hdl
20      CHARACTER(LEN=*), INTENT(IN) ::field_id
21      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
22      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
23      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
24      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
25      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
26      LOGICAL (KIND=C_BOOL) :: enabled_tmp
27      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref
28      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_offset
29      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op
30      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref
31      INTEGER  , OPTIONAL, INTENT(IN) :: level
32      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
33      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation
35      INTEGER  , OPTIONAL, INTENT(IN) :: prec
36      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
38      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
39      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
40      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
41     
42      CALL xios(get_field_handle)(field_id,field_hdl)
43      CALL xios(set_field_attr_hdl_)   &
44      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
45      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
46      , valid_max, valid_min )
47   
48  END SUBROUTINE xios(set_field_attr)
49 
50  SUBROUTINE xios(set_field_attr_hdl)  &
51    ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
52    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
53    , valid_max, valid_min )
54   
55    IMPLICIT NONE
56      TYPE(txios(field)) , INTENT(IN) :: field_hdl
57      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset
58      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref
59      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value
60      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref
61      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled
62      LOGICAL (KIND=C_BOOL) :: enabled_tmp
63      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref
64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_offset
65      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op
66      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref
67      INTEGER  , OPTIONAL, INTENT(IN) :: level
68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
69      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
70      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation
71      INTEGER  , OPTIONAL, INTENT(IN) :: prec
72      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor
73      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
74      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
75      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max
76      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min
77     
78      CALL xios(set_field_attr_hdl_)  &
79      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
80      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
81      , valid_max, valid_min )
82   
83  END SUBROUTINE xios(set_field_attr_hdl)
84 
85  SUBROUTINE xios(set_field_attr_hdl_)   &
86    ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
87    , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  &
88    , unit_, valid_max_, valid_min_ )
89   
90    IMPLICIT NONE
91      TYPE(txios(field)) , INTENT(IN) :: field_hdl
92      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset_
93      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_
94      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value_
95      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_
96      LOGICAL  , OPTIONAL, INTENT(IN) :: enabled_
97      LOGICAL (KIND=C_BOOL) :: enabled__tmp
98      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_
99      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_offset_
100      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: freq_op_
101      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref_
102      INTEGER  , OPTIONAL, INTENT(IN) :: level_
103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
105      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation_
106      INTEGER  , OPTIONAL, INTENT(IN) :: prec_
107      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor_
108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
109      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_
110      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max_
111      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min_
112     
113      IF (PRESENT(add_offset_)) THEN
114        CALL cxios_set_field_add_offset(field_hdl%daddr, add_offset_)
115      ENDIF
116     
117      IF (PRESENT(axis_ref_)) THEN
118        CALL cxios_set_field_axis_ref(field_hdl%daddr, axis_ref_, len(axis_ref_))
119      ENDIF
120     
121      IF (PRESENT(default_value_)) THEN
122        CALL cxios_set_field_default_value(field_hdl%daddr, default_value_)
123      ENDIF
124     
125      IF (PRESENT(domain_ref_)) THEN
126        CALL cxios_set_field_domain_ref(field_hdl%daddr, domain_ref_, len(domain_ref_))
127      ENDIF
128     
129      IF (PRESENT(enabled_)) THEN
130        enabled__tmp=enabled_
131        CALL cxios_set_field_enabled(field_hdl%daddr, enabled__tmp)
132      ENDIF
133     
134      IF (PRESENT(field_ref_)) THEN
135        CALL cxios_set_field_field_ref(field_hdl%daddr, field_ref_, len(field_ref_))
136      ENDIF
137     
138      IF (PRESENT(freq_offset_)) THEN
139        CALL cxios_set_field_freq_offset(field_hdl%daddr, freq_offset_, len(freq_offset_))
140      ENDIF
141     
142      IF (PRESENT(freq_op_)) THEN
143        CALL cxios_set_field_freq_op(field_hdl%daddr, freq_op_, len(freq_op_))
144      ENDIF
145     
146      IF (PRESENT(grid_ref_)) THEN
147        CALL cxios_set_field_grid_ref(field_hdl%daddr, grid_ref_, len(grid_ref_))
148      ENDIF
149     
150      IF (PRESENT(level_)) THEN
151        CALL cxios_set_field_level(field_hdl%daddr, level_)
152      ENDIF
153     
154      IF (PRESENT(long_name_)) THEN
155        CALL cxios_set_field_long_name(field_hdl%daddr, long_name_, len(long_name_))
156      ENDIF
157     
158      IF (PRESENT(name_)) THEN
159        CALL cxios_set_field_name(field_hdl%daddr, name_, len(name_))
160      ENDIF
161     
162      IF (PRESENT(operation_)) THEN
163        CALL cxios_set_field_operation(field_hdl%daddr, operation_, len(operation_))
164      ENDIF
165     
166      IF (PRESENT(prec_)) THEN
167        CALL cxios_set_field_prec(field_hdl%daddr, prec_)
168      ENDIF
169     
170      IF (PRESENT(scale_factor_)) THEN
171        CALL cxios_set_field_scale_factor(field_hdl%daddr, scale_factor_)
172      ENDIF
173     
174      IF (PRESENT(standard_name_)) THEN
175        CALL cxios_set_field_standard_name(field_hdl%daddr, standard_name_, len(standard_name_))
176      ENDIF
177     
178      IF (PRESENT(unit_)) THEN
179        CALL cxios_set_field_unit(field_hdl%daddr, unit_, len(unit_))
180      ENDIF
181     
182      IF (PRESENT(valid_max_)) THEN
183        CALL cxios_set_field_valid_max(field_hdl%daddr, valid_max_)
184      ENDIF
185     
186      IF (PRESENT(valid_min_)) THEN
187        CALL cxios_set_field_valid_min(field_hdl%daddr, valid_min_)
188      ENDIF
189     
190     
191   
192  END SUBROUTINE xios(set_field_attr_hdl_)
193 
194  SUBROUTINE xios(get_field_attr)  &
195    ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
196    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
197    , valid_max, valid_min )
198   
199    IMPLICIT NONE
200      TYPE(txios(field))  :: field_hdl
201      CHARACTER(LEN=*), INTENT(IN) ::field_id
202      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
203      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
204      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
205      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
206      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
207      LOGICAL (KIND=C_BOOL) :: enabled_tmp
208      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref
209      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_offset
210      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_op
211      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref
212      INTEGER  , OPTIONAL, INTENT(OUT) :: level
213      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
214      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
215      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation
216      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
217      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor
218      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
219      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
220      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
221      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
222     
223      CALL xios(get_field_handle)(field_id,field_hdl)
224      CALL xios(get_field_attr_hdl_)   &
225      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
226      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
227      , valid_max, valid_min )
228   
229  END SUBROUTINE xios(get_field_attr)
230 
231  SUBROUTINE xios(get_field_attr_hdl)  &
232    ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
233    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
234    , valid_max, valid_min )
235   
236    IMPLICIT NONE
237      TYPE(txios(field)) , INTENT(IN) :: field_hdl
238      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset
239      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref
240      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value
241      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref
242      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled
243      LOGICAL (KIND=C_BOOL) :: enabled_tmp
244      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref
245      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_offset
246      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_op
247      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref
248      INTEGER  , OPTIONAL, INTENT(OUT) :: level
249      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
250      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
251      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation
252      INTEGER  , OPTIONAL, INTENT(OUT) :: prec
253      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor
254      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
255      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
256      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max
257      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min
258     
259      CALL xios(get_field_attr_hdl_)  &
260      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
261      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
262      , valid_max, valid_min )
263   
264  END SUBROUTINE xios(get_field_attr_hdl)
265 
266  SUBROUTINE xios(get_field_attr_hdl_)   &
267    ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
268    , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  &
269    , unit_, valid_max_, valid_min_ )
270   
271    IMPLICIT NONE
272      TYPE(txios(field)) , INTENT(IN) :: field_hdl
273      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: add_offset_
274      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_
275      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: default_value_
276      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_
277      LOGICAL  , OPTIONAL, INTENT(OUT) :: enabled_
278      LOGICAL (KIND=C_BOOL) :: enabled__tmp
279      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref_
280      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_offset_
281      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: freq_op_
282      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: grid_ref_
283      INTEGER  , OPTIONAL, INTENT(OUT) :: level_
284      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
285      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
286      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: operation_
287      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_
288      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: scale_factor_
289      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
290      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_
291      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_max_
292      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: valid_min_
293     
294      IF (PRESENT(add_offset_)) THEN
295        CALL cxios_get_field_add_offset(field_hdl%daddr, add_offset_)
296      ENDIF
297     
298      IF (PRESENT(axis_ref_)) THEN
299        CALL cxios_get_field_axis_ref(field_hdl%daddr, axis_ref_, len(axis_ref_))
300      ENDIF
301     
302      IF (PRESENT(default_value_)) THEN
303        CALL cxios_get_field_default_value(field_hdl%daddr, default_value_)
304      ENDIF
305     
306      IF (PRESENT(domain_ref_)) THEN
307        CALL cxios_get_field_domain_ref(field_hdl%daddr, domain_ref_, len(domain_ref_))
308      ENDIF
309     
310      IF (PRESENT(enabled_)) THEN
311        CALL cxios_get_field_enabled(field_hdl%daddr, enabled__tmp)
312        enabled_=enabled__tmp
313      ENDIF
314     
315      IF (PRESENT(field_ref_)) THEN
316        CALL cxios_get_field_field_ref(field_hdl%daddr, field_ref_, len(field_ref_))
317      ENDIF
318     
319      IF (PRESENT(freq_offset_)) THEN
320        CALL cxios_get_field_freq_offset(field_hdl%daddr, freq_offset_, len(freq_offset_))
321      ENDIF
322     
323      IF (PRESENT(freq_op_)) THEN
324        CALL cxios_get_field_freq_op(field_hdl%daddr, freq_op_, len(freq_op_))
325      ENDIF
326     
327      IF (PRESENT(grid_ref_)) THEN
328        CALL cxios_get_field_grid_ref(field_hdl%daddr, grid_ref_, len(grid_ref_))
329      ENDIF
330     
331      IF (PRESENT(level_)) THEN
332        CALL cxios_get_field_level(field_hdl%daddr, level_)
333      ENDIF
334     
335      IF (PRESENT(long_name_)) THEN
336        CALL cxios_get_field_long_name(field_hdl%daddr, long_name_, len(long_name_))
337      ENDIF
338     
339      IF (PRESENT(name_)) THEN
340        CALL cxios_get_field_name(field_hdl%daddr, name_, len(name_))
341      ENDIF
342     
343      IF (PRESENT(operation_)) THEN
344        CALL cxios_get_field_operation(field_hdl%daddr, operation_, len(operation_))
345      ENDIF
346     
347      IF (PRESENT(prec_)) THEN
348        CALL cxios_get_field_prec(field_hdl%daddr, prec_)
349      ENDIF
350     
351      IF (PRESENT(scale_factor_)) THEN
352        CALL cxios_get_field_scale_factor(field_hdl%daddr, scale_factor_)
353      ENDIF
354     
355      IF (PRESENT(standard_name_)) THEN
356        CALL cxios_get_field_standard_name(field_hdl%daddr, standard_name_, len(standard_name_))
357      ENDIF
358     
359      IF (PRESENT(unit_)) THEN
360        CALL cxios_get_field_unit(field_hdl%daddr, unit_, len(unit_))
361      ENDIF
362     
363      IF (PRESENT(valid_max_)) THEN
364        CALL cxios_get_field_valid_max(field_hdl%daddr, valid_max_)
365      ENDIF
366     
367      IF (PRESENT(valid_min_)) THEN
368        CALL cxios_get_field_valid_min(field_hdl%daddr, valid_min_)
369      ENDIF
370     
371     
372   
373  END SUBROUTINE xios(get_field_attr_hdl_)
374 
375  SUBROUTINE xios(is_defined_field_attr)  &
376    ( field_id, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
377    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
378    , valid_max, valid_min )
379   
380    IMPLICIT NONE
381      TYPE(txios(field))  :: field_hdl
382      CHARACTER(LEN=*), INTENT(IN) ::field_id
383      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset
384      LOGICAL(KIND=C_BOOL) :: add_offset_tmp
385      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
386      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
387      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
388      LOGICAL(KIND=C_BOOL) :: default_value_tmp
389      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
390      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
391      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled
392      LOGICAL(KIND=C_BOOL) :: enabled_tmp
393      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref
394      LOGICAL(KIND=C_BOOL) :: field_ref_tmp
395      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset
396      LOGICAL(KIND=C_BOOL) :: freq_offset_tmp
397      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op
398      LOGICAL(KIND=C_BOOL) :: freq_op_tmp
399      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref
400      LOGICAL(KIND=C_BOOL) :: grid_ref_tmp
401      LOGICAL, OPTIONAL, INTENT(OUT) :: level
402      LOGICAL(KIND=C_BOOL) :: level_tmp
403      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
404      LOGICAL(KIND=C_BOOL) :: long_name_tmp
405      LOGICAL, OPTIONAL, INTENT(OUT) :: name
406      LOGICAL(KIND=C_BOOL) :: name_tmp
407      LOGICAL, OPTIONAL, INTENT(OUT) :: operation
408      LOGICAL(KIND=C_BOOL) :: operation_tmp
409      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
410      LOGICAL(KIND=C_BOOL) :: prec_tmp
411      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor
412      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp
413      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
414      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
415      LOGICAL, OPTIONAL, INTENT(OUT) :: unit
416      LOGICAL(KIND=C_BOOL) :: unit_tmp
417      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
418      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
419      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
420      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
421     
422      CALL xios(get_field_handle)(field_id,field_hdl)
423      CALL xios(is_defined_field_attr_hdl_)   &
424      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
425      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
426      , valid_max, valid_min )
427   
428  END SUBROUTINE xios(is_defined_field_attr)
429 
430  SUBROUTINE xios(is_defined_field_attr_hdl)  &
431    ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
432    , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
433    , valid_max, valid_min )
434   
435    IMPLICIT NONE
436      TYPE(txios(field)) , INTENT(IN) :: field_hdl
437      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset
438      LOGICAL(KIND=C_BOOL) :: add_offset_tmp
439      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref
440      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp
441      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value
442      LOGICAL(KIND=C_BOOL) :: default_value_tmp
443      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref
444      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp
445      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled
446      LOGICAL(KIND=C_BOOL) :: enabled_tmp
447      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref
448      LOGICAL(KIND=C_BOOL) :: field_ref_tmp
449      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset
450      LOGICAL(KIND=C_BOOL) :: freq_offset_tmp
451      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op
452      LOGICAL(KIND=C_BOOL) :: freq_op_tmp
453      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref
454      LOGICAL(KIND=C_BOOL) :: grid_ref_tmp
455      LOGICAL, OPTIONAL, INTENT(OUT) :: level
456      LOGICAL(KIND=C_BOOL) :: level_tmp
457      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name
458      LOGICAL(KIND=C_BOOL) :: long_name_tmp
459      LOGICAL, OPTIONAL, INTENT(OUT) :: name
460      LOGICAL(KIND=C_BOOL) :: name_tmp
461      LOGICAL, OPTIONAL, INTENT(OUT) :: operation
462      LOGICAL(KIND=C_BOOL) :: operation_tmp
463      LOGICAL, OPTIONAL, INTENT(OUT) :: prec
464      LOGICAL(KIND=C_BOOL) :: prec_tmp
465      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor
466      LOGICAL(KIND=C_BOOL) :: scale_factor_tmp
467      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name
468      LOGICAL(KIND=C_BOOL) :: standard_name_tmp
469      LOGICAL, OPTIONAL, INTENT(OUT) :: unit
470      LOGICAL(KIND=C_BOOL) :: unit_tmp
471      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max
472      LOGICAL(KIND=C_BOOL) :: valid_max_tmp
473      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min
474      LOGICAL(KIND=C_BOOL) :: valid_min_tmp
475     
476      CALL xios(is_defined_field_attr_hdl_)  &
477      ( field_hdl, add_offset, axis_ref, default_value, domain_ref, enabled, field_ref, freq_offset  &
478      , freq_op, grid_ref, level, long_name, name, operation, prec, scale_factor, standard_name, unit  &
479      , valid_max, valid_min )
480   
481  END SUBROUTINE xios(is_defined_field_attr_hdl)
482 
483  SUBROUTINE xios(is_defined_field_attr_hdl_)   &
484    ( field_hdl, add_offset_, axis_ref_, default_value_, domain_ref_, enabled_, field_ref_, freq_offset_  &
485    , freq_op_, grid_ref_, level_, long_name_, name_, operation_, prec_, scale_factor_, standard_name_  &
486    , unit_, valid_max_, valid_min_ )
487   
488    IMPLICIT NONE
489      TYPE(txios(field)) , INTENT(IN) :: field_hdl
490      LOGICAL, OPTIONAL, INTENT(OUT) :: add_offset_
491      LOGICAL(KIND=C_BOOL) :: add_offset__tmp
492      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_
493      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp
494      LOGICAL, OPTIONAL, INTENT(OUT) :: default_value_
495      LOGICAL(KIND=C_BOOL) :: default_value__tmp
496      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_
497      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp
498      LOGICAL, OPTIONAL, INTENT(OUT) :: enabled_
499      LOGICAL(KIND=C_BOOL) :: enabled__tmp
500      LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref_
501      LOGICAL(KIND=C_BOOL) :: field_ref__tmp
502      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_offset_
503      LOGICAL(KIND=C_BOOL) :: freq_offset__tmp
504      LOGICAL, OPTIONAL, INTENT(OUT) :: freq_op_
505      LOGICAL(KIND=C_BOOL) :: freq_op__tmp
506      LOGICAL, OPTIONAL, INTENT(OUT) :: grid_ref_
507      LOGICAL(KIND=C_BOOL) :: grid_ref__tmp
508      LOGICAL, OPTIONAL, INTENT(OUT) :: level_
509      LOGICAL(KIND=C_BOOL) :: level__tmp
510      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_
511      LOGICAL(KIND=C_BOOL) :: long_name__tmp
512      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
513      LOGICAL(KIND=C_BOOL) :: name__tmp
514      LOGICAL, OPTIONAL, INTENT(OUT) :: operation_
515      LOGICAL(KIND=C_BOOL) :: operation__tmp
516      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_
517      LOGICAL(KIND=C_BOOL) :: prec__tmp
518      LOGICAL, OPTIONAL, INTENT(OUT) :: scale_factor_
519      LOGICAL(KIND=C_BOOL) :: scale_factor__tmp
520      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_
521      LOGICAL(KIND=C_BOOL) :: standard_name__tmp
522      LOGICAL, OPTIONAL, INTENT(OUT) :: unit_
523      LOGICAL(KIND=C_BOOL) :: unit__tmp
524      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_max_
525      LOGICAL(KIND=C_BOOL) :: valid_max__tmp
526      LOGICAL, OPTIONAL, INTENT(OUT) :: valid_min_
527      LOGICAL(KIND=C_BOOL) :: valid_min__tmp
528     
529      IF (PRESENT(add_offset_)) THEN
530        add_offset__tmp=cxios_is_defined_field_add_offset(field_hdl%daddr)
531        add_offset_=add_offset__tmp
532      ENDIF
533     
534      IF (PRESENT(axis_ref_)) THEN
535        axis_ref__tmp=cxios_is_defined_field_axis_ref(field_hdl%daddr)
536        axis_ref_=axis_ref__tmp
537      ENDIF
538     
539      IF (PRESENT(default_value_)) THEN
540        default_value__tmp=cxios_is_defined_field_default_value(field_hdl%daddr)
541        default_value_=default_value__tmp
542      ENDIF
543     
544      IF (PRESENT(domain_ref_)) THEN
545        domain_ref__tmp=cxios_is_defined_field_domain_ref(field_hdl%daddr)
546        domain_ref_=domain_ref__tmp
547      ENDIF
548     
549      IF (PRESENT(enabled_)) THEN
550        enabled__tmp=cxios_is_defined_field_enabled(field_hdl%daddr)
551        enabled_=enabled__tmp
552      ENDIF
553     
554      IF (PRESENT(field_ref_)) THEN
555        field_ref__tmp=cxios_is_defined_field_field_ref(field_hdl%daddr)
556        field_ref_=field_ref__tmp
557      ENDIF
558     
559      IF (PRESENT(freq_offset_)) THEN
560        freq_offset__tmp=cxios_is_defined_field_freq_offset(field_hdl%daddr)
561        freq_offset_=freq_offset__tmp
562      ENDIF
563     
564      IF (PRESENT(freq_op_)) THEN
565        freq_op__tmp=cxios_is_defined_field_freq_op(field_hdl%daddr)
566        freq_op_=freq_op__tmp
567      ENDIF
568     
569      IF (PRESENT(grid_ref_)) THEN
570        grid_ref__tmp=cxios_is_defined_field_grid_ref(field_hdl%daddr)
571        grid_ref_=grid_ref__tmp
572      ENDIF
573     
574      IF (PRESENT(level_)) THEN
575        level__tmp=cxios_is_defined_field_level(field_hdl%daddr)
576        level_=level__tmp
577      ENDIF
578     
579      IF (PRESENT(long_name_)) THEN
580        long_name__tmp=cxios_is_defined_field_long_name(field_hdl%daddr)
581        long_name_=long_name__tmp
582      ENDIF
583     
584      IF (PRESENT(name_)) THEN
585        name__tmp=cxios_is_defined_field_name(field_hdl%daddr)
586        name_=name__tmp
587      ENDIF
588     
589      IF (PRESENT(operation_)) THEN
590        operation__tmp=cxios_is_defined_field_operation(field_hdl%daddr)
591        operation_=operation__tmp
592      ENDIF
593     
594      IF (PRESENT(prec_)) THEN
595        prec__tmp=cxios_is_defined_field_prec(field_hdl%daddr)
596        prec_=prec__tmp
597      ENDIF
598     
599      IF (PRESENT(scale_factor_)) THEN
600        scale_factor__tmp=cxios_is_defined_field_scale_factor(field_hdl%daddr)
601        scale_factor_=scale_factor__tmp
602      ENDIF
603     
604      IF (PRESENT(standard_name_)) THEN
605        standard_name__tmp=cxios_is_defined_field_standard_name(field_hdl%daddr)
606        standard_name_=standard_name__tmp
607      ENDIF
608     
609      IF (PRESENT(unit_)) THEN
610        unit__tmp=cxios_is_defined_field_unit(field_hdl%daddr)
611        unit_=unit__tmp
612      ENDIF
613     
614      IF (PRESENT(valid_max_)) THEN
615        valid_max__tmp=cxios_is_defined_field_valid_max(field_hdl%daddr)
616        valid_max_=valid_max__tmp
617      ENDIF
618     
619      IF (PRESENT(valid_min_)) THEN
620        valid_min__tmp=cxios_is_defined_field_valid_min(field_hdl%daddr)
621        valid_min_=valid_min__tmp
622      ENDIF
623     
624     
625   
626  END SUBROUTINE xios(is_defined_field_attr_hdl_)
627 
628END MODULE ifield_attr
Note: See TracBrowser for help on using the repository browser.