Resources for SIAM CSE21 presentation on Schrödinger’s Code

I am giving a presentation at the SIAM (virtual) Conference on Computational Science and Engineering today in a Minisymposium on Data-Driven Analysis of Scientific Software Quality, Availability, and Development Productivity to discuss research we published in 2018 and the relevance of our findings to scientific software availability. A link to the slides from the presentation is below, along with links to additional information.


Slides (PDF)

Paper: Schroedinger’s Code: A Preliminary Study on Research Source Code Availability and Link Persistence in Astrophysics
Data and code

Other studies mentioned:
Collberg C., Proebsting T. and Warren A. M. 2014 Repeatability and Benefaction in Computer Systems Research: A Study and a Modest Proposal, Tech. Rep. TR 14-04 (http://repeatability.cs.arizona.edu/v2/RepeatabilityTR.pdf)

Howison J. and Bullard J. 2016 Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature, Journal of the Association for Information Science and Technology 67 2137

Mangul, S., Mosqueiro, T., Duong, D., Mitchell, K., Sarwal, V., Hill, B., Brito, J., Littman, R., Statz, B., Lam, A., Dayama, G., Grieneisen, L., Martin, L., Flint, J., Eskin, E., & Blekhman, R. 2018, A comprehensive analysis of the usability and archival stability of omics computational tools and resources, bioRxiv

Rewarding the effort involved

Funding
How to fund research software development
Essential Open Source Software for Science
DOE to Provide $12 Million for Research on Adapting Scientific Software to Run on Next-Generation Supercomputers

Recognition
Citations for software
FORCE11 Software Citation Principles
FORCE11 Software Citation Implementation Working Group
Software must be recognised as an important output of scholarly research

Career path
The Society of Research Software Engineering
US Research Software Engineer Association

Training

Better Scientific Software (BSSw)
SciCoder
Software Sustainability Institute
How to Professionally Develop Reusable Scientific Software—And When Not To

Changes in journal practices

In which journals should I publish my software?
Software with impact
An empirical analysis of journal policy effectiveness for computational reproducibility

Better support through technology

Tools for working with CITATION.cff files
Create a CodeMeta file
Getting a DOI for your code

January 2021 additions to the ASCL

Eighteen codes were added to the ASCL in January:

3LPT-init: Initial conditions with third-order Lagrangian perturbation for cosmological N-body simulations
apogee: Tools for APOGEE data
Avocado: Photometric classification of astronomical transients and variables with biased spectroscopic samples
BAYES-LOSVD: Bayesian framework for non-parametric extraction of the LOSVD
cFS: core Flight System

Curvit: Create light curves from UVIT data
DarpanX: X-ray reflectivity of multilayer mirrors
Eigentools: Tools for studying linear eigenvalue problems
EphemMatch: Ephemeris matching of DR25 TCEs, KOIs, and EBs for false positive identification
Mask galaxy: Machine learning pipeline for morphological segmentation of galaxies

Nigraha: Find and evaluate planet candidates from TESS light curves
Octo-Tiger: HPX parallelized 3-D hydrodynamic code for stellar mergers
ptemcee: A parallel-tempered version of emcee
pyUPMASK: Unsupervised clustering method for stellar clusters
PyXspec: Python interface to XSPEC spectral-fitting program

radiowinds: Radio Emission from Stellar Winds
stratsi: Stratified streaming instability
whereistheplanet: Predicting positions of directly imaged companions

The ASCL at the 237th meeting of the American Astronomical Society

It’s that time of year again, when astronomers’ hearts and wings turn to AAS for the winter AAS meeting. This year, however, the wings are virtual; like other conferences in this time of pandemic, the 237th meeting of the AAS is online. I’m very impressed with the online meeting space, which includes a conference center with different locations to visit, a virtual exhibit hall, an iPoster gallery, and many opportunities through Slack and thoughtfully-planned activities to enable and encourage interaction between attendees, exhibitors, and presenters, including the always great Open Mic event, a highlight of the winter meeting, on Wednesday evening.

Members of the ASCL are presenting two iPosters + (the “plus” is a short Zoom session about  the poster) and an oral presentation at this meeting.

On Monday, Siddha Mavuram, an UMD student hired to do development work for the ASCL for our NASA ADAP project, is doing an iPoster + presentation titled Come search the ASCL with our new API! I also have an iPoster + presentation on Monday called Life, the Universe and Everything… you ever wanted to know about the Astrophysics Source Code Library. Though our short talks, using our posters only as our visual aids, are on Monday, our posters are available all week.

On Tuesday, Peter Teuben is presenting results of our NASA ADAP project. Though Siddha is presenting part of the development work done for this project, Peter is sharing the overall results in his oral presentation Increasing the visibility of NASA astrophysics software through the ASCL, showing how this project has made it possible to search the ASCL and ADS for NASA software through the use of keywords and, on ADS, the doctype value software. You can see these results yourself on the ASCL and with an ADS search.

Because I very cleverly failed to realize that all the links I added to the slides for my iPoster wouldn’t work once I made those slides images (doh!), I provide a PDF of these slides for download below in which most, but alas not all, of the links work. Later this week, I’ll provide a full list of links in another post that will contain all of the resources and links the ASCL is presenting this week.

Slides for Peter’s oral presentation (PDF)

Slides for Alice’s ASCL iPoster slideshow (PDF)

December 2020 additions to the ASCL

Twenty-six codes were added to the ASCL in December:

BinaryStarSolver: Orbital elements of binary stars solver
BlackHawk: Black hole evaporation calculator
dolphin: Automated pipeline for lens modeling
DRAGraces: Reduction pipeline for GRACES spectra

EinsteinPy: General Relativity and gravitational physics problems solver
EOS: Equation of State for planetary impacts
getsf: Multi-scale, multi-wavelength sources and filaments extraction
HCGrid: Mapping non-uniform radio astronomy data onto a uniformly distributed grid

HydroCode1D: 1D finite volume code
LALSuite: LIGO Scientific Collaboration Algorithm Library Suite
LIFELINE: LIne proFiles in massivE coLliding wInd biNariEs
MADLens: Differentiable lensing simulator

Magritte: 3D radiative transfer library
MLC_ELGs: Machine Learning Classifiers for intermediate redshift Emission Line Galaxies
NSCG: NOIRLab Source Catalog Generator
Pomegranate: Probabilistic model builder

PyXel: Astronomical X-ray imaging data modeling
Robovetter: Automatic vetting of Threshold Crossing Events (TCEs)
seaborn: Statistical data visualization
sedop: Optimize discrete versions of common SEDs

Sengi: Interactive viewer for spectral outputs from stellar population synthesis models
SimCADO: Observations simulator for infrared telescopes and instruments
Skye: Excess clustering of transit times detection
SLIT: Sparse Lens Inversion Technique

SWIGLAL: Access LALSuite libraries with Python and Octave scripts
TRAN_K2: Planetary transit search

November 2020 additions to the ASCL

Thirty codes were added to the ASCL in November 2020:

ACStools: Python tools for Hubble Space Telescope Advanced Camera for Surveys data
AdaMet: Adaptive Metropolis for Bayesian analysis
ARES: Accelerated Reionization Era Simulations
CAPTURE: Interferometric pipeline for image creation from GMRT data
Clustering: Code for clustering single pulse events

CWITools: Tools for Cosmic Web Imager data
DarkBit: Dark matter constraints calculator
DarkCapPy: Dark Matter Capture and Annihilation
DDCalc: Dark matter direct detection phenomenology package
DeepShadows: Finding low-surface-brightness galaxies in survey images

DYNAMITE: DYnamics, Age and Metallicity Indicators Tracing Evolution
EvapMass: Minimum mass of planets predictor
frbcat: Fast Radio Burst CATalog querying package
GoFish: Molecular line detections in protoplanetary disks
GOTHIC : Double nuclei galaxy detector

GPCAL: Instrumental polarization calibration in VLBI data
HaloGen: Modular halo model code
HSTCosmicrays: Analyzing cosmic rays in HST calibration data
Kalkayotl: Inferring distances to stellar clusters from Gaia parallaxes
kīauhōkū: Stellar model grid interpolation

MCMCDiagnostics: Markov Chain Monte Carlo convergence diagnostics
PNICER: Extinction estimater
REBOUNDx: Adding effects in REBOUND N-body integrations
reproject: Python-based astronomical image reprojection
RRATtrap: Rotating Radio Transient identifier

Scintools: Pulsar scintillation data tools
SEDkit: Spectral energy distribution construction and analysis tools
TLC: Tidally Locked Coordinates
tlpipe: Data processing pipeline for the Tianlai experiment
wobble: Time-series spectra analyzer

October 2020 additions to the ASCL

Fifteen codes were added to the ASCL in October 2020:

Astronomaly: Flexible framework for anomaly detection in astronomy
Exo-DMC: Exoplanet Detection Map Calculator
grapus: GRavitational instability PopUlation Synthesis
GSpec: Gamma-ray Burst Monitor analyzer
LaSSI: Large-Scale Structure Information

Legolas: Large Eigensystem Generator for One-dimensional pLASmas
lenspyx: Curved-sky python lensed CMB maps simulation package
MBF: MOLSCAT 2020, BOUND, and FIELD for atomic and molecular collisions
Pix2Prof: Deep learning for textraction of useful sequential information from galaxy imagery
plancklens: Planck 2018 lensing pipeline

relxill: Reflection models of black hole accretion disks
ROGER: Automatic classification of galaxies using phase-space information
stella: Stellar flares identifier
stsynphot: synphot for HST and JWST
TACHE: TensoriAl Classification of Hydrodynamic Elements

Lightning talk at ADASS XXX: Making organizational software easier to find

The excellent ADASS XXX conference concluded yesterday. I missed meeting ADASS attendees face-to-face, but was delighted to spend time with them safely online, to learn about their projects and research, to talk about software and data, to share what the ASCL has been doing, and to meet old and new friends. The all-virtual conference was just about perfect; the technology set-up was excellent, providing opportunities to see sessions as they happened or at a later time on video, ask questions, comment on and discuss what was presented, and have one-on-one or small group video calls. The schedule was easy to keep track of, as one could subscribe to the schedule and get updates to it (mostly additions) immediately. Support was extremely responsive; an online Help Desk provided answers to queries almost immediately. There was even a conference photo!

Poster presenters were invited to record and upload a lightning talk — no more than three minutes — for their posters; two-minute lightning talks via Zoom were also arranged at the conference. The ASCL presented a poster on Making organizational software easier to find in ASCL and ADS; the hastily-put-together lightning talk presented at the conference for this poster is below.

ADASS attendee Simón Torres offered to download all the pre-recorded lightning talks and stream them during the conference, so a Poster Video Watching Party was scheduled for Wednesday afternoon. The stream was great fun to watch! It was interesting, too, to see all the different ways people presented their lightning talks.

What a great conference this was! I look forward to next year’s!

ASCL poster on NASA software project at ADASS XXX


Software is the most used instrument in astronomy, and organizations such as NASA and the Heidelberg Institute for Theoretical Physics (HITS) fund, develop, and release research software. NASA, for example, has created sites such as code.nasa.gov and software.nasa.gov to share its software with the world, but how easy is it to see what NASA has? Until recently, searching NASA’s Astrophysics Data System (ADS) for NASA’s astronomy software has not been fruitful. Through its ADAP program, NASA has funded the Astrophysics Source Code Library (ASCL ascl.net) to improve the discoverability of these codes. Adding institutional tags to ASCL entries makes it easy to find this software not only in the ASCL but also in ADS and other services that index the ASCL. This poster presentation covers the changes the ASCL has made as a result of this funding and how you can use the results of this work to better find organizational software in ASCL and ADS.

Download poster (PDF)

ASCL API poster at ADASS XXX

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 https://ascl.net/api/search/?q=%22supernova%22&fl=credit 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 https://github.com/teuben/ascl-tools/tree/master/API.

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 editor@ascl.net.

Slides (PDF)