GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/suaerv15.F90 Lines: 0 36 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 8 0.0 %

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