Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/remove opm #128

Merged
merged 4 commits into from
Mar 8, 2019
Merged

Feature/remove opm #128

merged 4 commits into from
Mar 8, 2019

Conversation

einar90
Copy link
Contributor

@einar90 einar90 commented Mar 6, 2019

This PR removes the opm-common dependency from FieldOpt, along with the feature that relied on it: simulator deck parsing.

This was done for two reasons:

  1. The DeckParsing feature is unreliable: it will often give strange/erroneous results. This stems from the way opm-common parses the deck (it is likely due to some part of the process that I don't fully understand, and may not actually be wrong if interpreted correctly.)
  2. The opm-common library causes huge issues when attempting to compile on clusters.

Note: I tried to compile this on Maur, but all GCC modules < 6.2.0 no longer work (we've previously used 4.9.3). Using more recent versions compiles all dependencies just fine, but FieldOpt cannot be linked because the boost 1.59 module does not work properly with GCC modules other than 4.9.3.

I believe this branch should now compile just fine with the dependencies listed in COMPILING.md.

@einar90 einar90 requested review from Bellout and bragesk March 6, 2019 12:50
@Bellout
Copy link
Collaborator

Bellout commented Mar 8, 2019

Good work. Looks good, not many changes needed to extract the whole module, essentially only the conversion from blocks to spline. Was there not a functionality having to do with schedule-reading, control-setup and/or schedule writing that opm-common was supporting...? Anyhow, if it works, that is fine.

I did not quite understand the Maur comment: are your confirming it compiles on Maur, given som specific combination of (gcc, boost) libs?

@einar90
Copy link
Contributor Author

einar90 commented Mar 8, 2019

We had that functionality, yes. It was in ScheduleParser, which translated the objects created by OPM when parsing the schedule into the structs used by Settings::Model. I.e. it was there, but it's removed now. It was very isolated, so removing it didn't require much.

About the Maur comment: The GCC 4.9.3 module, which we previously used to compile FieldOpt on Maur, is broken. The Boost 1.59 module and the openmpi 2.0.2 modules which FieldOpt also needs depends on the GCC 4.9.3 module to work, so we cannot use any other GCC module to compile.
However, the dependencies compile just fine using more recent GCC versions.
To conclude: I'm fairly certain that FieldOpt will now compile on Maur if the GCC 4.9.3 module is fixed.

@einar90 einar90 merged commit 68b9c51 into develop Mar 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants