source: XIOS/trunk/src/fortran/idomain.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 IDOMAIN
4   USE, INTRINSIC :: ISO_C_BINDING
5   USE DOMAIN_INTERFACE
6   USE DOMAINGROUP_INTERFACE
7!   USE IDOMAIN_ATTR
8!   USE IDOMAINGROUP_ATTR
9     
10   TYPE txios(domain)
11      INTEGER(kind = C_INTPTR_T) :: daddr
12   END TYPE txios(domain)
13   
14   TYPE txios(domaingroup)
15      INTEGER(kind = C_INTPTR_T) :: daddr
16   END TYPE txios(domaingroup)
17   
18   
19   CONTAINS ! Fonctions disponibles pour les utilisateurs.
20
21   SUBROUTINE xios(get_domain_handle)(idt,ret)
22      IMPLICIT NONE
23      CHARACTER(len = *) , INTENT(IN) :: idt     
24      TYPE(txios(domain)), INTENT(OUT):: ret
25 
26      CALL cxios_domain_handle_create(ret%daddr, idt, len(idt))           
27
28   END SUBROUTINE xios(get_domain_handle)
29   
30   SUBROUTINE xios(get_domaingroup_handle)(idt, ret)
31      IMPLICIT NONE
32      CHARACTER(len = *)      , INTENT(IN) :: idt     
33      TYPE(txios(domaingroup)), INTENT(OUT):: ret
34
35      CALL cxios_domaingroup_handle_create(ret%daddr, idt, len(idt))           
36
37   END SUBROUTINE xios(get_domaingroup_handle)
38
39   LOGICAL FUNCTION xios(is_valid_domain)(idt)
40      IMPLICIT NONE
41      CHARACTER(len  = *)    , INTENT(IN) :: idt
42      LOGICAL  (kind = 1)                 :: val
43      CALL cxios_domain_valid_id(val, idt, len(idt));
44      xios(is_valid_domain) = val
45   END FUNCTION  xios(is_valid_domain)
46
47   LOGICAL FUNCTION xios(is_valid_domaingroup)(idt)
48      IMPLICIT NONE
49      CHARACTER(len  = *)    , INTENT(IN) :: idt
50      LOGICAL  (kind = 1)                 :: val
51      CALL cxios_domaingroup_valid_id(val, idt, len(idt));
52      xios(is_valid_domaingroup) = val
53   END FUNCTION  xios(is_valid_domaingroup)
54   
55END MODULE IDOMAIN
Note: See TracBrowser for help on using the repository browser.