def test_griddata_fits(): """Round tripping with write_griddata_fits() and read_griddata_fits()""" x0 = np.array([0., 1.]) x1 = np.array([0., 1., 2.]) y = np.zeros((2, 3)) f = BytesIO() sncosmo.write_griddata_fits(x0, x1, y, f) # Read it back f.seek(0) x0_in, x1_in, y_in = sncosmo.read_griddata_fits(f) assert_allclose(x0_in, x0) assert_allclose(x1_in, x1) assert_allclose(y_in, y) f.close() # Test reading 3-d grid data. We don't have a writer for # this, so we write a temporary FITS file by hand. x2 = np.array([3., 5., 7., 9]) y = np.zeros((len(x0), len(x1), len(x2))) # write a FITS file that represents x0, x1, x2, y w = wcs.WCS(naxis=3) w.wcs.crpix = [1, 1, 1] w.wcs.crval = [x2[0], x1[0], x0[0]] w.wcs.cdelt = [2., 1., 1.] hdu = fits.PrimaryHDU(y, header=w.to_header()) f = BytesIO() hdu.writeto(f) # Read it back f.seek(0) x0_in, x1_in, x2_in, y_in = sncosmo.read_griddata_fits(f) f.close() assert_allclose(x0_in, x0) assert_allclose(x1_in, x1) assert_allclose(x2_in, x2) assert_allclose(y_in, y)
def test_griddata_fits(): """Round tripping with write_griddata_fits() and read_griddata_fits()""" x0 = np.array([0., 1.]) x1 = np.array([0., 1., 2.]) y = np.zeros((2, 3)) f = six.BytesIO() sncosmo.write_griddata_fits(x0, x1, y, f) # Read it back f.seek(0) x0_in, x1_in, y_in = sncosmo.read_griddata_fits(f) assert_allclose(x0_in, x0) assert_allclose(x1_in, x1) assert_allclose(y_in, y) f.close() # Test reading 3-d grid data. We don't have a writer for # this, so we write a temporary FITS file by hand. x2 = np.array([3., 5., 7., 9]) y = np.zeros((len(x0), len(x1), len(x2))) # write a FITS file that represents x0, x1, x2, y w = wcs.WCS(naxis=3) w.wcs.crpix = [1, 1, 1] w.wcs.crval = [x2[0], x1[0], x0[0]] w.wcs.cdelt = [2., 1., 1.] hdu = fits.PrimaryHDU(y, header=w.to_header()) f = six.BytesIO() hdu.writeto(f) # Read it back f.seek(0) x0_in, x1_in, x2_in, y_in = sncosmo.read_griddata_fits(f) f.close() assert_allclose(x0_in, x0) assert_allclose(x1_in, x1) assert_allclose(x2_in, x2) assert_allclose(y_in, y)
def model_Ia_hsiao(self): """ """ sncosmo.get_source('hsiao', version='3.0') p, w, f = sncosmo.read_griddata_fits( os.path.join(sncosmo.builtins.get_cache_dir(), 'sncosmo/models/hsiao/Hsiao_SED_V3.fits') ) return sncosmo.Model( source=sncosmo.StretchSource(p, w, f, name='hsiao-stretch'), effects=[sncosmo.CCM89Dust()], effect_names=['host'], effect_frames=['rest'] )
def test_griddata_fits(): """Round tripping with write_griddata_fits() and read_griddata_fits()""" x0 = np.array([0., 1.]) x1 = np.array([0., 1., 2.]) y = np.zeros((2, 3)) f = six.BytesIO() sncosmo.write_griddata_fits(x0, x1, y, f) # Read it back f.seek(0) x0_in, x1_in, y_in = sncosmo.read_griddata_fits(f) assert_allclose(x0_in, x0) assert_allclose(x1_in, x1) assert_allclose(y_in, y)
phot_d.sort('time') # Set redshift, initial t0 and MW extinction z, lensz, it0 = 0.409, 0.216, 57651.2 # Galactic dust model, assuming that the photometry has not been # corrected for MW extinction. dust = sncosmo.CCM89Dust() ########################################################################### # LIGHTCURVE MODEL # setup Hsiao SN Ia stretch-model p, w, f = sncosmo.read_griddata_fits( '/usr/local/lib/python2.7/dist-packages/snpy/typeIa/Hsiao_SED_V3.fits') mHs = sncosmo.StretchSource(p, w, f, name='hsiao-stretch') mH = sncosmo.Model(source=mHs, effects=[dust, dust, dust], effect_names=['mw', 'host', 'lens'], effect_frames=['obs', 'rest', 'free']) ref = copy.copy(mH) mH.set(mwr_v=3.1) mH.set(z=z, lensz=lensz) mH.set(t0=it0) # Set the initial model, construct a MI_model with it mH.set(amplitude=3.e-8, hostebv=0.1, hostr_v=3.1, lensr_v=2.0) # Setup model based on SNoopy fit for 16geu #geu_source = sn16geu(it0,1.e+9)