LMDZ
rrtm_cmbgb5.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb5
3 !***************************************************************************
4 
5 ! BAND 5: 700-820 cm-1 (low - H2O,CO2; high - O3,CO2)
6 !***************************************************************************
7 
8 ! Parameters
9 USE parkind1 ,ONLY : jpim ,jprb
10 USE yomhook ,ONLY : lhook, dr_hook
11 
12 USE yoerrto5 , ONLY : kao ,kbo ,selfrefo ,fracrefao ,&
13  & fracrefbo, ccl4o
14 USE yoerrta5 , ONLY : ka ,kb ,selfref ,fracrefa ,&
15  & fracrefb , ccl4
16 USE yoerrtrwt, ONLY : frefa ,frefb ,frefadf ,frefbdf ,rwgt
17 USE yoerrtftr, ONLY : ngc ,ngs ,ngn
18 
19 IMPLICIT NONE
20 
21 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
22 
23 REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
24 REAL(KIND=JPRB) :: ZHOOK_HANDLE
25 
26 IF (lhook) CALL dr_hook('RRTM_CMBGB5',0,zhook_handle)
27 DO jn = 1,9
28  DO jt = 1,5
29  DO jp = 1,13
30  iprsm = 0
31  DO igc = 1,ngc(5)
32  z_sumk = 0.0_jprb
33  DO ipr = 1, ngn(ngs(4)+igc)
34  iprsm = iprsm + 1
35 
36  z_sumk = z_sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+64)
37  ENDDO
38 
39  ka(jn,jt,jp,igc) = z_sumk
40  ENDDO
41  ENDDO
42  ENDDO
43 ENDDO
44 DO jn = 1,5
45  DO jt = 1,5
46  DO jp = 13,59
47  iprsm = 0
48  DO igc = 1,ngc(5)
49  z_sumk = 0.0_jprb
50  DO ipr = 1, ngn(ngs(4)+igc)
51  iprsm = iprsm + 1
52 
53  z_sumk = z_sumk + kbo(jn,jt,jp,iprsm)*rwgt(iprsm+64)
54  ENDDO
55 
56  kb(jn,jt,jp,igc) = z_sumk
57  ENDDO
58  ENDDO
59  ENDDO
60 ENDDO
61 
62 DO jt = 1,10
63  iprsm = 0
64  DO igc = 1,ngc(5)
65  z_sumk = 0.0_jprb
66  DO ipr = 1, ngn(ngs(4)+igc)
67  iprsm = iprsm + 1
68 
69  z_sumk = z_sumk + selfrefo(jt,iprsm)*rwgt(iprsm+64)
70  ENDDO
71 
72  selfref(jt,igc) = z_sumk
73  ENDDO
74 ENDDO
75 
76 DO jp = 1,9
77  iprsm = 0
78  DO igc = 1,ngc(5)
79  z_sumf = 0.0_jprb
80  DO ipr = 1, ngn(ngs(4)+igc)
81  iprsm = iprsm + 1
82 
83  z_sumf = z_sumf + fracrefao(iprsm,jp)
84  ENDDO
85 
86  fracrefa(igc,jp) = z_sumf
87  ENDDO
88 ENDDO
89 
90 DO jp = 1,5
91  iprsm = 0
92  DO igc = 1,ngc(5)
93  z_sumf = 0.0_jprb
94  DO ipr = 1, ngn(ngs(4)+igc)
95  iprsm = iprsm + 1
96 
97  z_sumf = z_sumf + fracrefbo(iprsm,jp)
98  ENDDO
99 
100  fracrefb(igc,jp) = z_sumf
101  ENDDO
102 ENDDO
103 
104 iprsm = 0
105 DO igc = 1,ngc(5)
106  z_sumk = 0.0_jprb
107  DO ipr = 1, ngn(ngs(4)+igc)
108  iprsm = iprsm + 1
109 
110  z_sumk = z_sumk + ccl4o(iprsm)*rwgt(iprsm+64)
111  ENDDO
112 
113  ccl4(igc) = z_sumk
114 ENDDO
115 
116 DO jp = 1,9
117  DO igc = 1,ngc(5)
118 
119  frefa(ngs(4)+igc,jp) = fracrefa(igc,jp)
120  ENDDO
121 ENDDO
122 DO jp = 1,8
123  DO igc = 1,ngc(5)
124 
125  frefadf(ngs(4)+igc,jp) = fracrefa(igc,jp+1) -fracrefa(igc,jp)
126  ENDDO
127 ENDDO
128 DO jp = 1,5
129  DO igc = 1,ngc(5)
130 
131  frefb(ngs(4)+igc,jp) = fracrefb(igc,jp)
132  ENDDO
133 ENDDO
134 DO jp = 1,4
135  DO igc = 1,ngc(5)
136 
137  frefbdf(ngs(4)+igc,jp) = fracrefb(igc,jp+1) -fracrefb(igc,jp)
138  ENDDO
139 ENDDO
140 
141 IF (lhook) CALL dr_hook('RRTM_CMBGB5',1,zhook_handle)
142 END SUBROUTINE rrtm_cmbgb5
real(kind=jprb), dimension(9, 5, 13, ng5) ka
Definition: yoerrta5.F90:20
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
real(kind=jprb), dimension(9, 5, 13, no5) kao
Definition: yoerrto5.F90:20
real(kind=jprb), dimension(ng5, 9) fracrefa
Definition: yoerrta5.F90:16
subroutine rrtm_cmbgb5
Definition: rrtm_cmbgb5.F90:3
real(kind=jprb), dimension(jpg *jpband) rwgt
Definition: yoerrtrwt.F90:19
real(kind=jprb), dimension(jpgpt, 6) frefbdf
Definition: yoerrtrwt.F90:18
real(kind=jprb), dimension(jpgpt, 6) frefb
Definition: yoerrtrwt.F90:16
real(kind=jprb), dimension(10, no5) selfrefo
Definition: yoerrto5.F90:22
real(kind=jprb), dimension(no5, 9) fracrefao
Definition: yoerrto5.F90:16
real(kind=jprb), dimension(10, ng5) selfref
Definition: yoerrta5.F90:22
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(ng5) ccl4
Definition: yoerrta5.F90:18
real(kind=jprb), dimension(5, 5, 13:59, no5) kbo
Definition: yoerrto5.F90:21
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(ng5, 5) fracrefb
Definition: yoerrta5.F90:16
real(kind=jprb), dimension(no5, 5) fracrefbo
Definition: yoerrto5.F90:16
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
real(kind=jprb), dimension(jpgpt, 13) frefadf
Definition: yoerrtrwt.F90:17
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(no5) ccl4o
Definition: yoerrto5.F90:18
integer(kind=jpim), dimension(jpband) ngc
Definition: yoerrtftr.F90:15
integer(kind=jpim), dimension(jpband) ngs
Definition: yoerrtftr.F90:16
real(kind=jprb), dimension(5, 5, 13:59, ng5) kb
Definition: yoerrta5.F90:21