source: LMDZ6/trunk/libf/phylmd/ecrad/ifsrrtm/rrtm_cmbgb12.F90 @ 5065

Last change on this file since 5065 was 4773, checked in by idelkadi, 11 months ago
  • Update of Ecrad in LMDZ The same organization of the Ecrad offline version is retained in order to facilitate the updating of Ecrad in LMDZ and the comparison between online and offline results. version 1.6.1 of Ecrad (https://github.com/lguez/ecrad.git)
  • Implementation of the double call of Ecrad in LMDZ


File size: 1.9 KB
Line 
1!***************************************************************************
2SUBROUTINE RRTM_CMBGB12
3!***************************************************************************
4
5!     BAND 12:  1800-2080 cm-1 (low - H2O,CO2; high - nothing)
6!     ABozzo updated to rrtmg v4.85
7!***************************************************************************
8
9! Parameters
10USE PARKIND1  ,ONLY : JPIM     ,JPRB
11USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK, JPHOOK
12
13USE YOERRTO12, ONLY : KAO     ,SELFREFO, FORREFO   ,FRACREFAO
14USE YOERRTA12, ONLY : KA      ,SELFREF, FORREF    ,FRACREFA
15USE YOERRTRWT, ONLY : RWGT
16USE YOERRTFTR, ONLY : NGC      ,NGS      ,NGN     
17
18IMPLICIT NONE
19
20INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
21
22REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
23REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
24
25IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB12',0,ZHOOK_HANDLE)
26DO JN = 1,9
27  DO JT = 1,5
28    DO JP = 1,13
29      IPRSM = 0
30      DO IGC = 1,NGC(12)
31        Z_SUMK = 0.0_JPRB
32        DO IPR = 1, NGN(NGS(11)+IGC)
33          IPRSM = IPRSM + 1
34
35          Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+176)
36        ENDDO
37
38        KA(JN,JT,JP,IGC) = Z_SUMK
39      ENDDO
40    ENDDO
41  ENDDO
42ENDDO
43
44DO JT = 1,10
45  IPRSM = 0
46  DO IGC = 1,NGC(12)
47    Z_SUMK = 0.0_JPRB
48    DO IPR = 1, NGN(NGS(11)+IGC)
49      IPRSM = IPRSM + 1
50
51      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+176)
52    ENDDO
53
54    SELFREF(JT,IGC) = Z_SUMK
55  ENDDO
56ENDDO
57
58DO JT = 1,4
59    IPRSM = 0
60    DO IGC = 1,NGC(12)
61       Z_SUMK = 0.0_JPRB
62       DO IPR = 1, NGN(NGS(11)+IGC)
63          IPRSM = IPRSM + 1
64          Z_SUMK = Z_SUMK + FORREFO(JT,IPRSM)*RWGT(IPRSM+176)
65       ENDDO
66       FORREF(JT,IGC) = Z_SUMK
67    ENDDO
68ENDDO
69
70
71DO JP = 1,9
72  IPRSM = 0
73  DO IGC = 1,NGC(12)
74    Z_SUMF = 0.0_JPRB
75    DO IPR = 1, NGN(NGS(11)+IGC)
76      IPRSM = IPRSM + 1
77
78      Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
79    ENDDO
80
81    FRACREFA(IGC,JP) = Z_SUMF
82  ENDDO
83ENDDO
84
85IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB12',1,ZHOOK_HANDLE)
86END SUBROUTINE RRTM_CMBGB12
Note: See TracBrowser for help on using the repository browser.