Wflow.jl icon indicating copy to clipboard operation
Wflow.jl copied to clipboard

Evaluation and Restructuring of Lake and Reservoir Structs

Open alimeshgi opened this issue 1 year ago • 4 comments

Feature type

Changing existing functionality

Improvement Description

The current implementation of lake and reservoir structs may contain shared functionality, leading to potential code duplication and decreased maintainability. To address this issue and improve the design of these structs, it's necessary to examine the shared functionality and explore restructuring based on user input.

Implementation Description

1)Examination of Shared Functionality: Conduct a thorough examination of the lake and reservoir structs to identify shared functionality, such as water level management, inflow/outflow calculations, and storage capacity constraints. Determine areas where functionality can be consolidated or abstracted to reduce redundancy and improve code maintainability.

2)User Input and Feedback: Gather input from users and stakeholders regarding their requirements and preferences for the design of lake and reservoir structs. Incorporate user feedback into the restructuring process to ensure that the new design aligns with the needs of the user community and addresses common use cases effectively.

3)Restructuring for Improved Design: Explore restructuring options, such as introducing a common base struct for lakes and reservoirs or utilizing composition to encapsulate shared functionality. Refactor the existing structs based on the identified shared functionality and user input, aiming to improve design clarity, modularity, and extensibility.

Additional Context

No response

alimeshgi avatar Feb 09 '24 13:02 alimeshgi

@alimeshgi thanks for your post on lakes/reservoirs. I also would like to see more functionality with water level management and inflow/outflow calculations. Cheers.

Starphire1 avatar Feb 11 '24 06:02 Starphire1