OPM / opm-parser

http://www.opm-project.org
11 stars 44 forks source link

[TEST] adding keywords PINTDIMS and SKPRPOLY #1216

Closed GitPaean closed 6 years ago

GitPaean commented 6 years ago

Test purpose, please do not merge unless requesting so explicitly.

GitPaean commented 6 years ago

jenkins build this please

OPMUSER commented 6 years ago

SKPRWAT, SKPRPOLY and PINTDIMS are not E100 or E300 keywords.

GitPaean commented 6 years ago

SKPRWAT, SKPRPOLY and PINTDIMS are not E100 or E300 keywords.

They are not. As a research platform, OPM will also do things that E100 and E300 do not do.

OPMUSER commented 6 years ago

I understand the need to add additional functionality and keywords, but I think we need to have some way of indicating that this feature and the associated keywords that are non-standard with respect to E100/E300. I have some suggestions, but none of them are perfect:

We have to bear in mind that as OPM Flow matures it is going to be used by more and more users in "production" mode, so we have take into account this user base as well as the research user base at the same time. In time the production users will be a source for funding further development, both for improvements and research topics as well.

I don't really have an answer to this but I wanted to start the discussion.

atgeirr commented 6 years ago

I think your suggested solutions (separate section or keyword delimiters) are too restrictive, but I realize that it can be important to know which keywords are "standard".

What about naming all such keywords "OPMsomething"? The biggest problem is then that we will be limited to 5 characters for the "something" part.

GitPaean commented 6 years ago

If we only add non-standard keywords for the functionalities not supported by the standard E100 simulator, I mean we do not change/expand the existing standard keywords, I do not see the big consequence can be resulted. In the manual, we should tell explicitly these are OPM keywords.

What about naming all such keywords "OPMsomething"? The biggest problem is then that we will be limited to 5 characters for the "something" part.

8-letter length limitation is already not very easy to use when describing keywords for some specific functionalities, 5 will make it much harder. I am not sure for how easy to remove the 8-letter limitation for non-standard keywords, then we can have some more intuitive keyword naming.

alfbr commented 6 years ago

I think we need to have some way of indicating that this feature and the associated keywords that are non-standard with respect to E100/E300

I agree that this is problematic. However, we are only following the example led by E100/E300. There is no way to see from a keyword whether it is supported by E100 or E300. You need to consult the manual to see which it is. We have simply followed the same design principle.

OPMUSER commented 6 years ago

There is some history here with E100 and E300 being developed by two separate teams without parental guidance ;-); hence, the WELXXXX (E100 keywords) and the WELLXXXX (E300) keywords as they were two separate programs unlike VIP and tNavigator that are based on the same code base.

Originally E100 and E300 were documented in two separate manuals because they were two separate programs, that is why there is all this confusion on which keywords belong to which simulator. The problem for Schlumberger at the time was that VIP, a major competitor was the one simulator for both black-oil and compositional formulations. I changing from black-oil to compositional was easy as just changing the PVT section. Thus Schlumberger started merging the manuals and keywords to give the impression that they were the same program, they are two separate programs.

So we should not dwell and the E100 and E300 difference, but how do wish to distinguish between the standard E100 keywords and the OPM Flow specific keywords. What about instead of OPM in front of the keywords what about a period or a $ sign and keep the eight characters for the keyword?

joakim-hove commented 6 years ago

This discussion is interesting - I have moved it here: https://github.com/OPM/opm-common/issues/362