Skip to content

Repository files navigation

BrineValue OS v0.5.2

Открытый on-prem проект для акселерационной программы INDUSTRIX 2026.

Направление: «Кросс-функциональные решения» — извлечение металлов из попутно добываемой воды на объектах нефтегазодобычи; также подготовка промысловых вод, ресурсная валоризация, технико-экономический анализ и российское ПО.

Репозиторий: https://github.com/KonkovDV/brinevalue-os · Лицензия: Apache-2.0


Суть решения

BrineValue OS — локальная инженерная система предварительного отбора пластовых и попутно добываемых вод для лабораторной проверки извлечения лития, брома, стронция, калия и бора.

Йод учитывается в составе воды как потенциальный компонент и может участвовать в расчёте цены, однако отдельная технологическая операция его извлечения в текущей версии не реализована.

Система не является:

  • цифровым двойником;
  • FEED-решением;
  • промышленной системой управления;
  • сертификатом качества продукта;
  • инвестиционной моделью.

Она работает в рекомендательном режиме и предназначена для этапа между архивом анализов и расширенной лабораторной программой.


Производственный сценарий

Предварительный отбор потоков пластовой или попутно добываемой воды перед лабораторными и стендовыми испытаниями.

Проблема заказчика: большое число потоков и технологических вариантов приходится проверять экспериментально до того, как становятся понятны ограничения по составу воды, соотношению Mg/Li, солеотложению, органике, реагентам, энергии, отходам и качеству конечного продукта.

Потенциальные пользователи

  • инженер-технолог;
  • специалист по химии и подготовке воды;
  • руководитель лабораторной или пилотной программы;
  • специалист по технико-экономической оценке;
  • владелец производственного актива, принимающий решение о следующем этапе.

Предполагаемые входные данные (принимаются кодом)

Вход письма Поле в коде
Концентрации Li, Br, Sr, K, B, I, Na, Ca, Mg, Ba, Cl, SO₄, HCO₃ Brine.ions
Дебит Brine.flow
История дебита Brine.flow_history (список / CSV flow_history)
Температура, pH, органика temp, ph, org
Неопределённости измерений Brine.unc / CSV unc_*
Ограничения инфраструктуры Brine.infrastructure / CSV infrastructure_json
Стоимость реагентов и энергии Brine.site_econ.reagent_price / energy_price
Требования к продукту Brine.product_requirements (напр. max_mg_li)
Предварительные цены и TEA-параметры site_econ.prices, discount, years

Ответ analyze включает site_context с флагом letter_inputs_present.


Что реализовано в текущей версии

  • проверка входных данных и контроль качества анализа;
  • расчёт ионного баланса и ионной силы;
  • предварительная оценка индексов солеотложения методом Davies в пределах применимости модели;
  • предупреждение о необходимости Pitzer / PHREEQC / Reaktoro для более концентрированных рассолов;
  • сравнение восьми фиксированных технологических сценариев;
  • последовательное обновление состава воды после операций предварительной подготовки;
  • расчёт предварительного извлечения Li, Br, Sr, K и B;
  • компонентный материальный баланс (программный ledger);
  • предварительная оценка CAPEX, OPEX, NPV, окупаемости и стоимости продукта;
  • сценарный анализ цены Li₂CO₃;
  • оценка P(NPV > 0) и устойчивости выбранной схемы при неопределённости состава и дебита;
  • ранжирование дополнительных измерений по ожидаемому снижению разброса NPV;
  • управляемые решения: не продолжать / лаборатория / проектирование пилота;
  • запрет перехода к масштабированию при предварительных экономических допущениях;
  • локальное развёртывание: CLI, FastAPI, Streamlit, Docker;
  • импорт CSV / Excel;
  • воспроизводимый HTML-отчёт;
  • документация по ограничениям, безопасности, научным методам и плану валидации.

Проверка зафиксированной версии

На текущем дереве репозитория:

Проверка Результат
Автотесты 77 (python run_tests.py)
Синтетический benchmark GATES PASS
Adversarial / red-team suite 0 зарегистрированных отказов
Данные demo / benchmark синтетические

Результаты подтверждают корректность программных ограничений и логики обработки, но не являются подтверждением полевой точности моделей.


Важные ограничения

Экономика. Предварительная TEA использует допущения по ценам, CAPEX/OPEX, энергии и реагентам (screening_placeholder). Результаты — для сравнения вариантов и раннего отсева слабых сценариев, не для инвестиционного решения без данных объекта.

Материальный баланс. Ledger программно сохраняет связь feed → recovered / removed / residual. Замыкание баланса — свойство реализации, не независимое доказательство физической точности. Для пилота нужен измеренный баланс по фактическим потокам.

Bayesian update. Диагностический: обновляет оценку извлечения после лабораторных наблюдений, но не заменяет автоматически параметры технологической модели и не подменяет лабораторную калибровку.

Davies SI. Decision-grade только при I ≤ 0.5 mol/L; иначе — прозрачность + маршрутизация к Pitzer/PHREEQC.

Подробнее: docs/LIMITATIONS.md, docs/INDUSTRIX_APPLICATION_SYNC_2026_07_23.md, docs/INDUSTRIX_CLAIM_MAP.md.


Быстрый старт

pip install -e ".[excel]"   # excel optional (openpyxl)
python -m brinevalue.cli demo --index 0 --report artifacts/demo_report.html
python -m brinevalue.cli screen data/streams.csv
python -m benchmark.run_benchmark
python -m benchmark.redteam
python run_tests.py
Сервис Команда
API uvicorn brinevalue.api:app --host 127.0.0.1 --port 8000
UI streamlit run brinevalue/dashboard.py
Docker docker compose up (bind 127.0.0.1; опционально BRINEVALUE_API_TOKEN)

Конвейер: QC → SI (Davies) → 8 схем → TEA → P(NPV>0) + stability → ranking измерений → no_go / lab / pilot.

recommend() всегда governed. Сырой NPV — в raw_decision (может содержать scale, но governed его не выдаёт).

AppSec: docs/SECURITY_REMEDIATION_PLAN_2026_07_23.md.


Версии

  • v0.5.2 — INDUSTRIX claim sync + AppSec harden (XSS, loopback Docker, API bounds/token, scale→pilot cap, honest Bayes/DoE/TEA labels).
  • v0.5.1 — packaging, governed recommend, Davies gating.
  • v0.5.0 — INDUSTRIX readiness layer.

About

Open on-prem screening tool for formation/produced water (Li/Br/Sr). Advisory only — lab validation required. Not a plant digital twin. Apache-2.0.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages