From ba95c32aa2f9eb5eaddd7264646a7d5ddb32adcb Mon Sep 17 00:00:00 2001 From: jaimerzp Date: Wed, 20 Nov 2024 09:47:23 +0000 Subject: [PATCH] no control flow IA --- src/theory.jl | 8 +++++--- src/tracers.jl | 15 +++++++-------- test/runtests.jl | 45 +++++++++++++++---------------------------- test/test_output.npz | Bin 69358 -> 69358 bytes 4 files changed, 27 insertions(+), 41 deletions(-) diff --git a/src/theory.jl b/src/theory.jl index bfb89e7..323ce43 100755 --- a/src/theory.jl +++ b/src/theory.jl @@ -24,12 +24,14 @@ function Theory(cosmology::Cosmology, elseif t_type == "galaxy_shear" zs_mean, nz_mean = files[string("nz_", name)] m = get(Nuisances, string(name, "_", "m"), 0.0) - IA_params = [get(Nuisances, "A_IA", 0.0), - get(Nuisances, "alpha_IA", 0.0)] + A_IA = get(Nuisances, "A_IA", 0.0) + alpha_IA = get(Nuisances, "alpha_IA", 0.0) nz = get(Nuisances, string(name, "_", "nz"), nz_mean) zs = get(Nuisances, string(name, "_", "zs"), zs_mean) tracer = WeakLensingTracer(cosmology, zs, nz; - m=m, IA_params=IA_params) + m=m, + A_IA=A_IA, + alpha_IA=alpha_IA) elseif t_type == "cmb_convergence" tracer = CMBLensingTracer(cosmology) diff --git a/src/tracers.jl b/src/tracers.jl index 81c8171..2504134 100755 --- a/src/tracers.jl +++ b/src/tracers.jl @@ -60,7 +60,7 @@ struct WeakLensingTracer <: Tracer end WeakLensingTracer(cosmo::Cosmology, z, nz; - IA_params = [0.0, 0.0], m=0.0) = begin + A_IA=0.0, alpha_IA=0.0, m=0.0) = begin sel = @. (z > 0.0) z = z[sel] nz = nz[sel] @@ -79,15 +79,14 @@ WeakLensingTracer(cosmo::Cosmology, z, nz; lens_prefac = 1.5*cosmo.cpar.Ωm*H0^2 chi[1] = 0.0 w_arr = @. w_arr * chi * lens_prefac * (1+z) / nz_norm - if IA_params != [0.0, 0.0] - hz = Hmpc(cosmo, z) - As = get_IA(cosmo, z, IA_params) - corr = @. As * (nz * hz / nz_norm) - w_arr = @. w_arr - corr - end + # IA correction + hz = Hmpc(cosmo, z) + As = @. A_IA*((1 + z)/1.62)^alpha_IA * (0.0134 * cosmo.cpar.Ωm / cosmo.Dz(z)) + corr = @. As * (nz * hz / nz_norm) + w_arr_ia = @. w_arr - corr # Interpolate b = m+1.0 - wint = linear_interpolation(chi, b.*w_arr, extrapolation_bc=0.0) + wint = linear_interpolation(chi, b.*w_arr_ia, extrapolation_bc=0.0) F::Function = ℓ -> @.(sqrt((ℓ+2)*(ℓ+1)*ℓ*(ℓ-1))/(ℓ+0.5)^2) WeakLensingTracer(wint, F) end diff --git a/test/runtests.jl b/test/runtests.jl index 4d4e82b..260650f 100755 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -181,9 +181,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg = NumberCountsTracer(cosmo_EisHu, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo_EisHu, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo_EisHu, z, nz) tk = CMBLensingTracer(cosmo_EisHu) Cℓ_gg = angularCℓs(cosmo_EisHu, tg, tg, ℓs) Cℓ_gs = angularCℓs(cosmo_EisHu, tg, ts, ℓs) @@ -223,9 +221,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg = NumberCountsTracer(cosmo_EisHu, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo_EisHu, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo_EisHu, z, nz) tk = CMBLensingTracer(cosmo_EisHu) Cℓ_gg = angularCℓs(cosmo_EisHu_nonlin, tg, tg, ℓs) Cℓ_gs = angularCℓs(cosmo_EisHu_nonlin, tg, ts, ℓs) @@ -265,9 +261,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg = NumberCountsTracer(cosmo_emul, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo_emul, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo_emul, z, nz) tk = CMBLensingTracer(cosmo_emul) Cℓ_gg = angularCℓs(cosmo_emul, tg, tg, ℓs) Cℓ_gs = angularCℓs(cosmo_emul, tg, ts, ℓs) @@ -306,9 +300,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg = NumberCountsTracer(cosmo_EisHu_nonlin, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz) tk = CMBLensingTracer(cosmo_EisHu_nonlin) Cℓ_gg = angularCℓs(cosmo_EisHu_nonlin, tg, tg, ℓs) Cℓ_gs = angularCℓs(cosmo_EisHu_nonlin, tg, ts, ℓs) @@ -348,9 +340,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg = NumberCountsTracer(cosmo_emul_nonlin, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo_emul_nonlin, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo_emul_nonlin, z, nz) tk = CMBLensingTracer(cosmo_emul_nonlin) Cℓ_gg = angularCℓs(cosmo_emul_nonlin, tg, tg, ℓs) Cℓ_gs = angularCℓs(cosmo_emul_nonlin, tg, ts, ℓs) @@ -572,9 +562,7 @@ if test_main z = Vector(range(0.01, stop=2., length=1000)) nz = Vector(@. exp(-0.5*((z-0.5)/0.05)^2)) tg = NumberCountsTracer(cosmo, z, nz; b=1.0) - ts = WeakLensingTracer(cosmo, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo, z, nz) Cℓ_gs = angularCℓs(cosmo, tg, ts, ℓs) return Cℓ_gs end @@ -584,9 +572,7 @@ if test_main nz=700, nz_t=700, nz_pk=700) z = Vector(range(0.01, stop=2., length=1000)) nz = Vector(@. exp(-0.5*((z-0.5)/0.05)^2)) - ts = WeakLensingTracer(cosmo, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo, z, nz) Cℓ_ss = angularCℓs(cosmo, ts, ts, ℓs) return Cℓ_ss end @@ -596,9 +582,7 @@ if test_main nz=500, nz_t=500, nz_pk=700) z = range(0.01, stop=2., length=2000) nz = @. exp(-0.5*((z-0.5)/0.05)^2) - ts = WeakLensingTracer(cosmo, z, nz; - m=0.0, - IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo, z, nz) tk = CMBLensingTracer(cosmo) Cℓ_sk = angularCℓs(cosmo, ts, tk, ℓs) return Cℓ_sk @@ -671,8 +655,9 @@ if test_main z = Vector(range(0.01, stop=2., length=1024)) nz = @. exp(-0.5*((z-0.5)/0.05)^2) tg_b = NumberCountsTracer(cosmo_EisHu_nonlin, z, nz; b=2.0) - ts_m = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz; m=1.0, IA_params=[0.0, 0.0]) - ts_IA = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz; m=0.0, IA_params=[0.1, 0.1]) + ts_m = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz; m=1.0) + ts_IA = WeakLensingTracer(cosmo_EisHu_nonlin, z, nz; + m=0.0, A_IA=0.1, alpha_IA=0.1) Cℓ_gg_b = angularCℓs(cosmo_EisHu_nonlin, tg_b, tg_b, ℓs) Cℓ_ss_m = angularCℓs(cosmo_EisHu_nonlin, ts_m, ts_m, ℓs) Cℓ_ss_IA = angularCℓs(cosmo_EisHu_nonlin, ts_IA, ts_IA, ℓs) @@ -707,7 +692,7 @@ if test_main cosmo.settings.cosmo_type = typeof(p) z = Vector(range(0.01, stop=2., length=2000)) .- p nz = Vector(@. exp(-0.5*((z-0.5)/0.05)^2)) - ts = WeakLensingTracer(cosmo, z, nz; m=p, IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo, z, nz; m=p) ℓs = [10.0, 30.0, 100.0, 300.0] Cℓ_ss = angularCℓs(cosmo, ts, ts, ℓs) return Cℓ_ss @@ -718,7 +703,7 @@ if test_main cosmo.settings.cosmo_type = typeof(p) z = range(0.01, stop=2., length=2000) nz = @. exp(-0.5*((z-0.5)/0.05)^2) - ts = WeakLensingTracer(cosmo, z, nz; m=p, IA_params=[0.0, 0.0]) + ts = WeakLensingTracer(cosmo, z, nz; m=p) ℓs = [10.0, 30.0, 100.0, 300.0] Cℓ_sk = angularCℓs(cosmo, ts, ts, ℓs) return Cℓ_sk @@ -729,7 +714,7 @@ if test_main cosmo.settings.cosmo_type = typeof(p) z = range(0.01, stop=2., length=2000) nz = @. exp(-0.5*((z-0.5)/0.05)^2) - ts = WeakLensingTracer(cosmo, z, nz; m=2, IA_params=[p, 0.1]) + ts = WeakLensingTracer(cosmo, z, nz; m=2, A_IA=p, alpha_IA=0.1) ℓs = [10.0, 30.0, 100.0, 300.0] Cℓ_ss = angularCℓs(cosmo, ts, ts, ℓs) return Cℓ_ss @@ -740,7 +725,7 @@ if test_main cosmo.settings.cosmo_type = typeof(p) z = range(0.01, stop=2., length=2000) nz = @. exp(-0.5*((z-0.5)/0.05)^2) - ts = WeakLensingTracer(cosmo, z, nz; m=2, IA_params=[0.3, p]) + ts = WeakLensingTracer(cosmo, z, nz; m=2, A_IA=0.3, alpha_IA=p) ℓs = [10.0, 30.0, 100.0, 300.0] Cℓ_ss = angularCℓs(cosmo, ts, ts, ℓs) return Cℓ_ss diff --git a/test/test_output.npz b/test/test_output.npz index 754369e2548777cdb40167f700278b64204007d8..b99ebc48e671daac05881286747637b536e7e09b 100644 GIT binary patch delta 1887 zcmXw3YfMyE5O&zREDO6^D+=YgAQg~qLx6}pjnv zEX_1a#trXiq@|10-`&EmJB$OMQLH=x$5qSAJO;o^aW+jCewiyuNH%4@TtMey1_;jlaOA1$5ELY+x%^Yz}J0LZQB&UX-^ah4Agc zCkdesJ&TA=VYix3;kOjlfc8Y#8MJxfKcSrtr%da1eEgT1Ngf^A$bBLTsFAuS_qm*P zD1cYIeunagM-u)~Px=F;#Xz~#ZIaIyZQ!|41&H8sw5-9@D=k=(+bk2*U}GW)#y2O4 z#>^?)jM&LdNQ)mRx<*;nesqZnYKl**2;NrwJDu#=(rd=%V>TB(m1C{`eEoq+4MwU* z%6^vLycNivdw`zL|8SgAG#x|@c-kRKE^7~;#HwwFNt}Y}My&C;x{j#tJxVG@)Y4@8 zYX#4WizHi6JF)6(r@6|N9XJ^tV{M@n*E_`T0ar;S`Cc!w;njU2P-ttxyE8Tsunr;}`NQ9+7!1*rYQBisD3=ch^U)#N4_-Pf z2*-~6h#HKIkOsR)1<&i0s!!OG8+7hDMv_>`^5UCBmq*_c&*0fOcF5}|go=?`XwYV65qhwX7_9riS|DUM{kv83VO^>m}oK{vV`iHP{mk&ZTD zJ{^(j`yyoRd?ZFnuI-$vclyZ_^K{cOpM^IvoJnZEb*@5O(>AM-y--<=Iagrhad6I7 z7N=Dri(Rzz@h+;OzCEgP)J0jlT)CLd?IJ!I?mYaib|;|ibFV`C(jBkb1`A}PEeB-N z&wjW?Mg095JG|3qbKXw}+6fv^^`RHVNz#4SER~!VZ zPfQ&QyXOHk8O>|^9*{q6HL-MSBXa_xBBCqvEW}6X-uf>VL{f z5Su5^TwV?TT;Z?Gg-JSrTHUhLOrb0#gxO1Ug6;_&yoE}f+y03!ZX|Q+09TS(ydVkB zE+pREixXv)UVtNI=e$IB&lj8oy+~QA7e~M90XLUT>qS$s-lC~8ZxOLBIJ4ej$nURx z;}z2OT^})kT|NTc;Uh9WQyio=Xsb{}QOA{IfDjA?`8)qmcAD)s04@20vaeREfk7pJ z-A@}J51}7~86t4}?-|ATtM0UokXDUGAz$s1{9Lw1QcC=31V2h(TxiH7n%-d&t98}{ GZ~qUIIRUKz delta 1887 zcmXw3YfMyE5O&zR>@NFgD+=Wer2^7z2oQ03$)gmIYPD%?BDPeet+quGeqh^}YAG5C zl?XR*f)&)J1g#Iso`6aaSSV6ZtWd!=jgM&3n1~qL5ChBZ_THJp{+YRRzBBX9H*O4VYNYPbT`p%G z3g8v5o~HZ}QG|cclYUQWF;Fh?Smbks8+mSY0V22@BWp1AN-LJ+4(kLp*qB6u@hvvd zSXc@VL+s>cq{R;uUZpH+Ke$K*HASaX1aB+)jZVt9_J(2ev0Dls%W-ypzTrTn1|!uY zr9a89-wb3=y}-a1zB@)Knhv4{JnaxAm$ipaVAZz6Bu+tfBi49WT}RaS9w8MYYiY9m zwSs5G1(GeOomlm?(_H1s4x9{+wYN};Yn_DL(?x;@U8L`RVL!R_4c7eU(jfJ9u6vm1 zR`d|vfGebue5V)L@ajGhSnp`TyE6_Eun!^~`Tbw17!1*rYCenIB$o{b^U)#N4_-1X z2*-{5fEtXAkOq531vZltMv~ac@}e6=m&e=`&)~^8cF5}|go;s9lyZEE z=$7B^#cA`z=T~UI{?_D7HpGLUY?+HjHnzDGoMhyALl7Puor}hR`lQ%1lLDQbvm#WQ z&%~1lg?}w!Wd`MB`+O9h)XXQN9iERz>zq$Ro8nBy8%rDh-9R_$oOGkxnS_Y{oaty2 z7t#@_zAr-7E<|CZ`0B2ydY7L(u|PMS3t4z0!(~JJwQCjPnzq}`?3v1H%(Vg|4}){I zv3RW#dC^TvpWvn{>f56#N8FUP%bknaJZ|EX;mO1AYEL5CKF=z&&pipMZLmT%+A=^k z4V{pRHGS&84@4Hs0BnvXgd%1ZARnDfFIa=lw~B*c z^@*v2VRyWMCZl41=Rz2A8 z?0nLVy*N=;sRtY>JF6GnJzaDX4I*WUK^*;J0Nh+QZ4gbx`G}@UeMH2*=*;?vA-}u! zwHHX+w~b-|yNv?fVH6pkC=OB^bW|v!sN>2pK?sI|{9V5*JI(f+fR_AT=@%>2z@QSq z?x#(VhtT)JO_4bMcg$k^RkzzlNUKJ(kgs-WelA-hDJA|egC8X@FE(TmP4Bdb)jDH= GH~$CoN1mPl