galpy.orbit.Orbit.from_fit

classmethod Orbit.from_fit(init_vxvv, vxvv, vxvv_err=None, pot=None, radec=False, lb=False, customsky=False, lb_to_customsky=None, pmllpmbb_to_customsky=None, tintJ=10, ntintJ=1000, integrate_method='dopr54_c', ro=None, vo=None, zo=None, solarmotion=None, disp=False)[source]

Initialize an Orbit using a fit to data.

Parameters:
  • init_vxvv (numpy.ndarray) – Initial guess for the fit (same representation [e.g.,radec=True] as vxvv data, except when customsky, then init_vxvv is assumed to be ra,dec).

  • vxvv (numpy.ndarray) – [:,6] array of positions and velocities along the orbit (if not lb=True or radec=True, these need to be in natural units [/ro,/vo], cannot be Quantities).

  • vxvv_err (numpy.ndarray, optional) – [:,6] array of errors on positions and velocities along the orbit (if None, these are set to 0.01) (if not lb=True or radec=True, these need to be in natural units [/ro,/vo], cannot be Quantities).

  • pot (Potential, DissipativeForce, or list of such instances, optional) – Gravitational field to integrate orbits in.

  • radec (bool, optional) – If set, treat input as being in ICRS coordinates [ra,dec,d,mu_ra, mu_dec,vlos] in [deg,deg,kpc,mas/yr,mas/yr,km/s] (mu_ra = mu_ra * cos dec).

  • lb (bool, optional) – If set, treat input as being in Galactic coordinates (l,b,d,mu_l, mu_b, vlos) in [deg,deg,kpc,mas/yr,mas/yr,km/s) (mu_l = mu_l * cos b).

  • customsky (bool, optional) – If True, input vxvv and vxvv_err are [custom long,custom lat,d,mu_customll, mu_custombb,vlos] in [deg,deg,kpc,mas/yr,mas/yr,km/s] (mu_ll = mu_ll * cos lat) where custom longitude and custom latitude are a custom set of sky coordinates (e.g., ecliptic) and the proper motions are also expressed in these coordinates; you need to provide the functions lb_to_customsky and pmllpmbb_to_customsky to convert to the custom sky coordinates (these should have the same inputs and outputs as lb_to_radec and pmllpmbb_to_pmrapmdec); the attributes of the current Orbit are used to convert between these coordinates and Galactocentric coordinates.

  • lb_to_customsky (function, optional) – Function that converts l,b,degree=False to the custom sky coordinates (like lb_to_radec); needs to be given when customsky=True.

  • pmllpmbb_to_customsky (function, optional) – Function that converts pmll,pmbb,l,b,degree=False to proper motions in the custom sky coordinates (like pmllpmbb_to_pmrapmdec); needs to be given when customsky=True.

  • tintJ (float, optional) – Time to integrate orbits for fitting the orbit (can be Quantity).

  • ntintJ (int, optional) – Number of time-integration points.

  • integrate_method (str, optional) – Integration method to use (default: ‘dopr54_c’; see galpy.orbit.Orbit.integrate).

  • ro (float or Quantity, optional) – Distance from vantage point to Galactic center (kpc).

  • vo (float or Quantity, optional) – Circular velocity at ro (km/s; can be Quantity).

  • zo (float or Quantity, optional) – Offset toward the NGP of the Sun wrt the plane in pc; default = 20.8 pc from Bennett & Bovy 2019).

  • solarmotion (str, numpy.ndarray or Quantity, optional) – ‘hogg’ or ‘dehnen’, or ‘schoenrich’, or value in [-U,V,W] in km/s.

  • disp (bool, optional) – Display the optimizer’s convergence message.

Returns:

An orbit that is the best fit to the given data.

Return type:

Orbit

Notes

  • 2014-06-17 - Written - Bovy (IAS)

  • 2019-05-22 - Incorporated into new Orbit class as from_fit - Bovy (UofT)