CHANGELOG.md
CITATION.cff
INTEGRATION.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
docs/FlahaX_PyPI_Launch_v020.png
docs/FlahaX_Use_Workflow_v020.jpg
docs/chemistry-coverage-matrix.md
docs/computational-review.md
docs/delivery-contracts.md
docs/delivery-control-design.md
docs/delivery-quantities.md
docs/equilibrium-kernel.md
docs/fertilizer-equilibrium-model.md
docs/full-fertilizer-chemistry.md
docs/implementation-roadmap.md
docs/index.md
docs/method.md
docs/package-verification.md
docs/ph-planning.md
docs/publishing.md
docs/reference-fixtures.md
docs/release-evidence.md
docs/release-readiness.md
docs/stock-planning.md
docs/usage.md
docs/history/full-fertilizer-development.md
docs/history/reduced-equilibrium-model.md
docs/sources/flahax-chelate-thermodynamic-profile.md
docs/sources/yaravita-micronutrients-products-and-services-guide.pdf
src/flahax/__init__.py
src/flahax/__main__.py
src/flahax/ammonia.py
src/flahax/aqueous_model.py
src/flahax/catalogue_chemistry.py
src/flahax/competition.py
src/flahax/composition.py
src/flahax/delivery_contracts.py
src/flahax/delivery_plan.py
src/flahax/delivery_quantities.py
src/flahax/engine.py
src/flahax/equilibrium.py
src/flahax/equilibrium_delivery.py
src/flahax/fertilizer_equilibrium.py
src/flahax/mixed_equilibrium.py
src/flahax/ph_planning.py
src/flahax/phase_allocation.py
src/flahax/phosphate.py
src/flahax/phosphate_complexes.py
src/flahax/product_conversion.py
src/flahax/pump_planning.py
src/flahax/reference_fixtures.py
src/flahax/stock_planning.py
src/flahax/struvite.py
src/flahax/struvite_mixture.py
src/flahax/thermodynamics.py
src/flahax/trace_equilibrium.py
src/flahax.egg-info/PKG-INFO
src/flahax.egg-info/SOURCES.txt
src/flahax.egg-info/dependency_links.txt
src/flahax.egg-info/entry_points.txt
src/flahax.egg-info/top_level.txt
src/flahax/data/USER_GUIDE.md
src/flahax/data/chemistry_25c.json
src/flahax/data/library.json
tests/__init__.py
tests/test_ammonia.py
tests/test_carbonate_competition.py
tests/test_catalogue_chemistry.py
tests/test_chemistry_acceptance.py
tests/test_competition.py
tests/test_delivery_contracts.py
tests/test_delivery_plan.py
tests/test_delivery_properties.py
tests/test_delivery_quantities.py
tests/test_delivery_release_evidence.py
tests/test_equilibrium_delivery.py
tests/test_fertilizer_equilibrium.py
tests/test_guards.py
tests/test_gypsum_equilibrium.py
tests/test_library.py
tests/test_live_reference_policy.py
tests/test_pepper.py
tests/test_ph_planning.py
tests/test_phase_allocation.py
tests/test_phosphate.py
tests/test_phosphate_complexes.py
tests/test_preserved_chemistry_evidence.py
tests/test_product_conversion.py
tests/test_product_phreeqc.py
tests/test_pump_planning.py
tests/test_reference_fixtures.py
tests/test_release_hygiene.py
tests/test_stock_planning.py
tests/test_struvite.py
tests/test_struvite_mixture.py
tests/test_thermodynamics.py
tests/test_trace_equilibrium.py
tests/fixtures/phreeqc/ca_mg_phosphate_complexation.json
tests/fixtures/phreeqc/ca_sulfate_struvite_probe.pqi
tests/fixtures/phreeqc/calcite_allocation_probe.pqi
tests/fixtures/phreeqc/calcite_co2_equilibrium.json
tests/fixtures/phreeqc/carbonate_competition_probe.pqi
tests/fixtures/phreeqc/cu_edta.out
tests/fixtures/phreeqc/cu_edta.pqi
tests/fixtures/phreeqc/cu_edta.sel
tests/fixtures/phreeqc/fe_dtpa.out
tests/fixtures/phreeqc/fe_dtpa.pqi
tests/fixtures/phreeqc/fe_dtpa.sel
tests/fixtures/phreeqc/fe_eddha.out
tests/fixtures/phreeqc/fe_eddha.pqi
tests/fixtures/phreeqc/fe_eddha.sel
tests/fixtures/phreeqc/fe_edta.out
tests/fixtures/phreeqc/fe_edta.pqi
tests/fixtures/phreeqc/fe_edta.sel
tests/fixtures/phreeqc/gypsum_anhydrite_equilibrium.json
tests/fixtures/phreeqc/mn_edta.out
tests/fixtures/phreeqc/mn_edta.pqi
tests/fixtures/phreeqc/mn_edta.sel
tests/fixtures/phreeqc/preserved-evidence.json
tests/fixtures/phreeqc/struvite_probe.pqi
tests/fixtures/phreeqc/target_ph_nitric_dose.json
tests/fixtures/phreeqc/zn_edta.out
tests/fixtures/phreeqc/zn_edta.pqi
tests/fixtures/phreeqc/zn_edta.sel
tests/fixtures/phreeqc/database/flahax-chelates-25c.dat
tests/fixtures/phreeqc/database/flahax-phases-25c.dat
tests/fixtures/phreeqc/failures/01_macro_original.json
tests/fixtures/phreeqc/failures/01_macro_original.out
tests/fixtures/phreeqc/failures/01_macro_original.pqi
tests/fixtures/phreeqc/failures/01_macro_original.screen
tests/fixtures/phreeqc/failures/01_macro_original.sel
tests/fixtures/phreeqc/failures/02_add_fe_dtpa_original.json
tests/fixtures/phreeqc/failures/02_add_fe_dtpa_original.out
tests/fixtures/phreeqc/failures/02_add_fe_dtpa_original.pqi
tests/fixtures/phreeqc/failures/02_add_fe_dtpa_original.screen
tests/fixtures/phreeqc/failures/02_add_fe_dtpa_original.sel
tests/fixtures/phreeqc/failures/03_macro_sodium_balance.json
tests/fixtures/phreeqc/failures/03_macro_sodium_balance.out
tests/fixtures/phreeqc/failures/03_macro_sodium_balance.pqi
tests/fixtures/phreeqc/failures/03_macro_sodium_balance.screen
tests/fixtures/phreeqc/failures/03_macro_sodium_balance.sel
tests/fixtures/phreeqc/failures/04_add_fe_dtpa_sodium_balance.json
tests/fixtures/phreeqc/failures/04_add_fe_dtpa_sodium_balance.out
tests/fixtures/phreeqc/failures/04_add_fe_dtpa_sodium_balance.pqi
tests/fixtures/phreeqc/failures/04_add_fe_dtpa_sodium_balance.screen
tests/fixtures/phreeqc/failures/04_add_fe_dtpa_sodium_balance.sel
tests/fixtures/phreeqc/failures/05_actual_products_sodium_balance.json
tests/fixtures/phreeqc/failures/05_actual_products_sodium_balance.out
tests/fixtures/phreeqc/failures/05_actual_products_sodium_balance.pqi
tests/fixtures/phreeqc/failures/05_actual_products_sodium_balance.screen
tests/fixtures/phreeqc/failures/05_actual_products_sodium_balance.sel
tests/fixtures/phreeqc/failures/README.md
tests/fixtures/phreeqc/failures/error.inp
tests/fixtures/phreeqc/failures/phase_calcium_phosphate_initial_charge/calcium_phosphate.out
tests/fixtures/phreeqc/failures/phase_calcium_phosphate_initial_charge/calcium_phosphate.pqi
tests/fixtures/phreeqc/failures/phase_calcium_phosphate_initial_charge/calcium_phosphate.screen
tests/fixtures/phreeqc/failures/phase_calcium_phosphate_initial_charge/calcium_phosphate.sel
tests/fixtures/phreeqc/failures/phase_mixed_product_phases_initial_charge/mixed_product_phases.out
tests/fixtures/phreeqc/failures/phase_mixed_product_phases_initial_charge/mixed_product_phases.pqi
tests/fixtures/phreeqc/failures/phase_mixed_product_phases_initial_charge/mixed_product_phases.screen
tests/fixtures/phreeqc/failures/phase_mixed_product_phases_initial_charge/mixed_product_phases.sel
tests/fixtures/phreeqc/phases/calcite/calcite.out
tests/fixtures/phreeqc/phases/calcite/calcite.pqi
tests/fixtures/phreeqc/phases/calcite/calcite.screen
tests/fixtures/phreeqc/phases/calcite/calcite.sel
tests/fixtures/phreeqc/phases/calcite/expected.json
tests/fixtures/phreeqc/phases/calcium_phosphate/calcium_phosphate.out
tests/fixtures/phreeqc/phases/calcium_phosphate/calcium_phosphate.pqi
tests/fixtures/phreeqc/phases/calcium_phosphate/calcium_phosphate.screen
tests/fixtures/phreeqc/phases/calcium_phosphate/calcium_phosphate.sel
tests/fixtures/phreeqc/phases/calcium_phosphate/expected.json
tests/fixtures/phreeqc/phases/ferrous_phases/expected.json
tests/fixtures/phreeqc/phases/ferrous_phases/ferrous_phases.out
tests/fixtures/phreeqc/phases/ferrous_phases/ferrous_phases.pqi
tests/fixtures/phreeqc/phases/ferrous_phases/ferrous_phases.screen
tests/fixtures/phreeqc/phases/ferrous_phases/ferrous_phases.sel
tests/fixtures/phreeqc/phases/gypsum/expected.json
tests/fixtures/phreeqc/phases/gypsum/gypsum.out
tests/fixtures/phreeqc/phases/gypsum/gypsum.pqi
tests/fixtures/phreeqc/phases/gypsum/gypsum.screen
tests/fixtures/phreeqc/phases/gypsum/gypsum.sel
tests/fixtures/phreeqc/phases/magnesium_salts/expected.json
tests/fixtures/phreeqc/phases/magnesium_salts/magnesium_salts.out
tests/fixtures/phreeqc/phases/magnesium_salts/magnesium_salts.pqi
tests/fixtures/phreeqc/phases/magnesium_salts/magnesium_salts.screen
tests/fixtures/phreeqc/phases/magnesium_salts/magnesium_salts.sel
tests/fixtures/phreeqc/phases/mixed_product_phases/expected.json
tests/fixtures/phreeqc/phases/mixed_product_phases/mixed_product_phases.out
tests/fixtures/phreeqc/phases/mixed_product_phases/mixed_product_phases.pqi
tests/fixtures/phreeqc/phases/mixed_product_phases/mixed_product_phases.screen
tests/fixtures/phreeqc/phases/mixed_product_phases/mixed_product_phases.sel
tests/fixtures/phreeqc/phases/struvite/expected.json
tests/fixtures/phreeqc/phases/struvite/struvite.out
tests/fixtures/phreeqc/phases/struvite/struvite.pqi
tests/fixtures/phreeqc/phases/struvite/struvite.screen
tests/fixtures/phreeqc/phases/struvite/struvite.sel
tests/fixtures/phreeqc/phases/trace_carbonates/expected.json
tests/fixtures/phreeqc/phases/trace_carbonates/trace_carbonates.out
tests/fixtures/phreeqc/phases/trace_carbonates/trace_carbonates.pqi
tests/fixtures/phreeqc/phases/trace_carbonates/trace_carbonates.screen
tests/fixtures/phreeqc/phases/trace_carbonates/trace_carbonates.sel
tests/fixtures/phreeqc/phases/trace_hydroxides/expected.json
tests/fixtures/phreeqc/phases/trace_hydroxides/trace_hydroxides.out
tests/fixtures/phreeqc/phases/trace_hydroxides/trace_hydroxides.pqi
tests/fixtures/phreeqc/phases/trace_hydroxides/trace_hydroxides.screen
tests/fixtures/phreeqc/phases/trace_hydroxides/trace_hydroxides.sel
tests/fixtures/phreeqc/phases/trace_phosphates/expected.json
tests/fixtures/phreeqc/phases/trace_phosphates/trace_phosphates.out
tests/fixtures/phreeqc/phases/trace_phosphates/trace_phosphates.pqi
tests/fixtures/phreeqc/phases/trace_phosphates/trace_phosphates.screen
tests/fixtures/phreeqc/phases/trace_phosphates/trace_phosphates.sel
tests/fixtures/phreeqc/phases/zero_stock/expected.json
tests/fixtures/phreeqc/phases/zero_stock/zero_stock.out
tests/fixtures/phreeqc/phases/zero_stock/zero_stock.pqi
tests/fixtures/phreeqc/phases/zero_stock/zero_stock.screen
tests/fixtures/phreeqc/phases/zero_stock/zero_stock.sel
tests/fixtures/phreeqc/products/ch_micro/ch_micro.out
tests/fixtures/phreeqc/products/ch_micro/ch_micro.pqi
tests/fixtures/phreeqc/products/ch_micro/ch_micro.screen
tests/fixtures/phreeqc/products/ch_micro/ch_micro.sel
tests/fixtures/phreeqc/products/ch_micro/expected.json
tests/fixtures/phreeqc/products/citrate/citrate.out
tests/fixtures/phreeqc/products/citrate/citrate.pqi
tests/fixtures/phreeqc/products/citrate/citrate.screen
tests/fixtures/phreeqc/products/citrate/citrate.sel
tests/fixtures/phreeqc/products/citrate/expected.json
tests/fixtures/phreeqc/products/cu_edta/cu_edta.out
tests/fixtures/phreeqc/products/cu_edta/cu_edta.pqi
tests/fixtures/phreeqc/products/cu_edta/cu_edta.screen
tests/fixtures/phreeqc/products/cu_edta/cu_edta.sel
tests/fixtures/phreeqc/products/cu_edta/expected.json
tests/fixtures/phreeqc/products/fe_dtpa/expected.json
tests/fixtures/phreeqc/products/fe_dtpa/fe_dtpa.out
tests/fixtures/phreeqc/products/fe_dtpa/fe_dtpa.pqi
tests/fixtures/phreeqc/products/fe_dtpa/fe_dtpa.screen
tests/fixtures/phreeqc/products/fe_dtpa/fe_dtpa.sel
tests/fixtures/phreeqc/products/fe_eddha/expected.json
tests/fixtures/phreeqc/products/fe_eddha/fe_eddha.out
tests/fixtures/phreeqc/products/fe_eddha/fe_eddha.pqi
tests/fixtures/phreeqc/products/fe_eddha/fe_eddha.screen
tests/fixtures/phreeqc/products/fe_eddha/fe_eddha.sel
tests/fixtures/phreeqc/products/fe_edta/expected.json
tests/fixtures/phreeqc/products/fe_edta/fe_edta.out
tests/fixtures/phreeqc/products/fe_edta/fe_edta.pqi
tests/fixtures/phreeqc/products/fe_edta/fe_edta.screen
tests/fixtures/phreeqc/products/fe_edta/fe_edta.sel
tests/fixtures/phreeqc/products/mixed_products/expected.json
tests/fixtures/phreeqc/products/mixed_products/mixed_products.out
tests/fixtures/phreeqc/products/mixed_products/mixed_products.pqi
tests/fixtures/phreeqc/products/mixed_products/mixed_products.screen
tests/fixtures/phreeqc/products/mixed_products/mixed_products.sel
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/expected.json
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric.out
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric.pqi
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric.screen
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric.sel
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_fix_h.out
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_fix_h.pqi
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_fix_h.screen
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_fix_h.sel
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_target.out
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_target.pqi
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_target.screen
tests/fixtures/phreeqc/products/mixed_target_ph_nitric/mixed_target_ph_nitric_target.sel
tests/fixtures/phreeqc/products/mn_edta/expected.json
tests/fixtures/phreeqc/products/mn_edta/mn_edta.out
tests/fixtures/phreeqc/products/mn_edta/mn_edta.pqi
tests/fixtures/phreeqc/products/mn_edta/mn_edta.screen
tests/fixtures/phreeqc/products/mn_edta/mn_edta.sel
tests/fixtures/phreeqc/products/zn_edta/expected.json
tests/fixtures/phreeqc/products/zn_edta/zn_edta.out
tests/fixtures/phreeqc/products/zn_edta/zn_edta.pqi
tests/fixtures/phreeqc/products/zn_edta/zn_edta.screen
tests/fixtures/phreeqc/products/zn_edta/zn_edta.sel
tools/archive_evidence_manifest.py
tools/build_chemistry_model.py
tools/debug_nitric_phreeqc.py
tools/phreeqc_evidence.py
tools/phreeqc_phase_evidence.py
tools/provision_phreeqc.ps1
tools/verify_distribution.py