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, including solar system astronomers, 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 Web of Science 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

2021 Mar 05

[submitted] spalipy: Detection-based astronomical image registration

spalipy performs detection-based astronomical image registration in Python. A source image is transformed to the pixel-coordinate system of a template image using their respective detections as tie-points by finding matching quads of detections.

spalipy also includes an optional additional warping of the initial affine transformation via splines to achieve accurate registration in the case of non-homogeneous coordinate transforms. This is particularly useful in the case of optically distorted or wide field-of-view images.

[submitted] A Real-Time Detection Pipeline for Transient Sources in Radio Images using Convolutional Neural Networks

In recent years, survey facilities have started to provide remarkable new opportunities for transient astronomy. This is made possible by combining unprecedented fields of view with high sensitivity in uninvestigated wavelength regimes. The result of this combination is an extremely high volume of data to be analysed. In this work, we have opened up the way to real-time automated analysis of the image data-stream. We present a fully automated GPU-based machine-learning backed pipeline for analysis of radio images at multiple frequencies. It consists of four consecutive steps: quality control, source detection, association, flux measurement and physical parameter inference. At the end of the pipeline, an alert of a significant detection can be sent out and data will be saved for further investigation.

In our current implementation, the entire pipeline analyses images from AARTFAAC (Amsterdam Astron Radio Transients Facility And Analysis Centre) with sizes upwards of 16×1024×1024 pixels. AARTFAAC is a transient detector based on the Low-Frequency Array, an interferometer based in the Netherlands with stations across Europe. First results show that dispersed signals were found on which follow-up analysis can be performed. The identification and response to transients is the key science goal for AARTFAAC, and the current work brings us one step closer to meeting it.

2021 Mar 04

[submitted] synchrofit: python-based synchrotron spectral fitting

The synchrofit (synchrotron fitter) package implements a reduced dimensionality parameterisation of standard synchrotron spectrum models, and provides fitting routines applicable for active galactic nuclei and supernova remnants. The Python code includes the Jaffe-Parola model (JP), Kardashev-Pacholczyk model (KP), and continuous injection models (CI/KGJP) for both constant or Maxwell-Boltzmann magnetic field distributions. An adaptive maximum likelihood algorithm is invoked to fit these models to multi-frequency radio observations; the adaptive mesh is customisable for either optimal precision or computational efficiency. Functions are additionally provided to plot the fitted spectral model with its confidence interval, and to derive the spectral age of the synchrotron emitting particles.

2021 Mar 03

[submitted] U.S. Naval Observatory Ephemerides of the Largest Asteroids (USNO/AE98)

USNO/AE98 contains ephemerides for fifteen of the largest asteroids that The Astronomical Almanac has used since its 2000 edition. These ephemerides are based on the Jet Propulsion Laboratory (JPL) planetary ephemeris DE405 and, thus, aligned to the International Celestial Reference System (ICRS). The data cover the period from 1799 November 16 (JD 2378450.5) through 2100 February 1 (JD 2488100.5). The internal uncertainty in the mean longitude at epoch, 1997 December 18, ranges from 0.05 arcseconds for 7 Iris through 0.22 arcseconds for 65 Cybele, and the uncertainty in the mean motion varies from 0.02 arcseconds per century for 4 Vesta to 0.14 arcseconds per century for 511 Davida.

The Astronomical Almanac has published ephemerides for 1 Ceres, 2 Pallas, 3 Juno, and 4 Vesta since its 1953 edition. Historically, these four asteroids have been observed more than any of the others. Ceres, Pallas, and Vesta deserve such attention because as they are the three most massive asteroids, the source of significant perturbations of the planets, the largest in linear size, and among the brightest main belt asteroids. Studying asteroids may provide clues to the origin and primordial composition of the solar system, data for modeling the chaotic dynamics of small solar system bodies, and assessments of potential collisions. Therefore, USNO/AE98 includes more than the traditional four asteroids.

The following criteria were used to select main belt asteroids for USNO/AE98:

Diameter greater than 300 km, presumably among the most massive asteroids
Excellent observing history and discovered before 1850
Largest in their taxonomic class
The massive asteroids included may be studied for their perturbing effects on the planets while those with detailed observing histories may be used to evaluate the accuracy limits of asteroid ephemerides. The fifteen asteroids that met at least one of these criteria are

1 Ceres (new mass determination)
2 Pallas (new mass determination)
3 Juno
4 Vesta (new mass determination)
6 Hebe
7 Iris
8 Flora
9 Metis
10 Hygiea
15 Eunomia
16 Psyche
52 Europa
65 Cybele
511 Davida
704 Interamnia
The refereed paper by Hilton (1999, Astron. J. 117, 1077) describes the USNO/AE98 asteroid ephemerides in detail. The associated USNO/AA Tech Note 1998-12 includes residual plots for all fifteen asteroids and a comparison between these ephemerides and those used in The Astronomical Almanac through 1999.

Software to compact, read, and interpolate the USNO/AE98 asteroid ephemerides is also available. It is written in C and designed to work with the C edition of the Naval Observatory Vector Astrometry Software (NOVAS). The programs could be used with tabular ephemerides of other asteroids as well. The associated README file provides the details of this system.

2021 Mar 01

[submitted] FLARE: Synthetic Fast Radio Burst Catalog Generator

FLARE, a parallel code written in Python, generates 100,000 Fast Radio Bursts (FRB) using the Monte Carlo method. The FRB population is diverse and includes sporadic FRBs, repeaters, and periodic repeaters. However, less than 200 FRBs have been detected to date, which makes understanding the FRB population difficult. To tackle this problem, FLARE uses a Monte Carlo method to generate 100,000 realistic FRBs, which can be analyzed later on for further research. It has the capability to simulate FRB distances (based on the observed FRB distance range), energies (based on the "flaring magnetar model" of FRBs), fluences, multi-wavelength counterparts (based on x-ray to radio fluence ratio of FRB 200428), and other properties. It analyzes the resulting synthetic FRB catalog and displays the distribution of their properties. It is fast (as a result of parallel code) and requires minimal human interaction. FLARE is, therefore, able to give a broad picture of the FRB population.

[submitted] hfs_fit: Atomic Emission Spectral Line Hyperfine Structure Fitting

Python codes for parameter optimisation in the analysis of emission line hyperfine structure. The code uses a simulated annealing algorithm to optimise the magnetic dipole interaction constants, electric quadrupole interaction constants, Voigt profile widths and the centre of gravity wavenumber for a given emission line profile.

[submitted] 21cmDeepLearning

Python codes to extract the underlying matter density map from a 21 cm intensity field, making use of a convolutional neural network (CNN) with the U-Net architecture. Implemented in Pytorch. The astrophysical parameters of the simulations can also be predicted with a secondary CNN. The simulations of matter density and 21 cm maps have been performed with the code 21cmFAST.

2021 Feb 28

[ascl:2102.030] GLEAM: Galaxy Line Emission and Absorption Modeling

GLEAM (Galaxy Line Emission and Absorption Modeling) fits Gaussian models to emission and absorption lines in large samples of 1D galaxy spectra. The code is tailored to work well without much human interaction on optical and infrared spectra in a wide range of instrument setups and signal-to-noise regimes. gleam will create a fits table with Gaussian line measurements, including central wavelength, width, height and amplitude, as well as estimates for the continuum under the line and the line flux, luminosity, equivalent width and velocity width. gleam will also, optionally, make plots of the spectrum with fitted lines overlaid.

[ascl:2102.029] BALRoGO: Bayesian Astrometric Likelihood Recovery of Galactic Objects

BALRoGO (Bayesian Astrometric Likelihood Recovery of Galactic Objects) handles data from the Gaia space mission. It extracts galactic objects such as globular clusters and dwarf galaxies from data contaminated by interlopers using a combination of Bayesian and non-Bayesian approaches. It fits proper motion space, surface density, and the object center. It also provides confidence regions for the color-magnitude diagram and parallaxes.

[ascl:2102.028] PyAutoFit: Classy probabilistic programming

PyAutoFit supports advanced statistical methods such as massively parallel non-linear search grid-searches, chaining together model-fits and sensitivity mapping. It is a Python-based probabilistic programming language which composes and fits models using a range of Bayesian inference libraries, such as emcee (ascl:1303.002) and dynesty (ascl:1809.013). It performs model composition and customization, outputting results, model-specific visualization and posterior analysis. Built for big-data analysis, results are output as a database which can be loaded after model-fitting is complete.