LMDZ
srtm_cmbgb29.F90
Go to the documentation of this file.
1 SUBROUTINE srtm_cmbgb29
2 
3 ! BAND 29: 820-2600 cm-1 (low - H2O; high - CO2)
4 !-----------------------------------------------------------------------
5 
6 USE parkind1 ,ONLY : jpim , jprb
7 USE yomhook ,ONLY : lhook, dr_hook
8 
9 USE yoesrtwn , ONLY : ngc, ngs, ngn, rwgt
10 USE yoesrta29, ONLY : ka, kb, selfref, forref, sfluxref, &
11  & absh2o, absco2, &
13  & absh2oc, absco2c
14 
15 IMPLICIT NONE
16 
17 ! Local variables
18 INTEGER(KIND=JPIM) :: JT, JP, IGC, IPR, IPRSM
19 REAL(KIND=JPRB) :: ZSUMK, ZSUMF1, ZSUMF2, ZSUMF3
20 
21 REAL(KIND=JPRB) :: ZHOOK_HANDLE
22 ! ------------------------------------------------------------------
23 IF (lhook) CALL dr_hook('SRTM_CMBGB29',0,zhook_handle)
24 
25 DO jt = 1,5
26  DO jp = 1,13
27  iprsm = 0
28  DO igc = 1,ngc(14)
29  zsumk = 0.
30  DO ipr = 1, ngn(ngs(13)+igc)
31  iprsm = iprsm + 1
32  zsumk = zsumk + ka(jt,jp,iprsm)*rwgt(iprsm+208)
33  ENDDO
34  kac(jt,jp,igc) = zsumk
35  ENDDO
36  ENDDO
37 
38  DO jp = 13,59
39  iprsm = 0
40  DO igc = 1,ngc(14)
41  zsumk = 0.
42  DO ipr = 1, ngn(ngs(13)+igc)
43  iprsm = iprsm + 1
44  zsumk = zsumk + kb(jt,jp,iprsm)*rwgt(iprsm+208)
45  ENDDO
46  kbc(jt,jp,igc) = zsumk
47  ENDDO
48  ENDDO
49 ENDDO
50 
51 DO jt = 1,10
52  iprsm = 0
53  DO igc = 1,ngc(14)
54  zsumk = 0.
55  DO ipr = 1, ngn(ngs(13)+igc)
56  iprsm = iprsm + 1
57  zsumk = zsumk + selfref(jt,iprsm)*rwgt(iprsm+208)
58  ENDDO
59  selfrefc(jt,igc) = zsumk
60  ENDDO
61 ENDDO
62 
63 DO jt = 1,4
64  iprsm = 0
65  DO igc = 1,ngc(14)
66  zsumk = 0.
67  DO ipr = 1, ngn(ngs(13)+igc)
68  iprsm = iprsm + 1
69  zsumk = zsumk + forref(jt,iprsm)*rwgt(iprsm+208)
70  ENDDO
71  forrefc(jt,igc) = zsumk
72  ENDDO
73 ENDDO
74 
75 iprsm = 0
76 DO igc = 1,ngc(14)
77  zsumf1 = 0.
78  zsumf2 = 0.
79  zsumf3 = 0.
80  DO ipr = 1, ngn(ngs(13)+igc)
81  iprsm = iprsm + 1
82  zsumf1 = zsumf1 + sfluxref(iprsm)
83  zsumf2 = zsumf2 + absco2(iprsm)*rwgt(iprsm+208)
84  zsumf3 = zsumf3 + absh2o(iprsm)*rwgt(iprsm+208)
85  ENDDO
86  sfluxrefc(igc) = zsumf1
87  absco2c(igc) = zsumf2
88  absh2oc(igc) = zsumf3
89 ENDDO
90 
91 ! -----------------------------------------------------------------
92 IF (lhook) CALL dr_hook('SRTM_CMBGB29',1,zhook_handle)
93 END SUBROUTINE srtm_cmbgb29
94 
real(kind=jprb), dimension(4, jpg) forref
Definition: yoesrta29.F90:18
real(kind=jprb), dimension(5, 13:59, ng29) kbc
Definition: yoesrta29.F90:24
integer(kind=jpim), dimension(14) ngs
Definition: yoesrtwn.F90:25
integer(kind=jpim), dimension(112) ngn
Definition: yoesrtwn.F90:27
real(kind=jprb), dimension(5, 13, jpg) ka
Definition: yoesrta29.F90:16
real(kind=jprb), dimension(224) rwgt
Definition: yoesrtwn.F90:32
subroutine srtm_cmbgb29
Definition: srtm_cmbgb29.F90:2
real(kind=jprb), dimension(ng29) sfluxrefc
Definition: yoesrta29.F90:26
real(kind=jprb), dimension(10, ng29) selfrefc
Definition: yoesrta29.F90:25
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(jpg) sfluxref
Definition: yoesrta29.F90:19
real(kind=jprb), dimension(jpg) absh2o
Definition: yoesrta29.F90:19
real(kind=jprb), dimension(ng29) absco2c
Definition: yoesrta29.F90:26
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(5, 13, ng29) kac
Definition: yoesrta29.F90:23
real(kind=jprb), dimension(5, 13:59, jpg) kb
Definition: yoesrta29.F90:17
real(kind=jprb), dimension(10, jpg) selfref
Definition: yoesrta29.F90:18
real(kind=jprb), dimension(4, ng29) forrefc
Definition: yoesrta29.F90:25
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(ng29) absh2oc
Definition: yoesrta29.F90:26
real(kind=jprb), dimension(jpg) absco2
Definition: yoesrta29.F90:19
integer(kind=jpim), dimension(14) ngc
Definition: yoesrtwn.F90:25