Coding Projects

As an astronomer, I spend a lot of time programming. While not all of my code is suitable for human consumption (i.e., not all is documented), below are a few of the python scripts I have written for general use. Source code for these projects is publicly available on my GitHub page under the GNU/GPL v3.

OutLines

Determines the emission, absorption, and P Cygni line profiles arising from galactic outflows under the Sobolev approximation with no self absorption. Can be used for modeling observed spectral features or for predictive purposes.

kendall

Calculates the non-parameteric correlation coefficient Kendall's tau, accounting for censoring (upper limits). Also includes assessment of effects of outliers and uncertainties on the correlation estimator by bootstrapping and Monte Carlo simulation.

LyCsurv

Predicts Lyman continuum (LyC) luminosity or escape fraction using various multivariate survival analysis techniques, accounting for upper limits on LyC in cases of non-detections. Reference data set is the set of z~0.3 galaxies from the combined Low-redshift Lyman Continuum Survey ( LzLCS; Flury et al. 2022a).

RedNeb

Derives nebular extinction from hydrogen Balmer series emission lines, accounting for temperature and density of the gas. Stellar absorption corrections are optionally included in the solution but require equivalent widths.

KaplanMeier

Calculates and evaluates non-parametric survival functions for data with censoring (lower/upper limits) to determine if a measurement is consistent with a reference population / data set.

FeldCous

Handles robust statistics of low count sources, including detection probabilities, confidence intervals, and sampling of the highly non-Gaussian probability distributions in cases where count signals are exceptionally faint.

histogram

Solves for the "true" histogram or population fraction (ratio of a subset to the total distribution) for a dataset by accounting for uncertainties in the data. Each histogram bin is therefore treated as a Poisson binomial variate.

LinRegConf

Object class which, when instantiated, performs linear least squares regression using linear algebra (LUD or SVD to solve for the inverse) for a polynomial of arbitray specified order. Incorporates uncertainty in the abscissa (response variable) if provided. Computes confidence intervals on best-fit parameters. Includes plotting method to show fit with confidence intervals of arbitrary specified percentile.