-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOpacscat.f
executable file
·104 lines (70 loc) · 2.65 KB
/
Opacscat.f
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
95
c******************************************************************************
c The subroutines needed to calculate the opacities from scattering by
c H I, H2, He I, and e- are in this file. These are from ATLAS9.
c******************************************************************************
subroutine opacescat
c******************************************************************************
c This routine computes electron scattering opacities.
c******************************************************************************
implicit real*8 (a-h,o-z)
include 'Atmos.com'
include 'Kappa.com'
save
data modcount/0/
c compute scattering, but only if there is a new model atmosphere.
if (modelnum .ne. modcount) then
modcount = modelnum
do i=1,ntau
sigel(i) = 0.6653d-24*ne(i)
enddo
endif
return
end
subroutine opacHscat
c******************************************************************************
c This routine computes H I Rayleigh scattering opacities.
c******************************************************************************
implicit real*8 (a-h,o-z)
include 'Atmos.com'
include 'Kappa.com'
include 'Linex.com'
wavetemp = 2.997925d18/dmin1(freq,2.463d15)
ww = wavetemp**2
sig = (5.799d-13+1.422d-6/ww+2.784/(ww*ww))/(ww*ww)
do i=1,ntau
sigH(i) = sig*2.*numdens(1,1,i)/u(1,1,i)
enddo
return
end
subroutine opacH2scat
c******************************************************************************
c This routine computes H2 I Rayleigh scattering opacities.
c******************************************************************************
implicit real*8 (a-h,o-z)
include 'Atmos.com'
include 'Kappa.com'
include 'Linex.com'
wavetemp = 2.997925d18/dmin1(freq,2.463d15)
ww = wavetemp**2
sig = (8.14d-13+1.28d-6/ww+1.61/(ww*ww))/(ww*ww)
do i=1,ntau
sigH2(i) = sig*numdens(8,1,i)
enddo
return
end
subroutine opacHescat
c******************************************************************************
c This routine computes He I Rayleigh scattering opacities.
c******************************************************************************
implicit real*8 (a-h,o-z)
include 'Atmos.com'
include 'Kappa.com'
include 'Linex.com'
wavetemp = 2.997925d18/dmin1(freq,5.15d15)
ww = wavetemp**2
sig = 5.484E-14/ww/ww*(1.+(2.44d5+5.94d10/(ww-2.90d5))/ww)**2
do i=1,ntau
sigHe(i) = sig*numdens(2,1,i)/u(2,1,i)
enddo
return
end