source: XIOS/trunk/src/fortran/igrid.F90 @ 321

Last change on this file since 321 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 IGRID
4   USE, INTRINSIC :: ISO_C_BINDING
5   USE GRID_INTERFACE
6   USE GRIDGROUP_INTERFACE
7!   USE IGRID_ATTR
8!   USE IGRIDGROUP_ATTR
9   
10   TYPE txios(grid)
11      INTEGER(kind = C_INTPTR_T) :: daddr
12   END TYPE txios(grid)
13   
14   TYPE txios(gridgroup)
15      INTEGER(kind = C_INTPTR_T) :: daddr
16   END TYPE txios(gridgroup)
17   
18   
19   CONTAINS ! Fonctions disponibles pour les utilisateurs.
20
21   SUBROUTINE xios(get_grid_handle)(idt,ret)
22      IMPLICIT NONE
23      CHARACTER(len = *), INTENT(IN) :: idt     
24      TYPE(txios(grid)), INTENT(OUT):: ret
25
26      CALL cxios_grid_handle_create(ret%daddr, idt, len(idt))           
27
28   END SUBROUTINE xios(get_grid_handle)
29   
30   SUBROUTINE xios(get_gridgroup_handle)(idt,ret)
31      IMPLICIT NONE
32      CHARACTER(len = *)     , INTENT(IN) :: idt     
33      TYPE(txios(gridgroup))     , INTENT(OUT):: ret
34
35      CALL cxios_gridgroup_handle_create(ret%daddr, idt, len(idt))           
36
37   END SUBROUTINE xios(get_gridgroup_handle)
38
39   LOGICAL FUNCTION xios(is_valid_grid)(idt)
40      IMPLICIT NONE
41      CHARACTER(len  = *)    , INTENT(IN) :: idt
42      LOGICAL  (kind = 1)                 :: val
43
44      CALL cxios_grid_valid_id(val, idt, len(idt));
45      xios(is_valid_grid) = val
46
47   END FUNCTION  xios(is_valid_grid)
48
49   LOGICAL FUNCTION xios(is_valid_gridgroup)(idt)
50      IMPLICIT NONE
51      CHARACTER(len  = *)    , INTENT(IN) :: idt
52      LOGICAL  (kind = 1)                 :: val
53
54      CALL cxios_gridgroup_valid_id(val, idt, len(idt));
55      xios(is_valid_gridgroup) = val
56
57   END FUNCTION  xios(is_valid_gridgroup)
58
59   
60END MODULE IGRID
Note: See TracBrowser for help on using the repository browser.