releasing scientific
play

Releasing Scientific Software in GitHub: A Case Study on SWMM2PEST - PowerPoint PPT Presentation

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


  1. 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

  2. Acknowledgments Nan Niu Xuanyi Lin Michelle Simon Associate Professor PhD Student Associate Director University of Cincinnati University of Cincinnati US EPA 2

  3. 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

  4. 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

  5. SWMM2PEST SWMM2PEST : Automatic calibration for SWMM parameters 5

  6. EPA concerns Best practice of releasing scientific software? 6

  7. 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

  8. Release workflow GitHub-driven release process 8

  9. Releasing in GitHub README file https://github.com/XuanyiLin/SWMM2PEST2.0 9

  10. Releasing in GitHub feedback Source Code Release software 10

  11. Strategy 1: Changes between versions SWMM2PEST 5.1.13 4 places differed SWMM 5.1.13 11

  12. Strategy 2: Improvements as requirements change SWMM2PEST SWMM2PEST 1.0 UI 2.0 UI 12

  13. 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

  14. Thank you Releasing Scientific Software in GitHub: A Case Study on SWMM2PEST

Recommend


More recommend