GCC Code Coverage Report


Directory: ./
File: rad/suaerv.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 28 32 87.5%
Branches: 5 8 62.5%

Line Branch Exec Source
1 1 SUBROUTINE SUAERV &
2 & ( KLEV , PETAH,&
3 1 & PVDAES, PVDAEL, PVDAEU, PVDAED,&
4 & PTRBGA, PVOBGA, PSTBGA, PAEOPS, PAEOPL, PAEOPU,&
5 & PAEOPD, PTRPT , PAEADK, PAEADM, PAEROS &
6 & )
7
8 !**** *SUAERV* - PARAMETERS FOR THE VERTICAL DISTRIBUTIONS OF AEROSOLS.
9
10 ! PURPOSE.
11 ! --------
12
13 ! THIS ROUTINE COMPUTES THE VALUES *PVDAEN* (*N=*S,*L,*U OR *D
14 ! FOR SEA,LAND,URBAN OR DESERT) OF A SURFACE-NORMALISED VERTICAL
15 ! DISTRIBUTION OF AEROSOLS' OPTICAL DEPHTS FROM THE ARGUMENT *PETAH*
16 ! (VERTICAL COORDINATE) AT *KLEVP1* LEVELS. IT ALSO SETS VALUES FOR
17 ! NON-GEOGRAPHICALLY WEIGHTED TOTAL OPTICAL DEPTHS (AT 0.55 E-06
18 ! WAVE-LENGTH) *PAEOPN* FOR THE SAME FOUR TYPES AND SIMILEAR OPTICAL
19 ! DEPHTS DIVIDED BY PRESSURE FOR BACKGROUND WELL-MIXED AEROSOLS
20 ! OF THREE TYPES *PMNBGA* (*MN*=*TR*,*VO* OR *ST* FOR TROPOSPHERIC,
21 ! VOLCANIC (STRATOSPHERIC ASHES) OR STRATOSPHERIC (SULFURIC TYPE)).
22 ! IT FINALLY SET VALUES FOR THE POWER TO BE APPLIED TO A TEMPERATURE
23 ! RATIO SMALLER THAN ONE IN ORDER TO OBTAIN AN IDEX ONE IN THE
24 ! STRATOSPHERE AND ZERO IN THE TROPOSPHERE WITH A RELATIVELY SMOOTH
25 ! TRANSITION (*PTRPT*), AS WELL AS FOR ADSORPTION COEFFICIENTS FOR
26 ! WATER TO THE THREE TYPE OF TROPOSPHERIC AEROSOLS (*PAEADK*) WITH
27 ! A MINIMUM VALUE (IN THE WHOLE ATMOSPHERE) FOR THE SUM OF THE
28 ! PRODUCTS OF *PAEADK* BY THE OPTICAL DEPTHS DIVIDED BY PRESURE
29 ! THICKNESS: *PAEADM*.
30
31 !** INTERFACE.
32 ! ----------
33
34 ! *SUAERV* IS CALLED FROM *SUECRAD*.
35 ! THERE ARE SIXTEEN DUMMY ARGUMENTS: *PETAH* IS THE VERTICAL
36 ! COORDINATE.
37 ! *PVDAEN* (*N=*S,*L,*U OR
38 ! *D) ARE THE NORMALISED VERTICAL DISTRIBUTIONS.
39 ! *KLEVP1* IS THE NUMBER OF
40 ! LEVELS.
41 ! *PMNBGA* (*MN*=*TR*,*VO*
42 ! OR *ST*) ARE THE BACKGROUND OPTICAL DEPTHS DIVIDED BY PRESSURE.
43 ! *PAEOPN* (*N=*S,*L,*U OR
44 ! *D) ARE THE TOTAL OPTICAL DEPHTS FOR THE VERTICALLY VARYING
45 ! AEROSOLS.
46 ! *PTRPT* IS THE TEMPERATURE
47 ! EXPONENT FOR THE STRATOSPHERIC DEFINITION.
48 ! *PAEADK* (1,2,3) AND
49 ! AND *PAEADM* ARE THE CONSTANTS FOR THE DEFINITION OF THE QUANTITY
50 ! OF WATER VAPOUR THAT WILL BE ADSORBED TO THE DRY AEROSOLS TO FORM
51 ! MOIST AEROSOLS.
52
53 ! METHOD.
54 ! -------
55
56 ! STRAIGHTFORWARD, EQUIVALENT HEIGTHS ARE GIVEN IN METERS (8434
57 ! FOR THE ATMOSPHERE) AND TROPOSPHERIC AND STRATOSPHERIC PRESSURE
58 ! BOUNDARY VALUES ARE SET AT 101325 AND 19330 *PASCAL.
59
60 ! EXTERNALS.
61 ! ----------
62
63 ! NONE.
64
65 ! REFERENCE.
66 ! ----------
67
68 ! NONE.
69
70 ! AUTHOR
71 ! ------
72 ! J.-F. GELEYN E.C.M.W.F. 04/11/82.
73
74 ! MODIFICATIONS
75 ! -------------
76 ! J.-J. MORCRETTE E.C.M.W.F. 91/07/14 ADAPTATION TO I.F.S.
77 ! JJ Morcrette 960903 block data SUAERH moved after end of SUAERV
78 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
79
80 ! ------------------------------------------------------------------
81
82 USE PARKIND1 ,ONLY : JPIM ,JPRB
83 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
84
85 IMPLICIT NONE
86
87 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
88 REAL(KIND=JPRB) ,INTENT(IN) :: PETAH(KLEV+1)
89 REAL(KIND=JPRB) ,INTENT(OUT) :: PVDAES(KLEV+1)
90 REAL(KIND=JPRB) ,INTENT(OUT) :: PVDAEL(KLEV+1)
91 REAL(KIND=JPRB) ,INTENT(OUT) :: PVDAEU(KLEV+1)
92 REAL(KIND=JPRB) ,INTENT(OUT) :: PVDAED(KLEV+1)
93 REAL(KIND=JPRB) ,INTENT(OUT) :: PTRBGA
94 REAL(KIND=JPRB) ,INTENT(OUT) :: PVOBGA
95 REAL(KIND=JPRB) ,INTENT(OUT) :: PSTBGA
96 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEOPS
97 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEOPL
98 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEOPU
99 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEOPD
100 REAL(KIND=JPRB) ,INTENT(OUT) :: PTRPT
101 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEADK(3)
102 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEADM
103 REAL(KIND=JPRB) ,INTENT(OUT) :: PAEROS
104 ! ------------------------------------------------------------------
105 INTEGER(KIND=JPIM) :: JK
106
107 REAL(KIND=JPRB) :: ZHSD, ZHSL, ZHSS, ZHSU
108 REAL(KIND=JPRB) :: ZHOOK_HANDLE
109
110 ! ------------------------------------------------------------------
111
112 !* 1. COMPUTATIONS.
113 ! -------------
114
115
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('SUAERV',0,ZHOOK_HANDLE)
116 ZHSS=MAX(1.0_JPRB,8434._JPRB/1000._JPRB)
117 ZHSL=MAX(1.0_JPRB,8434._JPRB/1000._JPRB)
118 ZHSU=MAX(1.0_JPRB,8434._JPRB/1000._JPRB)
119 ZHSD=MAX(1.0_JPRB,8434._JPRB/3000._JPRB)
120 1 PVDAES(1)=0._JPRB
121 1 PVDAEL(1)=0._JPRB
122 1 PVDAEU(1)=0._JPRB
123 1 PVDAED(1)=0._JPRB
124
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 IF(PETAH(1) /= 0.0_JPRB) THEN
125 PVDAES(1)=PETAH(1)**ZHSS
126 PVDAEL(1)=PETAH(1)**ZHSL
127 PVDAEU(1)=PETAH(1)**ZHSU
128 PVDAED(1)=PETAH(1)**ZHSD
129 ENDIF
130
2/2
✓ Branch 0 taken 39 times.
✓ Branch 1 taken 1 times.
40 DO JK=2,KLEV+1
131 39 PVDAES(JK)=PETAH(JK)**ZHSS
132 39 PVDAEL(JK)=PETAH(JK)**ZHSL
133 39 PVDAEU(JK)=PETAH(JK)**ZHSU
134 40 PVDAED(JK)=PETAH(JK)**ZHSD
135 ENDDO
136 1 PTRBGA= 0.03_JPRB/(101325._JPRB-19330._JPRB)
137 1 PVOBGA= 0.007_JPRB/19330._JPRB
138 1 PSTBGA= 0.045_JPRB/19330._JPRB
139 1 PAEOPS= 0.05_JPRB
140 1 PAEOPL= 0.2_JPRB
141 1 PAEOPU= 0.1_JPRB
142 1 PAEOPD= 1.9_JPRB
143 1 PTRPT = 30._JPRB
144 1 PAEADK(1)=+.3876E-03_JPRB
145 1 PAEADK(2)=+.6693E-02_JPRB
146 1 PAEADK(3)=+.8563E-03_JPRB
147 1 PAEADM = 2.6E-10_JPRB
148
149 1 PAEROS = 0.1462E-16_JPRB
150
151 ! ------------------------------------------------------------------
152
153
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('SUAERV',1,ZHOOK_HANDLE)
154 1 END SUBROUTINE SUAERV
155