Activity Module (sbpy.activity)


sbpy.activity models cometary dust and gas activity. It is separated into two main sub-modules: Dust comae (sbpy.activity.dust) and Gas Comae (sbpy.activity.gas). The base module itself defines photometric apertures that may be useful for observations of comets.


Four photometric apertures are defined:

All apertures assume they are centered on the source, i.e., offsets are not supported, but may be added in the future.

Each object is initialized with the dimensions of the aperture, which may be in linear or angular units:

>>> import astropy.units as u
>>> import sbpy.activity as sba
>>> sba.CircularAperture(10 * u.arcsec)
<CircularAperture: radius 10.0 arcsec>
>>> sba.RectangularAperture((2000, 5000) *
<RectangularAperture: dimensions 2000.0×5000.0 km>

Apertures may be converted between linear and angular units using as_angle() and as_length(). The conversion requires the observer-target distance ('delta') as a Quantity or Ephem.

>>> ap = sba.CircularAperture(1 * u.arcsec)
>>> ap.as_length(1 *  
<CircularAperture: radius [725.27094381] km>

Ideal comae (constant production rate, free-expansion, infinite lifetime) have 1/ρ surface brightness distributions. With coma_equivalent_radius(), we may convert the aperture into a circular aperture that would contain the same total flux at the telescope:

>>> ap = sba.RectangularAperture((2000, 5000) *
>>> sba.CircularAperture(ap.coma_equivalent_radius())  
<CircularAperture: radius 1669.4204086589311 km>


SBPy Module for simulating cometary activity and observations.


beta_factor(mol_data, ephemobj)

Returns beta factor based on timescales from gas and distance from the Sun using an ephem object.


Einstein coefficient from molecular data

fluorescence_band_strength(species[, eph, …])

Fluorescence band strength.

from_Haser(coma, mol_data[, aper])

Calculate production rate for GasComa


Returns conversion of the integrated line intensity at 300 K (from the JPL molecular spectra catalog) to a chosen temperature


Halley-Marcus composite dust phase function.

photo_lengthscale(species[, source])

Photodissociation lengthscale for a gas species.

photo_timescale(species[, source])

Photodissociation timescale for a gas species.

total_number(mol_data, aper, b)

Equation relating number of molecules with column density, the aperture, and geometry given and accounting for photodissociation, derived from data provided.



Coma dust quantity for scattered light.


Annular aperture projected at the distance of the target.


Abstract base class for photometric apertures.


Circular aperture projected at the distance of the target.


Coma dust quantity for thermal emission.

GaussianAperture([sigma, fwhm])

Gaussian-shaped aperture, e.g., for radio observations.

Haser(Q, v, parent[, daughter])

Haser coma model.


LTE Methods for calculating production_rate


Class method for non LTE production rate models Not Yet implemented


Rectangular aperture projected at the distance of the target.

VectorialModel(base_q, parent, fragment[, …])

Vectorial model for fragments in a coma produced

Class Inheritance Diagram

Inheritance diagram of sbpy.activity.dust.Afrho, sbpy.activity.core.AnnularAperture, sbpy.activity.core.Aperture, sbpy.activity.core.CircularAperture, sbpy.activity.dust.Efrho, sbpy.activity.core.GaussianAperture, sbpy.activity.gas.core.Haser, sbpy.activity.gas.productionrate.LTE, sbpy.activity.gas.productionrate.NonLTE, sbpy.activity.core.RectangularAperture, sbpy.activity.gas.core.VectorialModel