Solution for calibrating and correcting surface/downhole WOB measurements, then propagating corrected limits through advisor/composer/ADCS-style flows on the DWIS Blackboard.
This repository contains:
- core calibration/correction model logic
- synthetic measurement generation and replay tools
- the main correction server worker
- helper workers to simulate upstream/downstream components
- model/code generation tooling for shared OpenAPI-based contracts
All projects target .NET 8.
High-level flow:
TestSourcespublishes synthetic top-side + downhole measurements.Serveringests measurements and computes corrected outputs.TestAdvisorconsumes corrected WOB and publishes an advisor max limit.TestComposerforwards advisor max limit as composer recommendation.Serverapplies correction to composer recommendation and republishes corrected recommendation.TestADCSmonitors original vs corrected recommendation values.
Offline validation path:
ModelTestgenerates datasets and fit diagnostics (JSON/CSV) to evaluate calibration behavior.
DWIS.Service.WOBCorrections.Model- Core domain models and calibration/correction engine (
CalibratorCorrector).
- Core domain models and calibration/correction engine (
DWIS.Service.WOBCorrections.MeasurementGeneration- Synthetic drilling measurement generator (top-side + downhole series).
DWIS.Service.WOBCorrections.Server- Main worker service that reads measurements/recommendations and publishes corrected outputs.
DWIS.Service.WOBCorrections.TestSources- Synthetic source injector for top-side/downhole signals.
DWIS.Service.WOBCorrections.TestAdvisor- Helper worker that produces advisor max WOB from corrected WOB.
DWIS.Service.WOBCorrections.TestComposer- Helper worker that simulates composer recommendation forwarding.
DWIS.Service.WOBCorrections.TestADCS- Monitor helper that verifies corrected recommendations are visible downstream.
DWIS.Service.WOBCorrections.ModelTest- Console test harness exporting calibration and replay diagnostics.
DWIS.Service.WOBCorrections.ModelSharedOut- OpenAPI merge/codegen tool for shared model/client artifacts.
Prerequisites:
- DWIS Blackboard available/reachable
- valid OPC UA client config for each worker (
config/Quickstarts.ReferenceClient.Config.xmlin each service project)
Run in separate terminals from repository root:
dotnet run --project DWIS.Service.WOBCorrections.TestSources
dotnet run --project DWIS.Service.WOBCorrections.Server
dotnet run --project DWIS.Service.WOBCorrections.TestAdvisor
dotnet run --project DWIS.Service.WOBCorrections.TestComposer
dotnet run --project DWIS.Service.WOBCorrections.TestADCSFor offline calibration diagnostics:
dotnet run --project DWIS.Service.WOBCorrections.ModelTestBuild the full solution:
dotnet build DWIS.Service.WOBCorrections.slnEach project has its own detailed README:
DWIS.Service.WOBCorrections.Model/README.mdDWIS.Service.WOBCorrections.MeasurementGeneration/README.mdDWIS.Service.WOBCorrections.Server/README.mdDWIS.Service.WOBCorrections.TestSources/README.mdDWIS.Service.WOBCorrections.TestAdvisor/README.mdDWIS.Service.WOBCorrections.TestComposer/README.mdDWIS.Service.WOBCorrections.TestADCS/README.mdDWIS.Service.WOBCorrections.ModelTest/README.mdDWIS.Service.WOBCorrections.ModelSharedOut/README.md