Example #1
0
 def setUpClass(ModelTestCase):
     """ Setup the tmap grid as it is smaller and thus faster as kurucz"""
     model.set_defaults(grid='kurucztest')
     grid1 = dict(grid='tmaptest')
     grid2 = dict(grid='tmaptest')
     model.set_defaults_multiple(grid1,grid2)
     model.copy2scratch(z='*', Rv='*')      
Example #2
0
 def testiGrid_searchBinary(self):
     """ INTEGRATION igrid_search binary star (kurucz-tmap) """
     sed = builder.BinarySED(ID='TEST', load_fits=False)
     np.random.seed(111)
     meas = self.measBin + np.random.uniform(0, 0.04, size=len(self.measBin)) * self.measBin
     emeas = meas / 100.0
     units = ['erg/s/cm2/AA' for i in meas]
     source = ['SYNTH' for i in meas]
     sed.add_photometry_fromarrays(meas, emeas, units, self.photbands, source)
     
     grid1 = dict(grid='kurucztest')
     grid2 = dict(grid='tmaptest')
     model.set_defaults_multiple(grid1,grid2)
     
     np.random.seed(111)
     sed.igrid_search(points=100000,teffrange=[(5000, 7000),(25000, 35000)],
                      loggrange=[(3.5, 4.5),(5.0, 6.0)],
                      ebvrange=[(0.005, 0.015), (0.005, 0.015)],
                      zrange=[(0,0),(0,0)],
                      radrange=[(0,10),(0,10)],
                      masses=self.masses,
                      df=None,CI_limit=0.95,set_model=False)
     
     teff = sed.results['igrid_search']['CI']['teff']
     logg = sed.results['igrid_search']['CI']['logg']
     ebv = sed.results['igrid_search']['CI']['ebv']
     teff2 = sed.results['igrid_search']['CI']['teff2']
     logg2 = sed.results['igrid_search']['CI']['logg2']
     ebv2 = sed.results['igrid_search']['CI']['ebv2']
     
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff'], 6134, delta=50)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg'], 4.38, delta=0.25)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv'], 0.008, delta=0.002)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff_l'], 5826, delta=50)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg_l'], 4.35, delta=0.1)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv_l'], 0.005, delta=0.002)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff_u'], 6291, delta=50)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg_u'], 4.40, delta=0.1)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv_u'], 0.015, delta=0.002)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff2'], 32195, delta=250)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg2'], 5.97, delta=0.25)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv2'], 0.008, delta=0.002)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff2_l'], 26820, delta=250)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg2_l'], 5.70, delta=0.1)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv2_l'], 0.005, delta=0.002)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['teff2_u'], 33025, delta=250)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['logg2_u'], 5.99, delta=0.1)
     self.assertAlmostEqual(sed.results['igrid_search']['CI']['ebv2_u'], 0.015, delta=0.002)
Example #3
0
 def setUpClass(cls):
     if not noMock:
         sesame.search = mock.Mock(return_value={'plx':(0.0,0.0)})
     if not noIntegration:
         # ==== COLD model ====
         model.set_defaults(grid='kurucztest')
         model.copy2scratch(z='*', Rv='*')
         measCold = model.get_itable_pix(photbands=cls.photbands, teff=array([6000]), \
                             logg=array([4.0]),ebv=array([0.01]), rv=array([2.8]), z=array([-0.25]))[0][:,0]
         
         np.random.seed(111)
         cls.measCold = measCold
         
         # ==== HOT model ====
         model.set_defaults(grid='tmaptest')
         model.copy2scratch(z='*', Rv='*')
         measHot = model.get_itable_pix(photbands=cls.photbands, teff=array([30000]), \
                             logg=array([5.5]),ebv=array([0.01]), rv=3.1, z=0.0)[0][:,0]
         
         np.random.seed(111)
         cls.measHot = measHot
         
         # ==== BINARY model ====
         grid1 = dict(grid='kurucztest')
         grid2 = dict(grid='tmaptest')
         model.set_defaults_multiple(grid1,grid2)
         model.clean_scratch(z='*', Rv='*')
         model.copy2scratch(z='*', Rv='*')
         
         G, Msol, Rsol = constants.GG_cgs, constants.Msol_cgs, constants.Rsol_cgs
         masses = [0.85, 0.50]
         rad = array([np.sqrt(G*masses[0]*Msol/10**4.0)/Rsol])
         rad2 = array([np.sqrt(G*masses[1]*Msol/10**5.5)/Rsol])
         
         measBin = model.get_itable_pix(photbands=cls.photbands, teff=array([6000]), \
                             logg=array([4.0]),ebv=array([0.01]), teff2=array([30000]),
                             logg2=array([5.5]), ebv2=array([0.01]), rad=rad,
                             rad2=rad2)[0][:,0]
                             
         np.random.seed(111)
         cls.measBin = measBin
         cls.masses = masses