source: XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90 @ 369

Last change on this file since 369 was 369, checked in by ymipsl, 12 years ago

Major Update

  • redesign Type and attribute manipulation
  • add enumerate type and attribute
  • use blitz class array instead of boost class array

YM

File size: 7.9 KB
Line 
1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE iaxis_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE iaxis
9  USE axis_interface_attr
10 
11CONTAINS
12 
13  SUBROUTINE xios(set_axis_attr)  &
14    ( axis_id, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
15     )
16   
17    IMPLICIT NONE
18      TYPE(txios(axis))  :: axis_hdl
19      CHARACTER(LEN=*), INTENT(IN) ::axis_id
20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
22      INTEGER  , OPTIONAL, INTENT(IN) :: size
23      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
24      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:)
26      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin
27      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end
28      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size
29     
30      CALL xios(get_axis_handle)(axis_id,axis_hdl)
31      CALL xios(set_axis_attr_hdl_)   &
32      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
33       )
34   
35  END SUBROUTINE xios(set_axis_attr)
36 
37  SUBROUTINE xios(set_axis_attr_hdl)  &
38    ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
39     )
40   
41    IMPLICIT NONE
42      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name
44      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
45      INTEGER  , OPTIONAL, INTENT(IN) :: size
46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name
47      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit
48      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value(:)
49      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin
50      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end
51      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size
52     
53      CALL xios(set_axis_attr_hdl_)  &
54      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
55       )
56   
57  END SUBROUTINE xios(set_axis_attr_hdl)
58 
59  SUBROUTINE xios(set_axis_attr_hdl_)   &
60    ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_  &
61    , zoom_size_ )
62   
63    IMPLICIT NONE
64      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
65      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_
66      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
67      INTEGER  , OPTIONAL, INTENT(IN) :: size_
68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_
69      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_
70      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: value_(:)
71      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_begin_
72      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_end_
73      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_
74     
75      IF (PRESENT(long_name_)) THEN
76        CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))
77      ENDIF
78     
79      IF (PRESENT(name_)) THEN
80        CALL cxios_set_axis_name(axis_hdl%daddr, name_, len(name_))
81      ENDIF
82     
83      IF (PRESENT(size_)) THEN
84        CALL cxios_set_axis_size(axis_hdl%daddr, size_)
85      ENDIF
86     
87      IF (PRESENT(standard_name_)) THEN
88        CALL cxios_set_axis_standard_name(axis_hdl%daddr, standard_name_, len(standard_name_))
89      ENDIF
90     
91      IF (PRESENT(unit_)) THEN
92        CALL cxios_set_axis_unit(axis_hdl%daddr, unit_, len(unit_))
93      ENDIF
94     
95      IF (PRESENT(value_)) THEN
96        CALL cxios_set_axis_value(axis_hdl%daddr, value_,size(value_,1))
97      ENDIF
98     
99      IF (PRESENT(zoom_begin_)) THEN
100        CALL cxios_set_axis_zoom_begin(axis_hdl%daddr, zoom_begin_)
101      ENDIF
102     
103      IF (PRESENT(zoom_end_)) THEN
104        CALL cxios_set_axis_zoom_end(axis_hdl%daddr, zoom_end_)
105      ENDIF
106     
107      IF (PRESENT(zoom_size_)) THEN
108        CALL cxios_set_axis_zoom_size(axis_hdl%daddr, zoom_size_)
109      ENDIF
110     
111     
112   
113  END SUBROUTINE xios(set_axis_attr_hdl_)
114 
115  SUBROUTINE xios(get_axis_attr)  &
116    ( axis_id, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
117     )
118   
119    IMPLICIT NONE
120      TYPE(txios(axis))  :: axis_hdl
121      CHARACTER(LEN=*), INTENT(IN) ::axis_id
122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
123      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
124      INTEGER  , OPTIONAL, INTENT(OUT) :: size
125      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
126      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
127      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:)
128      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin
129      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end
130      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size
131     
132      CALL xios(get_axis_handle)(axis_id,axis_hdl)
133      CALL xios(get_axis_attr_hdl_)   &
134      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
135       )
136   
137  END SUBROUTINE xios(get_axis_attr)
138 
139  SUBROUTINE xios(get_axis_attr_hdl)  &
140    ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
141     )
142   
143    IMPLICIT NONE
144      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
145      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name
146      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
147      INTEGER  , OPTIONAL, INTENT(OUT) :: size
148      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name
149      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit
150      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value(:)
151      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin
152      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end
153      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size
154     
155      CALL xios(get_axis_attr_hdl_)  &
156      ( axis_hdl, long_name, name, size, standard_name, unit, value, zoom_begin, zoom_end, zoom_size  &
157       )
158   
159  END SUBROUTINE xios(get_axis_attr_hdl)
160 
161  SUBROUTINE xios(get_axis_attr_hdl_)   &
162    ( axis_hdl, long_name_, name_, size_, standard_name_, unit_, value_, zoom_begin_, zoom_end_  &
163    , zoom_size_ )
164   
165    IMPLICIT NONE
166      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl
167      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_
168      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
169      INTEGER  , OPTIONAL, INTENT(OUT) :: size_
170      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_
171      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: unit_
172      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: value_(:)
173      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_begin_
174      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_end_
175      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_
176     
177      IF (PRESENT(long_name_)) THEN
178        CALL cxios_get_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))
179      ENDIF
180     
181      IF (PRESENT(name_)) THEN
182        CALL cxios_get_axis_name(axis_hdl%daddr, name_, len(name_))
183      ENDIF
184     
185      IF (PRESENT(size_)) THEN
186        CALL cxios_get_axis_size(axis_hdl%daddr, size_)
187      ENDIF
188     
189      IF (PRESENT(standard_name_)) THEN
190        CALL cxios_get_axis_standard_name(axis_hdl%daddr, standard_name_, len(standard_name_))
191      ENDIF
192     
193      IF (PRESENT(unit_)) THEN
194        CALL cxios_get_axis_unit(axis_hdl%daddr, unit_, len(unit_))
195      ENDIF
196     
197      IF (PRESENT(value_)) THEN
198        CALL cxios_get_axis_value(axis_hdl%daddr, value_,size(value_,1))
199      ENDIF
200     
201      IF (PRESENT(zoom_begin_)) THEN
202        CALL cxios_get_axis_zoom_begin(axis_hdl%daddr, zoom_begin_)
203      ENDIF
204     
205      IF (PRESENT(zoom_end_)) THEN
206        CALL cxios_get_axis_zoom_end(axis_hdl%daddr, zoom_end_)
207      ENDIF
208     
209      IF (PRESENT(zoom_size_)) THEN
210        CALL cxios_get_axis_zoom_size(axis_hdl%daddr, zoom_size_)
211      ENDIF
212     
213     
214   
215  END SUBROUTINE xios(get_axis_attr_hdl_)
216 
217END MODULE iaxis_attr
Note: See TracBrowser for help on using the repository browser.