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
def testGetItablePixSingle(self): """ model.get_itable_pix() single case """ bgrid = {'teff': array([ 5500., 6874., 9645., 7234., 5932.]), 'logg': array([ 3.57, 4.00, 4.21, 3.84, 3.25]), 'ebv': array([ 0.0018, 0.0077, 0.0112, 0.0046, 0.0110]), 'rv': array([ 2.20, 2.40, 2.60, 2.80, 3.00]), 'z': array([ -0.5, -0.4, -0.3, -0.2, 0.0])} flux_,Labs_ = model.get_itable_pix(photbands=self.photbands, **bgrid) flux = [[3255462., 13286738., 53641850., 16012786., 4652578.69189492], [967634., 1262321., 1789486., 1336016., 1066763.]] Labs = [0.819679, 1.997615, 7.739527, 2.450019, 1.107916] self.assertArrayAlmostEqual(flux_[0],flux[0],delta=100) self.assertArrayAlmostEqual(flux_[1],flux[1],delta=100) self.assertArrayAlmostEqual(Labs_,Labs,places=3)
def testGetItablePixBinary(self): """ model.get_itable_pix() multiple case """ bgrid = {'teff': array([ 22674., 21774., 22813., 29343., 28170.]), 'logg': array([ 5.75, 6.07, 6.03 , 6.38, 5.97]), 'ebv': array([ 0.0018, 0.0077, 0.0112, 0.0046, 0.0110]), 'rad': array([ 4.96, 7.34, 4.56, 3.30, 8.54]), 'teff2': array([ 38779., 36447., 32099. , 31392., 35893.]), 'logg2': array([ 4.67, 4.92, 5.46, 4.96, 4.85]), 'ebv2': array([ 0.0018, 0.0077, 0.0112, 0.0046, 0.0110]), 'rad2': array([ 6.99, 9.61, 9.55, 6.55, 3.99])} flux_,Labs_ = model.get_itable_pix(photbands=self.photbands, **bgrid) flux = [[1.69858e+11, 2.88402e+11, 1.98190e+11, 1.00088e+11, 1.39618e+11], [5.78019e+08, 1.04221e+09, 7.42561e+08, 3.63444e+08, 5.52846e+08]] Labs = [67046.5663, 115877.0362, 81801.3768, 39791.7467, 56369.3989] self.assertArrayAlmostEqual(flux_[0],flux[0],delta=0.01e+11) self.assertArrayAlmostEqual(flux_[1],flux[1],delta=0.01e+09) self.assertArrayAlmostEqual(Labs_,Labs,places=3)