Skip to content

Commit bb0a3b1

Browse files
committed
Enhancing paper
1 parent 2cd7c83 commit bb0a3b1

3 files changed

Lines changed: 67 additions & 8 deletions

File tree

JOSS_TODO.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ JOSS paper format: https://joss.readthedocs.io/en/latest/paper.html (750-1,750 w
3535
| # | Requirement | Status | Evidence |
3636
|---|-------------|--------|----------|
3737
| 18 | Paper in `paper/paper.md` | MET | `paper/paper.md` with YAML frontmatter |
38-
| 19 | Bibliography in `paper/paper.bib` | MET | `paper/paper.bib` with 23 references |
38+
| 19 | Bibliography in `paper/paper.bib` | MET | `paper/paper.bib` with 29 references |
3939
| 20 | Summary section | MET | Lines 39-41 |
4040
| 21 | Statement of Need section | MET | Lines 43-54 |
4141
| 22 | State of the Field section | MET | Lines 56-62 |
@@ -45,7 +45,7 @@ JOSS paper format: https://joss.readthedocs.io/en/latest/paper.html (750-1,750 w
4545
| 26 | Word count 750-1,750 | MET | ~1,215 words (within range) |
4646
| 27 | Submitting author ORCID | MET | `0000-0002-4651-9890` for C. Haden Smith |
4747
| 28 | Author affiliations | MET | 3 affiliations listed |
48-
| 29 | All references have DOIs where available | MET | 15 DOIs + 7 URLs for web-only resources |
48+
| 29 | All references have DOIs where available | MET | 21 DOIs + 7 URLs for web-only resources |
4949
| 30 | Code example in paper | MET | Lines 85-113 (bootstrap uncertainty analysis) |
5050

5151
### Repository Metadata
@@ -118,7 +118,7 @@ Complete these steps in order before submitting to JOSS.
118118

119119
## Notes
120120

121-
- **Word limit**: JOSS papers should be 750-1,750 words (https://joss.readthedocs.io/en/latest/paper.html). Current paper is ~1,215 words.
121+
- **Word limit**: JOSS papers should be 750-1,750 words (https://joss.readthedocs.io/en/latest/paper.html). Current paper is ~1,317 words.
122122
- **"Jery R. Stedinger"**: This spelling in `paper.bib` is correct (confirmed on USGS publications). Be prepared to explain if a reviewer questions it.
123123
- **England 2019 vs 2018**: Bulletin 17C was originally published March 2018; the `2019` date refers to the v1.1 revision. Both are acceptable in the literature.
124124
- **ter Braak citation**: The 2008 paper describes DE-MCzs (with snooker updater). The library has both `DEMCz` and `DEMCzs` classes. The citation is appropriate since the 2008 paper supersedes the 2006 original.

paper/paper.bib

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,3 +246,60 @@ @article{gelmanrubin1992
246246
year = {1992},
247247
doi = {10.1214/ss/1177011136}
248248
}
249+
250+
@article{waylen1982,
251+
author = {Waylen, Peter and Woo, Ming-Ko},
252+
title = {Prediction of annual floods generated by mixed processes},
253+
journal = {Water Resources Research},
254+
volume = {18},
255+
number = {4},
256+
pages = {1283--1286},
257+
year = {1982},
258+
doi = {10.1029/WR018i004p01283}
259+
}
260+
261+
@article{alila2002,
262+
author = {Alila, Younes and Mtiraoui, Ahmed},
263+
title = {Implications of heterogeneous flood-frequency distributions on traditional stream-discharge prediction techniques},
264+
journal = {Hydrological Processes},
265+
volume = {16},
266+
number = {5},
267+
pages = {1065--1084},
268+
year = {2002},
269+
doi = {10.1002/hyp.346}
270+
}
271+
272+
@book{crowder2001,
273+
author = {Crowder, Martin J.},
274+
title = {Classical Competing Risks},
275+
publisher = {Chapman and Hall/CRC},
276+
year = {2001},
277+
doi = {10.1201/9781420035902}
278+
}
279+
280+
@book{bedford2001,
281+
author = {Bedford, Tim and Cooke, Roger},
282+
title = {Probabilistic Risk Analysis: Foundations and Methods},
283+
publisher = {Cambridge University Press},
284+
year = {2001},
285+
doi = {10.1017/CBO9780511813597}
286+
}
287+
288+
@book{piessens1983,
289+
author = {Piessens, Robert and de Doncker-Kapenga, Elise and \"{U}berhuber, Christoph W. and Kahaner, David K.},
290+
title = {{QUADPACK}: A Subroutine Package for Automatic Integration},
291+
publisher = {Springer-Verlag},
292+
year = {1983},
293+
doi = {10.1007/978-3-642-61786-7}
294+
}
295+
296+
@article{lepage1978,
297+
author = {Lepage, G. Peter},
298+
title = {A new algorithm for adaptive multidimensional integration},
299+
journal = {Journal of Computational Physics},
300+
volume = {27},
301+
number = {2},
302+
pages = {192--203},
303+
year = {1978},
304+
doi = {10.1016/0021-9991(78)90004-9}
305+
}

paper/paper.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,17 @@ The .NET framework is a widely used platform for enterprise and government deskt
4949
Numerics fills this gap by providing domain-specific capabilities within .NET:
5050

5151
- **Hydrology-specific distributions**: Log-Pearson Type III, Generalized Extreme Value, Pearson Type III, Generalized Pareto, and Kappa-Four, with L-moment parameter estimation [@hosking1990; @hosking1997] that outperforms conventional moments for the small samples typical of flood records.
52+
- **Mixed-population and competing-risk models**: Mixture distributions [@waylen1982; @alila2002] for sites where floods arise from distinct causal mechanisms such as rainfall, snowmelt, or dam-regulated releases, and competing-risks models [@crowder2001; @bedford2001] for reliability analysis with multiple failure modes.
5253
- **Bayesian inference**: Six MCMC samplers, including Random Walk Metropolis-Hastings, Adaptive RWMH [@haario2001], Differential Evolution MCMC [@terbraak2008], Hamiltonian Monte Carlo [@neal2011], No-U-Turn Sampler (NUTS) [@hoffman2014], and Gibbs, with improved Gelman-Rubin convergence diagnostics [@gelmanrubin1992; @vehtari2021].
5354
- **Uncertainty quantification**: Bootstrap resampling methods [@efron1993] for confidence intervals on design estimates, a requirement in dam and levee safety risk assessments.
5455
- **Global optimization**: Differential Evolution [@storn1997], Shuffled Complex Evolution [@duan1994], Particle Swarm Optimization [@kennedy1995], Multi-Level Single-Linkage (MLSL) [@rinnooy1987], and Nelder-Mead [@nelder1965] for calibrating complex, multi-modal objective functions.
56+
- **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.
5557

5658
# State of the Field
5759

58-
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), 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-MCz, 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.
60+
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-MCz, 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.
5961

60-
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.
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.
6163

6264
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.
6365

@@ -69,14 +71,14 @@ Numerics serves as the computational engine for six USACE-RMC production applica
6971
- **[RMC-RFA](https://github.com/USACE-RMC/RMC-RFA)**: Reservoir frequency analysis software to facilitate flood hazard assessments for dam safety studies.
7072
- **[RMC-TotalRisk](https://github.com/USACE-RMC/RMC-TotalRisk)**: Quantitative risk analysis software designed to support dam and levee safety investment decisions.
7173
- **[LifeSim](https://github.com/USACE-RMC/LifeSim)**: A consequence estimation engine used to simulate population redistribution during an evacuation.
72-
- **[Levee Screening Tool](https://lst2.sec.usace.army.mil/)**: Portfolio-level levee risk screening that has been used to evaluate more than 7,500 levee segments across the national inventory.
73-
- **[Dam Screening Tool](https://dst.sec.usace.army.mil/)**: Portfolio-level dam risk screening that will be used to evaluate more than 90,000 dams across the national inventory.
74+
- **[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+
- **[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.
7476

7577
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.
7678

7779
# Software Design
7880

79-
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 — a critical feature 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.
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.
8082

8183
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.
8284

0 commit comments

Comments
 (0)