source: LMDZ6/trunk/libf/phylmdiso/rrtm/rrtm_cmbgb1.F90 @ 3927

Last change on this file since 3927 was 3927, checked in by Laurent Fairhead, 3 years ago

Initial import of the physics wih isotopes from Camille Risi
CR

File size: 2.4 KB
Line 
1!***************************************************************************
2SUBROUTINE RRTM_CMBGB1
3!***************************************************************************
4
5!  The subroutines CMBGB1->CMBGB16 input the absorption coefficient
6!  data for each band, which are defined for 16 g-points and 16 spectral
7!  bands. The data are combined with appropriate weighting following the
8!  g-point mapping arrays specified in RRTMINIT.  Plank fraction data
9!  in arrays FRACREFA and FRACREFB are combined without weighting.  All
10!  g-point reduced data are put into new arrays for use in RRTM.
11
12!  BAND 1:  10-250 cm-1 (low - H2O; high - H2O)
13!***************************************************************************
14
15! Parameters
16USE PARKIND1  ,ONLY : JPIM     ,JPRB
17USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
18
19USE YOERRTO1 , ONLY : KAO, KBO, SELFREFO, FORREFO, FRACREFAO,FRACREFBO
20USE YOERRTA1 , ONLY : KA , KB , SELFREF , FORREF , FRACREFA ,FRACREFB
21USE YOERRTRWT, ONLY : FREFA    ,FREFB    ,RWGT
22USE YOERRTFTR, ONLY : NGC      ,NGN     
23
24IMPLICIT NONE
25
26INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
27
28REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK
29REAL(KIND=JPRB) :: ZHOOK_HANDLE
30
31IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB1',0,ZHOOK_HANDLE)
32DO JT = 1,5
33  DO JP = 1,13
34    IPRSM = 0
35    DO IGC = 1,NGC(1)
36      Z_SUMK = 0.0_JPRB
37      DO IPR = 1, NGN(IGC)
38        IPRSM = IPRSM + 1
39
40        Z_SUMK = Z_SUMK + KAO(JT,JP,IPRSM)*RWGT(IPRSM)
41      ENDDO
42
43      KA(JT,JP,IGC) = Z_SUMK
44    ENDDO
45  ENDDO
46  DO JP = 13,59
47    IPRSM = 0
48    DO IGC = 1,NGC(1)
49      Z_SUMK = 0.0_JPRB
50      DO IPR = 1, NGN(IGC)
51        IPRSM = IPRSM + 1
52
53        Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM)
54      ENDDO
55
56      KB(JT,JP,IGC) = Z_SUMK
57    ENDDO
58  ENDDO
59ENDDO
60
61DO JT = 1,10
62  IPRSM = 0
63  DO IGC = 1,NGC(1)
64    Z_SUMK = 0.0_JPRB
65    DO IPR = 1, NGN(IGC)
66      IPRSM = IPRSM + 1
67
68      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM)
69    ENDDO
70
71    SELFREF(JT,IGC) = Z_SUMK
72  ENDDO
73ENDDO
74
75IPRSM = 0
76DO IGC = 1,NGC(1)
77  Z_SUMK = 0.0_JPRB
78  Z_SUMF1 = 0.0_JPRB
79  Z_SUMF2 = 0.0_JPRB
80  DO IPR = 1, NGN(IGC)
81    IPRSM = IPRSM + 1
82
83    Z_SUMK = Z_SUMK + FORREFO(IPRSM)*RWGT(IPRSM)
84    Z_SUMF1= Z_SUMF1+ FRACREFAO(IPRSM)
85    Z_SUMF2= Z_SUMF2+ FRACREFBO(IPRSM)
86  ENDDO
87
88  FORREF(IGC) = Z_SUMK
89  FRACREFA(IGC) = Z_SUMF1
90  FRACREFB(IGC) = Z_SUMF2
91ENDDO
92
93DO IGC = 1,NGC(1)
94
95  FREFA(IGC,1) = FRACREFA(IGC)
96  FREFB(IGC,1) = FRACREFB(IGC)
97ENDDO
98
99IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB1',1,ZHOOK_HANDLE)
100END SUBROUTINE RRTM_CMBGB1
Note: See TracBrowser for help on using the repository browser.