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