Engineering Academic Software at Schloss Dagstuhl

I’m at Schloss Dagstuhl – Leibniz Center for Informatics for a week-long workshop on Engineering Academic Software. Some of the questions we are tackling have been discussed elsewhere, which we are taking into consideration as we talk about them here, and new questions were not only part of the seminar’s original description, but are arising throughout the general and break-out sessions. I would say we’re at the end of the first day but it continues on though it is past 10 PM, with a planned open and vibrant discussion on dogmas past and present. First up for discussion tonight was Agile project management; how do you feel about it? Is this a dogma that needs to be shot or embraced?

The hashtag to follow on Twitter is #dagstuhleas for the full-group discussions; the breakout sessions so far have been too intense for tweeting!

April and May 2016 additions to the ASCL

Twenty-eight codes were added to the ASCL in April and May 2016:

2-DUST: Dust radiative transfer code
ASTRiDE: Automated Streak Detection for Astronomical Images
BACCHUS: Brussels Automatic Stellar Parameter
CAMELOT: Cloud Archive for MEtadata, Library and Online Toolkit
CCSNMultivar: Core-Collapse Supernova Gravitational Waves

cluster-lensing: Tools for calculating properties and weak lensing profiles of galaxy clusters
DISCO: 3-D moving-mesh magnetohydrodynamics package
DNest3: Diffusive Nested Sampling
DUO: Spectra of diatomic molecules
FDPS: Framework for Developing Particle Simulators

grtrans: Polarized general relativistic radiative transfer via ray tracing
Halotools: Galaxy-Halo connection models
K2SC: K2 Systematics Correction
LAMBDAR: Lambda Adaptive Multi-Band Deblending Algorithm in R
libpolycomp: Compression/decompression library

magicaxis: Pretty scientific plotting with minor-tick and log minor-tick support
MARZ: Redshifting Program
MUSCLE: MUltiscale Spherical-ColLapse Evolution
OpenMHD: Godunov-type code for ideal/resistive magnetohydrodynamics (MHD)
PDT: Photometric DeTrending Algorithm Using Machine Learning

SAND: Automated VLBI imaging and analyzing pipeline
Shadowfax: Moving mesh hydrodynamical integration code
Surprise Calculator: Estimating relative entropy and Surprise between samples
The Tractor: Probabilistic astronomical source detection and measurement
TMBIDL: Single dish radio astronomy data reduction package

TRIPPy: Python-based Trailed Source Photometry
TTVFaster: First order eccentricity transit timing variations (TTVs)
zeldovich-PLT: Zel’dovich approximation initial conditions generator

Engineering Academic Software

I’ll be heading to Schloss Dahstuhl in June for a Perspectives Workshop on Engineering Academic Software. Questions the workshop will seek to address include:

  • How is academic software different from other software? What are its most pressing dimensions of quality?
  • Is the software we use and produce in an academic context sustainable? How can we ensure that the software continues to evolve and offer value after serving its initial purpose?
  • How can we adapt software engineering methods for the unique academic context without losing quality?
  • How can we balance domain knowledge and expertise with software engineering knowledge and expertise in an academic research team?
  • Do quality aspects of academic software apply to open data as well? How can well-engineered academic software together with open data make science more reproducible?

I look forward to tackling these and other questions with the other participants, and thank Carole Goble, James Howison, Claude Kirchner, and Oscar M. Nierstrasz for organizing the workshop.

March 2016 additions to the ASCL

Eighteen codes were added to the ASCL in March, 2016:

Asfgrid: Asteroseismic parameters for a star
CORBITS: Efficient Geometric Probabilities of Multi-Transiting Exoplanetary Systems
Dedalus: Flexible framework for spectrally solving differential equations
DiskJockey: Protoplanetary disk modeling for dynamical mass derivation
ellc: Light curve model for eclipsing binary stars and transiting exoplanets

EQUIB: Atomic level populations and line emissivities calculator
ExoPriors: Accounting for observational bias of transiting exoplanets
FAST-PT: Convolution integrals in cosmological perturbation theory calculator
fibmeasure: Python/Cython module to find the center of back-illuminated optical fibers in metrology images
gPhoton: Time-tagged GALEX photon events analysis tools

HIIexplorer: Detect and extract integrated spectra of HII regions
PyGSM: Python interface to the Global Sky Model
PolRadTran: Polarized Radiative Transfer Model Distribution
ROBAST: ROOT-based ray-tracing library for cosmic-ray telescopes
SILSS: SPHERE/IRDIS Long-Slit Spectroscopy pipeline

SMARTIES: Spheroids Modelled Accurately with a Robust T-matrix Implementation for Electromagnetic Scattering
tpipe: Searching radio interferometry data for fast, dispersed transients
VIP: Vortex Image Processing pipeline for high-contrast direct imaging of exoplanets

February 2016 additions to the ASCL

Twenty-one codes were added to the ASCL in February, 2016:

Automark: Automatic marking of marked Poisson process in astronomical high-dimensional datasets
Celestial: Common astronomical conversion routines and functions
CHIP: Caltech High-res IRS Pipeline
CLOC: Cluster Luminosity Order-Statistic Code
COLAcode: COmoving Lagrangian Acceleration code

DELightcurveSimulation: Light curve simulation code
DUSTYWAVE: Linear waves in gas and dust
FilTER: Filament Trait-Evalutated Reconstruction
GANDALF: Graphical Astrophysics code for N-body Dynamics And Lagrangian Fluids
IRSFRINGE: Interactive tool for fringe removal from Spitzer IRS spectra

k2photometry: Read, reduce and detrend K2 photometry
LensTools: Weak Lensing computing tools
LIRA: LInear Regression in Astronomy
LRGS: Linear Regression by Gibbs Sampling
mbb_emcee: Modified Blackbody MCMC

NuCraft: Oscillation probabilities for atmospheric neutrinos calculator
POPPY: Physical Optics Propagation in PYthon
pyraf-dbsp: Reduction pipeline for the Palomar Double Beam Spectrograph
TailZ: Redshift distributions estimator of photometric samples of galaxies
The Cannon: Data-driven method for determining stellar parameters and abundances from stellar spectra

ZAP: Zurich Atmosphere Purge

January 2016 additions to the ASCL

Twenty-one codes were added to the ASCL in January, 2016:

BASCS: Bayesian Separation of Close Sources
CosmicPy: Interactive cosmology computations
ctools: Cherenkov Telescope Science Analysis Software
Fit Kinematic PA: Fit the global kinematic position-angle of galaxies
Hyper-Fit: Fitting routines for multidimensional data with multivariate Gaussian uncertainties

ImpactModel: Black Hole Accretion Disk Impact Model
ISO: Isochrone construction
K2fov: Field of view software for NASA’s K2 mission
LACEwING: LocAting Constituent mEmbers In Nearby Groups
LIRA: Low-counts Image Reconstruction and Analysis

MATPHOT: Stellar photometry and astrometry with discrete point spread functions
Nulike: Neutrino telescope likelihood tools
Odyssey: Ray tracing and radiative transfer in Kerr spacetime
PARAVT: Parallel Voronoi Tessellation code
ProC: Process Coordinator

QDPHOT: Quick & Dirty PHOTometry
SAGE: Semi-Analytic Galaxy Evolution
SavGolFilterCov: Savitzky Golay filter for data with error covariance
SCOUSE: Semi-automated multi-COmponent Universal Spectral-line fitting Engine
TRADES: TRAnsits and Dynamics of Exoplanetary Systems

WzBinned: Binned and uncorrelated estimates of dark energy EOS extractor

AAS 227 Poster 348.01: Making your code citable with the Astrophysics Source Code Library

Image of poster on ASCL showing how it can be used to cite software and get currently untrackable DOIs tracked in ADS

The Astrophysics Source Code Library (ASCL, ascl.net) is a free online registry of codes used in astronomy research. With nearly 1,200 codes, it is the largest indexed resource for astronomy codes in existence. Established in 1999, it offers software authors a path to citation of their research codes even without publication of a paper describing the software, and offers scientists a way to find codes used in refereed publications, thus improving the transparency of the research. Citations using ASCL IDs are accepted by major astronomy journals and if formatted properly are tracked by ADS and other indexing services. The number of citations to ASCL entries increased sharply from 110 citations in January 2014 to 456 citations in September 2015. The percentage of code entries in ASCL that were cited at least once rose from 7.5% in January 2014 to 17.4% in September 2015. The ASCL’s mid-2014 infrastructure upgrade added an easy entry submission form, more flexible browsing, search capabilities, and an RSS feeder for updates. A Changes/Additions form added this past fall lets authors submit links for papers that use their codes for addition to the ASCL entry even if those papers don’t formally cite the codes, thus increasing the transparency of that research and capturing the value of their software to the community.

Download poster (jpg)

AAS 227 Poster 247.07: Astronomy Education and the Astrophysics Source Code Library

Image of ASCL education poster

The Astrophysics Source Code Library (ASCL) is an online registry of source codes used in refereed astrophysics research. It currently lists nearly 1,200 codes and covers all aspects of computational astrophysics. How can this resource be of use to educators and to the graduate students they mentor? The ASCL serves as a discovery tool for codes that can be used for one’s own research. Graduate students can also investigate existing codes to see how common astronomical problems are approached numerically in practice, and use these codes as benchmarks for their own solutions to these problems. Further, they can deepen their knowledge of software practices and techniques through examination of others’ codes.

Download poster (jpg)

December 2015 additions to the ASCL

Twenty codes were added to the ASCL in December, 2015:

ALFA: Automated Line Fitting Algorithm
AstroBlend: Visualization package for use with Blender
Bisous model: Detecting filamentary pattern in point processes
CounterPoint: Zeeman-split absorption lines
CubeIndexer: Indexer for regions of interest in data cubes

DiffuseModel: Modeling the diffuse ultraviolet background
DRACULA: Dimensionality Reduction And Clustering for Unsupervised Learning in Astronomy
EDRS: Electronography Data Reduction System
EDRSX: Extensions to the EDRS package
ExoData: Open Exoplanet Catalogue exploration and analysis tool

FFTLog: Fast Fourier or Hankel transform
GetData: A filesystem-based, column-oriented database format for time-ordered binary data
GPC: General Polygon Clipper library
growl: Growth factor and growth rate of expanding universes
IRACpm: Distortion correction for IRAC astrometric data

Spirality: Spiral arm pitch angle measurement
TACT: The Action Computation Tool
TM: Torus Mapper
UPSILoN: AUtomated Classification of Periodic Variable Stars using MachIne LearNing
ZeldovichRecon: Halo correlation function using the Zeldovich approximation