WEPPcloud

← Back to usersum index

Role: user

Change Log

Canonical WEPP build/version history for wepp-forest.

Required maintenance rule:

  • update this file whenever a new build or rebuild is made (including new release-tagged binaries and version-affecting commits).
  • add new entries at the top (descending chronology).
  • when a matching release/wepp_<tag>_release_notes.md file exists, include a markdown link to it in that row's Notes cell; omit the link when no release notes file exists.

Reconstructed from git log using release/version-related commits (latest first), through 07/19/2022.

Date Commit Hash Compiler Version Notes
05/17/2026 03fee455 gfortran (source only, no dated release binary cut) Vendored winter.for day-end melt aggregation math defect fix (two-line correction at lines 441/458: signed-comparison fix pstvML + ngtvML .le. 0.0 and multiplier sign flip (1+ngtvML/pstvML)). Identified via Dun-dissertation crosswalk (docs/winter-codes-scientific-review.md §4.A); empirically latent (1166-hillslope WB-05B cohort scan shows class2=class3=0 across 21.7M winter-active rows — snowd does not produce negative hrmlt in current production data, so the patched branch is unreachable). 20-hillslope WB-05B parity validation: 20/20 bit-identical (no-op as expected). Fix is correct-when-it-fires, no-op otherwise. No dated release binary cut in this commit; vendoring to wepppy deferred until bundled with next release. Package: docs/ablation/20260516_winter_day_end_melt_aggregation_sign_defect/, status resolved-latent.
05/16/2026 0f94b4ea gfortran wepp_260516fc1 Built release/wepp_260516fc1 + release/wepp_260516fc1_hill (and sidecars) with TARGET_TAG=260516fc1 HBP_SUPPORTED=true MODE2_MASTER_PASS_PROMPT_REQUIRED=false LINK_FLAGS='-mcmodel=medium -no-pie -lz' tools/build_wepp_dated_release.sh (first attempt without -lz failed zlib link symbols; recut with -lz). Release hashes: watershed e25b4ee5..., hillslope 706a12a2.... Validation: release host smoke (p962, p1) passed for both binaries, interpreter checks (/lib64/ld-linux-x86-64.so.2), hillslope watchlist (19/19), ablation artifact policy gate OK, full pytest -q (189 passed, 2 warnings), and reconciled-condenser watershed replay success marker (WEPP COMPLETED WATERSHED SIMULATION SUCCESSFULLY) with no parse/runtime signatures.
05/15/2026 62c2102e + WB35 ipeak=4 peak-writeback recut (dirty tree) gfortran wepp_260514 Rebuilt and recut release/wepp_260514 + release/wepp_260514_hill (and sidecars) with TARGET_TAG=260514 HBP_SUPPORTED=true MODE2_MASTER_PASS_PROMPT_REQUIRED=false LINK_FLAGS='-mcmodel=medium -no-pie -lz' tools/build_wepp_dated_release.sh to incorporate the wshrun ipeak=4 legacy peak-seeding fallback that prevents all-zero ebe_pw0 peak runoff while chan.out remains positive. Validation: host smoke (src/wepp, src/wepp_hill), hillslope watchlist (14/14), ablation artifact policy gate, full pytest (179 passed), reconciled-condenser watershed replay success marker (WEPP COMPLETED WATERSHED SIMULATION SUCCESSFULLY) with no parse/runtime signatures, interpreter checks (/lib64/ld-linux-x86-64.so.2), WEPPpy vendoring to wepp_runner/bin/wepp_260514*, provenance + host smoke pass on vendored binaries, and targeted WEPPpy runner tests (8 passed). Release notes: release/wepp_260514_release_notes.md.
05/06/2026 c836a368 + PS-08 HBP CRC remediation + HBP gate/tooling alignment (dirty tree release tooling/docs updates) gfortran wepp_260506fc3 Built release/wepp_260506fc3 + release/wepp_260506fc3_hill with TARGET_TAG=260506fc3 HBP_SUPPORTED=true MODE2_MASTER_PASS_PROMPT_REQUIRED=false tools/build_wepp_dated_release.sh; hardened src/wshpas.for to retire legacy process pass text output in this release (H*.pass.dat now explicit stop; only H*.hbp accepted) and removed legacy text-path writes in HBP mode; refreshed host smoke/watchlist tooling to sidecar-detect HBP and stage run-file pass names accordingly. Vendored wepp_260506fc3* into /workdir/wepppy/wepp_runner/bin. Validation: source/release smoke (wepp + wepp_hill), hillslope watchlist (13/13), ablation artifact policy gate, targeted wepp-forest regression tests (16 passed), WEPPpy provenance + host smoke, wctl run-pytest tests/wepp_runner tests/wepp/interchange tests/nodb/test_wepp_input_parser.py tests/nodb/test_wepp_run_service.py tests/rq/test_wepp_rq_stage_post.py tests/microservices/test_rq_engine_wepp_routes.py --maxfail=1 (251 passed, 3 skipped), cargo fmt, cargo test -p wepp_interchange_rust (16 passed), and reconciled-condenser end-to-end HBP regeneration + watershed replay success (74/74 H*.hbp Rust-parse clean, watershed success marker, ~29s).
05/06/2026 e1b6c69b + PS-08 pass-release retirement closeout (dirty tree release tooling/docs updates) gfortran wepp_260506fc2 Built release/wepp_260506fc2 + release/wepp_260506fc2_hill with TARGET_TAG=260506fc2 HBP_SUPPORTED=true MODE2_MASTER_PASS_PROMPT_REQUIRED=false tools/build_wepp_dated_release.sh; retired mode 3 external pass reload in src/main.for; added sidecar contract flag features.mode2_master_pass_prompt_required via release tooling and generated release/wepp_260506fc2*.json with hbp_supported=true, mode2_master_pass_prompt_required=false, mode3_process_pass_reload=false. Vendored wepp_260506fc2* into /workdir/wepppy/wepp_runner/bin. Validation: WEPP source smoke (wepp, wepp_hill), hillslope watchlist (13/13), ablation policy gate, full pytest (108 passed), WEPPpy provenance + host smoke for vendored binaries, wctl run-pytest tests/wepp_runner tests/wepp/interchange --maxfail=1 (105 passed, 3 skipped), and end-to-end reconciled-condenser watershed replay from WEPPpy-generated HBP runfile (WEPP COMPLETED WATERSHED SIMULATION SUCCESSFULLY, elapsed 2:14.73).
05/06/2026 5332bccc + PS-07 downstream binary-pass closeout (dirty tree release tooling/docs updates) gfortran wepp_260506fc1 Built release/wepp_260506fc1 + release/wepp_260506fc1_hill with TARGET_TAG=260506fc1 HBP_SUPPORTED=true tools/build_wepp_dated_release.sh; added automated sidecar generation via tools/generate_wepp_release_sidecar.py and emitted release/wepp_260506fc1*.json with features.hbp_supported=true. Vendored wepp_260506fc1* into /workdir/wepppy/wepp_runner/bin and removed stale wepp_260425*.json sidecars. Validation used feature-complete recut policy: cargo fmt, cargo test -p wepp_interchange_rust (16 passed), wctl run-pytest tests/wepp_runner tests/wepp/interchange --maxfail=1 (102 passed, 3 skipped), WEPPpy provenance + host smoke pass for both binaries, markdown-doc lint + git diff --check pass, and quarantined re/ch lanes remained unscheduled (active lane ge).
05/04/2026 eddc05a3 + WB-08A closeout/release provenance patch set gfortran wepp_260504 Built release/wepp_260504 + release/wepp_260504_hill using pinned /usr/bin/gfortran (TARGET_TAG=260504) with hash parity to src/wepp + src/wepp_hill (efb38304..., 5c705a37...). Validated release smoke for both binaries, hillslope watchlist (13/13), ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2), ablation artifact policy gate, and release fast-lane pytest (100 passed, 2 deselected) after marking tests/test_wb05f_h0001_process_guard_regression.py as long_running and replacing release-required targeted replay with WB-08A reduced-lane (H0001, H0461, H0022) coverage.
05/01/2026 66de499b + withdrawn release-candidate cycle (dirty tree docs/state updates) gfortran wepp_260501 wepp_260501 / wepp_260501_hill was a release-candidate artifact cycle for the CONFLICT-001 U6C campaign, not a deployed production release. The prior promotion/deployment wording is superseded. The release/wepp_260501* artifacts, /workdir/wepppy/wepp_runner/bin/wepp_260501* vendored copies, and stakeholder brief were removed on 2026-05-03 after H2637 R2 re-examination showed only outlet recovery, not reproduction of the audit memo's worst-OFE symmetric metric.
04/30/2026 20029107 + fixed-form hotfix (dirty tree) gfortran wepp_260430 Re-released wepp_260430/wepp_260430_hill to fix watershed master pass truncation introduced in the leap-year patch: src/wshpas.for leap-day assignment was in column 73 under fixed-form -ffixed-line-length-72, so ndays = 366 was truncated to ndays = 36, yielding truncated pass_pw0.txt and downstream EOF in wshred. Patched to fixed-form-safe multiline if ... then / ndays = 366 / endif, added regression test tests/test_wshpas_leap_day_guard.py, rebuilt binaries, and refreshed release artifacts with hashes b11c94d8... (wepp_260430) and 3b2fdd2b... (wepp_260430_hill). Validation: host smoke (wepp + wepp_hill), hillslope watchlist (12/12), ablation artifact policy gate, full pytest (80 passed, 2 warnings), reconciled-condenser manual watershed replay success marker with no parse/runtime signatures, interpreter checks (/lib64/ld-linux-x86-64.so.2), and targeted reproduction closure (pass_pw0.txt full 18262 tokens ending SUBEVENT 50 365).
04/30/2026 6084c260 (dirty tree leap contract patch) gfortran wepp_260430 Updated leap handling in src/stmget.for, src/contin.for, src/wshdrv.for, and src/wshpas.for to use Gregorian classification (/4 except /100 unless /400) while retaining a non-400 centurial day-366 tolerance path in runtime day-count loops. Rebuilt/published release/wepp_260430 + release/wepp_260430_hill (hashes ecee0f1a... and 5b1d758e...). Validated source-binary smoke on both binaries, hillslope watchlist (12/12), ablation artifact policy gate, full pytest -q (79 passed, 2 warnings), reconciled-condenser watershed replay success marker with no parse/runtime signatures, ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2), and centurial controls (year100/365 no false warning, year100/366 tolerated success, year2000/366 leap success).
04/29/2026 e9787597 (dirty tree hotfix) gfortran wepp_260429 Hotfix rebuild to remove accidental always-on observability overhead in src/wepp_observe.for: restored strict wepp_observe.on opt-in for all tags and cached the observe-flag inquire(...) result once per process to eliminate per-call filesystem probes in hot paths. Rebuilt/overwrote release/wepp_260429 + release/wepp_260429_hill; hashes moved from 35b2aabd.../f8977a96... to 225f1759.../0a7a5ced.... Validated host smoke on both binaries, ablation artifact policy gate, full pytest (79 passed, 2 warnings), and high-concurrency /wc1 hillslope timeout repro closure (fails=32 -> fails=0).
04/29/2026 ea7123e7 (dirty tree) gfortran wepp_260429 Released release/wepp_260429 + release/wepp_260429_hill from pinned /usr/bin/gfortran via TARGET_TAG=260429 COMPILER=/usr/bin/gfortran tools/build_wepp_dated_release.sh; build includes producer-side optional trailing H.wat storage/capacity fields (SoilWaterTotal, ProfileDepth, ProfilePorosityCap, ProfileFCStore, ProfileWPStore) emitted from model state while preserving existing baseline columns. Release hashes 35b2aabd... (wepp_260429) and f8977a96... (wepp_260429_hill). Validated release host smoke on both binaries, hillslope watchlist (12/12), ablation artifact policy, full pytest (79 passed, 2 warnings), reconciled-condenser watershed replay success marker with no parse/runtime error signatures, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/28/2026 241b6c5f (dirty tree) gfortran wepp_260428 Closed ablation incident 20260427_unveiled-grinder_pw0_watershed_sigfpe-evappm-watbal-hourly; added minimal evappm guard in src/evappm.for to prevent etks = wftrp/(TAW-RAW) divide-by-zero/non-positive denominator traps (TAW-RAW <= 0 -> etks=1.0). Released release/wepp_260428 + release/wepp_260428_hill from pinned /usr/bin/gfortran via TARGET_TAG=260428 COMPILER=/usr/bin/gfortran tools/build_wepp_dated_release.sh; release hashes dc51a73b... (wepp_260428) and e8097d48... (wepp_260428_hill). Validated host smoke on both source binaries, hillslope watchlist (12/12), full pytest (53 passed), reconciled-condenser watershed replay success marker, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/27/2026 6bb872ca (dirty tree) gfortran wepp_260427 Released release/wepp_260427 + release/wepp_260427_hill from pinned /usr/bin/gfortran via tools/build_wepp_dated_release.sh; build source was 6bb872ca plus intentional local release edits (src/makefile traceability flags -g -fbacktrace retained with -O2, plus dirty-cycle docs updates). Release hashes 5ba0b48f... (wepp_260427) and bf9e5468... (wepp_260427_hill). Documented watershed-capacity include guidance for dirty release cycles (pmxelm.inc, pmxhil.inc, pmxpln.inc, pntype.inc) requiring aligned verification + changelog/handoff recording with effective limits. Validated host smoke on both release binaries, hillslope watchlist (12/12), full pytest (53 passed), reconciled-condenser watershed replay success marker, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/26/2026 9cbed3ec gfortran wepp_260426 Rebuilt and replaced non-viable release/wepp_260426 + release/wepp_260426_hill from pinned /usr/bin/gfortran (hashes 08170a77... and bacee355...) after closing ablation campaign 20260426_taken-brainstem_p1408_hillslope_sigfpe-watbal-log10; retained watbal hk-domain guard (fc/ul <= 0 -> hk=0) and semantic-parity evidence lanes (C300/C310), promoted permanent hillslope watchlist coverage (12/12 pass, including p1408/p258/p1319), and added wshpas pass-metadata parse-stop diagnostics for truncated/empty hillslope pass files; validated host smoke gates (src/wepp, src/wepp_hill), full pytest (53 passed), reconciled-condenser watershed replay success marker, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/25/2026 d452402 gfortran wepp_260425 Closed ablation campaign 20260425_p258-p1319_hillslope_sigfpe-watbal-log10; promoted watbal_hourly hk-domain guard (fc/ul <= 0 -> hk=0) for p258/p1319 SIGFPE/log10 containment; hardened src/makefile compiler/linker selection to avoid Homebrew-linked binaries; published release/wepp_260425 + release/wepp_260425_hill from pinned /usr/bin/gfortran with hashes 8cc6a3e6... and db9e082e...; validated host smoke gates, reconciled-condenser watershed replay success marker, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2). Canonical full pytest evidence for this campaign: 43 passed (artifacts/logs/gates/pytest.stdout.txt).
04/21/2026 81dd7f9 gfortran wepp_260421b Released wepp_260421b and wepp_260421b_hill from pinned /usr/bin/gfortran builds with the wshpas.for zero-duration runoff hardening (WFR_G_WPDU/WPSL/WPTD/WPRV) for srivas42-combatant-ionosphere p24 SIGFPE containment. Validated host smoke gates (src/wepp, src/wepp_hill), full pytest (40 passed), reconciled-condenser watershed replay success marker, ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2), and provenance gate pass for both binaries.
04/21/2026 d10d061 gfortran wepp_260421 Retagged canonical vendored binary names to wepp_260421 and wepp_260421_hill by replacing the prior 04/20/2026 artifacts with the validated 04/21/2026 build outputs (wepp_20260421*) from the same source commit; removed duplicate wepp_20260421* aliases from wepp_runner/bin to eliminate split runtime selection paths. Re-validated provenance and host smoke gates on the canonical wepp_260421* names after retagging.
04/21/2026 d10d061 gfortran wepp_20260421 Released wepp_20260421 and wepp_20260421_hill from src/wepp + src/wepp_hill built with pinned /usr/bin/gfortran; includes the perc.for UI seepage denominator guard (WFR_G_PSSZ) from the exorbitant-affidavit p14 SIGFPE remediation. Validated host smoke gates, full pytest (40 passed), reconciled-condenser manual watershed replay success marker, ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2), and provenance gate pass for both binaries.
04/20/2026 b3dab94 gfortran wepp_260421 Rebuilt wepp_260421_hill with /usr/bin/gfortran via tools/build_wepp_dated_release.sh to align hillslope OFE/management bounds (ntype/ntype2) with mxplan=20; retained inline hill guard comment to avoid setting mxplan above 20; verified exorbitant-affidavit p41 (iofe=19) now completes successfully; validated host smoke gates, reconciled-condenser manual watershed replay, ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2), and full pytest (39 passed) with WEPP_GUARDED_BINARY=/workdir/wepp-forest/src/wepp.
04/20/2026 bbf813c gfortran wepp_260421 Released wepp_260421 and wepp_260421_hill with /usr/bin/gfortran via tools/build_wepp_dated_release.sh; increased hillslope mxplan guardrail from 15 to 20 (with inline do-not-exceed comments in hill include variants); validated host smoke gates, full pytest, reconciled-condenser manual watershed replay, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/19/2026 a3ec823 gfortran wepp_260419 Released wepp_260419 and wepp_260419_hill with /usr/bin/gfortran via tools/build_wepp_dated_release.sh; added watershed numeric guards in wshdrv.for/wshchr.for/case34.for for data-triggered SIGFPE containment; validated host smoke gates, full pytest, reconciled-condenser manual watershed replay, and ELF interpreter compatibility (/lib64/ld-linux-x86-64.so.2).
04/18/2026 c3a082e gfortran wepp_260418 Rebuilt wepp_260418/wepp_260418_hill from current source with /usr/bin/gfortran; promoted p325 SIGFPE hardening guard in src/param.for into the canonical wepp_260418_hill release; added srivas42-claustrophobic-shortcut p325/p326 fixture coverage and ablation evidence.
04/18/2026 9e09730 gfortran wepp_260418 Released wepp_260418 and wepp_260418_hill using /usr/bin/gfortran via tools/build_wepp_dated_release.sh; validated host smoke gates, full pytest suite, and reconciled-condenser watershed replay success marker.
04/17/2026 eb88c57 gfortran wepp_260417 Released wepp_260417 and wepp_260417_hill from the peak-flow multi-OFE saturation-excess runoff correction in src/irs.for (contour/non-contour scaling parity fix).
04/14/2026 a371884 gfortran wepp_260414 Added dated release build workflow (tools/build_wepp_dated_release.sh), disabled unsafe make all race path in src/makefile, added in-repo delicate_game_pw0 fixture with parity regression tests, and published release/wepp_260414* built with -O2 -finit-local-zero.
04/09/2026 c982160 gfortran wepp_260409 Fixed lower-bound GLC table lookup handling in hydchn.for, rebuilt wepp/wepp_hill with /usr/bin/gfortran, and published release/wepp_260409*.
03/24/2026 d6b923b gfortran wepp_260324 Fixed watershed pass metadata parsing for widened hillslope IDs, added reconciled-condenser regression fixture/manual gate, and corrected watershed banner channel-line alignment.
03/24/2026 41dc020 gfortran wepp_260324 Widened hillslope/channel ID output formatting and rebuilt binaries (wepp_260324 vendored in wepppy).
03/19/2026 be4cf6d gfortran wepp_260319 Added pinned gfortran rebuild workflow and refreshed wepp_260319 binaries.
10/03/2025 74ec026 ifx - Fixed IFX hillslope hangs by relaxing deposition tolerance.
10/03/2025 356f64d ifx - Added hillslope-optimized binary build (wepp_hill) alongside watershed build.
09/15/2025 08e8872 ifx wepp_250915 IFX 50k makefile and release refresh (wepp_250915).
08/08/2025 f63fcf5 ifort wepp_50k wepp_50k revision.
08/05/2025 f48e495 ifort wepp_50k Initial wepp_50k release commit.
03/12/2025 a557997 ifort - Watershed pass-file parsing updated for longer first-table hillslope filenames.
03/12/2025 726fbd5 ifort - Increased WEPP pass-file name size.
03/11/2025 bcf2ac5 ifort - Updated cwshed.inc release content.
03/11/2025 30ae9f7 ifort - Extended filen length to 111 characters.
06/06/2024 548fe07 ifort - outfil.for/open.for support for 91-character paths.
06/06/2024 6e47b5a ifort - outfil.for filen length extended to 91 characters.
06/22/2023 bc9bccb ifort wepp_bc9bccb Release revision commit (wepp_bc9bccb).
06/13/2023 31131a7 ifort - Added conditional keff behavior based on lkeff.
06/13/2023 050dd9d ifort wepp_050dd9d Linux release/wepp refresh (wepp_050dd9d).
04/21/2023 201e020 ifort wepp_201e020 Increased watershed size limit (wepp_201e020).
04/14/2023 e4cdc93 ifort wepp_e4cdc93 Increased maximum channels to 3600 (wepp_e4cdc93).
03/30/2023 eeaed4b ifort wepp_eeaed4b Linux compiled release (wepp_eeaed4b).
08/09/2022 5800970 ifort wepp_580097 9002 soils Linux build (wepp_580097).
08/05/2022 57afbc8 ifort - Validated 9002 soils release.
08/05/2022 f5fc4cb ifort wepp_f5fc4cb 9002 soils Van Genuchten parsing release (wepp_f5fc4cb).
07/19/2022 81fd281 ifort - 9001 soils Linux build baseline (keff-adjusted line).