\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-webpage/v0.9?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": [
"