source: XIOS/trunk/src/fortran/iaxis.F90 @ 313

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

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

YM

File size: 1.6 KB
Line 
1#include "xios_fortran_prefix.hpp"
2
3MODULE IAXIS
4   USE, INTRINSIC :: ISO_C_BINDING
5   USE AXIS_INTERFACE
6   USE AXISGROUP_INTERFACE
7   
8   TYPE txios(axis)
9      INTEGER(kind = C_INTPTR_T) :: daddr
10   END TYPE txios(axis)
11   
12   TYPE txios(axisgroup)
13      INTEGER(kind = C_INTPTR_T) :: daddr
14   END TYPE txios(axisgroup)
15   
16
17         
18   CONTAINS ! Fonctions disponibles pour les utilisateurs.
19
20   SUBROUTINE xios(get_axis_handle)(idt,ret)
21      IMPLICIT NONE
22      CHARACTER(len = *), INTENT(IN) :: idt     
23      TYPE(txios(axis)) , INTENT(OUT):: ret
24      CALL cxios_axis_handle_create(ret%daddr, idt, len(idt))           
25   END SUBROUTINE xios(get_axis_handle)
26   
27   SUBROUTINE xios(get_axisgroup_handle)(idt,ret)
28      IMPLICIT NONE
29      CHARACTER(len = *)    , INTENT(IN) :: idt     
30      TYPE(txios(axisgroup)), INTENT(OUT):: ret
31
32      CALL cxios_axisgroup_handle_create(ret%daddr, idt, len(idt))           
33
34   END SUBROUTINE xios(get_axisgroup_handle)
35
36   LOGICAL FUNCTION xios(is_valid_axis)(idt)
37      IMPLICIT NONE
38      CHARACTER(len  = *)    , INTENT(IN) :: idt
39      LOGICAL  (kind = 1)                 :: val
40     
41      CALL cxios_axis_valid_id(val, idt, len(idt))
42      xios(is_valid_axis) = val
43
44   END FUNCTION  xios(is_valid_axis)
45
46   LOGICAL FUNCTION xios(is_valid_axisgroup)(idt)
47      IMPLICIT NONE
48      CHARACTER(len  = *)    , INTENT(IN) :: idt
49      LOGICAL  (kind = 1)                 :: val
50
51      CALL cxios_axisgroup_valid_id(val, idt, len(idt))
52      xios(is_valid_axisgroup) = val
53
54   END FUNCTION  xios(is_valid_axisgroup)
55
56END MODULE IAXIS
Note: See TracBrowser for help on using the repository browser.