LMDZ
rrtm_cmbgb8.F90
Go to the documentation of this file.
1 !***************************************************************************
2 SUBROUTINE rrtm_cmbgb8
3 !***************************************************************************
4 
5 ! BAND 8: 1080-1180 cm-1 (low (i.e.>~300mb) - H2O; high - O3)
6 !***************************************************************************
7 
8 ! Parameters
9 USE parkind1 ,ONLY : jpim ,jprb
10 USE yomhook ,ONLY : lhook, dr_hook
11 
12 USE yoerrto8 , ONLY : kao ,kbo ,selfrefo ,fracrefao ,&
14  & cfc12o , cfc22adjo
15 USE yoerrta8 , ONLY : ka ,kb ,selfref ,fracrefa ,&
17  & cfc12 , cfc22adj
18 USE yoerrtrwt, ONLY : frefa ,frefb ,rwgt
19 USE yoerrtftr, ONLY : ngc ,ngs ,ngn
20 
21 IMPLICIT NONE
22 
23 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
24 
25 REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK, Z_SUMK1, Z_SUMK2, Z_SUMK3, Z_SUMK4, Z_SUMK5, Z_SUMK6
26 REAL(KIND=JPRB) :: ZHOOK_HANDLE
27 
28 IF (lhook) CALL dr_hook('RRTM_CMBGB8',0,zhook_handle)
29 DO jt = 1,5
30  DO jp = 1,7
31  iprsm = 0
32  DO igc = 1,ngc(8)
33  z_sumk = 0.0_jprb
34  DO ipr = 1, ngn(ngs(7)+igc)
35  iprsm = iprsm + 1
36  z_sumk = z_sumk + kao(jt,jp,iprsm)*rwgt(iprsm+112)
37  ENDDO
38  ka(jt,jp,igc) = z_sumk
39  ENDDO
40  ENDDO
41 ENDDO
42 DO jt = 1,5
43  DO jp = 7,59
44  iprsm = 0
45  DO igc = 1,ngc(8)
46  z_sumk = 0.0_jprb
47  DO ipr = 1, ngn(ngs(7)+igc)
48  iprsm = iprsm + 1
49  z_sumk = z_sumk + kbo(jt,jp,iprsm)*rwgt(iprsm+112)
50  ENDDO
51  kb(jt,jp,igc) = z_sumk
52  ENDDO
53  ENDDO
54 ENDDO
55 
56 DO jt = 1,10
57  iprsm = 0
58  DO igc = 1,ngc(8)
59  z_sumk = 0.0_jprb
60  DO ipr = 1, ngn(ngs(7)+igc)
61  iprsm = iprsm + 1
62  z_sumk = z_sumk + selfrefo(jt,iprsm)*rwgt(iprsm+112)
63  ENDDO
64  selfref(jt,igc) = z_sumk
65  ENDDO
66 ENDDO
67 
68 iprsm = 0
69 DO igc = 1,ngc(8)
70  z_sumf1= 0.0_jprb
71  z_sumf2= 0.0_jprb
72  z_sumk1= 0.0_jprb
73  z_sumk2= 0.0_jprb
74  z_sumk3= 0.0_jprb
75  z_sumk4= 0.0_jprb
76  z_sumk5= 0.0_jprb
77  z_sumk6= 0.0_jprb
78  DO ipr = 1, ngn(ngs(7)+igc)
79  iprsm = iprsm + 1
80  z_sumf1= z_sumf1+ fracrefao(iprsm)
81  z_sumf2= z_sumf2+ fracrefbo(iprsm)
82  z_sumk1= z_sumk1+ absco2ao(iprsm)*rwgt(iprsm+112)
83  z_sumk2= z_sumk2+ absco2bo(iprsm)*rwgt(iprsm+112)
84  z_sumk3= z_sumk3+ absn2oao(iprsm)*rwgt(iprsm+112)
85  z_sumk4= z_sumk4+ absn2obo(iprsm)*rwgt(iprsm+112)
86  z_sumk5= z_sumk5+ cfc12o(iprsm)*rwgt(iprsm+112)
87  z_sumk6= z_sumk6+ cfc22adjo(iprsm)*rwgt(iprsm+112)
88  ENDDO
89  fracrefa(igc) = z_sumf1
90  fracrefb(igc) = z_sumf2
91  absco2a(igc) = z_sumk1
92  absco2b(igc) = z_sumk2
93  absn2oa(igc) = z_sumk3
94  absn2ob(igc) = z_sumk4
95  cfc12(igc) = z_sumk5
96  cfc22adj(igc) = z_sumk6
97 ENDDO
98 
99 DO igc = 1,ngc(8)
100  frefa(ngs(7)+igc,1) = fracrefa(igc)
101  frefb(ngs(7)+igc,1) = fracrefb(igc)
102 ENDDO
103 
104 IF (lhook) CALL dr_hook('RRTM_CMBGB8',1,zhook_handle)
105 END SUBROUTINE rrtm_cmbgb8
real(kind=jprb), dimension(no8) absn2obo
Definition: yoerrto8.F90:23
real(kind=jprb), dimension(jpgpt, 13) frefa
Definition: yoerrtrwt.F90:15
real(kind=jprb), dimension(ng8) cfc22adj
Definition: yoerrta8.F90:19
real(kind=jprb), dimension(no8) fracrefao
Definition: yoerrto8.F90:16
real(kind=jprb), dimension(ng8) absn2oa
Definition: yoerrta8.F90:22
real(kind=jprb), dimension(no8) absco2bo
Definition: yoerrto8.F90:21
real(kind=jprb), dimension(no8) cfc12o
Definition: yoerrto8.F90:18
real(kind=jprb), dimension(no8) absco2ao
Definition: yoerrto8.F90:20
subroutine rrtm_cmbgb8
Definition: rrtm_cmbgb8.F90:3
real(kind=jprb), dimension(5, 7, no8) kao
Definition: yoerrto8.F90:25
real(kind=jprb), dimension(jpg *jpband) rwgt
Definition: yoerrtrwt.F90:19
real(kind=jprb), dimension(jpgpt, 6) frefb
Definition: yoerrtrwt.F90:16
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(no8) fracrefbo
Definition: yoerrto8.F90:17
real(kind=jprb), dimension(5, 7:59, ng8) kb
Definition: yoerrta8.F90:29
real(kind=jprb), dimension(10, no8) selfrefo
Definition: yoerrto8.F90:27
real(kind=jprb), dimension(no8) cfc22adjo
Definition: yoerrto8.F90:19
real(kind=jprb), dimension(10, ng8) selfref
Definition: yoerrta8.F90:30
real(kind=jprb), dimension(ng8) fracrefb
Definition: yoerrta8.F90:17
real(kind=jprb), dimension(ng8) absco2b
Definition: yoerrta8.F90:21
integer(kind=jpim), dimension(jpgpt) ngn
Definition: yoerrtftr.F90:17
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(no8) absn2oao
Definition: yoerrto8.F90:22
real(kind=jprb), dimension(ng8) absco2a
Definition: yoerrta8.F90:20
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
real(kind=jprb), dimension(5, 7, ng8) ka
Definition: yoerrta8.F90:28
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(5, 7:59, no8) kbo
Definition: yoerrto8.F90:26
real(kind=jprb), dimension(ng8) absn2ob
Definition: yoerrta8.F90:23
integer(kind=jpim), dimension(jpband) ngc
Definition: yoerrtftr.F90:15
integer(kind=jpim), dimension(jpband) ngs
Definition: yoerrtftr.F90:16
real(kind=jprb), dimension(ng8) cfc12
Definition: yoerrta8.F90:18
real(kind=jprb), dimension(ng8) fracrefa
Definition: yoerrta8.F90:16