Releasing Scientific Software in GitHub: A Case Study on SWMM2PEST Xuanyi Lin (linx7@mail.uc.edu) Department of EECS, University of Cincinnati, OH SE4Science, Montreal, Canada May 28, 2019
Acknowledgments Nan Niu Xuanyi Lin Michelle Simon Associate Professor PhD Student Associate Director University of Cincinnati University of Cincinnati US EPA 2
Storm Water Management Model (SWMM) Partial statistics on using SWMM for research in 2018 based on https://www.epa.gov/water-research/storm-water- Google Scholar management-model-swmm 3
The scientific software we are releasing SWMM2PEST An integration of the SWMM and PEST scientific programs Model-Independent Dynamic rainfall-runoff Parameter Estimation simulation model and Uncertainty Analysis Version 5.1.013 was Version 15 was released released in 2018 in 2018 Computational engine FORTRAN code is written in C & the UI About 210,000 LoC in Delphi.XE2 About 45,500 LoC 4
SWMM2PEST SWMM2PEST : Automatic calibration for SWMM parameters 5
EPA concerns Best practice of releasing scientific software? 6
SWMM2PEST 1.0 to 2.0 Changes around 50% SWMM2PEST SWMM2PEST ✓ Metamorphic testing 1.0 2.0 ✓ Bugs fixed ✓ Restructured ✓ New features added Developed by Suraj Kamble Developed by Xuanyi Lin Python 3.5.4&PyQt 5 Python 3.5.4&PyQt 5 About 3,200 LoC About 3,300 LoC 7
Release workflow GitHub-driven release process 8
Releasing in GitHub README file https://github.com/XuanyiLin/SWMM2PEST2.0 9
Releasing in GitHub feedback Source Code Release software 10
Strategy 1: Changes between versions SWMM2PEST 5.1.13 4 places differed SWMM 5.1.13 11
Strategy 2: Improvements as requirements change SWMM2PEST SWMM2PEST 1.0 UI 2.0 UI 12
Insights • Release as required • Connector versus connectee release SWMM2PEST SWMM & PEST • Release to help automated testing Future work • Investigate other repositories • Continuous release with more comprehensive user feedback and other developers' opinions 13
Thank you Releasing Scientific Software in GitHub: A Case Study on SWMM2PEST
Recommend
More recommend