GCC Code Coverage Report


Directory: ./
File: rad/suphy2.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 30 34 88.2%
Branches: 5 12 41.7%

Line Branch Exec Source
1 !OPTIONS XOPT(NOEVAL)
2 1 SUBROUTINE SUPHY2(KULOUT)
3
4 !**** *SUPHY2* - Initialize common YOMPHY2 physics controlling
5 ! constants
6
7 ! Purpose.
8 ! --------
9 ! Initialize YOMPHY2, the common that contains the parameters
10 ! for the control part of the physics of the model.
11
12 !** Interface.
13 ! ----------
14 ! *CALL* *SUPHY2(KULOUT)
15
16 ! Explicit arguments :
17 ! --------------------
18 ! KULOUT : Logical unit for the output
19
20 ! Implicit arguments :
21 ! --------------------
22 ! COMMON YOMPHY2
23
24 ! Method.
25 ! -------
26 ! See documentation
27
28 ! Externals.
29 ! ----------
30
31 ! Reference.
32 ! ----------
33 ! Documentation ARPEGE
34
35 ! Author.
36 ! -------
37 ! J.-F. Geleyn .
38 ! Original : 90-9-1
39
40 ! Modifications.
41 ! --------------
42 ! R. EL Khatib : 93-04-02 Set-up defaults controled by LECMWF
43 ! J.-F. Geleyn : 93-08-19 New cloudiness diagnostics.
44 ! J.-F. Geleyn : 95-04-10 Anti-fibril. Girard-Delage.
45 ! P. Marquet : 97-02-18 Value of VETAF=VAH/VP00+VBH.
46 ! J.M. Piriou : 97-04-17 XMULAF default value.
47 ! E. Bazile : 98-03-10 Introduce XMUCVPP.
48 ! W. Owcarz : 2000-03-27 Set a default value for TSPHY
49 ! R. EL Khatib : 2000-06-13 RIPBLC
50 ! R. EL Khatib : 2000-08-21 Turbulent gusts setup
51 ! J.M. Piriou : 2002-01-10 set default values to operational ones.
52 ! Modified by R. EL Khatib : 02-03-29 Control XMULAF<0 ; add LMULAF
53 ! Modified by D. Banciu : 02-12-09 Introduction of XDAMP
54 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
55 ! ------------------------------------------------------------------
56
57 USE PARKIND1 ,ONLY : JPIM ,JPRB
58 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
59
60 ! Ce qui concerne NULNAM commente par MPL le 15.04.09
61 !USE YOMLUN , ONLY : NULNAM
62 USE YOMCT0B , ONLY : LECMWF
63 ! commente par MPL 25.11.08
64 !USE YOMGEM , ONLY : VALH ,VBH
65 USE YOMDIM , ONLY : NFLEVG
66 USE YOMPHY2 , ONLY : NTSHM ,NTSML ,XMUCVPP ,LMULAF ,&
67 & XMULAF ,XDAMP ,HCLP ,HTCLS ,&
68 & RIPBLC ,&
69 & LRAFTUR ,GZ0RAF ,FACRAF ,&
70 & HVCLS ,HTSHM ,HTSML ,&
71 & TSPHY
72
73 IMPLICIT NONE
74
75 INTEGER(KIND=JPIM),INTENT(IN) :: KULOUT
76 INTEGER(KIND=JPIM) :: JLEV
77
78 REAL(KIND=JPRB) :: ZVETAF
79 REAL(KIND=JPRB) :: ZHOOK_HANDLE
80
81 INTERFACE
82 SUBROUTINE ABOR1(CDTEXT)
83 CHARACTER(LEN=*) :: CDTEXT
84 END SUBROUTINE ABOR1
85 END INTERFACE
86 INTERFACE
87 SUBROUTINE POSNAM(KULNAM,CDNAML)
88 USE PARKIND1 ,ONLY : JPIM ,JPRB
89 INTEGER(KIND=JPIM),INTENT(IN) :: KULNAM
90 CHARACTER(LEN=*) ,INTENT(IN) :: CDNAML
91 END SUBROUTINE POSNAM
92 END INTERFACE
93
94 ! ------------------------------------------------------------------
95 NAMELIST/NAMPHY2/&
96 &XMUCVPP,XMULAF,XDAMP,LMULAF,&
97 &HCLP,&
98 &RIPBLC,&
99 &GZ0RAF,FACRAF,LRAFTUR,&
100 &HTSHM,HTSML
101 ! ------------------------------------------------------------------
102
103 ! ------------------------------------------------------------------
104
105 !* 1. Set default values.
106 ! -------------------
107
108 ! 1.1 Set implicit default values
109
110
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('SUPHY2',0,ZHOOK_HANDLE)
111 1 XMULAF=-1.75_JPRB
112 1 XMUCVPP=0._JPRB
113 1 XDAMP=0._JPRB
114 1 HCLP=1500._JPRB
115 1 HTCLS=2._JPRB
116 1 HVCLS=10._JPRB
117 1 HTSHM=0.450_JPRB
118 1 HTSML=0.785_JPRB
119 1 TSPHY=1._JPRB
120 1 RIPBLC=0.5_JPRB
121 1 LRAFTUR=.FALSE.
122 1 GZ0RAF=10.0_JPRB
123 1 FACRAF=15.0_JPRB
124 1 LMULAF=.FALSE.
125
126 ! 1.2 Modify default values according to LECMWF
127
128
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LECMWF) THEN
129 ELSE
130 1 LRAFTUR=.TRUE.
131 ENDIF
132
133 ! Remark : values for TSPHY, NTSHM/ML are calculated and not set up.
134
135 ! ------------------------------------------------------------------
136
137 !* 2. Modify default values.
138 ! ----------------------
139
140 ! Ce qui concerne NAMPHY2 commente par MPL le 15.04.09
141 !CALL POSNAM(NULNAM,'NAMPHY2')
142 !READ(NULNAM,NAMPHY2)
143 ! ------------------------------------------------------------------
144
145 !* 3. Compute cloud transition indexes.
146 ! ---------------------------------
147
148 1 NTSHM=0
149 1 NTSML=0
150 ! commente par MPL 25.11.08
151 !DO JLEV=1,NFLEVG
152 ! ZVETAF=(VALH(JLEV)+VBH(JLEV)+VALH(JLEV-1)+VBH(JLEV-1))*0.5_JPRB
153 ! IF (ZVETAF <= HTSHM) THEN
154 ! NTSHM=JLEV
155 ! ENDIF
156 ! IF (ZVETAF <= HTSML) THEN
157 ! NTSML=JLEV
158 ! ENDIF
159 !ENDDO
160
161 ! ------------------------------------------------------------------
162
163 !* 4. Print final values.
164 ! -------------------
165
166 1 WRITE(UNIT=KULOUT,FMT='('' COMMON YOMPHY2 '')')
167 WRITE(UNIT=KULOUT,FMT='('' XMUCVPP = '',E10.4,'' XMULAF = '',E10.4 &
168 & ,'' XDAMP = '',E10.4 &
169 & ,'' LMULAF = '',L2,/,'' HTCLS = '',E10.4 &
170 & ,'' HVCLS = '',E10.4,'' HCLP = '',E10.4,/&
171 & ,'' RIPBLC = '',F8.4 &
172 & ,'' LRAFTUR = '',L2,'' GZ0RAF = '',E10.4,'' FACRAF = '',E10.4 &
173 & ,'' HTSHM = '',F8.4,'' NTSHM = '',I3,'' HTSML = '',F8.4 &
174 & ,'' NTSML = '',I3 &
175 & )')&
176 1 & XMUCVPP,XMULAF,XDAMP,LMULAF,&
177 1 & HTCLS,HVCLS,HCLP,&
178 1 & RIPBLC,&
179 1 & LRAFTUR,GZ0RAF,FACRAF,&
180 2 & HTSHM,NTSHM,HTSML,NTSML
181
182 !* 5. Control
183 ! -------
184
185
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 IF (XMULAF > 0.0_JPRB) THEN
186 WRITE(KULOUT,*) 'XMULAF SHOULD BE NEGATIVE'
187 CALL ABOR1('SUPHY2 : ABOR1 CALLED')
188 ENDIF
189
190
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
1 IF ((XDAMP /= 0.0_JPRB).AND.(XMUCVPP /= 0.0_JPRB)) THEN
191 WRITE(UNIT=KULOUT,FMT='(A)') 'INCONSISTENCY BETWEEN XDAMP AND XMUCVPP !'
192 CALL ABOR1('XDAMP/=0. IMPLIES XMUCVPP=0.!...')
193 ENDIF
194
195 ! ------------------------------------------------------------------
196
197
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('SUPHY2',1,ZHOOK_HANDLE)
198 1 END SUBROUTINE SUPHY2
199