SURFEX v8.1
General documentation of Surfex
open_aux_io_surf.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6  SUBROUTINE open_aux_io_surf (HFILE,HFILETYPE,HMASK,HDIR)
7 ! #######################################################
8 !
9 !!**** *OPEN_AUX_IO_SURF* - chooses the routine to OPENialize IO
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!** METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !!
28 !! AUTHOR
29 !! ------
30 !! S.Malardel *Meteo France*
31 !!
32 !! MODIFICATIONS
33 !! -------------
34 !! Original 09/2003
35 !! Modified 04/2004 by P. LeMoigne: add HACTION if ASCII mode selected
36 !-------------------------------------------------------------------------------
37 !
38 !* 0. DECLARATIONS
39 ! ------------
40 !
41 USE yomhook ,ONLY : lhook, dr_hook
42 USE parkind1 ,ONLY : jprb
43 !
44 #ifdef SFX_ASC
45 USE modi_open_aux_io_surf_asc
46 #endif
47 !
48 #ifdef SFX_FA
49 USE modi_open_aux_io_surf_fa
50 #endif
51 !
52 #ifdef SFX_LFI
53 USE modi_open_aux_io_surf_lfi
54 #endif
55 !
56 #ifdef SFX_OL
57 USE modi_open_aux_io_surf_ol
58 #endif
59 !
60 #ifdef SFX_NC
61 USE modi_open_aux_io_surf_nc
62 #endif
63 !
64 #ifdef SFX_MNH
65 USE modi_mnhopen_aux_io_surf
66 #endif
67 
68 #ifdef SFX_ARO
69 USE modi_aroopen_aux_io_surf
70 #endif
71 !
72 IMPLICIT NONE
73 !
74 !
75 !* 0.1 Declarations of arguments
76 ! -------------------------
77 !
78 !
79 !
80  CHARACTER(LEN=28), INTENT(IN) :: HFILE ! file name
81  CHARACTER(LEN=6), INTENT(IN) :: HFILETYPE ! main program
82  CHARACTER(LEN=6), INTENT(IN) :: HMASK
83  CHARACTER(LEN=1), OPTIONAL, INTENT(IN) :: HDIR
84 !
85 !* 0.2 Declarations of local variables
86 ! -------------------------------
87 !
88  CHARACTER(LEN=1) :: YDIR
89 REAL(KIND=JPRB) :: ZHOOK_HANDLE
90 !-------------------------------------------------------------------------------
91 !
92 IF (lhook) CALL dr_hook('OPEN_AUX_IO_SURF',0,zhook_handle)
93 !
94 ydir = '-'
95 IF (PRESENT(hdir)) ydir=hdir
96 !
97 IF (hfiletype=='MESONH') THEN
98 #ifdef SFX_MNH
99  CALL mnhopen_aux_io_surf(hfile,hfiletype,hmask)
100 #endif
101 END IF
102 !
103 IF (hfiletype=='OFFLIN' ) THEN
104 #ifdef SFX_OL
106 #endif
107 ENDIF
108 !
109 IF (hfiletype=='ASCII ' ) THEN
110 #ifdef SFX_ASC
111  CALL open_aux_io_surf_asc(hfile,hfiletype,hmask,ydir)
112 #endif
113 ENDIF
114 !
115 IF (hfiletype=='AROME ' ) THEN
116 #ifdef SFX_ARO
117  CALL aroopen_aux_io_surf(hfile,hfiletype,hmask)
118 #endif
119 ENDIF
120 !
121 IF (hfiletype=='FA ' ) THEN
122 #ifdef SFX_FA
123  CALL open_aux_io_surf_fa(hfile,hfiletype,hmask,ydir)
124 #endif
125 ENDIF
126 !
127 IF (hfiletype=='LFI ' ) THEN
128 #ifdef SFX_LFI
129  CALL open_aux_io_surf_lfi(hfile,hfiletype,hmask,ydir)
130 #endif
131 ENDIF
132 !
133 IF (hfiletype=='NC ' ) THEN
134 #ifdef SFX_NC
135  CALL open_aux_io_surf_nc(hfile,hfiletype,hmask,ydir)
136 #endif
137 ENDIF
138 !
139 IF (lhook) CALL dr_hook('OPEN_AUX_IO_SURF',1,zhook_handle)
140 !
141 !
142 !-------------------------------------------------------------------------------
143 !
144 END SUBROUTINE open_aux_io_surf
subroutine open_aux_io_surf_ol
subroutine open_aux_io_surf_lfi(HFILE, HFILETYPE, HMASK, HDIR)
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
subroutine open_aux_io_surf_nc(HFILE, HFILETYPE, HMASK, HDIR)
subroutine open_aux_io_surf_asc(HFILE, HFILETYPE, HMASK, HDIR)
subroutine open_aux_io_surf_fa(HFILE, HFILETYPE, HMASK, HDIR)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK, HDIR)