csiborgtools/notebooks/flow_calibration.ipynb

1064 lines
1.6 MiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Calibrating the velocity field against observations "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Copyright (C) 2024 Richard Stiskalek\n",
"# This program is free software; you can redistribute it and/or modify it\n",
"# under the terms of the GNU General Public License as published by the\n",
"# Free Software Foundation; either version 3 of the License, or (at your\n",
"# option) any later version.\n",
"#\n",
"# This program is distributed in the hope that it will be useful, but\n",
"# WITHOUT ANY WARRANTY; without even the implied warranty of\n",
"# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\n",
"# Public License for more details.\n",
"#\n",
"# You should have received a copy of the GNU General Public License along\n",
"# with this program; if not, write to the Free Software Foundation, Inc.,\n",
"# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import jax\n",
2024-03-16 18:16:22 +01:00
"from numpyro.infer import MCMC, NUTS, init_to_median\n",
"import corner\n",
"from getdist import plots\n",
"from scipy.stats import multivariate_normal\n",
"\n",
"import csiborgtools\n",
"\n",
"from flow_calibration import *\n",
"\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
2024-03-16 18:16:22 +01:00
"%matplotlib inline\n",
"\n",
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## LOS density & radial velocity plots "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# fpath = \"/mnt/extraspace/rstiskalek/catalogs/A2.h5\"\n",
"fpath = \"/mnt/extraspace/rstiskalek/catalogs/PV_compilation_Supranta2019.hdf5\"\n",
"\n",
"loader_carrick = csiborgtools.flow.DataLoader(\"Carrick2015\", \"LOSS\", fpath, paths, ksmooth=0)\n",
"loader_csiborg = csiborgtools.flow.DataLoader(\"csiborg1\", \"LOSS\", fpath, paths, ksmooth=0)\n",
"loader_csiborg2 = csiborgtools.flow.DataLoader(\"csiborg2_main\", \"LOSS\", fpath, paths, ksmooth=0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# ks = [115, 53, 77, 105, 26, 61, 86, 29, 80, 21]\n",
"ks = [19, 8, 15, 0, 16, 6, 48, 38, 26, 44]\n",
"# ks = [19]\n",
"# ks = np.random.choice(50, 10, replace=False)\n",
"\n",
"# k = 6\n",
"for k in []:\n",
" fig, axs = plt.subplots(2, 1, figsize=(7, 7), sharex=True)\n",
" # Get rid of vertical spacing\n",
" fig.subplots_adjust(wspace=0)\n",
"\n",
" # Plot CSiBORG\n",
" for i in range(loader_csiborg.los_density.shape[1]):\n",
" axs[0].plot(loader_csiborg.rdist, loader_csiborg.los_density[k, i, :], alpha=0.1, color=\"black\")\n",
" axs[1].plot(loader_csiborg.rdist, loader_csiborg.los_radial_velocity[k, i, :], alpha=0.1, color=\"black\")\n",
"\n",
" # CSiBORG1\n",
" axs[0].plot(loader_csiborg.rdist, loader_csiborg.los_density[k, :, :].mean(axis=0), color=\"red\", label=\"CSiBORG1\")\n",
" axs[1].plot(loader_csiborg.rdist, loader_csiborg.los_radial_velocity[k, :, :].mean(axis=0), color=\"red\")\n",
"\n",
" # CSiBORG2\n",
" axs[0].plot(loader_csiborg2.rdist, loader_csiborg2.los_density[k, :, :].mean(axis=0), color=\"violet\", label=\"CSiBORG2\")\n",
" axs[1].plot(loader_csiborg2.rdist, loader_csiborg2.los_radial_velocity[k, :, :].mean(axis=0), color=\"violet\")\n",
"\n",
" # Plot Carrick+2015\n",
" axs[0].plot(loader_carrick.rdist, loader_carrick.los_density[k, 0, :], color=\"blue\", label=\"Carrick+2015\")\n",
" axs[1].plot(loader_carrick.rdist, loader_carrick.los_radial_velocity[k, 0, :] * 0.43, color=\"blue\")\n",
"\n",
"\n",
" # for i in range(2):\n",
" # label = \"SN\"\n",
" # rdist = loader_csiborg.cat[\"r_hMpc\"][k]\n",
" # axs[i].axvline(rdist, color=\"violet\", linestyle=\"--\",\n",
" # zorder=0, label=label)\n",
"\n",
" axs[1].set_xlabel(r\"$r ~ [\\mathrm{Mpc} / h]$\")\n",
" axs[0].set_ylabel(r\"$\\rho_{\\rm LOS} / \\langle \\rho_{\\rm matter} \\rangle$\")\n",
" axs[1].set_ylabel(r\"$v_{\\rm LOS} ~ [\\mathrm{km/s}]$\")\n",
"\n",
" axs[0].set_yscale(\"log\")\n",
"\n",
" axs[0].legend(loc=\"upper right\")\n",
" axs[0].set_xlim(0, 200)\n",
"\n",
" fig.tight_layout(w_pad=0, h_pad=0)\n",
" fig.savefig(f\"../plots/LOSS_los_{k}.png\", dpi=500, bbox_inches=\"tight\")\n",
"\n",
" fig.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Test running a model"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"23:08:02: reading the catalogue.\n",
"23:08:02: reading the interpolated field.\n",
"23:08:02: calculating the radial velocity.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/mnt/users/rstiskalek/csiborgtools/csiborgtools/flow/flow_model.py:113: UserWarning: The number of radial steps is even. Skipping the first step at 0.0 because Simpson's rule requires an odd number of steps.\n",
" warn(f\"The number of radial steps is even. Skipping the first \"\n"
]
}
],
"source": [
"# fpath_data = \"/mnt/extraspace/rstiskalek/catalogs/PV_compilation_Supranta2019.hdf5\"\n",
"# fpath_data = \"/mnt/extraspace/rstiskalek/catalogs/A2.h5\"\n",
"fpath_data = \"/mnt/extraspace/rstiskalek/catalogs/PV_mock_CB2_17417_large.hdf5\"\n",
"\n",
"simname = \"csiborg2_main\"\n",
"catalogue = \"CB2_large\"\n",
"loader = csiborgtools.flow.DataLoader(simname, 10, catalogue, fpath_data, paths, ksmooth=1)\n",
"get_model_kwargs = {\"zcmb_max\": 0.07}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Running HMC"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Selected 1000/1000 galaxies.\n"
]
}
],
"source": [
"model = csiborgtools.flow.get_model(loader, **get_model_kwargs)\n",
"model_kwargs = {\"sample_alpha\": True, \"sample_beta\": True, \"sample_h\": False}"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"kernel = NUTS(model, init_strategy=init_to_median(num_samples=100))\n",
"mcmc = MCMC(kernel, num_warmup=250, num_samples=500)\n",
"\n",
"rng_key = jax.random.PRNGKey(5)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"sample: 100%|██████████| 750/750 [01:21<00:00, 9.25it/s, 7 steps of size 6.38e-01. acc. prob=0.89] \n"
]
}
],
"source": [
"mcmc.run(rng_key, **model_kwargs)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" mean std median 5.0% 95.0% n_eff r_hat\n",
" Vext_x 29.99 14.24 29.16 7.24 51.12 668.45 1.00\n",
" Vext_y 2.46 14.55 1.93 -21.38 26.45 564.90 1.00\n",
" Vext_z 44.35 14.36 43.95 21.69 67.45 680.67 1.00\n",
" alpha 0.89 0.06 0.89 0.81 0.99 623.96 1.00\n",
" beta 0.95 0.04 0.95 0.89 1.02 596.95 1.00\n",
" sigma_v 74.53 8.92 74.32 61.13 90.91 684.07 1.00\n",
"\n",
"Number of divergences: 0\n"
]
}
],
"source": [
"mcmc.print_summary()\n",
"samples = mcmc.get_samples(group_by_chain=False)\n",
"# print(csiborgtools.numpyro_gof(model, mcmc, model_kwargs))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"|V| = 57.178871154785156 +- 14.913084983825684\n",
"l = 118.64846126054445 +- 16.786467620956774\n",
"b = -6.3910210700885655 +- 14.028581337650568\n",
"beta = 0.9534719586372375 +- 0.04203781858086586\n"
]
}
],
"source": [
"Vmag = np.sqrt(samples[\"Vext_x\"]**2 + samples[\"Vext_y\"]**2 + samples[\"Vext_z\"]**2)\n",
"\n",
"V = np.vstack([samples[\"Vext_x\"], samples[\"Vext_y\"], samples[\"Vext_z\"]]).T\n",
"V = csiborgtools.cartesian_to_radec(V)\n",
"\n",
"l, b = csiborgtools.flow.radec_to_galactic(V[:, 1], V[:, 2])\n",
"\n",
"print(f\"|V| = {np.mean(Vmag)} +- {np.std(Vmag)}\")\n",
"print(f\"l = {np.mean(l)} +- {np.std(l)}\")\n",
"print(f\"b = {np.mean(b)} +- {np.std(b)}\")\n",
"if \"beta\" in samples:\n",
" print(f\"beta = {np.mean(samples['beta'])} +- {np.std(samples['beta'])}\")"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1180x1180 with 25 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = [l, b, Vmag]\n",
"labels = [r\"$l$\", r\"$b$\", r\"$|\\bf{V}_{\\rm ext}|$\"]\n",
"if \"alpha\" in samples:\n",
" data.append(samples[\"alpha\"])\n",
" labels.append(r\"$\\alpha$\")\n",
"\n",
"if \"beta\" in samples:\n",
" data.append(samples[\"beta\"])\n",
" labels.append(r\"$\\beta$\")\n",
"\n",
"if \"h\" in samples:\n",
" data.append(samples[\"h\"])\n",
" labels.append(r\"$h$\")\n",
"\n",
"data = np.vstack(data).T\n",
"fig = corner.corner(data, labels=labels, show_titles=True, title_fmt=\".3f\", title_kwargs={\"fontsize\": 12}, smooth=1)\n",
"fig.savefig(f\"../plots/mock_{simname}_{catalogue}.png\", dpi=500, bbox_inches=\"tight\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vizualize the results"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Functions to read in the results"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Reading SFI_groups fitted to Carrick2015 with ksmooth = 0.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"BIC = 8896.874023 +- 0.000000\n",
"AIC = 8866.249023 +- 0.000000\n",
"logZ = -4417.928711 +- 0.000000\n",
"chi2 = 0.000000 +- 0.000000\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABUQAAAVeCAYAAAC5MTGqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhTZd7/8U+6pU26QVOgQEvZhIogVBgQFMVdkcUNtw4qKq4jijqiiKKi4orzOC7jMqICI4iI4A4qKogLiApYWWQJUKBNgS5JaWma3x/8zrEtXZJSWtq8X9eVa8o59znnTtI+1/V8/N731+Lz+XwCAAAAAAAAgCAQ0tgTAAAAAAAAAICGQiAKAAAAAAAAIGgQiAIAAAAAAAAIGgSiAAAAAAAAAIIGgSgAAAAAAACAoEEgCgAAAAAAACBoEIgCAAAAAAAACBoEogAAAAAAAACCBoEoAAAAAAAAgKBBIAoAAAAAAAAgaBCIAg0gJydHQ4cOld1uV7du3fTFF1/UOP6ll15Senq6wsPDNXny5CrHLF++XCEhIZoyZUpA5wAAAAAAAIIZgShQj66++mpNnz79kOO33HKL2rRpo5ycHD311FMaNWqU9uzZU+19kpKSNHnyZF100UVVni8rK9Mdd9yhfv36BXQOAAAAAAAg2IU19gSA5q6wsFDz58/Xpk2bZLPZNHz4cPXs2VMffPCBrrnmmiqvGTlypCTp448/rvL8K6+8ov79+ysvLy+gcwAAAAAAAMGOClE0up9++km33nqrevToIbvdrpSUFI0aNUrr16/36/rCwkI9+OCDOuecc9SyZUtZLJYqqzT9HScdrPS0WCzVvnbs2OH3+9uwYYOio6PVvn1781jPnj21du1av+9RXm5urp577jk99NBDAZ0DAAAAAAAAFaI4CjzxxBNatmyZLrnkEvXq1Uu7du3Sv//9b6Wnp+v777/XcccdV+P1LpdLDz/8sFJSUnT88cdryZIlhzVOkm644QadccYZFY75fD7deOONSk1NVbt27fx+f4WFhYqNja1wLDY2Vrm5uX7fo7yJEyfq9ttvV3x8fEDnAAAAAAAAQCCKo8D48eM1a9YsRUREmMcuvfRS9ezZU1OnTtWMGTNqvD4pKUk7d+5UmzZttGLFimr3zvR3nCSdeOKJOvHEEyscW7p0qTwej6688soKx88//3wtXbpUkuTxeDRnzhzdfvvtkqQJEybo7LPPVn5+foVr8vPzFR0dXeP7qsqqVav0008/6YUXXgjoHAAAAAAAAA4iEA1ys2fP1hNPPKHMzEylpqbq+eef1+mnn67jjjtOV1xxhSZOnHjE5zBw4MBDjnXt2lU9evRQZmZmrddbrVa1adOm3sZVZ9asWbJYLLriiisqHP/www/Nn6+++mqdeuqpuvrqq81jhYWFKiws1I4dO8zK0jVr1mj06NEBz+Hrr7/WunXrzPvk5eUpLCxMf/75p44//vhqz73xxhsBPwsAAAAAAKA5IhANYvfff78effRRXX311br22mv1r3/9S6NHj9arr76q7du369Zbb6322gMHDvjdtKdly5YKCQlsu1qfz6fdu3erR48eAV13pBw4cEBz5szRwIEDlZqaGtC10dHRGjFihB588EE9//zz+uKLL/Tbb79pxIgR1V5TWlqq0tJSeb1elZaWav/+/QoPD9fYsWN12WWXmePGjRunjh07asKECYqIiKj2HAAAAAAAAA4iEA1S3377rR599FHdc889mjp1qiSpTZs2uvjiizVhwgTddNNNiouLq/b6ZcuWaciQIX49a/PmzQGHiDNnztSOHTv08MMPB3TdkfLZZ58pNzf3kOXy/nrxxRd11VVXKSEhQe3bt9fs2bPVsmVL8/y5556rk08+Wffdd58kacqUKRUaIz366KN64403dPXVV8tms5nHo6KiFB0dbe4ZWtM5AAAAAAAASBafz+dr7Emg4V188cX68ssv5XQ6zb0sV65cqb59+yoyMlJbtmxR69atq71+7969WrlypV/POumkkxQZGen33P744w/1799fPXr00LfffqvQ0FC/rzX2BjXCw8MdZ7jiiis0d+5c7dy5UwkJCX7PBwAAAAAAAEcXKkSDkNfr1eeff65hw4ZV2djnmmuuqTEMlaQWLVoc0oW9PuzatUtDhw5VXFyc5s6dG1AYeqQUFhbqgw8+0Nlnn00YCgAAAAAA0MQRiAahTZs2qaCgQOnp6RWO5+TkSJJuueWWWu9RUlKiPXv2+PW8xMREv4LNvLw8nXvuudq3b5++/fZbtW3b1q/7H2nz58+vsrs8AAAAAAAAmp7AOt2gWTCCT4fDUeH4448/XuXxqnz33XdKSkry67Vt27Za77d//34NGzZM69ev14cffqhjjz22Du/syJg5c6aio6M1fPjwOt8jJydHQ4cOld1uV7du3fTFF1/UOP6ll15Senq6wsPDNXny5CrHLF++XCEhIZoyZUqdnwMAAAAAABBsqBANQkazpDVr1pjHZs2apW+++UbSwXCyNscff7wWLVrk1/PatGlT43mv16tLL71Uy5cv1wcffKATTzyx2rEej0dOp1MOh8Ov4PZw5eTkaPHixbr88ssrNCwK1C233KI2bdqY9xs1apQ2bNhQobFSeUlJSZo8ebJmzZpV5fmysjLdcccd6tev32E9BwAAAAAAINgQiAahtLQ0dezYUf/3f/8nm82mkJAQTZ06VaNGjdKcOXM0efJkjR8/Xj179qz2HvW5h+idd96pBQsWaNiwYdqzZ49mzJhR4XxGRob5848//qghQ4bowQcfrFA5+e9//1v79u1TVlaWJGnhwoXavn27JOkf//iHGQL7O84we/ZslZaWHtZy+cLCQs2fP1+bNm2SzWbT8OHD1bNnT33wwQe65pprqrxm5MiRkqSPP/64yvOvvPKK+vfvr7y8vMN6DgAAAAAAQLAhEA1CISEhmjdvnm666SY98cQTstlsuvPOO/XII48oOjpab731lk499dQaA9H69Msvv0g6GE4uXLjwkPPlA9HqPP3009q6dav573nz5mnevHnm9UbQ6e84w8yZM9WqVavDCn83bNig6OhotW/f3jzWs2dPrV27tk73y83N1XPPPafvv/9et99++xF7DgAAAAAAQHNEIBqkevfureXLlx9y/PXXX9frr7/eoHNZsmSJ32NPPfVU+Xy+Q45v2bLFr+v9HWeo6jMKVGFhoWJjYysci42NVW5ubp3uN3HiRN1+++2Kj48/os8BAAAAAABojmiqBBymk046SRaLpcrX/fffr+joaOXn51e4Jj8/X9HR0QE/a9WqVfrpp590/fXXH3KuPp8DAAAAAADQXFEhChympUuX1ni+sLBQhYWF2rFjh9q1ayfpYEOr0aNHB/ysr7/+WuvWrTPvk5eXp7CwMP355596/vnn6+05AAAAAAAAzRUVosARFh0drREjRujBBx9UUVGRPvzwQ/32228aMWJEtdeUlpZq//798nq9FX4eO3asNm7cqF9++UW//PKLhg8frltuuUXTpk2r03MAAAAAAACCDYEo0ABefPFFZWVlKSEhQePHj9fs2bPVsmVL8/y5556rxx57zPz3lClTFBUVpddee02PPvqooqKi9Pbbb8tms6lNmzbmKyoqStHR0eZ+orU9BwAAAAAAINhZfFV1qAEAAAAAAACAZogKUQAAAAAAAABBg0AUAAAAAAAAQNCgy/wRVFZWpqysLMXExMhisTT2dICjis/nU0FBgdq2bauQEP7bDAAAAAAAaBgEokdQVlaWkpOTG3sawFFt27Ztat++fWNPAwAAAAAABAkC0SMoJiZG0sHAJzY2tpFnAxxd8vPzlZycbP6dAAAAAAAANAQC0SPIWCYfGxtLIApUg+0kAAAAAABAQ2LjPgAAAAAAAABBg0AUAAAAAAAAQNAgEAUAAAAAAAAQNAhEAQAAAAAAAAQNAlEAAAAAAAAAQYNAFAAAAAAAAEDQIBAFAAAAAAAAEDQIRAEAAAAAAAAEDQJRAAAAAAAAAEGDQBQAAAAAAABA0CAQBQAAAAAAABA0CEQBAAAAAAAABA0
"text/plain": [
"<Figure size 1390x1390 with 36 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data, names, gof = read_samples(\"SFI_groups\", \"Carrick2015\", 0)\n",
"\n",
"fig = corner.corner(data, labels=names_to_latex(names, True), show_titles=True,\n",
" title_fmt=\".3f\", title_kwargs={\"fontsize\": 12}, smooth=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### LOSS-only comparison"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"LOSS_Carrick_0 = read_samples(\"LOSS\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"LOSS_Carrick_1 = read_samples(\"LOSS\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"LOSS_CB1_0 = read_samples(\"LOSS\", \"csiborg1\", 0, return_MCsamples=True)\n",
"LOSS_CB1_1 = read_samples(\"LOSS\", \"csiborg1\", 1, return_MCsamples=True)\n",
"\n",
"LOSS_CB2_0 = read_samples(\"LOSS\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"LOSS_CB2_1 = read_samples(\"LOSS\", \"csiborg2_main\", 1, return_MCsamples=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" LOSS_Carrick_0,\n",
" # LOSS_Carrick_1,\n",
" # LOSS_CB1_0,\n",
" LOSS_CB1_1,\n",
" LOSS_CB2_0,\n",
" LOSS_CB2_1,\n",
" ]\n",
"\n",
"# params = [\"l\", \"b\", \"Vmag\", \"beta\"]\n",
"params = None\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, params=params, filled=True, legend_loc='upper right', )\n",
"g.export(f\"../plots/LOSS_comparison.png\", dpi=500,)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Foundation-only comparison"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"FOUNDATION_Carrick_0 = read_samples(\"Foundation\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"FOUNDATION_Carrick_1 = read_samples(\"Foundation\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"FOUNDATION_CB1_0 = read_samples(\"Foundation\", \"csiborg1\", 0, return_MCsamples=True)\n",
"FOUNDATION_CB1_1 = read_samples(\"Foundation\", \"csiborg1\", 1, return_MCsamples=True)\n",
"\n",
"FOUNDATION_CB2_0 = read_samples(\"Foundation\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"FOUNDATION_CB2_1 = read_samples(\"Foundation\", \"csiborg2_main\", 1, return_MCsamples=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" FOUNDATION_Carrick_0,\n",
" # FOUNDATION_Carrick_1,\n",
" # FOUNDATION_CB1_0,\n",
" FOUNDATION_CB1_1,\n",
" FOUNDATION_CB2_0,\n",
" FOUNDATION_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"g.export(f\"../plots/FOUNDATION_comparison.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### PantheonPlus-only comparison"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Reading Pantheon+ fitted to csiborg2_main with ksmooth = 0.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"BIC = 10056.015674 +- 27.407189\n",
"AIC = 10010.824268 +- 27.407189\n",
"logZ = -5006.756958 +- 48.432771\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading Pantheon+ fitted to csiborg2_main with ksmooth = 1.\n",
"BIC = 10027.133105 +- 13.850270\n",
"AIC = 9981.941699 +- 13.850270\n",
"logZ = -4981.690186 +- 6.885272\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n"
]
}
],
"source": [
"# PANTHEONP_Carrick_0 = read_samples(\"Pantheon+\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"# PANTHEONP_Carrick_1 = read_samples(\"Pantheon+\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"# PANTHEONP_CB1_0 = read_samples(\"Pantheon+\", \"csiborg1\", 0, return_MCsamples=True)\n",
"# PANTHEONP_CB1_1 = read_samples(\"Pantheon+\", \"csiborg1\", 1, return_MCsamples=True)\n",
"\n",
"# STILL RUNNING\n",
"PANTHEONP_CB2_0 = read_samples(\"Pantheon+\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"PANTHEONP_CB2_1 = read_samples(\"Pantheon+\", \"csiborg2_main\", 1, return_MCsamples=True)\n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1200x1200 with 21 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X = [\n",
" # PANTHEONP_Carrick_0,\n",
" # PANTHEONP_Carrick_1,\n",
" # PANTHEONP_CB1_0,\n",
" # PANTHEONP_CB1_1,\n",
" PANTHEONP_CB2_0,\n",
" PANTHEONP_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"# g.export(f\"../plots/PANTHEONP_comparison.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2MTF comparison"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"TWOMTF_Carrick_0 = read_samples(\"2MTF\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"TWOMTF_Carrick_1 = read_samples(\"2MTF\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"TWOMTF_CB1_0 = read_samples(\"2MTF\", \"csiborg1\", 0, return_MCsamples=True)\n",
"TWOMTF_CB1_1 = read_samples(\"2MTF\", \"csiborg1\", 1, return_MCsamples=True)\n",
"\n",
"TWOMTF_CB2_0 = read_samples(\"2MTF\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"TWOMTF_CB2_1 = read_samples(\"2MTF\", \"csiborg2_main\", 1, return_MCsamples=True)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" TWOMTF_Carrick_0,\n",
" # TWOMTF_Carrick_1,\n",
" # TWOMTF_CB1_0,\n",
" TWOMTF_CB1_1,\n",
" TWOMTF_CB2_0,\n",
" TWOMTF_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"g.export(f\"../plots/2MTF_comparison.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### SFI galaxies"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"SFIGAL_Carrick_0 = read_samples(\"SFI_gals\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"SFIGAL_Carrick_1 = read_samples(\"SFI_gals\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"# SFIGAL_CB1_0 = read_samples(\"SFI_gals\", \"csiborg1\", 0, return_MCsamples=True)\n",
"# SFIGAL_CB1_1 = read_samples(\"SFI_gals\", \"csiborg1\", 1, return_MCsamples=True)\n",
"\n",
"SFIGAL_CB2_0 = read_samples(\"SFI_gals\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"SFIGAL_CB2_1 = read_samples(\"SFI_gals\", \"csiborg2_main\", 1, return_MCsamples=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" SFIGAL_Carrick_0,\n",
" # SFIGAL_Carrick_1,\n",
" # SFIGAL_CB1_0,\n",
" # SFIGAL_CB1_1,\n",
" # SFIGAL_CB2_0,\n",
" SFIGAL_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"g.export(f\"../plots/SFI_gals_comparison.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### SFI groups"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Reading SFI_groups fitted to Carrick2015 with ksmooth = 0.\n",
"BIC = 8896.874023 +- 0.000000\n",
"AIC = 8866.249023 +- 0.000000\n",
"logZ = -4417.928711 +- 0.000000\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_groups fitted to Carrick2015 with ksmooth = 1.\n",
"BIC = 8957.607422 +- 0.000000\n",
"AIC = 8926.982422 +- 0.000000\n",
"logZ = -4447.800293 +- 0.000000\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_groups fitted to csiborg2_main with ksmooth = 0.\n",
"BIC = 8782.843457 +- 17.080250\n",
"AIC = 8752.218457 +- 17.080250\n",
"logZ = -4362.511084 +- 8.475959\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_groups fitted to csiborg2_main with ksmooth = 1.\n",
"BIC = 8726.997656 +- 21.534941\n",
"AIC = 8696.372656 +- 21.534941\n",
"logZ = -4333.264429 +- 10.550374\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n"
]
}
],
"source": [
"SFIGROUP_Carrick_0 = read_samples(\"SFI_groups\", \"Carrick2015\", 0, return_MCsamples=True)\n",
"SFIGROUP_Carrick_1 = read_samples(\"SFI_groups\", \"Carrick2015\", 1, return_MCsamples=True)\n",
"\n",
"SFIGROUP_CB2_0 = read_samples(\"SFI_groups\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"SFIGROUP_CB2_1 = read_samples(\"SFI_groups\", \"csiborg2_main\", 1, return_MCsamples=True)"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAASlCAYAAACSitFIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5wdZd3+8WvmtO092ZTdTUjvlUAgVJFeBUGQKEE6lgcrUqT8FEITUUBBKUGUJiDSRMCAhE56SCAkpGxLT7bvaTPz+2PdNZu65cwpu5/36zkP7Jk59/09JYvnyn1/x3AcxxEAAAAAAAAQZ2aiCwAAAAAAAEDvRDAFAAAAAACAhCCYAgAAAAAAQEIQTAEAAAAAACAhCKYAAAAAAACQEARTAAAAAAAASAiCKQAAAAAAACSEN9EFxJtt26qurlZ2drYMw0h0OYBrHMdRfX29BgwYINMkgwYAAAAAJJ9eF0xVV1ertLQ00WUAcVNRUaGSkpJElwEAAAAAwG56XTCVnZ0tqeXLek5OToKrAdxTV1en0tLSts88AAAAAADJptcFU63b93Jycgim0CuwZRUAAAAAkKxoPAMAAAAAAICEIJgCAAAAAABAQhBMAQAAAAAAICEIpgAAAAAAAJAQva75OQAAAABgd9GN1bJqdrg6hycvX95+A1ydA0BqIZgCAAAAgF4uurFaVWcdJ4VD7k7kD2jgc68TTkGDBw/WPffcozPOOCPRpSDB2MoHAAAAAL2cVbPD/VBKksKhTq3KWrlypU499VQVFRUpJydHo0aN0u233y5JOuqooxQIBJSVldV2+/3vf9/22KOOOkr33HNPrJ9B0nv33Xd14oknKj8/X3l5eZo4caLuuOMOhcPhTo1z33336cADD1QgENhjeDRr1iz5/f52r/8HH3wQo2fRPYsXL9Yll1yi4447Tj/60Y9044036k9/+lOiy2rT3NysYcOGKS8vr1PH9/ee7PxeZGVlyefzacKECXut48svv2z7rAwcOFB33HFHN55V1xFMAQAAAACS0sknn6yJEyeqvLxcO3bs0HPPPachQ4a0Hb/99tvV0NDQdrvyyitdq8VxHFmW5dr4sfDyyy/rxBNP1PHHH69Vq1appqZGTz/9tFasWKENGza0O/ftt9/WUUcdtdexBgwYoOuvv16XXHLJXs+58sor273+hxxySKyeSpe9/vrr2rhxo37zm9/owgsv1IYNG/TOO+/oggsuSHRpbW644QYNGjSo08f3957s/F40NDRo9OjROvfcc/d4rmVZOu200zRlyhRt3rxZc+fO1X333acnnniia0+qGwimAAAAAABJZ+vWrfryyy912WWXKSMjQx6PR2PHjtXZZ58d03kqKyt17LHHKicnR1OnTtWtt96qwYMHS2rZbjZ79mxNnz5dGRkZWrFihSRp06ZNOuecc9SnTx+VlZXpuuuuUzQalSQZhqHFixe3jX/PPfe0C4AGDx6sW265RVOmTFFOTo6OP/54VVdXtx2/++67VVZWpuzsbA0ePFgPPfRQh56H4zj6wQ9+oKuvvlpXXXWVioqKJEmjRo3SnDlz9hmE7MmZZ56pM844o20cN+3r9ZT2/R7tauTIkTrhhBOUlZWlc889V3379tXf/vY3+f1+159HRyxYsECvvfaarr766k4f78x78vHHH2vFihWaNWvWHo+vXLlSK1eu1I033iifz6eRI0fqoosu0h//+MdOPZ9YIJgCAAAAACSdwsJCjRw5UhdeeKGeeeYZrV+/3pV5vvnNb2rQoEHatGmTnnzyST388MPtjs+ZM0ePPfaYGhoaNHLkyLbH+Hw+rV27VvPmzdMLL7zQqW1QDz30kJ544glt3LhR/fr108yZMyVJX3zxha6//nq9/vrrqq+v10cffaSDDjqoQ2OuWrVKa9eu1XnnndfhOrrrz3/+swoKCjR27Fj9+te/lm3bXRpnf6/n/t6jne0cwN15552aNWvWXoOcK6+8Unl5eXu9vfvuu116PnsTjUZ1ySWX6P77799jULa/453x8MMP68QTT9SAAXvu59b6XjmO0+6+pUuXdmveriCYAgAAAAAkHcMw9Pbbb2vixIm6+eabNWTIEI0ZM0ZvvPFG2znXXHNNuyChsbGxU3NUVFRo3rx5uu2225Senq4RI0bo8ssvb3fOFVdcoZEjR8rj8cjv96uqqkpz587V3XffraysLA0aNEjXXXed5syZ0+F5r7jiCo0aNUoZGRm644479NZbb6myslIej0eO42j58uVqbm5WcXHxPnsE7WzLli2SpIEDB3a4ju74wQ9+oJUrV2rLli16+OGH9dvf/la//e1vOz3O/l7PjrxHu/rd736nSZMm6bXXXtPtt9+uSCSyx/N+//vfq6amZq+3ww47bK9znHLKKTIMY6+3devW7faYO++8U5MnT9YRRxyxxzH3d7yjGhsb9dRTT+niiy/e6zkjR47U4MGDdcMNNygUCmn58uV65JFHVFdX1625u4JgCgAAAACQlPr166df//rXWr58ubZs2aITTzxRX/va17R9+3ZJ0uzZs9sFCZmZmZ0av7q6Wmlpae1W1JSVlbU7Z9efKysrlZaWpuLi4rb7hgwZosrKyg7Pu/OqnuLiYgUCAVVVVWno0KF67LHHdN9996m4uFjHHXdcu22B+9L6HKqqqvZ6zs4rhE455RS9++67XV4hNGXKFPXp00cej0fTp0/Xz3/+cz399NMdfnyr/b2eHXmPdnX00Ufr1FNP1dy5c/XUU0/J5/N1uq79eeKJJ7Rly5a93natcfXq1XrggQd055137nG8/R3vjL/97W/KyMjQySefvNdzfD6f/vGPf2jRokUaOHCgzj//fF144YUqLCzs9vydRTAFAAAAAEh6BQUFuummm9TY2Ki1a9fGZMwBAwYoGAxq69atbfeVl5e3O8c0239tLikpUTAY1KZNm9ruW7dunUpKSiRJmZmZampqaju2a9NxSe22JW7evFmhUKhtpdM555yjt956S5s2bdLEiRP1rW99q0PPZcSIERo8eLCeeuqpvZ6z8wqhl19+WYcddliHVwjtz66vU0ft7/XsyHu0sy+++EKPPPKIbr755v3Offnll+92Jbudb/PmzdvrY3NyclRUVLTX266vx7vvvqtNmzZpxIgRKioq0umnn666ujoVFRXpo48+2u/xznjooYd0wQUXyOv17vO8sWPH6vXXX9fWrVu1ePFihUIhHXnkkZ2aKxYIpiCpZV/pGysjumtus+Z+EWm3z7SrrJodanjxWdX/7a8Kr1whp4v7jQEAAAD0Pjt27ND111+vzz//XJZlqampSXfffbcKCgo0atSomMxRWlqqGTNm6Nprr1Vzc7NWrVq13+bPAwcO1NFHH62f/OQnamxsVHl5uW655Za2q75NmTJFjz/+uKLRqBYvXqzHH398tzEefPBBrVy5Us3Nzbr66qt1xBFHqKSkRCtXrtQbb7yh5uZm+f1+ZWVltQsXbrrppr1eSc8wDN1777267bbbdO+992rbtm2SWoKaiy66qNM9uqLRqILBoKLRqGzbVjAYVDgcbjv+zDPPqK6uTo7jaP78+brtttt01llndajWne3v9ezMe/TZZ5/pz3/+s+66664OBWUPPPDAbley2/l2+OGH73eMjjrnnHO0evVqLV68WIsXL9ZDDz2k7OxsLV68WJMnT97vcWn/74nU0tT8/fff10UXXbTfmpYuXarGxkaFw2E9//zzeuSRR3T99dfH7Dl3FMEUFLEcfesvjXrw/aCyA4YeeD+ks+c0KBztWjjl2LZqHr5fmy47X9HNG+WEQ6p56D5tvPgbCq9ZFePqAQAAAHSXJy9f8gfcn8gfaJmrI6f+t5/TSSedpNzcXJWVlem9997TP//5z05v2duXJ554QmvWrFFxcbHOPfdczZw5U4HAvl+LJ554Qs3NzRo0aJBmzJihk08+WT/72c8kSffee68++OAD5eXl6eqrr24LWHb2ne98R+edd56Ki4tVVVWlv/71r5KkcDisX/ziFyouLlZhYaHmzp3brndVeXm5ZsyYsde6TjnlFP3zn//
"text/plain": [
"<Figure size 1200x1200 with 21 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X = [\n",
" SFIGROUP_Carrick_0,\n",
" # SFIGROUP_Carrick_1,\n",
" # SFIGROUP_CB2_0,\n",
" SFIGROUP_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"# g.export(f\"../plots/SFI_gals_comparison.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Mock CB2"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Reading CB2_small fitted to csiborg2_main with ksmooth = 0.\n",
"BIC = 1518.694963 +- 15.561768\n",
"AIC = 1503.063981 +- 15.561768\n",
"logZ = -729.645736 +- 6.980612\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading CB2_small fitted to csiborg2_main with ksmooth = 1.\n",
"BIC = 1518.014282 +- 8.280079\n",
"AIC = 1502.383301 +- 8.280079\n",
"logZ = -729.024292 +- 3.814355\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n"
]
}
],
"source": [
"SMALLMOCK_CB2_0 = read_samples(\"CB2_small\", \"csiborg2_main\", 0, return_MCsamples=True)\n",
"SMALLMOCK_CB2_1 = read_samples(\"CB2_small\", \"csiborg2_main\", 1, return_MCsamples=True)"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAASlCAYAAAB5vWpLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5hdVb3/8c8+dXpNz7Rk0kMKIQkhCSW0ELr0poAgIKIXFeHS8SJFRCwgglKCSFd+NBEDBkiDkB5ImfQp6W366Xv//ogT0yaZcs7Z58y8X88z9yFz9l7re/aU+8zHtb7LsCzLEgAAAAAAABBHDrsLAAAAAAAAQOdDKAUAAAAAAIC4I5QCAAAAAABA3BFKAQAAAAAAIO4IpQAAAAAAABB3hFIAAAAAAACIO0IpAAAAAAAAxJ3L7gLizTRNbdq0SZmZmTIMw+5ygJixLEt1dXXq1auXHA7yZwAAAABAYul0odSmTZtUWFhodxlA3FRWVqqgoMDuMgAAAAAA2E+nC6UyMzMl7flDPSsry+ZqgNipra1VYWHh3u95AAAAAAASSacLpZq27GVlZRFKoVNgmyoAAAAAIBHRaAYAAAAAAABxRygFAAAAAACAuCOUAgAAAAAAQNwRSgEAAAAAACDuOl2jcwAAAABA24W3bFKkendM53Dm5MrVo1dM5wBgP0IpAAAAAECLhLds0sYLT5eCgdhO5PGq99+nEUzto6SkRL/97W91/vnnH/LfiS7Z6kV8sH0PAAAAANAikerdsQ+kJCkYaPVqrFmzZmnKlCnKzc1VTk6ORowYoccee0zBYFAnnXSSvF6vMjIylJmZqaFDh+qtt97ae28gEND3vvc99enTR5mZmRo0aJBeeOGFaL8rWx3u+UhK+me0ePFife9739Ppp5+un/zkJ7r//vv15z//2e6ylJGRsd+H2+3W8OHDJR35ma5du3bv16x379567LHHjjjfe++9p5EjRyo9PV29evXSM888E7P3Fg2EUgAAAACApPbBBx9oypQpmjx5slavXq3q6mq98cYbWr58uTZv3ixJ+uUvf6n6+nrV1tbqscce05VXXqny8nJJUjgcVs+ePfXJJ5+otrZWU6dO1U9/+lNNmzbNzrcVNS15PlLyPqNp06Zpy5Yt+s1vfqNrr71Wmzdv1owZM3T11VfbXZrq6+v3+xg8eLAuu+wySYd/ppFIROeee65GjRqlbdu2afr06Xrqqaf06quvNjvXRx99pJtvvlm//e1vVVtbq2XLlumkk06K0zttG0IpAAAAAEDSsixLP/rRj3THHXfo1ltvVZcuXSRJgwYN0tSpU1VcXLzf9YZh6KyzzlJOTo7KysokSenp6fq///s/lZaWyjAMjRs3TpMmTdKsWbOOOP8TTzyhoqIiZWZmqqSkRM8999ze10pKSvTII49ozJgxSk9P15QpU7Rr1y7dfPPNysnJUf/+/TVnzpz9xurfv78yMzNVWlqqp556Ku7PR4r+MzqUrVu36pJLLlHXrl1VVFSku+++W+FweO/rVVVVOu2005SVlaVjjjlGDz/8sEpKSg451sCBA3XGGWcoIyNDl112mbp166a33npLHo+nTbXFyldffaXly5frmmuukXT4Z1pWVqaysjLdf//9crvdGjhwoK677jr96U9/anb8e++9V/fdd59OOukkOZ1O5ebmatCgQXF6d21DKAUAAAAASFqrV6/W+vXrdfnll7foetM09e6778rn82nkyJGHvMbv9+urr77au82qOatWrdI999yjadOmqa6uTnPnztXYsWP3u+aNN97Q22+/rU2bNqmyslLjxo3Tqaeeqp07d+qKK67QTTfdtPfa4uJiTZ8+XbW1tXruuef0s5/9TLNnz27R+2pOa5+PFN1n1JwrrrhCbrdb69ev18yZM/XOO+/stz3tiiuuUHFxsbZu3arXXntNzz//fLNj7Rus/epXv9I111yzN3zbV1MY2NxHWwO2lnr++ec1ZcoU9ep16F5p+z5T0zQl7QkVm5imqaVLlx7y3oaGBi1YsEAbN27UgAED1KNHD1188cX7rYRLRIRSAAAAAICktX37dklS7969D3vdnXfeqZycHKWnp+uCCy7QPffco27duh10nWVZuv7669W/f39dcMEFhx3T6XTKsiwtW7ZMPp9P3bt3Pyik+f73v6/CwkJlZ2frzDPPVH5+vi644AI5nU5deuml+uabb/b2dbrwwgtVWFgowzA0adIkTZ48WZ999lkrnsbBWvp8pNg8o0PZuHGjpk+frieeeEIZGRkqLi7W3XffralTp0qSKisrNXPmTD366KNKTU3VgAED9gvvDuX3v/+9Ro4cqY8++ki//OUvFQqFDrrm6aefVnV1dbMfEydOPOwcZ599tgzDaPZjw4YNzd7b0NCg119/Xddff/0hXz/wmQ4cOFAlJSW67777FAgEtGzZMr3wwguqra095P27d++WZVl655139PHHH2vNmjXyer266qqrDvue7EYoBQAAAABIWk0rYjZu3HjY6x555BFVV1fL5/OprKxML730kp599tn9rrEsSzfffLPKysr0zjvvyOE4/J/MpaWleumll/TUU0+pe/fuOv3007V48eL9runevfve/05LSzvo35ZlqbGxUZL0yiuvaNSoUcrLy1NOTo4+/PBD7dix44jP4HBa+nyk2DyjQ6mqqlJKSsp+z6Jv376qqqqSJG3atEkpKSn7rXYqKio67JiTJk3SOeeco+nTp+v111+X2+1udV1H8uqrr2r79u3NfhyuxrfeektpaWk666yzDnrtUM/U7Xbr3Xff1aJFi9S7d29deeWVuvbaa5Wfn3/I8TMyMiRJP/rRj1RcXKyMjAz9/Oc/16effqqGhoboPIAYIJQCAAAAACStAQMGqKSkRK+//nqL7+nXr5/OPPNMffDBB3s/Z1mWfvCDH2ju3LmaNm2asrOzWzTWJZdcok8//VRbt27ViBEj9O1vf7vV70GSKioqdPXVV+uxxx7Ttm3bVF1drTPPPHO/7Vtt0ZbnI0X3GR2ooKBAfr9fW7du3fu5DRs2qKCgQJLUq1cv+f3+/QK5ioqKZsdbtWqVXnjhBf385z8/7Lw33XTTQafh7fsxc+bMw96flZWlLl26NPtxuIDuueee09VXXy2Xy7Xf5w/3TIcOHapp06Zpx44dWrx4sQKBgE488cRDjp+Tk9NsKNbe76FYIpTqoEJV5ap5+TkFy5ZHfeyIaenD5UH9arpP738TVCiSuN/gAAAAADo2wzD05JNP6tFHH9WTTz6pnTt3StoTVFx33XV7T4/b14YNG/Thhx9q2LBhez93yy23aPbs2fr444+Vm5vbornLysr08ccfy+fzyePxKCMj46DQoaXq6+tlWZa6desmh8OhDz/8sMUn2z3wwAPNnrLWlucjte0ZHa6OffXu3VuTJk3SbbfdpoaGBlVUVOihhx7ae1peYWGhJkyYoLvuuks+n0+rV69utsH3ihUr9Je//EWPP/74EVdtPfPMMwedhrfvx/HHH3/E2tuirKxMc+bM0XXXXXfQa4d7pkuXLlVDQ4OCwaDefvttvfDCC7rnnnuaneeGG27Qk08+qY0bN8rn8+n//u//dMopp+xdRZWICKU6IN9Xc7T9p9+X4fVq50N3q2HaP6I29prtEY3/ba3eXhpSXppDHy4PafSva7WgMnzkmwEAAAAkNWdOruTxxn4ij3fPXC109tln65///Kf+8Y9/qLS0VDk5Obrooos0aNAg9ezZU5J0xx137F0RM3HiRJ166qm67777JEnl5eV6+umnVVZWtnfrU0ZGxhH7GAWDQd17773q3r278vPzNX369L19kVpryJAhuvvuu3XyyScrPz9fb7zxhs4999wW3VtRUaEJEyY0+3pLno/U/md0pDr29eqrr8rn86m4uFgTJkzQWWedpdtvv32/19etW6fu3bvrsssu01VXXSWvd//vvQULFuj888/Xq6++qosvvljvv/++IpGIpD1hVXOBW7w9//zzOv7449W/f//9Pn+kZ/rmm2+qqKhIubm5evzxx/XOO+/s17Pspptu2u/
"text/plain": [
"<Figure size 1200x1200 with 21 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X = [\n",
" SMALLMOCK_CB2_0,\n",
" SMALLMOCK_CB2_1,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, filled=True, legend_loc='upper right')\n",
"# g.export(f\"../plots/CB2_mocks.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### External flow consistency"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Carrick2015"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" # LOSS_Carrick_0,\n",
" # FOUNDATION_Carrick_0,\n",
" PANTHEONP_Carrick_0,\n",
" TWOMTF_Carrick_0,\n",
" SFIGAL_Carrick_0,\n",
" ]\n",
"\n",
"params = [\"Vmag\", \"l\", \"b\", \"beta\"]\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, params=params, filled=True, legend_loc='upper right',)\n",
"g.export(f\"../plots/Carrick2015_external_flow.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### CSiBORG1"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" # LOSS_CB1_1,\n",
" # FOUNDATION_CB1_1,\n",
" PANTHEONP_CB1_1,\n",
" TWOMTF_CB1_1,\n",
" # SFIGAL_CB1_1,\n",
" ]\n",
"\n",
"params = [\"Vmag\", \"l\", \"b\", \"beta\"]\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, params=params, filled=True, legend_loc='upper right',)\n",
"g.export(f\"../plots/CB1_external_flow.png\", dpi=500,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### CSiBORG2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X = [\n",
" # LOSS_CB2_1,\n",
" # FOUNDATION_CB2_1,\n",
" PANTHEONP_CB2_1,\n",
" TWOMTF_CB2_1,\n",
" SFIGAL_CB2_1,\n",
" ]\n",
"\n",
"params = [\"Vmag\", \"l\", \"b\", \"beta\"]\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, params=params, filled=True, legend_loc='upper right',)\n",
"g.export(f\"../plots/CB2_external_flow.png\", dpi=500,)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Reading SFI_gals fitted to Carrick2015 with ksmooth = 1.\n",
"Subtracting LG velocity with kernel 0.0 Mpc / h.\n",
"BIC = 28930.990234 +- 0.000000\n",
"AIC = 28881.580078 +- 0.000000\n",
"logZ = -14433.558594 +- 0.000000\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_groups fitted to Carrick2015 with ksmooth = 1.\n",
"Subtracting LG velocity with kernel 0.0 Mpc / h.\n",
"BIC = 8957.607422 +- 0.000000\n",
"AIC = 8926.982422 +- 0.000000\n",
"logZ = -4447.800293 +- 0.000000\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_gals fitted to csiborg2_main with ksmooth = 1.\n",
"Subtracting LG velocity with kernel 0.0 Mpc / h.\n",
"BIC = 28646.324902 +- 24.227278\n",
"AIC = 28596.914746 +- 24.227278\n",
"logZ = -14288.365332 +- 12.050230\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n",
"\n",
"Reading SFI_groups fitted to csiborg2_main with ksmooth = 1.\n",
"Subtracting LG velocity with kernel 0.0 Mpc / h.\n",
"BIC = 8726.997656 +- 21.534941\n",
"AIC = 8696.372656 +- 21.534941\n",
"logZ = -4333.264429 +- 10.550374\n",
"chi2 = 0.000000 +- 0.000000\n",
"Removed no burn in\n"
]
}
],
"source": [
"k = 1\n",
"LG = 0\n",
"\n",
"# Carrick\n",
"# LOSS_Carrick_LG = read_samples(\"LOSS\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# FOUNDATION_Carrick_LG = read_samples(\"Foundation\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# PANTHEON_Carrick_LG = read_samples(\"Pantheon+\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# TWOMTF_Carrick_LG = read_samples(\"2MTF\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"SFIGAL_Carrick_LG = read_samples(\"SFI_gals\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"SFIGROUPS_Carrick_LG = read_samples(\"SFI_groups\", \"Carrick2015\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"\n",
"\n",
"# # CSiBORG2\n",
"# LOSS_CB2_LG = read_samples(\"LOSS\", \"csiborg2_main\", k, return_MCsamples=True,subtract_LG_velocity=LG)\n",
"# FOUNDATION_CB2_LG = read_samples(\"Foundation\", \"csiborg2_main\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# PANTHEON_CB2_LG = read_samples(\"Pantheon+\", \"csiborg2_main\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# TWOMTF_CB2_LG = read_samples(\"2MTF\", \"csiborg2_main\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"SFIGAL_CB2_LG = read_samples(\"SFI_gals\", \"csiborg2_main\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"SFIGROUP_CB2_LG = read_samples(\"SFI_groups\", \"csiborg2_main\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"\n",
"# # CSiBORG1\n",
"# LOSS_CB1_LG = read_samples(\"LOSS\", \"csiborg1\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# FOUNDATION_CB1_LG = read_samples(\"Foundation\", \"csiborg1\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# PANTHEON_CB1_LG = read_samples(\"Pantheon+\", \"csiborg1\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# TWOMTF_CB1_LG = read_samples(\"2MTF\", \"csiborg1\", k, return_MCsamples=True, subtract_LG_velocity=LG)\n",
"# SFIGAL_CB1_LG = read_samples(\"SFI_gals\", \"csiborg1\", k, return_MCsamples=True, subtract_LG_velocity=LG)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Removed no burn in\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:2D kernel density bandwidth optimizer failed for Vmag, l. Using fallback width: f(a) and f(b) must have different signs\n",
"WARNING:root:2D kernel density bandwidth optimizer failed for l, b. Using fallback width: f(a) and f(b) must have different signs\n",
"WARNING:root:2D kernel density bandwidth optimizer failed for l, b. Using fallback width: f(a) and f(b) must have different signs\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 600x600 with 6 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"params = [\"Vmag\", \"l\", \"b\"]\n",
"CMB = MCSamples(samples=multivariate_normal([627, 276, 30], [22, 3, 3]).rvs(size=20000),\n",
" names=params, labels=names_to_latex(params, True), label=\"CMB\")\n",
"\n",
"X = [\n",
" # LOSS_Carrick_LG,\n",
" # FOUNDATION_Carrick_LG,\n",
" # PANTHEON_Carrick_LG,\n",
" # TWOMTF_Carrick_LG,\n",
" # SFIGAL_Carrick_LG,\n",
" # SFIGROUPS_Carrick_LG,\n",
" # LOSS_CB1_LG,\n",
" # FOUNDATION_CB1_LG,\n",
" # PANTHEON_CB1_LG,\n",
" # TWOMTF_CB1_LG,\n",
" # SFIGAL_CB1_LG,\n",
" # LOSS_CB2_LG,\n",
" # FOUNDATION_CB2_LG,\n",
" # PANTHEON_CB2_LG,\n",
" # TWOMTF_CB2_LG,\n",
" SFIGAL_CB2_LG,\n",
" SFIGROUP_CB2_LG,\n",
" CMB,\n",
" ]\n",
"\n",
"g = plots.get_subplot_plotter()\n",
"g.settings.figure_legend_frame = False\n",
"g.settings.alpha_filled_add = 0.75\n",
"# g.settings.title_limit_fontsize = 14\n",
"g.triangle_plot(X, params=params, filled=True, legend_loc='upper right', )\n",
"# g.export(f\"../plots/ALL_dipole.png\", dpi=500,)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}