aboutsummaryrefslogtreecommitdiff
path: root/Opacscat.f
blob: 8e372bd0faf8f9b02a0b35de66f0874f4f03919d (plain) (blame)
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
96
97
98
99
100
101
102
103
104

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 /= 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