Skip to content

Conversation

@bska
Copy link
Member

@bska bska commented Dec 9, 2025

In this initial version we support only the double precision WORK arrays (named "WORK<n>" with <n> being a positive integer), and only for compressed property arrays like SOGCR. In other words, operating on the "global" MULTZ* arrays is not supported when referencing WORK arrays at this time. On the other hand, we do not use REGDIMS(8) as an upper limit on the number of distinct "WORK" arrays that can be used in the model description.

Integer work arrays ("IWORK<n>") are not supported at this time.

We add a new data member, FieldProps::work_arrays, of the same type as FieldProps::double_data, and select this 'work_arrays' member as the backing store for array references using "WORK". All WORK arrays are cleared at the end of processing a section (e.g., GRID, PROPS, EDIT).

@bska bska added the manual:new-feature This is a new feature and should be described in the manual label Dec 9, 2025
@bska
Copy link
Member Author

bska commented Dec 9, 2025

I'm creating this PR in draft mode because it's currently missing unit tests. I'll keep the PR in a draft state until such time as it is ready for review and merging.

@bska
Copy link
Member Author

bska commented Dec 9, 2025

jenkins build this please

@tskille
Copy link
Contributor

tskille commented Dec 10, 2025

This PR has now been tested on one full field model in Equinor. Results are excellent and looking forward to seeing this go into master.

@bska bska force-pushed the operate-work-arrays branch from 12aa682 to 16d5eab Compare December 10, 2025 15:37
@bska
Copy link
Member Author

bska commented Dec 10, 2025

This PR has now been tested on one full field model in Equinor. Results are excellent and looking forward to seeing this go into master.

Thank you so much for testing this work. I have now amended the PR to include a couple of unit tests, inspired by the example models in OPM/opm-tests#1441, to demonstrate the feature. Therefore, I'm marking this PR as "ready for review" and I'm running a build check.

@bska bska marked this pull request as ready for review December 10, 2025 15:39
@bska
Copy link
Member Author

bska commented Dec 10, 2025

jenkins build this please

In this initial version we support only the double precision WORK
arrays (named "WORK<n>" with <n> being a positive integer), and only
for compressed property arrays like SOGCR.  In other words,
operating on the "global" MULTZ* arrays is not supported when
referencing WORK arrays at this time.  On the other hand, we do not
use REGDIMS(8) as an upper limit on the number of distinct "WORK"
arrays that can be used in the model description.

Integer work arrays ("IWORK<n>") are not supported at this time.

We add a new data member, FieldProps::work_arrays, of the same type
as FieldProps::double_data, and select this 'work_arrays' member as
the backing store for array references using "WORK<n>".  All WORK
arrays are cleared at the end of processing a section (e.g., GRID,
PROPS, EDIT).
@bska bska force-pushed the operate-work-arrays branch from 16d5eab to a984127 Compare December 11, 2025 08:06
@bska
Copy link
Member Author

bska commented Dec 11, 2025

jenkins build this please

Copy link
Member

@akva2 akva2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bska
Copy link
Member Author

bska commented Dec 11, 2025

LGTM

Thanks a lot for looking at this. As the PR's approved and the build check is green, I'll merge into the master branch.

@bska bska merged commit 910edd7 into OPM:master Dec 11, 2025
2 checks passed
@bska bska deleted the operate-work-arrays branch December 11, 2025 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:new-feature This is a new feature and should be described in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants