Exemple #1
0
 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
Exemple #2
0
 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'
Exemple #3
0
 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
Exemple #4
0
 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
Exemple #5
0
 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
Exemple #6
0
 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
Exemple #7
0
 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'
Exemple #8
0
 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
Exemple #9
0
 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'
Exemple #10
0
 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
Exemple #11
0
 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'
Exemple #12
0
 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')
Exemple #13
0
 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'
Exemple #14
0
 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'
Exemple #15
0
 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
Exemple #16
0
 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
Exemple #17
0
 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
Exemple #18
0
 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
Exemple #19
0
 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'
Exemple #20
0
def test_double_slash():
    sp = parser.parse_spec("spec($PYSYN_CDBS//calspec/gd71_mod_005.fits)")
    assert True
Exemple #21
0
 def test_partial(self):
     #This should work with a warning
     sp = parser.parse_spec(self.partial_str)
     assert 'force_renorm' in sp.warnings
Exemple #22
0
 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'
Exemple #23
0
 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'
Exemple #24
0
 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'
Exemple #25
0
 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'
Exemple #26
0
 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'
Exemple #27
0
 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'
Exemple #28
0
 def testparse_shell(self):
     sp = parse_spec('$PYSYN_CDBS/calspec/gd50_004.fits')
     self.assertTrue(self.ref == str(sp))
Exemple #29
0
 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'
Exemple #30
0
 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'
Exemple #31
0
 def testparse(self):
     self.spstring = spparser.parse_spec(self.spstring)
Exemple #32
0
 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'
Exemple #33
0
 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'
Exemple #34
0
 def testparse_iraf(self):
     sp = parse_spec('crcalspec$gd50_004.fits')
     self.assertTrue(self.ref == str(sp))
Exemple #35
0
 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'
Exemple #36
0
 def testparse_iraf(self):
     sp = parse_spec('crcalspec$gd50_004.fits')
     self.assertTrue(self.ref == str(sp))
Exemple #37
0
 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'
Exemple #38
0
 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'
Exemple #39
0
 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)
Exemple #40
0
    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
Exemple #41
0
 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'
Exemple #42
0
    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
Exemple #43
0
 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'
Exemple #44
0
 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))
Exemple #45
0
 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'
Exemple #46
0
 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)
Exemple #47
0
def test_pound():
    sp = parser.parse_spec(
        "rn(unit(1.,flam),band(acs,wfc1,fr388n#3881.0),10.000000,abmag)")
    assert True
Exemple #48
0
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
Exemple #49
0
 def testparse(self):
     self.spstring=spparser.parse_spec(self.spstring)
Exemple #50
0
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
Exemple #51
0
 def testparse_shell(self):
     sp = parse_spec('$PYSYN_CDBS/calspec/gd50_004.fits')
     self.assertTrue(self.ref == str(sp))
Exemple #52
0
 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))