\n",
"\n",
"**This is a fixed-text formatted version of a Jupyter notebook**\n",
"\n",
"- Try online [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy/v0.12?urlpath=lab/tree/source_population_model.ipynb)\n",
"- You can contribute with your own notebooks in this\n",
"[GitHub repository](https://github.com/gammapy/gammapy/tree/master/tutorials).\n",
"- **Source files:**\n",
"[source_population_model.ipynb](../_static/notebooks/source_population_model.ipynb) |\n",
"[source_population_model.py](../_static/notebooks/source_population_model.py)\n",
"
\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Astrophysical source population modeling with Gammapy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"The [gammapy.astro.population](..\/astro/population/index.rst) package contains some simple Galactic source population models.\n",
"\n",
"Here we provide some Python code to compute observable parameter distributions for Galactic gamma-ray source populations.\n",
"\n",
"* Observables: Flux, GLON, GLAT\n",
"* Source classes: Pulsar (PSR), Supernova remnant (SNR), pulsar wind nebula (PWN)\n",
"\n",
"References:\n",
"\n",
"* Section 6.2 in the Fermi-LAT collaboration paper [\"The First Fermi-LAT Catalog of Sources Above 10 GeV\"](http://adsabs.harvard.edu/abs/2013arXiv1306.6772T)\n",
"* Axel Donath's bachelor thesis [\"Modelling Galactic gamma-ray source populations\"](http://pubman.mpdl.mpg.de/pubman/item/escidoc:912132:1/component/escidoc:912131/BScThesis_ddonath.pdf), specifically Chapter 4.\n",
"* Casanova & Dingus (2008), [\"Constraints on the TeV source population and its contribution to the galactic diffuse TeV emission\"](http://adsabs.harvard.edu/abs/2008APh....29...63C)\n",
"* Strong (2007), [\"Source population synthesis and the Galactic diffuse gamma-ray emission\"](http://adsabs.harvard.edu/abs/2007Ap%26SS.309...35S)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import astropy.units as u\n",
"from gammapy.utils.random import sample_powerlaw\n",
"from gammapy.astro import population"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulate positions"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Spatial distribution using Lorimer (2006) model\n",
"n_sources = int(1e5)\n",
"\n",
"table = population.make_base_catalog_galactic(\n",
" n_sources=n_sources,\n",
" rad_dis=\"L06\",\n",
" vel_dis=\"F06B\",\n",
" max_age=1e6 * u.yr,\n",
" spiralarms=True,\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulate luminosities"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Several source population models, e.g. the 1FHL paper or Strong (2007), use power-law luminosity functions.\n",
"\n",
"Here we implement the \"reference model\" from the 1FHL catalog paper section 6.2."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Source luminosity (ph s^-1)\n",
"\n",
"luminosity = sample_powerlaw(x_min=1e34, x_max=1e37, gamma=1.5, size=n_sources)\n",
"table[\"luminosity\"] = luminosity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compute observable parameters"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"
\n",
" name dtype unit description \n",
"---------- ------- --------- --------------------------------------\n",
" age float64 yr Age of the source\n",
" n_ISM float64 1 / cm3 Interstellar medium density\n",
" spiralarm str18 Which spiralarm?\n",
" x_birth float64 kpc Galactocentric x coordinate at birth\n",
" y_birth float64 kpc Galactocentric y coordinate at birth\n",
" z_birth float64 kpc Galactocentric z coordinate at birth\n",
" x float64 kpc Galactocentric x coordinate\n",
" y float64 kpc Galactocentric y coordinate\n",
" z float64 kpc Galactocentric z coordinate\n",
" vx float64 km / s Galactocentric velocity in x direction\n",
" vy float64 km / s Galactocentric velocity in y direction\n",
" vz float64 km / s Galactocentric velocity in z direction\n",
" v_abs float64 km / s Galactocentric velocity (absolute)\n",
"luminosity float64 \n",
" distance float64 pc Distance observer to source center\n",
" GLON float64 deg Galactic longitude\n",
" GLAT float64 deg Galactic latitude\n",
" VGLON float64 deg / Myr Velocity in Galactic longitude\n",
" VGLAT float64 deg / Myr Velocity in Galactic latitude\n",
" RA float64 deg Right ascension\n",
" DEC float64 deg Declination\n",
" flux float64 1 / kpc2 Source flux\n"
]
}
],
"source": [
"table = population.add_observed_parameters(table)\n",
"table.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Check output"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The simulation is done, you could save the simulated catalog to a file.\n",
"\n",
"Here we just plot a few distributions to check if the results look OK."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"