From 402cb7eb05e4561c051abc1f79c6e20c447968f0 Mon Sep 17 00:00:00 2001 From: jaimerzp Date: Wed, 16 Oct 2024 16:24:13 +0100 Subject: [PATCH 1/4] better res treatment --- src/theory.jl | 9 ++++++--- src/tracers.jl | 25 ++++++++++++++----------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/theory.jl b/src/theory.jl index ad5f43f..4eb6066 100755 --- a/src/theory.jl +++ b/src/theory.jl @@ -1,7 +1,9 @@ function Theory(cosmology::Cosmology, names, types, pairs, idx, files; - Nuisances=Dict()) + Nuisances=Dict(), + res_wl=350, + res_gc=1000) nui_type = eltype(valtype(Nuisances)) if !(nui_type <: Float64) & (nui_type != Any) @@ -22,7 +24,7 @@ function Theory(cosmology::Cosmology, zs = get(Nuisances, string(name, "_", "zs"), zs_mean) dz = get(Nuisances, string(name, "_", "dz"), 0.0) tracer = NumberCountsTracer(cosmology, zs .+ dz, nz; - b=b) + b=b, res=res_gc) elseif t_type == "galaxy_shear" zs_mean, nz_mean = files[string("nz_", name)] m = get(Nuisances, string(name, "_", "m"), 0.0) @@ -32,7 +34,8 @@ function Theory(cosmology::Cosmology, zs = get(Nuisances, string(name, "_", "zs"), zs_mean) dz = get(Nuisances, string(name, "_", "dz"), 0.0) tracer = WeakLensingTracer(cosmology, zs .+ dz, nz; - m=m, IA_params=IA_params) + m=m, IA_params=IA_params, + res=res_wl) elseif t_type == "cmb_convergence" tracer = CMBLensingTracer(cosmology) diff --git a/src/tracers.jl b/src/tracers.jl index fffdbb8..de17dcd 100755 --- a/src/tracers.jl +++ b/src/tracers.jl @@ -27,10 +27,8 @@ Kwargs: Returns: - `NumberCountsTracer::NumberCountsTracer` : Number counts tracer structure. """ -NumberCountsTracer(cosmo::Cosmology, z_n, nz; b=1.0, res=1000) = begin - nz_int = linear_interpolation(z_n, nz, extrapolation_bc=0) - z_w = range(0.00001, stop=z_n[end], length=res) - nz_w = nz_int(z_w) +NumberCountsTracer(cosmo::Cosmology, z_n, nz; b=1.0) = begin + z_w, nz_w = nz_interpolate(z_n, nz) nz_norm = integrate(z_w, nz_w, SimpsonEven()) chi = cosmo.chi(z_w) @@ -62,15 +60,10 @@ struct WeakLensingTracer <: Tracer end WeakLensingTracer(cosmo::Cosmology, z_n, nz; - IA_params = [0.0, 0.0], m=0.0, res=350, kwargs...) = begin - nz_int = linear_interpolation(z_n, nz, extrapolation_bc=0) + IA_params = [0.0, 0.0], m=0.0, kwargs...) = begin cosmo_type = cosmo.settings.cosmo_type - z_w = range(0.00001, stop=z_n[end], length=res) - dz_w = (z_w[end]-z_w[1])/res - nz_w = nz_int(z_w) + z_w, nz_w = nz_interpolate(z_n, nz) chi = cosmo.chi(z_w) - - #nz_norm = sum(0.5 .* (nz_w[1:res-1] .+ nz_w[2:res]) .* dz_w) nz_norm = integrate(z_w, nz_w, SimpsonEven()) # Calculate chis at which to precalculate the lensing kernel @@ -156,4 +149,14 @@ function get_IA(cosmo::Cosmology, zs, IA_params) A_IA = IA_params[1] alpha_IA = IA_params[2] return @. A_IA*((1 + zs)/1.62)^alpha_IA * (0.0134 * cosmo.cpar.Ωm / cosmo.Dz(zs)) +end + +function nz_interpolate(z, nz) + dz = mean(z[2:end] - z[1:end-1]) + z_range = z[1]:dz:z[end] + nz_int = cubic_spline_interpolation(z_range, nz) + dzz = dz/10 + zz_range = z[1]:dzz:z[end] + nzz = nz_int(zz_range) + return zz_range, nzz end \ No newline at end of file From 563a5c4bb1878ac0353e576c8e41dad12fe4352f Mon Sep 17 00:00:00 2001 From: jaimerzp Date: Wed, 16 Oct 2024 16:26:51 +0100 Subject: [PATCH 2/4] better res treatment --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index e74e4da..16d83e5 100755 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -707,7 +707,7 @@ if test_main cosmo.settings.cosmo_type = typeof(p) z = Vector(range(0., stop=2., length=1000)) .- p nz = Vector(@. exp(-0.5*((z-0.5)/0.05)^2)) - tg = NumberCountsTracer(cosmo, z, nz; b=1, res=350) + tg = NumberCountsTracer(cosmo, z, nz; b=1) ℓs = [10.0, 30.0, 100.0, 300.0] Cℓ_gg = angularCℓs(cosmo, tg, tg, ℓs) return Cℓ_gg From cc342415b738bbec41f3bd014240b81cf7c99dd4 Mon Sep 17 00:00:00 2001 From: jaimerzp Date: Wed, 16 Oct 2024 16:29:53 +0100 Subject: [PATCH 3/4] better res treatment --- src/tracers.jl | 1 + test/test_output.npz | Bin 69358 -> 25674 bytes 2 files changed, 1 insertion(+) diff --git a/src/tracers.jl b/src/tracers.jl index de17dcd..a47a57a 100755 --- a/src/tracers.jl +++ b/src/tracers.jl @@ -63,6 +63,7 @@ WeakLensingTracer(cosmo::Cosmology, z_n, nz; IA_params = [0.0, 0.0], m=0.0, kwargs...) = begin cosmo_type = cosmo.settings.cosmo_type z_w, nz_w = nz_interpolate(z_n, nz) + res = length(z_w) chi = cosmo.chi(z_w) nz_norm = integrate(z_w, nz_w, SimpsonEven()) diff --git a/test/test_output.npz b/test/test_output.npz index 552a811a146456fecee84482e383ee25b19a108b..ce57f4a6406a6e743be8dde9e25df15f4e9a6325 100644 GIT binary patch delta 3300 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 From 91eb57457afba6c24698fad8e196a9e9c148c3a1 Mon Sep 17 00:00:00 2001 From: jaimerzp Date: Wed, 16 Oct 2024 16:39:18 +0100 Subject: [PATCH 4/4] better res treatment --- src/theory.jl | 9 +++------ test/test_output.npz | Bin 25674 -> 69358 bytes 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/theory.jl b/src/theory.jl index 4eb6066..ad5f43f 100755 --- a/src/theory.jl +++ b/src/theory.jl @@ -1,9 +1,7 @@ function Theory(cosmology::Cosmology, names, types, pairs, idx, files; - Nuisances=Dict(), - res_wl=350, - res_gc=1000) + Nuisances=Dict()) nui_type = eltype(valtype(Nuisances)) if !(nui_type <: Float64) & (nui_type != Any) @@ -24,7 +22,7 @@ function Theory(cosmology::Cosmology, zs = get(Nuisances, string(name, "_", "zs"), zs_mean) dz = get(Nuisances, string(name, "_", "dz"), 0.0) tracer = NumberCountsTracer(cosmology, zs .+ dz, nz; - b=b, res=res_gc) + b=b) elseif t_type == "galaxy_shear" zs_mean, nz_mean = files[string("nz_", name)] m = get(Nuisances, string(name, "_", "m"), 0.0) @@ -34,8 +32,7 @@ function Theory(cosmology::Cosmology, zs = get(Nuisances, string(name, "_", "zs"), zs_mean) dz = get(Nuisances, string(name, "_", "dz"), 0.0) tracer = WeakLensingTracer(cosmology, zs .+ dz, nz; - m=m, IA_params=IA_params, - res=res_wl) + m=m, IA_params=IA_params) elseif t_type == "cmb_convergence" tracer = CMBLensingTracer(cosmology) diff --git a/test/test_output.npz b/test/test_output.npz index ce57f4a6406a6e743be8dde9e25df15f4e9a6325..d6b7d83697b3f5ffbbc815b1aa213a44b16f3629 100644 GIT binary patch delta 42338 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 W^VL*I+_)I1B2)Zc#S&7w8nmyguF$Fg