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 |