#13425 Fix WELSEGS date scoping: tubing events only appear at their event dates

Tubing event diameter/roughness values were leaking into earlier date
sections in the generated schedule. The WELSEGS collection functions
did not filter intervals by export date, unlike COMPSEGS and other
keywords which already received the exportDate parameter.

Thread exportDate through collectWelsegsData, collectWelsegsDataRecursively,
and collectWelsegsSegment. Add date-aware overloads of getDiameterAtMD and
getRoughnessAtMD that use isActiveOnDate to filter intervals. Update test
to verify tubing values only appear at their scheduled dates.
This commit is contained in:
Kristian Bendiksen committed 2026-02-12 08:15:22 +01:00
1 parent 6782d6a40e
commit 82e2dbc434
8 files changed
+186 -24

No files matched your search

@@ -112,7 +112,8 @@ void collectWelsegsData( RigMswTableData& tableData
RicMswExportInfo& exportInfo,
double maxSegmentLength,
const std::vector<std::pair<double, double>>& customSegmentIntervals,
bool exportCompletionSegmentsAfterMainBore );
bool exportCompletionSegmentsAfterMainBore,
const std::optional<QDateTime>& exportDate = std::nullopt );
void collectWelsegsDataRecursively( RigMswTableData& tableData,
RicMswExportInfo& exportInfo,
@@ -121,7 +122,8 @@ void collectWelsegsDataRecursively( RigMswTableData&
double maxSegmentLength,
const std::vector<std::pair<double, double>>& customSegmentIntervals,
bool exportCompletionSegmentsAfterMainBore,
RicMswSegment* connectedToSegment );
RicMswSegment* connectedToSegment,
const std::optional<QDateTime>& exportDate = std::nullopt );
void collectCompsegData( RigMswTableData& tableData,
RicMswExportInfo& exportInfo,
@@ -156,7 +158,8 @@ void collectWelsegsSegment( RigMswTableData& tableD
const std::vector<std::pair<double, double>>& customSegmentIntervals,
gsl::not_null<RicMswBranch*> branch,
int* segmentNumber,
QString branchDescription );
QString branchDescription,
const std::optional<QDateTime>& exportDate = std::nullopt );
void collectValveWelsegsSegment( RigMswTableData& tableData,
const RicMswSegment* outletSegment,