Category Archives: codes

(per apparent established practice)

I’ve set a goal of bringing the number of entries missing preferred citation information to under 1000, though that might be just beyond possible. When I started this process, there were 1284 entries without a preferred citation; I’ve examined the software sites and documentation of 150+ of these codes so far and have found explicit citation information for just over 14% of these.

In general, we include a preferred citation in an ASCL record when a code’s site or documentation explicitly states what should be cited (“cite [code] with this [ASCL entry/article/DOI/etc.]”). We don’t assume a paper listed under “References” or “Articles” is intended to be for citation, though that may be the intent of some authors listing them, as some list these papers because a code is built upon others’ work, or these papers include research that used the software.

In some cases, a particular software has no citations to the ASCL record and numerous citations (> 25, let’s say) to a code description paper even though the download site or repo does not specify how the software should be cited. Allowing this “apparent established practice” of citation to substitute for an explicit statement and listing the description paper as the preferred citation seems fair to me, and valuable to those who want to do the right thing by citing a software package but don’t find guidance for how to do so on the code’s site.

We very much prefer that authors provide explicit information on their preferred citation for their programming work, but where they don’t, and where there is an apparent established practice of citation, we will now list that citation method as the preferred citation in the ASCL entry. So far, this inferred information has been added to 15 ASCL entries.
Partial screenshot showing location of link to suggest a change or addition to an ASCL entry

Do you want to discuss different software citation methods before selecting a preferred method? Did I get your software’s preferred citation wrong or miss it entirely? If so, please let me know via email or the Suggest a change link at the bottom of your code’s ASCL entry.

Codes past, still present (updated 8/21/2019)

At lunch yesterday, I was asked in what year the earliest code ASCL has was written (or was first created). I didn’t know off the top of my head, but thought probably in late 70s. (The earliest I ever pursued was from the 60s, IIRC, & though I found an working email address for the woman who wrote it, which was amazing in itself, she no longer had the code, alas.)

But the question got me to wondering, so in a quick look, here’s what I found: three codes that were initially created in 1978:

Cloudy (ascl:9910.001)
AIPS (ascl:9911.003)
ADIPLS (ascl:1109.002)

All of these have undergone further development and are still in use, as indicated by citations to them in papers published this year.

Are these the most long-lived codes we have? Are there codes that were started even before 1978 that are still in use? Probably. Maybe part of the Starlink (ascl:1110.012) code base? Something else?

If you know of one or can find one in the ASCL with a history that goes back further than 1978, please let us know in the replies.


UPDATE, August 21, 2019


Screenshot of tweet about the STARS code and its origins in the early 1970sYes! There is one code that goes back even further, to 1972. Warrick Ball (@warrickball), a postdoc at the University of Birmingham (U.K.), replied on Twitter that the stellar evolution code STARS (ascl:1107.008) got its start in 1971, and the 1972 article which describes the code is listed in the ASCL entry for it. The code is still in use and was cited earlier this year. There’ll be dark chocolate heading Dr. Ball’s way as soon as the weather cools off; kudos to him for finding the answer to this question!

July additions to the ASCL

Thirty-two codes were added to the ASCL in July 2019:

Astro-SCRAPPY: Speedy Cosmic Ray Annihilation Package in Python
astrodendro: Astronomical data dendrogram creator
beamconv: Cosmic microwave background detector data simulator
CMDPT: Color Magnitude Diagrams Plot Tool
Dewarp: Distortion removal and on-sky orientation solution for LBTI detectors

GaussPy: Python implementation of the Autonomous Gaussian Decomposition algorithm
GaussPy+: Gaussian decomposition package for emission line spectra
GIST: Galaxy IFU Spectroscopy Tool
healvis: Radio interferometric visibility simulator based on HEALpix maps
intensitypower: Spectrum multipoles modeler

MCRGNet: Morphological Classification of Radio Galaxy Network
MGB: Interactive spectral classification code
molly: 1D astronomical spectra analyzer
OMNICAL: Redundant calibration code for low frequency radio interferometers
Plonk: Smoothed particle hydrodynamics data analysis and visualization

POCS: PANOPTES Observatory Control System
PRISM: Probabilistic Regression Instrument for Simulating Models
pyGTC: Parameter covariance plots
pyuvdata: Pythonic interface to interferometric data sets
REVOLVER: REal-space VOid Locations from suVEy Reconstruction

ROHSA: Separation of diffuse sources in hyper-spectral data
RVSpecFit: Radial velocity and stellar atmospheric parameter fitting
SARA-PPD: Preconditioned primal-dual algorithm for radio-interferometric imaging
sbpy: Small-body planetary astronomy
schwimmbad: Parallel processing pools interface

Skyfield: High precision research-grade positions for planets and Earth satellites generator
SPAM: Hu-Sawicki f(R) gravity imprints search
StePar: Inferring stellar atmospheric parameters using the EW method
TurbuStat: Turbulence statistics in spectral-line data cubes
Wōtan: Stellar detrending methods

XDF-GAN: Mock astronomical survey generator
ZChecker: Zwicky Transient Facility moving target checker for short object lists

Who writes the codes that make our research sing?

Pie chart showing 66% of consolidated citations of ASCL codes are to codes with 1-3 authors; team-developed codes account for 7% of consolidated citationsWe were asked recently how many of our entries were attributed to one, two, or three authors. Would you guess that over a third of the codes in the ASCL — 35% — have only one author? Codes with 1-3 authors attributed, what we dubbed “short author list” codes, account for 68% of our entries. We ended up writing a short paper, published by Research Notes of the AAS (RNAAS), about authorship and citation numbers for team and short author list codes. It was a quick look and we hope to look more deeply into this; if you’d like to do the same, you can download our public data in JSON and find the code that we used for consolidating citations on GitHub.

June 2019 additions to the ASCL

Twenty-two codes were added to the ASCL in June 2019:

Astroalign: Asterism-matching alignment of astronomical images
Blimpy: Breakthrough Listen I/O Methods for Python
centerRadon: Center determination code in stellar images
FREDDA: A fast, real-time engine for de-dispersing amplitudes
GPUVMEM: Maximum Entropy Method (MEM) GPU algorithm for radio astronomical image synthesis

Kalman: Forecasts and interpolations for ALMA calibrator variability
limb-darkening: Limb-darkening coefficients generator
Lizard: An extensible Cyclomatic Complexity Analyzer
LIZARD: Particle initial conditions for cosmological simulations
mcfit: Multiplicatively Convolutional Fast Integral Transforms

MEGAlib: Medium Energy Gamma-ray Astronomy library
MORPHEUS: A 3D Eulerian Godunov MPI-OpenMP hydrodynamics code with multiple grid geometries
Morpheus: Pixel-level analysis of astronomical image data
OIT: Nonconvex optimization approach to optical-interferometric imaging
PandExo: Instrument simulations for exoplanet observation planning

PlasmaPy: Core Python package for plasma physics
PyA: Python astronomy-related packages
pyLIMA: Microlensing modeling package
PyMORESANE: Python MOdel REconstruction by Synthesis-ANalysis Estimators
T-RECS: Tiered Radio Extragalactic Continuum Simulation

The Exo-Striker: Transit and radial velocity interactive fitting tool for orbital analysis and N-body simulations
turboSETI: Python-based SETI search algorithm

May 2019 additions to the ASCL

Twenty-seven codes were added to the ASCL in May, 2019:

Astrocut: Tools for creating cutouts of TESS images
Bandmerge: Merge data from different wavebands
beamModelTester: Model evaluation for fixed antenna phased array radio telescopes
Binospec: Data reduction pipeline for the Binospec imaging spectrograph
CASI-2D: Convolutional Approach to Shell Identification – 2D

ClusterPyXT: Galaxy cluster pipeline for X-ray temperature maps
evolstate: Assign simple evolutionary states to stars
FastPM: Scaling N-body Particle Mesh solver
Fermitools: Fermi Science Tools
Fitsverify: FITS file format-verification tool

Grizli: Grism redshift and line analysis software
HAOS-DIPER: HAO Spectral Diagnostic Package For Emitted Radiation
LensCNN: Gravitational lens detector
LensQuEst: CMB Lensing QUadratic Estimator
MMIRS-DRP: MMIRS Data Reduction Pipeline

NAPLES: Numerical Analysis of PLanetary EncounterS
ODEPACK: Ordinary differential equation solver library
PICASO: Planetary Intensity Code for Atmospheric Scattering Observations
Prospector: Stellar Population inference from spectra and SEDs
Py4CAtS: PYthon for Computational ATmospheric Spectroscopy

PyPDR: Chemistry, thermal balance, and molecular excitation code
Q3C: A PostgreSQL package for spatial queries and cross-matches of large astronomical catalogs
rPICARD: Radboud PIpeline for the Calibration of high Angular Resolution Data
SEDPY: Modules for storing and operating on astronomical source spectral energy distribution
SICON: Stokes Inversion based on COnvolutional Neural networks

SPARK: K-band Multi Object Spectrograph data reduction
THALASSA: Orbit propagator for near-Earth and cislunar space

April 2019 additions to the ASCL

Thirty codes were added to the ASCL in April, 2019:

AutoBayes: Automatic design of customized analysis algorithms and programs
CausticFrog: 1D Lagrangian Simulation Package
CDAWeb: Coordinated Data Analysis Web
CGS: Collisionless Galactic Simulator
CLEAR: CANDELS Ly-alpha Emission at Reionization processing pipeline and library

covdisc: Disconnected covariance of 2-point functions in large-scale structure of the Universe
deproject: Deprojection of two-dimensional annular X-ray spectra
dfitspy: A dfits/fitsort implementation in Python
digest2: NEO binary classifier
ehtim: Imaging, analysis, and simulation software for radio interferometry

EightBitTransit: Calculate light curves from pixel grids
eleanor: Extracted and systematics-corrected light curves for TESS-observed stars
FortesFit: Flexible spectral energy distribution modelling with a Bayesian backbone
GALAXY: N-body simulation software for isolated, collisionless stellar systems
JVarStar: Variable Star Analysis Library

nbodykit: Massively parallel, large-scale structure toolkit
nudec_BSM: Neutrino Decoupling Beyond the Standard Model
OoT: Out-of-Transit Light Curve Generator
Properimage: Image coaddition and subtraction
pyRSD: Accurate predictions for the clustering of galaxies in redshift-space in Python

rate: Reliable Analytic Thermochemical Equilibrium
repack: Repack and compress line-transition data
SARAH: SUSY and non-SUSY model builder and analyzer
SBGAT: Small Bodies Geophysical Analysis Tool
simuTrans: Gravity-darkened exoplanet transit simulator

SMILI: Sparse Modeling Imaging Library for Interferometry
Specstack: A simple spectral stacking tool
sxrbg: ROSAT X-Ray Background Tool
TP2VIS: Total Power Map to Visibilities
Vevacious: Global minima of one-loop effective potentials generator

February and March 2019 additions to the ASCL

Twelve codes were added to the ASCL in February, 2019:

dyPolyChord: Super fast dynamic nested sampling with PolyChord
ExPRES: Exoplanetary and Planetary Radio Emissions Simulator
GraviDy: Gravitational Dynamics
LiveData: Data reduction pipeline

LPNN: Limited Post-Newtonian N-body code for collisionless self-gravitating systems
PINT: High-precision pulsar timing analysis package
PyMF: Matched filtering techniques for astronomical images
Radynversion: Solar atmospheric properties during a solar flare

RPFITS: Routines for reading and writing RPFITS files
SNTD: Supernova Time Delays
Specutils: Spectroscopic analysis and reduction
SpecViz: 1D Spectral Visualization Tool

And sixteen codes were added to the ASCL in March, 2019:

allesfitter: Flexible star and exoplanet inference from photometry and radial velocity
AsPy: Aspherical fluctuations on the spherical collapse background
brutifus: A Python module to post-process datacubes from integral field spectrographs
DAVE: Discovery And Vetting of K2 Exoplanets

GalIMF: Galaxy-wide Initial Mass Function
Galmag: Computing realistic galactic magnetic fields
HelioPy: Heliospheric and planetary physics library
ICSF: Intensity Conserving Spectral Fitting

NFWdist: Density, distribution function, quantile function and random generation for the 3D NFW profile
NIFTy5: Numerical Information Field Theory v5
PLATON: PLanetary Atmospheric Transmission for Observer Noobs
PRF: Probabilistic Random Forest

SimSpin: Kinematic analysis of galaxy simulations
SIXTE: Simulation of X-ray Telescopes
SPICE: Observation Geometry System for Space Science Missions
SpiceyPy: Python wrapper for the NAIF C SPICE Toolkit

January 2019 additions to the ASCL

Twelve codes were added to the ASCL in January, 2019:

bettermoments: Line-of-sight velocity calculation
Bilby: Bayesian inference library
CCL: Core Cosmology Library
cFE: Core Flight Executive

eddy: Extracting Disk DYnamics
Galaxia_wrap: Galaxia wrapper for generating mock stellar surveys
OCFit: Python package for fitting of O-C diagrams
Photon: Python tool for data plotting

SEDobs: Observational spectral energy distribution simulation
ssos: Solar system objects detection pipeline
stellarWakes: Dark matter subhalo searches using stellar kinematic data
unwise_psf: PSF models for unWISE coadds

December 2018 additions to the ASCL

Eighteen codes were added to the ASCL in December 2018:

aesop: ARC Echelle Spectroscopic Observation Pipeline
AUTOSPEC: Automated Spectral Extraction Software for integral field unit data cubes
distlink: Minimum orbital intersection distance (MOID) computation library
easyaccess: SQL command line interpreter for astronomical surveys
ExoGAN: Exoplanets Generative Adversarial Network

Fermipy: Fermi-LAT data analysis package
galclassify: Stellar classifications using a galactic population synthesis model
GENGA: Gravitational ENcounters with Gpu Acceleration
GLADIS: GLobal Accretion Disk Instability Simulation
GRAND-HOD: GeneRalized ANd Differentiable Halo Occupation Distribution

Juliet: Transiting and non-transiting exoplanetary systems modelling tool
Lightkurve: Kepler and TESS time series analysis in Python
OctApps: Octave functions for continuous gravitational-wave data analysis
PFANT: Stellar spectral synthesis code
psrqpy: Python module to query the ATNF pulsar catalogue

PynPoint 0.6.0: Pipeline for processing and analysis of high-contrast imaging data
SPAMCART: Smoothed PArticle Monte CArlo Radiative Transfer
WISP: Wenger Interferometry Software Package