创建GHz/THz范围内的星系光谱样本
galspec的Python项目详细描述
GalSpec包
这个软件包的目的是快速而容易地产生一个带有黑体连续发射线和发射线的星系光谱。此软件包中的线路包括:
- CO线
- SIII公司
- SiII公司
- 喂,喂
- 不,不
- CII,CI
代码,Tom Bakx,分子线的包装和添加以及Stefanie Brackenhoff的重标度
功能和使用
- 可以使用
spectrum()
函数生成光谱。在
它需要以下输入:
- luminity以log为单位(L_fir[L_sol])
- redshiftz
- fLow,fHigh频谱中以GHz为单位的最小和最大频率
- numFreqBins应评估频谱的线性间隔频率单元的数量
- linewidth以km/s为单位的谱线宽度
- COlines“Kamenetzky”1或“Rosenberg”2决定CO线的振幅,默认为Kamenetzky。在
- lines“Bonato”3或“Spinoglio”4决定其余谱线的振幅,默认为Bonato
- mollines“真”或“假”。切换是否显示分子线。使用5估计的值。默认为“真”
- ^{str1}$variance增加了原子线振幅的不确定性。默认为0。当前版本中未实现的分子线变化。在
- manualrescale设置行是由Kamenetzky/Rosenberg和Bonato/Spinoglio设置的默认比率,还是由用户设置。选项:
- 'False'使用的默认线振幅
- ^{str1}$'Absolute'Jy黑体辐射相加中37个线振幅的numpy数组可以在rescaleArray中设置。如果mollines设置为“False”,则忽略其他条目。在
- 'Relative'可以在rescaleArray中设置37个标量的numpy数组。Kamenetzky/Rosenberg的默认比率在加入黑体光谱之前乘以这些标量。如果mollines设置为“False”,则忽略其他条目。在
- rescaleArray根据“手动重新缩放”中的设置重新缩放发射线。可以使用
linenames()
找到行的顺序
并作为输出创建:
- freqArray以GHz为单位的阵列频率
- spectr以Jy为单位的光谱中通量密度的数组
- 可以使用
plotspectrum()
函数快速绘制光谱
此函数将spectrum()
的输出作为输入,并创建带有轴标签的绘图
- {cd5>输出的{cd5>数组中{cd5>的顺序是{cd5>。是否显示分子线的名称可以通过将关键字mollines设置为“False”来切换。在
示例
- 简单的例子
import galspec
luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600
gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth, mollines = 'False')
galspec.plotspectrum(gal_freq, gal_flux)
- 利用罗森博格和斯宾诺格里奥的比率
- 使用手动比率仅显示CO线
import galspec
import numpy as np
luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600
names = galspec.linenames()
lines = np.zeros(len(names))
for i in range(len(names)):
if names[i].startswith('CO'): lines[i]=1
gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth, manualrescale = 'Relative', rescaleArray = lines, mollines = 'False')
galspec.plotspectrum(gal_freq, gal_flux)
- 包括分子线
import galspec
import numpy as np
luminosity = 13.7
z = 4.43
fLow = 90 #GHz
fHigh = 910 #GHz
numFreqBins = 1500
linewidth = 600
gal_freq, gal_flux = galspec.spectrum(luminosity, z, fLow, fHigh, numFreqBins, linewidth)
galspec.plotspectrum(gal_freq, gal_flux)
安装
pip install galspec
必需的软件包
Numpy
- ^{cd9}
matplotlib
scipy
- 项目
标签: