.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "user-guide/model-gallery/spectral/plot_compound.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_user-guide_model-gallery_spectral_plot_compound.py: .. _compound-spectral-model: Compound spectral model ======================= This model is formed by the arithmetic combination of any two other spectral models. .. GENERATED FROM PYTHON SOURCE LINES 11-14 Example plot ------------ Here is an example plot of the model: .. GENERATED FROM PYTHON SOURCE LINES 14-39 .. code-block:: Python import operator from astropy import units as u import matplotlib.pyplot as plt from gammapy.modeling.models import ( CompoundSpectralModel, LogParabolaSpectralModel, Models, PowerLawSpectralModel, SkyModel, ) energy_bounds = [0.1, 100] * u.TeV pwl = PowerLawSpectralModel( index=2.0, amplitude="1e-12 cm-2 s-1 TeV-1", reference="1 TeV" ) lp = LogParabolaSpectralModel( amplitude="1e-12 cm-2 s-1 TeV-1", reference="10 TeV", alpha=2.0, beta=1.0 ) model_add = CompoundSpectralModel(pwl, lp, operator.add) model_add.plot(energy_bounds) plt.grid(which="both") .. image-sg:: /user-guide/model-gallery/spectral/images/sphx_glr_plot_compound_001.png :alt: plot compound :srcset: /user-guide/model-gallery/spectral/images/sphx_glr_plot_compound_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 40-43 YAML representation ------------------- Here is an example YAML file using the model: .. GENERATED FROM PYTHON SOURCE LINES 43-48 .. code-block:: Python sky_model = SkyModel(spectral_model=model_add, name="add-compound-model") models = Models([sky_model]) print(models.to_yaml()) .. rst-class:: sphx-glr-script-out .. code-block:: none components: - name: add-compound-model type: SkyModel spectral: type: CompoundSpectralModel model1: type: PowerLawSpectralModel parameters: - name: index value: 2.0 - name: amplitude value: 1.0e-12 unit: cm-2 s-1 TeV-1 - name: reference value: 1.0 unit: TeV model2: type: LogParabolaSpectralModel parameters: - name: amplitude value: 1.0e-12 unit: cm-2 s-1 TeV-1 - name: reference value: 10.0 unit: TeV - name: alpha value: 2.0 - name: beta value: 1.0 operator: add metadata: creator: Gammapy 1.3.dev222+g8af9dbfc9 date: '2024-05-01T14:12:24.461474' origin: null .. _sphx_glr_download_user-guide_model-gallery_spectral_plot_compound.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/gammapy/gammapy-webpage/main?urlpath=lab/tree/notebooks/dev/user-guide/model-gallery/spectral/plot_compound.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_compound.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_compound.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_