Skip to main content

Barycentric Velocity correction at 1 cm/s level

Project description

# barycorrpy


[Barycorrpy]( is the Python version of Jason Eastman and Jason Wright’s IDL code [BaryCorr]( based on [Wright and Eastman (2014)]( BCPy can be used to calculate the barycentric velocity correction for a star with an accuracy well below 1 cm/s . To do this, it takes into consideration the following effects-

  1. Revolution of the Earth to consider position and velocity of the geocenter with respect to the Solar System barycenter

  2. Rotation of the Earth

  3. Precession, nutation and polar motion of the Earth, along with the above to calculate the position and velocity of the observatory with respect to the geocenter

  4. Gravitational time dilation due to objects of the Solar System

  5. Leap second offset

  6. Proper motion and systemic radial velocity of the star

  7. Parallax

  8. Shapiro delay

The installation instructions and the guide on how to run and use the code are explained in the [wiki](

It is important to note that the code does not just output a barycentric velocity which must be subtracted from the raw Radial Velocity. It outputs the net radial velocity after correcting for barycentric correction. This is because the correction involves a cross term due to the relativistic addition. Therefore include the zmeas in the input parameters.

### Leap Second Management

When converting UTC to TDB ([different time standards explained](, we need to inlcude for the leap second correction. We do not use Astropy for this correction due to the lack of an efficient mechanism to update the files when a new leap second is announced. Leap seconds are hard coded into Astropy’s ERFA routines, and thus to update for a new leap second the user would have to update Astropy and re-compile it. In this routine, we incorporate this is a stand alone file which is checked every time the code is run. Details for this can be found in the [wiki](

### JDUTC to BJDTDB converter As explained in [Eastman et al. 2010](, we also include a JDUTC to BJDTDB time converter.

We include the following corrections -

  1. Clock Correction - To correct for difference between UTC and TDB time scales.

  2. Geometric Correction - Light travel time from observatory to Solar System Barycenter.

  3. Einstein Correction - Relativistic correction since Earth is not an inertial frame.

The output of our function - utc_tdb.JDUTC_to_BJDTDB() matches the [web applet converter]( to about 0.2ms . Therefore for applications requiring higher precision it should not be used. We advocate not using the standard Astropy converter this due to the same leap second staleness issue. Therefore for cases requiring such high precision, the leap second should be checked for and be updated as is done by this code.


The instructions for installation and getting started for this package are detailed in the [wiki](

## Citation To cite using this code you can cite this paper - [RNAAS](

Guidelines to cite this package can be found [here](

To sign up for updates, please join the Google Group linked here -!forum/barycorrpy

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

barycorrpy-0.2.2.tar.gz (9.4 MB view hashes)

Uploaded Source

Built Distribution

barycorrpy-0.2.2-py3-none-any.whl (10.0 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page