source: XIOS/trunk/src/interface/fortran_attr/ivariable_attr.F90 @ 1041

Last change on this file since 1041 was 1041, checked in by rlacroix, 7 years ago

Add a new attribute "ts_target" for variables.

It allows choosing the target of the variable when using timeseries. Possible values are:

  • field
  • file
  • both
  • none.

If no value is set then the default behavior is used, that is "field" for field variables and "file" for file variables.

  • 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: 6.2 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE ivariable_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE ivariable
9  USE variable_interface_attr
10
11CONTAINS
12
13  SUBROUTINE xios(set_variable_attr)  &
14    ( variable_id, name, ts_target, type )
15
16    IMPLICIT NONE
17      TYPE(txios(variable))  :: variable_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::variable_id
19      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_target
21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
22
23      CALL xios(get_variable_handle) &
24      (variable_id,variable_hdl)
25      CALL xios(set_variable_attr_hdl_)   &
26      ( variable_hdl, name, ts_target, type )
27
28  END SUBROUTINE xios(set_variable_attr)
29
30  SUBROUTINE xios(set_variable_attr_hdl)  &
31    ( variable_hdl, name, ts_target, type )
32
33    IMPLICIT NONE
34      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
35      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
36      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_target
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
38
39      CALL xios(set_variable_attr_hdl_)  &
40      ( variable_hdl, name, ts_target, type )
41
42  END SUBROUTINE xios(set_variable_attr_hdl)
43
44  SUBROUTINE xios(set_variable_attr_hdl_)   &
45    ( variable_hdl, name_, ts_target_, type_ )
46
47    IMPLICIT NONE
48      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
49      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: ts_target_
51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
52
53      IF (PRESENT(name_)) THEN
54        CALL cxios_set_variable_name &
55      (variable_hdl%daddr, name_, len(name_))
56      ENDIF
57
58      IF (PRESENT(ts_target_)) THEN
59        CALL cxios_set_variable_ts_target &
60      (variable_hdl%daddr, ts_target_, len(ts_target_))
61      ENDIF
62
63      IF (PRESENT(type_)) THEN
64        CALL cxios_set_variable_type &
65      (variable_hdl%daddr, type_, len(type_))
66      ENDIF
67
68  END SUBROUTINE xios(set_variable_attr_hdl_)
69
70  SUBROUTINE xios(get_variable_attr)  &
71    ( variable_id, name, ts_target, type )
72
73    IMPLICIT NONE
74      TYPE(txios(variable))  :: variable_hdl
75      CHARACTER(LEN=*), INTENT(IN) ::variable_id
76      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
77      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_target
78      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
79
80      CALL xios(get_variable_handle) &
81      (variable_id,variable_hdl)
82      CALL xios(get_variable_attr_hdl_)   &
83      ( variable_hdl, name, ts_target, type )
84
85  END SUBROUTINE xios(get_variable_attr)
86
87  SUBROUTINE xios(get_variable_attr_hdl)  &
88    ( variable_hdl, name, ts_target, type )
89
90    IMPLICIT NONE
91      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
92      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
93      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_target
94      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
95
96      CALL xios(get_variable_attr_hdl_)  &
97      ( variable_hdl, name, ts_target, type )
98
99  END SUBROUTINE xios(get_variable_attr_hdl)
100
101  SUBROUTINE xios(get_variable_attr_hdl_)   &
102    ( variable_hdl, name_, ts_target_, type_ )
103
104    IMPLICIT NONE
105      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
106      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
107      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: ts_target_
108      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
109
110      IF (PRESENT(name_)) THEN
111        CALL cxios_get_variable_name &
112      (variable_hdl%daddr, name_, len(name_))
113      ENDIF
114
115      IF (PRESENT(ts_target_)) THEN
116        CALL cxios_get_variable_ts_target &
117      (variable_hdl%daddr, ts_target_, len(ts_target_))
118      ENDIF
119
120      IF (PRESENT(type_)) THEN
121        CALL cxios_get_variable_type &
122      (variable_hdl%daddr, type_, len(type_))
123      ENDIF
124
125  END SUBROUTINE xios(get_variable_attr_hdl_)
126
127  SUBROUTINE xios(is_defined_variable_attr)  &
128    ( variable_id, name, ts_target, type )
129
130    IMPLICIT NONE
131      TYPE(txios(variable))  :: variable_hdl
132      CHARACTER(LEN=*), INTENT(IN) ::variable_id
133      LOGICAL, OPTIONAL, INTENT(OUT) :: name
134      LOGICAL(KIND=C_BOOL) :: name_tmp
135      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_target
136      LOGICAL(KIND=C_BOOL) :: ts_target_tmp
137      LOGICAL, OPTIONAL, INTENT(OUT) :: type
138      LOGICAL(KIND=C_BOOL) :: type_tmp
139
140      CALL xios(get_variable_handle) &
141      (variable_id,variable_hdl)
142      CALL xios(is_defined_variable_attr_hdl_)   &
143      ( variable_hdl, name, ts_target, type )
144
145  END SUBROUTINE xios(is_defined_variable_attr)
146
147  SUBROUTINE xios(is_defined_variable_attr_hdl)  &
148    ( variable_hdl, name, ts_target, type )
149
150    IMPLICIT NONE
151      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
152      LOGICAL, OPTIONAL, INTENT(OUT) :: name
153      LOGICAL(KIND=C_BOOL) :: name_tmp
154      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_target
155      LOGICAL(KIND=C_BOOL) :: ts_target_tmp
156      LOGICAL, OPTIONAL, INTENT(OUT) :: type
157      LOGICAL(KIND=C_BOOL) :: type_tmp
158
159      CALL xios(is_defined_variable_attr_hdl_)  &
160      ( variable_hdl, name, ts_target, type )
161
162  END SUBROUTINE xios(is_defined_variable_attr_hdl)
163
164  SUBROUTINE xios(is_defined_variable_attr_hdl_)   &
165    ( variable_hdl, name_, ts_target_, type_ )
166
167    IMPLICIT NONE
168      TYPE(txios(variable)) , INTENT(IN) :: variable_hdl
169      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
170      LOGICAL(KIND=C_BOOL) :: name__tmp
171      LOGICAL, OPTIONAL, INTENT(OUT) :: ts_target_
172      LOGICAL(KIND=C_BOOL) :: ts_target__tmp
173      LOGICAL, OPTIONAL, INTENT(OUT) :: type_
174      LOGICAL(KIND=C_BOOL) :: type__tmp
175
176      IF (PRESENT(name_)) THEN
177        name__tmp = cxios_is_defined_variable_name &
178      (variable_hdl%daddr)
179        name_ = name__tmp
180      ENDIF
181
182      IF (PRESENT(ts_target_)) THEN
183        ts_target__tmp = cxios_is_defined_variable_ts_target &
184      (variable_hdl%daddr)
185        ts_target_ = ts_target__tmp
186      ENDIF
187
188      IF (PRESENT(type_)) THEN
189        type__tmp = cxios_is_defined_variable_type &
190      (variable_hdl%daddr)
191        type_ = type__tmp
192      ENDIF
193
194  END SUBROUTINE xios(is_defined_variable_attr_hdl_)
195
196END MODULE ivariable_attr
Note: See TracBrowser for help on using the repository browser.