source: LMDZ6/branches/Amaury_dev/libf/phylmd/ecrad/ifsrrtm/surrtftr.F90 @ 5097

Last change on this file since 5097 was 4773, checked in by idelkadi, 11 months ago
  • Update of Ecrad in LMDZ The same organization of the Ecrad offline version is retained in order to facilitate the updating of Ecrad in LMDZ and the comparison between online and offline results. version 1.6.1 of Ecrad (https://github.com/lguez/ecrad.git)
  • Implementation of the double call of Ecrad in LMDZ


File size: 11.9 KB
Line 
1SUBROUTINE SURRTFTR
2
3!     Adapted from Eli J. Mlawer, Atmospheric & Environmental Research.
4!     by JJMorcrette, ECMWF
5!
6!     JJMorcrette 20110613 flexible number of g-points
7!     ABozzo 201306 updated to rrtmg v4.85
8!
9!     ------------------------------------------------------------------
10
11USE PARKIND1  ,ONLY : JPIM ,   JPRB
12USE YOMHOOK   ,ONLY : LHOOK, DR_HOOK, JPHOOK
13
14!USE PARRRTM   ,ONLY : JPBAND  ,JPG
15USE YOERRTFTR ,ONLY : NGC     ,NGS      ,NGN      ,NGB       ,NGM     , WT
16!USE YOERAD    ,ONLY : NREDGLW
17USE YOERRTM   ,ONLY : JPGPT
18!USE YOERRTM   ,ONLY : JPGPT, &
19!                    & NG1 , NG2 , NG3 , NG4 , NG5 , NG6 , NG7 , NG8 ,&
20!                    & NG9 , NG10, NG11, NG12, NG13, NG14, NG15, NG16,&
21!                    & NGS1, NGS2, NGS3, NGS4, NGS5, NGS6, NGS7, NGS8,&
22!                    & NGS9, NGS10,NGS11,NGS12,NGS13,NGS14,NGS15,NGS16
23!
24!     ------------------------------------------------------------------
25
26IMPLICIT NONE
27
28!INTEGER(KIND=JPIM) :: KGC(16), KGS(16), KGM(256), KGN(JPGPT), KGB(JPGPT)
29!!INTEGER(KIND=JPIM) :: KGC(JPG), KGS(JPG), KGM(JPG*JPBAND), KGN(JPGPT), KGB(JPGPT)
30
31INTEGER(KIND=JPIM) :: IGC70(16) , IGC140(16) , IGC256(16)
32INTEGER(KIND=JPIM) :: IGS70(16) , IGS140(16) , IGS256(16)
33
34INTEGER(KIND=JPIM) :: IGM70(256), IGM140(256), IGM256(256)
35
36INTEGER(KIND=JPIM) :: IGN70(70) , IGN140(140), IGN256(256)
37INTEGER(KIND=JPIM) :: IGB70(70) , IGB140(140), IGB256(256)
38
39REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
40IF (LHOOK) CALL DR_HOOK('SURRTFTR',0,ZHOOK_HANDLE)
41
42!-------------------------------------------------------------------------------
43!-- configuration for EPS with 70 g-points
44
45IGC70( :) = (/4,  7,  8,  7,  8, 4,  6, 4,  6, 3, 4, 4, 2, 1, 1, 1 /)
46
47IGS70(:) = (/  4, 11,  19,  26,  34,  38,  44,  48, &
48            & 54, 57,  61,  65,  67,  68,  69,  70 /)
49   
50IGM70(:) = (/&
51 & 1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,             &! Band 1
52 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,7,7,             &! Band 2
53 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,             &! Band 3
54 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,7,7,             &! Band 4
55 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,             &! Band 5
56 & 1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,             &! Band 6
57 & 1,1,1,1,2,2,3,3,4,4,5,5,6,6,6,6,             &! Band 7
58 & 1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,             &! Band 8
59 & 1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6,             &! Band 9
60 & 1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,             &! Band 10
61 & 1,1,2,2,2,2,3,3,3,3,4,4,4,4,4,4,             &! Band 11
62 & 1,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,             &! Band 12
63 & 1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,             &! Band 13
64 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 14
65 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 15
66 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/)             ! Band 16 
67
68IGN70(:) = (/&
69 & 4,4,4,4,                                     &! Band 1
70 & 2,2,2,2,2,2,4,                               &! Band 2
71 & 2,2,2,2,2,2,2,2,                             &! Band 3
72 & 2,2,2,2,2,2,4,                               &! Band 4
73 & 2,2,2,2,2,2,2,2,                             &! Band 5
74 & 4,4,4,4,                                     &! Band 6
75 & 4,2,2,2,2,4,                                 &! Band 7
76 & 4,4,4,4,                                     &! Band 8
77 & 2,2,2,2,4,4,                                 &! Band 9
78 & 4,4,8,                                       &! Band 10
79 & 2,4,4,6,                                     &! Band 11
80 & 2,2,4,8,                                     &! Band 12
81 & 6,10,                                        &! Band 13
82 & 16,                                          &! Band 14
83 & 16,                                          &! Band 15
84 & 16/)                                          ! Band 16 
85
86IGB70(:) = (/&
87 & 1,1,1,1,                                      &! Band 1
88 & 2,2,2,2,2,2,2,                                &! Band 2
89 & 3,3,3,3,3,3,3,3,                              &! Band 3
90 & 4,4,4,4,4,4,4,                                &! Band 4
91 & 5,5,5,5,5,5,5,5,                              &! Band 5
92 & 6,6,6,6,                                      &! Band 6
93 & 7,7,7,7,7,7,                                  &! Band 7
94 & 8,8,8,8,                                      &! Band 8
95 & 9,9,9,9,9,9,                                  &! Band 9
96 & 10,10,10,                                     &! Band 10
97 & 11,11,11,11,                                  &! Band 11
98 & 12,12,12,12,                                  &! Band 12
99 & 13,13,                                        &! Band 13
100 & 14,                                           &! Band 14
101 & 15,                                           &! Band 15
102 & 16/)                                           ! Band 16 
103
104
105!------------------------------------------------------------------------------
106!-- configuration with 140 g-points
107
108IGC140(:) = (/10, 12, 16, 14, 16, 8, 12, 8, 12, 6, 8, 8, 4, 2, 2, 2 /)
109
110IGS140(:) = (/  10,  22,  38,  52,  68,  76,  88,  96, &
111            & 108, 114, 122, 130, 134, 136, 138, 140 /) 
112
113IGM140(:) = (/&
114 & 1,2,3,3,4,4,5,5,6,6,7,7,8,8,9,10,            &! Band 1
115 & 1,2,3,4,5,6,7,8,9,9,10,10,11,11,12,12,       &! Band 2
116 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 3
117 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,14,14,      &! Band 4
118 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 5
119 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,             &! Band 6
120 & 1,1,2,2,3,4,5,6,7,8,9,10,11,11,12,12,        &! Band 7
121 & 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,             &! Band 8
122 & 1,2,3,4,5,6,7,8,9,9,10,10,11,11,12,12,       &! Band 9
123 & 1,1,2,2,3,3,4,4,5,5,5,5,6,6,6,6,             &! Band 10
124 & 1,2,3,3,4,4,5,5,6,6,7,7,7,8,8,8,             &! Band 11
125 & 1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8,             &! Band 12
126 & 1,1,1,2,2,2,3,3,3,3,4,4,4,4,4,4,             &! Band 13
127 & 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,             &! Band 14
128 & 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,             &! Band 15
129 & 1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2/)             ! Band 16 
130
131IGN140(:) = (/&
132 & 1,1,2,2,2,2,2,2,1,1,                         &! Band 1
133 & 1,1,1,1,1,1,1,1,2,2,2,2,                     &! Band 2
134 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 3
135 & 1,1,1,1,1,1,1,1,1,1,1,1,1,3,                 &! Band 4
136 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 5
137 & 2,2,2,2,2,2,2,2,                             &! Band 6
138 & 2,2,1,1,1,1,1,1,1,1,2,2,                     &! Band 7
139 & 2,2,2,2,2,2,2,2,                             &! Band 8
140 & 1,1,1,1,1,1,1,1,2,2,2,2,                     &! Band 9
141 & 2,2,2,2,4,4,                                 &! Band 10
142 & 1,1,2,2,2,2,3,3,                             &! Band 11
143 & 1,1,1,1,2,2,4,4,                             &! Band 12
144 & 3,3,4,6,                                     &! Band 13
145 & 8,8,                                         &! Band 14
146 & 8,8,                                         &! Band 15
147 & 4,12/)                                         ! Band 16 
148
149IGB140( :) = (/&
150 & 1,1,1,1,1,1,1,1,1,1,                         &! Band 1
151 & 2,2,2,2,2,2,2,2,2,2,2,2,                     &! Band 2
152 & 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,             &! Band 3
153 & 4,4,4,4,4,4,4,4,4,4,4,4,4,4,                 &! Band 4
154 & 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,             &! Band 5
155 & 6,6,6,6,6,6,6,6,                             &! Band 6
156 & 7,7,7,7,7,7,7,7,7,7,7,7,                     &! Band 7
157 & 8,8,8,8,8,8,8,8,                             &! Band 8
158 & 9,9,9,9,9,9,9,9,9,9,9,9,                     &! Band 9
159 & 10,10,10,10,10,10,                           &! Band 10
160 & 11,11,11,11,11,11,11,11,                     &! Band 11
161 & 12,12,12,12,12,12,12,12,                     &! Band 12
162 & 13,13,13,13,                                 &! Band 13
163 & 14,14,                                       &! Band 14
164 & 15,15,                                       &! Band 15
165 & 16,16/)                                       ! Band 16 
166
167
168
169!------------------------------------------------------------------------------
170!-- configuration with 256 g-points
171
172IGC256(:) = (/16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 /)
173
174IGS256(:) = (/ 16,  32,  48,  64,  80,  96, 112, 128, &
175            & 144, 160, 176, 192, 208, 224, 240, 256 /) 
176
177IGM256(:) = (/&
178 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 1
179 & 1,2,3,4,5,6,7,8,9,10,11,12,13,13,14,14,      &! Band 2
180 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 3
181 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 4
182 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 5
183 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 6
184 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 7
185 & 1,2,3,4,5,6,7,8,9,10,11,12,13,13,14,14,      &! Band 8
186 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 9
187 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 10
188 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 11
189 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 12
190 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 13
191 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 14
192 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,      &! Band 15
193 & 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 /)     ! Band 16
194
195IGN256(:) = (/&
196 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 1
197 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 2
198 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 3
199 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 4
200 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 5
201 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 6
202 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 7
203 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 8
204 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 9
205 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 10
206 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 11
207 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 12
208 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 13
209 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 14
210 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 15
211 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 /)            ! Band 16
212
213IGB256( :) = (/&
214 & 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,             &! Band 1
215 & 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,             &! Band 2
216 & 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,             &! Band 3
217 & 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,             &! Band 4
218 & 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,             &! Band 5
219 & 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,             &! Band 6
220 & 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,             &! Band 7
221 & 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,             &! Band 8
222 & 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,             &! Band 9
223 & 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, &! Band 10
224 & 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, &! Band 11
225 & 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, &! Band 12
226 & 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, &! Band 13
227 & 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, &! Band 14
228 & 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, &! Band 15
229 & 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16/) ! Band 16 
230
231!-------------------------------------------------------------------------------
232!
233WT( :) = (/&
234 & 0.1527534276_JPRB,0.1491729617_JPRB,0.1420961469_JPRB,0.1316886544_JPRB,&
235 & 0.1181945205_JPRB,0.1019300893_JPRB,0.0832767040_JPRB,0.0626720116_JPRB,&
236 & 0.0424925_JPRB   ,0.0046269894_JPRB,0.0038279891_JPRB,0.0030260086_JPRB,&
237 & 0.0022199750_JPRB,0.0014140010_JPRB,0.000533_JPRB    ,0.000075_JPRB    /) 
238
239!-------------------------------------------------------------------------------
240
241IF (JPGPT == 70) THEN
242
243!-- 16
244  NGC(:)=IGC70(:)
245  NGS(:)=IGS70(:)
246
247!-- 16*16=256
248  NGM(:)=IGM70(:)
249
250  NGN(1:70)=IGN70(1:70)
251  NGB(1:70)=IGB70(1:70)
252
253ELSEIF (JPGPT == 140) THEN
254!- 16
255  NGC(:)=IGC140(:)
256  NGS(:)=IGS140(:)
257
258!- 16*16=256
259  NGM(:)=IGM140(:)
260
261  NGN(1:140)=IGN140(1:140)
262  NGB(1:140)=IGB140(1:140)
263
264ELSEIF (JPGPT == 256) THEN
265!- 16
266  NGC(:)=IGC256(:)
267  NGS(:)=IGS256(:)
268
269!- 16*16=256
270  NGM(:)=IGM256(:)
271
272  NGN(1:256)=IGN256(1:256)
273  NGB(1:256)=IGB256(1:256)
274
275ENDIF
276   
277!     -----------------------------------------------------------------
278IF (LHOOK) CALL DR_HOOK('SURRTFTR',1,ZHOOK_HANDLE)
279END SUBROUTINE SURRTFTR
Note: See TracBrowser for help on using the repository browser.