Modernizing legacy desktop applications: Re-engineering WinDAM C from VB6 to WinUI 3
Date
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
This study presents the modernization of the Windows Dam Analysis Modules for Cohesive Embankments (WinDAM C), a key component of the WinDAM suite developed by the U.S. Department of Agriculture–Agricultural Research Service (USDA-ARS) and Kansas State University for simulating breach and erosion processes in earthen embankment dams. The original WinDAM C, implemented in Visual Basic 6 (VB6), was constrained as a 32-bit executable, obsolete deployment methods, and tightly coupled code structures that limited maintainability, interoperability, and accessibility. The principal objective of this work is to re-engineer WinDAM C into a modern, sustainable, and reproducible platform using C# and the WinUI3 framework. The new system adopts a Model–View–ViewModel (MVVM) architecture for clear separation of logic and presentation, integrates the NRCS Engineering Field Handbook Chapter 2 (EFH-2) hydrologic methodology for direct rainfall–runoff generation through WinTR-20 coupling, and employs the WiX Toolset for deterministic deployment without external dependencies. Validation experiments focused on verifying numerical reproducibility and scientific consistency between the legacy 32-bit implementations and the new 64-bit implementations. Batch simulations of ten benchmark WinDAM Control (WDC) projects confirmed that breach hydrograph results remained consistent across both environments, with deviations below 0.05 percent—attributable solely to floating-point precision and rounding differences between 32-bit floats and 64-bit doubles. The modernization effort further establishes a foundation for accessibility and future extensibility. Leveraging WinUI’s native automation, the interface now supports system-wide text scaling, high-contrast adaptation—representing the first step toward Section 508 compliance within the WinDAM suite. Additional forward-looking features include JSON-based input/output for data interoperability with GIS and cloud platforms, and a modular architecture designed for future spatial visualization and expanded hydrologic coupling. Collectively, these advancements transform WinDAM C from an aging desktop utility into a reproducible, maintainable, and extensible research application that preserves the validated USDA-ARS breach-erosion algorithms while unifying hydrologic input generation, simulation, and analysis. Contributions of this work include both a practical tool for dam-safety engineers and a generalizable framework for modernizing legacy scientific software systems.