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='*')
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)
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