LMDZ
rrtm_cmbgb16.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb16
3 !***************************************************************************
4 
5 ! BAND 16: 2600-3000 cm-1 (low - H2O,CH4; high - nothing)
6 !***************************************************************************
7 
8 ! Parameters
9 USE parkind1 ,ONLY : jpim ,jprb
10 USE yomhook ,ONLY : lhook, dr_hook
11 
12 USE yoerrto16, ONLY : kao ,selfrefo ,fracrefao
13 USE yoerrta16, ONLY : ka ,selfref ,fracrefa
14 USE yoerrtrwt, ONLY : frefa ,frefadf ,rwgt
15 USE yoerrtftr, ONLY : ngc ,ngs ,ngn
16 
17 IMPLICIT NONE
18 
19 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
20 
21 REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
22 REAL(KIND=JPRB) :: ZHOOK_HANDLE
23 
24 IF (lhook) CALL dr_hook('RRTM_CMBGB16',0,zhook_handle)
25 DO jn = 1,9
26  DO jt = 1,5
27  DO jp = 1,13
28  iprsm = 0
29  DO igc = 1,ngc(16)
30  z_sumk = 0.0_jprb
31  DO ipr = 1, ngn(ngs(15)+igc)
32  iprsm = iprsm + 1
33 
34  z_sumk = z_sumk + kao(jn,jt,jp,iprsm)*rwgt(iprsm+240)
35  ENDDO
36 
37  ka(jn,jt,jp,igc) = z_sumk
38  ENDDO
39  ENDDO
40  ENDDO
41 ENDDO
42 
43 DO jt = 1,10
44  iprsm = 0
45  DO igc = 1,ngc(16)
46  z_sumk = 0.0_jprb
47  DO ipr = 1, ngn(ngs(15)+igc)
48  iprsm = iprsm + 1
49 
50  z_sumk = z_sumk + selfrefo(jt,iprsm)*rwgt(iprsm+240)
51  ENDDO
52 
53  selfref(jt,igc) = z_sumk
54  ENDDO
55 ENDDO
56 
57 DO jp = 1,9
58  iprsm = 0
59  DO igc = 1,ngc(16)
60  z_sumf = 0.0_jprb
61  DO ipr = 1, ngn(ngs(15)+igc)
62  iprsm = iprsm + 1
63 
64  z_sumf = z_sumf + fracrefao(iprsm,jp)
65  ENDDO
66 
67  fracrefa(igc,jp) = z_sumf
68  ENDDO
69 ENDDO
70 
71 DO jp = 1,9
72  DO igc = 1,ngc(16)
73 
74  frefa(ngs(15)+igc,jp) = fracrefa(igc,jp)
75  ENDDO
76 ENDDO
77 
78 DO jp = 1,8
79  DO igc = 1,ngc(16)
80 
81  frefadf(ngs(15)+igc,jp) = fracrefa(igc,jp+1) -fracrefa(igc,jp)
82  ENDDO
83 ENDDO
84 
85 IF (lhook) CALL dr_hook('RRTM_CMBGB16',1,zhook_handle)
86 END SUBROUTINE rrtm_cmbgb16
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
subroutine rrtm_cmbgb16
Definition: rrtm_cmbgb16.F90:3
real(kind=jprb), dimension(jpg *jpband) rwgt
Definition: yoerrtrwt.F90:19
real(kind=jprb), dimension(no16, 9) fracrefao
Definition: yoerrto16.F90:16
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(ng16, 9) fracrefa
Definition: yoerrta16.F90:16
real(kind=jprb), dimension(10, no16) selfrefo
Definition: yoerrto16.F90:19
real(kind=jprb), dimension(9, 5, 13, ng16) ka
Definition: yoerrta16.F90:18
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(10, ng16) selfref
Definition: yoerrta16.F90:19
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
integer(kind=jpim), dimension(jpband) ngc
Definition: yoerrtftr.F90:15
integer(kind=jpim), dimension(jpband) ngs
Definition: yoerrtftr.F90:16
real(kind=jprb), dimension(9, 5, 13, no16) kao
Definition: yoerrto16.F90:18