本文整理汇总了Python中linetools.spectralline.AbsLine.attrib['flag_origCH']方法的典型用法代码示例。如果您正苦于以下问题:Python AbsLine.attrib['flag_origCH']方法的具体用法?Python AbsLine.attrib['flag_origCH']怎么用?Python AbsLine.attrib['flag_origCH']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类linetools.spectralline.AbsLine
的用法示例。
在下文中一共展示了AbsLine.attrib['flag_origCH']方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_single_fits
# 需要导入模块: from linetools.spectralline import AbsLine [as 别名]
# 或者: from linetools.spectralline.AbsLine import attrib['flag_origCH'] [as 别名]
def load_single_fits(self, inp, skip_ions=False, verbose=True, **kwargs):
""" Load a single COS-Halos sightline
Appends to cgm_abs list
Parameters
----------
inp : tuple or str
if tuple -- (field,gal_id)
field: str
Name of field (e.g. 'J0226+0015')
gal_id: str
Name of galaxy (e.g. '268_22')
skip_ions : bool, optional
Avoid loading the ions (not recommended)
verbose : bool, optional
"""
# Parse input
if isinstance(inp, basestring):
fil = inp
elif isinstance(inp, tuple):
field, gal_id = inp
tmp = self.fits_path+'/'+field+'.'+gal_id+'.fits.gz'
fils = glob.glob(tmp)
if len(fils) != 1:
raise IOError('Bad field, gal_id: {:s}'.format(tmp))
fil = fils[0]
else:
raise IOError('Bad input to load_single')
# Read COS-Halos file
if verbose:
print('cos_halos: Reading {:s}'.format(fil))
hdu = fits.open(fil)
summ = Table(hdu[1].data)
galx = Table(hdu[2].data)
# Instantiate the galaxy
gal = Galaxy((galx['RA'][0], galx['DEC'][0]), z=summ['ZFINAL'][0])
gal.field = galx['FIELD'][0]
gal.gal_id = galx['GALID'][0]
# Galaxy properties
gal.halo_mass = summ['LOGMHALO'][0]
gal.stellar_mass = summ['LOGMFINAL'][0]
gal.rvir = galx['RVIR'][0]
gal.MH = galx['ABUN'][0]
gal.flag_MH = galx['ABUN_FLAG'][0]
gal.sdss_phot = [galx[key][0] for key in ['SDSSU','SDSSG','SDSSR','SDSSI','SDSSZ']]
gal.sdss_phot_sig = [galx[key][0] for key in ['SDSSU_ERR','SDSSG_ERR','SDSSR_ERR','SDSSI_ERR','SDSSZ_ERR']]
gal.sfr = (galx['SFR_UPLIM'][0], galx['SFR'][0],
galx['SFR_FLAG'][0]) # FLAG actually gives method used
gal.ssfr = galx['SSFR'][0]
# Instantiate the IGM System
igm_sys = IGMSystem((galx['QSORA'][0], galx['QSODEC'][0]),
summ['ZFINAL'][0], [-600, 600.]*u.km/u.s,
abs_type='CGM')
igm_sys.zqso = galx['ZQSO'][0]
# Instantiate
cgabs = CGMAbsSys(gal, igm_sys, name=gal.field+'_'+gal.gal_id, **kwargs)
# EBV
cgabs.ebv = galx['EBV'][0]
# Ions
if skip_ions is True:
# NHI
dat_tab = Table(hdu[3].data)
#if dat_tab['Z'] != 1:
# raise ValueError("Uh oh")
cgabs.igm_sys.NHI = dat_tab['CLM'][0]
cgabs.igm_sys.sig_NHI = dat_tab['SIG_CLM'][0]
cgabs.igm_sys.flag_NHI = dat_tab['FLG_CLM'][0]
self.cgm_abs.append(cgabs)
return
all_Z = []
all_ion = []
for jj in range(summ['NION'][0]):
iont = hdu[3+jj].data
if jj == 0: # Generate new Table
dat_tab = Table(iont)
else:
try:
dat_tab.add_row(Table(iont)[0])
except:
pdb.set_trace()
all_Z.append(iont['ZION'][0][0])
all_ion.append(iont['ZION'][0][1])
# AbsLines
abslines = []
ntrans = len(np.where(iont['LAMBDA'][0] > 1.)[0])
for kk in range(ntrans):
flg = iont['FLG'][0][kk]
# Fill in
aline = AbsLine(iont['LAMBDA'][0][kk]*u.AA, closest=True)
aline.attrib['flag_origCH'] = int(flg)
aline.attrib['EW'] = iont['WOBS'][0][kk]*u.AA/1e3 # Observed
aline.attrib['sig_EW'] = iont['SIGWOBS'][0][kk]*u.AA/1e3
if aline.attrib['EW'] > 3.*aline.attrib['sig_EW']:
aline.attrib['flag_EW'] = 1
else:
aline.attrib['flag_EW'] = 3
# Force an upper limit (i.e. from a blend)
if (flg == 2) or (flg == 4) or (flg == 6):
aline.attrib['flag_EW'] = 3
#.........这里部分代码省略.........