SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
set_surfex_filein.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 set_surfex_filein(HPROGRAM,HMASK)
7 ! ############################################
8 !
9 !
10 !!**** *SET_SURFEX_FILEIN* - set file name to read
11 !!
12 !! PURPOSE
13 !! -------
14 !!
15 !!** METHOD
16 !! ------
17 !!
18 !! EXTERNAL
19 !! --------
20 !!
21 !!
22 !! IMPLICIT ARGUMENTS
23 !! ------------------
24 !!
25 !! REFERENCE
26 !! ---------
27 !!
28 !!
29 !! AUTHOR
30 !! ------
31 !! B. Decharme *Meteo France*
32 !!
33 !! MODIFICATIONS
34 !! -------------
35 !! Original 05/2011
36 !-------------------------------------------------------------------------------
37 !
38 !* 0. DECLARATIONS
39 ! ------------
40 !
41 !
42 #ifdef SFX_ASC
43 USE modd_io_surf_asc,ONLY : cfilein_save, cfilepgd
44 USE modi_set_surfex_file_name_asc
45 #endif
46 #ifdef SFX_FA
47 USE modd_io_surf_fa, ONLY : cfilein_fa_save, cfilepgd_fa
48 USE modi_set_surfex_file_name_fa
49 #endif
50 #ifdef SFX_LFI
51 USE modd_io_surf_lfi,ONLY : cfilein_lfi_save, cfilepgd_lfi
52 USE modi_set_surfex_file_name_lfi
53 #endif
54 #ifdef SFX_NC
55 USE modd_io_surf_nc, ONLY : cfilein_nc_save, cfilepgd_nc
56 USE modi_set_surfex_file_name_nc
57 #endif
58 #ifdef SFX_MNH
59 USE modi_set_surfex_file_name_mnh
60 #endif
61 !
62 USE modi_abor1_sfx
63 !
64 USE yomhook ,ONLY : lhook, dr_hook
65 USE parkind1 ,ONLY : jprb
66 !
67 IMPLICIT NONE
68 !
69 !* 0.1 Declarations of arguments
70 ! -------------------------
71 !
72  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! main program
73  CHARACTER(LEN=4), INTENT(IN) :: hmask
74 REAL(KIND=JPRB) :: zhook_handle
75 !
76 !* 0.2 Declarations of local variables
77 ! -------------------------------
78 !
79  CHARACTER(LEN=28) :: yfile
80 !
81 !-------------------------------------------------------------------------------
82 !
83 IF (lhook) CALL dr_hook('SET_SURFEX_FILEIN',0,zhook_handle)
84 !
85 IF(hmask/='PGD'.AND.hmask/='PREP') CALL abor1_sfx('SET_SURFEX_FILEIN: MASK='//hmask//' REQUIRES MASK = PGD or PREP')
86 !
87 IF (hprogram=='ASCII ' ) THEN
88 !
89 #ifdef SFX_ASC
90  IF(hmask=='PGD')THEN
91  yfile=cfilepgd
92  ELSE
93  yfile=cfilein_save
94  ENDIF
95  CALL set_surfex_file_name_asc(hname_in=yfile)
96 #endif
97 !
98 ENDIF
99 !
100 IF (hprogram=='FA ' ) THEN
101 !
102 #ifdef SFX_FA
103  IF(hmask=='PGD')THEN
104  yfile=cfilepgd_fa
105  ELSE
106  yfile=cfilein_fa_save
107  ENDIF
108  CALL set_surfex_file_name_fa(hname_in=yfile)
109 #endif
110 !
111 ENDIF
112 !
113 IF (hprogram=='LFI ' ) THEN
114 !
115 #ifdef SFX_LFI
116  IF(hmask=='PGD')THEN
117  yfile=cfilepgd_lfi
118  ELSE
119  yfile=cfilein_lfi_save
120  ENDIF
121  CALL set_surfex_file_name_lfi(hname_in=yfile)
122 #endif
123 !
124 ENDIF
125 !
126 IF (hprogram=='NC ' ) THEN
127 !
128 #ifdef SFX_NC
129  IF(hmask=='PGD')THEN
130  yfile=cfilepgd_nc
131  ELSE
132  yfile=cfilein_nc_save
133  ENDIF
134  CALL set_surfex_file_name_nc(hname_in=yfile)
135 #endif
136 !
137 ENDIF
138 
139 !
140 IF (hprogram=='AROME ' ) THEN
141 #ifdef SFX_ARO
142  CALL set_surfex_file_name_aro(hmask)
143 #endif
144 ENDIF
145 !
146 IF (hprogram=='MESONH' ) THEN
147 #ifdef SFX_MNH
148  CALL set_surfex_file_name_mnh(hmask)
149 #endif
150 ENDIF
151 !
152 IF (lhook) CALL dr_hook('SET_SURFEX_FILEIN',1,zhook_handle)
153 !
154 !-------------------------------------------------------------------------------
155 !
156 END SUBROUTINE set_surfex_filein
subroutine set_surfex_file_name_asc(HNAME_IN, HNAME_OUT)
subroutine set_surfex_file_name_lfi(HNAME_IN, HNAME_OUT)
subroutine set_surfex_file_name_fa(HNAME_IN, HNAME_OUT)
subroutine set_surfex_filein(HPROGRAM, HMASK)
subroutine set_surfex_file_name_nc(HNAME_IN, HNAME_OUT)
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:6