SURFEX v8.1
General documentation of Surfex
read_nam_pgd_isba_meb.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 read_nam_pgd_isba_meb(HPROGRAM, KLUOUT, OMEB_PATCH, OFORC_MEASURE, &
7  OMEB_LITTER, OMEB_GNDRES)
8 ! #############################################################################
9 !
10 !!**** *READ_NAM_PGD_ISBA_MEB* reads namelist for ISBA
11 !!
12 !! PURPOSE
13 !! -------
14 !!
15 !! METHOD
16 !! ------
17 !!
18 !
19 !! EXTERNAL
20 !! --------
21 !!
22 !! IMPLICIT ARGUMENTS
23 !! ------------------
24 !!
25 !! REFERENCE
26 !! ---------
27 !!
28 !! AUTHOR
29 !! ------
30 !!
31 !! B. Decharme Meteo-France
32 !!
33 !! MODIFICATION
34 !! ------------
35 !!
36 !! Original 12/2014
37 !!
38 !----------------------------------------------------------------------------
39 !
40 !* 0. DECLARATION
41 ! -----------
42 !
43 USE modi_open_namelist
44 USE modi_close_namelist
45 !
46 USE modd_data_cover_par, ONLY : nvegtype_ecosg
47 !
48 USE mode_pos_surf
49 !
50 USE modi_abor1_sfx
51 !
52 USE yomhook ,ONLY : lhook, dr_hook
53 USE parkind1 ,ONLY : jprb
54 !
55 IMPLICIT NONE
56 !
57 !* 0.1 Declaration of arguments
58 ! ------------------------
59 !
60  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program
61 INTEGER, INTENT(IN) :: KLUOUT
62 !
63 LOGICAL, DIMENSION(:), INTENT(OUT) :: OMEB_PATCH
64 LOGICAL , INTENT(OUT) :: OFORC_MEASURE
65 LOGICAL , INTENT(OUT) :: OMEB_LITTER
66 LOGICAL , INTENT(OUT) :: OMEB_GNDRES
67 !
68 !* 0.2 Declaration of local variables
69 ! ------------------------------
70 !
71 INTEGER :: ILUOUT ! output listing logical unit
72 INTEGER :: ILUNAM ! namelist file logical unit
73 LOGICAL :: GFOUND ! flag when namelist is present
74 !
75 !* 0.3 Declaration of namelists
76 ! ------------------------
77 !
78 LOGICAL, DIMENSION(NVEGTYPE_ECOSG) :: LMEB_PATCH
79 LOGICAL :: LFORC_MEASURE
80 LOGICAL :: LMEB_LITTER
81 LOGICAL :: LMEB_GNDRES
82 !
83 REAL(KIND=JPRB) :: ZHOOK_HANDLE
84 !
85 NAMELIST/nam_meb_isba/lmeb_patch,lforc_measure,lmeb_litter,lmeb_gndres
86 !
87 !-------------------------------------------------------------------------------
88 !
89 !* 1. Initializations of defaults
90 ! ---------------------------
91 !
92 IF (lhook) CALL dr_hook('READ_NAM_PGD_ISBA_MEB',0,zhook_handle)
93 !
94 lmeb_patch(:) =.false.
95 lforc_measure =.false.
96 lmeb_litter =.false.
97 lmeb_gndres =.false.
98 !
99 !-------------------------------------------------------------------------------
100 !
101 !* 2. Reading of namelist
102 ! -------------------
103 !
104  CALL open_namelist(hprogram,ilunam)
105 !
106  CALL posnam(ilunam,'NAM_MEB_ISBA',gfound,kluout)
107 IF (gfound) THEN
108  READ(unit=ilunam,nml=nam_meb_isba)
109 ELSE
110  WRITE(iluout,*) '*****************************************'
111  WRITE(iluout,*) '* LMEB is activated in NAM_ISBA *'
112  WRITE(iluout,*) '* But NAM_MEB_ISBA is not defined *'
113  WRITE(iluout,*) '* Check your namelist *'
114  WRITE(iluout,*) '*****************************************'
115  CALL abor1_sfx('PGD_ISBA: NAM_MEB_ISBA and LMEB_PATCH not defined')
116 ENDIF
117 !
118  CALL close_namelist(hprogram,ilunam)
119 !
120 !-------------------------------------------------------------------------------
121 !
122 omeb_patch(:) = lmeb_patch(:)
123 !
124 oforc_measure = lforc_measure
125 omeb_litter = lmeb_litter
126 omeb_gndres = lmeb_gndres
127 !
128 !
129 IF (lhook) CALL dr_hook('READ_NAM_PGD_ISBA_MEB',1,zhook_handle)
130 !
131 !-------------------------------------------------------------------------------
132 !
133 END SUBROUTINE read_nam_pgd_isba_meb
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine abor1_sfx(YTEXT)
Definition: abor1_sfx.F90:7
subroutine read_nam_pgd_isba_meb(HPROGRAM, KLUOUT, OMEB_PATCH, OFO
integer, parameter jprb
Definition: parkind1.F90:32
subroutine close_namelist(HPROGRAM, KLUNAM)
logical lhook
Definition: yomhook.F90:15
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)