{ "cells": [ { "cell_type": "markdown", "id": "6fd4eead-aaf4-417b-8a6a-4cc44270b0e2", "metadata": {}, "source": [ "# Notebook 3: Creating, saving and reading radial profiles\n", "\n", "This script shows how to\n", "\n", "- make radial profiles and quickly plotting them\n", "- save them as Paicos data\n", "- create radial profiles for other particle types e.g. Dark Matter\n", "- read the Paicos data file\n", "- define a custom reader to conveniently read the data file\n", "- plot the data from the file\n", "\n", "Here we show how to create 1D histograms and save them using a `PaicosWriter` (which basically saves hdf5 files including the original meta data from the arepo snapshot and the units of whatever PaicosQuantity that you store).\n", "\n", "The use case is here that we want to create radial profiles of various physical quantities." ] }, { "cell_type": "markdown", "id": "df218346", "metadata": {}, "source": [ "## Making a radial profile" ] }, { "cell_type": "markdown", "id": "6bca788a-5db3-453e-ae2e-8e1bbde60de7", "metadata": {}, "source": [ "#### Selecting a spherical region for analysis\n", "\n", "First, we identify the center of the most massive FoF group in the simulation by accessing `GroupPos`. We retrieve the virial radius $R_{200,c}$. We find the indices of particles within the radial range from the center to r_max and create a new snapshot object that only contains the particles of interest. To do this, we use the `snap.select` method.\n", "\n", "Finally, we calculate the radial distances of the selected particles from the center." ] }, { "cell_type": "code", "execution_count": 1, "id": "e323486e-21e2-4503-87eb-742e66cfb839", "metadata": {}, "outputs": [], "source": [ "import paicos as pa\n", "import numpy as np\n", "\n", "# Open an Arepo snapshot\n", "snap = pa.Snapshot(pa.data_dir, 247)\n", "\n", "# The center of the most massive Friends-of-friends group in the simulation\n", "center = snap.Cat.Group[\"GroupPos\"][0]\n", "\n", "R200c = snap.Cat.Group['Group_R_Crit200'][0]\n", "\n", "# The maximum radius to be considered\n", "r_max = 10000*center.uq\n", "r_min = 1.e-2*r_max\n", "\n", "# Use OpenMP parallel Cython code to find this central sphere\n", "index = pa.util.get_index_of_radial_range(snap['0_Coordinates'],\n", " center, 0., r_max)\n", "\n", "# Create a new snap object which only contains the index above\n", "snap = snap.select(index, parttype=0)\n", "\n", "# Calculate the radial distances (a bit duplicate here...)\n", "r = np.sqrt(np.sum((snap[\"0_Coordinates\"] - center[None, :]) ** 2.0,\n", " axis=1))" ] }, { "cell_type": "markdown", "id": "281a2a50-7689-4860-947b-d97cf105fefd", "metadata": {}, "source": [ "#### Computing the histogram and plotting it\n", "\n", "We set up the binning, create a `Histogram` object using the radial distances and bins defined. We can choose to use a log scale for the bins.\n", "\n", "We calculate the radial temperature profile using masses as a weight, convert this quantity to physical units and plot it." ] }, { "cell_type": "code", "execution_count": 2, "id": "8275d93c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Attempting to get derived variable: 0_TemperaturesTimesMasses...\n", "\tSo we need the variable: 0_Temperatures...\n", "\tSo we need the variable: 0_MeanMolecularWeight...\t[DONE]\n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "# Set up the binning\n", "bins = [r_min, r_max, 100]\n", "\n", "# Create a histogram object\n", "h_r = pa.Histogram(r, bins=bins, logscale=True)\n", "\n", "# Using mass as weight for temperature radial profile\n", "r_temp_masses = h_r.hist(snap['0_TemperaturesTimesMasses'])\n", "r_masses = h_r.hist(snap['0_Masses'])\n", "\n", "r_temp = r_temp_masses/r_masses\n", "\n", "# Convert to physical units\n", "r_temp = r_temp.to_physical.to('K')\n", "centers = h_r.bin_centers.to_physical.to('kpc')\n", "\n", "import matplotlib.pyplot as plt\n", "plt.plot(h_r.bin_centers, r_temp)\n", "plt.ylabel(r_temp.label(\"T\"))\n", "plt.xlabel(centers.label(\"r\"))\n", "plt.xscale('log')\n", "plt.yscale('log')\n" ] }, { "cell_type": "markdown", "id": "ac404a44", "metadata": {}, "source": [ "## Storing data\n" ] }, { "cell_type": "markdown", "id": "fa545699", "metadata": {}, "source": [ "It is convenient to be able to store the data so that this step is de-coupled from the often many matplotlib iterations.\n", "\n", "Below we illustrate how to save an PaicosData file, created using the `PaicosWriter` class." ] }, { "cell_type": "code", "execution_count": 3, "id": "44573bc7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Attempting to get derived variable: 0_Volume...\t[DONE]\n", "\n", "Attempting to get derived variable: 0_MagneticFieldSquaredTimesVolume...\t[DONE]\n", "\n", "Attempting to get derived variable: 0_PressureTimesVolume...\t[DONE]\n", "\n" ] } ], "source": [ "# Create a Paicos writer object\n", "radfile = pa.PaicosWriter(snap, pa.data_dir, basename='radial')\n", "\n", "# Save binning information\n", "radfile.write_data('bin_centers', h_r.bin_centers)\n", "radfile.write_data('r_min', r_min)\n", "radfile.write_data('r_max', r_max)\n", "\n", "# Save the bin volumes (of the shells)\n", "bin_volumes = np.diff(4/3*np.pi*h_r.bin_edges**3)\n", "radfile.write_data('bin_volumes', bin_volumes)\n", "\n", "\n", "# Save various gas properties\n", "gas_keys = ['0_Masses',\n", " '0_Volume',\n", " '0_TemperaturesTimesMasses',\n", " '0_MagneticFieldSquaredTimesVolume',\n", " '0_PressureTimesVolume']\n", "\n", "# Do the histograms and save them at the same time\n", "for key in gas_keys:\n", " radfile.write_data(key, h_r.hist(snap[key]))\n" ] }, { "cell_type": "markdown", "id": "51fcd7ac-a687-4567-8f6e-056eac2b4fb0", "metadata": {}, "source": [ "Save other useful information from the FoF catalog" ] }, { "cell_type": "code", "execution_count": 4, "id": "12436ae9-9a02-436b-af8f-630955460cc7", "metadata": {}, "outputs": [], "source": [ "# It will probably also be useful to have some group properties\n", "# We save the 10 most massive FOF groups (sorted according to their M200_crit)\n", "index = np.argsort(snap.Cat.Group['Group_M_Crit200'])[::-1]\n", "for key in snap.Cat.Group.keys():\n", " radfile.write_data(key, snap.Cat.Group[key][index[:10]], group='Group')\n", "\n", "# Short hand access to the most massive will probably be nice\n", "radfile.write_data('R200c', R200c)\n", "radfile.write_data('center', center)\n" ] }, { "cell_type": "markdown", "id": "8e5f6699", "metadata": {}, "source": [ "### Making mass histograms for non-gas particles\n", "\n", "Let's also use data from non-gas particles to make mass histograms, and save them to the file." ] }, { "cell_type": "code", "execution_count": 5, "id": "354fb0e2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Attempting to get derived variable: 1_Masses...\t[DONE]\n", "\n", "Attempting to get derived variable: 3_Masses...\t[DONE]\n", "\n" ] } ], "source": [ "# Let us now also add some other parttype profiles\n", "for parttype in range(1, snap.nspecies):\n", " pstr = '{}_'.format(parttype)\n", " # Re-open the Arepo snapshot\n", " snap = pa.Snapshot(pa.data_dir, 247)\n", "\n", " # Use OpenMP parallel Cython code to find this central sphere\n", " index = pa.util.get_index_of_radial_range(snap[pstr+'Coordinates'],\n", " center, 0., r_max)\n", "\n", " # Create a new snap object which only contains the index above\n", " snap = snap.select(index, parttype=parttype)\n", "\n", " r = np.sqrt(np.sum((snap[pstr+\"Coordinates\"] - center[None, :]) ** 2.0,\n", " axis=1))\n", "\n", " # Create a new histogram object\n", " h_r = pa.Histogram(r, bins=bins, logscale=True)\n", "\n", " # Compute the mass profile for other particle types\n", " h_r.hist(snap[pstr + 'Masses'])\n", " radfile.write_data(pstr + 'Masses', h_r.hist(snap[pstr + 'Masses']))\n" ] }, { "cell_type": "markdown", "id": "e1d704ad", "metadata": {}, "source": [ "We can now close the file" ] }, { "cell_type": "code", "execution_count": 6, "id": "50c6000e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/Users/berlok/projects/paicos/data/tmp_radial_247.hdf5\n", "/Users/berlok/projects/paicos/data/radial_247.hdf5\n" ] } ], "source": [ "# Finally, close the file\n", "# Rename from a tmp_*.hdf5 file to the final filename\n", "radfile.finalize()\n", "print(radfile.tmp_filename)\n", "print(radfile.filename)" ] }, { "cell_type": "markdown", "id": "8e33b8c6", "metadata": {}, "source": [ "## Reading data" ] }, { "cell_type": "markdown", "id": "f2a1ee46", "metadata": {}, "source": [ "Now let's open this file and look at its contents. We can use the `PaicosReader` class which is made to read saved data including units and metadata." ] }, { "cell_type": "code", "execution_count": 7, "id": "36df4115", "metadata": {}, "outputs": [], "source": [ "# Simply read the radial file using the standard reader\n", "pro_simple = pa.PaicosReader(pa.data_dir, 247,\n", " basename='radial', load_all=True)" ] }, { "cell_type": "code", "execution_count": 8, "id": "8abe5801", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['0_MagneticFieldSquaredTimesVolume', '0_Masses', '0_PressureTimesVolume', '0_TemperaturesTimesMasses', '0_Volume', '1_Masses', '2_Masses', '3_Masses', '4_Masses', '5_Masses', 'Group', 'R200c', 'bin_centers', 'bin_volumes', 'center', 'r_max', 'r_min', 'org_info'])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The data fields that have been loaded\n", "pro_simple.keys()" ] }, { "cell_type": "code", "execution_count": 9, "id": "5060269a", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$1.6802022 \\times 10^{61} \\;\\mathrm{erg}\\times\\mathrm{\\frac{1}{h}}$" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# They all have units, for instance\n", "pro_simple['0_PressureTimesVolume'][1].to('erg')" ] }, { "cell_type": "markdown", "id": "aa72f273", "metadata": {}, "source": [ "The `PaicosReader` object has many of the same attributes as an instance of the Snapshot class (see Notebook 1) e.g. you can access" ] }, { "cell_type": "code", "execution_count": 10, "id": "0bdd21e7", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$13.802235 \\;\\mathrm{Gyr}$" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pro_simple.Config\n", "pro_simple.Header\n", "pro_simple.Parameters\n", "pro_simple.age" ] }, { "cell_type": "markdown", "id": "e62b9855", "metadata": {}, "source": [ "This is because the Snapshot class is a subclass of the PaicosReader class. " ] }, { "cell_type": "markdown", "id": "11988b8a", "metadata": {}, "source": [ "## Define a custom reader\n", "\n", "The default reader is already quite useful. It can however also be useful to define custom readers as done below." ] }, { "cell_type": "code", "execution_count": 11, "id": "aa52cb7c", "metadata": {}, "outputs": [], "source": [ "class RadialReader(pa.PaicosReader):\n", " \"\"\"\n", " A quick custom reader for radial profiles.\n", " This reader gets the densities and the weighted variables of interest\n", " \"\"\"\n", " def __init__(self, basedir, snapnum, basename=\"radial\", load_all=True):\n", "\n", " # The PaicosReader class takes care of most of the loading\n", " super().__init__(basedir, snapnum, basename=basename,\n", " load_all=load_all)\n", "\n", " # Get the interesting profiles\n", " keys = list(self.keys())\n", "\n", " for key in keys:\n", " if 'Times' in key:\n", " # Keys of the form 'MagneticFieldSquaredTimesVolume'\n", " # are split up\n", " start, end = key.split('Times')\n", " if (end in keys):\n", " self[start] = self[key]/self[end]\n", " del self[key]\n", " elif (start[0:2] + end in keys):\n", " self[start] = self[key]/self[start[0:2] + end]\n", " del self[key]\n", "\n", " # Calculate density if we have both masses and volumes\n", " for p in ['', '0_']:\n", " if (p + 'Masses' in keys) and (p + 'Volume' in keys):\n", " self[p + 'Density'] = self[p+'Masses']/self[p+'Volume']\n", "\n", " # For dark matter we use the bin volumes\n", " for p in [str(i) + '_' for i in range(1, 5)]:\n", " self[p + 'Density'] = self[p+'Masses']/self['bin_volumes']\n", " del self[p+'Masses']\n", "\n", "# Use the reader\n", "pro = RadialReader(pa.data_dir, 247)" ] }, { "cell_type": "code", "execution_count": 12, "id": "07eab574", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['0_Masses', '0_Volume', '5_Masses', 'Group', 'R200c', 'bin_centers', 'bin_volumes', 'center', 'r_max', 'r_min', 'org_info', '0_MagneticFieldSquared', '0_Pressure', '0_Temperatures', '0_Density', '1_Density', '2_Density', '3_Density', '4_Density'])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The data fields now contain the following fields\n", "pro.keys()" ] }, { "cell_type": "markdown", "id": "f081a63f", "metadata": {}, "source": [ "## Plotting the radial profiles and dealing with units" ] }, { "cell_type": "markdown", "id": "9f817007", "metadata": {}, "source": [ "Let's make a density plot of the different particle types." ] }, { "cell_type": "code", "execution_count": 13, "id": "3cdfaeb4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make a density plot of the varius particle types\n", "import matplotlib.pyplot as plt\n", "for p in range(5):\n", " pstr = str(p)\n", " plt.loglog(pro['bin_centers'].astro, pro[pstr + '_Density'].cgs, label=pstr)\n", "\n", "plt.xlabel(pro['bin_centers'].astro.label(r'\\mathrm{radius}'))\n", "plt.ylabel(pro['0_Density'].cgs.label(r'\\rho'))\n", "plt.title('Densities versus radius')\n", "plt.legend(frameon=False)" ] }, { "cell_type": "markdown", "id": "47f1ac7d", "metadata": {}, "source": [ "In the plot above we have not dealt with unit conversions. We do this below:" ] }, { "cell_type": "code", "execution_count": 14, "id": "64ed5f63", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot gas properties\n", "fig, axes = plt.subplots(num=2, ncols=3, sharex=True)\n", "\n", "# Unit conversions\n", "centers = pro['bin_centers'].astro.to_physical\n", "rho = pro['0_Density'].cgs.to_physical\n", "B = np.sqrt(pro['0_MagneticFieldSquared']).to('uG').to_physical\n", "\n", "# Plotting\n", "axes[0].loglog(centers, rho)\n", "axes[0].set_ylabel(rho.label(\"\\\\rho\"))\n", "\n", "axes[1].loglog(centers, pro['0_Temperatures'])\n", "axes[1].set_ylabel(pro['0_Temperatures'].label(\"T\"))\n", "\n", "axes[2].loglog(centers, B)\n", "axes[2].set_ylabel(B.label(\"B\"))\n", "\n", "for ii in range(3):\n", " axes[ii].set_xlabel(centers.label(r'\\mathrm{radius}'))" ] }, { "cell_type": "markdown", "id": "5fb8f0af", "metadata": {}, "source": [ "Let's plot the group properties" ] }, { "cell_type": "code", "execution_count": 15, "id": "06754950", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$M_{200\\\\mathrm{c}}\\\\;\\\\; \\\\left[\\\\mathrm{M_{\\\\odot}}\\\\right]$')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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pCT9+te/1rvvvsuRIgAAEHSaPZvsiy++0KJFi/Tqq6/qzJkz2rt3r9q3b++t+gICs8kAAAg+LXYH6pCQENlsNhljeIYXAAAIOj8rDNXU1Gjp0qW65ppr1Lt3b+3evVvPPPOMjhw50uqOCgEAgNatyRdQ33333Xr99deVlJSkCRMmaOnSpYqJifFFbQAAAD7X5GuGQkJClJycrL59+zZ6l+kVK1Y0u7hAwTVDAAAEH5/dgXrMmDGt6lEbAADA2n7WTRcBAABai2bPJgMAAAhmTQpDu3btUl1dncfr7927V2fOnGlyUQAAAC2lSWGob9+++vbbbz1ePzc3V0eOHGlyUQAAAC2lSdcMGWM0a9YsRUZGerT+qVOnflZRAAAALaVJYWjgwIHav3+/x+vn5uYqIiKiyUUBAAC0lCaFoQ0bNvioDAAAAP9gNhkAALA0whAAALA0whAAALA0whAAALA0whAAALA0whAAALA0whAAALC0VhWGRowYoY4dO+qWW25psOzkyZPq1q2bpk6d6ofKAABAoPJaGJo2bZrKyspc77/77jv96U9/8lb3HpkyZYpeffXVsy575JFHdOmll7ZoPQAAIPB5LQytXr1aHTp0cL3v2LGj3nvvPW9175HBgwcrKiqqQfuBAwf06aefavjw4S1aDwAACHxeC0N1dXWqqKhwvS8vL9fp06c9/vzGjRt1ww03KCEhQTabTStXrmywjsPhUEpKitq1a6ecnBxt3brVo76nTp2quXPnelwLAACwDq+FoSlTpuiKK67QnDlz9Mgjj+jKK6/Ufffd5/Hnq6qqlJWVJYfDcdbly5YtU35+vmbPnq2CggJlZWVp6NChOn78eKP9vvXWW+rdu7d69+7dpPEAAABraNKDWhszYcIEDRgwQOvXr5ckLVmyRBdffLHHnx8+fHijp7EWLFigSZMmafz48ZKk559/Xm+//bYWLlzY6LVJH330kV5//XUtX75clZWVOn36tKKjo/Xggw+e8zM1NTWqqalxvS8vL/d4HAAAILh45cjQd999p2XLlum9997T6dOn1blzZyUkJHija0nSqVOntH37duXl5bnaQkJClJeXp82bNzf62blz5+rLL7/U4cOH9dhjj2nSpEmNBqH6z9jtdtcrKSnJK+MAAACBp9lh6KWXXlJubq62bNmiuro61dXVacuWLbrsssv00ksveaNGlZaWqra2VrGxsW7tsbGxOnbsmOt9Xl6efvWrX2nVqlVKTEw8b1A6lxkzZsjpdLpeX375ZbPqBwAAgavZp8keffRRFRQU6IILLnBr/5//+R/169dPEydObO5XeGzNmjWNLh83bpxH/YSHhys8PNwLFQEAgEDX7CNDNpvNbRZZvYqKCtlstuZ2L0mKiYlRaGioSkpK3NpLSkoUFxfnle8AAADW1OwjQ4899pgGDRqk9PR0de3aVZL01Vdfae/evXr88cebXaAkhYWFqX///lq7dq1uvvlmST9M5V+7dq3uuecer3wHAACwpmaHoX/7t3/T8OHDtXXrVh09elSSlJCQoAEDBig0NNTjfiorK3Xw4EHX+6KiIhUWFqpTp05KTk5Wfn6+xo4dq0suuUQDBgzQk08+qaqqKtfsMl9wOBxyOByqra312XcAAAD/shljTHM7+e677/Tee+/p66+/lvRDGBo6dKg6duzocR8bNmzQVVdd1aB97NixWrRokSTpmWee0fz583Xs2DH16dNHTz/9tHJycppb/nmVl5fLbrfL6XQqOjra598HAACaz9P9d7PD0EsvvaT58+fruuuuc02n//rrr/XOO+9o6tSpLXoBta8QhgAACD4tFoZSU1PPOpussrJS/fr102effdac7gMCYQgAgODj6f47KGaTAQAA+EpQzCYDAADwFa9cQF1bW9vs2WSB6MezyT777DNOkwEAEERa7JohK+CaIQAAgk+LXTMkSdXV1a5p9T+2d+9eb3QPAADgM80OQ2+88YZ69eql66+/XpmZmdqyZYtr2W233dbc7gEAAHyq2WHo4Ycf1vbt21VYWKiXX35ZEydO1JIlSyRJnIEDAACBrtmzyU6fPq3Y2FhJUv/+/bVx40aNGDFCBw8eZGo9AAAIeM0+MtSlSxft2rXL9b5Tp05avXq1PvnkE7d2AACAQNTkMPTwww9r1apVKikpkST95S9/cR0ZqhcWFqalS5fq/fff906VfuJwOJSWlqbs7Gx/lwIAAHykyVPrQ0JCXKe/4uLi1K9fP/Xv39/13/obL7YmTK0HACD4eLr/bvI1Q9nZ2SouLtb48eMVExOjgoICrVixQnPmzFFtba06d+6sfv36adWqVc0aAAAAQEtochjasmWLFi1apJkzZyo7O1sLFixQjx49VFNTo8LCQhUUFGjHjh2+qBUA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2rXc6XSa2NhYc+utt5o9e/aYpUuXmoiICPPCCy+01DDPqrGxl5WVmby8PLNs2TLz6aefms2bN5sBAwaY/v37u/XRrVs389BDD7n9HPz4d0Mwjt0YY8aOHWuGDRvmNq4TJ064rdMat7sxxm3MxcXFZuHChcZms5lDhw651gnG7e7Jvswbv9M///xzExkZafLz882+ffvMn//8ZxMaGmreeecdn4+RMNSCjh8/biSZ999/39U2aNAgM2XKlHN+ZtWqVSYkJMQcO3bM1fbcc8+Z6OhoU1NT48tym2X27NkmKyvrrMvKyspM27ZtzfLly11tn3zyiZFkNm/ebIwJ3nGfzZQpU0yPHj1MXV2dMaZ1bvOf7hjq6upMXFycmT9/vqutrKzMhIeHm6VLlxpjjNm3b5+RZD7++GPXOv/85z+NzWYzX3/9tTHGmGeffdZ07NjRbdzTp083qampPh6R5862U/yprVu3Gknmiy++cLV169bNPPHEE+f8TLCOfezYseamm24652estN1vuukmc/XVV7u1tYbt/tN9mbd+p0+bNs1cfPHFbt81atQoM3ToUF8PyXCarAU5nU5JUqdOndzaFy9erJiYGKWnp2vGjBk6efKka9nmzZuVkZGh2NhYV9vQoUNVXl6uvXv3tkzhP9OBAweUkJCgiy66SLfeequOHDkiSdq+fbtOnz6tvLw817q/+MUvlJycrM2bN0sK7nH/2KlTp/Taa69pwoQJbg/5ba3bvF5RUZGOHTvmto3tdrtycnLctnGHDh10ySWXuNbJy8tTSEiItmzZ4lpn4MCBCgsLc60zdOhQ7d+/X999910Ljab5nE6nbDabOnTo4NY+b948XXjhherbt6/mz5/vdsogmMe+YcMGdenSRampqbrrrrv07bffupZZZbuXlJTo7bff1sSJExssC/bt/tN9mbd+p2/evNmtj/p16vvwJR7U2kLq6up077336vLLL1d6erqr/be//a26deumhIQE7dq1S9OnT9f+/fu1YsUKSdKxY8fcfngkud4fO3as5QbQRDk5OVq0aJFSU1NVXFys//7v/9aVV16pPXv26NixYwoLC2uwY4iNjXWNKVjH/VMrV65UWVmZxo0b52prrdv8x+rrPNs4fryNu3Tp4ra8TZs26tSpk9s63bt3b9BH/bKOHTv6pH5v+v777zV9+nSNHj3a7SGV//Ef/6F+/fqpU6dO2rRpk2bMmKHi4mItWLBAUvCOfdiwYRo5cqS6d++uQ4cOaebMmRo+fLg2b96s0NBQy2z3V155RVFRURo5cqRbe7Bv97Pty7z1O/1c65SXl6u6uloRERG+GJIkwlCLmTx5svbs2aMPP/zQrf322293/TkjI0Px8fEaMmSIDh06pB49erR0mV4zfPhw158zMzOVk5Ojbt266a9//atPf6ADzUsvvaThw4crISHB1dZatzkaOn36tH7961/LGKPnnnvObVl+fr7rz5mZmQoLC9Mdd9yhuXPnBvRjC87nN7/5jevPGRkZyszMVI8ePbRhwwYNGTLEj5W1rIULF+rWW29Vu3bt3NqDfbufa18W7DhN1gLuuece/eMf/9D69euVmJjY6Lo5OTmSpIMHD0qS4uLiGlyRX/8+Li7OB9X6RocOHdS7d28dPHhQcXFxOnXqlMrKytzWKSkpcY2pNYz7iy++0Jo1a/T73/++0fVa4zavr/Ns4/jxNj5+/Ljb8jNnzujEiROt4uegPgh98cUXWr16tdtRobPJycnRmTNndPjwYUnBPfYfu+iiixQTE+P2892at7skffDBB9q/f/95/+1LwbXdz7Uv89bv9HOtEx0d7fP/iSYM+ZAxRvfcc4/efPNNrVu3rsGhz7MpLCyUJMXHx0uScnNztXv3brdfHvW/WNPS0nxSty9UVlbq0KFDio+PV//+/dW2bVutXbvWtXz//v06cuSIcnNzJbWOcb/88svq0qWLrr/++kbXa43bvHv37oqLi3PbxuXl5dqyZYvbNi4rK9P27dtd66xbt051dXWugJibm6uNGzfq9OnTrnVWr16t1NRUv58uaEx9EDpw4IDWrFmjCy+88LyfKSwsVEhIiOsUUrCO/ae++uorffvtt24/3611u9d76aWX1L9/f2VlZZ133WDY7ufbl3nrd3pubq5bH/Xr1PfhUz6/RNvC7rrrLmO3282GDRvcplGePHnSGGPMwYMHzUMPPWS2bdtmioqKzFtvvWUuuugiM3DgQFcf9dMRr732WlNYWGjeeecd07lz54CbZv1Tf/zjH82GDRtMUVGR+de//mXy8vJMTEyMOX78uDHmh2mYycnJZt26dWbbtm0mNzfX5Obmuj4frOOuV1tba5KTk8306dPd2lvTNq+oqDA7duwwO3bsMJLMggULzI4dO1wzpubNm2c6dOhg3nrrLbNr1y5z0003nXVqfd++fc2WLVvMhx9+aHr16uU2xbqsrMzExsaa2267zezZs8e8/vrrJjIy0u9TrBsb+6lTp8yNN95oEhMTTWFhodu//fpZM5s2bTJPPPGEKSwsNIcOHTKvvfaa6dy5sxkzZozrO4Jx7BUVFWbq1Klm8+bNpqioyKxZs8b069fP9OrVy3z//feuPlrjdq/ndDpNZGSkee655xp8Pli3+/n2ZcZ453d6/dT6+++/33zyySfG4XAwtb41kHTW18svv2yMMebIkSNm4MCBplOnTiY8PNz07NnT3H///W73nDHGmMOHD5vhw4ebiIgIExMTY/74xz+a06dP+2FEnhs1apSJj483YWFhpmvXrmbUqFHm4MGDruXV1dXm7rvvNh07djSRkZFmxIgRpri42K2PYBx3vXfffddIMvv373drb03bfP369Wf9+R47dqwx5ofp9bNmzTKxsbEmPDzcDBkypMHfx7fffmtGjx5t2rdvb6Kjo8348eNNRUWF2zo7d+40V1xxhQkPDzddu3Y18+bNa6khnlNjYy8qKjrnv/36e01t377d5OTkGLvdbtq1a2d++ctfmjlz5rgFBmOCb+wnT5401157rencubNp27at6datm5k0aZLbdGpjWud2r/fCCy+YiIgIU1ZW1uDzwbrdz7cvM8Z7v9PXr19v+vTpY8LCwsxFF13k9h2+ZDPGGB8ddAIAAAh4XDMEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAAAsjTAEAEFkxIgR6tixo2655RZ/lwK0GoQhAAgiU6ZM0auvvurvMoBWhTAEIOgNHjxYNptNNptNhYWFHn/m3nvv9WldPzV16lTdfPPNzepj8ODBioqKOuuycePGuf4eVq5c2azvAayEMASgyQYNGuTa6YaFhemXv/yllixZ4teaJk2apOLiYqWnp/u1jsYUFhYqMzPTZ/0/9dRTKi4u9ln/QGtFGALQJMYY7dixQ4899piKi4u1f/9+DRs2TGPGjFFRUZHf6oqMjFRcXJzatGnjtxrOZ+fOncrKymp0nT59+ig9Pb3B6+jRo+ft3263Ky4uzlvlApZBGALQJAcOHFBFRYWGDRumuLg4de/eXRMnTlRtba3279/v7/Lc1NXV6dFHH1XPnj0VHh6u5ORkPfLII2dd9+2335bdbtfixYsl/XA66p577tE999wju92umJgYzZo1S8aYn9X/V199pdLSUknSNddco8jISKWmpmrLli1u6xUWFmrPnj0NXgkJCd74KwFwFoQhAE2yfft2dezYUWlpaZJ+2Mk/8MADCg8P9+kpoJ9jxowZmjdvnmbNmqV9+/ZpyZIlio2NbbDekiVLNHr0aC1evFi33nqrq/2VV15RmzZttHXrVj311FNasGCB/u///q/J/UtyXcvkcDg0c+ZM7dy5U8nJyfrTn/7k3UEDaLLAPZ4MICAVFBTI6XQqKipKtbW1+v777xUREaHnn38+oI5eVFRU6KmnntIzzzyjsWPHSpJ69OihK664wm09h8OhBx54QH//+981aNAgt2VJSUl64oknZLPZlJqaqt27d+uJJ57QpEmTPO6/XmFhoTp16qS//vWviomJkSTdeOONeuGFF5o0rry8PO3cuVNVVVVKTEzU8uXLlZub26Q+ALjjyBCAJikoKNDkyZNVWFioDz74QIMGDdJ9992ncePGSZK+/PJLDR48WGlpacrMzNTy5ctdn/3HP/6h1NRU9erVy+0Iy7nam+OTTz5RTU2NhgwZcs513njjDd13331avXp1gyAkSZdeeqlsNpvrfW5urg4cOKDa2lqP+v+xwsJC3XTTTa4gJElFRUXq2bNnE0YlrVmzRt98841Onjypr776iiAEeAFhCECTFBQU6LLLLlPPnj11ySWX6Nlnn9X//u//6vDhw5KkNm3a6Mknn9S+ffv03nvv6d5771VVVZXOnDmj/Px8rVu3Tjt27ND8+fP17bffnrO9uSIiIs67Tt++fdW5c2ctXLjQ7Vogb/X/Y4WFhbr00ksbtPXp06dJ/QDwPsIQAI99/vnnKisrc5u+npaWph49erim1sfHx7t28HFxcYqJidGJEye0detWXXzxxeratavat2+v4cOH67333jtne72FCxcqMzNTWVlZmjp1qse19urVSxEREVq7du051+nRo4fWr1+vt956S3/4wx8aLP/pxc0fffSRevXqpdDQUI/6r1dRUaHPP/9cffv2dWsnDAGBgWuGAHhs+/btatu2rXr37u3WPmTIEL355puaOXNmg/Vra2uVlJSkLVu2qGvXrq5lXbt21ddff622bduetV2S6xqdDz74QB06dNCJEyc8rrVdu3aaPn26pk2bprCwMF1++eX65ptvtHfvXk2cONG1Xu/evbV+/XoNHjzYdVSr3pEjR5Sfn6877rhDBQUF+vOf/6zHH3+8Sf1LP0ypDw0NVUZGhqvtiy++0HfffUcYAgIAYQiAxwoKCtSrVy+FhYW5tefl5en555/XV199pcTEREnSiRMnNGbMGL344os/+/vWr1+vUaNGqUOHDpKkTp06Nenzs2bNUps2bfTggw/q6NGjio+P15133tlgvdTUVK1bt06DBw9WaGioK/CMGTNG1dXVGjBggEJDQzVlyhTdfvvtTe6/sLBQqampateunattx44d6tChg1JSUpo0JgDeZzNNPVEOAOdRU1Oja665RpMmTdJtt90mSdq0aZPmz5+vN998U5J07733asCAAUpJSTlr+29/+1s9/fTTKi8v13/+5382+n2DBw9Wnz593I7qNJcv+mwpNptNb775ZrMf/QFYBdcMAfAqY4zGjRunq6++2hWEJGnAgAHas2ePvv76a1VWVuqf//ynhg4des52Sbr66qu1bNkyOZ1OSWr0NNmzzz6r9u3ba/fu3b4dYAC788471b59e3+XAQQdTpMB8Kp//etfWrZsmTIzM10PC/3LX/6ijIwMPf7447rqqqtUV1enadOm6cILL5Skc7anp6drypQpuvzyy9WmTRtde+21evTRRxt85+LFi1VdXS1JSk5ObpmBBqCHHnrIdZF5fHy8n6sBggenyQAAgKVxmgwAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFgaYQgAAFja/wP4sWQFzUwwBAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot halo masses versus radii\n", "R = pro['Group']['Group_R_Crit200'].astro\n", "M = pro['Group']['Group_M_Crit200'].no_small_h.astro\n", "plt.semilogy(R, M, '.')\n", "plt.xlabel(R.label(r'R_{200\\mathrm{c}}'))\n", "plt.ylabel(M.label(r'M_{200\\mathrm{c}}'))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }