source: XIOS3/branches/xios-3.0-beta/src/interface/fortran/iscalar.F90 @ 2427

Last change on this file since 2427 was 891, checked in by mhnguyen, 8 years ago

Adding Fortran interface for reduce_axis_to_scalar

Test
+) On Curie
+) Only compilation

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