Comments (5)
@iancze and I have been chatting offline and we're hoping to work on this. Here are some open questions from Ian:
-
coordinate convention about the ascending node: is it the one receeding from the observer or approaching the observer? My personal preference is that of the visual binary field, discussed in the document I linked. It yields to a consistent right hand rule system. The choice of the exoplanet field seems to be to use the opposite convention (perhaps more common in planetary science), though this may just be from following Murray and Correia. I can defer to whatever you think makes most sense, but the inconsistencies within the exoplanet field are what drove me to write that document in the first place.
-
format of data. Usually this would be measurement of the secondary relative to the primary as separation and position angle, but maybe other people have more exotic formats. For hierarchical systems, say C orbits a tighter binary A-B, the formats I have usually seen are B relative to A and C relative to A, OR C relative to the photocenter of AB. Other types of measurements could exist.
-
properly generalizing the orbits to hierarchical systems. Perhaps you might have already solved this organizational problem with the RV orbits.
I haven't solved any of these problems and I don't have enough experience to have strong opinions (yet!).
There's an implementation of this in: https://github.com/iancze/PSOAP/blob/master/psoap/orbit_astrometry.py
@iancze: want to post your overleaf doc here too? Or some other copy of your notes?
from exoplanet.
Sure thing. Here are some notes for an internally consistent convention (following the visual binary field) that I've been using for my work: https://v2.overleaf.com/read/wszkgttktyvg
The inconsistencies I think I noted were the swapping of a negative sign in the equation for radial velocity v_r and v_z in the Murray and Correia notes, or at least, my misunderstanding of something related to that.
There are also a number of other systems I've seen that don't conform to the right-hand rule. I think we might want to stay away from those.
from exoplanet.
Just a note that I have made some progress on this on a fork of the repo, e.g., https://github.com/iancze/exoplanet/blob/master/docs/notebooks/astrometric.ipynb
I'll work on flushing out the functionality and tutorial before thinking about how to put together a proper a pull request.
from exoplanet.
Some changes to KeplerianOrbit
to include astrometry
- change
t_ref
tot_periastron
, lett0
be time of transit (time of minimum impact parameter if non-transiting). Add both to__init__
, then add logic to ensure user only specifies one at a time. - add
Omega
toKeplerianOrbit
. Tinker withrotate_vector
to include position angle rotation. -
get_consistent_inputs
needs to have logic to sort out astrometric parameters. Possible includekappa
to the__init__
values. Then modifyconsistent_inputs
to returnm_planet
values. Either computekappa
fromm_planet
OR computem_planet
fromkappa
.
from exoplanet.
After our work on this today, I think we finally have a working implementation for astrometric orbits over at https://github.com/iancze/exoplanet/blob/keplerian-astrometric/docs/notebooks/astrometric.ipynb, which converges when using the xo.PyMC3Sampler to tune.
The changes to orbits/keplerian.py
are probably ready to merge, although I should write some tests to be sure. My next step is to round out the tutorial with notes on how to do a joint RV + astrometric fit.
from exoplanet.
Related Issues (20)
- Python 3.10 support HOT 2
- Can Exoplanet/Pymc3 interact with TTVFaster? HOT 3
- xarray serialization error when using observed custom distribution HOT 11
- Issue installing on M1 Mac HOT 4
- celerite2.backprop.LinAlgError: failed to factorize or solve matrix HOT 2
- AttributeError: module 'exoplanet.distributions' has no attribute 'Angle' HOT 1
- TTV fit sampling behaves strangely for long light curves HOT 2
- AttributeError: module 'exoplanet' has no attribute 'get_dense_nuts_step' HOT 1
- Using a number of cores larger than the number of chains HOT 3
- `ImportError` (I think due to numpy dependency) HOT 3
- Tutorial Error for Trace Function
- `ImportError` On clean installation in virtual enviroment HOT 2
- Optimized MAP solution is wrong after clipping residuals
- Change a to a_over_Rsun in KeplerianOrbit HOT 2
- Support numpy >= 1.22 HOT 2
- Looking for library directory when running TESS transit fitting example
- Conflicts with current version of arviz/xarray HOT 4
- Can't seem to verify installation properly on Windows 11 HOT 4
- Installation Error: Failed to build pytensor
- Installation Issue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exoplanet.