Closed damonge closed 4 years ago
@damonge : I agree with this simplification. If it's possible, I would suggest that f_aligned (or whatever you want to call it) is set to 1 by default, but can be changed if an array is passed (in which case the two are properly multiplied together). The more general IA modeling will require at least one additional array as well.
@jablazek ok, great. What would the additional array be? (mostly out of curiosity)
I agree with Jonathan's proposal. I think he just means that f_red should be an optional parameter.
ok, but you still want it there. Fine
The other option is to just code the NLA and then include f_ref (if we wanted to) at the level of firecrown. Would that be possible in the current firecrown set-up?
I'd prefer to do this, yes. Move as much of this stuff into firecrown to avoid overcomplicating CCL. Is that OK?
To me, yes. We can have LA, NLA, generalized P(k,z) in CCL, and then combine them in different ways within firecrown. Imagine that we have observational constraints for two populations of galaxies: red and blue, and we want to make use of these priors. Red and blue will have different redshift distributions, so the overall alignment contamination would be predicted from red/blue and their cross-correlations. Can we do that in firecrown instead of CCL?
If you're asking me, yes, that's what I'd rather to do (and it's my reason for generalizing things in CCL)
Sounds ok to me, as long as we can do it in firecrown. Can we have confirmation of this? @elikrause @beckermr
Firecrown just passes data in to ccl. It is easy enough to set things to 1 there. I’d keep ccl as is.
I think that's fine, especially if the fully nonlinear IA model will be coming from outside CCL (i.e. we don't put FASTPT into CCL), then the bookkeeping can be done outside CCL as well.
As part of this PR, I want to renormalize the IA bias for v2 such that it matches A_IA=1 (see issue #280). The way that I should do this is IA_kernel = - C1 rhocrit Omega_m / D(z) user_input_bias old_IA_kernel where old_IA_kernel = dn/dz normalized to integrate to 1, C1=5e-14, rhocrit=ccl.RHO_CRITICAL and D(z) is the growth function. (Page 8 of this paper: https://arxiv.org/pdf/1008.3491.pdf)
Looking for confirmation from @sjoudaki who produced the IA benchmarks that are used in our tests: https://github.com/LSSTDESC/CCL/blob/master/examples/Benchmark_Comparisons.ipynb
Hi Elisa, yes, this is consistent with my approach. Confirmed with you that your D(z) is the normalized growth function, which is great.
I think @elisachisari had another to do on this issue? (Got closed by github when we just merged another PR.)
I think this is all we wanted to implement, but I'll let @elisachisari confirm, in case I'm missing something.
Right now, when creating a tracer with intrinsic alignments, we need to pass two arrays: the alignment amplitude and the fraction of aligned galaxies. In the L-NLA model these two quantities are completely degenerate, and in fact people usually fit for a single amplitude that is the product of these two quantities.
I'd like to simplify the current interface so IAs (with the L-NLA model) only take a single array of amplitudes as input. If people agree, then I'll do this in the ongoing PR #630 .
Pinging @jablazek @elisachisari