source: XIOS/trunk/src/interface/fortran/idomain.F90 @ 325

Last change on this file since 325 was 325, checked in by ymipsl, 10 years ago

port to gfortran/g++

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.