Changelog#
0.5.0
- Breaking: Removed OblateSystem.loglike. Likelihood computation is no longer
built into the class; users should now compute their own (e.g. Gaussian) likelihood by comparing the output of
OblateSystem.lightcurveagainst their data. The associated constructor argumentsdata,uncertainties,log_jitter, andsystematic_trend_coeffshave been removed as well. See the updated “Fit a transit of an oblate planet” tutorial for an example of the new pattern.
Breaking: Removed the phase-curve, emission, and reflected-light phase-curve machinery, along with the constructor flags that enabled it (
compute_reflected_phase_curve,compute_emitted_phase_curve,compute_stellar_ellipsoidal_variations,compute_stellar_doppler_variations,phase_curve_nsamples,extended_illumination_npts, andrandom_seed).OblateSystem.illustratekeeps itsreflectedoption for visualization.Added
RingedSystem, a subclass ofOblateSystemfor planets hosting an opaque, flat, circular ring bounded by an inner and outer radius, by default lying in the planet’s equatorial plane. The blocked flux is computed via an exact inclusion-exclusion decomposition into intersections of convex regions, each evaluated with the same Green’s-theorem boundary integrals as the planet-only model (seeengine.ringed_transit).RingedSystem.illustrateoverlays the projected ring edges and a filled annulus.Generalized the transit engine’s limb-crossing logic (
ellipse_star_term): the outline and the stellar limb are now split into arcs at all crossings instead of assuming exactly two. This fixes incorrect light curves for long, thin projected ellipses that cross the stellar limb four times (“skewering” the star), which matter for nearly edge-on rings and extreme projected-ellipse parameterizations.Dropped support for Python 3.9, keeping up with jaxoplanet for testing.
Added pre-commit requirements, most notably the ruff linter to check for common
python code style issues. Many flags still not checked, especially those related to docstrings. - Switched to uv for dependency management, not yet building though.
0.3.1 (10/2024)
Enforced forward-mode differentiation under the hood in
OblateSystemto speed up gradient evaluation forOblateSystem.loglikeor any functions that useOblateSystem.lightcurve.
0.3.0 (10/2024)
Added
limb_darkening_lawsmodule, which contains convenience functions for transforming limb darkening coefficients of commonly used limb darkening laws into coefficients of high-order polynomials thatsquishyplanetcan use to model the intensity profile of the star.
0.2.2 (09/2024)
Added ability to parameterize the planet’s orbit via t0, the time of transit center, instead of t_peri. This is useful for fitting systems with non-zero eccentricity.
0.2.1 (09/2024)
0.2.0 (08/2024)
The
log_jitterterm now represents the standard deviation of the added noise, not the variance. This brings it in line with the definition of measurement uncertainties.When dealing with a projected 2D ellipse (i.e., not a tidally locked planet)
projected_rhas been replaced withprojected_effective_r. Previously there was a strong degeneracy betweenprojected_randprojected_f, since the combination of the two dictated the area of the ellipse, and therefore transit depth, which fits are much more sensitive to than to slight deviations to ingress/egress shape.projected_effective_ris the radius of a circle with the same area as the ellipse, and is therefore a more physically meaningful parameter to fit for.Added fit_limb_darkening_profile() as a convenience function for approximating limb darkening profiles computed via stellar grids as high-order polynomial laws that
squishyplanetcan use.tidally_lockedis now a required parameter when creating anOblateSystemobject, which is a change from its previous default of True.
0.1.2 (05/2024)
Fixed issue #7. Previously, calls to OblateSystem.lightcurve() after initializing the OblateSystem object were not recalculating true anomalies even if the period and/or t_peri changed.
0.1.1 (05/2024)
Initial JOSS submission version, fixed issues #1 and #5.