Ejemplo n.º 1
0
import numpy as np
import matplotlib.pyplot as mp
import simshane as ss
#from itertools import cycle

# Read in vega flux file
vega = np.loadtxt('spectra/alpha_lyr_stis_005.txt')
# convert from ergs s-1 cm-2 A-1 to ergs s-1 m-2 nm-1
vegaflux = vega[:,1]*1.0e5
vega[:,1] = vegaflux

vegalamb = vega[:,0]/10.0   # table has wavelength in angstroms
vega[:,0] = vegalamb

vegacsb = ss.simshane(vega, source='csb')
vegamcsb = ss.simshane(vega, source='csb', subaps=8)
#vegamcsb = ss.simshane(vega, source='csb', filts='mos')

mags = np.arange(14.0, 24.5, 0.5)

exptarr = np.zeros((mags.size, vegacsb['filter'].size), np.float)
snrarr = np.zeros((mags.size, vegacsb['filter'].size), np.float)

mexptarr = np.zeros((mags.size, vegamcsb['filter'].size), np.float)
msnrarr = np.zeros((mags.size, vegamcsb['filter'].size), np.float)

sn = 5.0
ft = 300.0 # fowler time in secs

for j, f in enumerate(vegacsb['filter']):
    ef = open('tables/sharcexpt-csb'+f+'.txt', 'w')
Ejemplo n.º 2
0
#bdfits, bdhdr = fits.getdata('spectra/stars/bd21d0607_stis_003.fits', header=True)
#bd.names
# ['WAVELENGTH', 'FLUX', 'STATERROR', 'SYSERROR', 'FWHM', 'DATAQUAL', 'TOTEXP']
waves = bdfits.field(0) / 10.0 # convert to nm
# convert from ergs s-1 cm-2 A-1 to ergs s-1 m-2 nm-1
flux = bdfits.field(1) * 1.0e5

bd = np.column_stack([waves, flux])

#vega = np.loadtxt('spectra/alpha_lyr_stis_005.txt')
# convert from ergs s-1 cm-2 A-1 to ergs s-1 m-2 nm-1
#vegaflux = vega[:,1]*1.0e5
#vega[:,1] = vegaflux

#vegalamb = vega[:,0]/10.0   # table has wavelength in angstroms
#vega[:,0] = vegalamb

# K band strehl ratios
#olstr = 0.6
#ols = str(olstr)
#shastr = 0.8
#shas = str(shastr)
# Send bd & vega through the telescope
temp = 10.6
dufr = 0.01
bd60 = ss.simshane(bd,skymod='cp',df=dufr,odel=0.01,aoT=temp,aperrad=60.0)
bd80 = ss.simshane(bd,skymod='cp',df=dufr,odel=0.01,aoT=temp,aperrad=80.0)
bd10 = ss.simshane(bd,skymod='cp',df=dufr,odel=0.01,aoT=temp,aperrad=100.0)
# Angie's darks taken at 20C
#bd20 = ss.simshane(bd,skymod='cp',df=0.02,odel=0.01,aoT=20.0)
Ejemplo n.º 3
0
import matplotlib as m
import matplotlib.pyplot as mp
import simshane as ss
import pyfits as pf

from astropy.io import fits
m.interactive(True)

# read in spectrum
hddata, hdhdr = fits.getdata('spectra/stars/hd165459_stisnic_002.fits', header=True)

# column 1 is wavelengths in Angstroms, assign to array and convert to nm
lambdas = hddata.field(0)/10
# column 2 is F_lam in ergs s-1 cm-2 A-1, convert to ergs s-1 m-2 nm-1
hdflux  = hddata.field(1) * 1.0e5

#K-band strehl
kstrehl = 0.8
kss     = str(kstrehl)

# Send star through telescope
hd = np.column_stack((lambdas, hdflux)) # create 2 column array
# 16 x 16 subaps
# J
hdout  = ss.simshane(hd,skymod='cp',df=0.01,odel=0.01,aoT=23, subaps=8, aperrad=35.0)
# H
hdout  = ss.simshane(hd,skymod='cp',df=0.01,odel=0.01,aoT=23, subaps=8, aperrad=20.0)
# Ks
hdout  = ss.simshane(hd,skymod='cp',df=0.01,odel=0.01,aoT=23, subaps=8, aperrad=15.0)
#hdout8 = ss.simshane(hd,skymod='cp',df=0.03,odel=0.01,subaps=8,aoT=18.0)
Ejemplo n.º 4
0
vegaflux = vega[:,1]*1.0e5
vega[:,1] = vegaflux

vegalamb = vega[:,0]/10.0   # table has wavelength in angstroms
vega[:,0] = vegalamb

# K band strehl ratios
ircstr = 0.42
ircs = str(ircstr)
olstr = 0.6
ols = str(olstr)
shastr = 0.8
shas = str(shastr)
# Send vega through the telescope
vegairc = si.simIrcal(vega,skymod='cp',df=0.03,odel=0.01,aoT=18.0,sref=ircstr)
vegaout = ss.simshane(vega,skymod='cp',df=0.03,odel=0.01,aoT=18.0)
# Numbers for old laser system - only 8x8 subapertures
vegamos  = ss.simshane(vega,skymod='cp',df=0.03,odel=0.01,subaps=8,aoT=18.0)
#vegamos = ss.simshane(vega,skymod='cp',df=0.03,odel=0.01,aoT=18.0,filts='mos')

# magnitude range
mags = np.arange(15.0, 25.5, 0.5)
# exposure time array mags (rows) x filters (columns)
exptarr = np.zeros((mags.size, vegaout['filter'].size), np.float)
snrarr = np.zeros((mags.size, vegaout['filter'].size), np.float)

iexptarr = np.zeros((mags.size, vegairc['filter'].size), np.float)
isnrarr = np.zeros((mags.size, vegairc['filter'].size), np.float)

mexptarr = np.zeros((mags.size, vegamos['filter'].size), np.float)
msnrarr = np.zeros((mags.size, vegamos['filter'].size), np.float)