source: LMDZ6/branches/cirrus/libf/phylmd/ecrad/ifsrrtm/rrtm_cmbgb15.F90

Last change on this file was 4773, checked in by idelkadi, 12 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_CMBGB15
3!***************************************************************************
4
5!     BAND 15:  2380-2600 cm-1 (low - N2O,CO2; high - nothing)
6!     ABozzo 2001306 updated to rrtmg v4.85
7!     band 15:  2380-2600 cm-1 (low - n2o,co2; low minor - n2)
8!                              (high - nothing)
9!***************************************************************************
10
11! Parameters
12USE PARKIND1  ,ONLY : JPIM     ,JPRB
13USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK, JPHOOK
14
15USE YOERRTO15, ONLY : KAO     ,KAO_MN2,SELFREFO,FORREFO   ,FRACREFAO
16USE YOERRTA15, ONLY : KA      ,KA_MN2,SELFREF,FORREF    ,FRACREFA
17USE YOERRTRWT, ONLY : RWGT
18USE YOERRTFTR, ONLY : NGC      ,NGS      ,NGN     
19
20IMPLICIT NONE
21
22INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
23
24REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
25REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
26
27IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB15',0,ZHOOK_HANDLE)
28DO JN = 1,9
29  DO JT = 1,5
30    DO JP = 1,13
31      IPRSM = 0
32      DO IGC = 1,NGC(15)
33        Z_SUMK = 0.0_JPRB
34        DO IPR = 1, NGN(NGS(14)+IGC)
35          IPRSM = IPRSM + 1
36
37          Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+224)
38        ENDDO
39
40        KA(JN,JT,JP,IGC) = Z_SUMK
41      ENDDO
42    ENDDO
43  ENDDO
44ENDDO
45
46DO JN = 1,9
47   DO JT = 1,19
48      IPRSM = 0
49      DO IGC = 1,NGC(15)
50        Z_SUMK = 0.0_JPRB
51         DO IPR = 1, NGN(NGS(14)+IGC)
52            IPRSM = IPRSM + 1
53            Z_SUMK = Z_SUMK + KAO_MN2(JN,JT,IPRSM)*RWGT(IPRSM+224)
54         ENDDO
55         KA_MN2(JN,JT,IGC) = Z_SUMK
56      ENDDO
57   ENDDO
58ENDDO
59
60DO JT = 1,10
61  IPRSM = 0
62  DO IGC = 1,NGC(15)
63    Z_SUMK = 0.0_JPRB
64    DO IPR = 1, NGN(NGS(14)+IGC)
65      IPRSM = IPRSM + 1
66
67      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+224)
68    ENDDO
69
70    SELFREF(JT,IGC) = Z_SUMK
71  ENDDO
72ENDDO
73
74DO JT = 1,4
75   IPRSM = 0
76   DO IGC = 1,NGC(15)
77      Z_SUMK = 0.0_JPRB
78      DO IPR = 1, NGN(NGS(14)+IGC)
79         IPRSM = IPRSM + 1
80         Z_SUMK = Z_SUMK + FORREFO(JT,IPRSM)*RWGT(IPRSM+224)
81      ENDDO
82      FORREF(JT,IGC) = Z_SUMK
83   ENDDO
84ENDDO
85
86DO JP = 1,9
87  IPRSM = 0
88  DO IGC = 1,NGC(15)
89    Z_SUMF = 0.0_JPRB
90    DO IPR = 1, NGN(NGS(14)+IGC)
91      IPRSM = IPRSM + 1
92
93      Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
94    ENDDO
95
96    FRACREFA(IGC,JP) = Z_SUMF
97  ENDDO
98ENDDO
99
100 
101IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB15',1,ZHOOK_HANDLE)
102END SUBROUTINE RRTM_CMBGB15
Note: See TracBrowser for help on using the repository browser.