Skip to content
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

Open
patricialarsen opened this issue Aug 27, 2020 · 11 comments
Open

Correlation function BAO damping #818

patricialarsen opened this issue Aug 27, 2020 · 11 comments
Assignees

Comments

@patricialarsen
Copy link
Contributor

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)

Screen Shot 2020-08-07 at 5 46 55 PM

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.6766
2,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_halofit
r2,'--',label="halofit")
plt.plot(r,corr_emu*r
2,'-.',label="emu")
plt.legend()
plt.xlabel('r Mpc/h')
plt.ylabel('r^2 zeta_mm (r) Mpc/h ^2')
plt.legend()
plt.show()

@patricialarsen
Copy link
Contributor Author

Note that this may be a halofit model limitation rather than a CCL issue @beckermr and I are looking into this to confirm

@patricialarsen patricialarsen changed the title Correlation function Correlation function BAO damping Aug 27, 2020
@c-d-leonard
Copy link
Collaborator

@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.

@beckermr
Copy link
Collaborator

beckermr commented Sep 2, 2020

This is what we found too. I am going to close this issue for now.

@beckermr beckermr closed this as completed Sep 2, 2020
@jablazek
Copy link
Collaborator

jablazek commented Sep 16, 2020

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

@tilmantroester
Copy link
Contributor

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).

@damonge
Copy link
Collaborator

damonge commented Aug 5, 2022

@jablazek should this still be open?

@jablazek
Copy link
Collaborator

@damonge : Good question. I have not exposed the FAST-PT functionality to PTTracers. However, as @tilmantroester notes, there are now more modern approaches which might be better. Is the HMCode method already available in CCL? If so, maybe that is sufficient?

@damonge
Copy link
Collaborator

damonge commented Aug 11, 2022

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!)

@jablazek
Copy link
Collaborator

Keep this open for now. I have a few fast-pt -> CCL housekeeping tasks to do.

@nikfilippas
Copy link
Contributor

Tagging this as a v3 milestone since it's time we updated the old halofit option with a more modern version like the one implemented in HMCode.

@nikfilippas nikfilippas added this to the v3 milestone Mar 27, 2023
@nikfilippas nikfilippas removed this from the v3 milestone Apr 21, 2023
@nikfilippas
Copy link
Contributor

Removed it from v3 milestones because it will work much better after #1063 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants