source: XIOS/trunk/src/interface/fortran_attr/icontext_attr.F90 @ 532

Last change on this file since 532 was 532, checked in by rlacroix, 8 years ago

Add a new attribute type for dates and use it for the context's start_date and time_origin.

The "xios_date" type should now be used to get/set date attributes through the Fortran interface. This avoids using strings to manipulate dates.

  • 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: 9.3 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE icontext_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE icontext
9  USE context_interface_attr
10 
11CONTAINS
12 
13  SUBROUTINE xios(set_context_attr)  &
14    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep )
15   
16    IMPLICIT NONE
17      TYPE(txios(context))  :: context_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::context_id
19      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir
21      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: start_date
22      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: time_origin
23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep
24     
25      CALL xios(get_context_handle)(context_id,context_hdl)
26      CALL xios(set_context_attr_hdl_)   &
27      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
28   
29  END SUBROUTINE xios(set_context_attr)
30 
31  SUBROUTINE xios(set_context_attr_hdl)  &
32    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
33   
34    IMPLICIT NONE
35      TYPE(txios(context)) , INTENT(IN) :: context_hdl
36      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type
37      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir
38      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: start_date
39      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: time_origin
40      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep
41     
42      CALL xios(set_context_attr_hdl_)  &
43      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
44   
45  END SUBROUTINE xios(set_context_attr_hdl)
46 
47  SUBROUTINE xios(set_context_attr_hdl_)   &
48    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )
49   
50    IMPLICIT NONE
51      TYPE(txios(context)) , INTENT(IN) :: context_hdl
52      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type_
53      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir_
54      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: start_date_
55      TYPE(txios(date))  , OPTIONAL, INTENT(IN) :: time_origin_
56      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: timestep_
57     
58      IF (PRESENT(calendar_type_)) THEN
59        CALL cxios_set_context_calendar_type(context_hdl%daddr, calendar_type_, len(calendar_type_))
60      ENDIF
61     
62      IF (PRESENT(output_dir_)) THEN
63        CALL cxios_set_context_output_dir(context_hdl%daddr, output_dir_, len(output_dir_))
64      ENDIF
65     
66      IF (PRESENT(start_date_)) THEN
67        CALL cxios_set_context_start_date(context_hdl%daddr, start_date_)
68      ENDIF
69     
70      IF (PRESENT(time_origin_)) THEN
71        CALL cxios_set_context_time_origin(context_hdl%daddr, time_origin_)
72      ENDIF
73     
74      IF (PRESENT(timestep_)) THEN
75        CALL cxios_set_context_timestep(context_hdl%daddr, timestep_, len(timestep_))
76      ENDIF
77     
78     
79   
80  END SUBROUTINE xios(set_context_attr_hdl_)
81 
82  SUBROUTINE xios(get_context_attr)  &
83    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep )
84   
85    IMPLICIT NONE
86      TYPE(txios(context))  :: context_hdl
87      CHARACTER(LEN=*), INTENT(IN) ::context_id
88      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type
89      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir
90      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: start_date
91      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: time_origin
92      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep
93     
94      CALL xios(get_context_handle)(context_id,context_hdl)
95      CALL xios(get_context_attr_hdl_)   &
96      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
97   
98  END SUBROUTINE xios(get_context_attr)
99 
100  SUBROUTINE xios(get_context_attr_hdl)  &
101    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
102   
103    IMPLICIT NONE
104      TYPE(txios(context)) , INTENT(IN) :: context_hdl
105      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type
106      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir
107      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: start_date
108      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: time_origin
109      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep
110     
111      CALL xios(get_context_attr_hdl_)  &
112      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
113   
114  END SUBROUTINE xios(get_context_attr_hdl)
115 
116  SUBROUTINE xios(get_context_attr_hdl_)   &
117    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )
118   
119    IMPLICIT NONE
120      TYPE(txios(context)) , INTENT(IN) :: context_hdl
121      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type_
122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir_
123      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: start_date_
124      TYPE(txios(date))  , OPTIONAL, INTENT(OUT) :: time_origin_
125      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: timestep_
126     
127      IF (PRESENT(calendar_type_)) THEN
128        CALL cxios_get_context_calendar_type(context_hdl%daddr, calendar_type_, len(calendar_type_))
129      ENDIF
130     
131      IF (PRESENT(output_dir_)) THEN
132        CALL cxios_get_context_output_dir(context_hdl%daddr, output_dir_, len(output_dir_))
133      ENDIF
134     
135      IF (PRESENT(start_date_)) THEN
136        CALL cxios_get_context_start_date(context_hdl%daddr, start_date_)
137      ENDIF
138     
139      IF (PRESENT(time_origin_)) THEN
140        CALL cxios_get_context_time_origin(context_hdl%daddr, time_origin_)
141      ENDIF
142     
143      IF (PRESENT(timestep_)) THEN
144        CALL cxios_get_context_timestep(context_hdl%daddr, timestep_, len(timestep_))
145      ENDIF
146     
147     
148   
149  END SUBROUTINE xios(get_context_attr_hdl_)
150 
151  SUBROUTINE xios(is_defined_context_attr)  &
152    ( context_id, calendar_type, output_dir, start_date, time_origin, timestep )
153   
154    IMPLICIT NONE
155      TYPE(txios(context))  :: context_hdl
156      CHARACTER(LEN=*), INTENT(IN) ::context_id
157      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type
158      LOGICAL(KIND=C_BOOL) :: calendar_type_tmp
159      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir
160      LOGICAL(KIND=C_BOOL) :: output_dir_tmp
161      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date
162      LOGICAL(KIND=C_BOOL) :: start_date_tmp
163      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin
164      LOGICAL(KIND=C_BOOL) :: time_origin_tmp
165      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep
166      LOGICAL(KIND=C_BOOL) :: timestep_tmp
167     
168      CALL xios(get_context_handle)(context_id,context_hdl)
169      CALL xios(is_defined_context_attr_hdl_)   &
170      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
171   
172  END SUBROUTINE xios(is_defined_context_attr)
173 
174  SUBROUTINE xios(is_defined_context_attr_hdl)  &
175    ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
176   
177    IMPLICIT NONE
178      TYPE(txios(context)) , INTENT(IN) :: context_hdl
179      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type
180      LOGICAL(KIND=C_BOOL) :: calendar_type_tmp
181      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir
182      LOGICAL(KIND=C_BOOL) :: output_dir_tmp
183      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date
184      LOGICAL(KIND=C_BOOL) :: start_date_tmp
185      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin
186      LOGICAL(KIND=C_BOOL) :: time_origin_tmp
187      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep
188      LOGICAL(KIND=C_BOOL) :: timestep_tmp
189     
190      CALL xios(is_defined_context_attr_hdl_)  &
191      ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep )
192   
193  END SUBROUTINE xios(is_defined_context_attr_hdl)
194 
195  SUBROUTINE xios(is_defined_context_attr_hdl_)   &
196    ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )
197   
198    IMPLICIT NONE
199      TYPE(txios(context)) , INTENT(IN) :: context_hdl
200      LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type_
201      LOGICAL(KIND=C_BOOL) :: calendar_type__tmp
202      LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir_
203      LOGICAL(KIND=C_BOOL) :: output_dir__tmp
204      LOGICAL, OPTIONAL, INTENT(OUT) :: start_date_
205      LOGICAL(KIND=C_BOOL) :: start_date__tmp
206      LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin_
207      LOGICAL(KIND=C_BOOL) :: time_origin__tmp
208      LOGICAL, OPTIONAL, INTENT(OUT) :: timestep_
209      LOGICAL(KIND=C_BOOL) :: timestep__tmp
210     
211      IF (PRESENT(calendar_type_)) THEN
212        calendar_type__tmp=cxios_is_defined_context_calendar_type(context_hdl%daddr)
213        calendar_type_=calendar_type__tmp
214      ENDIF
215     
216      IF (PRESENT(output_dir_)) THEN
217        output_dir__tmp=cxios_is_defined_context_output_dir(context_hdl%daddr)
218        output_dir_=output_dir__tmp
219      ENDIF
220     
221      IF (PRESENT(start_date_)) THEN
222        start_date__tmp=cxios_is_defined_context_start_date(context_hdl%daddr)
223        start_date_=start_date__tmp
224      ENDIF
225     
226      IF (PRESENT(time_origin_)) THEN
227        time_origin__tmp=cxios_is_defined_context_time_origin(context_hdl%daddr)
228        time_origin_=time_origin__tmp
229      ENDIF
230     
231      IF (PRESENT(timestep_)) THEN
232        timestep__tmp=cxios_is_defined_context_timestep(context_hdl%daddr)
233        timestep_=timestep__tmp
234      ENDIF
235     
236     
237   
238  END SUBROUTINE xios(is_defined_context_attr_hdl_)
239 
240END MODULE icontext_attr
Note: See TracBrowser for help on using the repository browser.