天文相关
天文文献阅读思路
文章的科学目标
样本(为什么用这个样本?选源条件)
方法(为什么用这个方法?优劣?)
结果(各种性质怎么得到的,有什么结论,该做的改正都改了吗?怎么改的?)
如果是我,我怎么用他们的样本做科学?
[星系光学光谱特征谱线]
从700埃到11000埃左右的一些特征谱线。
观测的参考文献:
FO87: Ferland & Osterbrock 1987 (III Zw 77)
OP85: Osterbrock & Pogge 1985 (NLSy1 galaxies)
R11: Rose et al 2011 (SDSS 1131+16)
K08: Komossa et al 2008 (SDSS 0952+21)
A92: Alloin et al 1992 (ESO 138 G1)
W11: Wang et al 2011 (SDSS 0748+47)
I04: Izotov et al 2004 (Tol 1214-277 and Tol 65)
I01: Izotov et al 2001 (SBS 0335-052)
P98: Puchnarewicz et al 1988 (RE J1034+396)
TI05: Thuan & Izotov 2005 (Blue compact dwarfs)
LM04: Leighly & Moore 2004 (STIS study of NLSy1 galaxies)
T00: Tran et al 2000 (Keck - P09104+4109)
Z97: Zheng et al 1997 (HST quasar composite)
VB01: Vanden Berk et al 2001 (SDSS quasar composite)
OC82: Osterbrock and Cohen 1982 (Wolf-Rayet galaxies)
S99: Shaerer et al 1999 (Wolf-Rayet Galaxies)
P88: Persson 1988 (Ca triplet emission in AGN)
D06: Dhanda et al 2006
OF96: Osterbrock & Fulbright 1996 (NGC 1068)
O90: Osterbrock et al 1990
IMF系数转换,Speagle, J, S.+2014 DOI:10.1088/0067-0049/214/2/15
Kroupa Chabrier Salpeter之间的转换
M
∗
,
K
=
1.06
M
∗
,
C
=
0.62
M
∗
,
S
M_{*,K}=1.06M_{*,C}=0.62M_{*,S}
M∗,K=1.06M∗,C=0.62M∗,S
天文单位转换
参考stsci网站
SED Template
Michael Brown
- M. Brown 2019 (AGN templates)
- M. Brown 2014 (Galaxies templates)
- 各种model的汇总
- 模板汇总网站链接
实测天文
滤光片和星等知识
SED
Eric Bell 老师课件网址
- Spatially resolved SED(空间分辨的SED)
- 给pixel分bin的方法:voronoi binning 方法,Michele Cappellari写了voronoi binning的代码在这里。
- SED拟合软件
- BC03 SSP models
- BC03的网址,说明书网址
- 里面有不同版本的模型以及他们自己的软件(可以把可读性不高的二进制文件转换成可读性很高的ascii文件)
- 很鸡肋的就是我的mac中有个软件的运行要求我不能升级macos系统的版本,于是很多软件都是旧版的。于是在clang(gfortran)、Xcode之间出现了各种不匹配。但是BC03的网站给的软件需要我用配套的Xcode和gfortran,要进行这个操作,需要我升级我的macos版本。然后我就放弃了这个途径来获得BC03模型。碰巧找到了这个网站:应该是Universidade Federal de Santa Catarina - UFSC的某个老师的教学示例。里面有已经修改成可读性很高的ascii的BC03模板(感谢这位老师!)但是这位老师自己给的代码在保存th=fits.TableHDU时,也就是模板信息的那一步有点问题。似乎是数据和dtype不匹配,或者说无法识别的问题。我稍微改了几行代码来保存extension。再次感谢这位老师!!!
- BC03的网址,说明书网址
def read_base_ascii(basefile):
from astropy.table import Table
from astropy.io import ascii
bdata = ascii.read(basefile, data_start=1, data_end=1329, delimiter=' ', exclude_names=['col4'])
base = Table(data=bdata.as_array(), names=['sspfile', 'age_base', 'Z_base', 'Mstars', 'YA_V', 'aFe'], dtype=['|S60', '>f8', '>f8','>f8', '>i4', '>f8'])
spec = Table.read(base[0]['sspfile'], format='ascii', names=['l_ssp', 'f_ssp'])
l_ssp = spec['l_ssp'].data.copy()
base_spec = np.empty((len(l_ssp), len(base)))
for i, sspfile in enumerate(base['sspfile']):
print('%s (%d/%d)' % (sspfile, i, len(base)))
spec = Table.read(sspfile, format='ascii', names=['l_ssp', 'f_ssp'])
base_spec[:, i] = spec['f_ssp']
return base, l_ssp, base_spec
def save_base_fits(base, l_ssp, base_spec, basefile):
from astropy.io import fits
col1 = fits.Column(name='sspfile', array=base['sspfile'], format='60A')
col2 = fits.Column(name='age_base', array=base['age_base'], format='8D')
col3 = fits.Column(name='Z_base',array=base['Z_base'], format='8D')
col4 = fits.Column(name='Mstars',array=base['Mstars'], format='8D')
col5 = fits.Column(name='YA_V',array=base['YA_V'], format='4K')
col6 = fits.Column(name='aFe',array=base['aFe'], format='8D')
th = fits.TableHDU.from_columns([col1, col2, col3, col4, col5, col6])
lh = fits.PrimaryHDU(l_ssp)
lh.name = 'l_ssp'
sh = fits.ImageHDU(base_spec, name='base_spec')
hdulist = fits.HDUList([lh, sh, th])
hdulist.writeto(basefile, overwrite=True)
再次感叹一下,天文数据真的历史悠久,涉及的各种数据格式太复杂,什么时候有好心人花时间给整一个不同格式的数据之间的转换(ps:虽然之前看到网上很久远的照相底片觉得很高级,但是真不方便啊!)
天文必备技术类
ks检验
关于ks检验可以看下这个网址:https://www.cnblogs.com/arkenstone/p/5496761.html
误差传递
https://en.wikipedia.org/wiki/Propagation_of_uncertainty
https://www.cnblogs.com/heaventian/archive/2012/11/24/2786241.html
SED fit chi square
参考文章的第3节
χ
2
(
T
)
=
Σ
i
=
1
N
f
[
F
o
b
s
,
i
−
b
j
×
F
i
,
j
(
T
)
]
2
σ
i
2
b
j
(
T
)
=
Σ
i
=
1
N
f
F
o
b
s
,
i
F
i
,
j
(
T
)
σ
i
2
Σ
i
=
1
N
f
F
i
,
j
(
T
)
2
σ
i
2
\chi^2(T)=\Sigma_{i=1}^{N_f} \frac{[F_{obs,i}-b_j \times F_{i,j}(T)]^2}{\sigma_{i}^2} \\ b_j(T)=\frac{\Sigma_{i=1}^{N_f} \frac{F_{obs,i}F_{i,j}(T)}{\sigma_{i}^2}}{\Sigma_{i=1}^{N_f} \frac{F_{i,j}(T)^2}{\sigma_{i}^2}}
χ2(T)=Σi=1Nfσi2[Fobs,i−bj×Fi,j(T)]2bj(T)=Σi=1Nfσi2Fi,j(T)2Σi=1Nfσi2Fobs,iFi,j(T)