def __init__(self, ps=None, sigma_v=0.0, redshift=0.0, **kwargs): if ps == None: from os.path import join, dirname #psfile = join(dirname(__file__),"data/ps_z1.5.dat") #psfile = join(dirname(__file__),"data/wigglez_halofit_z1.5.dat") psfile = join(dirname(__file__),"data/wigglez_halofit_z0.8.dat") print "loading matter power file: " + psfile redshift = 0.8 #pk_interp = cs.LogInterpolater.fromfile(psfile) pwrspec_data = np.genfromtxt(psfile) (log_k, log_pk) = (np.log(pwrspec_data[:,0]), \ np.log(pwrspec_data[:,1])) logpk_interp = interpolate.interp1d(log_k, log_pk, bounds_error=False, fill_value=np.min(log_pk)) pk_interp = lambda k: np.exp(logpk_interp(np.log(k))) kstar = 7.0 ps = lambda k: np.exp(-0.5 * k**2 / kstar**2) * pk_interp(k) self._sigma_v = sigma_v RedshiftCorrelation.__init__(self, ps_vv=ps, redshift=redshift)
def __init__(self, ps = None, redshift = 0.0, **kwargs): if ps == None: from os.path import join, dirname psfile = join(dirname(__file__),"data/ps_z1.5.dat") redshift = 1.5 kstar = 5.0 c1 = cs.LogInterpolater.fromfile(psfile) ps = lambda k: np.exp(-0.5 * k**2 / kstar**2) * c1(k) RedshiftCorrelation.__init__(self, ps_vv = ps, redshift = redshift)
def __init__(self, ps=None, redshift=0.0, **kwargs): from os.path import join, dirname if ps == None: psfile = join(dirname(__file__), "data/ps_z1.5.dat") redshift = 1.5 c1 = cs.LogInterpolater.fromfile(psfile) ps = lambda k: np.exp(-0.5 * k**2 / self._kstar**2) * c1(k) RedshiftCorrelation.__init__(self, ps_vv=ps, redshift=redshift) self._load_cache(join(dirname(__file__), "data/corr_z1.5.dat"))
def __init__(self, ps = None, redshift = 0.0, sigma_v=0.0, **kwargs): from os.path import join, dirname if ps == None: psfile = join(dirname(__file__),"data/ps_z1.5.dat") redshift = 1.5 c1 = cs.LogInterpolater.fromfile(psfile) ps = lambda k: np.exp(-0.5 * k**2 / self._kstar**2) * c1(k) self._sigma_v = sigma_v RedshiftCorrelation.__init__(self, ps_vv=ps, redshift=redshift) self._load_cache(join(dirname(__file__),"data/corr_z1.5.dat"))
def angular_powerspectrum_full(self, l, nu1, nu2, redshift=False): """Calculate the angular powerspectrum by explicit integration. Parameters ---------- l : np.ndarray Multipoles to calculate at. nu1, nu2 : np.ndarray Frequencies/redshifts to calculate at. redshift : boolean, optional If `False` (default) interperet `nu1`, `nu2` as frequencies, otherwise they are redshifts (relative to the 21cm line). Returns ------- aps : np.ndarray """ if not redshift: z1 = units.nu21 / nu1 - 1.0 z2 = units.nu21 / nu2 - 1.0 else: z1 = nu1 z2 = nu2 return RedshiftCorrelation.angular_powerspectrum_full(self, l, z1, z2)