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

releasing scientific
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Acknowledgments

2

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

slide-3
SLIDE 3

Storm Water Management Model (SWMM)

https://www.epa.gov/water-research/storm-water- management-model-swmm

Partial statistics on using SWMM for research in 2018 based on Google Scholar

3

slide-4
SLIDE 4

The scientific software we are releasing

SWMM2PEST

An integration of the SWMM and PEST scientific programs Dynamic rainfall-runoff simulation model Version 5.1.013 was released in 2018 Computational engine is written in C & the UI in Delphi.XE2 About 45,500 LoC Model-Independent Parameter Estimation and Uncertainty Analysis Version 15 was released in 2018 FORTRAN code About 210,000 LoC

4

slide-5
SLIDE 5

SWMM2PEST

5

SWMM2PEST: Automatic calibration for SWMM parameters

slide-6
SLIDE 6

6

Best practice of releasing scientific software?

EPA concerns

slide-7
SLIDE 7

SWMM2PEST 1.0 to 2.0

SWMM2PEST 1.0 SWMM2PEST 2.0

Developed by Suraj Kamble Python 3.5.4&PyQt 5 About 3,300 LoC Developed by Xuanyi Lin Python 3.5.4&PyQt 5 About 3,200 LoC

✓ Metamorphic testing ✓ Bugs fixed ✓ Restructured ✓ New features added

Changes around 50%

7

slide-8
SLIDE 8

Release workflow

GitHub-driven release process

8

slide-9
SLIDE 9

Releasing in GitHub

9

README file

https://github.com/XuanyiLin/SWMM2PEST2.0

slide-10
SLIDE 10

Releasing in GitHub

10

Source Code Release software feedback

slide-11
SLIDE 11

Strategy 1: Changes between versions

SWMM 5.1.13 SWMM2PEST

11

5.1.13

4 places differed

slide-12
SLIDE 12

Strategy 2: Improvements as requirements change

SWMM2PEST 1.0 UI SWMM2PEST 2.0 UI

12

slide-13
SLIDE 13

Insights

  • Release as required
  • Connector versus connectee release
  • Release to help automated testing

Future work

  • Investigate other repositories
  • Continuous release with more comprehensive user feedback and
  • ther developers' opinions

13

SWMM2PEST SWMM & PEST

slide-14
SLIDE 14

Thank you

Releasing Scientific Software in GitHub: A Case Study on SWMM2PEST