Version 1.4.0#

Breaking interface changes#

  • Important

    Starting from v1.4.0, the McmcSampler class does not use anymore labels and use_labels_dict, to select the parameters used by the sampler. Starting from this version, all the free parameters will be sampled. To select sampled parameters, please free/freeze them. Please read the caveats for the Bayesian model fitting for further details.

New features#

MCMC functionalities#

Leptonic equilibrium#

Radio component in composite models#

  • Added a new analytical radio component, RadioSpectrum, for extended jet radio emission with self-absorption turnover and high-frequency cutoff. See Jet Radio Component: RadioSpectrum

  • RadioSpectrum can be combined with a jet model in FitModel:

    from jetset.jet_radio_component import RadioSpectrum
    from jetset.model_manager import FitModel
    
    fit_model = FitModel(jet=prefit_jet, name='SSC-best-fit-lsb', template=None)
    fit_model.add_component(RadioSpectrum())
    fit_model.composite_expr = '(jet_leptonic+radio_spectrum)'
    
  • A complete fitting workflow (SSC + extended radio component, minuit and MCMC) is available in Model fitting 1: Only SSC and extended radio jet

Corona#

Added EC support for Corona, see: Example for using a Corona within the EC scenario.

data handling#

  • UL are handled when rebinning SED data

  • added nu min/max to rebin

  • ASI ssdc sedbuilder

Pair production for external fields#

  • added pair production absorption for Dusty Torus, Broad Line Region and Corona.

  • internal absorption can be enabled for EC components (DT/BLR) and used in fitting workflows. See Internal absorption and Model fitting 3: External Compton

  • optional use_R_H_profile_extrapolation in internal absorption setup to speed up evaluations:

    jetset_model.enable_internal_absorption('DT', use_R_H_profile_extrapolation=True)
    
  • A complete fitting workflow with EC and internal absorption see: Model fitting 3: External Compton

bug fixing#

  • minor bug fixes

  • fixed typos in variable names

  • fixed a bug in serialization of depending parameter.

C codebase#

  • Substantial refactoring of the C code, dividing the blob structure in several sub-structures, with hierarchy.

installation#

  • Added source installation via ./install.sh.

  • Detects if you are in a conda/mamba/micromamba evn or a pip evn, and install JetSeT from source, together with the dependencies

  • When run inside an active conda/mamba environment, ./install.sh syncs JetSeT constraints from requirements.txt into $CONDA_PREFIX/conda-meta/pinned. This pins JetSeT requirements in that environment and helps prevent later conda/mamba installs of other packages from overriding them. For pip virtual env, the problem

  • This script is recommended when binaries are not available for your Python/platform, or for developers and advanced users.

  • Run the script from the project root to install dependencies, compile extensions, and install JetSeT:

    ./install.sh
    
  • If you want to skip the installation of dependencies

    ./install.sh -skip-dep
    
  • If you want to experiment with different requirements (do it on your own risk):

    • edit the requirements.txt accordingly and:

    ./install.sh
    
  • Verify the installation with, optional (not within the code repo dir):

    python -c "import jetset; print(jetset.__version__)"
    pytest --disable-warnings --pyargs -vvv jetset.tests.test_users::TestUser
    
  • Full source-install requirements and troubleshooting are documented in Installation (including SWIG notes in Swig installation).