csiborgtools/scripts/plot_concentration.ipynb
Richard Stiskalek 7f58b1f78c
JAX and fix conc (#6)
* change to log10 initlogRs

* add uncertainty

* add check if hessian negative

* update TODO

* update TODO

* output the error too

* save e_logRs

* add concentration calculation

* calcul concentration

* missed comma in a list

* Update TODO

* fix bug

* add box units and pretty status

* make uncertainty optional

* add BIC function

* remove BIC again

* add new overdensity calculation

* change defualt values to max dist and mass

* change to r200

* new halo find

* speed up the calculation

* add commented fucn

* update TODO

* add check whether too close to outside boundary

* Update TODO

* extract velocity as well

* calculate m200 and m500

* update nb

* update TODO
2022-11-05 21:17:05 +00:00

340 KiB

In [2]:
import sys
import numpy as np
import matplotlib.pyplot as plt
import scienceplots
import astroquery
from tqdm import trange, tqdm

sys.path.append("../")
import csiborgtools

%matplotlib widget 
%load_ext autoreload
%autoreload 2
In [38]:
# # Norma
cluster = {"RA": (16 + 15 / 60 + 32.8 / 60**2) * 15,
           "DEC": -60 + 54 / 60 + 30 / 60**2,
           "DIST": 67.8}

Xclust = np.array([cluster["DIST"], cluster["RA"], cluster["DEC"]]).reshape(1, -1)
In [39]:
paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)
nsims = paths.get_ics(False)
In [29]:
Xclust = np.array([cluster["DIST"], cluster["RA"], cluster["DEC"]]).reshape(1, -1)
In [33]:
matches = np.full(len(nsims), np.nan)

for ii in trange(101):
    cat = csiborgtools.read.HaloCatalogue(nsims[ii], paths, minmass=('M', 1e13))
    dist, ind = cat.angular_neighbours(Xclust, ang_radius=5, rad_tolerance=10)
    dist = dist[0]
    ind = ind[0]

    if ind.size > 0:
        matches[ii] = np.max(cat['M'][ind])
100%|██████████| 101/101 [00:44<00:00,  2.25it/s]
In [37]:
x = np.log10(matches[~np.isnan(matches)])


plt.figure()
plt.hist(x, bins=10)
plt.show()
Figure
No description has been provided for this image
In [ ]: