Author Archives: Alice Allen


Poster about ASCL API
We have developed an API for the Astrophysics Source Code Library (ASCL) that enhances the ability of users to conduct complex and automated queries on ASCL indexed codes. The API is public and allows anyone to programmatically search and filter the ASCL software database via an HTTP request. For example, the search returns a list of authors with ASCL-indexed codes involving supernovae in JSON format. We will demonstrate the API and show its use in answering a researcher’s questions regarding the growth and usage of both interpreted and compiled languages in the database, gaining a more nuanced understanding of trends in astrophysics software development. Our findings confirmed a piece of conventional wisdom: that Python is growing in market share, while low level programming languages like C and C++ remain very popular. Further documentation for the API is available at

Siddha Mavuram (UMD), Alice Allen (ASCL/UMD), Robert J. Nemiroff (MTU), Judy Schmidt (ASCL), Peter J. Teuben (UMD)

Download poster (PDF)

ADASS 2020 in the time of pandemic

Astronomical Data Analysis Software and Systems (ADASS), which was to have been in Granada, Spain this year, kicked off the fully online ADASS XXX meeting yesterday with four tutorials, as is usually done, though not quite like it was done this year. The Programming Organizing Committee and especially the Local Organizing Committee had to convert a conference that had been two years in the planning to a virtual meeting. This offered numerous challenges and learning opportunities! One challenge is that the conference is international; scheduling sessions for access to all participants couldn’t have been easy, but with the technology stack they chose, which includes the conference website, Zoom, YouTube, and Discord, and hard work, all of ADASS’s resources are available to all participants. One might have to get up early or stay up late to hear all of the talks live — the sleep-deprived author of this post awoke at 12:15 AM today to catch the opening sessions — but there are asynchronous options available, so groggy stumbling as one makes her way to the computer is a choice, not a requirement.

The ASCL has several presentations and activities this year. ASCL Chair Peter Teuben, ASCL Advisory Committee member Bruce Berriman, and I organized a Birds of a Feather (BoF) session on How to better describe software for discovery and citation today. We have organized BoFs focused on some aspect of software in the past, and, as in the past, this BoF offered a number of very short presentations and then open discussion.

The BoF session focused on software metadata, to improve how software is described and can be discovered and cited. After Teuben opened the session, Berriman presented his experience with using CiteAs to see how it suggested his software Montage be cited. CiteAs uses numerous ways to find a code’s citation method, including looking for metadata files — specific files that contain metadata for the software — on the code’s website and/or GitHub repository. Montage does not currently have a metadata file on its sites, so the citation method CiteAs suggested was not as robust as it could have been. The results of the search and its provenance are shown in the BoF’s slides, which can be downloaded at a link below.

This led nicely into my short talk on metadata files and how the ASCL can create a metadata file from an ASCL entry. The files the ASCL creates programmatically, codemeta.json and CITATION.cff, are intended to be starting points and contain placeholders for data the ASCL does not capture, but which we feel should be included in the metadata file; we encourage software authors to edit these files before they are placed on one’s code site.

Yan Grange, who had organized an earlier BoF on Best licensing practices, presented a summary of the session and the results of two of the several polls taken during that BoF.  Providing a license for your software is vitally important, as it lets others know what they can and cannot do with your software. Resources and other information from the earlier BoF are available online, and Grange’s summary slides for our software metadata BoF are included in the slides file below.

Teuben presented on several related topics: expanding or deepening a codemeta file with “API” information, the Unified Astronomy Thesaurus (UAT) and keywords, and the possibility of taking a software census at a niche science meeting. For this latter, he would like to take a well-defined field in astrophysics and have members of that community take an inventory of the software used and categorize it. He thinks a conference would be an ideal event for getting all the stakeholders together, and has identified a possible candidate conference for this activity.

The floor, if there can be a floor in a virtual meeting, was then open for comments, questions, answers and ideas, though discussion had already started in the Discord channel. One outcome of this session was that before the end of it, several participants had added metadata files to code repositories!

All slides for this session are in the PDF file below. If you would like more information about the session, please let us know in the comments section below, pinging us at ADASS if you are participating in the meeting, or by emailing me at

Slides (PDF)

September 2020 additions to the ASCL

Twenty-five codes were added to the ASCL in September 2020:

AstroVaDEr: Unsupervised clustering and synthetic image generation
Binary-Speckle: Binary or triple star parameters
CASI-3D: Convolutional Approach to Structure Identification-3D
Chrono: Multi-physics simulation engine
cosmoFns: Functions for observational cosmology

CosmoloPy: Cosmology package for Python
CRAC: Cosmology R Analysis Code
DASTCOM5: JPL small-body data browser
FLEET: Finding Luminous and Exotic Extragalactic Transients
halomod: Flexible interface for the halo model of dark matter halos

Harmonia: Hybrid-basis inference for large-scale galaxy clustering
ISPy3: Integrated-light Spectroscopy for Python3
J plots: Tool for characterizing 2D and 3D structures in the interstellar medium
JetSeT: Numerical modeling and SED fitting tool for relativistic jets
MADHAT: Gamma-ray emission analyzer

minot: Modeling framework for diffuse components in galaxy clusters
MLG: Microlensing with Gaia
MSL: Mining for Substructure Lenses
oxkat: Semi-automated imaging of MeerKAT observations
Paramo: PArticle and RAdiation MOnitor

pySpectrum: Power spectrum and bispectrum calculator
PyWST: WST and RWST for astrophysics
rcosmo: Cosmic Microwave Background data analysis
SPInS: Stellar Parameters INferred Systematically
vlt-sphere: Automatic VLT/SPHERE data reduction and analysis

August 2020 additions to the ASCL

Twenty-seven codes were added to the ASCL in August 2020:

Barry: Modular BAO fitting code
CMEchaser: Coronal Mass Ejection line-of-sight occultation detector
CVXOPT: Convex Optimization
DUCC: Distinctly Useful Code Collection

Eclaire: CUDA-based Library for Astronomical Image REduction
healpy: Python wrapper for HEALPix
HorizonGRound: Relativistic effects in ultra-large-scale clustering
iFIT: 1D surface photometry code

kinesis: Kinematic modeling of clusters
KLLR: Kernel Localized Linear Regression
Magnetizer: Computing magnetic fields of evolving galaxies
maxsmooth: Derivative constrained function fitting

MUSIC2-monofonIC: 3LPT initial condition generator
ParaMonte: Plain powerful parallel Monte Carlo library
PhaseTracer: Cosmological phases mapping
PySAP: Python Sparse data Analysis Package

ramses2hsim: RAMSES output to 3D data cube for HSIM
SEDBYS: Spectral Energy Distribution Builder for Young Stars
SOT: Spin-Orbit Tomography
sslf: A simple spectral-line finder

SuperNNova: Photometric classification
SuperRAENN: Supernova photometric classification pipeline
TDEmass: Tidal Disruption Event interpretor
TRISTAN: TRIdimensional STANford code

Ujti: Geodesics in general relativity
Umbrella: Asteroid detection, validation, and identification
zeus: Lightning Fast MCMC

July additions to the ASCL

Twenty-four codes were added to the ASCL in July 2020:

CaTffs: Calcium triplet indexes
CosmoGRaPH: Cosmological General Relativity and (Perfect fluid | Particle) Hydrodynamics
DarkHistory: Modified cosmic ionization and thermal histories calculator
FleCSPH: Parallel and distributed SPH implementation based on the FleCSI
GProtation: Measuring stellar rotation periods with Gaussian processes

hierArc: Hierarchical analysis of strong gravitational lenses
JB2008: Empirical Thermospheric Density Model
Line-Stacker: Spectral lines stacking
MAGI: Initial-condition generator for galactic N-body simulations
MPSolve: Multiprecision Polynomial SOLVEr

OSPEX: Object Spectral Executive
PARS: Paint the Atmospheres of Rotating Stars
PeTar: ParticlE Tree & particle-particle & Algorithmic Regularization code for simulating massive star clusters
polyMV: Multipolar coefficients converter
PoPE: Population Profile Estimator

PSRVoid: Statistical suite for folded pulsar data
pygwinc: Gravitational Wave Interferometer Noise Calculator
ReadPDS: Visualization tools for PDS4 data
SPARTA: SPectroscopic vARiabiliTy Analysis
SPARTA: Subhalo and PARticle Trajectory Analysis

spex_to_xspec: Convert SPEX output to XSPEC input
SPEX: Spectral Executive
TROVE: Theoretical ROVibrational Energies
wdtools: Spectroscopic analysis of white dwarfs

June additions to the ASCL

Twenty-three codes were added to the ASCL in June 2020:

2D-FFTLog: Generalized FFTLog algorithm for non-Gaussian covariance matrices
ARCHI: Add-on pipeline module for background star analysis from CHEOPS data
AstroCatR: Time series reconstruction of large-scale astronomical catalogs
AxionNS: Ray-tracing in neutron stars

CARACal: Containerized Automated Radio Astronomy Calibration pipeline
CosmoCov: Configuration space covariances for projected galaxy 2-point statistics
CosmoLike: Cosmological Likelihood analyses
deepSIP: deep learning of Supernova Ia Parameters

DeepSphere: Graph-based spherical convolutional neural network for cosmology
FAMED: Extraction and mode identification of oscillation frequencies for solar-like pulsators
GenetIC: Initial conditions generator for cosmological simulations
HEARSAY: Simulations for the probability of alien contact

JoXSZ: Joint X-ray and SZ fitting for galaxy clusters in Python
KinMS: Three-dimensional kinematic modelling of arbitrary gas distributions
MCSED: Spectral energy distribution fitting package for galactic systems
Powderday: Dust radiative transfer package

PRIISM: Python module for Radio Interferometry Imaging with Sparse Modeling
PRISim: Precision Radio Interferometer Simulator
pxf_kin_err: Radial velocity and velocity dispersion uncertainties estimator
PyPopStar: Single-age, single-metallicity populations generator

SERVAL: SpEctrum Radial Velocity AnaLyser
TATOO : Tidal-chronology Age TOOl
TATTER: Two-sAmple TesT EstimatoR

April and May additions to the ASCL

Sixteen codes were added to the ASCL in April 2020:

ArviZ: Exploratory analysis of Bayesian models
ASTRAEUS: Semi-analytical semi-numerical galaxy evolution and reionization code
Finesse: Frequency domain INterfErometer Simulation SoftwarE
FUNDPAR: Deriving FUNDamental PARameters from equivalent widths

IllinoisGRMHD: GRMHD code for dynamical spacetimes
IRDAP: SPHERE-IRDIS polarimetric data reduction pipeline
kombine: Kernel-density-based parallel ensemble sampler
Locus: Optimized differential photometry

PPMAP: Column density mapping with extra dimensions
PRECISION: Astronomical infrared observations data reduction
PyCosmo: Multi-purpose cosmology calculation tool
PyKat: Python interface and tools for Finesse

PyWD2015: Wilson-Devinney code GUI
stardate: Measure precise stellar ages
Tangra: Software for video photometry and astrometry
WD: Wilson-Devinney binary star modeling

And twenty codes were added in May 2020:

2DBAT: 2D Bayesian Automated Tilted-ring fitter
AMPEL: Alert Management, Photometry, and Evaluation of Light curves
Carpyncho: VVV Catalog browser toolkit
cdetools: Tools for Conditional Density Estimates

FETCH: Fast Extragalactic Transient Candidate Hunter
FFANCY: Fast Folding Algorithm for pulsar searching
gotetra: Cosmic velocity fields tracking through the use of tetrahedra
HiFLEx: Echelle data reduction pipeline

HIPSTER: HIgh-k Power Spectrum EstimatoR
MCRaT: Monte Carlo Radiation Transfer
michi2: SED and SLED fitting tool
NNKCDE: Nearest Neighbor Kernel Conditional Density Estimation

qubefit: MCMC kinematic modeling
RAPP: Robust Automated Photometry Pipeline
REDFIT: Red-noise spectra directly from unevenly spaced time series
RFCDE: Random Forests for Conditional Density Estimation

RID: Relativistic Image Doubling in water Cherenkov detectors
RM-Tools: Rotation measure (RM) synthesis and Stokes QU-fitting
RoLo: Calculate radius and potential of the Roche Lobe
s3PCF: Compute the 3-point correlation function in the squeezed limit

March additions to the ASCL

Fourteen codes were added to the ASCL in March 2020; I’d hoped to process more entries, but well, you know… circumstances. I hope to do better in April.

acorns: Agglomerative Clustering for ORganising Nested Structures
AstroHOG: Analysis correlations using the Histograms of Oriented Gradients
CoastGuard: Automated timing data reduction pipeline
HOMER: MCMC-based inverse modeling code
MAGNETAR: Histogram of relative orientation calculator for MHD observations

MARGE: Machine learning Algorithm for Radiative transfer of Generated Exoplanets
PORTAL: POlarized Radiative Transfer Adapted to Lines
PYSOLATOR: Remove the orbital modulation from a binary pulsar and/or its companion
RAPID: Real-time Automated Photometric IDentification
RHT: Rolling Hough Transform

scousepy: Semi-automated multi-COmponent Universal Spectral-line fitting Engine
TESS-Point: High precision TESS pointing tool
TOASTER: Times-Of-Arrival Tracker
Torch: Coupled gas and N-body dynamics simulator

Stay safe, stay home, stay well.

February additions to the ASCL

Twenty-two codes were added to the ASCL in February 2020:

Apercal: Pipeline for the Westerbork Synthesis Radio Telescope Apertif upgrade
Bayesfit: Command-line program for combining Tempo2 and MultiNest components
Cobra: Bayesian pulsar searching
CR-SISTEM: Symplectic integrator for lunar core-mantle and orbital dynamics
DASH: Deep Automated Supernova and Host classifier

DISKMODs: Accretion Disk Radial Structure Models
DMRadon: Radon Transform calculation tools
ExoCAM: Exoplanet Community Atmospheric Model
ExoRT: Two-stream radiative transfer code
ExoSim: Simulator for predicting signal and noise in transit spectroscopy observations

GizmoAnalysis: Read and analyze Gizmo simulations
GWecc: Calculator for pulsar timing array signals due to eccentric supermassive binaries
HaloAnalysis: Read and analyze halo catalogs and merger trees
libstempo: Python wrapper for Tempo2
ODUSSEAS: Observing Dwarfs Using Stellar Spectroscopic Energy-Absorption Shapes

ORIGIN: detectiOn and extRactIon of Galaxy emIssion liNes
ProSpect: Spectral generation package
PyHammer: Python spectral typing suite
RASCAS: Resonant line transfer in AMR simulations
ScamPy: Sub-halo Clustering and Abundance Matching Python interface

SDAR: Slow-Down Algorithmic Regularization code for solving few-body problems
triceratops: Candidate exoplanet rating tool

January additions to the ASCL

Fifteen codes were added to the ASCL in January 2020:

BTS: Behind The Spectrum
CosMOPED: Compressed Planck likelihood
DebrisDiskFM: Debris Disk Forward Modeling
ExoTETHyS: Exoplanetary transits and eclipsing binaries modeler
FAKEOBS: Model visibilities generator

FragMent: Fragmentation techniques for studying filaments
gnm: The MCMC Jagger
MCMCI: Markov Chain Monte Carlo + Isochrones method for characterizing exoplanetary systems
Min-CaLM: Mineral compositional analysis on debris disk spectra
ORCS: Analysis engine for SITELLE spectral cubes

Peasoup: C++/CUDA GPU pulsar searching library
Protostellar Evolution: Stellar evolution simulator
RPPPS: Re-analyzing Pipeline for Parkes Pulsar Survey
sf3dmodels: Star-forming regions 3D modelling package
TRANSPHERE: 1-D spherical continuum radiative transfer