All notable changes to ExoIris will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
TSData.create_white_light_curve()method for creating white light curves with weighted averaging. - Added
white_profiledandwhite_marginalizednoise model options in TSLPF:white_profiled(default): computes likelihood with baseline coefficients estimated via least-squares profilingwhite_marginalized: uses analytically marginalized log-likelihood that integrates out baseline coefficients
- Added
TSData.bin()method for combined wavelength and time binning.
- Several minor bugs.
- Added support for setting custom interpolation models for limb darkening via
set_limb_darkening_interpolatormethod. - Added support for setting custom interpolation models for radius ratios via
set_radius_ratio_interpolatormethod. - Added ability to set priors for offset parameters in the analysis workflow.
- Added interpolation type tracking in FITS header metadata (
INTERP_LDfor limb darkening interpolation).
- Improved reinitialization logic for MCMC and differential evolution populations with updated limb darkening coefficients and knots.
- Refactored interpolation handling in
TSLPFto separately manage radius ratio and limb darkening interpolators. - Updated documentation for API methods and workflow.
- Fixed incorrect FWHM scaling in
spot_modelfunction. The scaling factor now correctly useslog(4)^(1/shape)for proper full width at half maximum calculations in generalized Gaussian spot models.
- Fixed least-squares baseline fitting for transit models with NaNs.
- Added "bspline-cubic" interpolation option as an alias for "bspline". The "bspline" option will be removed in a future release.
- Switched baseline modeling to a least-squares approach.
- Corrected prior loading for parameter sets.
- Validated
samplesbefore posterior spectrum calculation to prevent runtime errors.
- Added support for free-k knot configuration in spline models.
- Added SVD solver options in the
loglikelihood.LogLikelihoodclass. - Added
bspline-quadraticinterpolation option.
- Improved transmission spectrum and log-likelihood methods for robustness and performance.
- Cleaned up and refactored the
LogLikelihoodclass. - Updated limb darkening parameter plotting.
- Added a safety check for uninitialized
white_gp_modelsin white light curve processing.
- Added a
loglikelihood.LogLikelihoodclass for reduced-rank Gaussian log-likelihood calculation. - Added
ExoIris.create_loglikelihood_functionmethod to generate log-likelihood instances for atmospheric retrieval. - Added
ExoIris.radius_ratio_spectrumandExoIris.area_ratio_spectrummethods to compute posterior transmission spectrum distributions for given wavelengths. - Added
exoiris.util.create_mock_modelutility function for generating mock transmission spectra.
- Added the ability to model star spot crossings. The spots are modeled as generalized Gaussians parameterized by their center time, amplitude in a given reference wavelength, full width at half maximum (FWHM), spot temperature in Kelvin, and spot shape. The spot amplitude along the wavelength is modeled using the theoretical BT-Settl spectra, the stellar effective temperature, the spot temperature, and the reference wavelength in which the spot amplitude is measured.
- Added the ability to model the contamination from unocculted spots and faculae (the transit light source effect, or TLSE). This is modeled also using BT-Settl spectra following the formalism described by Rackham et al. (2018).
- Included two new radius ratio interpolation options: "nearest" and "linear".
- Added a support for a free GP noise model. That is, the GP hyperparameters can be free parameters in the model.
However, this is somewhat slower than using the fixed GP model, since the GP needs to be computed for each model evaluation. - Added a
ExoIris.plot_white_gp_predictionsmethod to visualize the GP predictions for the white light curves.
- Improved TSData fits io to make sure all the properties (such as the noise and bias groups) are saved and read properly.
- Fixed a white light curve fitting but where the error array was not filtered correctly.
- Made
TSDatato raise aValueErrorif either the time or wavelength array contains any non-finite values.
- Renamed
TSDataSettoTSDataGroup
- Added
offset_groupvariable toTSDatathat can be used in ExoIris to account for bias offsets between instruments and monochromatic transit-to-transit variations in transit depths caused by unocculted stellar heterogeneities, such as spots and faculae.
- Added support for masked data with GP noise model.
- Added an option to set the GP hyperparameters for an individual data set.
- Added
white_times,white_fluxes,white_models, andwhite_errorsproperties toExoIristo access white ligth curve data.
- Fixed model loading with masked data.
- New Data Mask: Introduced a general
maskattribute in theTSDataclass to automatically flag valid data points (based on finite fluxes and errors). - Uncertainty Estimation: Added the
estimate_average_uncertaintiesmethod inTSDatato compute per-wavelength uncertainties using first differences. - White Light Curve Processing: Updated the
WhiteLPFclass to usenanmeanandisfinitechecks when computing the white light curve, ensuring only valid flux values are averaged.
- Transit Mask Renaming: Renamed the old
ootmaskattribute totransit_maskthroughout the codebase for clarity. This change affects plotting, normalization, binning, and file I/O. - Method Renaming: Renamed
calculate_ootmaskin theTSDataGroupclass tomask_transitto reflect the updated naming convention. - Normalization Enhancements: Updated normalization methods (
normalize_to_polyandnormalize_to_median) to utilize the newtransit_maskandmaskattributes, improving the reliability of baseline fits. - Cropping Flexibility: Added an
inplaceparameter to bothcrop_wavelengthandcrop_timemethods, allowing users to choose between modifying the existing data or returning a new cropped instance. - Likelihood Function Update: Modified the
lnlike_normalfunction inTSLPFto accept an additionalmaskparameter and process only valid data points during likelihood calculations. - Outlier Handling: Refined the
remove_outliersmethod to flag outliers by setting affected fluxes and errors to NaN, rather than replacing them with median-filtered values.
- Removed Deprecated Method:
calculate_ootmask
This method (deprecated since v0.9) has been removed in favor of the new transit masking functionality. - Removed Deprecated Method:
normalize_baseline
Thenormalize_baselinemethod (deprecated since v0.9) has been removed; users should now usenormalize_to_poly. - Removed Deprecated Method:
normalize_median
The deprecatednormalize_medianmethod has been removed. Its functionality is now available vianormalize_to_median. - Removed Deprecated Method:
split_time
Thesplit_timemethod, deprecated since v0.9, has been removed. Usepartition_timeinstead.