I copied the entire CAMB example notebook and ran every line, and it worked fine until I called the matter power spectrum interpolator:
Code: Select all
PK = camb.get_matter_power_interpolator(pars, nonlinear=True,
hubble_units=False, k_hunit=False, kmax=kmax,
var1=model.Transfer_Weyl,var2=model.Transfer_Weyl, zmax=zs[-1])
#Have a look at interpolated power spectrum results for a range of redshifts
#Expect linear potentials to decay a bit when Lambda becomes important, and change from non-linear growth
plt.figure(figsize=(8,5))
k=np.exp(np.log(10)*np.linspace(-4,2,200))
zplot = [0, 0.5, 1, 4 ,20]
for z in zplot:
plt.loglog(k, PK.P(z,k))
Code: Select all
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-35-5020b52ca2b4> in <module>()
34 zplot = [0, 0.5, 1, 4 ,20]
35 for z in zplot:
---> 36 plt.loglog(k, PK.P(z,k))
37 plt.xlim([1e-4,kmax])
38 plt.xlabel('k Mpc')
/usr/local/lib/python2.7/dist-packages/camb/camb.pyc in P(self, z, kh, grid)
1128 grid = not np.isscalar(z) and not np.isscalar(kh)
1129 if self.islog:
-> 1130 return np.exp(self(z, np.log(kh), grid=grid))
1131 else:
1132 return self(z, np.log(kh), grid=grid)
TypeError: __call__() got an unexpected keyword argument 'grid'
Any guidance in this matter would be greatly appreciated.
Felipe