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