.. _sherpamod: Sherpa models ============= The `sherpa`_ package is a modeling and fitting application which can be used to fit a variety of data from spatial morphology to forward-folding spectral analysis. It is part of the Chandra analysis software pacakage (`CIAO `_), but it can be easily installed standalone by using either the `Anaconda Python `_ distribution or with pip. The `standalone Python version of sherpa `_ can be installed using Anaconda along with Naima as follows .. code-block:: shell $ export PATH=PATH_TO_ANACONDA/bin:$PATH $ conda config --add channels sherpa --add channels astropy $ conda install sherpa naima where ``PATH_TO_ANACONDA`` is the path where you have installed Anaconda. Sherpa can also be installed using pip, as long as NumPy is already installed .. code-block:: shell $ pip install sherpa Naima provides wrappers for the :ref:`radiative` to make it easier to use them in a sherpa session. The models available for use in sherpa are the four radiative models available in Naima (see :ref:`radiative`) with a `~naima.models.PowerLaw` or `~naima.models.ExponentialCutoffPowerLaw` particle distribution: - `naima.sherpa_models.InverseCompton`: wrapper of `~naima.models.InverseCompton` - `naima.sherpa_models.Synchrotron`: wrapper of `~naima.models.Synchrotron` - `naima.sherpa_models.Bremsstrahlung`: wrapper of `~naima.models.Bremsstrahlung` - `naima.sherpa_models.PionDecay`: wrapper of `~naima.models.PionDecay` Once within a python session or script, these models can be accesed through `naima.sherpa_models` and added to an analysis session with the sherpa command `set_model`. You can see the available parameters with `show_model` .. code-block:: pycon >>> from sherpa.astro.ui import * >>> dataspace1d(0.1, 10, 0.1) # Data would be loaded at this step, here we fake it >>> from naima.sherpa_models import InverseCompton >>> set_model(InverseCompton("IC")) >>> show_model() Model: 1 IC Param Type Value Min Max Units ----- ---- ----- --- --- ----- IC.index thawed 2.1 -10 10 IC.ref frozen 60 0 3.40282e+38 TeV IC.ampl thawed 100 0 1e+60 1e30/eV IC.cutoff frozen 0 0 3.40282e+38 TeV IC.beta frozen 1 0 10 IC.TFIR frozen 70 0 3.40282e+38 K IC.uFIR frozen 0 0 3.40282e+38 eV/cm3 IC.TNIR frozen 3800 0 3.40282e+38 K IC.uNIR frozen 0 0 3.40282e+38 eV/cm3 IC.distance frozen 1 0 1e+06 kpc IC.verbose frozen 0 0 3.40282e+38 Initially, only the amplitude and index of the particle distribution are free parameters, see the `sherpa`_ documentation for information of how to modify the frozen parameters and thaw them. Note that sherpa models do not accept parameters as `~astropy.units.Quantity` objects given that their units are fixed. You can see the units for each of the parameters with the `show_model` sherpa command. .. _sherpa: http://cxc.cfa.harvard.edu/sherpa/