You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ Numerics is a free and open-source numerical computing library for .NET, develop
42
42
43
43
# Statement of Need
44
44
45
-
Infrastructure risk assessment for dams and levees requires the integration of extreme value statistics, uncertainty quantification, and Monte Carlo simulation. Practitioners face challenges including small sample sizes from historical records, regulatory requirements for specific statistical methods such as the Log-Pearson Type III distribution mandated by USGS Bulletin 17C [@england2019], robust outlier handling via the Multiple Grubbs-Beck Test [@cohn2013], and the need to incorporate expert judgment through Bayesian inference.
45
+
Infrastructure risk assessment for dams and levees requires the integration of extreme value statistics, uncertainty quantification, and Monte Carlo simulation. Practitioners face challenges including small sample sizes from historical records, regulatory requirements for specific statistical methods such as the Log-Pearson Type III distribution mandated by USGS Bulletin 17C [@england2018], robust outlier handling via the Multiple Grubbs-Beck Test [@cohn2013], and the need to incorporate expert judgment through Bayesian inference.
46
46
47
47
The .NET framework is a widely used platform for enterprise and government desktop applications in the United States, yet the ecosystem lacks comprehensive numerical libraries tailored for engineering risk analysis. Python offers mature tools such as NumPy [@harris2020] and SciPy [@virtanen2020], and R provides specialized hydrology packages such as `lmom`[@hosking2019lmom], `nsRFA`[@viglione2024nsrfa], and `SpatialExtremes`[@ribatet2022spatialextremes], but neither ecosystem integrates with .NET-based engineering workflows without introducing language interop complexity, performance overhead, and deployment challenges for regulated government systems. In addition, Numerics benefits from .NET's ahead-of-time compilation, absence of a global interpreter lock, and native `Parallel.For` support, delivering significantly higher throughput for computationally intensive methods such as bootstrap resampling and MCMC sampling compared to interpreted alternatives.
48
48
@@ -54,12 +54,13 @@ Numerics fills this gap by providing domain-specific capabilities within .NET:
54
54
-**Uncertainty quantification**: Bootstrap resampling methods [@efron1993] for confidence intervals on design estimates, a requirement in dam and levee safety risk assessments.
-**Adaptive numerical integration**: Gauss-Kronrod quadrature [@piessens1983] and VEGAS adaptive Monte Carlo integration [@lepage1978] for efficiently evaluating complex risk integrals involving multiple system components and failure modes, a core computation in quantitative risk assessment.
57
+
-**Machine learning**: Supervised and unsupervised algorithms, including generalized linear models, decision trees, random forests, k-nearest neighbors, k-means clustering, and Gaussian mixture models for regression, classification, and clustering tasks in risk assessment workflows.
57
58
58
59
# State of the Field
59
60
60
61
General-purpose .NET numerical libraries exist, most notably Math.NET Numerics [@mathnetnumerics], which provides linear algebra, probability distributions, and basic statistics. However, Math.NET Numerics does not include L-moment estimation, hydrology-specific distributions (Log-Pearson Type III, Kappa-Four), mixture and competing-risk models, adaptive integration, bootstrap resampling, copulas, or global optimization algorithms. Math.NET Numerics includes basic MCMC samplers (Metropolis-Hastings, Hybrid Monte Carlo, Slice), but lacks the adaptive and ensemble methods (Adaptive RWMH, DE-MCzs, NUTS) needed for reliable calibration of hydrologic models. Contributing these features to Math.NET Numerics was not pursued because the scope of domain-specific functionality, the distinct API design requirements for risk assessment workflows, and the need for long-term maintenance by a domain-expert organization warranted an independent library.
61
62
62
-
In other language ecosystems, Python's SciPy [@virtanen2020] provides broad numerical capabilities but lacks specialized hydrological distributions and L-moment estimation. R packages such as `lmom`[@hosking2019lmom] and `evd`[@stephenson2002evd] offer these features individually, but integrating R into .NET production applications introduces runtime dependencies and complicates deployment in regulated government environments. No single package in any ecosystem consolidates mixture distributions, competing-risk models, adaptive integration, extreme-value statistics, and MCMC into a unified library for engineering risk analysis.
63
+
In other language ecosystems, Python's SciPy [@virtanen2020] provides broad numerical capabilities but lacks specialized hydrological distributions and L-moment estimation. R packages such as `lmom`[@hosking2019lmom] and `evd`[@stephenson2002evd] offer these features individually, but integrating R into .NET production applications introduces runtime dependencies and complicates deployment in regulated government environments. No single package in any ecosystem consolidates mixture distributions, competing-risk models, adaptive integration, extreme-value statistics, global optimization, bootstrapping, machine learning, and MCMC into a unified library for engineering risk analysis.
63
64
64
65
Numerics consolidates these capabilities into a single, self-contained .NET library purpose-built for quantitative risk assessment in water resources engineering. Computationally intensive operations, including bootstrap resampling and MCMC chain evaluation, are parallelized using `Parallel.For` for high-throughput execution on modern multi-core hardware. Backed by long-term USACE-RMC maintenance, Numerics provides the ecosystem, performance, and institutional support needed for quantitative risk analysis in dam and levee safety.
65
66
@@ -74,13 +75,13 @@ Numerics serves as the computational engine for six USACE-RMC production applica
74
75
-**[Levee Screening Tool](https://lst2.sec.usace.army.mil/)**: A web-based portfolio-level levee risk screening tool that has been used to evaluate more than 7,500 levee segments across the national inventory.
75
76
-**[Dam Screening Tool](https://dst.sec.usace.army.mil/)**: A web-based portfolio-level dam risk screening tool that will be used to evaluate more than 90,000 dams across the national inventory.
76
77
77
-
These applications support risk-informed decisions for thousands of dams and levees managed by USACE, other federal agencies, and private dam and levee owners, directly affecting public safety for millions of Americans. The software is also used internationally by organizations in Australia, the Netherlands, and Canada. By open-sourcing Numerics, USACE-RMC enables independent verification of the algorithms underpinning these critical assessments and invites contributions from the broader water resources engineering community.
78
+
These applications support risk-informed decisions for thousands of dams and levees managed by USACE, other federal agencies, and private dam and levee owners, directly affecting public safety for millions of Americans. The RMC software suite is also used internationally by organizations in Australia, the Netherlands, and Canada. By open-sourcing Numerics, USACE-RMC enables independent verification of the algorithms underpinning these critical assessments and invites contributions from the broader water resources engineering community.
78
79
79
80
# Software Design
80
81
81
-
Three design decisions shape the library. First, all univariate distributions inherit from a common base class with pluggable parameter estimation (L-moments, maximum likelihood, method of moments), allowing analysts to swap candidate distributions without changing workflow code, which is critical during frequency analysis model comparison. Second, the library has zero external runtime dependencies, relying only on .NET Base Class Libraries. This eliminates NuGet dependency conflicts in large government applications and simplifies deployment in regulated environments. Third, multi-targeting (.NET 8.0, 9.0, 10.0, and .NET Framework 4.8.1) ensures compatibility with both modern and legacy enterprise systems. Because .NET 8 and later are cross-platform, Numerics runs on Windows, Linux, and macOS, supporting both desktop engineering tools and cloud-hosted web applications.
82
+
Three design decisions shape the library. First, all univariate distributions inherit from a common base class with pluggable parameter estimation (L-moments, maximum likelihood, method of moments), allowing analysts to swap candidate distributions without changing workflow code, which is critical during frequency analysis model comparison. Second, the library has zero external runtime dependencies, relying only on .NET Base Class Libraries. This eliminates NuGet dependency conflicts in large government applications and simplifies deployment in regulated environments. Third, multi-targeting (.NET 8.0, 9.0, 10.0, and .NET Framework 4.8.1) ensures compatibility with both modern and legacy enterprise systems. Because .NET 8 and later are cross-platform, Numerics runs on Windows, Linux, and macOS, supporting both desktop engineering tools and cloud-hosted web applications. Python users can also access Numerics through PythonNet, making the library's performance and capabilities available to the broader scientific and academic community.
82
83
83
-
Beyond its core statistical and numerical capabilities, the library includes supervised and unsupervised machine learning algorithms (generalized linear models, decision trees, random forests, k-nearest neighbors, k-means clustering, and Gaussian mixture models) that support classification and clustering tasks in risk assessment workflows. Continuous integration via GitHub Actions runs the full test suite (over 1,000 tests validated against published references [@press2007; @rao2000; @england2019]) on every pull request.
84
+
Continuous integration via GitHub Actions runs the full test suite (over 1,000 tests validated against published references [@press2007; @rao2000; @england2018]) on every pull request.
0 commit comments