New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
igrid.F90 in vendors/XIOS/current/src/interface/fortran – NEMO

source: vendors/XIOS/current/src/interface/fortran/igrid.F90 @ 3428

Last change on this file since 3428 was 3428, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

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.