Example #1
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
Example #2
0
 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)  
Example #3
0
 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)