mirror of
https://github.com/Richard-Sti/csiborgtools_public.git
synced 2025-05-14 06:31:11 +00:00
Fix overlap runs (#125)
* Update nb * Update script * Update script * Rename * Update script * Update script * Remove warning * Ignore minors when extracting MAH * Fix paths bug * Move notebooks * Move files * Rename and delete things * Rename file * Move file * Rename things * Remove old print statement * Add basic MAH plot * Add random MAH path * Output snapshot numbers * Add MAH random extraction * Fix redshift bug * Edit script * Add extracting random MAH * Little updates * Add CB2 redshift * Add some caching * Add diagnostic plots * Add caching * Minor updates * Update nb * Update notebook * Update script * Add Sorce randoms * Add CB2 varysmall * Update nb * Update nb * Update nb * Use catalogue HMF * Move definition of radec2galactic * Update nb * Update import * Update import * Add galatic coords to catalogues * Update nb
This commit is contained in:
parent
c71f5a8513
commit
ee222cd010
31 changed files with 1813 additions and 798 deletions
65
notebooks/flow/flow_bulk.py
Normal file
65
notebooks/flow/flow_bulk.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
# Copyright (C) 2024 Richard Stiskalek
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
"""Script to help with plots in `flow_calibration.ipynb`."""
|
||||
from os.path import exists, join
|
||||
|
||||
import csiborgtools
|
||||
import numpy as np
|
||||
from astropy import units as u
|
||||
from astropy.cosmology import FlatLambdaCDM
|
||||
|
||||
FDIR = "/mnt/extraspace/rstiskalek/csiborg_postprocessing/field_shells"
|
||||
|
||||
|
||||
def read_enclosed_density(simname):
|
||||
fname = join(FDIR, f"enclosed_mass_{simname}.npz")
|
||||
|
||||
if exists(fname):
|
||||
data = np.load(fname)
|
||||
else:
|
||||
raise FileNotFoundError(f"File `{fname}` not found.")
|
||||
|
||||
Om0 = csiborgtools.simname2Omega_m(simname)
|
||||
cosmo = FlatLambdaCDM(H0=100, Om0=Om0)
|
||||
rho_matter = Om0 * cosmo.critical_density(0).to(u.M_sun / u.Mpc**3).value
|
||||
|
||||
r = data["distances"]
|
||||
volume = 4 * np.pi / 3 * r**3
|
||||
|
||||
overdensity = data["enclosed_mass"] / volume / rho_matter - 1
|
||||
|
||||
return r, overdensity
|
||||
|
||||
|
||||
def read_enclosed_flow(simname):
|
||||
fname = join(FDIR, f"enclosed_mass_{simname}.npz")
|
||||
|
||||
if exists(fname):
|
||||
data = np.load(fname)
|
||||
else:
|
||||
raise FileNotFoundError(f"File {fname} not found.")
|
||||
|
||||
r = data["distances"]
|
||||
V = data["cumulative_velocity"]
|
||||
nsim, nbin = V.shape[:2]
|
||||
Vmag = np.linalg.norm(V, axis=-1)
|
||||
l = np.empty((nsim, nbin), dtype=V.dtype) # noqa
|
||||
b = np.empty_like(l)
|
||||
|
||||
for n in range(nsim):
|
||||
V_n = csiborgtools.cartesian_to_radec(V[n])
|
||||
l[n], b[n] = csiborgtools.radec_to_galactic(V_n[:, 1], V_n[:, 2])
|
||||
|
||||
return r, Vmag, l, b
|
Loading…
Add table
Add a link
Reference in a new issue