LMDZ
rrtm_cmbgb14.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb14
3 !***************************************************************************
4 
5 ! BAND 14: 2250-2380 cm-1 (low - CO2; high - CO2)
6 !***************************************************************************
7 
8 ! Parameters
9 USE parkind1 ,ONLY : jpim ,jprb
10 USE yomhook ,ONLY : lhook, dr_hook
11 
13 USE yoerrta14, ONLY : ka ,kb ,selfref ,fracrefa ,fracrefb
14 USE yoerrtrwt, ONLY : frefa ,frefb ,rwgt
15 USE yoerrtftr, ONLY : ngc ,ngs ,ngn
16 
17 IMPLICIT NONE
18 
19 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
20 
21 REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK
22 REAL(KIND=JPRB) :: ZHOOK_HANDLE
23 
24 IF (lhook) CALL dr_hook('RRTM_CMBGB14',0,zhook_handle)
25 DO jt = 1,5
26  DO jp = 1,13
27  iprsm = 0
28  DO igc = 1,ngc(14)
29  z_sumk = 0.0_jprb
30  DO ipr = 1, ngn(ngs(13)+igc)
31  iprsm = iprsm + 1
32 
33  z_sumk = z_sumk + kao(jt,jp,iprsm)*rwgt(iprsm+208)
34  ENDDO
35 
36  ka(jt,jp,igc) = z_sumk
37  ENDDO
38  ENDDO
39 ENDDO
40 
41 DO jt = 1,5
42  DO jp = 13,59
43  iprsm = 0
44  DO igc = 1,ngc(14)
45  z_sumk = 0.0_jprb
46  DO ipr = 1, ngn(ngs(13)+igc)
47  iprsm = iprsm + 1
48 
49  z_sumk = z_sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+208)
50  ENDDO
51 
52  kb(jt,jp,igc) = z_sumk
53  ENDDO
54  ENDDO
55 ENDDO
56 
57 DO jt = 1,10
58  iprsm = 0
59  DO igc = 1,ngc(14)
60  z_sumk = 0.0_jprb
61  DO ipr = 1, ngn(ngs(13)+igc)
62  iprsm = iprsm + 1
63 
64  z_sumk = z_sumk + selfrefo(jt,iprsm)*rwgt(iprsm+208)
65  ENDDO
66 
67  selfref(jt,igc) = z_sumk
68  ENDDO
69 ENDDO
70 
71 iprsm = 0
72 DO igc = 1,ngc(14)
73  z_sumf1= 0.0_jprb
74  z_sumf2= 0.0_jprb
75  DO ipr = 1, ngn(ngs(13)+igc)
76  iprsm = iprsm + 1
77 
78  z_sumf1= z_sumf1+ fracrefao(iprsm)
79  z_sumf2= z_sumf2+ fracrefbo(iprsm)
80  ENDDO
81 
82  fracrefa(igc) = z_sumf1
83  fracrefb(igc) = z_sumf2
84 ENDDO
85 
86 DO igc = 1,ngc(14)
87 
88  frefa(ngs(13)+igc,1) = fracrefa(igc)
89  frefb(ngs(13)+igc,1) = fracrefb(igc)
90 ENDDO
91 
92 IF (lhook) CALL dr_hook('RRTM_CMBGB14',1,zhook_handle)
93 END SUBROUTINE rrtm_cmbgb14
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
real(kind=jprb), dimension(ng14) fracrefb
Definition: yoerrta14.F90:17
real(kind=jprb), dimension(10, no14) selfrefo
Definition: yoerrto14.F90:21
subroutine rrtm_cmbgb14
Definition: rrtm_cmbgb14.F90:3
real(kind=jprb), dimension(5, 13:59, ng14) kb
Definition: yoerrta14.F90:20
real(kind=jprb), dimension(10, ng14) selfref
Definition: yoerrta14.F90:21
real(kind=jprb), dimension(jpg *jpband) rwgt
Definition: yoerrtrwt.F90:19
real(kind=jprb), dimension(no14) fracrefbo
Definition: yoerrto14.F90:17
real(kind=jprb), dimension(jpgpt, 6) frefb
Definition: yoerrtrwt.F90:16
real(kind=jprb), dimension(ng14) fracrefa
Definition: yoerrta14.F90:16
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(5, 13:59, no14) kbo
Definition: yoerrto14.F90:20
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(5, 13, ng14) ka
Definition: yoerrta14.F90:19
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(5, 13, no14) kao
Definition: yoerrto14.F90:19
integer(kind=jpim), dimension(jpband) ngc
Definition: yoerrtftr.F90:15
integer(kind=jpim), dimension(jpband) ngs
Definition: yoerrtftr.F90:16
real(kind=jprb), dimension(no14) fracrefao
Definition: yoerrto14.F90:16