GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/srtm_taumol26.F90 Lines: 0 15 0.0 %
Date: 2023-06-30 12:56:34 Branches: 0 14 0.0 %

Line Branch Exec Source
1
SUBROUTINE SRTM_TAUMOL26 &
2
 & ( KLEV,&
3
 & P_FAC00   , P_FAC01  , P_FAC10   , P_FAC11,&
4
 & K_JP      , K_JT     , K_JT1     , P_ONEMINUS,&
5
 & P_COLH2O  , P_COLCO2 , P_COLMOL,&
6
 & K_LAYTROP , P_SELFFAC, P_SELFFRAC, K_INDSELF  , P_FORFAC, P_FORFRAC, K_INDFOR,&
7
 & P_SFLUXZEN, P_TAUG   , P_TAUR    &
8
 & )
9
10
!     Written by Eli J. Mlawer, Atmospheric & Environmental Research.
11
12
!     BAND 26:  22650-29000 cm-1 (low - nothing; high - nothing)
13
14
!      PARAMETER (MG=16, MXLAY=203, NBANDS=14)
15
16
! Modifications
17
!        M.Hamrud      01-Oct-2003 CY28 Cleaning
18
19
!     JJMorcrette 2003-02-24 adapted to ECMWF environment
20
21
USE PARKIND1  ,ONLY : JPIM     ,JPRB
22
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
23
24
USE PARSRTM  , ONLY : JPLAY, JPG, NG26
25
USE YOESRTA26, ONLY : SFLUXREFC, RAYLC
26
IMPLICIT NONE
27
28
!-- Output
29
INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV
30
REAL(KIND=JPRB)                  :: P_FAC00(JPLAY) ! Argument NOT used
31
REAL(KIND=JPRB)                  :: P_FAC01(JPLAY) ! Argument NOT used
32
REAL(KIND=JPRB)                  :: P_FAC10(JPLAY) ! Argument NOT used
33
REAL(KIND=JPRB)                  :: P_FAC11(JPLAY) ! Argument NOT used
34
INTEGER(KIND=JPIM)               :: K_JP(JPLAY) ! Argument NOT used
35
INTEGER(KIND=JPIM)               :: K_JT(JPLAY) ! Argument NOT used
36
INTEGER(KIND=JPIM)               :: K_JT1(JPLAY) ! Argument NOT used
37
REAL(KIND=JPRB)                  :: P_ONEMINUS ! Argument NOT used
38
REAL(KIND=JPRB)                  :: P_COLH2O(JPLAY) ! Argument NOT used
39
REAL(KIND=JPRB)                  :: P_COLCO2(JPLAY) ! Argument NOT used
40
REAL(KIND=JPRB)   ,INTENT(IN)    :: P_COLMOL(JPLAY)
41
INTEGER(KIND=JPIM),INTENT(IN)    :: K_LAYTROP
42
REAL(KIND=JPRB)                  :: P_SELFFAC(JPLAY) ! Argument NOT used
43
REAL(KIND=JPRB)                  :: P_SELFFRAC(JPLAY) ! Argument NOT used
44
INTEGER(KIND=JPIM)               :: K_INDSELF(JPLAY) ! Argument NOT used
45
REAL(KIND=JPRB)                  :: P_FORFAC(JPLAY) ! Argument NOT used
46
REAL(KIND=JPRB)                  :: P_FORFRAC(JPLAY) ! Argument NOT used
47
INTEGER(KIND=JPIM)               :: K_INDFOR(JPLAY) ! Argument NOT used
48
49
REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_SFLUXZEN(JPG)
50
REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TAUG(JPLAY,JPG)
51
REAL(KIND=JPRB)   ,INTENT(OUT)   :: P_TAUR(JPLAY,JPG)
52
!- from AER
53
!- from INTFAC
54
!- from INTIND
55
!- from PRECISE
56
!- from PROFDATA
57
!- from SELF
58
INTEGER(KIND=JPIM) :: IG, I_LAY, I_LAYSOLFR, I_NLAYERS
59
60
REAL(KIND=JPRB) :: ZHOOK_HANDLE
61
62
IF (LHOOK) CALL DR_HOOK('SRTM_TAUMOL26',0,ZHOOK_HANDLE)
63
I_NLAYERS = KLEV
64
65
!     Compute the optical depth by interpolating in ln(pressure),
66
!     temperature, and appropriate species.  Below LAYTROP, the water
67
!     vapor self-continuum is interpolated (in temperature) separately.
68
I_LAYSOLFR = K_LAYTROP
69
70
DO I_LAY = 1, K_LAYTROP
71
!  DO IG = 1, NG(26)
72
  DO IG = 1 , NG26
73
!    TAUG(LAY,IG) = COLMOL(LAY) * RAYLC(IG)
74
!    SSA(LAY,IG) = 1.0
75
    IF (I_LAY == I_LAYSOLFR) P_SFLUXZEN(IG) = SFLUXREFC(IG)
76
    P_TAUG(I_LAY,IG) = 0.0_JPRB
77
    P_TAUR(I_LAY,IG) = P_COLMOL(I_LAY) * RAYLC(IG)
78
  ENDDO
79
ENDDO
80
81
DO I_LAY = K_LAYTROP+1, I_NLAYERS
82
!  DO IG = 1, NG(26)
83
  DO IG = 1 , NG26
84
!    TAUG(LAY,IG) = COLMOL(LAY) * RAYLC(IG)
85
!    SSA(LAY,IG) = 1.0
86
    P_TAUG(I_LAY,IG) = 0.0_JPRB
87
    P_TAUR(I_LAY,IG) = P_COLMOL(I_LAY) * RAYLC(IG)
88
  ENDDO
89
ENDDO
90
91
!-----------------------------------------------------------------------
92
IF (LHOOK) CALL DR_HOOK('SRTM_TAUMOL26',1,ZHOOK_HANDLE)
93
END SUBROUTINE SRTM_TAUMOL26
94