def setup2(self): try: self.oldpath = os.path.abspath(os.curdir) if os.path.isdir(os.path.join(locations.specdir, 'generic')): os.chdir(os.path.join(locations.specdir, 'generic')) else: os.chdir(locations.specdir) self.sp = spparser.parse_spec(self.spectrum) self.sp = spparser.parse_spec(self.spectrum) self.bp = S.ObsBandpass(self.obsmode) self.parameters = ["spectrum=%s" % self.spectrum, "instrument=%s" % self.obsmode] except AttributeError: pass
def setparms(self): self.sp = parse_spec( 'rn(icat(k93models,44500,0.0,5.0),box(2000.0,1.0),2.00E-13,flam)') self.bp = ObsBandpass('cos,nuv,g185m,c1835') self.ref_rate = 1559.37 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV6.fits'
def setparms(self): self.sp=parse_spec('spec(earthshine.fits)*0.5+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5') self.bp=ObsBandpass('cos,nuv,g185m,c1850') self.ref_rate=6.7e-05 self.cmd='SpecSourcerateSpec' self.fname='specAV7.fits' self.accuracy=1e-2
def setparms(self): self.sp=parse_spec('rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5') self.bp=ObsBandpass('cos,fuv,g160m,c1577') self.ref_rate=3.75132e-05 self.cmd='SpecSourcerateSpec' self.fname='specAV56.fits' self.accuracy=1e-2
def setup2(self): try: self.oldpath = os.path.abspath(os.curdir) if os.path.isdir(os.path.join(locations.specdir, 'generic')): os.chdir(os.path.join(locations.specdir, 'generic')) else: os.chdir(locations.specdir) self.sp = spparser.parse_spec(self.spectrum) self.sp = spparser.parse_spec(self.spectrum) self.bp = S.ObsBandpass(self.obsmode) self.parameters = [ "spectrum=%s" % self.spectrum, "instrument=%s" % self.obsmode ] except AttributeError: pass
def setparms(self): self.sp=parse_spec('spec(earthshine.fits)*0.5+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)*0.1+spec(el1302a.fits)*0.066666667+spec(el1356a.fits)*0.0060+spec(el2471a.fits)*0.0050)') self.bp=ObsBandpass('cos,fuv,g160m,c1577') self.ref_rate=3.75908e-05 self.cmd='SpecSourcerateSpec' self.fname='specAV59.fits' self.accuracy=1e-2
def setparms(self): self.sp = parse_spec( 'rn(z(spec(qso_template.fits),0.2),box(1850.0,1.0),1.00E-14,flam)') self.bp = ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate = 47.2336 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV93.fits'
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0),band(johnson,v),16,vegamag)') self.bp=ObsBandpass('cos,fuv,g130m,c1309') self.ref_rate=8657.44 self.cmd='SpecSourcerateSpec' self.fname='specAV53.fits' self.accuracy = 0.025
def setparms(self): self.sp = parse_spec( 'rn(pl(4000.0,-1.5,flam),box(1850.0,1.0),1.00E-14,flam)') self.bp = ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate = 71.8377 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV95.fits'
def setparms(self): self.sp=parse_spec('spec(earthshine.fits)*2.0+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5') self.bp=ObsBandpass('cos,nuv,g225m,c2186') self.ref_rate=0.000906 self.cmd='SpecSourcerateSpec' self.fname='specAV109.fits' self.accuracy=1e-2
def setparms(self): self.sp = parse_spec( 'rn(icat(k93models,25400,0.0,3.9),box(2000.0,1.0),2.00E-13,flam)') self.bp = ObsBandpass('cos,nuv,g225m,c2186') self.ref_rate = 1460.12 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV105.fits'
def setUp(self): self.fname='/tmp/epsilon.fits' self.old_cwd = os.getcwd() os.chdir(os.path.dirname(__file__)) self.obsmode='wfc3,ir,f160w' self.spstring='rn(spec(data/bz_7.fits),band(cousins,i),28.0,vegamag)*ebmvx(0.04,gal1)' self.sp=spparser.parse_spec(self.spstring) self.sp.writefits(self.fname,precision='single')
def setparms(self): self.sp = parse_spec( 'rn(icat(k93models,44500,0.0,5.0)*ebmvx(0.1,gal1),box(1850.0,1.0),2.00E-13,flam)' ) self.bp = ObsBandpass('cos,nuv,g185m,c1786') self.ref_rate = 1180.17 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV98.fits'
def setparms(self): spname=os.path.join(os.environ['PYSYN_CDBS'], 'calspec', 'feige110_stis_001.fits') self.sp=parse_spec('rn(spec(%s),box(1499.9999999999998,1.0),1.00E-14,flam)'%spname) self.bp=ObsBandpass('cos,fuv,g140l,c1230') self.ref_rate=616.373 self.cmd='SpecSourcerateSpec' self.fname='specAV41.fits'
def setparms(self): self.sp = parse_spec( 'spec(earthshine.fits)*0.5+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5' ) self.bp = ObsBandpass('cos,nuv,g185m,c1850') self.ref_rate = 6.7e-05 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV7.fits' self.accuracy = 1e-2
def setparms(self): self.sp = parse_spec( 'spec(earthshine.fits)*2.0+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5' ) self.bp = ObsBandpass('cos,nuv,g225m,c2186') self.ref_rate = 0.000906 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV109.fits' self.accuracy = 1e-2
def setUp(self): fname = os.path.join('data', 'qso_template.fits') self.old_cwd = os.getcwd() os.chdir(os.path.dirname(__file__)) self.spstring='rn(z(spec(%s),0.03),band(johnson,v),18,vegamag)' %fname self.sp=spparser.parse_spec(self.spstring) self.sp.convert('photlam') self.bp=S.ObsBandpass('stis,ccd,g750l,c7751,s52x02') self.refwave=6200 self.refval=2.97759742e-06
def setUp(self): fname = os.path.join('data', 'qso_template.fits') self.old_cwd = os.getcwd() os.chdir(os.path.dirname(__file__)) self.spstring = 'rn(z(spec(%s),0.03),band(johnson,v),18,vegamag)' % fname self.sp = spparser.parse_spec(self.spstring) self.sp.convert('photlam') self.bp = S.ObsBandpass('stis,ccd,g750l,c7751,s52x02') self.refwave = 6200 self.refval = 2.97759742e-06
def setparms(self): self.sp=parse_spec('rn(icat(k93models,25400,0.0,3.9),box(2000.0,1.0),2.00E-13,flam)+em(1590.0,3.0,6.0E-13,flam)') self.bp=ObsBandpass('cos,fuv,g160m,c1577') self.ref_rate=15325.8 self.cmd='SpecSourcerateSpec' self.fname='specAV64.fits'
def test_double_slash(): sp = parser.parse_spec("spec($PYSYN_CDBS//calspec/gd71_mod_005.fits)") assert True
def test_partial(self): #This should work with a warning sp = parser.parse_spec(self.partial_str) assert 'force_renorm' in sp.warnings
def setparms(self): self.sp=parse_spec('spec(earthshine.fits)*0.5+rn(spec(Zodi.fits),band(johnson,v),22.7,vegamag)+(spec(el1215a.fits)+spec(el1302a.fits)+spec(el1356a.fits)+spec(el2471a.fits))*0.5') self.bp=ObsBandpass('cos,fuv,g130m,c1318') self.ref_rate=26.5469 self.cmd='SpecSourcerateSpec' self.fname='specAV7.fits'
def setparms(self): self.sp=parse_spec('rn(z(spec(qso_template.fits),0.2),box(1499.9999999999998,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,fuv,g140l,c1230') self.ref_rate=369.741 self.cmd='SpecSourcerateSpec' self.fname='specAV43.fits'
def setparms(self): self.sp=parse_spec('rn(pl(4000.0,-1.5,flam),box(1499.9999999999998,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,fuv,g140l,c1230') self.ref_rate=529.95 self.cmd='SpecSourcerateSpec' self.fname='specAV45.fits'
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0)*ebmvx(0.1,xgal),box(1320.0000000000002,1.0),2.00E-13,flam)') self.bp=ObsBandpass('cos,fuv,g130m,c1291') self.ref_rate=8761.14 self.cmd='SpecSourcerateSpec' self.fname='specAV63.fits'
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0)*ebmvx(0.1,gal1),box(1850.0,1.0),2.00E-13,flam)') self.bp=ObsBandpass('cos,nuv,g185m,c1786') self.ref_rate=1180.17 self.cmd='SpecSourcerateSpec' self.fname='specAV98.fits'
def setparms(self): self.sp=parse_spec('spec(us1.dat)') self.bp=ObsBandpass('cos,fuv,g140l,c1230') self.ref_rate=4836.31 self.cmd='SpecSourcerateSpec' self.fname='specAV39.fits'
def testparse_shell(self): sp = parse_spec('$PYSYN_CDBS/calspec/gd50_004.fits') self.assertTrue(self.ref == str(sp))
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0),box(1330.0,1.0),2.00E-13,flam)') self.bp=ObsBandpass('cos,fuv,g130m,c1318') self.ref_rate=9610.83 self.cmd='SpecSourcerateSpec' self.fname='specAV8.fits'
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0),box(1320.0000000000002,1.0),2.00E-17,flam)') self.bp=ObsBandpass('cos,fuv,g130m,c1291') self.ref_rate=0.901731 self.cmd='SpecSourcerateSpec' self.fname='specAV68.fits'
def testparse(self): self.spstring = spparser.parse_spec(self.spstring)
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0),box(2000.0,1.0),2.00E-13,flam)') self.bp=ObsBandpass('cos,nuv,g185m,c1850') self.ref_rate=1571.19 self.cmd='SpecSourcerateSpec' self.fname='specAV8.fits'
def setparms(self): self.sp=parse_spec('rn(bb(40000.0),box(2000.0,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,fuv,g160m,c1600') self.ref_rate=821.994 self.cmd='SpecSourcerateSpec' self.fname='specAV47.fits'
def testparse_iraf(self): sp = parse_spec('crcalspec$gd50_004.fits') self.assertTrue(self.ref == str(sp))
def setparms(self): self.sp = parse_spec('rn(bb(40000.0),box(1850.0,1.0),1.00E-14,flam)') self.bp = ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate = 64.6011 self.cmd = 'SpecSourcerateSpec' self.fname = 'specAV97.fits'
def setparms(self): self.sp=parse_spec('rn(pl(4000.0,-1.5,flam),box(1850.0,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate=71.8377 self.cmd='SpecSourcerateSpec' self.fname='specAV95.fits'
def setparms(self): self.sp=parse_spec('rn(icat(k93models,44500,0.0,5.0),box(1320.0000000000002,1.0),1.00E-16,flam)') self.bp=ObsBandpass('cos,fuv,g130m,c1309') self.ref_rate=4.73628 self.cmd='SpecSourcerateSpec' self.fname='specAV71.fits'
def setUp(self): #Test with the discovery case self.rband=(1146,1213) bp=S.ObsBandpass('cos,fuv,g130m,c1318,psa') sp=parse_spec("rn(icat(k93models,44500,0.0,5.0),box(1330.000000,1.),2e-013,flam)") self.obs=S.Observation(sp,bp)
def setup2(cls): #Do the common setup here. cls.sigthresh = 0.01 cls.thresh = 0.01 okfile = os.path.join(cls.location, cls.fname.replace('_%s.fits', '.okfile')) cls.tda = dict(obsmode=cls.obsmode, spectrum=cls.spectrum, thresh=cls.thresh, sigthresh=cls.sigthresh, _okfile=okfile) cls.tra = dict() cls.okset = set() # Tracks okifying bookkeeping if cls.obsmode != 'None': kind = 'thru' cls.bp = S.ObsBandpass(cls.obsmode) tname = os.path.join(cls.location, cls.fname % kind) cls.bp.writefits(tname, clobber=True, trimzero=False) cls.tra[kind] = cls.bp.name cls.okset.add(kind) else: cls.bp = None if cls.spectrum != 'None': kind = 'spec' #All the data lives in a parallel directory, so go sit there #in case we need a file os.chdir(DATADIR) cls.sp = spparser.parse_spec(cls.spectrum) os.chdir(cls.location) tname = os.path.join(cls.location, cls.fname % kind) cls.sp.writefits(tname, clobber=True, trimzero=False) cls.tra[kind] = cls.sp.name cls.okset.add(kind) else: cls.sp = None if 'None' not in (cls.obsmode, cls.spectrum): kind = 'obs' try: cls.obs = S.Observation(cls.sp, cls.bp) except ValueError as e: #Force extrapolation in the case of partialoverlap try: cls.obs = S.Observation(cls.sp, cls.bp, force='extrap') cls.tda['extrap'] = True except ValueError as e: cls.tra['obs_error'] = str(e) cls.obs = str(e) return # then the obs tests should raise errors cls.obs.convert('counts') x = dict(PSCNTRAT=(cls.obs.countrate(), 'countrate'), PSEFFLAM=(cls.obs.efflam(), 'efflam')) tname = os.path.join(cls.location, cls.fname % kind) cls.obs.writefits(tname, hkeys=x, clobber=True, trimzero=False) cls.tra[kind] = cls.obs.name cls.okset.add(kind) else: cls.obs = None
def setparms(self): self.sp=parse_spec('rn(z(spec(qso_template.fits),0.2),box(1850.0,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate=47.2336 self.cmd='SpecSourcerateSpec' self.fname='specAV93.fits'
def setup2(cls): #Do the common setup here. cls.sigthresh = 0.01 cls.thresh = 0.01 okfile = os.path.join(cls.location, cls.fname.replace('_%s.fits', '.okfile')) cls.tda = dict(obsmode=cls.obsmode, spectrum=cls.spectrum, thresh=cls.thresh, sigthresh=cls.sigthresh, _okfile=okfile) cls.tra = dict() cls.okset = set() # Tracks okifying bookkeeping if cls.obsmode != 'None': kind = 'thru' cls.bp=S.ObsBandpass(cls.obsmode) tname = os.path.join(cls.location, cls.fname % kind) cls.bp.writefits(tname, clobber=True, trimzero=False) cls.tra[kind] = cls.bp.name cls.okset.add(kind) else: cls.bp = None if cls.spectrum != 'None': kind = 'spec' #All the data lives in a parallel directory, so go sit there #in case we need a file os.chdir(DATADIR) cls.sp = spparser.parse_spec(cls.spectrum) os.chdir(cls.location) tname = os.path.join(cls.location, cls.fname % kind) cls.sp.writefits(tname, clobber=True, trimzero=False) cls.tra[kind] = cls.sp.name cls.okset.add(kind) else: cls.sp = None if 'None' not in (cls.obsmode, cls.spectrum): kind = 'obs' try: cls.obs = S.Observation(cls.sp, cls.bp) except ValueError as e: #Force extrapolation in the case of partialoverlap try: cls.obs = S.Observation(cls.sp, cls.bp, force='extrap') cls.tda['extrap']=True except ValueError as e: cls.tra['obs_error'] = str(e) cls.obs = str(e) return # then the obs tests should raise errors cls.obs.convert('counts') x = dict(PSCNTRAT = (cls.obs.countrate(),'countrate'), PSEFFLAM = (cls.obs.efflam(),'efflam')) tname = os.path.join(cls.location, cls.fname % kind) cls.obs.writefits(tname, hkeys=x, clobber=True, trimzero=False) cls.tra[kind] = cls.obs.name cls.okset.add(kind) else: cls.obs = None
def setparms(self): self.sp=parse_spec('rn(bb(40000.0),box(1850.0,1.0),1.00E-14,flam)') self.bp=ObsBandpass('cos,nuv,g185m,c2010') self.ref_rate=64.6011 self.cmd='SpecSourcerateSpec' self.fname='specAV97.fits'
def testparse(self): sp2=spparser.parse_spec(self.cmd) ratio=sp2.flux/self.sp.flux self.failUnless(N.all(1-abs(ratio/self.ref)<0.0001))
def setparms(self): self.sp=parse_spec('rn(icat(k93models,25400,0.0,3.9),box(2000.0,1.0),2.00E-13,flam)') self.bp=ObsBandpass('cos,nuv,g225m,c2186') self.ref_rate=1460.12 self.cmd='SpecSourcerateSpec' self.fname='specAV105.fits'
def testwarn(self): self.sp = spparser.parse_spec(self.syncmd) self.tra = dict(spwarn=str(self.sp.warnings), name=str(self.sp)) self.assertFalse('PartialRenorm' not in self.sp.warnings)
def test_pound(): sp = parser.parse_spec( "rn(unit(1.,flam),band(acs,wfc1,fr388n#3881.0),10.000000,abmag)") assert True
def test_x_decimal(): raise SkipTest('does not work') sp = parser.parse_spec( "rn(unit(1.,flam),band(stis,ccd,g430m,c4451,52X0.2),10.000000,abmag)") assert True
def testparse(self): self.spstring=spparser.parse_spec(self.spstring)
def test_50CCD(): raise SkipTest('does not work') sp = parser.parse_spec( "rn(unit(1.,flam),band(stis,ccd,mirror,50CCD),10.000000,abmag)") assert True
def testparse(self): sp2 = spparser.parse_spec(self.cmd) ratio = sp2.flux / self.sp.flux self.failUnless(N.all(1 - abs(ratio / self.ref) < 0.0001))