Octofitter is a Julia package for performing Bayesian inference against direct images of exoplanets, relative astrometry, and astrometric acceleration of the host star.
Instead of giving a nested task error and a named tuple error, check and throw an error if not all required variables are defined in the model or if there are duplicates.
The HGCA includes the covariance between parameters for each target. This should be incorporated into the PropMotionAnomHGCA likelihood function instead of treating RV and DEC proper motion as independent.
To tie photometry or direct images to radial velocity or proper motion measurements, we need to connect the brightness of a planet to mass given the age of the system.
We currently support the Sonora Bobcat cooling tracks, but we should have a library of a few other models like BT-Settl.
The first steps are:
register the tracks as a DataDep
interpolate over them on a fine grid using e.g. simpleinterpolations.jl
Write a function that goes from (age, photometry) -> mass or (age,mass) -> photometry (whichever is easier, or both) using Interpolations.jl so that autodiff continues to work.
With high astrometric precision, we can no logner assume that the light we used to measure a position left the planet at the same time as the star.
Additionally, stars with significant motion the tangent plane approximation might break down.
Both of these effects should eventually be considered in the astrometry and image modelling codes.
They could be turned out automatically for a given star at the model creation stage.
Right now we assume that the planets have no impact on the star's position.
But astrometry of planets is measured relative to the star, and the planets to affect the stars position. Massive planets can tug the star a few mas away, which is more than the uncertainty on some astrometry measurements.
We should compute the impact each planet has on the star's position and adjust the measured astrometry appropriately before computing the likelihood,
We would like to be able to support radial velocity data with the following requirements:
Multiple instruments
Instrument specific jitter
Plotting support in the analysis file (timeplot and timeplotgrid)
We can implement this by creating a new subtype of AbstractObs (types.jl) and likelihood functions (models.jl)
Users can add an rv parameter to the system to model the unperturbed radial velocity.
We would like to be able to add rv data to both the system as a whole and to planets, so we will have to write two separate likelihood functions (they can share code though).
A nice bonus feature could be a helper function to read in the GAIA RV from the HGCA catalog that is already downloaded.