source: XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90 @ 620

Last change on this file since 620 was 581, checked in by rlacroix, 9 years ago

Fix the Fortran interface generation to avoid generating dead code that caused a timer not to be stopped.

  • 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: 11.8 KB
RevLine 
[326]1! * ************************************************************************** *
2! *               Interface auto generated - do not modify                     *
3! * ************************************************************************** *
4#include "xios_fortran_prefix.hpp"
5
6MODULE igrid_attr
7  USE, INTRINSIC :: ISO_C_BINDING
8  USE igrid
9  USE grid_interface_attr
[581]10
[326]11CONTAINS
[581]12
[326]13  SUBROUTINE xios(set_grid_attr)  &
[575]14    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name )
[581]15
[326]16    IMPLICIT NONE
17      TYPE(txios(grid))  :: grid_hdl
18      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[575]19      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order(:)
20      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
[326]21      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
[567]22      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1(:)
23      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
24      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2(:,:)
25      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
26      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3(:,:,:)
27      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
[326]28      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]29
[326]30      CALL xios(get_grid_handle)(grid_id,grid_hdl)
31      CALL xios(set_grid_attr_hdl_)   &
[575]32      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]33
[326]34  END SUBROUTINE xios(set_grid_attr)
[581]35
[326]36  SUBROUTINE xios(set_grid_attr_hdl)  &
[575]37    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]38
[326]39    IMPLICIT NONE
40      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]41      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order(:)
42      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
[326]43      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description
[567]44      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1(:)
45      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
46      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2(:,:)
47      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
48      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3(:,:,:)
49      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
[326]50      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name
[581]51
[326]52      CALL xios(set_grid_attr_hdl_)  &
[575]53      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]54
[326]55  END SUBROUTINE xios(set_grid_attr_hdl)
[581]56
[326]57  SUBROUTINE xios(set_grid_attr_hdl_)   &
[575]58    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
[581]59
[326]60    IMPLICIT NONE
61      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]62      LOGICAL  , OPTIONAL, INTENT(IN) :: axis_domain_order_(:)
63      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:)
[326]64      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_
[567]65      LOGICAL  , OPTIONAL, INTENT(IN) :: mask1_(:)
66      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:)
67      LOGICAL  , OPTIONAL, INTENT(IN) :: mask2_(:,:)
68      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:)
69      LOGICAL  , OPTIONAL, INTENT(IN) :: mask3_(:,:,:)
70      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:)
[326]71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_
[581]72
[575]73      IF (PRESENT(axis_domain_order_)) THEN
74        ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1)))
[581]75        axis_domain_order__tmp = axis_domain_order_
76        CALL cxios_set_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, size(axis_domain_order_,1))
[326]77      ENDIF
[581]78
[326]79      IF (PRESENT(description_)) THEN
80        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_))
81      ENDIF
[581]82
[567]83      IF (PRESENT(mask1_)) THEN
84        ALLOCATE(mask1__tmp(size(mask1_,1)))
[581]85        mask1__tmp = mask1_
86        CALL cxios_set_grid_mask1(grid_hdl%daddr, mask1__tmp, size(mask1_,1))
[415]87      ENDIF
[581]88
[567]89      IF (PRESENT(mask2_)) THEN
[581]90        ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2)))
91        mask2__tmp = mask2_
92        CALL cxios_set_grid_mask2(grid_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2))
[567]93      ENDIF
[581]94
[567]95      IF (PRESENT(mask3_)) THEN
[581]96        ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3)))
97        mask3__tmp = mask3_
98        CALL cxios_set_grid_mask3(grid_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3))
[567]99      ENDIF
[581]100
[326]101      IF (PRESENT(name_)) THEN
102        CALL cxios_set_grid_name(grid_hdl%daddr, name_, len(name_))
103      ENDIF
[581]104
[326]105  END SUBROUTINE xios(set_grid_attr_hdl_)
[581]106
[326]107  SUBROUTINE xios(get_grid_attr)  &
[575]108    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name )
[581]109
[326]110    IMPLICIT NONE
111      TYPE(txios(grid))  :: grid_hdl
112      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[575]113      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order(:)
114      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
[326]115      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
[567]116      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1(:)
117      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
118      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2(:,:)
119      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
120      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3(:,:,:)
121      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
[326]122      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]123
[326]124      CALL xios(get_grid_handle)(grid_id,grid_hdl)
125      CALL xios(get_grid_attr_hdl_)   &
[575]126      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]127
[326]128  END SUBROUTINE xios(get_grid_attr)
[581]129
[326]130  SUBROUTINE xios(get_grid_attr_hdl)  &
[575]131    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]132
[326]133    IMPLICIT NONE
134      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]135      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order(:)
136      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)
[326]137      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description
[567]138      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1(:)
139      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:)
140      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2(:,:)
141      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:)
142      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3(:,:,:)
143      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:)
[326]144      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name
[581]145
[326]146      CALL xios(get_grid_attr_hdl_)  &
[575]147      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]148
[326]149  END SUBROUTINE xios(get_grid_attr_hdl)
[581]150
[326]151  SUBROUTINE xios(get_grid_attr_hdl_)   &
[575]152    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
[581]153
[326]154    IMPLICIT NONE
155      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]156      LOGICAL  , OPTIONAL, INTENT(OUT) :: axis_domain_order_(:)
157      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:)
[326]158      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_
[567]159      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask1_(:)
160      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:)
161      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask2_(:,:)
162      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:)
163      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask3_(:,:,:)
164      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:)
[326]165      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_
[581]166
[575]167      IF (PRESENT(axis_domain_order_)) THEN
168        ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1)))
[581]169        CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, size(axis_domain_order_,1))
170        axis_domain_order_ = axis_domain_order__tmp
[326]171      ENDIF
[581]172
[326]173      IF (PRESENT(description_)) THEN
174        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_))
175      ENDIF
[581]176
[567]177      IF (PRESENT(mask1_)) THEN
178        ALLOCATE(mask1__tmp(size(mask1_,1)))
[581]179        CALL cxios_get_grid_mask1(grid_hdl%daddr, mask1__tmp, size(mask1_,1))
180        mask1_ = mask1__tmp
[415]181      ENDIF
[581]182
[567]183      IF (PRESENT(mask2_)) THEN
[581]184        ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2)))
185        CALL cxios_get_grid_mask2(grid_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2))
186        mask2_ = mask2__tmp
[567]187      ENDIF
[581]188
[567]189      IF (PRESENT(mask3_)) THEN
[581]190        ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3)))
191        CALL cxios_get_grid_mask3(grid_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3))
192        mask3_ = mask3__tmp
[567]193      ENDIF
[581]194
[326]195      IF (PRESENT(name_)) THEN
196        CALL cxios_get_grid_name(grid_hdl%daddr, name_, len(name_))
197      ENDIF
[581]198
[326]199  END SUBROUTINE xios(get_grid_attr_hdl_)
[581]200
[432]201  SUBROUTINE xios(is_defined_grid_attr)  &
[575]202    ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name )
[581]203
[432]204    IMPLICIT NONE
205      TYPE(txios(grid))  :: grid_hdl
206      CHARACTER(LEN=*), INTENT(IN) ::grid_id
[575]207      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order
208      LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp
[432]209      LOGICAL, OPTIONAL, INTENT(OUT) :: description
210      LOGICAL(KIND=C_BOOL) :: description_tmp
[567]211      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1
212      LOGICAL(KIND=C_BOOL) :: mask1_tmp
213      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2
214      LOGICAL(KIND=C_BOOL) :: mask2_tmp
215      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3
216      LOGICAL(KIND=C_BOOL) :: mask3_tmp
[432]217      LOGICAL, OPTIONAL, INTENT(OUT) :: name
218      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]219
[432]220      CALL xios(get_grid_handle)(grid_id,grid_hdl)
221      CALL xios(is_defined_grid_attr_hdl_)   &
[575]222      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]223
[432]224  END SUBROUTINE xios(is_defined_grid_attr)
[581]225
[432]226  SUBROUTINE xios(is_defined_grid_attr_hdl)  &
[575]227    ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]228
[432]229    IMPLICIT NONE
230      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]231      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order
232      LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp
[432]233      LOGICAL, OPTIONAL, INTENT(OUT) :: description
234      LOGICAL(KIND=C_BOOL) :: description_tmp
[567]235      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1
236      LOGICAL(KIND=C_BOOL) :: mask1_tmp
237      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2
238      LOGICAL(KIND=C_BOOL) :: mask2_tmp
239      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3
240      LOGICAL(KIND=C_BOOL) :: mask3_tmp
[432]241      LOGICAL, OPTIONAL, INTENT(OUT) :: name
242      LOGICAL(KIND=C_BOOL) :: name_tmp
[581]243
[432]244      CALL xios(is_defined_grid_attr_hdl_)  &
[575]245      ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name )
[581]246
[432]247  END SUBROUTINE xios(is_defined_grid_attr_hdl)
[581]248
[432]249  SUBROUTINE xios(is_defined_grid_attr_hdl_)   &
[575]250    ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ )
[581]251
[432]252    IMPLICIT NONE
253      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl
[575]254      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order_
255      LOGICAL(KIND=C_BOOL) :: axis_domain_order__tmp
[432]256      LOGICAL, OPTIONAL, INTENT(OUT) :: description_
257      LOGICAL(KIND=C_BOOL) :: description__tmp
[567]258      LOGICAL, OPTIONAL, INTENT(OUT) :: mask1_
259      LOGICAL(KIND=C_BOOL) :: mask1__tmp
260      LOGICAL, OPTIONAL, INTENT(OUT) :: mask2_
261      LOGICAL(KIND=C_BOOL) :: mask2__tmp
262      LOGICAL, OPTIONAL, INTENT(OUT) :: mask3_
263      LOGICAL(KIND=C_BOOL) :: mask3__tmp
[432]264      LOGICAL, OPTIONAL, INTENT(OUT) :: name_
265      LOGICAL(KIND=C_BOOL) :: name__tmp
[581]266
[575]267      IF (PRESENT(axis_domain_order_)) THEN
[581]268        axis_domain_order__tmp = cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr)
269        axis_domain_order_ = axis_domain_order__tmp
[432]270      ENDIF
[581]271
[432]272      IF (PRESENT(description_)) THEN
[581]273        description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr)
274        description_ = description__tmp
[432]275      ENDIF
[581]276
[567]277      IF (PRESENT(mask1_)) THEN
[581]278        mask1__tmp = cxios_is_defined_grid_mask1(grid_hdl%daddr)
279        mask1_ = mask1__tmp
[432]280      ENDIF
[581]281
[567]282      IF (PRESENT(mask2_)) THEN
[581]283        mask2__tmp = cxios_is_defined_grid_mask2(grid_hdl%daddr)
284        mask2_ = mask2__tmp
[567]285      ENDIF
[581]286
[567]287      IF (PRESENT(mask3_)) THEN
[581]288        mask3__tmp = cxios_is_defined_grid_mask3(grid_hdl%daddr)
289        mask3_ = mask3__tmp
[567]290      ENDIF
[581]291
[432]292      IF (PRESENT(name_)) THEN
[581]293        name__tmp = cxios_is_defined_grid_name(grid_hdl%daddr)
294        name_ = name__tmp
[432]295      ENDIF
[581]296
[432]297  END SUBROUTINE xios(is_defined_grid_attr_hdl_)
[581]298
[326]299END MODULE igrid_attr
Note: See TracBrowser for help on using the repository browser.