Note
Click here to download the full example code
ExpDecay temporal model#
This model parametrises an ExpDecay time model.
\[F(t) = exp(t - t_{ref})/t0\]
Example plot#
Here is an example plot of the model:
from astropy import units as u
from astropy.time import Time
import matplotlib.pyplot as plt
from gammapy.modeling.models import (
ExpDecayTemporalModel,
Models,
PowerLawSpectralModel,
SkyModel,
)
t0 = "5 h"
t_ref = Time("2020-10-01")
time_range = [t_ref, t_ref + 1 * u.d]
expdecay_model = ExpDecayTemporalModel(t_ref=t_ref.mjd * u.d, t0=t0)
expdecay_model.plot(time_range)
plt.grid(which="both")
YAML representation#
Here is an example YAML file using the model:
model = SkyModel(
spectral_model=PowerLawSpectralModel(),
temporal_model=expdecay_model,
name="expdecay_model",
)
models = Models([model])
print(models.to_yaml())
Out:
/Users/adonath/software/mambaforge/envs/gammapy-dev/lib/python3.9/site-packages/astropy/units/quantity.py:613: RuntimeWarning: overflow encountered in exp
result = super().__array_ufunc__(function, method, *arrays, **kwargs)
/Users/adonath/software/mambaforge/envs/gammapy-dev/lib/python3.9/site-packages/astropy/units/quantity.py:613: RuntimeWarning: invalid value encountered in subtract
result = super().__array_ufunc__(function, method, *arrays, **kwargs)
components:
- name: expdecay_model
type: SkyModel
spectral:
type: PowerLawSpectralModel
parameters:
- name: index
value: 2.0
is_norm: false
- name: amplitude
value: 1.0e-12
unit: cm-2 s-1 TeV-1
is_norm: true
- name: reference
value: 1.0
unit: TeV
frozen: true
is_norm: false
temporal:
type: ExpDecayTemporalModel
parameters:
- name: t0
value: 5.0
unit: h
is_norm: false
- name: t_ref
value: 59123.0
unit: d
frozen: true
is_norm: false