Recent Releases of octofitter.jl

octofitter.jl - v7.0.0

Octofitter v7.0.0

Diff since v6.0.1

Breaking changes

  • Entirely new API for constructing models using new standardized @variables macro
  • 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

Diff since v6.0.0

  • 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

Diff since v5.2.1

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_elements now requires the model as 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

Diff since v5.2.0

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

Diff since v5.1.0

Improved plotting

Breaking changes

  • Plots: remove planet_rv argument 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

Diff since v5.0.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

Diff since v4.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

Diff since v3.1.0

Breaking changes

  • RV zero points and jitters must now be specified as array-valued distributions. E.g. rv0 ~ MvNormal([100,100]) instead of rv0_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

Diff since v3.0.2

  • 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

Diff since v3.0.1

  • 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

Diff since v3.0.0

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

Diff since v2.5.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

Diff since v2.4.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

Diff since v2.3.1

  • 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

Diff since v2.3.0

- Julia
Published by github-actions[bot] almost 2 years ago

octofitter.jl - v2.3.0

Octofitter v2.3.0

Diff since v2.2.0

  • Automatically save the plot outputs of octocorner using the already-provided system name.

- Julia
Published by github-actions[bot] about 2 years ago

octofitter.jl - v2.2.0

Octofitter v2.2.0

Diff since v2.1.0

  • Add helpers for using the theta parameter 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 labels dict.
  • 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_pigeons slightly

- Julia
Published by github-actions[bot] about 2 years ago

octofitter.jl - v2.1.0

Octofitter v2.1.0

Diff since v2.0.1

- Julia
Published by github-actions[bot] about 2 years ago

octofitter.jl - v2.0.1

Octofitter v2.0.1

Diff since v2.0.0

- Julia
Published by github-actions[bot] about 2 years ago

octofitter.jl - v2.0.0

Octofitter v2.0.0

Diff since v1.0.2

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.2

Octofitter v1.0.2

Diff since v1.0.1

- Julia
Published by github-actions[bot] over 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