mirror of
https://github.com/Richard-Sti/csiborgtools.git
synced 2024-12-22 22:48:02 +00:00
392 lines
1,012 KiB
Text
392 lines
1,012 KiB
Text
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"import numpy as np\n",
|
||
|
"\n",
|
||
|
"import matplotlib.pyplot as plt\n",
|
||
|
"%matplotlib inline\n",
|
||
|
"\n",
|
||
|
"from h5py import File\n",
|
||
|
"from astropy.cosmology import FlatLambdaCDM\n",
|
||
|
"import csiborgtools\n",
|
||
|
"\n",
|
||
|
"%load_ext autoreload\n",
|
||
|
"%autoreload 2"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"with File(\"/mnt/users/hdesmond/BORG_final/mcmc_7444.h5\", 'r') as f:\n",
|
||
|
"# with File(\"/mnt/extraspace/rstiskalek/BORG_STOPYRA_2023/mcmc_17417.h5\") as f:\n",
|
||
|
" density_borg = f[\"scalars/BORG_final_density\"][:]"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 4,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"with File(\"/mnt/extraspace/rstiskalek/csiborg1/sph_ramses_07444_1024.hdf5\", 'r') as f:\n",
|
||
|
" density_csiborg = f[\"density\"][:]\n",
|
||
|
" # print(f.keys())"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 11,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"Omega_m = 0.307\n",
|
||
|
"cosmo = FlatLambdaCDM(Om0=Omega_m, H0=100)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 22,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"density_csiborg /= np.mean(density_csiborg)\n",
|
||
|
"density_csiborg -= 1"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 30,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stderr",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"/tmp/ipykernel_16448/1347191498.py:2: RuntimeWarning: divide by zero encountered in log10\n",
|
||
|
" axs[0].imshow(np.log10(density_borg[:,128, :] + 1))\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 1000x500 with 2 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"fig, axs = plt.subplots(1, 2, figsize=(10,5))\n",
|
||
|
"axs[0].imshow(np.log10(density_borg[:,128, :] + 1))\n",
|
||
|
"axs[1].imshow(np.log10((density_csiborg.T)[:, 512, :] + 1))\n",
|
||
|
"\n",
|
||
|
"axs[0].scatter([128], [128], c='r', s=15, marker='x')\n",
|
||
|
"axs[1].scatter([512], [512], c='r', s=15, marker='x')\n",
|
||
|
"\n",
|
||
|
"plt.show()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 19,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"text/plain": [
|
||
|
"(84.92296662181516, 85.20374456447004)"
|
||
|
]
|
||
|
},
|
||
|
"execution_count": 19,
|
||
|
"metadata": {},
|
||
|
"output_type": "execute_result"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"(density_csiborg.sum() / (677.7)**3 * 1e-9), (Omega_m * cosmo.critical_density(0).to(\"Msun/kpc3\").value)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 21,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"\n",
|
||
|
"import readgadget\n",
|
||
|
"\n",
|
||
|
"snapshot = \"/mnt/users/rstiskalek/csiborgtools/data/chain_17417/chain_17417/ic/ic.dat\""
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 22,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"ptype = [1] #[1](CDM), [2](neutrinos) or [1,2](CDM+neutrinos)\n",
|
||
|
"\n",
|
||
|
"# read header\n",
|
||
|
"header = readgadget.header(snapshot)\n",
|
||
|
"BoxSize = header.boxsize #Mpc/h\n",
|
||
|
"Nall = header.nall #Total number of particles\n",
|
||
|
"Masses = header.massarr*1e10 #Masses of the particles in Msun/h\n",
|
||
|
"Omega_m = header.omega_m #value of Omega_m\n",
|
||
|
"Omega_l = header.omega_l #value of Omega_l\n",
|
||
|
"h = header.hubble #value of h\n",
|
||
|
"redshift = header.redshift #redshift of the snapshot\n",
|
||
|
"Hubble = 100.0*np.sqrt(Omega_m*(1.0+redshift)**3+Omega_l)#Value of H(z) in km/s/(Mpc/h)\n",
|
||
|
"\n",
|
||
|
"# read positions, velocities and IDs of the particles\n",
|
||
|
"pos = readgadget.read_block(snapshot, \"POS \", ptype) #positions in Mpc/h\n",
|
||
|
"vel = readgadget.read_block(snapshot, \"VEL \", ptype) #peculiar velocities in km/s\n",
|
||
|
"# ids = readgadget.read_block(snapshot, \"ID \", ptype)-1 #IDs starting from 0\n",
|
||
|
"cosmo = FlatLambdaCDM(Om0=Omega_m, H0=100)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 29,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"OBS LOC [338.3 338.3 338.3]\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"# obs_vel = np.array([-262.69592, 326.13116, -122.10088]).astype(np.float32)\n",
|
||
|
"obs_vel = np.zeros(3, dtype=np.float32) * 0\n",
|
||
|
"obs_loc = np.ones(3) * BoxSize / 2\n",
|
||
|
"print(\"OBS LOC \", obs_loc)\n",
|
||
|
"rsp_pos = csiborgtools.utils.real2redshift(pos, vel, obs_loc, obs_vel, BoxSize, True).astype(np.float32)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 30,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"\n",
|
||
|
"Using CIC mass assignment scheme\n",
|
||
|
"Time taken = 0.534 seconds\n",
|
||
|
"\n",
|
||
|
"\n",
|
||
|
"Using CIC mass assignment scheme\n",
|
||
|
"Time taken = 0.495 seconds\n",
|
||
|
"\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"import numpy as np\n",
|
||
|
"import MAS_library as MASL\n",
|
||
|
"\n",
|
||
|
"# number of particles\n",
|
||
|
"Np = 256**3\n",
|
||
|
"\n",
|
||
|
"# density field parameters\n",
|
||
|
"grid = 256 #the 3D field will have grid x grid x grid voxels\n",
|
||
|
"MAS = 'CIC' #mass-assigment scheme\n",
|
||
|
"verbose = True #print information on progress\n",
|
||
|
"\n",
|
||
|
"# particle positions in 3D\n",
|
||
|
"\n",
|
||
|
"# define 3D density field\n",
|
||
|
"delta = np.zeros((grid,grid,grid), dtype=np.float32)\n",
|
||
|
"delta_rsp = np.zeros((grid,grid,grid), dtype=np.float32)\n",
|
||
|
"\n",
|
||
|
"# construct 3D density field\n",
|
||
|
"MASL.MA(pos, delta, BoxSize, MAS, verbose=verbose,)\n",
|
||
|
"MASL.MA(rsp_pos, delta_rsp, BoxSize, MAS, verbose=verbose,)\n",
|
||
|
"\n",
|
||
|
"cell_length = BoxSize/grid\n",
|
||
|
"\n",
|
||
|
"delta = delta.T\n",
|
||
|
"delta *= Masses[1]\n",
|
||
|
"delta /= (cell_length * 1000)**3\n",
|
||
|
"\n",
|
||
|
"delta_rsp = delta_rsp.T\n",
|
||
|
"delta_rsp *= Masses[1]\n",
|
||
|
"delta_rsp /= (cell_length * 1000)**3"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 31,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"REAL 86.33655 86.34164473617794\n",
|
||
|
"RSP 86.33636 86.34164473617794\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"print(\"REAL \", delta.mean() , (cosmo.critical_density(0).to(\"Msun/kpc3\").value * Omega_m))\n",
|
||
|
"print(\"RSP \", delta_rsp.mean() , (cosmo.critical_density(0).to(\"Msun/kpc3\").value * Omega_m))\n",
|
||
|
"\n",
|
||
|
"delta /= (cosmo.critical_density(0).to(\"Msun/kpc3\").value * Omega_m)\n",
|
||
|
"delta -= 1\n",
|
||
|
"\n",
|
||
|
"delta_rsp /= (cosmo.critical_density(0).to(\"Msun/kpc3\").value * Omega_m)\n",
|
||
|
"delta_rsp -= 1"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 32,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 1000x500 with 2 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"fig, axs = plt.subplots(1, 2, figsize=(10,5))\n",
|
||
|
"axs[0].imshow(delta_rsp[:,:,128])\n",
|
||
|
"axs[1].imshow(density_borg[:, :, 128])\n",
|
||
|
"\n",
|
||
|
"for ax in axs:\n",
|
||
|
" ax.scatter([128], [128], c='r', s=15, marker='x')\n",
|
||
|
"\n",
|
||
|
"plt.show()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 33,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"name": "stderr",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"/mnt/users/rstiskalek/csiborgtools/venv_csiborg/lib/python3.11/site-packages/numpy/core/fromnumeric.py:3464: RuntimeWarning: Mean of empty slice.\n",
|
||
|
" return _methods._mean(a, axis=axis, dtype=dtype,\n",
|
||
|
"/mnt/users/rstiskalek/csiborgtools/venv_csiborg/lib/python3.11/site-packages/numpy/core/_methods.py:192: RuntimeWarning: invalid value encountered in divide\n",
|
||
|
" ret = ret.dtype.type(ret / rcount)\n",
|
||
|
"/mnt/users/rstiskalek/csiborgtools/venv_csiborg/lib/python3.11/site-packages/numpy/core/_methods.py:192: RuntimeWarning: invalid value encountered in scalar divide\n",
|
||
|
" ret = ret.dtype.type(ret / rcount)\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"y_csiborg = []\n",
|
||
|
"y_csiborg_rsp = []\n",
|
||
|
"y_borg = []\n",
|
||
|
"\n",
|
||
|
"dks = range(0, 128 + 1)\n",
|
||
|
"for dk in dks:\n",
|
||
|
" kmin = 128 - dk\n",
|
||
|
" kmax = 128 + dk\n",
|
||
|
"\n",
|
||
|
" y_csiborg.append(np.mean(delta[kmin:kmax, kmin:kmax, kmin:kmax]))\n",
|
||
|
" y_csiborg_rsp.append(np.mean(delta_rsp[kmin:kmax, kmin:kmax, kmin:kmax]))\n",
|
||
|
" y_borg.append(np.mean(density_borg[kmin:kmax, kmin:kmax, kmin:kmax]))\n",
|
||
|
"\n",
|
||
|
"y_csiborg = np.array(y_csiborg)\n",
|
||
|
"y_borg = np.array(y_borg)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 37,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 640x480 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"dks_phys = np.array(dks) * (BoxSize/ 256)\n",
|
||
|
"\n",
|
||
|
"plt.figure()\n",
|
||
|
"# plt.title(\"Enclosed overdensity within a cube of side length $2 L$ centered at the origin.\", fontsize=10)\n",
|
||
|
"plt.title(\"BORG_STOPYRA_2023\")\n",
|
||
|
"plt.plot(dks_phys, y_csiborg, label=\"MUSIC\")\n",
|
||
|
"plt.plot(dks_phys, y_csiborg_rsp, label=\"MUSIC (RSP)\")\n",
|
||
|
"plt.plot(dks_phys, y_borg, label=\"BORG (RSP)\", ls=\"--\")\n",
|
||
|
"plt.xlabel(r\"$L ~ [\\mathrm{Mpc}/\\mathrm{h}]$\")\n",
|
||
|
"plt.ylabel(r\"$\\delta_r$\")\n",
|
||
|
"plt.axhline(0, color=\"black\", linestyle=\"--\")\n",
|
||
|
"plt.legend()\n",
|
||
|
"plt.ylim(-0.2, 0.1)\n",
|
||
|
"plt.savefig(\"../plots/MUSIC_BORG_STOPYRA_comparisong.png\", dpi=300)\n",
|
||
|
"plt.show()"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"a"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"kernelspec": {
|
||
|
"display_name": "venv_csiborg",
|
||
|
"language": "python",
|
||
|
"name": "python3"
|
||
|
},
|
||
|
"language_info": {
|
||
|
"codemirror_mode": {
|
||
|
"name": "ipython",
|
||
|
"version": 3
|
||
|
},
|
||
|
"file_extension": ".py",
|
||
|
"mimetype": "text/x-python",
|
||
|
"name": "python",
|
||
|
"nbconvert_exporter": "python",
|
||
|
"pygments_lexer": "ipython3",
|
||
|
"version": "3.11.4"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 2
|
||
|
}
|