Note
Click here to download the full example code
PowerLaw temporal model#
This model parametrises a power-law time model.
\[F(t) = ((t - t_{ref})/t_0)^alpha\]
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 (
Models,
PowerLawSpectralModel,
PowerLawTemporalModel,
SkyModel,
)
time_range = [Time.now(), Time.now() + 2 * u.d]
pl_model = PowerLawTemporalModel(alpha=-2.0, t_ref=(time_range[0].mjd - 0.1) * u.d)
pl_model.plot(time_range)
plt.grid(which="both")
plt.yscale("log")
YAML representation#
Here is an example YAML file using the model:
model = SkyModel(
spectral_model=PowerLawSpectralModel(),
temporal_model=pl_model,
name="powerlaw-model",
)
models = Models([model])
print(models.to_yaml())
Out:
components:
- name: powerlaw-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: PowerLawTemporalModel
parameters:
- name: alpha
value: -2.0
is_norm: false
- name: t_ref
value: 59711.81110491835
unit: d
frozen: true
is_norm: false
- name: t0
value: 1.0
unit: d
frozen: true
is_norm: false