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 USE parkind1 ,ONLY : jpim ,jprb
10 USE yomhook ,ONLY : lhook, dr_hook
11 
12 USE yoerrto6 , ONLY : kao ,selfrefo ,fracrefao ,&
14 USE yoerrta6 , ONLY : ka ,selfref ,fracrefa ,&
15  & absco2 ,cfc11adj ,cfc12
16 USE yoerrtrwt, ONLY : frefa ,frefb ,rwgt
17 USE yoerrtftr, ONLY : ngc ,ngs ,ngn
18 
19 IMPLICIT NONE
20 
21 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
22 
23 REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK, Z_SUMK1, Z_SUMK2, Z_SUMK3
24 REAL(KIND=JPRB) :: ZHOOK_HANDLE
25 
26 IF (lhook) CALL dr_hook('RRTM_CMBGB6',0,zhook_handle)
27 DO jt = 1,5
28  DO jp = 1,13
29  iprsm = 0
30  DO igc = 1,ngc(6)
31  z_sumk = 0.0_jprb
32  DO ipr = 1, ngn(ngs(5)+igc)
33  iprsm = iprsm + 1
34 
35  z_sumk = z_sumk + kao(jt,jp,iprsm)*rwgt(iprsm+80)
36  ENDDO
37 
38  ka(jt,jp,igc) = z_sumk
39  ENDDO
40  ENDDO
41 ENDDO
42 
43 DO jt = 1,10
44  iprsm = 0
45  DO igc = 1,ngc(6)
46  z_sumk = 0.0_jprb
47  DO ipr = 1, ngn(ngs(5)+igc)
48  iprsm = iprsm + 1
49 
50  z_sumk = z_sumk + selfrefo(jt,iprsm)*rwgt(iprsm+80)
51  ENDDO
52 
53  selfref(jt,igc) = z_sumk
54  ENDDO
55 ENDDO
56 
57 iprsm = 0
58 DO igc = 1,ngc(6)
59  z_sumf = 0.0_jprb
60  z_sumk1= 0.0_jprb
61  z_sumk2= 0.0_jprb
62  z_sumk3= 0.0_jprb
63  DO ipr = 1, ngn(ngs(5)+igc)
64  iprsm = iprsm + 1
65 
66  z_sumf = z_sumf + fracrefao(iprsm)
67  z_sumk1= z_sumk1+ absco2o(iprsm)*rwgt(iprsm+80)
68  z_sumk2= z_sumk2+ cfc11adjo(iprsm)*rwgt(iprsm+80)
69  z_sumk3= z_sumk3+ cfc12o(iprsm)*rwgt(iprsm+80)
70  ENDDO
71 
72  fracrefa(igc) = z_sumf
73  absco2(igc) = z_sumk1
74  cfc11adj(igc) = z_sumk2
75  cfc12(igc) = z_sumk3
76 ENDDO
77 
78 DO igc = 1,ngc(6)
79 
80  frefa(ngs(5)+igc,1) = fracrefa(igc)
81  frefb(ngs(5)+igc,1) = fracrefa(igc)
82 ENDDO
83 
84 IF (lhook) CALL dr_hook('RRTM_CMBGB6',1,zhook_handle)
85 END SUBROUTINE rrtm_cmbgb6
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
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(5, 13, ng6) ka
Definition: yoerrta6.F90:22
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(no6) cfc12o
Definition: yoerrto6.F90:19
integer, parameter jprb
Definition: parkind1.F90:31
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
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(ng6) fracrefa
Definition: yoerrta6.F90:16
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
real(kind=jprb), dimension(ng6) absco2
Definition: yoerrta6.F90:20
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(no6) absco2o
Definition: yoerrto6.F90:20