예제 #1
0
db['npoly'] = npoly
db['FWHM'] = abs(Z[:, 0])
db['alpha'] = abs(Z[:, 1])
db['vsini'] = abs(Z[:, 2])
db['vr'] = Z[:, 3]
db['T'] = Z[:, 4] * 100.
db['logg'] = Z[:, 5]
db['l0'] = Z[:, 6]
db['l1'] = Z[:, 7]
db['l2'] = Z[:, 8]
chisq = -2.0 * ZP
db['chisq'] = chisq
dof = len(yStar) - len(fitvector)
db['redChisq'] = amin(chisq) / float(dof)
db['dof'] = dof
db['burn'] = autoburn(chisq)
# re-flag data that we had interpolated over
yStar[bad] = nan
errStar[bad] = nan
db['errStar'] = errStar
db['xStar'] = xStar
db['wave'] = x
db['yStar'] = yStar
db['model'] = mdl
db['transmission'] = trans
db['BDmodel'] = bdspec
db['sysUnc'] = sysUnc
db['Z'] = Z
db['ZP'] = ZP

fp = zopen(outdir + '/' + sourceName + '-' + order + '-' + suffix + \
예제 #2
0
print outfile

fp = zopen(infile, 'r')

db = load(fp)
fp.close()
lsf = db['FWHM'] * 1000.
alpha = db['alpha']
vsini = db['vsini']
cz = db['vr']
T = db['T']
logg = db['logg']
logp = db['ZP']
chisq = db['chisq']

burn = autoburn(chisq, 100)
if burn < 1000: burn = 1000
#print burn
chisq = chisq[burn:]
print 'Burn = ', burn
print chisq

# filter results
lsf = lsf[burn:]
alpha = alpha[burn:]
vsini = vsini[burn:]
print vsini
cz = cz[burn:]
T = T[burn:]
logg = logg[burn:]