juliet icon indicating copy to clipboard operation
juliet copied to clipboard

Raise chronological period exception more often

Open radicamc opened this issue 3 years ago • 1 comments

Hi! Not an issue, but perhaps an enhancement to make fitting RV data for multi-planet systems more user-friendly. The docs specify that for multi-planet systems, the planetary periods must be in 'chronological order'. So lets say I have a two-planet system with planet b having a 10-day period and planet c a 30-day period. If I try to fit RV data for this system, fixing the periods to those 'literature' values, and choose planet c to be p1, I get the following error:

Exception: INPUT ERROR: planetary periods in the priors are not ordered in chronological order. Planet p2 has a period of 9.0 days, while planet p1 has a period of 32.939614 days (P_p2<P_p1).

which is great and self-explanatory. Instead, if I fix the period of planet c (p1) but put a prior on the period of planet b (p2) this exception is no longer raised - even when the prior constrains the period to always be shorter than 30-days (e.g. U(9,11) ). In this case, dataset.fit will run without error, but finish in one iteration and return nonsense, e.g., this printed output:

1it [00:00, 63.27it/s, +300 | bound: 0 | nc: 1 | ncall: 301 | eff(%): 100.000 | loglstar:   -inf <   -inf <    inf | logz:   -inf +/-    nan | dlogz:  0.000 >  0.309]

In situations like this, I think it would be helpful to raise the same exception as above.

radicamc avatar May 06 '21 20:05 radicamc

Hi @radicamc,

Thanks for opening this issue! I see your point, and I think you are right --- at least a warning should be raised indeed based on the support of the prior if it is disjoint with the others (including fixed periods).

Cheers, Néstor

nespinoza avatar May 06 '21 20:05 nespinoza