WE20210424: This week in the ASCL

What, do you suppose, are the chances of getting a code that was used in a paper published in 1990? Especially when that 1990 article is, so far as I could tell, the only one that mentions this code by name? I had the opportunity to ponder these questions while working on our NASA ADAP project this past week, when I searched for research that used a code called PFITS that is listed in code.nasa.gov.

In searching the ever-wonderful ADS, I found there are numerous unrelated codes called PFITS; one of these was used in a 1990 paper. And this is what made these questions about a code used 31 years ago come to mind. A long shot, right? But since the magical Google made it easy for me to find the author’s email address (the first hit!), and even though this wasn’t the code I’d been researching, I sent off a quick missive: “I know this is a long shot, but I write to ask if you know whether PFITS is still available somewhere (anywhere!) or who else I might ask about this program.”

The author, Andrew McWilliam, wrote back within the hour (!), saying that it was possible that he had the code (!!) and would check(!!!), this after saying that he’d thrown away most of his old magnetic tapes, but kept a couple as souvenirs, and had even copied one or more of the mag tapes to disk. I was astonished, and, later that same day, was even more astonished when I received a tar file of the code! This totally made my day; I sat at my desk chortling, laughing, just flat-out amazed. Andrew included some history, and noted that he transferred this Fortran code from mag tape to disk on September 5, 2000.

So I almost didn’t even care what else happened with the ASCL this past week, because nothing could possibly compete with Andy’s kindness and swiftness in looking for PFITS and the coolness, the astonishment, of getting that code! Thank you, Dr. McWilliam!!!

But still, we did do some other things this week. Our staged (unpublished) entries grew by three and five code entries were published (two of these submitted by their authors). Another code was submitted by an author; we await some additional information on it. Eight random daily code posts (for Facebook and Twitter) were scheduled out through May 1, and 24 entries were curated and updated. In SciCodes news, a few members of the consortium got together on Friday for a writing sprint, and in the middle of that, I took ten minutes for a quick meeting with Malin Sandström from INCF. I’m attending some of the INCF Neuroinformatics Assembly, which started last week and continues this coming week. This Monday, I’ll be in Session 11: Towards neuroscience-centered selection criteria for data repositories and scientific gateways, backing up Tom Morrell as he presents on “Developing the best practices for research software registries and repositories.” I’ll also continue work on closing out our ADAP project.

WE20210417: This week in the ASCL

Late with this entry; wiped out by my second Pfizer shot, which I got on Friday. Glad (so very very glad!) to have it, even with the week’s worth of sleep (I might be exaggerating) needed after it.

Three new codes were added to our staged (unpublished) entries and one code was submitted by an author this past week. Twelve existing entries were edited, and as always, numerous emails were sent regarding site links that are not working. I spent time during the week on SciCodes work, as our monthly meetings were this past Thursday, and will continue with that this week in addition to putting in the final work on our NASA ADAP project.

WE20210410: This week in the ASCL

We curate ASCL records through different activities; setting up “Today’s random code” posts is one such activity, as is following up on links that fail our link checker for some weeks. We also have an online change request form that triggers curation (though admittedly not quickly; email is a faster way to let us know about necessary fixes). But how do we know that every record gets looked at periodically? By doing a query to see which records haven’t been updated since [some date]. Each year, we look at entries from current year – 3 that haven’t been updated and examine them for possible curation. This year, that date is January 1, 2018. The query result also provides a list of linked ASCL IDs for these entries. As you can see below, we currently have 117 records that have not been updated since the beginning of 2018.

Query box for percentage of code entries not been updated since January 1, 2018, with results of 4.79%
That number was a little higher a week ago. Curation work was performed on eighteen codes this week; ten of these were from the query results.

Other activity: three author-submitted codes were processed and assigned ASCL ID, and three new (unpublished) entries were staged. After we assign an ASCL ID, an editor (Kimberly DuPrie/Catherine Gosmeyer/me) writes to the corresponding author for the software to let him/her know the code’s ASCL ID and the permalink for the entry; Kim sent eight notification emails this week, along with numerous other routine correspondence by all editors. And I spent a little time writing material for SciCodes, this in collaboration with others.

March 2021 additions to the ASCL

Thirty-one codes were added to the ASCL in March:

21cmDeepLearning: Matter density map extractor
ARTIS: 3D Monte Carlo radiative transfer code for supernovae
Astro-Fix: Correcting astronomical bad pixels in Python
AstroNet-Triage: Neural network for TESS light curve triage

AstroNet-Vetting: Neural network for TESS light curve vetting
Carsus: Atomic database for astronomy
CARTA: Cube Analysis and Rendering Tool for Astronomy
CRIME: Cosmological Realizations for Intensity Mapping Experiments

DarkEmulator: Cosmological emulation code for halo clustering statistics
DIAPHANE: Library for radiation and neutrino transport in hydrodynamical simulations
DRAKE: Relic density in concrete models prediction
GalacticDNSMass: Bayesian inference determination of mass distribution of Galactic double neutron stars

GalLenspy: Reconstruction of mass profile in disc-like galaxies from the gravitational lensing effect
ggm: Gaussian gradient magnitude filtering of astronomical images
hfs_fit: Atomic emission spectral line hyperfine structure fitting
LPF: Real-time detection of transient sources in radio data streams

nestle: Nested sampling algorithms for evaluating Bayesian evidence
PION: Computational fluid-dynamics package for astrophysics
Pyedra: Python implementation for asteroid phase curve fitting
PyPion: Post-processing code for PION simulation data

QuickCBC: Rapid and reliable inference for binary mergers
RAiSERed: Analytic AGN model based code for radio-frequency redshifts
redshifts: Spectroscopic redshifts search tool
satcand: Orbital stability and tidal migration constraints for KOI exomoon candidates

schNell: Fast calculation of N_ell for GW anisotropies
Silo: Saving scientific data to binary disk files
spalipy: Detection-based astronomical image registration
SparseBLS: Box-Fitting Least Squares implementation for sparse data

SUPERNU: Radiative transfer code for explosive outflows using Monte Carlo methods
TFF: Template Fourier Fitting
TransitFit: Exoplanet transit fitting package for multi-telescope datasets

WE 20210403: This week in the ASCL

This past week felt, and was, much more productive than last week. Work was actually accomplished! (I felt guilty about ignoring the ASCL Central cat, however, so he now has three new battery-operated toys, one of which he actually likes… the noisiest one, of course.)

Twenty-three new entries, some submitted by their authors (my thanks to them!), were assigned ASCL IDs and moved into production; we finished March with thirty-one new code entries. Thirty existing entries were curated; it is always a pleasure to add Preferred Citation information to an ASCL entry, and I was glad to be able to do that for a couple of these existing entries. (If the entry for your code does not list a preferred citation, please shoot me an email at editor@ascl.net and let me know what it is; thanks!)

Social media random code entries have been scheduled through April 23; I also created and scheduled the list of March codes that will appear on this blog on Monday. It was a correspondence-y week, too, with thirty+ emails going out to code authors to let them know about a new code entry or to ask a question about a code submission or a download site 404ing, in addition to a similar number of other common every-day missives. I spent a few hours this week getting the SciCodes web domain working again; it needed several updates and new software installed. Also related to SciCodes, I reviewed slides, as second author, that first author Tom Morrell (Caltech) will be presenting later this month as part of a workshop at Neuroinformatics Assembly 2021; this consisted of reading the slides and suggesting that a comma or space be added on about three slides, as Tom’s slide deck was (as usual) excellent in every aspect.

WE 20210327: This week in the ASCL

A week of frustration and low productivity. The new laptop arrived on Monday, and though the initial move of stuff from the old machine to the new went smoothly, thanks in part to a 30-minute setup appointment that Apple offers new product owners, way more time was spent Googling for help and chatting with customer and tech support at multiple companies (either online or on the phone) than I expected. I hope to work out the remaining issues over the next few weeks, and then I expect to love all the technology again. It was not all bad, however! A new external monitor came later in the week — this to replace the old television that had been pressed into service at the beginning of the pandemic when monitors were sold out — and it is bigger, brighter, clearer, and more flexible ergonomically, than what I’d been using. Really, it’s a huge improvement! It was lovely to go to my office at UMD, though I was there for only an hour and saw only one colleague (masked and social distant, of course), the daffodils are blooming, the weather has been tee-shirt friendly, and I took some personal time, too, even though that leaves me a bit even further behind on the gigantic long to do list. This list will never be empty, of course; there are always always always things to do.

Five new codes were added to our staged (unpublished) entries and one submitted code was assigned an ASCL ID this week. Eight existing entries were edited, and numerous emails were sent requesting information from code authors and others about new entries, site links that are not working, and an edit resulting in a new bibcode for one entry. I did not get any SciCodes work done this week, so that is something for me to work on this week in addition to the usual work on the ASCL. I’ll be concentrating on moving new entries into production at the beginning of the week, however, as that is my top priority.

WE 20210320: This week in the ASCL

For spring break, or even not for spring break, this was a busy week. I gave a Physics Colloquium, Schrödinger’s code: Opening the computational box, at Michigan Tech on Thursday; links to the slides, resources/sources, etc. are available online. It was a new talk, and though I could repurpose some slides from various other talks, creating new slides and working out the flow took a good bit of time. The colloquium was scheduled between two meetings of the SciCodes consortium. More about SciCodes is below.

Three code entries from our backlog were edited, assigned ASCL IDs, and moved in production, and three new codes were added to our staged (unpublished) entries. We have hundreds of entries staged; some of these don’t yet meet our criteria and may never do so. Thirty-one entries were curated and social media random code entries have been scheduled through March 31. One would think that scheduling these random code entries would be quick, but it took over three hours to stage the eleven needed to finish out the month, as entry curation is part of this work.

The SciCodes consortium holds two meetings on the same day to accommodate different time zones; members can attend either an early or late meeting. After the early meeting, a couple of people stayed in the Zoom so we could talk, as several people new to the group had questions. The meeting made clear that I had not prepared any on-boarding assistance, so that will have to be corrected.

This coming week, I will send out meeting minutes for the SciCodes meeting, try to figure out what I need to do to get the SciCodes web domain working again, meet virtually with a colleague (I hope) about our NASA project, and spend some number of hours getting a new machine set up, as it is supposed to arrive early in the week. I’m sure I’ll be thrilled with it once it’s set up, right? I’ll also be going back to my office at UMD part of one day this week; it’ll be only the second time I’ll have been in it since before last year’s spring break.

MTU Colloquium talk on Schrödinger’s code: Opening the computational box

On Thursday, March 18, I am giving the physics colloquium at Michigan Technological University (MTU), which has hosted the Astrophysics Source Code Library since the ASCL’s inception in 1999. Despite having worked on the ASCL for nearly eleven years, I’ve never been to MTU; though I wish the visit could be in person, the talk will be presented virtually over Zoom. The presentation abstract is below, as is a link to the slides and links for all of the citations and resources mentioned in the talk.

Abstract: Though computational methods are widely used in many disciplines, many researchers do not share the source code they develop, making it difficult to replicate and reuse the work. This presentation will cover the changing landscape that includes funders’ requirements, policy changes for existing journals, community resources, and more, that make it easy to release and archive codes to ensure they are available to support the research they enabled, improve the reproducibility of science, increase confidence in research, and meet new requirements made by funders and journals in many disciplines. It will also cover how the Astrophysics Source Code Library (ASCL), which has been working since 1999 to improve the transparency of research by registering open codes used in research, has made it possible for software to be cited as a first-order research object, and how researchers can garner credit for their codes by having them cited correctly and improve papers by including citations for the computational methods that enabled the research.

Slides (PDF)

Journals

Astronomy and Computing (A&C)
Computational Astrophysics and Cosmology (ComAC)
Computing and Software for Big Science
Computer Physics Communications (CPC)
Journal of Open Research Software (JORS)
SoftwareX
Journal of Open Source Software (JOSS)

Change leaders and guidelines

CITATION file format (CFF)
CodeMeta
FAIR principles
FORCE11/FORCE11 Software Citation Principles
Software Sustainability Institute
Working toward Sustainable Software for Science: Practice and Experiences (WSSSPE)

Social coding sites and archival services

Bitbucket
DOE CODE; more information
Figshare
GitHub
Software Heritage
Zenodo

Other resources

Asclepias
arXiv/arXiv Next Generation
CiteAs
DataCite
Software licensing resources | Licensing Astrophysics Codes special session at AAS 225
Papers with Code

Cited sources (in order of appearance)

Goble (2014)
Ince, Hatton, & Graham-Cumming (2012)
Allen, Teuben, & Ryan (2018)
Ryan, Allen, & Teuben (2019); Data and code
Collberg, Proebsting, & Warren (2014), PDF
Howison & Bullard (2016)
Mangul et al (2018)
Zorotovic, Schreiber, & Parsons (2014)
Smart (2018)
Neupane et al (2019); Vice article
Barba (2019)
DOE policy
DOE policy FAQ
NASA ROSES policy
NSF policy
Nature Portfolio policy
Science policy
AAS Journals policy

WE 20210313: This week in the ASCL

This past week, I refined the abstract for a talk I’m giving this coming week at MTU; I also did research into funders’ policies on code release to ensure my knowledge about them is up-to-date, this also for the upcoming presentation.

Four code entries submitted by authors were edited, assigned ASCL IDs, and moved back in production, and fifteen entries were curated. Several entries have had two bibcodes, a result of changes in authorship/author order. If you’ve ever noticed when looking at our dashboard that sometimes, ADS has >100% of ASCL codes, these extra bibcodes are why. I finally devoted time into tracking those down and sending the information on the duplicates to ADS to bring us back into agreement. This is a low-level issue, but it’s nice to get this loose end resolved.

The ASCL and similar efforts in other disciplines have come together to share ideas and work cooperatively in areas of mutual concern; at the moment, the coalition is called SciCodes. My main activities on SciCodes this past week has been getting the next 12 months of meetings scheduled, the schedule sent out, and confirming a presentation for it.

Peripheral to the ASCL, though also mostly because of it, I spent a ridiculous amount of time one day looking at new Macs. The OS on my current MacBook Pro is now too old to allow me log into UMD, which means I cannot access journals through the UMD Libraries on this machine, a critical need for ASCL work. It’s also having some issues, one of which, running hot during Zoom meetings, I have been working around by putting the machine on a bag of frozen mixed veggies. I don’t like upgrading and do it only when I absolutely have to. Do I want two ports or four? Apple’s M1 processor or Intel’s i5 or i7? How much memory, how much storage? And why don’t new MacBooks have SD slots?? A new machine is on its way to me.

This coming week will include the presentation at MTU, work on our NASA project, and the SciCodes meeting.

WE 20210306: This week in the ASCL

This past week has been pretty busy, with a presentation at SIAM’s CSE21 meeting on Wednesday and attendance at other software-related sessions. Eight new code entries were moved into production, three new entries staged, and code authors submitted seven new entries that will be worked on in the coming week.

Social media random code entries have been scheduled through March 17, and the forum and blog updated with February’s code entries. Curation and/or archival work was performed on or for 15 holdings; this included updating some entries with preferred citation information, updating links, and adding keywords, and downloading new versions of software that had been updated since we last downloaded it. Correspondence was sent to at least 24 authors.

In addition to working on newly-submitted codes, this coming week will include work on a presentation that will be given later this month, and progress on our NASA project continues.