Repository navigation
Conversation
I resolve group names from matching companion ESMRY metadata before building summary indexes, so long names with the same eight-character SMSPEC prefix keep their own values. I reuse the existing keyword reader and summary-key constructors to validate parameter alignment and retain SMSPEC names when a companion is absent or incompatible. I accept full well names during validation while preserving their public SMSPEC names and numeric key components. I cover loading paths and fallback behavior with regression tests. Fixes equinor#1304
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Resolves #1304
Approach
I read group names from a matching companion ESMRY before building the summary indexes, so names longer than eight characters remain distinct even when SMSPEC truncates them to the same prefix. I retain the SMSPEC names when the companion is absent, malformed, or incompatible, and I leave the public names of other variable types unchanged.
I validate the companion's start time, units, parameter order, and truncated names with the existing file reader and summary-key constructors. I accept full well names in well, connection, and segment metadata when their SMSPEC prefixes match, while checking the remaining numeric or IJK components. I also handle Flow's empty ESMRY unit for YEARS.
Validation
I merged current main and preserved both the 62 Flow regression cases and the upstream short STARTDAT test when resolving their conflict. The complete Python suite passes: 1,769 passed and 161 skipped.
I built with ASAN and UBSAN and ran the complete native CTest suite: 54/54 passed, including 167 passed Catch2 cases with 6,204 assertions and one filesystem-specific skip. Main has migrated or removed legacy test registrations since the previous 63-entry run.
I also extended both a group name and a well name in a real OPM Flow case and verified that all 410 data vectors across seven timesteps remain unchanged through lazy, eager, and explicit loading. Ruff 0.16.4 and clang-format checks pass.