Add Vmag along model ax

This commit is contained in:
rstiskalek 2024-09-23 10:43:45 +01:00
parent 6974deca91
commit 1a1abfd8fb
3 changed files with 20 additions and 8 deletions

View file

@ -378,7 +378,7 @@ def sample_simple(e_mu_min, e_mu_max, dmu_min, dmu_max, alpha_min, alpha_max,
def sample_calibration(Vext_min, Vext_max, Vmono_min, Vmono_max, beta_min, def sample_calibration(Vext_min, Vext_max, Vmono_min, Vmono_max, beta_min,
beta_max, sigma_v_min, sigma_v_max, h_min, h_max, beta_max, sigma_v_min, sigma_v_max, h_min, h_max,
rLG_min, rLG_max, no_Vext, sample_Vmono, sample_beta, rLG_min, rLG_max, no_Vext, sample_Vmono, sample_beta,
sample_h, sample_rLG): sample_h, sample_rLG, sample_Vmag_vax):
"""Sample the flow calibration.""" """Sample the flow calibration."""
sigma_v = sample("sigma_v", Uniform(sigma_v_min, sigma_v_max)) sigma_v = sample("sigma_v", Uniform(sigma_v_min, sigma_v_max))
@ -387,10 +387,18 @@ def sample_calibration(Vext_min, Vext_max, Vmono_min, Vmono_max, beta_min,
else: else:
beta = 1.0 beta = 1.0
if not no_Vext and sample_Vmag_vax:
raise RuntimeError("Cannot sample Vext and Vext magnitude along the "
"void axis simultaneously.")
if no_Vext: if no_Vext:
Vext = jnp.zeros(3) Vext = jnp.zeros(3)
# 840 in the direction of (l, b) = (117, 4)
# Vext = jnp.asarray([338.9478154 , -11.45056064, 768.49415294]) if sample_Vmag_vax:
Vext_mag = sample("Vext_axis_mag", Uniform(0.0, Vext_max))
# In the direction lf (l, b) = (117, 4)
Vext = Vext_mag * jnp.asarray([0.4035093, -0.01363162, 0.91487396])
else: else:
Vext = sample("Vext", Uniform(Vext_min, Vext_max).expand([3])) Vext = sample("Vext", Uniform(Vext_min, Vext_max).expand([3]))

View file

@ -694,7 +694,7 @@ class Paths:
sample_beta=False, no_Vext=None, sample_beta=False, no_Vext=None,
sample_Vmono=False, sample_mag_dipole=False, sample_Vmono=False, sample_mag_dipole=False,
sample_curvature=False, absolute_calibration=None, sample_curvature=False, absolute_calibration=None,
verbose_print=True): sample_Vmag_vax=False, verbose_print=True):
"""Flow validation file path.""" """Flow validation file path."""
if isinstance(catalogue, list) and len(catalogue) == 1: if isinstance(catalogue, list) and len(catalogue) == 1:
catalogue = catalogue[0] catalogue = catalogue[0]
@ -710,10 +710,11 @@ class Paths:
keys = ["smooth", "nsim", "zcmb_min", "zcmb_max", "mag_selection", keys = ["smooth", "nsim", "zcmb_min", "zcmb_max", "mag_selection",
"sample_alpha", "sample_beta", "no_Vext", "sample_Vmono", "sample_alpha", "sample_beta", "no_Vext", "sample_Vmono",
"sample_mag_dipole", "sample_curvature", "sample_mag_dipole", "sample_curvature",
"absolute_calibration"] "sample_Vmag_vax", "absolute_calibration"]
values = [smooth, nsim, zcmb_min, zcmb_max, mag_selection, values = [smooth, nsim, zcmb_min, zcmb_max, mag_selection,
sample_alpha, sample_beta, no_Vext, sample_Vmono, sample_alpha, sample_beta, no_Vext, sample_Vmono,
sample_mag_dipole, sample_curvature, absolute_calibration] sample_mag_dipole, sample_curvature,
sample_Vmag_vax, absolute_calibration]
for key, value in zip(keys, values): for key, value in zip(keys, values):

View file

@ -309,7 +309,8 @@ if __name__ == "__main__":
mag_selection = None mag_selection = None
sample_alpha = False if "IndranilVoid_" in ARGS.simname or ARGS.simname == "no_field" else True # noqa sample_alpha = False if "IndranilVoid_" in ARGS.simname or ARGS.simname == "no_field" else True # noqa
sample_beta = None sample_beta = None
no_Vext = None no_Vext = True
sample_Vmag_vax = True
sample_Vmono = False sample_Vmono = False
sample_mag_dipole = False sample_mag_dipole = False
absolute_calibration = None absolute_calibration = None
@ -325,6 +326,7 @@ if __name__ == "__main__":
"sample_alpha": sample_alpha, "sample_alpha": sample_alpha,
"sample_beta": sample_beta, "sample_beta": sample_beta,
"no_Vext": no_Vext, "no_Vext": no_Vext,
"sample_Vmag_vax": sample_Vmag_vax,
"sample_Vmono": sample_Vmono, "sample_Vmono": sample_Vmono,
"sample_mag_dipole": sample_mag_dipole, "sample_mag_dipole": sample_mag_dipole,
"absolute_calibration": absolute_calibration, "absolute_calibration": absolute_calibration,
@ -377,7 +379,8 @@ if __name__ == "__main__":
"beta_min": -10.0, "beta_max": 10.0, "beta_min": -10.0, "beta_max": 10.0,
"sigma_v_min": 1.0, "sigma_v_max": 5000 if "IndranilVoid_" in ARGS.simname else 750., # noqa "sigma_v_min": 1.0, "sigma_v_max": 5000 if "IndranilVoid_" in ARGS.simname else 750., # noqa
"h_min": 0.01, "h_max": 5.0, "h_min": 0.01, "h_max": 5.0,
"no_Vext": False if no_Vext is None else no_Vext, # noqa "no_Vext": False if no_Vext is None else no_Vext, # noqa
"sample_Vmag_vax": sample_Vmag_vax,
"sample_Vmono": sample_Vmono, "sample_Vmono": sample_Vmono,
"sample_beta": sample_beta, "sample_beta": sample_beta,
"sample_h": sample_h, "sample_h": sample_h,