Recent Releases of octofitter.jl
octofitter.jl - v7.0.0
Octofitter v7.0.0
Breaking changes
- Entirely new API for constructing models using new standardized
@variablesmacro - Significantly simplified syntax for parameterizations and other calculations in models
- Easily add custom priors on calculated variables, e.g.
mutual_inc = ...; Normal(0,10) ~ mutual_inc - Attach variables directly to likelihood objects, e.g. add an
offset ~variable to each RV instrument - Much easier programatic generation of models, e.g. N planets x M RV instruments
- Support for custom hierarchical models, including e.g. custom GP priors between instrument parameters
- Support for modelling instrument systematics in relative astrometry, images, interferometry, and likelihood maps (astrometric jitter, north angle uncertainties/systematics, and plate scale uncertainties/systematics)
- Preliminary support for modelling Gaia DR4 epoch astrometry
see https://sefffal.github.io/Octofitter.jl/dev/migration/ for guidance in upgrading models from Octofitter v6 and below.
Merged pull requests: - API Redesign for Octofitter v7 (#74) (@sefffal)
Closed issues: - Hipparcos-Gaia pma datat points are not shown in the output plots using octoplot() (#69) - Generalize RV model construction for n planets and m instruments (#71)
- Julia
Published by github-actions[bot] 8 months ago
octofitter.jl - v6.0.1
Octofitter v6.0.1
- Bug fix: ensure HGCA points appear in plot when using HGCAInstantaneousLikelihood (#69).
Thanks Jingwen for the report.
Closed issues: - [BUG]initialize! not working in tutorials (#67)
- Julia
Published by github-actions[bot] 9 months ago
octofitter.jl - v6.0.0
Octofitter v6.0.0
Octofitter Version 6
Major new version of Octofitter with new capabilities, performance and robustness improvements.
Absolute Astrometry
- Much improved support for the Hipparcos-Gaia catalog of accelerations (HGCA)
- HGCA: linear system solves used for Hipparcos and for Gaia modelling
- HGCA: known gaps in Gaia skipped
- HGCA: optional inclusion of Hipparcos residuals
- HGCA / HipparcosIAD: support for bright companions (impacts on photocentre)
Relative Astrometry
- Relative astrometry: Multi-planet epicycle approximation for relative astrometry
- Relative astrometry: Added support for astrometric jitter, and marginalization over north angle / plate scale uncertainty
- Relative astrometry: Provide instrument names for groups of data points with independent jitter/north angle/ plate scale etc and show this label in plots
Radial Velocities
- RV: Support for Celerite GP kernels
- RV: arbitrary trend function support
- RV: Multi-planet epicycle approximation for relative RVs
Multi-Planet Systems
- Epicycle approximation now used where appropriate. Thanks @blakelyd !
- Dynamical priors:
NonCrossingPrior,PlanetOrderPrior,LimitClosestApproachAUPrior, Thanks @blakelyd!
Initialization
- Overhauled MCMC initialization.
- Provide manual starting points for some/all variables
- Use global optimization for any remaining variables
- Pathfinder (with improved robustness) then used to take draws from the typical set
- Preview the pathfinder variational approximation to check your model:
init_chain = initialize!(model); octoplot(model, init_chain)
Misc.
- Improved all plot functions
- Support for discrete variables in addition to continuous (when using pigeons slice sampler)
- Improved cross-validation support
- Support for using the Dynesty nested sampler (only for sake of comparison, don't use it for real data, use Pigeons instead :) )
- Store the sampler information in chain metadata
- Improved support for high proper motion / barycentric RV stars
- Control over autodiff backend using ADTypes + DifferentiationInterface
- Improved support for Hipparcos IAD
Breaking Changes
contruct_elementsnow requires themodelas a first parameter
Merged pull requests: - CompatHelper: bump compat for Bijectors to 0.15, (keep existing compat) (#51) (@github-actions[bot]) - CompatHelper: bump compat for Makie in [weakdeps] to 0.22, (keep existing compat) (#55) (@github-actions[bot]) - CompatHelper: add new compat entry for LinearSolve at version 2, (keep existing compat) (#56) (@github-actions[bot]) - CompatHelper: add new compat entry for DifferentiationInterface at version 0.6, (keep existing compat) (#57) (@github-actions[bot]) - CompatHelper: bump compat for LinearSolve to 3, (keep existing compat) (#58) (@github-actions[bot]) - CompatHelper: bump compat for AdvancedHMC to 0.7, (keep existing compat) (#59) (@github-actions[bot])
Closed issues:
- Basic/approximate multi-body physics (#6)
- Account for barycentric time, light travel time, and spherical coordinates (#11)
- Implement higher fidelity Gaia modelling (#36)
- octoplot() ignoring flags in julia terminal (#54)
- octofitterpy demo.ipynb iteration issue (#65)
- some package dependencies not specified in Julia quickstart (#66)
- Julia
Published by github-actions[bot] 9 months ago
octofitter.jl - v5.2.1
Octofitter v5.2.1
Bug Fixes
- Fixed a major bug in
ObsPriorAstromONeil2019, an available prior transformation based on O'Neil et al. (2019).
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v5.2.0
Octofitter v5.2.0
Improved plotting
Breaking changes
- Plots: remove
planet_rvargument to octoplot. It was never documented or well supported.
New Features and Improvements
- Plots: add dark band for GP std per draw in octoplot
- Support plotting GPs in octoplot
- Plots: Improve rv octo plot to show multiple panels
- Plots: improve rvpostplot performance on large chains
- Plots: visual improvements to rvpostplot
- Improve Dynesty.jl integration
- Plots: remove grid lines in rvpostplot for cleaner look
- Plots: Centre RV phase-folded plot at zero crossing
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v5.1.0
Octofitter v5.1.0
Release notes:
New features:
- Support for rvpostplot for plotting multi-planet fits
- Optional “perspective” line for Absolute RV fits
Bug fixes:
- Plots: Use mas instead of arcsec for tight orbits, as intended
- Plots: Allow rvpostplot to work with only one datapoint
- Cross validation: Fix RV epoch subsetting
- Whereistheplanet loader: Forward catalog to search function
- Improved warning and error messages
Closed issues: - Global Main._obs error in octofitterpy (#49)
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v5.0.0
Octofitter v5.0.0
The RV Release!
Breaking changes:
* New RV API
* The RV likelihood objects much now be created separately per-instrument (no more inst_idx).
* The jitter and/or offset parameters can be given different names per likelihood object, or shared
* Can now use MarginalizedStarAbsoluteRVLikelihood to analytically marginalize over an instrument RV zero-point
* gaussian processes: GP now fit per instrument instead of globally, matching behaviour of RadVel
* Can now fit an RV trend with any arbitrary function, per instrument or globally
Other changes
* Improved performance on large datasets
* Kepler solver now multithreaded
* Threads are used automatically if Julia started with --threads=auto
* Threads are used with the HMC sampler (octofit)
* Threads are used with Pigeons, if using MPI and more than one thread is available per-worker
* Improved automatic sampler initialization substantially
* Improved RV plot, which now shows a histogram of residuals
* More control over HGCA likelihood. Can fit an instantaneous PMA, or average over arbitrary # of epochs
* Can now plot orbits in physical AU units, in addition to astrometric units (e.g arc seconds)
* Many small improvements to plots
* Pigeons integration now defaults to SliceSampler
* New cross validation functionality for testing impacts of each instrument, or each data point:
* given one model with data from N instruments, automatically generate N new models that each drop one instrument's data
Merged pull requests: - Use multi-threading in likelihood (#44) (@sefffal)
Closed issues: - Not able to retrieve planet properties (#45)
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v4.0.0
Octofitter v4.0.0
Breaking changes
- RV zero points and jitters must now be specified as array-valued distributions. E.g.
rv0 ~ MvNormal([100,100])instead ofrv0_1 ~ Normal(100); rv0_2 ~Normal(100).
New Features
- More robust, and more efficient initialization of chains
- KDE priors
- Multi dimensional / correlated priors, e.g. can sample from a spectrum using a multivariate normal list.
- Much improved Hipparcos IAD modelling
- RV Modelling can now account for perspective acceleration
- Precision Improvements: more accurate treatment of time throughout code, now suitable for very short period orbits
- Improved plots
- Support for closure phase / kernel phase modelling of GRAVITY raw data.
- Support for nested sample with Dynesty.jl (ONLY for sake of performance comparison to Pigeons, not recommended)
- Added ability to sample from x vs y positions, for single epoch observations (e.g. detection maps)
- Added ability to use Octofitter to extract classical photometry and astrometry from images
- Plotting style improvements
- Probabilistic programming language: can now interpolate global variables into the model definition using
$ - Additional error checking and robustness
- Warnings generated for type-instability in models that could cause poor performance
Merged pull requests: - CompatHelper: add new compat entry for HTTP at version 1, (keep existing compat) (#38) (@github-actions[bot]) - CompatHelper: add new compat entry for Distances at version 0.10, (keep existing compat) (#39) (@github-actions[bot]) - CompatHelper: add new compat entry for CSV at version 0.10, (keep existing compat) (#40) (@github-actions[bot])
Closed issues: - Jupiter mass definition should follow IAU standard (#34) - Issue using RV data with octofitterpy (#41)
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v3.1.0
Octofitter v3.1.0
- Fixes a regression in Pigeons by upper-bounding the version compat
- Plotting improvements (style tweaks and performance improvements)
- Use BJD instead of JD for both HARPS RV data sources
- Export KDEDist constructor for kernel density estimates
- Improve KDEDist constructor with optional upper and lower bounds
- 2-4x improvement in HGCA modelling performance
- Improvement to pathfinder-based sampler initialization (both HMC and Pigeons)
- GRAVITY-wide likelihood now works regardless of the number of spectral channels used
- Introduce experimental FixedPosition "orbit" parameterization for modelling eg image or interferometry data at a single epoch, where there is no interest in the orbit parameters
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v3.0.2
Octofitter v3.0.2
- Typo fix in corner plot (thanks @gotten)
- Display chain number while intializing with Pigeons
- Remove arbitrary limit on the number of jitter and offset terms in StarAbsoluteRVLikelihood (thanks @langfzac)
Merged pull requests: - Allow arbitrary RV jitter and offset terms (#32) (@langfzac)
Closed issues: - Number of RV instrument jitter/offset parameters (#26) - Typo in axis label OctofitterPairPlotsExt.jl (#33)
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v3.0.1
Octofitter v3.0.1
Hot fix: rename HiparcosIADLikelihood to HipparcosIADLikelihood
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v3.0.0
Octofitter v3.0.0
- Overhauled plots
- Fit relative RV between a planet and star
- Fit unbound hyperbolic orbits
- Model Hipparcos IAD directly
- Rigorous 3D propagation of high RV / proper motion stars (Thanks Eric Nielsen!)
- Compute point wise likelihoods and cross-validation scores after sampling a posterior
- Use kernel density estimates as priors
- More automatic data sources for astrometry, RV, and atmosphere models
- Import/export posteriors in Orbitize! format
- Improved tempered sampling defaults (use stabilized variational PT by default)
- Bug fixes
Merged pull requests: - CompatHelper: add new compat entry for OptimizationOptimJL at version 0.3, (keep existing compat) (#25) (@github-actions[bot]) - CompatHelper: add new compat entry for Makie in [weakdeps] at version 0.21, (keep existing compat) (#28) (@github-actions[bot]) - CompatHelper: add new compat entry for PairPlots in [weakdeps] at version 2, (keep existing compat) (#29) (@github-actions[bot])
- Julia
Published by github-actions[bot] over 1 year ago
octofitter.jl - v2.5.0
Octofitter v2.5.0
- Fixes to @system and @planet macro scoping
- Improved error messages for some kinds of model mis-specifications
- New feature: load and save basic chains in Orbitize! HDF5 format.
- New feature: load posteriors and sample data directly from whereistheplanet.com
- New feature: compute point wise likelihoods and cross-validation scores via PSIS-LOO
- Tweak to Sine() prior for numerical issues (limits are now eps() instead of zero)
- UniformCircular() priors now have a less aggressive prior on the internal vector length
- Pigeons sampler now starts from a better location upon initialization
- Change: Enzyme is no longer loaded by default, and must be imported by the user. As a result, the package load time is much faster! The default :ForwardDiff autodial backend is unchanged
- Julia
Published by github-actions[bot] almost 2 years ago
octofitter.jl - v2.4.0
Octofitter v2.4.0
- Fixes to Enzyme forward-mode autodiff
- Experimental function for calculating pointwise likelihoods given a model and posterior chain
- Fix regression in corner plots
- Julia
Published by github-actions[bot] almost 2 years ago
octofitter.jl - v2.3.1
Octofitter v2.3.1
- Julia
Published by github-actions[bot] almost 2 years ago
octofitter.jl - v2.3.0
Octofitter v2.3.0
- Automatically save the plot outputs of
octocornerusing the already-provided system name.
- Julia
Published by github-actions[bot] about 2 years ago
octofitter.jl - v2.2.0
Octofitter v2.2.0
- Add helpers for using the
thetaparameter published in the octofitter paper - Improve the corner plot output to always show the actual variable names, not just English descriptions. This can be overridden by passing a
labelsdict. - Speed up initial pathfinder solve (first phase of
octofit) by reducing optimizer relative tolerance to 1e-10 - Improve compile times for each new model fit with
octofit_pigeonsslightly
- Julia
Published by github-actions[bot] about 2 years ago
octofitter.jl - v2.0.0
Octofitter v2.0.0
Major new version of Octofitter, including the following features: * Simplified interface * Improved performance by as much as 10x * Improved RV analysis tools, and phase-folded plots * Gaussian process fitting for stellar activity * Fit interferometric observables (squared visibilities and closure phases) * Automatically generate corner plots * "quick fit" mode to quickly approximate the posterior
Merged pull requests: - CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#15) (@github-actions[bot]) - CompatHelper: add new compat entry for Pathfinder at version 0.8, (keep existing compat) (#18) (@github-actions[bot]) - CompatHelper: add new compat entry for CovarianceEstimation at version 0.2, (keep existing compat) (#19) (@github-actions[bot]) - CompatHelper: add new compat entry for Transducers at version 0.4, (keep existing compat) (#20) (@github-actions[bot])
- Julia
Published by github-actions[bot] about 2 years ago
octofitter.jl - v1.0.1
Octofitter v1.0.1
Closed issues: - Add support for radial velocity data (#2) - Handle covariance in HGCA proper motion anomaly (#3) - Handle covariance in astrometry measurements (#4) - Handle relative astrometry properly for massive companions (#5) - When Sampling, Summary Statistics not showing (#10)
Merged pull requests: - Create LICENSE (#1) (@sefffal) - Merge progress into main for next release (#9) (@sefffal) - CompatHelper: bump compat for StatsBase to 0.34, (keep existing compat) (#12) (@github-actions[bot])
- Julia
Published by github-actions[bot] over 2 years ago