Utility Functions

radvel.utils.Msini(K, P, Mstar, e, Msini_units='earth')[source]

Calculate Msini

Calculate Msini for a given K, P, stellar mass, and e

Parameters
  • array (K (float or) – Doppler semi-amplitude [m/s]

  • P (float or array) – Orbital period [days]

  • Mstar (float or array) – Mass of star [Msun]

  • e (float or array) – eccentricity

  • Msini_units (Optional[str]) – Units of Msini {‘earth’,’jupiter’} default: ‘earth’

Returns

Msini [units = Msini_units]

Return type

float or array

radvel.utils.bintels(t, vel, err, telvec, binsize=0.5)[source]

Bin velocities by instrument

Bin RV data with bins of with binsize in the units of t. Will not bin data from different telescopes together since there may be offsets between them.

Parameters
  • t (array) – array of timestamps

  • vel (array) – array of velocities

  • err (array) – array of velocity uncertainties

  • telvec (array) – array of strings corresponding to the instrument name for each velocity

  • binsize (float) – (optional) width of bin in units of t (default=1/2.)

Returns

(bin centers, binned measurements, binned uncertainties, binned instrument codes)

Return type

tuple

radvel.utils.date2jd(date)[source]

Convert datetime object to JD”

Parameters

date (datetime.datetime) – date to convert

Returns

Julian date

Return type

float

radvel.utils.density(mass, radius, MR_units='earth')[source]

Compute density from mass and radius

Parameters
  • mass (float) – mass [MR_units]

  • radius (float) – radius [MR_units]

  • MR_units (string) – (optional) units of mass and radius. Must be ‘earth’, or ‘jupiter’ (default ‘earth’).

Returns

density in g/cc

Return type

float

radvel.utils.draw_models_from_chain(mod, chain, t, nsamples=50)[source]

Draw Models from Chain

Given an MCMC chain of parameters, draw representative parameters and synthesize models.

Parameters
  • mod (radvel.RVmodel) – RV model

  • chain (DataFrame) – pandas DataFrame with different values from MCMC chain

  • t (array) – time range over which to synthesize models

  • nsamples (int) – number of draws

Returns

2D array with the different models as different rows

Return type

array

radvel.utils.fastbin(x, y, nbins=30)[source]

Fast binning

Fast binning function for equally spaced data

Parameters
  • x (array) – independent variable

  • y (array) – dependent variable

  • nbins (int) – number of bins

Returns

(bin centers, binned measurements, binned uncertainties)

Return type

tuple

radvel.utils.geterr(vec, angular=False)[source]

Calculate median, 15.9, and 84.1 percentile values for a given vector.

Parameters
  • vec (array) – vector, usually an MCMC chain for one parameter

  • angular (bool [optioanl]) – Is this an angular parameter? if True vec should be in radians. This will perform some checks to ensure proper boundary wrapping.

Returns

50, 15.9 and 84.1 percentiles

Return type

tuple

radvel.utils.initialize_posterior(config_file, decorr=False)[source]

Initialize Posterior object

Parse a setup file and initialize the RVModel, Likelihood, Posterior and priors.

Parameters
  • config_file (string) – path to config file

  • decorr (bool) – (optional) decorrelate RVs against columns defined in the decorr_vars list

Returns

(object representation of config file, radvel.Posterior object)

Return type

tuple

radvel.utils.jd2date(jd)[source]

Convert JD to datetime.datetime object

Parameters

jd (float) – Julian date

Returns

calendar date

Return type

datetime.datetime

radvel.utils.load_module_from_file(module_name, module_path)[source]

Loads a python module from the path of the corresponding file.

Parameters
  • module_name (str) – namespace where the python module will be loaded, e.g. foo.bar

  • module_path (str) – path of the python file containing the module

Returns

A valid module object

Raises
  • ImportError – when the module can’t be loaded

  • FileNotFoundError – when module_path doesn’t exist

radvel.utils.round_sig(x, sig=2)[source]

Round by significant figures :param x: number to be rounded :type x: float :param sig: (optional) number of significant figures to retain :type sig: int

Returns

x rounded to sig significant figures

Return type

float

radvel.utils.semi_amplitude(Msini, P, Mtotal, e, Msini_units='jupiter')[source]

Compute Doppler semi-amplitude

Parameters
  • Msini (float) – mass of planet [Mjup]

  • P (float) – Orbital period [days]

  • Mtotal (float) – Mass of star + mass of planet [Msun]

  • e (float) – eccentricity

  • Msini_units (Optional[str]) – Units of Msini {‘earth’,’jupiter’} default: ‘jupiter’

Returns

Doppler semi-amplitude [m/s]

radvel.utils.semi_major_axis(P, Mtotal)[source]

Semi-major axis

Kepler’s third law

Parameters
  • P (float) – Orbital period [days]

  • Mtotal (float) – Mass [Msun]

Returns

semi-major axis in AU

Return type

float or array

radvel.utils.sigfig(med, errlow, errhigh=None)[source]

Format values with errors into an equal number of signficant figures.

Parameters
  • med (float) – median value

  • errlow (float) – lower errorbar

  • errhigh (float) – upper errorbar

Returns

(med,errlow,errhigh) rounded to the lowest number of significant figures

Return type

tuple

radvel.utils.t_to_phase(params, t, num_planet, cat=False)[source]

Time to phase

Convert JD to orbital phase

Parameters
  • params (radvel.params.RVParameters) – RV parameters object

  • t (array) – JD timestamps

  • num_planet (int) – Which planet’s ephemeris to phase fold on

  • cat (bool) – Concatenate/double the output phase array to extend from 0 to 2

Returns

orbital phase at each timestamp

Return type

array

radvel.utils.time_print(tdiff)[source]

Print time

Helper function to print time remaining in sensible units.

Parameters

tdiff (float) – time in seconds

Returns

(float time, string units)

Return type

tuple

radvel.utils.timebin(time, meas, meas_err, binsize)[source]

Bin in equal sized time bins

This routine bins a set of times, measurements, and measurement errors into time bins. All inputs and outputs should be floats or double. binsize should have the same units as the time array. (from Andrew Howard, ported to Python by BJ Fulton)

Parameters
  • time (array) – array of times

  • meas (array) – array of measurements to be comined

  • meas_err (array) – array of measurement uncertainties

  • binsize (float) – width of bins in same units as time array

Returns

(bin centers, binned measurements, binned uncertainties)

Return type

tuple

radvel.utils.working_directory(dir)[source]

Do something in a directory

Function to use with with statements.

Parameters

dir (string) – name of directory to work in

Example

>>> with workdir('/temp'):
    # do something within the /temp directory