LMDZ
rrtm_cmbgb11.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb11
3 !***************************************************************************
4 
5 ! BAND 11: 1480-1800 cm-1 (low - H2O; high - H2O)
6 !***************************************************************************
7 
8 ! Parameters
9 #include "tsmbkind.h"
10 
11 USE parrrtm , ONLY : jpband ,jpg ,jpxsec ,jpgpt
12 
14 USE yoerrta11, ONLY : ka ,kb ,selfref ,fracrefa ,fracrefb &
15  & , absa ,absb ,ng11
16 USE yoerrtrwt, ONLY : frefa ,frefb ,frefadf ,frefbdf ,rwgt
17 USE yoerrtftr, ONLY : ngc ,ngs ,ngn ,ngb ,ngm , wt
18 
19 IMPLICIT NONE
20 
21 ! LOCAL INTEGER SCALARS
22 integer_m :: igc, ipr, iprsm, jp, jt
23 integer_m :: meq, neq ! To force equivalence, HG, 13-DEC-2003
24 
25 ! LOCAL REAL SCALARS
26 real_b :: sumf1, sumf2, sumk
27 
28 
29 DO jt = 1,5
30  DO jp = 1,13
31  iprsm = 0
32  DO igc = 1,ngc(11)
33  sumk = _zero_
34  DO ipr = 1, ngn(ngs(10)+igc)
35  iprsm = iprsm + 1
36 
37  sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+160)
38  ENDDO
39 
40  ka(jt,jp,igc) = sumk
41  ENDDO
42  ENDDO
43 ENDDO
44 DO jt = 1,5
45  DO jp = 13,59
46  iprsm = 0
47  DO igc = 1,ngc(11)
48  sumk = _zero_
49  DO ipr = 1, ngn(ngs(10)+igc)
50  iprsm = iprsm + 1
51 
52  sumk = sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+160)
53  ENDDO
54 
55  kb(jt,jp,igc) = sumk
56  ENDDO
57  ENDDO
58 ENDDO
59 
60 DO jt = 1,10
61  iprsm = 0
62  DO igc = 1,ngc(11)
63  sumk = _zero_
64  DO ipr = 1, ngn(ngs(10)+igc)
65  iprsm = iprsm + 1
66 
67  sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+160)
68  ENDDO
69 
70  selfref(jt,igc) = sumk
71  ENDDO
72 ENDDO
73 
74 iprsm = 0
75 DO igc = 1,ngc(11)
76  sumf1= _zero_
77  sumf2= _zero_
78  DO ipr = 1, ngn(ngs(10)+igc)
79  iprsm = iprsm + 1
80 
81 
82  sumf1= sumf1+ fracrefao(iprsm)
83  sumf2= sumf2+ fracrefbo(iprsm)
84  ENDDO
85 
86 
87  fracrefa(igc) = sumf1
88  fracrefb(igc) = sumf2
89 ENDDO
90 
91 DO igc = 1,ngc(11)
92 
93 
94  frefa(ngs(10)+igc,1) = fracrefa(igc)
95  frefb(ngs(10)+igc,1) = fracrefb(igc)
96 ENDDO
97 
98 
99 ! +--Force the equivalence: BEGIN (HG, 13-DEC-2003)
100 ! + ============================
101 
102 ! +--ABSA
103 ! + ^^^^
104  jt = 0
105  jp = 1
106  igc = 1
107  DO neq=1,ng11
108  DO meq=1,65
109  jt = jt + 1
110  IF ( jt == 5 + 1 ) THEN
111  jt = 1
112  jp = jp + 1
113  IF ( jp == 13 + 1 ) THEN
114  jp = 1
115  igc= igc + 1
116  END IF
117  END IF
118  absa(meq,neq) = ka(jt,jp,igc)
119  ENDDO
120  ENDDO
121 
122 ! +--ABSB
123 ! + ^^^^
124  jt = 0
125  jp = 13
126  igc = 1
127  DO neq=1,ng11
128  DO meq=1,235
129  jt = jt + 1
130  IF ( jt == 5 + 1 ) THEN
131  jt = 1
132  jp = jp + 1
133  IF ( jp == 59 + 1 ) THEN
134  jp = 13
135  igc= igc + 1
136  END IF
137  END IF
138  absb(meq,neq) = kb(jt,jp,igc)
139  ENDDO
140  ENDDO
141 
142 ! +--Force the equivalence: END (HG, 13-DEC-2003)
143 ! + ==========================
144 
145 
146 RETURN
147 END SUBROUTINE rrtm_cmbgb11
subroutine rrtm_cmbgb11
Definition: rrtm_cmbgb11.F90:3
integer(kind=jpim), dimension(jpgpt) ngb
Definition: yoerrtftr.F90:18
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
integer(kind=jpim), dimension(jpg *jpband) ngm
Definition: yoerrtftr.F90:20
real(kind=jprb), dimension(jpg) wt
Definition: yoerrtftr.F90:21
real(kind=jprb), dimension(5, 13, no11) kao
Definition: yoerrto11.F90:19
integer(kind=jpim), parameter jpgpt
Definition: parrrtm.F90:21
real(kind=jprb), dimension(jpg *jpband) rwgt
Definition: yoerrtrwt.F90:19
real(kind=jprb), dimension(jpgpt, 6) frefbdf
Definition: yoerrtrwt.F90:18
integer(kind=jpim), parameter jpband
Definition: parrrtm.F90:18
real(kind=jprb), dimension(jpgpt, 6) frefb
Definition: yoerrtrwt.F90:16
real(kind=jprb), dimension(no11) fracrefbo
Definition: yoerrto11.F90:17
real(kind=jprb), dimension(5, 13, ng11) ka
Definition: yoerrta11.F90:19
real(kind=jprb), dimension(ng11) fracrefa
Definition: yoerrta11.F90:16
real(kind=jprb), dimension(235, ng11) absb
Definition: yoerrta11.F90:20
real(kind=jprb), dimension(no11) fracrefao
Definition: yoerrto11.F90:16
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
real(kind=jprb), dimension(10, no11) selfrefo
Definition: yoerrto11.F90:21
real(kind=jprb), dimension(65, ng11) absa
Definition: yoerrta11.F90:19
real(kind=jprb), dimension(5, 13:59, ng11) kb
Definition: yoerrta11.F90:20
real(kind=jprb), dimension(jpgpt, 13) frefadf
Definition: yoerrtrwt.F90:17
real(kind=jprb), dimension(ng11) fracrefb
Definition: yoerrta11.F90:17
integer(kind=jpim), parameter jpg
Definition: parrrtm.F90:17
integer(kind=jpim), parameter ng11
Definition: yoerrta11.F90:14
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, 13:59, no11) kbo
Definition: yoerrto11.F90:20
real(kind=jprb), dimension(10, ng11) selfref
Definition: yoerrta11.F90:21
integer(kind=jpim), parameter jpxsec
Definition: parrrtm.F90:19