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
Decouple OPM Flow From Libecl #1107
Conversation
jenkins build this please |
jenkins build this opm-material=350 opm-grid=397 opm-models=550 opm-simulators=2060 opm-upscaling=281 please |
please amend with diff --git a/python/setup.py b/python/setup.py
index 897a73f81..f5790e913 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -47,7 +47,7 @@ ext_modules = [
'cxx/well.cpp',
'cxx/export.cpp'
],
- libraries=['opmcommon', 'boost_filesystem', 'boost_regex', 'ecl', 'z'],
+ libraries=['opmcommon', 'boost_filesystem', 'boost_regex'],
language='c++',
undef_macros=["NDEBUG"],
include_dirs=["pybind11/include"] Diff edited by @joakim-hove |
Okay, gives me a chance to try GitHub's editor... |
jenkins build this opm-material=350 opm-grid=397 opm-models=559 opm-simulators=2060 opm-upscaling=281 please |
The build check including changes to the build system goes through—at least when launched from opm-common. I think this is ready for review now. |
Thank you for your comments, @joakim-hove. I'll adjust this PR accordingly. |
fcfe6c7
to
052fb8a
Compare
I have rebased this onto the current master branch and tried to address review comments in the process. I will rerun the build test now. |
jenkins build this opm-material=350 opm-grid=397 opm-models=559 opm-simulators=2060 opm-upscaling=281 please |
This PR was approved by module maintainer. I intend to merge this (and downstream PRs) no later 4pm CEST today (Wednesday). |
In particular, use EGrid, ERst and EclFile as appropriate.
Instead, switch to 'int' for the 'before' and 'after' row indices. The 'ssize_t' Posix type alias is not appropriate for this usage since its range is only guaranteed to be [ -1 .. (1<<15)-1 ].
Mostly for converting between std::time_t and broken-down time stamps. Uses UTC and std::chrono::system_clock. May wrap in as little as 292 years, depending on the period of system_clock. Intended to replace various timestamping utility functions from libecl. A comprehensive time-service protocol for Flow is much more work than this, and will likely not be easily realized before we have C++17 and its much expanded time/calendar library.
Note that we have to reduce the year-range in the specific test createDeckWithDRSDTthenDRVDT in order not to wrap around for system_clock. This is a deficency of the new time-service protocol.
Mostly just to provide a simple overload of the utility function ecl_util_make_date from libecl. The rest of the test code remains intact.
Only affects the 'first_sim()' helper function.
Suggested by [at]akva2.
052fb8a
to
288be7f
Compare
jenkins build this opm-material=350 opm-grid=397 opm-models=559 opm-simulators=2060 opm-upscaling=281 please |
Final pre-merge build check goes through. I'm merging this into master now per prior approval from module maintainer. |
Decouple OPM Flow From Libecl (Backport of pr #1107)
Backported to release via #1118 |
This PR adds a very rudimentary time-service protocol in
opm/common/utility
. It is just sufficient to replace various time-related utility functions used from libecl. We get a substantial reduction in available time range (down to about 292 years on my Ubuntu system, although this depends onchrono::system_clock
's "period".) I have not looked into what we would need to extend the time range. 292 years is typically not a problem for usual reservoir applications, but will be a concern for CCS.We replace the usage of the time-related utility functions mentioned earlier. As of this PR none of the libraries that constitute OPM Flow reference libecl functions or types.