LMDZ
rrtm_cmbgb6.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb6
3 !***************************************************************************
4 
5 ! BAND 6: 820-980 cm-1 (low - H2O; high - nothing)
6 !***************************************************************************
7 
8 ! Parameters
9 #include "tsmbkind.h"
10 
11 USE parrrtm , ONLY : jpband ,jpg ,jpxsec ,jpgpt
12 
13 USE yoerrto6 , ONLY : kao ,selfrefo ,fracrefao ,&
15 USE yoerrta6 , ONLY : ka ,selfref ,fracrefa ,&
16  & absco2 ,cfc11adj ,cfc12 ,&
17  & absa ,ng6
18 USE yoerrtrwt, ONLY : frefa ,frefb ,frefadf ,frefbdf ,rwgt
19 USE yoerrtftr, ONLY : ngc ,ngs ,ngn ,ngb ,ngm , wt
20 
21 IMPLICIT NONE
22 
23 ! LOCAL INTEGER SCALARS
24 integer_m :: igc, ipr, iprsm, jn, jp, jt
25 integer_m :: meq, neq ! To force equivalence, HG, 13-DEC-2003
26 
27 ! LOCAL REAL SCALARS
28 real_b :: sumf, sumk, sumk1, sumk2, sumk3
29 
30 
31 DO jt = 1,5
32  DO jp = 1,13
33  iprsm = 0
34  DO igc = 1,ngc(6)
35  sumk = _zero_
36  DO ipr = 1, ngn(ngs(5)+igc)
37  iprsm = iprsm + 1
38 
39  sumk = sumk + kao(jt,jp,iprsm)*rwgt(iprsm+80)
40  ENDDO
41 
42  ka(jt,jp,igc) = sumk
43  ENDDO
44  ENDDO
45 ENDDO
46 
47 DO jt = 1,10
48  iprsm = 0
49  DO igc = 1,ngc(6)
50  sumk = _zero_
51  DO ipr = 1, ngn(ngs(5)+igc)
52  iprsm = iprsm + 1
53 
54  sumk = sumk + selfrefo(jt,iprsm)*rwgt(iprsm+80)
55  ENDDO
56 
57  selfref(jt,igc) = sumk
58  ENDDO
59 ENDDO
60 
61 iprsm = 0
62 DO igc = 1,ngc(6)
63  sumf = _zero_
64  sumk1= _zero_
65  sumk2= _zero_
66  sumk3= _zero_
67  DO ipr = 1, ngn(ngs(5)+igc)
68  iprsm = iprsm + 1
69 
70 
71 
72 
73  sumf = sumf + fracrefao(iprsm)
74  sumk1= sumk1+ absco2o(iprsm)*rwgt(iprsm+80)
75  sumk2= sumk2+ cfc11adjo(iprsm)*rwgt(iprsm+80)
76  sumk3= sumk3+ cfc12o(iprsm)*rwgt(iprsm+80)
77  ENDDO
78 
79 
80 
81 
82  fracrefa(igc) = sumf
83  absco2(igc) = sumk1
84  cfc11adj(igc) = sumk2
85  cfc12(igc) = sumk3
86 ENDDO
87 
88 DO igc = 1,ngc(6)
89 
90 
91  frefa(ngs(5)+igc,1) = fracrefa(igc)
92  frefb(ngs(5)+igc,1) = fracrefa(igc)
93 ENDDO
94 
95 
96 ! +--Force the equivalence: BEGIN (HG, 13-DEC-2003)
97 ! + ============================
98 
99 ! +--ABSA
100 ! + ^^^^
101  jn = 0
102  jt = 1
103  jp = 1
104  DO neq=1,ng6
105  DO meq=1,65
106  jn = jn + 1
107  IF ( jn == 5 + 1) THEN
108  jn = 1
109  jt = jt + 1
110  IF ( jt == 13 + 1 ) THEN
111  jt = 1
112  jp = jp + 1
113  END IF
114  END IF
115  absa(meq,neq) = ka(jn,jt,jp)
116  ENDDO
117  ENDDO
118 
119 ! +--Force the equivalence: END (HG, 13-DEC-2003)
120 ! + ==========================
121 
122 
123 RETURN
124 END SUBROUTINE rrtm_cmbgb6
integer(kind=jpim), dimension(jpgpt) ngb
Definition: yoerrtftr.F90:18
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
real(kind=jprb), dimension(no6) cfc11adjo
Definition: yoerrto6.F90:18
real(kind=jprb), dimension(ng6) cfc11adj
Definition: yoerrta6.F90:18
integer(kind=jpim), dimension(jpg *jpband) ngm
Definition: yoerrtftr.F90:20
real(kind=jprb), dimension(5, 13, no6) kao
Definition: yoerrto6.F90:22
real(kind=jprb), dimension(ng6) cfc12
Definition: yoerrta6.F90:19
real(kind=jprb), dimension(10, no6) selfrefo
Definition: yoerrto6.F90:23
real(kind=jprb), dimension(jpg) wt
Definition: yoerrtftr.F90:21
real(kind=jprb), dimension(5, 13, ng6) ka
Definition: yoerrta6.F90:22
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(no6) cfc12o
Definition: yoerrto6.F90:19
subroutine rrtm_cmbgb6
Definition: rrtm_cmbgb6.F90:3
real(kind=jprb), dimension(10, ng6) selfref
Definition: yoerrta6.F90:23
real(kind=jprb), dimension(no6) fracrefao
Definition: yoerrto6.F90:16
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
real(kind=jprb), dimension(65, ng6) absa
Definition: yoerrta6.F90:22
real(kind=jprb), dimension(ng6) fracrefa
Definition: yoerrta6.F90:16
integer(kind=jpim), parameter ng6
Definition: yoerrta6.F90:14
real(kind=jprb), dimension(ng6) absco2
Definition: yoerrta6.F90:20
real(kind=jprb), dimension(jpgpt, 13) frefadf
Definition: yoerrtrwt.F90:17
integer(kind=jpim), parameter jpg
Definition: parrrtm.F90:17
integer(kind=jpim), dimension(jpband) ngc
Definition: yoerrtftr.F90:15
integer(kind=jpim), dimension(jpband) ngs
Definition: yoerrtftr.F90:16
integer(kind=jpim), parameter jpxsec
Definition: parrrtm.F90:19
real(kind=jprb), dimension(no6) absco2o
Definition: yoerrto6.F90:20