TemperatureEstimator (xsnap.TemperatureEstimator
)#
Methods |
Attributes |
---|---|
- class TemperatureEstimator(tExplosion=None, norm=None, exponent=None)#
Bases:
object
Estimate temperature evolution from a supernova explosion given a set of temperature evolution data or power-law parameters.
If given a set of temperature evolution data, the
TemperatureEstimator
will fit the data in a power-law model and get the best-fit parameters.- temperatures#
Estimated temperatures wrapped in a DataFrame table with columns
['time_since_explosion', 'lo_time_err', 'hi_time_err', 'temperature', 'lo_temp_err', 'hi_temp_err']
- Type:
- __init__(tExplosion=None, norm=None, exponent=None)#
Initialization of the
TemperatureEstimator
class- Parameters:
tExplosion (float, optional) – Supernova time of explosion in MJD. If
None
, must be set before estimating. Defaults toNone
.norm (float, optional) – Normalization for the power-law model (if known). Defaults to
None
.exponent (float, optional) – Exponent for the power-law model (if known). Defaults to
None
.
- clear()#
Reset all fitted parameters and clear the temperature table.
- compute_pl_fit(time_since_explosion, temperature, mcmc=True, temp_err_lo=None, temp_err_hi=None, time_err_lo=None, time_err_hi=None, nwalkers=200, nsteps=6000, nburn=1000, show_plots=True)#
Fit a power-law \(T(t) = \mathrm{norm} \times t^{\mathrm{exp}}\) to the data, either via Markov chain Monte-Carlo (MCMC) or simple least-squares (
curve_fit()
).- Parameters:
time_since_explosion (array_like) – Times since explosion in days.
temperature (array_like) – Observed/fitted temperatures data.
mcmc (bool, optional) – If
True
, use MCMC. If False, usecurve_fit()
. Defaults toTrue
.temp_err_lo (array_like, optional) – Lower uncertainty on temperature. Defaults to
None
.temp_err_hi (array_like, optional) – Upper uncertainty on temperature. Defaults to
None
.time_err_lo (array_like, optional) – Lower uncertainty on time. Defaults to
None
.time_err_hi (array_like, optional) – Upper uncertainty on time. Defaults to
None
.nwalkers (int, optional) – Number of MCMC walkers. Defaults to
200
.nsteps (int, optional) – Number of MCMC steps per walker. Defaults to
6000
.nburn (int, optional) – Number of burn-in steps to discard. Defaults to
1000
.(bool (show_plots) – If
True
, display fitted and residual plots. Defaults toTrue
.optional – If
True
, display fitted and residual plots. Defaults toTrue
.
- Returns:
- selfTemperatureEstimator
The same
TemperatureEstimator
class withnorm
,exp
,lo_norm_err
,hi_norm_err
,lo_exp_err
,hi_exp_err
, andchi2_red
all set.
- estimate(time_since_explosion=None, t_err_lo=0, t_err_hi=0, file=None, files=None, tExplosion=None)#
Estimate temperature(s) at given time(s) or from FITS file(s) and append to
temperatures
.- Parameters:
time_since_explosion (float or array_like, optional) – Time(s) since explosion in days.
t_err_lo (float or array_like, optional) – Lower time error(s). Defaults to 0.
t_err_hi (float or array_like, optional) – Upper time error(s). Defaults to 0.
file (str, optional) – Single FITS file to read time from.
files (list of str, optional) – List of FITS files to read times from.
tExplosion (float, optional) – Explosion time (MJD), if not already set.
- Returns:
- Temperaturespandas.DataFrame
The
temperatures
table wrapped in DataFrame with columns['time_since_explosion', 'lo_time_err', 'hi_time_err', 'temperature', 'lo_temp_err', 'hi_temp_err']
.
- Raises:
RuntimeError – If neither
time_since_explosion
norfile
orfiles
provided, or if model parameters have not been fitted, or iftExplosion
is still unset when reading FITS.