Repository navigation
Releases: cameronbracken/hecfda
Releases · cameronbracken/hecfda
Release list
hecfda 0.2.0
HEC-FDA 2.1 parity release.
Highlights:
- Tracks HEC-FDA 2.1.0 and its upstream source baseline.
- Extends the shared C++ engine and keeps the R and Python interfaces aligned.
- Preserves Fail and Non_Fail identities, Total aggregation, one-sided categories, risk outputs, and future UNASSIGNED handling.
- Adds cross-platform source, wheel, package, documentation, and oracle checks.
This GitHub source release does not publish hecfdar to CRAN or hecfdapy to PyPI. See CHANGELOG.md for the full change record.
hecfda 0.1.1
[0.1.1] - 2026-07-14
Changed
- Relicensed from 0BSD to MIT, matching upstream HEC-FDA.
hecfdaruses the CRAN
MIT + file LICENSEform; the root andhecfdapyLICENSE files carry the full MIT text. ead_simulation()now rejects supplying both frequency input paths (flow_frequency+
flow_stageandfrequency_stage) with a clear error in both packages; the behavior was
previously undefined.
Added
- rv-managed R development library:
rproject.toml+rv.lockpin the dev packages,
.Rprofileactivatesrv/library/, and the R-touching pixi tasks (test-r,build-r,
docs) runrv syncfirst. R itself is installed with rig (see the README). - Install-only targets for package users:
make install-r/install-py/install
and the matching pixi tasks build and install without running tests.
Fixed
- Examples index described example 03 as spanning impact areas (that is example 04).
- The docs deploy workflow now also triggers on
fixtures/**andtools/**changes.
hecfda 0.1.0
[0.1.0] - 2026-07-13
First tagged release. Everything below is new.
Added
- Shared C++17 core: a faithful port of the numerical core of USACE-HEC HEC-FDA
(HEC.FDA.Statisticsand the pure-numeric parts ofHEC.FDA.Model): 13 distribution
families, special functions, paired-data curve algebra with the .NETArray.BinarySearch
semantics, structure inventories and occupancy-type uncertainty, the stage-damage compute,
the seeded Monte Carlo EAD simulation with performance metrics (AEP, assurance, levee
fragility), scenarios, EqAD annualization, and with/without-project benefits. - R package
hecfdarand Python packagehecfdapy, thin bindings over the same
compiled core. A bit-exact port of .NET's seededSystem.Randommeans seeded results are
identical across R, Python, and the upstream C# (the 100-iteration EAD benchmark
121194.5159789352 reproduces bit-for-bit). - Public workflow API (same surface in both packages):
stage_damage(),
ead_simulation(),scenario_results(),alternative_ead()/eqad(),
alternative_comparison(), plus distribution evaluators (dist_pdf/dist_cdf/
dist_quantile/dist_sample) andrng_sequence(). - Validation: a language-neutral oracle fixture suite consumed by C++, R, and Python
test runners, plus a dev-only gate replaying all 820 fixture assertions against the real
HEC-FDA C# source (820 reproduced, 0 failed). - Documentation site with five worked examples in both languages, a porting status page,
and full API references (quartodoc for Python, pkgdown for R). - Pixi development environment with tasks mapping to the Makefile targets.