source: LMDZ6/trunk/libf/phylmd/ecrad/ifsrrtm/rrtm_cmbgb10.F90 @ 4773

Last change on this file since 4773 was 4773, checked in by idelkadi, 7 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: 2.4 KB
Line 
1!***************************************************************************
2SUBROUTINE RRTM_CMBGB10
3!***************************************************************************
4
5!     BAND 10:  1390-1480 cm-1 (low - H2O; high - H2O)
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 YOERRTO10, ONLY : KAO     ,KBO      ,FRACREFAO   ,FRACREFBO, SELFREFO,FORREFO
14USE YOERRTA10, ONLY : KA      ,KB       ,FRACREFA    ,FRACREFB, SELFREF,FORREF
15USE YOERRTRWT, ONLY : RWGT
16USE YOERRTFTR, ONLY : NGC      ,NGS      ,NGN     
17
18IMPLICIT NONE
19
20INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
21
22REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK
23REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
24
25IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB10',0,ZHOOK_HANDLE)
26DO JT = 1,5
27  DO JP = 1,13
28    IPRSM = 0
29    DO IGC = 1,NGC(10)
30      Z_SUMK = 0.0_JPRB
31      DO IPR = 1, NGN(NGS(9)+IGC)
32        IPRSM = IPRSM + 1
33
34        Z_SUMK = Z_SUMK + KAO(JT,JP,IPRSM)*RWGT(IPRSM+144)
35      ENDDO
36
37      KA(JT,JP,IGC) = Z_SUMK
38    ENDDO
39  ENDDO
40ENDDO
41DO JT = 1,5
42  DO JP = 13,59
43    IPRSM = 0
44    DO IGC = 1,NGC(10)
45      Z_SUMK = 0.0_JPRB
46      DO IPR = 1, NGN(NGS(9)+IGC)
47        IPRSM = IPRSM + 1
48
49        Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM+144)
50      ENDDO
51
52      KB(JT,JP,IGC) = Z_SUMK
53    ENDDO
54  ENDDO
55ENDDO
56
57  DO JT = 1,10
58         IPRSM = 0
59         DO IGC = 1,NGC(10)
60            Z_SUMK = 0.0_JPRB
61            DO IPR = 1, NGN(NGS(9)+IGC)
62               IPRSM = IPRSM + 1
63               Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+144)
64            ENDDO
65            SELFREF(JT,IGC) = Z_SUMK
66         ENDDO
67      ENDDO
68
69      DO JT = 1,4
70         IPRSM = 0
71         DO IGC = 1,NGC(10)
72            Z_SUMK = 0.0_JPRB
73            DO IPR = 1, NGN(NGS(9)+IGC)
74               IPRSM = IPRSM + 1
75               Z_SUMK = Z_SUMK + FORREFO(JT,IPRSM)*RWGT(IPRSM+144)
76            ENDDO
77            FORREF(JT,IGC) = Z_SUMK
78         ENDDO
79      ENDDO
80
81      IPRSM = 0
82      DO IGC = 1,NGC(10)
83         Z_SUMF1= 0.0_JPRB
84         Z_SUMF2= 0.0_JPRB
85         DO IPR = 1, NGN(NGS(9)+IGC)
86            IPRSM = IPRSM + 1
87            Z_SUMF1= Z_SUMF1+ FRACREFAO(IPRSM)
88            Z_SUMF2= Z_SUMF2+ FRACREFBO(IPRSM)
89         ENDDO
90         FRACREFA(IGC) = Z_SUMF1
91         FRACREFB(IGC) = Z_SUMF2
92      ENDDO
93
94
95IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB10',1,ZHOOK_HANDLE)
96END SUBROUTINE RRTM_CMBGB10
Note: See TracBrowser for help on using the repository browser.