Skip to content

CrunchyBiscuits/anuga_core

 
 

Repository files navigation

ANUGA Community TechLauncher Project

Table of Contents

  1. Overview
  2. Team
  3. Stakeholders
  4. Documentation
  5. Timeline
  6. Risks
  7. Tools and Client Requirements
  8. Technical Constraints

Overview

The existing ANUGA Hydro software has been used to model floods for more than a decade, with excellent results. But for smaller floods, it has a tendency to over estimate the flood area, due to being unable to model underground drainage systems.

This project will extend the ANUGA Hydro software, which is capable of hydrodynamic modelling, by coupling with the US EPA's Storm Water Management Model (SWMM), thus adding to it the ability to model the effects of underground drainage systems.

Team

Name UID Principal Role Secondary Role
Zheyuan Zhang u6870923 ANUGA developer
ANUGA Viewer supporter
Documentation (grammar) reviewer
Code reviewer (ANUGA & SWMM)
Xingnan Pan u6744662 ANUGA developer
client manager
Test developer
Code reviewer (ANUGA & SWMM)
Minutes taker
Chen Huang u6735118 SWMM developer
Spokesperson
Code reviewer (ANUGA)
Landing page maintainer
Minutes taker
Lixin Hou u6456457 ANUGA developer
ANUGA tester
Deputy spokesperson
Client Manager
Document author
Minutes taker
Mingda Zheng u6686733 SWMM developer
Quality manager
Code reviewer (SWMM&ANUGA)
Test developer
Yijie Liu u6890141 ANUGA developer
Quality manager
Test developer
Documentation author
Zijun Zhang u6904534 SWMM developer
Documentation author
Code reviewer (ANUGA)
Zhixian Wu (Past member, graduated) u5807060

Stakeholders

  • The sponsors:
    • Professor Stephen Roberts, ANU
    • Dr Ole Nielsen, Geoscience Australia
  • The user representatives (flood modellers):
    • Rudy Van Drie, Balance Research and Development
    • Dr Petar Milevski, Civil Engineer Urban Drainage, Wollongong City Council

Documentation

Google Docs Folder

All Materials

Statement of Work

SoW_2020_S2

SoW_2021_S1

Sprint Stories

Trello

Communication

Slack

Email

Zoom

Meeting Minutes

2020 meeting minutes

Sprint 1 (start of semester - 19/08/2020)

2020-08-04 Team Meeting

2020-08-06 Client Meeting

2020-08-06 Team Meeting

2020-08-11 Team Meeting

2020-08-12 Client Meeting

2020-08-12 Team Meeting

Sprint 2 (19/08/2020 - 02/09/2020)

2020-08-19 Client Meeting (sprint end / start)

2020-08-19 Team Meeting (sprint review / sprint start)

2020-08-26 Client Meeting

2020-08-26 Team Meeting

Sprint 3 (02/09/2020 - 16/09/2020)

2020-09-02 Team Meeting (sprint review / start)

2020-09-09 Client Meeting

2020-09-09 Team Meeting

2020-09-16 Client Meeting (sprint end / start)

Sprint 4 (16/09/2020 - 30/09/2020)

2020-09-16 Client Meeting (sprint review / start)

2020-09-23 Client Meeting

2020-09-23 Team Meeting

2020-09-30 Client Meeting (sprint end / start)

Sprint 5 (30/09/2020 - 14/10/2020)

2020-09-30 Client Meeting (sprint review / start)

2020-10-07 Client Meeting

2020-10-07 Team Meeting

2020-10-14 Client Meeting (sprint end)

2021 meeting minutes

Sprint 1 (start of semester - 10/03/2021)

2021-02-24 Client Meeting

2021-02-25 Team Meeting

2021-03-03 Client Meeting

2021-03-04 Team Meeting

Development Artefacts

2020 artefacts

Sprint 1

Sprint 2

Sprint 3

Sprint 4

Sprint 5

2021 artefacts

Reflection

2020 reflection

Sprint 1 Reflection (a.k.a. reflection on audit 1 feedback)

Sprint 2 Reflection (a.k.a. reflection on audit 2 feedback)

2021 reflection

Client-Provided Resources

All Materials

Ideas shared on Slack

Decisions

Log for Small Decisions

Template for Large Decisions

2020-08-05 Continuous Integration Tool Selection

2020-09-14 Decision on how to modify SWMM

Timeline

We are doing two-week sprints, with client meetings to close each sprint on Wednesday 5:00PM Canberra time, and team meetings for sprint retrospectives and sprint planning on Wednesday 7:00PM Canberra time.

The first sprint will be a bit longer, so that the rest of the sprints will end just before the Week 6 and Week 10 audits. This means the first sprint will end Wednesday of Week 4.

  • 2020-s2-timeline

20-s2-TL

  • 2021-s1-timeline

21-s1-TL

Risks

Risk ID Risk points Mitigation measures
1 The new member may take a long time to learn the complex model and tools needs. He would be given one to two weeks to get familiar with our project. Also, Other members would give him instructions and advise about the project. In addition, the clients are the original developers of the software and the team can ask them questions.
2 Team members may have some emergencies during the project, such as sick, exam which may interrupt the project progress. We will never have any task that is only performed by one team member. Either the task will be performed by a small group, or if it is too small one team member will be assigned as the secondary person responsible for reviewing the code and taking over if the member principally responsible has an emergency situation
3 The time difference might be a cooperation barrier as the team consists of overseas and native members. Most members are living in China, which merely has 2-3 hours lag with the Australian Eastern Standard Time. Therefore, the team or client meeting can be set at afternoon to mitigate the impact.
4 The system and equipment requirements may cause some difficulties to the team, as the project is required to design in Ubuntu 20.04, but some features can only run in Ubuntu 18.04. Members can use virtual machine or install dual systems to have mathcing development environments. And some complex issues can be tested in lab machines by members in Canberra.

Tools and Client Requirements

  • The project should be developed in Github
    • Each member is able to test in a branch
    • Using pull request to get the task review from others
    • Only tested and review code should be merged into the main branch
  • The project is mainly developed on Ubuntu 20.04
    • This means that team members will need to install a virtual machine or dual boot. All members have already done so.
  • Setup Continuous Integration (CI) tools to test on three platforms (Windows, MacOS and Ubuntu) automatically.
    • This was a Sprint 1 task for two members of the team. They have already set up Appveyor and TravisCI to handle this.
  • Software standards
    • The Python code should follow the PEP8 standard apart from agreed exceptions.
    • All code, apart from the most trivial, should have corresponding unit tests.
    • Model behaviour should be tested end to end with real data.
    • Tests should be integrated with a CI server.
  • The standard official version of SWMM from the US EPA website is only available for Windows, so we will use another open-source project called PySWMM by Open Water Analytics.

Technical Constraints

The end modelling software must be a coupling between ANUGA and SWMM. There are no other open-source options for this type of software. And even if there were, the team was commissioned by the clients to improve the existing ANUGA Hydro software in a specific way.

Build Status

Build Status

About

ANUGA for the simulation of the shallow water equation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 78.1%
  • C 13.7%
  • Jupyter Notebook 4.3%
  • TeX 2.2%
  • Fortran 0.7%
  • C++ 0.4%
  • Other 0.6%