{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 500 Mpc/h \n", "\n", "Here we download and analyse the simulations produced in a simulation box of 500 Mpc/h in each direction. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np \n", "import matplotlib.pyplot as plt \n", "import pickle, os\n", "from glob import glob\n", "from StoReS import * \n", "import tools21cm as t2c \n", "from tqdm import tqdm " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## N-body simulation with 500 Mpc/h in each direction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cosmology of the simulation:\n", "\n", "$\\Omega_\\mathrm{m} = 0.27$, $\\Omega_\\mathrm{b} = 0.044$, $h_\\mathrm{0} = 0.7$, $\\sigma_\\mathrm{8} = 0.8$, $n_\\mathrm{s} = 0.96$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define the box length and the path to the folder for downloading the data." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "box_len = 500/0.7\n", "save_dir = './work/'\n", "eor_hist = {}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Density fields - 500 Mpc/h\n", "N-Body (CUBEP3M) snapshots will be downloaded." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "74it [00:05, 12.78it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Data saved in ./work/density/\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "dn_url = 'https://ttt.astro.su.se/~gmell/500Mpc/densities/nc300/'\n", "url_dict = {'dens': dn_url}\n", "c2r = C2RAY(work_dir={'dens': save_dir+'density/'}, verbose=False)\n", "c2r.set_links(url_dict)\n", "zs = c2r.zs_dict['dens']\n", "for i,z in tqdm(enumerate(zs)):\n", " dn, ff = c2r.get_density_data_z(z)\n", " # os.remove(ff)\n", "print('Data saved in {}'.format(c2r.work_dir['dens']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 500Mpc/h Reionisation Simulation Suite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### C2RMAX10\n", "This simulation models the reionization process assuming spin saturation ($T_{S}\\gg T_{CMB}$). is described in See [Georgiev et al. (2022)](https://arxiv.org/abs/2110.13190) the detailed description. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "70it [00:12, 5.59it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Data saved in ./work/C2RMAX10/\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "xf_url = 'https://ttt.astro.su.se/~gmell/500Mpc/500Mpc_z50_0_Rmax10_300/'\n", "dn_url = 'https://ttt.astro.su.se/~gmell/500Mpc/densities/nc300/'\n", "url_dict = {'xfrac': xf_url, 'dens': dn_url, }\n", "c2r = C2RAY(work_dir={'dens': save_dir+'density/', 'xfrac': save_dir+'C2RMAX10/'}, verbose=False)\n", "c2r.set_links(url_dict)\n", "zs = np.intersect1d(c2r.zs_dict['xfrac'], c2r.zs_dict['dens'])\n", "xs = []\n", "for i,z in tqdm(enumerate(zs)):\n", " # print('{}/{}'.format(i+1,len(zs)))\n", " data = c2r.get_data_z(z)\n", " xf = data['xfrac']\n", " dn = data['dens']\n", " xs.append(xf.mean())\n", " # os.remove(data['xfrac_filename'])\n", " # os.remove(data['dens_filename'])\n", "xs = np.array(xs)\n", "eor_hist['C2RMAX10'] = {'z': zs, 'x': xs}\n", "print('Data saved in {}'.format(c2r.work_dir['xfrac']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### C2LLS10\n", "This simulation models the reionization process assuming spin saturation ($T_{S}\\gg T_{CMB}$). is described in See [Georgiev et al. (2022)](https://arxiv.org/abs/2110.13190) the detailed description. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "56it [00:10, 5.49it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Data saved in ./work/C2LLS10/\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "xf_url = 'https://ttt.astro.su.se/~gmell/500Mpc/500Mpc_z50_0_LLS10_300/'\n", "dn_url = 'https://ttt.astro.su.se/~gmell/500Mpc/densities/nc300/'\n", "url_dict = {'xfrac': xf_url, 'dens': dn_url, }\n", "c2r = C2RAY(work_dir={'dens': save_dir+'density/', 'xfrac': save_dir+'C2LLS10/'}, verbose=False)\n", "c2r.set_links(url_dict)\n", "zs = np.intersect1d(c2r.zs_dict['xfrac'], c2r.zs_dict['dens'])\n", "xs = []\n", "for i,z in tqdm(enumerate(zs)):\n", " data = c2r.get_data_z(z)\n", " xf = data['xfrac']\n", " dn = data['dens']\n", " xs.append(xf.mean())\n", " # os.remove(data['xfrac_filename'])\n", " # os.remove(data['dens_filename'])\n", "xs = np.array(xs)\n", "eor_hist['C2LLS10'] = {'z': zs, 'x': xs}\n", "print('Data saved in {}'.format(c2r.work_dir['xfrac']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reionization history of the above simulations" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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q127dikpKUkdOnTQ6NGj1bFjRz300EP64YcftH37dtWuXVuDBg3SY489ptjYw7/Y2bp1qxo1auR5vvj4eLVt21aPP/64TjvtNE/94Ycf1iOPPKL+/ftr+vTpph6eeeYZ3X333erVq5fmzJlj2rdz506lp6erWbNmWrVqlWnf77//rq5du+qzzz7T+eef76l//vnnuuKKK7RkyRK1adNGq1ev1oMPPqilS5dq27ZteuGFF8q8Y9uECRP0zDPPKDMzU+3bt9crr7yibt041wlAORiGdGiv7LvW6MDW1SrOXCfbwc2Kyd+qWs5Mhcqt3e6WGuF4oMzDdwbVPuGXTrLk6PCioIcDZkSITSkxYUqKCVVkyGma44yUJaaOQuPrKqpWfcUlNVCt2smqF8KPeFRvfIVXY1u3blXPnj0VFxenZ555Rm3btlVJSYlmzJihm266SZ999pl2796tZ599Vq1atdK2bds0atQo7d69W5999pnpuX788Ue1bt1a+/fv17hx43Tuuedqw4YNprul1alTR7Nnz9bOnTtVv359T33KlClq0KBBmT2+/fbbuvTSSzV37lwtWrRIGRkZnn3t27fXgw8+qOuvv149e/ZUYmKi9u7dq1GjRumRRx5RmzZtJEkFBQVKT0/X4MGDdfvtt5f5OlOnTtWYMWM0ceJEZWRk6MUXX1T//v21fv16JSUlnfB7DKCaKSmS68BmZW9bLfvONXLv26DQ3D+VWLRNkUbBMX/tX9+y76hPu9M4fojdZ8RqrzVJ9pAkFYclyRWZ7AmnHzbupuTYCCXHhCkq9J8/untIurQinyFQbViMY11FVUPY7XbFxsYqNzdXMTHmb09FRUXasmWLGjVqpLCwMLndhg4WOHzU6WHxESGyWo9/0dE555yjP/74Q+vXr1dkZKRpX05OjuLi4kod8+mnn+rKK69Ufn6+goKCPDOxy5cvV4cOHSRJK1euVLt27fS///3PM0P68MMP68svv1Rqaqq6d++u++67T5K0YMECXXDBBRo8eLDWrFljmok1DENNmjTRa6+9ptmzZys7O1tvvPGGqR+Xy6UePXooPT1dH3/8sS688EJlZWVp3rx5Za4YkJaWptGjR5eaic3IyFDXrl316quvSpLcbrdSU1N1yy236N577y3z/fv33z2A6sXtNrTlQL7W7LZrY1aeNu/LV79tz+kCxzcn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3q9/GjVqlCwWi1588cUKvUaNDrEHDx5Uz549FRwcrO+//15r1qzRc889p/j4eF+35pd+++037dmzx/OYOXOmJGnw4ME+7sz/PPXUU3r99df16quvau3atXrqqaf09NNP65VXXvF1a37r2muv1cyZM/Xee+9p5cqV6tevn/r27atdu3b5ujWfys/PV/v27TVhwoQy9z/99NN6+eWXNXHiRC1atEiRkZHq37+/ioqKvNypfzje+5Wfn69TTz1VTz31lJc780/Her8KCgq0bNkyPfDAA1q2bJm++OILrV+/Xueff74POvW9431tNWvWTK+++qpWrlyp+fPnKy0tTf369dO+ffu83Kl/ON779bdp06bp119/Vd26dSv+IkYNds899xinnnqqr9sIWLfddpvRuHFjw+12+7oVvzNw4EBj5MiRptpFF11kXHHFFT7qyL8VFBQYNpvN+Oabb0z1Tp06Gffdd5+PuvI/koxp06Z5tt1ut5GSkmI888wznlpOTo4RGhpqfPTRRz7o0L/8+/36py1bthiSjOXLl3u1J392rPfrb4sXLzYkGdu2bfNOU36qPO9Vbm6uIcn48ccfvdOUHzva+7Vz506jXr16xqpVq4yGDRsaL7zwQoWet0bPxH711Vfq0qWLBg8erKSkJHXs2FGTJk3ydVsBweFw6P3339fIkSNlsVh83Y7fOeWUUzRr1ixt2LBBkvT7779r/vz5Ovvss33cmX9yOp1yuVwKCwsz1cPDwzV//nwfdeX/tmzZoszMTPXt29dTi42NVUZGhhYuXOjDzlBd5ebmymKxKC4uztet+DWHw6E33nhDsbGxat++va/b8Utut1tXXXWV7rrrLrVu3fqEnqNGh9g///xTr7/+upo2baoZM2bohhtu0K233qp33nnH1635vS+//FI5OTm6+uqrfd2KX7r33nt12WWXqUWLFgoODlbHjh01evRoXXHFFb5uzS9FR0erR48eeuyxx7R79265XC69//77Wrhwofbs2ePr9vxWZmamJCk5OdlUT05O9uwDKktRUZHuueceDR06VDExMb5uxy998803ioqKUlhYmF544QXNnDlTtWrV8nVbfumpp55SUFCQbr311hN+jqBK7CfguN1udenSRU888YQkqWPHjlq1apUmTpyo4cOH+7g7/zZ58mSdffbZJ3YOSw3wySef6IMPPtCHH36o1q1ba8WKFRo9erTq1q3L19ZRvPfeexo5cqTq1asnm82mTp06aejQoVq6dKmvWwNqvJKSEl166aUyDEOvv/66r9vxW2eccYZWrFih/fv3a9KkSbr00ku1aNEiJSUl+bo1v7J06VK99NJLWrZs2Un9NrdGz8TWqVNHrVq1MtVatmyp7du3+6ijwLBt2zb9+OOPuvbaa33dit+66667PLOxbdu21VVXXaXbb79d48eP93Vrfqtx48b6+eefdejQIe3YsUOLFy9WSUmJ0tPTfd2a30pJSZEkZWVlmepZWVmefcDJ+jvAbtu2TTNnzmQW9hgiIyPVpEkTde/eXZMnT1ZQUJAmT57s67b8zrx587R37141aNBAQUFBCgoK0rZt23THHXcoLS2t3M9To0Nsz549tX79elNtw4YNatiwoY86CgxvvfWWkpKSNHDgQF+34rcKCgpktZr/edlsNrndbh91FDgiIyNVp04dHTx4UDNmzNAFF1zg65b8VqNGjZSSkqJZs2Z5ana7XYsWLVKPHj182Bmqi78D7MaNG/Xjjz8qMTHR1y0FFLfbreLiYl+34Xeuuuoq/fHHH1qxYoXnUbduXd11112aMWNGuZ+nRp9OcPvtt+uUU07RE088oUsvvVSLFy/WG2+8oTfeeMPXrfktt9utt956S8OHD1dQUI3+8jmm8847T+PGjVODBg3UunVrLV++XM8//7xGjhzp69b81owZM2QYhpo3b65NmzbprrvuUosWLTRixAhft+ZThw4d0qZNmzzbW7Zs0YoVK5SQkKAGDRpo9OjRevzxx9W0aVM1atRIDzzwgOrWratBgwb5rmkfOt77lZ2dre3bt3vWOv17IiMlJaVGzl4f6/2qU6eOLrnkEi1btkzffPONXC6X51zrhIQEhYSE+KptnzjWe5WYmKhx48bp/PPPV506dbR//35NmDBBu3btqrHLUB7v3+K//0MUHByslJQUNW/evPwvUhlLJwSyr7/+2mjTpo0RGhpqtGjRwnjjjTd83ZJfmzFjhiHJWL9+va9b8Wt2u9247bbbjAYNGhhhYWFGenq6cd999xnFxcW+bs1vTZ061UhPTzdCQkKMlJQU46abbjJycnJ83ZbPzZ4925BU6jF8+HDDMA4vs/XAAw8YycnJRmhoqNGnT58a/e/zeO/XW2+9Veb+hx56yKd9+8qx3q+/lyEr6zF79mxft+51x3qvCgsLjQsvvNCoW7euERISYtSpU8c4//zzjcWLF/u6bZ853r/FfzuRJbYshsEthAAAABBYavQ5sQAAAAhMhFgAAAAEHEIsAAAAAg4hFgAAAAGHEAsAAICAQ4gFAABAwCHEAgAAIOAQYgEAABBwCLEAAAAIOIRYAAAABBxCLAAAAAIOIRYAAkhaWposFstRHw8//LCvWwQArwjydQMAgPIbPXq0cnJyStU/+ugjbdiwQREREd5vCgB8wGIYhuHrJgAAJ+7jjz/W5Zdfrm7dumn27NkKDw/3dUsAUOUIsQAQwBYuXKgzzzxTSUlJWrx4sZKTk33dEgB4BSEWAALU1q1blZGRocLCQv3yyy9q27atr1sCAK/hnFgACEC5ubkaOHCgDhw4oK+//poAC6DGIcQCQIBxOp0aPHiw1qxZo1deeUVnn322r1sCAK9jiS0ACDA333yzZs6cqVtuuUU333yzr9sBAJ/gnFgACCDPPfec7rzzTp1zzjn66quvZLPZfN0SAPgEIRYAAkRmZqbq1asn6fB6sdHR0aXG9O7dW7179/ZyZwDgfZwTCwABoqioSG63W5L0/PPPH3UcIRZATcBMLAAAAAIOF3YBAAAg4BBiAQAAEHAIsQAAAAg4hFgAAAAEHEIsAAAAAg4hFgAAAAGHEAsAAICAQ4gFAABAwCHEAgAAIOAQYgEAABBwCLEAAAAIOIRYAAAABBxCLAAAAALO/wMZzauXXfOALwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1,figsize=(7,6))\n", "# fig.suptitle('Georgiev et al. (2022)')\n", "ax.plot(eor_hist['C2RMAX10']['z'], 1-eor_hist['C2RMAX10']['x'], lw=3, ls='-', label='C2RMAX10')\n", "ax.plot(eor_hist['C2LLS10']['z'], 1-eor_hist['C2LLS10']['x'], lw=3, ls='--', label='C2LLS10')\n", "ax.set_xlabel('z', fontsize=14)\n", "ax.set_ylabel('$x_\\mathrm{HI}$', fontsize=14)\n", "ax.legend()\n", "ax.axis([6,14,-0.01,1.01])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Power spectrum at z=6.9 from C2RMAX10" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The file already exists.\n", "The file already exists.\n" ] } ], "source": [ "xf_url = 'https://ttt.astro.su.se/~gmell/500Mpc/500Mpc_z50_0_Rmax10_300/'\n", "dn_url = 'https://ttt.astro.su.se/~gmell/500Mpc/densities/nc300/'\n", "url_dict = {'dens': dn_url, 'xfrac': xf_url}\n", "\n", "c2r = C2RAY(work_dir={'dens': save_dir+'density/', 'xfrac': save_dir+'C2RMAX10/'})\n", "c2r.set_links(url_dict)\n", "z = 6.905\n", "data = c2r.get_data_z(z)\n", "xf = data['xfrac']\n", "dn = data['dens']\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "dt = t2c.calc_dt(xf, dn, z=z)\n", "ps, ks = t2c.power_spectrum_1d(dt, kbins=20, box_dims=box_len)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAJQCAYAAABy9YcJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkgElEQVR4nO3dd3gVddrG8fucVBKSUAJpBEITCC0YAkgR0AiCiqi4YkVcsbfFte6+imV1Xcuibha7WMCCBVQUBARBQOm9d0hIQiippJ0z7x8s0SEB0ueU7+e6cq3nmZkzT7KE3Eye+Y3NMAxDAAAAgJuxW90AAAAAUB0EWQAAALglgiwAAADcEkEWAAAAbokgCwAAALdEkAUAAIBbIsgCAADALRFkAQAA4JYIsgAAAHBLBFkAAAC4JYIsALe0c+dO3X777WrTpo0CAwMVGhqqfv366dVXX9Xx48dVUFCglJQUDRkyRFFRUQoJCVGPHj00adIkORwO03stWLBANput7MPHx0fNmzfXqFGjtHnz5nLnvvnmm2Wz2RQaGqrjx4+X2759+/ay93rppZcq7P/777+XzWZTdHS0nE5nue2bNm2Sv7+/xo4dW27bsWPHFBUVpd69e5cde/DgQT366KMaPHiwQkJCZLPZtGDBgtN+/ZYsWaL+/fsrKChIkZGRuu+++5SXl3fa/QHAFRFkAbidmTNnqmvXrvr888912WWX6fXXX9fzzz+vli1b6qGHHtL999+vXbt26d5775VhGBo/frxeeukltW7dWnfddZduueWWCt/3vvvu00cffaR33nlH119/vWbOnKkBAwYoPT293L6+vr4qKCjQt99+W27blClTFBgYeMbPYcqUKYqLi9PBgwf1008/ldseHx+vhx56SJMnT9bPP/9s2vboo4/q0KFDevPNN2W3n/hrfOvWrXrhhReUmpqqrl27nvHca9as0YUXXqiCggK98soruvXWW/XWW2/p6quvPuNxAOByDABwI7t27TIaNmxodOzY0UhLSyu3ffv27cbEiRONQ4cOGRs2bCi3fezYsYYkY/v27WW1+fPnG5KMadOmmfadNGmSIcl44YUXTPUxY8YYwcHBxpAhQ4yRI0eWO0f79u2Nq666ypBkvPjii+W25+XlGcHBwcZrr71m9OjRw7j55psr/FyPHz9utG3b1ujQoYNRVFRkGIZhLFmyxLDZbMb48eNN++bk5BiHDx82DMMwpk2bZkgy5s+fX+H7Dhs2zIiKijKys7PLam+//bYhyZg9e3aFxwCAK+KKLAC38q9//Ut5eXl69913FRUVVW57u3btdP/99ys8PFydO3cut/2KK66QpApHBk41YMAASSfGGCpy3XXX6YcfftCxY8fKasuXL9f27dt13XXXnfZ9v/76ax0/flxXX321Ro8era+++kqFhYXl9gsMDNSkSZO0detWPf/88yopKdFtt92m2NhYPf3006Z9Q0JC1KRJk7N+Tjk5OZozZ45uuOEGhYaGltVvuukmNWzYUJ9//vlZ3wMAXAVBFoBb+fbbb9WmTRv17du3WsefHBMIDw8/67579uyRJDVu3LjC7VdeeaVsNpu++uqrstrUqVPVsWNHnXvuuad93ylTpmjw4MGKjIzU6NGjlZubW+GIgiRddNFFuvbaa/X888/rnnvu0YYNG/T6668rODj4rP1XZP369SotLVXPnj1NdX9/fyUkJGj16tXVel8AsAJBFoDbyMnJqdQM6OkUFxdr4sSJat26tZKSksptz83NVVZWlg4ePKjZs2frgQcekM1m01VXXVXh+4WEhOjSSy/V1KlTJUlOp1Offvqprr322tP2kJmZqblz52r06NGSpJYtW+q8887TlClTTnvMv//9bwUFBemtt97SyJEjNWLEiKp82iYHDx6UpAqvZkdFRSktLa3a7w0A9c3X6gYAoLJycnIknQiQ1XHPPfdo06ZNmjlzpnx9y//1d+pNYM2aNdNHH31UYeg96brrrtPVV1+t9PR0bdiwQenp6WccK/j0009lt9tN4fjaa6/Vgw8+qKNHj1Z49TcoKEhBQUE6evSohgwZUplP9bROrrIQEBBQbltgYGCFqzAAgKviiiwAt3FypjM3N7fKx7744ot6++239cwzz2j48OEV7vPEE09ozpw5+vrrr3XTTTcpOzu7bFWA0xk+fLhCQkL02WefacqUKUpKSlK7du1Ou//HH3+sXr166fDhw9qxY4d27NihHj16qLi4WNOmTavwmL/97W9KT09Xp06d9OSTT+ro0aOV/8RP0aBBA0lSUVFRuW2FhYVl2wHAHXBFFoDbCA0NVXR0tDZs2FCl4yZPnqxHHnlEd9xxh/7+97+fdr+uXbsqOTlZkjRy5EgVFBRo3Lhx6t+/v2JjYys8JiAg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2Ww2NWrUSPfcc0+57TabTTNnzqzO6cpZuHChXnzxRa1cuVIHDx7U119/rZEjR5r2SUlJ0Ysvvqj09HR1795dr7/+unr16lXuvVauXCmHw+GSIxBAbThWUKw7Pl6pwhKnqf6PK7qqS0yYRV0BAFBz1Qqys2bNOu22jRs3auPGjeXqtbkuZX5+vrp3765bbrlFV155Zbntn332mcaPH6833nhDvXv31sSJEzV06FBt3bpVzZs3L9vvyJEjuummm/T222+f8XxFRUUqKvr95picnJxa+1yAuuRwGrr/0zXaf+S4qX5Dn5YaldjCoq4AAKgdNuOPyw1U0t69e6t1srqYmbXZbOWuyPbu3VtJSUn6z3/+I+nE1eLY2Fjde++9evTRRyWdCKcXXXSRxo0bpxtvvPGM55gwYYKeeuqpcvXKPAMYsNIrP27Vaz/tMNV6tGykz247T/6+NZ4sAgCg1uXk5CgsLKxSOataV2Rd9SYuSSouLtbKlSv12GOPldXsdruSk5O1dOlSSScezXnzzTfrggsuOGuIlaTHHntM48ePL3udk5PDKAJc3pxNGeVCbHjDAE26PpEQCwDwCB730ywrK0sOh0MRERGmekREhNLT0yVJixcv1meffabp06crISFBCQkJWr9+fUVvJ0kKCAhQaGio6QNwZbuz8jX+szWmmo/dppTreigyLNCapgAAqGW19ixKh8OhAwcOKC0trcInfUnS+eefX1unq5H+/fvL6XSefUfADeUXler2j1Yot6jUVP/b8E7q3aapRV0BAFD7ahxknU6nnnvuOb366qtnXcLK4XDU9HRnFR4eLh8fH2VkZJjqGRkZiozkyUXwbIZh6OEv12lbRp6pfnlCtMb2i7OmKQAA6kiNg+xjjz2mF198Uc2bN9fYsWMVFRUlX99au9BbZf7+/kpMTNS8efPKbgBzOp2aN29ehcuCAZ7k3V92a+a6g6Zax8gQPX9l11pdOQQAAFdQK0/26tChg5YvX66GDRvWRk9nlZeXpx07fr+JZffu3VqzZo2aNGmili1bavz48RozZox69uypXr16aeLEicrPz9fYsWPrpT/ACkt3HtbzP2wx1UIDffXmjYkK8rfuH5cAANSVGv90y8vL0w033FBvIVaSVqxYocGDB5e9PrmiwJgxYzR58mRdc801OnTokJ544gmlp6crISFBs2bNKncD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AQG/H2i36+2339aQIUN0/vnna+fOnbVyDOCuTo4U/DHE2m3Sy39KIMQCAFAHKh1kO3TooBUrVpSrT5o0ScOHD9ell15aK8cA7mrSgp3amJZjqt0+sK0SYhtZ0xAAAB6u0kH2yiuv1NSpUyvc9t///lejR48uN+9anWMAd7QpLUevzTOvUtC+eUM9kNzeoo4AAPB89fZAhKKiItOYgTtjRhZ/VFzq1MiUxdp08PersT52m766s6+6czUWAIAqcakHIqxatUp33323oqOj6/pUgCVS5u8whVhJumNgG0IsAAB1zLcu3vTYsWP6+OOP9e6772rdunUyDEM2m60uTgVYakNqtlLm7zDVOkSE6L4LGSkAAKCu1WqQnTt3rt59913NmDFDRUVFkqSBAwcqJydHq1evrs1TAZYrLnXqr9PWqtT5+3SOj92ml67urgBfVikAAKCu1Xi0YP/+/Xr66afVunVrDR06VJ999pnatGmj5557Tnv37tVPP/2kHj161EavgEv5z0/btSU911S7e1BbdW0RZlFHAAB4l2pdkS0pKdH06dP17rvvat68eXI4HIqMjNQDDzygG2+8UQkJCbXcJuBa1h/IVsoC8zrIHSNDdM8FjBQAAFBfqhVko6OjdeTIEQUFBWn06NG68cYblZycLLu9zu8dAyxXVOrQg9PWyPGHkQLf/40U+PvyPQAAQH2pVpA9fPiwGjVqpJdfflnXXXedxyyrBVTGa/O2a1tGnql29+B26hLDSAEAAPWpWpePbr75ZpWUlOjWW29VZGSkxo0bp59//rm2ewNcztr9xzTplJGC+KhQ3T24nUUdAQDgvaoVZN977z0dPHhQb775pjp27Kh3331XF1xwgVq1aqW//e1v2rRpU233CViusMShv05bqz9MFDBSAACAhar907dhw4a69dZbtXTpUm3cuFEPPPCACgsL9fzzz6tr167q2bOnXn31VWVkZNRmv4BlJs7dru2Z5pGC+y5sr/honu4GAIAVavURtaWlpWWrGcyZM0eGYcjHx0chISE6duyYHA5HbZ3KUjyi1vus3ndUV01aYroa2yUmVF/f1U9+PlyNBQCgtlj2iFpfX1+NGjVKP/zwg/bs2aMJEyYoNjZWR48erc3TWCYlJUXx8fFKSkqyuhXUo4pGCvx8TowUEGIBALBOrV6RPZ158+bpvffe05QpU+r6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b9++CgsL03vvvVfumNLSUn388cdKTk6Wn59fzRoHgHpCkAWAWpKdna2BAwfKbrfr9ddfr/H7JScnq1WrVlU+bsaMGWrdurW6du1qqjdo0ECjR4/WzJkzlZmZadr23XffKSMjQ7fcckuF7zlhwgTZbDYtWLBA7777rrp27arAwEDFxMToL3/5i3Jzcys8bu3atbr++uvVokULBQQEKCoqShdffLG+/fbbKn9eAHAqgiwA1IKDBw/q/PPP16+//qpPPvlE9957ryV9ZGVlafHixeWuxp50yy23qLS0VB999JGp/t5776lJkyYaOXLkGd//lVde0X333aekpCQ98MADioqK0sSJEzVkyBCVlJSY9v3yyy/Vq1cvTZs2Tb1799aDDz6oSy65RKmpqXr33Xdr9HkCgMSMLADU2LZt2zR06FAdPnxYM2fOVHJysmW9fPfdd3I4HKcNpL169VKXLl30/vvv68EHH5Qkpaen64cfftCdd96pgICAM77/7NmztXz5cnXr1k2SZBiGbrjhBk2dOlWvvfZa2XtmZGRozJgx8vPz06JFi9SjRw/T+xw4cKCGnykAcEUWAGpk+fLl6t+/v/Lz8zV//nxLQ6x0YqygadOm6t+//2n3ueWWW7Rx40b99ttvkqQPPvhApaWlpx0r+KObbrqpLMRKks1m03PPPScfHx/TigoffPCB8vPz9eCDD5YLsZLUokWLKnxWAFAxgiwAVNOiRYt0wQUXqGHDhlq8eLESExMt7ef48eP68ccfdckll8jHx+e0+91www3y8/Mru+nr/fffV48ePZSQkHDWcwwYMKBcrVWrVoqNjdXGjRtVXFwsSVq2bJkkaciQIdX4TACgcgiyAFBNq1evVl5ennr06KE2bdpY3Y7mzJmjgoKC087HntSsWTNddtll+vTTTzV37lxt3bq1UldjJSkiIuK0dcMwym76ys7OliTFxMRU4TMAgKohyAJANd1zzz3685//rK+++krXXXfdaR80UF9mzJihwMBADR069Kz7/vnPf1ZOTo5uvvlmBQYG6vrrr6/UOTIyMk5bt9lsCgkJkXRifVxJSk1NrVzzAFANBFkAqCa73a63335b48aN0+eff67rr7/esjDrdDr13XffKTk5WcHBwWfdf+jQoYqJiVFqaqpGjhypxo0bV+o8ixYtKlfbu3ev9u/fr86dO8vf31/SiZvKJOnHH3+swmcBAFVDkAWAGrDZbHrzzTd1++236/PPP9e1115rSZhdunSpMjMzzzpWcJKPj4+mT5+ur7/+Ws8//3ylz/Phhx9q3bp1Za8Nw9Djjz8uh8Ohm2++uaw+ZswYNWzYUC+//LLWrFlT7n24UgugNrD8FgDUkM1m06RJk2S32zVp0iQZhqFPP/1Uvr41+yv2nXfe0S+//CJJWr9+fVltwYIFkqT+/fvr1ltvlSRNnz5ddrtdl112WaXfv2fPnurZs2eVeho6dKjOO+88jR49Ws2aNdO8efO0YsUK9enTx7R2bvPmzfXhhx9q9OjR6tWrl0aMGKEOHTooKytLv/32m+Li4jR9+vQqnRsATkWQBYBaYLPZlJKSIrvdrpSUFF1zzTX69NNPa/S4119++UUffPCBqbZ48WItXry47PXJIDtjxgz16dPntDdj1Zbx48drxIgRmjhxonbs2KEmTZro/vvv1zPPPFM2VnDSFVdcod9++03PP/+8fv75Z33zzTcKDw9XQkKCxo0bV6d9AvAONsMwDKubAABvFBcXJ0nas2dPjd5n8+bNio+P1wsvvKCHH3645o1VYMKECXrqqac0f/58DRo0qE7OIZ34B8HAgQPLrjoDwJkwIwsAFtq7d69sNptsNpu2bNlSrfeYMWOGJFV6PtbVzJo1q+xrAABVwWgBAFjkgQce0LFjx8peh4eHV+t9Hn30UT366KO11FX9a9eunZ588smy1yevVAPA2RBkAcAiDzzwgNUtuIR27dppwoQJVrcBwA0xIwsAAAC3xIwsAAAA3BJBFgAAAG6JIAsAAAC3RJAFAACAWyLIAgAAwC0RZAEAAOCWCLIAAABwSwRZAAAAuKX/B8KiUWFVwTOQAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,1,figsize=(7,6))\n", "fig.suptitle('C2RMAX10')\n", "ax.loglog(ks, ps*ks**3/2/np.pi**2, lw=3, ls='-', label='z={:.1f}'.format(z))\n", "ax.set_xlabel('k [1/Mpc]', fontsize=14)\n", "ax.set_ylabel('$\\Delta^2_\\mathrm{21}$ [mK$^2$]', fontsize=14)\n", "ax.legend()\n", "# ax.axis([6,14,-0.01,1.01])\n", "plt.tight_layout()\n", "plt.show()" ] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 4 }