-
Notifications
You must be signed in to change notification settings - Fork 0
/
rrsw_kg24.f90
94 lines (86 loc) · 3.21 KB
/
rrsw_kg24.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
! KGEN-generated Fortran source file
!
! Filename : rrsw_kg24.f90
! Generated at: 2015-09-28 23:28:18
! KGEN version: 0.5.1
MODULE rrsw_kg24
USE kgen_utils_mod, ONLY : kgen_dp, check_t, kgen_init_check, kgen_print_check
USE shr_kind_mod, ONLY: r8 => shr_kind_r8
! use parkind ,only : jpim, jprb
USE parrrsw, ONLY: ng24
IMPLICIT NONE
!-----------------------------------------------------------------
! rrtmg_sw ORIGINAL abs. coefficients for interval 24
! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2)
!
! Initial version: JJMorcrette, ECMWF, oct1999
! Revised: MJIacono, AER, jul2006
!-----------------------------------------------------------------
!
! name type purpose
! ---- : ---- : ---------------------------------------------
! kao : real
! kbo : real
! selfrefo: real
! forrefo : real
!sfluxrefo: real
! abso3ao : real
! abso3bo : real
! raylao : real
! raylbo : real
!-----------------------------------------------------------------
!dir$ attributes offload:mic :: absa, absb, forref, selfref, &
!dir$ sfluxref, abso3a, abso3b, rayla, raylb, &
!dir$ layreffr, strrat
INTEGER :: layreffr
REAL(KIND=r8) :: strrat
!-----------------------------------------------------------------
! rrtmg_sw COMBINED abs. coefficients for interval 24
! band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2)
!
! Initial version: JJMorcrette, ECMWF, oct1999
! Revised: MJIacono, AER, jul2006
!-----------------------------------------------------------------
!
! name type purpose
! ---- : ---- : ---------------------------------------------
! ka : real
! kb : real
! absa : real
! absb : real
! selfref : real
! forref : real
! sfluxref: real
! abso3a : real
! abso3b : real
! rayla : real
! raylb : real
!-----------------------------------------------------------------
REAL(KIND=r8) :: absa(585,ng24)
REAL(KIND=r8) :: absb(235,ng24)
REAL(KIND=r8) :: selfref(10,ng24)
REAL(KIND=r8) :: forref(3,ng24)
REAL(KIND=r8) :: sfluxref(ng24,9)
REAL(KIND=r8) :: abso3a(ng24)
REAL(KIND=r8) :: abso3b(ng24)
REAL(KIND=r8) :: rayla(ng24,9)
REAL(KIND=r8) :: raylb(ng24)
PUBLIC kgen_read_externs_rrsw_kg24
CONTAINS
! write subroutines
! module extern variables
SUBROUTINE kgen_read_externs_rrsw_kg24(kgen_unit)
INTEGER, INTENT(IN) :: kgen_unit
READ(UNIT=kgen_unit) layreffr
READ(UNIT=kgen_unit) strrat
READ(UNIT=kgen_unit) rayla
READ(UNIT=kgen_unit) abso3a
READ(UNIT=kgen_unit) absa
READ(UNIT=kgen_unit) selfref
READ(UNIT=kgen_unit) forref
READ(UNIT=kgen_unit) sfluxref
READ(UNIT=kgen_unit) raylb
READ(UNIT=kgen_unit) abso3b
READ(UNIT=kgen_unit) absb
END SUBROUTINE kgen_read_externs_rrsw_kg24
END MODULE rrsw_kg24