LMDZ
srtm_cmbgb24.F90
Go to the documentation of this file.
1 SUBROUTINE srtm_cmbgb24
2 
3 ! BAND 24: 12850-16000 cm-1 (low - H2O,O2; high - O2)
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 yoesrta24, ONLY : ka, kb, selfref, forref, sfluxref, &
11  & abso3a, abso3b, rayla, raylb, &
14 
15 IMPLICIT NONE
16 
17 ! Local variables
18 INTEGER(KIND=JPIM) :: JN, 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_CMBGB24',0,zhook_handle)
24 
25 DO jn = 1,9
26  DO jt = 1,5
27  DO jp = 1,13
28  iprsm = 0
29  DO igc = 1,ngc(9)
30  zsumk = 0.
31  DO ipr = 1, ngn(ngs(8)+igc)
32  iprsm = iprsm + 1
33  zsumk = zsumk + ka(jn,jt,jp,iprsm)*rwgt(iprsm+128)
34  ENDDO
35  kac(jn,jt,jp,igc) = zsumk
36  ENDDO
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(9)
45  zsumk = 0.
46  DO ipr = 1, ngn(ngs(8)+igc)
47  iprsm = iprsm + 1
48  zsumk = zsumk + kb(jt,jp,iprsm)*rwgt(iprsm+128)
49  ENDDO
50  kbc(jt,jp,igc) = zsumk
51  ENDDO
52  ENDDO
53 ENDDO
54 
55 DO jt = 1,10
56  iprsm = 0
57  DO igc = 1,ngc(9)
58  zsumk = 0.
59  DO ipr = 1, ngn(ngs(8)+igc)
60  iprsm = iprsm + 1
61  zsumk = zsumk + selfref(jt,iprsm)*rwgt(iprsm+128)
62  ENDDO
63  selfrefc(jt,igc) = zsumk
64  ENDDO
65 ENDDO
66 
67 DO jt = 1,3
68  iprsm = 0
69  DO igc = 1,ngc(9)
70  zsumk = 0.
71  DO ipr = 1, ngn(ngs(8)+igc)
72  iprsm = iprsm + 1
73  zsumk = zsumk + forref(jt,iprsm)*rwgt(iprsm+128)
74  ENDDO
75  forrefc(jt,igc) = zsumk
76  ENDDO
77 ENDDO
78 
79 iprsm = 0
80 DO igc = 1,ngc(9)
81  zsumf1 = 0.
82  zsumf2 = 0.
83  zsumf3 = 0.
84  DO ipr = 1, ngn(ngs(8)+igc)
85  iprsm = iprsm + 1
86  zsumf1 = zsumf1 + raylb(iprsm)*rwgt(iprsm+128)
87  zsumf2 = zsumf2 + abso3a(iprsm)*rwgt(iprsm+128)
88  zsumf3 = zsumf3 + abso3b(iprsm)*rwgt(iprsm+128)
89  ENDDO
90  raylbc(igc) = zsumf1
91  abso3ac(igc) = zsumf2
92  abso3bc(igc) = zsumf3
93 ENDDO
94 
95 DO jp = 1,9
96  iprsm = 0
97  DO igc = 1,ngc(9)
98  zsumf1 = 0.
99  zsumf2 = 0.
100  DO ipr = 1, ngn(ngs(8)+igc)
101  iprsm = iprsm + 1
102  zsumf1 = zsumf1 + sfluxref(iprsm,jp)
103  zsumf2 = zsumf2 + rayla(iprsm,jp)*rwgt(iprsm+128)
104  ENDDO
105  sfluxrefc(igc,jp) = zsumf1
106  raylac(igc,jp) = zsumf2
107  ENDDO
108 ENDDO
109 
110 ! -----------------------------------------------------------------
111 IF (lhook) CALL dr_hook('SRTM_CMBGB24',1,zhook_handle)
112 END SUBROUTINE srtm_cmbgb24
113 
real(kind=jprb), dimension(5, 13:59, ng24) kbc
Definition: yoesrta24.F90:25
real(kind=jprb), dimension(10, jpg) selfref
Definition: yoesrta24.F90:18
integer(kind=jpim), dimension(14) ngs
Definition: yoesrtwn.F90:25
integer(kind=jpim), dimension(112) ngn
Definition: yoesrtwn.F90:27
real(kind=jprb), dimension(224) rwgt
Definition: yoesrtwn.F90:32
real(kind=jprb), dimension(ng24, 9) raylac
Definition: yoesrta24.F90:28
subroutine srtm_cmbgb24
Definition: srtm_cmbgb24.F90:2
real(kind=jprb), dimension(ng24) abso3ac
Definition: yoesrta24.F90:28
real(kind=jprb), dimension(3, ng24) forrefc
Definition: yoesrta24.F90:26
real(kind=jprb), dimension(ng24) raylbc
Definition: yoesrta24.F90:28
real(kind=jprb), dimension(jpg, 9) sfluxref
Definition: yoesrta24.F90:19
real(kind=jprb), dimension(10, ng24) selfrefc
Definition: yoesrta24.F90:26
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(jpg, 9) rayla
Definition: yoesrta24.F90:20
real(kind=jprb), dimension(jpg) abso3a
Definition: yoesrta24.F90:20
real(kind=jprb), dimension(9, 5, 13, jpg) ka
Definition: yoesrta24.F90:16
real(kind=jprb), dimension(5, 13:59, jpg) kb
Definition: yoesrta24.F90:17
real(kind=jprb), dimension(jpg) raylb
Definition: yoesrta24.F90:20
logical lhook
Definition: yomhook.F90:12
real(kind=jprb), dimension(ng24) abso3bc
Definition: yoesrta24.F90:28
real(kind=jprb), dimension(jpg) abso3b
Definition: yoesrta24.F90:20
real(kind=jprb), dimension(ng24, 9) sfluxrefc
Definition: yoesrta24.F90:27
real(kind=jprb), dimension(9, 5, 13, ng24) kac
Definition: yoesrta24.F90:24
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(3, jpg) forref
Definition: yoesrta24.F90:18
integer(kind=jpim), dimension(14) ngc
Definition: yoesrtwn.F90:25