In the 21st century, it’s impossible to separate science from the software scientists use to collect data, run computer models and analyze model outputs.
Several RENCI experts make the case for sustainable software development practices in scientific research in two articles recently published in the Journal of Open Research Software. In the first article, written by RENCI Senior Scientist and Oceanographer Brian Blanton and Chris Lenhardt, domain scientist for environmental data sciences and systems, the authors point out that developing scientific software that is sustainable, accessible, and transparent is especially important when policy decisions and public safety are at stake.
For example, climate models can inform policies about development and energy use, and models of hurricanes, storm surge and coastal flooding often help government officials make decisions about evacuations, search and rescue, road closures and more. It’s in the interest of scientists, policy makers and the general public to use modeling software developed by following best practices. And although today’s scientific software is better than ever in its ability to accurately model the natural environment and provide insights into problems, few guidelines exist to ensure that software is easy to use and sustained for the long haul.
Blanton and Lenhardt note that efforts such as the Water Science Software Institute (WSSI) led by RENCI, and the Institute for Sustainable Earth and Environmental Software (ISEES), led by National Center for Ecological Analysis and Synthesis at the University of California Santa Barbara, are leading the push to develop scientific software that is sustainable and reusable while meeting the research needs of scientists. Both WSSI and ISEES are funded through the National Science Foundation’s Software Infrastructure for Sustained Innovation (S2I2) program and both take inspiration from the NSF report Cyberinfrastructure Framework for 21st Century Science and Engineering (CIF21).
Another article in the same journal makes a case for using well-documented and accepted data lifecycle management best practices as a blueprint for developing best practices for a scientific software development lifecycle. Linking the data management lifecycle, designed to ensure long-term data preservation and enable reuse and repurposing of research data, with a software development lifecycle in which software is continually tested and improved based on community input, is one path to achieving reproducible science, say the authors. In addition to Blanton and Lenhardt, authors of the article are RENCI Director Stan Ahalt, Ray Idaszak, who manages the WSSI effort, and Laura Christopherson, a senior research writer involved in the WSSI effort.
Both articles are interesting reads and illustrate the wide impact of scientific software. Both are also also included in a special collection published by the Journal of Open Research Software called Working towards Sustainable Software for Science: Practice and Experiences. Kudos to the scientists, developers, and funding agencies working to transfer open source software development best practices into the realm of scientific research. The benefits of this paradigm shift will be far reaching and long lasting.