Astrophysics Source Code Library

Making codes discoverable since 1999

Welcome to the ASCL

The Astrophysics Source Code Library (ASCL) is a free online registry for source codes of interest to astronomers and astrophysicists and lists codes that have been used in research that has appeared in, or been submitted to, peer-reviewed publications. The ASCL is indexed by the SAO/NASA Astrophysics Data System (ADS) and is citable by using the unique ascl ID assigned to each code. The ascl ID can be used to link to the code entry by prefacing the number with (i.e.,

Most Recently Added Codes

2017 Mar 28

[ascl:1703.003] Corrfunc: Blazing fast correlation functions on the CPU

Corrfunc is a suite of high-performance clustering routines. The code can compute a variety of spatial correlation functions on Cartesian geometry as well Landy-Szalay calculations for spatial and angular correlation functions on a spherical geometry and is useful for, for example, exploring the galaxy-halo connection. The code is written in C and can be used on the command-line, through the supplied python extensions, or the C API.

[ascl:1703.002] COCOA: Simulating Observations of Star Cluster Simulations

COCOA (Cluster simulatiOn Comparison with ObservAtions) creates idealized mock photometric observations using results from numerical simulations of star cluster evolution. COCOA is able to present the output of realistic numerical simulations of star clusters carried out using Monte Carlo or N-body codes in a way that is useful for direct comparison with photometric observations. The code can simulate optical observations from simulation snapshots in which positions and magnitudes of objects are known. The parameters for simulating the observations can be adjusted to mimic telescopes of various sizes. COCOA also has a photometry pipeline that can use standalone versions of DAOPHOT (ascl:1104.011) and ALLSTAR to produce photometric catalogs for all observed stars.

[ascl:1703.001] Larch: X-ray Analysis for Synchrotron Applications using Python

Larch is an open-source library and toolkit written in Python for processing and analyzing X-ray spectroscopic data. The primary emphasis is on X-ray spectroscopic and scattering data collected at modern synchrotron sources. Larch provides a wide selection of general-purpose processing, analysis, and visualization tools for processing X-ray data; its related target application areas include X-ray absorption fine structure (XAFS), micro-X-ray fluorescence (XRF) maps, quantitative X-ray fluorescence, X-ray absorption near edge spectroscopy (XANES), and X-ray standing waves and surface scattering. Larch provides a complete set of XAFS Analysis tools and has support for visualizing and analyzing XRF maps and spectra, and additional tools for X-ray spectral analysis, data handling, and general-purpose data modeling.

2017 Mar 26

[submitted] Quickclump: Identify clumps within a 3D FITS datacube.

Quickclump finds clumps in a 3D FITS datacube. It is a fast, accurate, and automated tool written in Python. Quickclump is primarily intended for decomposing observations of interstellar clouds into individual clumps, but it can be as well used for finding clumps in any 3D rectangular data.

2017 Mar 21

[submitted] KSTAT

Code for calculating the 2 and 3-point correlation functions in discreet point data.
These include the two-point correlation function in 2 and 3-dimensions, the
anisotripic 2PCF decomposed in either sigma-pi or Kazin's dist. mu projection.

The 3-point correlation function can also work in anisotropic coordinates (currently under development). The code is based on kd-tree structures and is parallelized using a mixture of MPI and OpenMP.

I created these codes as I have found it difficult in the past find similar ones
freely available in the public domain. I hope to keep developing them, so please
send me bug fixes,suggestions, comments/criticisms to

[submitted] INTRAT: INTensity RATios calculator for hydrogenic recombination lines

The Fortran program INTRAT computes INTensity RATios of hydrogenic recombination lines for specified transitions at temperatures and densities. It utilizes the linear or logarithmic interpolation over temperatures and densities to calculate line emissivities and total recombination coefficients for cases A and B of all hydrogenic ions through oxygen.

2017 Mar 14

[submitted] QtClassify

QtClassify is a GUI that helps classify emission lines found in integral field spectroscopic data. The main idea is to take each detected line and guess what line it could be (and thus the redshift of the object). You would expect to see other lines that might not have been detected but are visible in the cube if you know where to look, which is why parts of the spectrum are shown where other lines are expected. In addition to that, monochromatic layers of the datacube are displayed, making it easy to spot additional emission lines. As input you need a datacube as well as a catalogue with emission lines and a signal-to-noise cube.

2017 Feb 28

[ascl:1702.012] GRIM: General Relativistic Implicit Magnetohydrodynamics

GRIM (General Relativistic Implicit Magnetohydrodynamics) evolves a covariant extended magnetohydrodynamics model derived by treating non-ideal effects as a perturbation of ideal magnetohydrodynamics. Non-ideal effects are modeled through heat conduction along magnetic field lines and a difference between the pressure parallel and perpendicular to the field lines. The model relies on an effective collisionality in the disc from wave-particle scattering and velocity-space (mirror and firehose) instabilities. GRIM, which runs on CPUs as well as on GPUs, combines time evolution and primitive variable inversion needed for conservative schemes into a single step using only the residuals of the governing equations as inputs. This enables the code to be physics agnostic as well as flexible regarding time-stepping schemes.

[ascl:1702.011] Chempy: A flexible chemical evolution model for abundance fitting

Chempy models Galactic chemical evolution (GCE); it is a parametrized open one-zone model within a Bayesian framework. A Chempy model is specified by a set of 5-10 parameters that describe the effective galaxy evolution along with the stellar and star-formation physics: e.g. the star-formation history (SFH), the feedback efficiency, the stellar initial mass function (IMF) and the incidence of supernova of type Ia (SN Ia). Chempy can sample the posterior probability distribution in the full model parameter space and test data-model matches for different nucleosynthetic yield sets, performing essentially as a chemical evolution fitting tool. Chempy can be used to confront predictions from stellar nucleosynthesis with complex abundance data sets and to refine the physical processes governing the chemical evolution of stellar systems.

2017 Feb 27

[ascl:1702.010] streamgap-pepper: Effects of peppering streams with many small impacts

streamgap-pepper computes the effect of subhalo fly-bys on cold tidal streams based on the action-angle representation of streams. A line-of-parallel-angle approach is used to calculate the perturbed distribution function of a given stream segment by undoing the effect of all impacts. This approach allows one to compute the perturbed stream density and track in any coordinate system in minutes for realizations of the subhalo distribution down to 10^5 Msun, accounting for the stream's internal dispersion and overlapping impacts. This code uses galpy (ascl:1411.008) and the galpy extension, which implements the fast calculation of the perturbed stream structure.