source: LMDZ6/branches/Amaury_dev/libf/phylmd/ecrad/ifsrrtm/srtm_cmbgb17.F90

Last change on this file 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: 2.1 KB
Line 
1SUBROUTINE SRTM_CMBGB17
2
3!     BAND 17:  3250-4000 cm-1 (low - H2O,CO2; high - H2O,CO2)
4!-----------------------------------------------------------------------
5
6USE PARKIND1  ,ONLY : JPIM , JPRB
7USE YOMHOOK   ,ONLY : LHOOK, DR_HOOK, JPHOOK
8
9USE YOESRTM  , ONLY : NGN
10USE YOESRTWN , ONLY : NGC, NGS, RWGT
11!USE YOESRTWN , ONLY : NGC, NGS, NGN, RWGT
12USE YOESRTA17, ONLY : KA, KB, SELFREF, FORREF, SFLUXREF, &
13                    & KAC, KBC, SELFREFC, FORREFC, SFLUXREFC
14
15IMPLICIT NONE
16
17! Local variables
18INTEGER(KIND=JPIM) :: JN, JT, JP, IGC, IPR, IPRSM
19REAL(KIND=JPRB)    :: ZSUMK, ZSUMF
20
21REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
22!     ------------------------------------------------------------------
23IF (LHOOK) CALL DR_HOOK('SRTM_CMBGB17',0,ZHOOK_HANDLE)
24
25DO JN = 1,9
26  DO JT = 1,5
27    DO JP = 1,13
28      IPRSM = 0
29      DO IGC = 1,NGC(2)
30        ZSUMK = 0.
31        DO IPR = 1, NGN(NGS(1)+IGC)
32          IPRSM = IPRSM + 1
33          ZSUMK = ZSUMK + KA(JN,JT,JP,IPRSM)*RWGT(IPRSM+16)
34        ENDDO
35        KAC(JN,JT,JP,IGC) = ZSUMK
36      ENDDO
37    ENDDO
38  ENDDO
39ENDDO
40
41DO JN = 1,5
42  DO JT = 1,5
43    DO JP = 13,59
44      IPRSM = 0
45      DO IGC = 1,NGC(2)
46        ZSUMK = 0.
47        DO IPR = 1, NGN(NGS(1)+IGC)
48          IPRSM = IPRSM + 1
49          ZSUMK = ZSUMK + KB(JN,JT,JP,IPRSM)*RWGT(IPRSM+16)
50        ENDDO
51        KBC(JN,JT,JP,IGC) = ZSUMK
52      ENDDO
53    ENDDO
54  ENDDO
55ENDDO
56
57DO JT = 1,10
58  IPRSM = 0
59  DO IGC = 1,NGC(2)
60    ZSUMK = 0.
61    DO IPR = 1, NGN(NGS(1)+IGC)
62      IPRSM = IPRSM + 1
63      ZSUMK = ZSUMK + SELFREF(JT,IPRSM)*RWGT(IPRSM+16)
64    ENDDO
65    SELFREFC(JT,IGC) = ZSUMK
66  ENDDO
67ENDDO
68
69DO JT = 1,4
70  IPRSM = 0
71  DO IGC = 1,NGC(2)
72    ZSUMK = 0.
73    DO IPR = 1, NGN(NGS(1)+IGC)
74      IPRSM = IPRSM + 1
75      ZSUMK = ZSUMK + FORREF(JT,IPRSM)*RWGT(IPRSM+16)
76    ENDDO
77    FORREFC(JT,IGC) = ZSUMK
78  ENDDO
79ENDDO
80
81DO JP = 1,5
82  IPRSM = 0
83  DO IGC = 1,NGC(2)
84    ZSUMF = 0.
85    DO IPR = 1, NGN(NGS(1)+IGC)
86      IPRSM = IPRSM + 1
87      ZSUMF = ZSUMF + SFLUXREF(IPRSM,JP)
88    ENDDO
89    SFLUXREFC(IGC,JP) = ZSUMF
90  ENDDO
91ENDDO
92
93!     -----------------------------------------------------------------
94IF (LHOOK) CALL DR_HOOK('SRTM_CMBGB17',1,ZHOOK_HANDLE)
95END SUBROUTINE SRTM_CMBGB17
96
Note: See TracBrowser for help on using the repository browser.