source: LMDZ5/branches/testing/libf/phylmd/rrtm/suaersn.F90 @ 2641

Last change on this file since 2641 was 1999, checked in by Laurent Fairhead, 11 years ago

Merged trunk changes r1920:1997 into testing branch

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 8.0 KB
Line 
1SUBROUTINE SUAERSN (KTSW, KSW)
2
3!**** *SUAERS*   - INITIALIZE COMMON YOEAER
4
5!     PURPOSE.
6!     --------
7!           INITIALIZE YOEAER, THE COMMON THAT CONTAINS THE
8!           RADIATIVE CHARACTERISTICS OF THE AEROSOLS
9
10!**   INTERFACE.
11!     ----------
12!              -----        -----
13
14!        EXPLICIT ARGUMENTS :
15!        --------------------
16!        NONE
17
18!        IMPLICIT ARGUMENTS :
19!        --------------------
20!        COMMON YOEAER
21
22!     METHOD.
23!     -------
24!        SEE DOCUMENTATION
25
26!     EXTERNALS.
27!     ----------
28
29!     REFERENCE.
30!     ----------
31!        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE "IFS MODEL"
32
33!     AUTHOR.
34!     -------
35!        JEAN-JACQUES MORCRETTE *ECMWF*
36
37!     MODIFICATIONS.
38!     --------------
39!        ORIGINAL : 88-02-15
40!        96-01-27  JJ Morcrette  Various spectral resolutions
41!        99-05-25  JJMorcrette   Revised aerosol optical properties
42!        00-10-25  JJMorcrette   6 spectral intervals
43!        M.Hamrud      01-Oct-2003 CY28 Cleaning
44
45!     ------------------------------------------------------------------
46
47USE PARKIND1  ,ONLY : JPIM     ,JPRB
48USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
49
50USE YOESW    , ONLY : RTAUA     ,RPIZA    ,RCGA
51
52!      ----------------------------------------------------------------
53
54IMPLICIT NONE
55
56INTEGER(KIND=JPIM),INTENT(IN)    :: KTSW
57INTEGER(KIND=JPIM),INTENT(IN)    :: KSW
58REAL(KIND=JPRB) :: ZTAUA2(2,6)  ,ZPIZA2(2,6)  ,ZCGA2(2,6)
59REAL(KIND=JPRB) :: ZTAUA4(4,6)  ,ZPIZA4(4,6)  ,ZCGA4(4,6)
60REAL(KIND=JPRB) :: ZTAUA6(6,6)  ,ZPIZA6(6,6)  ,ZCGA6(6,6)
61
62INTEGER(KIND=JPIM) :: JAER, JNU
63REAL(KIND=JPRB) :: ZHOOK_HANDLE
64
65!      ----------------------------------------------------------------
66
67!*       1.    SHORTWAVE COEFFICIENTS
68!              ----------------------
69!=======================================================================
70!-- The (old) five aerosol types were respectively:
71
72!  1/ continental average (+desert)       2/ maritime
73!  3/ urban                               4/ volcanic active
74!  5/ stratospheric background
75
76!-- old values were not spectrally defined:
77! ZTAU2  = .730719, .912819, .725059, .745405, .682188
78! ZPIZA2 = .872212, .982545, .623143, .944887, .997975
79! ZCGA2  = .647596, .739002, .580845, .662657, .624246
80!=======================================================================
81
82!-- The six aerosol types are respectively:
83
84!  1/ continental average                 2/ maritime
85!  3/ desert                              4/ urban
86!  5/ volcanic active                     6/ stratospheric background
87
88! The quantities given are:
89! TAU : ratio of average optical thickness in interval to that at 0.55
90!       micron
91! PIZA: average single scattering albedo
92! CGA : average asymmetry factor
93
94! computed from Hess and Koepke (con, mar, des, urb)
95!          from Bonnel et al.   (vol, str)
96
97!        1.1   TWO SPECTRAL INTERVALS (0.25-0.69-4.00microns)
98
99IF (LHOOK) CALL DR_HOOK('SUAERSN',0,ZHOOK_HANDLE)
100ZTAUA2(1, :)= (/&
101 & 1.69446_JPRB , 1.11855_JPRB , 1.09212_JPRB , 1.72145_JPRB , 1.03858_JPRB , 1.12044_JPRB /) 
102ZTAUA2(2, :)= (/&
103 & 0.40174_JPRB , 0.89383_JPRB , 0.89546_JPRB , 0.40741_JPRB , 0.51143_JPRB , 0.32646_JPRB /) 
104 
105ZPIZA2(1, :)= (/&
106 & .9148907_JPRB, .9956173_JPRB, .7504584_JPRB, .8131335_JPRB, .9401905_JPRB, .9999999_JPRB/) 
107ZPIZA2(2, :)= (/&
108 & .8814597_JPRB, .9920407_JPRB, .9239428_JPRB, .7546879_JPRB, .9515548_JPRB, .9938563_JPRB/) 
109 
110ZCGA2(1, :)= (/&
111 & 0.729019_JPRB, 0.803129_JPRB, 0.784592_JPRB, 0.712208_JPRB, .7008249_JPRB, .7270548_JPRB/) 
112ZCGA2(2, :)= (/&
113 & 0.663224_JPRB, 0.793746_JPRB, 0.696315_JPRB, 0.652612_JPRB, .6608509_JPRB, .6318786_JPRB/) 
114
115!        1.2   FOUR SPECTRAL INTERVALS (0.25-0.69-1.19-2.38-4.00microns)
116
117ZTAUA4(1, :)= (/&
118 & 1.69446_JPRB , 1.11855_JPRB , 1.09212_JPRB , 1.72145_JPRB , 1.03858_JPRB , 1.12044_JPRB /) 
119ZTAUA4(2, :)= (/&
120 & 0.52838_JPRB , 0.93285_JPRB , 0.93449_JPRB , 0.53078_JPRB , 0.67148_JPRB , 0.46608_JPRB /) 
121ZTAUA4(3, :)= (/&
122 & 0.20543_JPRB , 0.84642_JPRB , 0.84958_JPRB , 0.21673_JPRB , 0.28270_JPRB , 0.10915_JPRB /) 
123ZTAUA4(4, :)= (/&
124 & 0.10849_JPRB , 0.66699_JPRB , 0.65255_JPRB , 0.11600_JPRB , 0.06529_JPRB , 0.04468_JPRB /) 
125 
126ZPIZA4(1, :)= (/&
127 & .9148907_JPRB, .9956173_JPRB, .7504584_JPRB, .8131335_JPRB, .9401905_JPRB, .9999999_JPRB/) 
128ZPIZA4(2, :)= (/&
129 & .8970131_JPRB, .9984940_JPRB, .9245594_JPRB, .7768385_JPRB, .9532763_JPRB, .9999999_JPRB/) 
130ZPIZA4(3, :)= (/&
131 & .8287144_JPRB, .9949396_JPRB, .9279543_JPRB, .6765051_JPRB, .9467578_JPRB, .9955938_JPRB/) 
132ZPIZA4(4, :)= (/&
133 & .5230504_JPRB, .7868518_JPRB, .8531531_JPRB, .4048149_JPRB, .8748231_JPRB, .2355667_JPRB/) 
134 
135ZCGA4(1, :)= (/&
136 & 0.729019_JPRB, 0.803129_JPRB, 0.784592_JPRB, 0.712208_JPRB, .7008249_JPRB, .7270548_JPRB/) 
137ZCGA4(2, :)= (/&
138 & 0.668431_JPRB, 0.788530_JPRB, 0.698682_JPRB, 0.657422_JPRB, .6735182_JPRB, .6519706_JPRB/) 
139ZCGA4(3, :)= (/&
140 & 0.636342_JPRB, 0.802467_JPRB, 0.691305_JPRB, 0.627497_JPRB, .6105750_JPRB, .4760794_JPRB/) 
141ZCGA4(4, :)= (/&
142 & 0.700610_JPRB, 0.818871_JPRB, 0.702399_JPRB, 0.689886_JPRB, .4629866_JPRB, .1907639_JPRB/) 
143
144!        1.3   SIX SPECTRAL INTERVALS (0.185-0.25-0.44-0.69-1.19-2.38-4.00microns)
145
146ZTAUA6(1, :)= (/&
147 & 1.69446_JPRB , 1.11855_JPRB , 1.09212_JPRB , 1.72145_JPRB , 1.03858_JPRB , 1.12044_JPRB /) 
148ZTAUA6(2, :)= (/&
149 & 1.69446_JPRB , 1.11855_JPRB , 1.09212_JPRB , 1.72145_JPRB , 1.03858_JPRB , 1.12044_JPRB /) 
150ZTAUA6(3, :)= (/&
151 & 1.69446_JPRB , 1.11855_JPRB , 1.09212_JPRB , 1.72145_JPRB , 1.03858_JPRB , 1.12044_JPRB /) 
152ZTAUA6(4, :)= (/&
153 & 0.52838_JPRB , 0.93285_JPRB , 0.93449_JPRB , 0.53078_JPRB , 0.67148_JPRB , 0.46608_JPRB /) 
154ZTAUA6(5, :)= (/&
155 & 0.20543_JPRB , 0.84642_JPRB , 0.84958_JPRB , 0.21673_JPRB , 0.28270_JPRB , 0.10915_JPRB /) 
156ZTAUA6(6, :)= (/&
157 & 0.10849_JPRB , 0.66699_JPRB , 0.65255_JPRB , 0.11600_JPRB , 0.06529_JPRB , 0.04468_JPRB /) 
158 
159ZPIZA6(1, :)= (/&
160 & .9148907_JPRB, .9956173_JPRB, .7504584_JPRB, .8131335_JPRB, .9401905_JPRB, .9999999_JPRB/) 
161ZPIZA6(2, :)= (/&
162 & .9148907_JPRB, .9956173_JPRB, .7504584_JPRB, .8131335_JPRB, .9401905_JPRB, .9999999_JPRB/) 
163ZPIZA6(3, :)= (/&
164 & .9148907_JPRB, .9956173_JPRB, .7504584_JPRB, .8131335_JPRB, .9401905_JPRB, .9999999_JPRB/) 
165ZPIZA6(4, :)= (/&
166 & .8970131_JPRB, .9984940_JPRB, .9245594_JPRB, .7768385_JPRB, .9532763_JPRB, .9999999_JPRB/) 
167ZPIZA6(5, :)= (/&
168 & .8287144_JPRB, .9949396_JPRB, .9279543_JPRB, .6765051_JPRB, .9467578_JPRB, .9955938_JPRB/) 
169ZPIZA6(6, :)= (/&
170 & .5230504_JPRB, .7868518_JPRB, .8531531_JPRB, .4048149_JPRB, .8748231_JPRB, .2355667_JPRB/) 
171 
172ZCGA6(1, :)= (/&
173 & 0.729019_JPRB, 0.803129_JPRB, 0.784592_JPRB, 0.712208_JPRB, .7008249_JPRB, .7270548_JPRB/) 
174ZCGA6(2, :)= (/&
175 & 0.729019_JPRB, 0.803129_JPRB, 0.784592_JPRB, 0.712208_JPRB, .7008249_JPRB, .7270548_JPRB/) 
176ZCGA6(3, :)= (/&
177 & 0.729019_JPRB, 0.803129_JPRB, 0.784592_JPRB, 0.712208_JPRB, .7008249_JPRB, .7270548_JPRB/) 
178ZCGA6(4, :)= (/&
179 & 0.668431_JPRB, 0.788530_JPRB, 0.698682_JPRB, 0.657422_JPRB, .6735182_JPRB, .6519706_JPRB/) 
180ZCGA6(5, :)= (/&
181 & 0.636342_JPRB, 0.802467_JPRB, 0.691305_JPRB, 0.627497_JPRB, .6105750_JPRB, .4760794_JPRB/) 
182ZCGA6(6, :)= (/&
183 & 0.700610_JPRB, 0.818871_JPRB, 0.702399_JPRB, 0.689886_JPRB, .4629866_JPRB, .1907639_JPRB/) 
184
185!      ----------------------------------------------------------------
186
187IF (KSW == 2) THEN
188  DO JNU=1,KSW
189    DO JAER=1,6
190      RTAUA(JNU,JAER)=ZTAUA2(JNU,JAER)
191      RPIZA(JNU,JAER)=ZPIZA2(JNU,JAER)
192      RCGA(JNU,JAER) =ZCGA2 (JNU,JAER)
193    ENDDO
194  ENDDO
195ELSEIF (KSW == 4) THEN
196  DO JNU=1,KSW
197    DO JAER=1,6
198      RTAUA(JNU,JAER)=ZTAUA4(JNU,JAER)
199      RPIZA(JNU,JAER)=ZPIZA4(JNU,JAER)
200      RCGA(JNU,JAER) =ZCGA4 (JNU,JAER)
201    ENDDO
202  ENDDO
203ELSEIF (KSW == 6) THEN
204  DO JNU=1,KSW
205    DO JAER=1,6
206      RTAUA(JNU,JAER)=ZTAUA6(JNU,JAER)
207      RPIZA(JNU,JAER)=ZPIZA6(JNU,JAER)
208      RCGA(JNU,JAER) =ZCGA6 (JNU,JAER)
209    ENDDO
210  ENDDO
211ELSEIF (KSW == 14 .AND. KTSW == 14) THEN
212  PRINT *,'SUAERSN: 14-SPECTRAL INTERVALS --> RRTM_SW'
213ELSE
214  STOP 'SUAERSN: WRONG NUMBER OF SPECTRAL INTERVALS'
215ENDIF
216
217!      ----------------------------------------------------------------
218
219IF (LHOOK) CALL DR_HOOK('SUAERSN',1,ZHOOK_HANDLE)
220END SUBROUTINE SUAERSN
Note: See TracBrowser for help on using the repository browser.