-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correlation function BAO damping #818
Comments
Note that this may be a halofit model limitation rather than a CCL issue @beckermr and I are looking into this to confirm |
@patricialarsen - It looks like this is an issue that occurs with halofit in general rather than CCL. I'm not sure we have any immediate fix available. |
This is what we found too. I am going to close this issue for now. |
I'm re-opening this and assigning it to myself. FAST-PT has a resummation method built in (from Ivanov) to do BAO damping at 1loop PT. Exposing this should be straightforward. Generalizing this to damp the halofit BAO is more complicated, but is a good stretch goal. Note: This issue will require progress on #815 |
For a more ad-hoc approach, the new HMCode uses a perturbation-theory inspired fitting function (Eq. 14 in https://arxiv.org/pdf/2009.01858.pdf). |
@jablazek should this still be open? |
@damonge : Good question. I have not exposed the FAST-PT functionality to |
We can access hmcode via CAMB. It's not ideal, but if we'd rather aim for that than expose the fastpt functionality, we can close this issue and open an HMCode-specific one (or keep both open!) |
Keep this open for now. I have a few fast-pt -> CCL housekeeping tasks to do. |
Tagging this as a v3 milestone since it's time we updated the old |
Removed it from v3 milestones because it will work much better after #1063 . |
There appears to be under-damping of the BAO signal in the correlation_3d function for halofit. The attached plot shows the comparison between linear, halofit and cosmic emu results from ccl using the code snippet below. (Note that I didn't explictly set m_nu to zero here, but doing this doesn't substantially change the result)
import pyccl
import numpy as np
import matplotlib.pyplot as plt
cosmo = pyccl.Cosmology(transfer_function='boltzmann_camb', matter_power_spectrum='linear', Omega_c=0.26067, Omega_b=0.02242/0.67662,h=0.6766, n_s=0.9665, sigma8=0.8102)
cosmo2 = pyccl.Cosmology(transfer_function='boltzmann_camb', matter_power_spectrum='halofit', Omega_c=0.26067, Omega_b=0.02242/0.67662,h=0.6766, n_s=0.9665, sigma8=0.8102)
cosmo3 = pyccl.Cosmology(transfer_function='boltzmann_camb', matter_power_spectrum='emu', Omega_c=0.26067, Omega_b=0.02242/0.6766**2,h=0.6766, n_s=0.9665, sigma8=0.8102, Neff = 3.04)
r = np.linspace(0.0,200.,1000)
corr_lin = pyccl.correlation_3d(cosmo,1.0,r/0.6766)
corr_halofit = pyccl.correlation_3d(cosmo2,1.0,r/0.6766)
corr_emu = pyccl.correlation_3d(cosmo3,1.0,r/0.6766)
plt.figure()
plt.plot(r,corr_linr**2,label="linear")
plt.plot(r,corr_halofitr2,'--',label="halofit")
plt.plot(r,corr_emu*r2,'-.',label="emu")
plt.legend()
plt.xlabel('r Mpc/h')
plt.ylabel('r^2 zeta_mm (r) Mpc/h ^2')
plt.legend()
plt.show()
The text was updated successfully, but these errors were encountered: