{ "cells": [ { "cell_type": "markdown", "id": "e770293d-e1a7-4ea4-91f3-a81b1938d137", "metadata": { "tags": [] }, "source": [ "# Haslam/WMAP Synchrotron templates for PySM 3\n", "> Synchrotron templates based on Haslam for Temperature and WMAP for polarization in logarithmic polarization fraction formalism (logpoltens) with injection of simulated small scale fluctuations" ] }, { "cell_type": "markdown", "id": "1928e2fd-36e5-42dc-9a7b-06a3f161ad92", "metadata": {}, "source": [ "This new implementation of small scale injection will homogeneize the synchrotron models to the latest updates implemented on dust : \n", "- input templates the same as before: HASLAM (rescaled to 23GHz and WMAP K-band, smoothed at 2deg)\n", "- two pivot scales `ell1=36`,`ell2=400` for small scale injection\n", "- spectral indices for EE, BB coming from literature , [Planck 2018]( https://arxiv.org/pdf/1807.06208.pdf) : \n", " i. alpha_TT=alpha_TE= -1 \n", " ii. alpha_EE = -0.84 \n", " iii. alpha_BB= -0.78\n", "Notice that for TT and TE the value is justified by what actually see in the spectra of input maps, see the plot in cell `[31]`.\n", "- small scales have with non-zero TE \n", "- Modulation of qu maps with a single map, p:\n", " i. to avoid modulation w/ negative values,\n", " ii. to preserve non-zero TE \n", "- we propose to modulate polarization small scales as it has been done in `pysm2`(https://arxiv.org/pdf/1608.02841.pdf) , with a couple of differences: \n", " i. small scales are expected to be injected with non-gaussian content (thanks to the logpoltens formalism); \n", "ii. split the sky with high reso pixels (nside=8) ; \n", "iii. use amplitude of E-mode spectra to derive the modulation template\n", "\n", "## Related notebooks\n", "\n", "* [Simplified version of this notebook that generates small scales up to $\\ell_{max}=16384$](synchrotron_template_logpoltens_generate_artifacts.ipynb)\n", "* [Notebook that generates small scales for the spectral index $\\beta$](synchrotron_beta.ipynb)\n", "* [Notebook that generates the template for curvature for `s7`](synchrotron_curvature.ipynb)\n", "* Notebooks that create maps at different resolutions for [templates](utils_synch_generate_map.ipynb), for [spectral index](utils_synch_generate_map_spectralindex.ipynb) and for [curvature](utils_synch_generate_map_curvature.ipynb)" ] }, { "cell_type": "code", "execution_count": 1, "id": "989c7685-3708-45eb-914f-719da0319837", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'2023.02.24'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import os\n", "\n", "os.environ[\n", " \"OMP_NUM_THREADS\"\n", "] = \"64\" # for jupyter.nersc.gov otherwise the notebook only uses 2 cores\n", "\n", "output_files = []\n", "\n", "from datetime import date\n", "today = date.today()\n", "version = today.strftime(\"%Y.%m.%d\")\n", "version" ] }, { "cell_type": "code", "execution_count": 2, "id": "8a2daef2-fd62-4481-8d9b-a9d08852bd8d", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_17579/3930590641.py:11: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-