How dabdul-wahab1988/hydrosheaf works
Hydrosheaf is a groundwater-inference framework: users provide hydrochemical, isotope/tracer, and site/network data, then obtain fitted edge-level transport and reaction results plus diagnostics. Its documented workflow combines data handling, graph construction, chemical inference, topology and assumption auditing, and result export. The README also describes age, temporal, 3D, calibration, and measurement-planning capabilities, shown as distinct branches. Sampled source excerpts do not include the API implementation, so detailed internal call ownership is uncertain; the connections below reflect documented workflow roles rather than verified calls.
Main entry points: network_fit.py Network fitting · api.py Network pipeline · build.py Candidate graph · active_learning.py Active learning
Components 22
Inference workflow
- Network pipeline
hydrosheaf/api.py - Inference config
hydrosheaf/config.py - Data parsing and QC
hydrosheaf/data/parsing.py - Candidate graph
hydrosheaf/graph/build.py - Network fitting
hydrosheaf/inference/network_fit.py - Result export
hydrosheaf/outputs/export.py
Chemistry and reactions
- Transport models
hydrosheaf/models/mixing.py - Reaction inference
hydrosheaf/models/reactions.py - PHREEQC constraints
hydrosheaf/phreeqc/constraints.py - Isotope analysis
hydrosheaf/isotopes.py
Network evidence
- Null-model screening
hydrosheaf/null_models/chemistry.py - Head inference
hydrosheaf/graph/head_inference.py - Sheaf refinement
hydrosheaf/sheaf/topology_refine.py - Topology posterior
hydrosheaf/inference/topology_posterior.py
Tracer and time
- Nuclear tracer ages
hydrosheaf/nuclear/joint_lpm.py - Residence-time analysis
hydrosheaf/temporal/residence_time.py - 3D flow networks
hydrosheaf/graph3d/build_3d.py
Analysis extensions
- Active learning
hydrosheaf/calibration/active_learning.py - Model calibration
hydrosheaf/calibration/validation_workflow.py - Uncertainty analysis
hydrosheaf/uncertainty/bayesian.py - Benchmark validation
hydrosheaf/validation/integrated_benchmark.py
Other components
- Groundwater analyst
Connections 22
- Groundwater analyst → Network pipeline: submits inputs
- Groundwater analyst → Inference config: sets options
- Network pipeline → Data parsing and QC: accepts samples
- Network pipeline → Candidate graph: runs pipeline
- Network pipeline → Network fitting: fits network
- Network fitting → Result export: produces results
- Candidate graph → Network fitting: supplies candidates
- Network fitting → Transport models: fits transport
- Network fitting → Reaction inference: fits reactions
- Network fitting → PHREEQC constraints: applies constraints
- Network fitting → Isotope analysis: uses isotope evidence
- Network fitting → Head inference: uses head evidence
- Network fitting → Null-model screening: screens alternatives
- Network fitting → Sheaf refinement: refines topology
- Network fitting → Topology posterior: estimates topology
- Network fitting → Nuclear tracer ages: uses tracer ages
- Network fitting → Residence-time analysis: estimates residence time
- Network fitting → 3D flow networks: supports 3D analysis
- Network fitting → Uncertainty analysis: quantifies uncertainty
- Active learning → Network fitting: guides measurements
- Model calibration → Network fitting: calibrates models
- Benchmark validation → Network fitting: benchmarks inference