ASCL poster on software citation at ADASS XXXII

Are others using software you’ve written in their research and citing it as you want it to be cited? If not, this poster will help! Software can be cited in different ways, some good, and some not good at all for tracking and counting citations in indexers such as ADS and Google Scholar. Generally, indexers need to match citations to resources, such as journal articles, they ingest. There are several reasons why your code might not be cited well (in a trackable/countable way). One common reason is the lack of clear and explicit instructions on a code’s download site. Most astro code sites don’t list a preferred citation method! Make it easy for people to cite your software by listing a (good! trackable!) preferred citation method where others can easily find it. Creating a standard software metadata file, such as a CITATION.cff or codemeta.json, and adding it to the root of your code repo is easy to do with the ASCL’s metadata file creation overlay (see handout below), and will help out anyone wanting to give you credit for your computational method, whether it’s a huge carefully-written and tested package, or a short quick-and-dirty-but-oh-so-useful code.


Using the Astrophysics Source Code Library: Find, cite, download, parse, study, and submit

This morning, I gave a tutorial on the ASCL at ADASS XXXII, which is being held virtually from the University of Toronto and the University of Victoria. I’ll write more extensively about ADASS later this week; it is, as always, a fabulous conference with a lot of great work, talks, software, data, discussion, posters, chats, demos, tutorials… well, a lot! It’s my favorite astro conference.

But for now, slides from the tutorial are below. Thanks to ADASS for accepting the proposal and to the participants for attending and for all the interesting (and occasionally scary!) comments and questions!

Slides (PDF)

September 2022 additions to the ASCL

Twenty codes were added to the ASCL in September, 2022:

A-SLOTH: Semi-analytical model to connect first stars and galaxies to observables
AMBER: Fast pipeline for detecting single-pulse radio transients
Cluster Toolkit: Tools for analyzing galaxy clusters
DeepMass: Cosmological map inference with deep learning
FastQSL: Quasi-separatrix Layers computation method

GaLight: 2D modeling of galaxy images
GRUMPY: Galaxy formation with RegUlator Model in Python
Herculens: Differentiable gravitational lensing
HyPhy: Hydrodynamical Physics via Deep Generative Painting
KaRMMa: Curved-sky mass map reconstruction

libTheSky: Compute positions of celestial bodies and events
PINION: Accelerating radiative transfer simulations for cosmic reionization
RAPOC: Rosseland and Planck mean opacities calculator
SCORE: Shape COnstraint REstoration
SolTrack: Compute the position of the Sun in topocentric coordinates

SpectraPy: Extract and reduce astronomical spectral data
SynPopIO: Synthetic Population of Interstellar Objects
TauREx3: Tau Retrieval for Exoplanets
URILIGHT: Time-dependent Monte-Carlo radiative-transfer
wsynphot: Synthetic photometry package using quantities

August 2022 additions to the ASCL

Twenty-five codes were added to the ASCL in August 2022:

Asymmetric Uncertainty: Handling nonstandard numerical uncertainties
BlaST: Synchrotron peak estimator for blazars
CRPropa3: Simulation framework for propagating extraterrestrial ultra-high energy particles
CubeFit: Regularized 3D fitting for spectro-imaging data
DELIGHT: Identify host galaxies of transient candidates

EstrellaNueva: Expected rates of supernova neutrinos calculator
FFD: Flare Frequency Distribution
GSSP: Grid Search in Stellar Parameters
GStokes: Magnetic field structure and line profiles calculator
HOCHUNK3D: Dust radiative transfer in 3D

J-comb: Combine high-resolution and low-resolution data
LeXInt: Leja Exponential Integrators
POIS: Python Optical Interferometry Simulation
PyNAPLE: Automated pipeline for detecting changes on the lunar surface
qrpca: QR-based Principal Components Analysis

RadioLensfit: Radio weak lensing shear measurement in the visibility domain
RJ-plots: Automated objective classification of 2D structures
Scatfit: Scattering fits of time domain radio signals (Fast Radio Bursts or pulsars)
SPAMMS: Spectroscopic PAtch Model for Massive Stars
ThermoEngine: Thermodynamic properties estimator and phase equilibrium calculator

toise: Performance estimator for high-energy neutrino detectors
TOM Toolkit: Target and Observation Manager Toolkit
uvcombine: Combine images with different resolutions
VapoRock: Modeling magma ocean atmospheres and stellar nebula
Yonder: Data denoising and reconstruction

Downloading and exploring ASCL information using our API and ADS

Did you know you can download all the ASCL’s entries? You can! If you want all accepted entries:

If you want particular fields, use an API query. This query brings up ASCL ID, title, bibcode, and when the entry was last updated.,title,bibcode,time_updated

Want only entries that list a preferred citation? This will do it:,title,bibcode,citation_method

Find more info on our API here:

If you’d like to know more about our metadata schema, please see this page: Screenshot of ADS home page with arrow pointing to ADS search box; the search box contains the search term bibstem:"ascl.soft"

You can also search ADS ( for ASCL entries by searching for bibstem:ascl.soft


Click the ADS Explore button on screen right and you can play with all kinds of info about ASCL entries, including citation metrics and concept clouds. Is there something else you’d like to see, another way you’d like ASCL entry data? Please let us know!Screenshot of ADS results page with arrow pointing to ADS Explore button

July 2022 additions to the ASCL

Thirty-five codes were added to the ASCL in July 2022:

Analysis of dipole alignment in large-scale distribution of galaxy spin directions
BANZAI: Beautiful Algorithms to Normalize Zillions of Astronomical Images
BAYGAUD: BAYesian GAUssian Decomposer
calviacat: Calibrate star photometry by catalog comparison
casa_cube: Display and analyze astronomical data cubes

ConeRot: Velocity perturbations extractor
cosmic-kite: Auto-encoding the Cosmic Microwave Background
disksurf: Measure the molecular emission surface of protoplanetary disks
DustPy: Simulation of dust evolution in protoplanetary disks
echelle: Dynamic echelle diagrams for asteroseismology

ExoCTK: Exoplanet Characterization Tool Kit
gwdet: Detectability of gravitational-wave signals from compact binary coalescences
Helios-r2: Bayesian nested-sampling retrieval code
LOTUS: 1D Non-LTE stellar parameter determination via Equivalent Width method
massmappy: Mapping dark matter on the celestial sphere

MCFOST: Radiative transfer code
MeSsI: MErging SystemS Identification
MULTIGRIS: Multicomponent probabilistic grid search
MultiModes: Efficiently analyze pulsating stars
MuSCAT2_transit_pipeline: MuSCAT2 photometry and transit analysis pipelines

ParticleGridMapper: Particle data interpolator
pdspy: MCMC tool for continuum and spectral line radiative transfer modeling
petitRADTRANS: Exoplanet spectra calculator
piXedfit: Analyze spatially resolved SEDs of galaxies
pocoMC: Preconditioned Monte Carlo method for accelerated Bayesian inference

pymcfost: pymcfost: Python interface to the MCFOST 3D radiative transfer code
pynucastro: Python interfaces to the nuclear reaction rate databases
Pyriod: Period detection and fitting routines
samsam: Scaled Adaptive Metropolis SAMpler
SolAster: ‘Sun-as-a-star’ radial velocity variations

SSHT: Fast spin spherical harmonic transforms
TESS_PRF: Display the TESS pixel response function
triple-stability: Triple-star system stability determinator
vKompth: Time-dependent Comptonization model for black-hole X-ray binaries
walter: Predictor for the number of resolved stars in a given observation from RST

June 2022 additions to the ASCL

Twenty-eight codes were added to the ASCL in June 2022:

atoMEC: Average-Atom code for Matter under Extreme Conditions
CCDLAB: FITS image viewer and data reducer
CircleCraters: Crater-counting plugin for QGIS
Craterstats2: Planetary surface dating from crater size-frequency distribution measurements

Craterstats3: Analyze and plot crater count data for planetary surface dating
CuspCore: Core formation in dark matter haloes and ultra-diffuse galaxies by outflow episodes
DustFilaments: Paint filaments to produce a thermal dust full sky map at mm frequencies
ExoJAX: Spectrum modeling of exoplanets and brown dwarfs

IFSCube: Analyze and process integral field spectroscopy data cubes
MADYS: Isochronal parameter determination for young stellar and substellar objects
MYRaf: Aperture photometry GUI for IRAF
NonnegMFPy: Nonnegative Matrix Factorization with heteroscedastic uncertainties and missing data

PyCASSO: Stellar population and emission line fits in integral field spectra
pyHIIexplorerV2: Integrated spectra of HII regions extractor
pyPipe3D: Spectroscopy analysis pipeline
pystortion: Distortion measurement support

RealSim-IFS: Realistic synthetic integral field spectrscopy of galaxies from numerical simulations
SEVN: Stellar EVolution for N-body
ShapePipe: Galaxy shape measurement pipeline
Smart: Automatic differentiation of accelerations and variational equations

smooth: Smoothing for N-body simulations
SpinSpotter: Stellar rotation periods from high-cadence photometry calculator
Spritz: General relativistic magnetohydrodynamic code
TCF: Transit Comb Filter periodogram

vortex: Helmholtz-Hodge decomposition for an AMR velocity field
Wavetrack: Arbitrary time-evolving solar object recognition and tracking
WDPhotTools: White Dwarf Photometric SED fitter and luminosity function builder
wdwarfdate: White dwarfs age calculator

May 2022 additions to the ASCL

Twenty-five codes were added to the ASCL in May 2022:

am: Microwave through submillimeter-wave propagation tool for the terrestrial atmosphere
ASOHF: Adaptive Spherical Overdensity Halo Finder
ASTROMER: Building light curves embeddings using transfomers
BANG: BAyesian decomposiotioN of Galaxies
CPNest: Parallel nested sampling

CS-ROMER: Compressed Sensing ROtation MEasure Reconstruction
EarthScatterLikelihood: Event rates and likelihoods for Dark Matter direct detection in the presence of Earth-Scattering
FAlCon-DNS: Framework of time schemes for direct numerical simulation of annular convection
FHD: Fast Holographic Deconvolution
HOPS: Haystack Observatory Postprocessing System

hyperas: Keras + Hyperopt
Hyperopt: Distributed asynchronous hyper-parameter optimization
LATTE: Lightcurve Analysis Tool for Transiting Exoplanet
ld-exosim: Simulate biases using different limb darkening laws
LiSA: LIghtweight Source finding Algorithms for analysis of HI spectral data

maelstrom: Forward modeling of pulsating stars in binaries
MM-LSD: Multi-Mask Least-Squares Deconvolution
myRadex: Radex with a twist
PMOIRED: Parametric Modeling of Optical Interferometric Data
Pryngles: PlanetaRY spaNGLES

pyICs: Initial Conditions creator for isolated galaxy formation simulations
PyWPF: Waterfall Principal Component Analysis (PCA) Folding
QSOGEN: Model quasar SEDs
simulateSearch: High-time resolution data sets simulations for radio telescopes
Zelda: Generate correlation functions and power spectra from a galaxy catalog

ROSA2022: Reproducibility and Open Science in Astronomy workshop

This week, I’m attending and speaking at the ESO-sponsored Reproducibility and Open Science in Astronomy workshop. The first day was fabulous! The workshop runs through Thursday.

My talk is Opening the computational box: software sharing and the ASCL, and the abstract and links to resources mentioned in the talk are below.

Though computational methods are widely used in many disciplines, many researchers do not share the source code they develop, making their research difficult to verify and replicate. This presentation focuses on what software users and authors can do to share codes effectively, increase research reproducibility, and meet new requirements established by funders and journals. It will also cover how the Astrophysics Source Code Library (ASCL) improves the transparency of science by registering research code, its efforts to increase software findability, and how astronomers can get credit for their codes and better support the research record.

Slides (PDF)


Journal of Open Source Software (JORS)

Astronomy and Computing (A&C)


Journal of Open Source Software (JOSS)

Computing and Software for Big Science

Research Notes of the AAS

Change leaders, guidelines, and tools

SciCodes/Nine Best Practices for Software Registries and Repositories

FORCE11/FORCE11 Software Citation Principles

Research Data Alliance/FAIR for Research Software (FAIR4RS) WG

CodeMeta/CodeMeta generator



FAIR principles

Social coding sites and archival services




Software Heritage



Other resources and fun links


arXiv/arXiv Next Generation


All ASCL entries in JSON

ASCL dashboard

Generating software metadata files from an ASCL entry:
codemeta.json example
CITATION.cff example

How many GitHub repos have CITATON.cff files/codemeta.json files?

April 2022 additions to the ASCL

Twenty codes were added to the ASCL in April 2022:

ADBSat: Aerodynamic Database for Satellites
Astroplotlib: Python scripts to handle astronomical images
Bayesian SZNet: Bayesian deep learning to predict redshift with uncertainty
DarkFlux: Dark Matter annihilation spectrum computer
dsigma: Galaxy-galaxy lensing Python package

FBCTrack: Fragmentation and bulk composition tracking
GADGET-4: Parallel cosmological N-body and SPH code
legacystamps: Retrieve DESI Legacy Imaging Surveys cutouts
MAYONNAISE: ADI data imaging processing pipeline
MonoTools: Planets of uncertain periods detector and modeler

ProFuse: Physical models of galaxies and their components
pySIDES: Simulated Infrared Dusty Extragalactic Sky in Python
RMNest: Bayesian approach to measuring Faraday rotation and conversion in radio signals
RSG: Redshift Search Graphs
RTS: Radio Transient Simulations

SCRIPT: Semi-numerical Code for ReIonization with PhoTon-conservation
SimAb: Planet formation model
SpECTRE: Multi-scale, multi-physics problem solver
TESS-Localize: Localize variable star signatures in TESS Photometry
TG: Turbulence Generator