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')
#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)
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)
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)