GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/suaerv.F90 Lines: 28 32 87.5 %
Date: 2023-06-30 12:51:15 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
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
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
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
IF (LHOOK) CALL DR_HOOK('SUAERV',1,ZHOOK_HANDLE)
154
1
END SUBROUTINE SUAERV