Commit Graph

355 Commits

Author SHA1 Message Date
Arne Morten Kvarving
6316768bbb changed: build python wheels using skbuild
the vanilla setup-tools doesn't get the triplet correctly for some
reason. also use cmake from pip as cmake 3.16 in the image has a bug
in the python find rule
2023-04-27 13:17:19 +02:00
Arne Morten Kvarving
9ef643345d Schedule.hpp: forward Well 2023-01-18 11:01:41 +01:00
Arne Morten Kvarving
3d0ca8438b move printing of WellStatus to WellEnums.cpp 2023-01-18 08:59:09 +01:00
Arne Morten Kvarving
ddef6302e6 ParseContext: forward InputErrorAction 2023-01-16 22:17:50 +01:00
Arne Morten Kvarving
edf937e2e5 InputErrorAction: convert to enum class 2023-01-16 22:17:50 +01:00
Markus Blatt
b007ef345c [python] Prevent "ResourceWarning: unclosed file <_io.TextIOWrapper 2023-01-13 18:14:28 +01:00
Markus Blatt
dd0ac8a669 [python] Use assertEqual instead of deprecated assertEquals-
Prevents warnings like
```
1: test_faults (tests.test_state.TestState2.test_faults) ... /<<PKGBUILDDIR>>/obj-arm-linux-gnueabihf/python/tests/test_state.py:124: DeprecationWarning: Please use assertEqual instead.
1:   self.assertEquals([], self.state.faultNames())
```
On Debian unstable.
2023-01-13 18:14:28 +01:00
Arne Morten Kvarving
cc68336d22 Well.hpp: forward WellConnections 2023-01-12 12:24:38 +01:00
Arne Morten Kvarving
5d854d1d6d changed: build opm-common python extension using cmake
only use setup.py to generate wheels. adjust pypi packaging
accordingly
2023-01-12 10:14:38 +01:00
Arne Morten Kvarving
2c8e50fa53 pypi: add dune-common dependency 2022-12-12 13:39:18 +01:00
Tor Harald Sandve
a56496021d add keyword DISGASW to enable dissolution of gas in water 2022-12-02 15:43:22 +01:00
Vegard Kippe
2cd0d26dd8 Removing comment. 2022-10-21 10:02:59 +02:00
Vegard Kippe
f30baa45af Fixing time stamp output in time_vector.py so it is compatible with Eclipse 2022-10-21 10:01:32 +02:00
Bård Skaflestad
7a60c4c239 Handle All FaceDir Enumerators in Switch Statements
Forgotten in commit 9e143482c.
2022-09-26 13:19:25 +02:00
Arne Morten Kvarving
8e2445b4cc fixed: build python bindings on systems without openmp 2022-09-09 07:39:11 +02:00
Håkon Hægland
046736e45d Make Python opm package a namespace package
Convert the Python opm package from a regular package to a namespace
package such that opm-simulators can contribute to the package from a
different filesystem path. In this way, the two packages opm.simulators
and opm.io (for example) can have a different parent filesystem path.
2022-06-10 09:02:19 +02:00
Bård Skaflestad
4333a69cd4 Require ENDSCALE When JFUNC Entered
We effectively ignore JFUNC data unless end-point scaling is
activated through the ENDSCALE keyword in the RUNSPEC section.
Alert the user to this fact by terminating the simulation run if the
case uses JFUNC without ENDSCALE present in RUNSPEC.  In this case,
issue a diagnostic message of the form

    Error: Unrecoverable errors while loading input: Problem with keyword JFUNC
    In CASE.DATA line 125
    Incompatible keyword combination: JFUNC declared, but ENDSCALE is missing.
2022-05-31 16:56:27 +02:00
Håkon Hægland
fa740678e0 Adds a method get_injection_properties()
Adds a method get_injection_properties() to the Python interface to
Opm::Schedule. This method can be used to get information about
Well::WellInjectionProperties for a given report step.

In order to avoid code duplication between opm-simulators and opm-common,
logic in CMakeLists.txt was refactored out into
cmake/Modules/PyInstallPrefix.cmake
2022-05-20 06:27:29 +02:00
Håkon Hægland
d2c778739b Add trailing comma 2022-05-05 17:05:35 +02:00
Håkon Hægland
d2cf59380e Use more compact std::map constructor 2022-05-05 13:58:04 +02:00
Håkon Hægland
dd19213998 Adds get_production_properties()
Adds get_production_properties() to the python interface to Schedule.
This method can be used to get information about
Well::WellProductionProperties for a given report step
2022-05-05 13:04:03 +02:00
Arne Morten Kvarving
302e7e7d41 add python 3.10 to pypi builds 2022-03-07 13:58:12 +01:00
Joakim Hove
42e36100a8 Export RawString as std::string to Python 2022-02-23 11:01:00 +01:00
Torbjørn Skille
5bf2087d0a DeckItem - API change 2022-02-14 15:48:52 +01:00
Markus Blatt
06618244e7 Use C++ everywhere and skip using a custom build_ext subclass.
Somehow using a custom build_ext subclass always triggered a failing
rebuild when testing:

/usr/lib/ccache/g++-10 -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-RNBry6/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.9/cxx/builtin_pybind11.o build/temp.linux-x86_64-3.9/cxx/connection.o build/temp.linux-x86_64-3.9/cxx/converters.o build/temp.linux-x86_64-3.9/cxx/deck.o build/temp.linux-x86_64-3.9/cxx/deck_keyword.o build/temp.linux-x86_64-3.9/cxx/eclipse_config.o build/temp.linux-x86_64-3.9/cxx/eclipse_grid.o build/temp.linux-x86_64-3.9/cxx/eclipse_io.o build/temp.linux-x86_64-3.9/cxx/eclipse_state.o build/temp.linux-x86_64-3.9/cxx/emodel_util.o build/temp.linux-x86_64-3.9/cxx/export.o build/temp.linux-x86_64-3.9/cxx/field_props.o build/temp.linux-x86_64-3.9/cxx/group.o build/temp.linux-x86_64-3.9/cxx/log.o build/temp.linux-x86_64-3.9/cxx/parsecontext.o build/temp.linux-x86_64-3.9/cxx/parser.o build/temp.linux-x86_64-3.9/cxx/schedule.o build/temp.linux-x86_64-3.9/cxx/summary_state.o build/temp.linux-x86_64-3.9/cxx/table_manager.o build/temp.linux-x86_64-3.9/cxx/unit_system.o build/temp.linux-x86_64-3.9/cxx/well.o -lopmcommon -lboost_system -lstdc++fs -o build/lib.linux-x86_64-3.9/opm/libopmcommon_python.cpython-39-x86_64-linux-gnu.so -fopenmp /usr/lib/x86_64-linux-gnu/libfmt.so.7.1.3
error: can't copy 'build/lib.linux-x86_64-3.9/opm/libopmcommon_python.cpython-39-x86_64-linux-gnu.so': doesn't exist or not a regular file

Therefore we resort to only setting the CC and CXX variables to the
C++ compiler. Note that one cannot use "ccache c++" for CXX.

With the default build_ext the problem vanishes.
2022-02-04 10:07:05 +01:00
Markus Blatt
b67091183b [python] Use correct C++ compiler for linking.
CC is the C compiler. CXX is the C++ compiler. Setuptools will
use the C++ compiler for C++ code. Hence it is vital to set that
correctly. If not set the default C++ compiler will be used.

Unfortunately it will use the first string as the CXX compiler and
hence we need to strip ccache. Fortunately it used CC for the
compilation and that works with gcc as well.
2022-02-03 17:02:09 +01:00
Markus Blatt
c5691477e5 Merge pull request #2948 from blattms/fix-setup.py-mult-lib
[bugfix] Make opm-common_PYTHON_LINKAGE a comma separated list.
2022-02-02 09:44:34 +01:00
Joakim Hove
c37c2b2d49 Make SummaryState::set() available as __setitem__ in Python 2022-01-28 12:05:17 +01:00
Markus Blatt
1daa7d1df4 [bugfix] Make library list used for setup.py a comma separated list.
It is used verbatim in setup.py in the list that specifies the linker
flage. Hence it needs to comma separted instead of using a semicolon
as separator.

We also rename it to SETUP_PY_LINKAGE to indicate where it is used.

Closes #2947
2022-01-27 11:26:56 +01:00
Joakim Hove
07500d5f09 Set the CC environment variable also for non ccache situation 2022-01-26 12:20:43 +01:00
Joakim Hove
b3faf8abf2 Use C++ compiler from cmake in setup.py 2022-01-24 16:05:25 +01:00
Joakim Hove
0a59bd8f61 Filesystem rename EclipseState/Schedule/ Schedule/ 2022-01-02 14:32:14 +01:00
Joakim Hove
aede532b9a Filesystem rename parser/eclipse/ input/eclipse 2022-01-02 14:32:14 +01:00
Daniel
90ce7bc6cb Replaced call to Deck::getKeyword(kw, index) with deck[kw][index] 2021-11-23 14:00:38 +01:00
Daniel
b0f757eb50 Replace Deck::getKeyword(std::string) with operator[std::string] 2021-11-23 14:00:38 +01:00
Joakim Hove
bef5f5b9f4 Small fixup in python wrapper 2021-11-16 18:37:59 +01:00
Håkon Hægland
928a33d2ea Add comment about insert_keywords()
Add comment explaining that one of the insert_keywords()
overloads does not work yet.
2021-11-14 13:18:26 +01:00
Håkon Hægland
372b7e86a4 Support for adding keywords to schedule from Python.
Adds support for adding keywords to the SCHEDULE section of the deck
after the deck has been read from file from Python.
2021-11-14 13:18:26 +01:00
Joakim Hove
08e29defd2 Remove python2 adaption 2021-11-11 15:53:21 +01:00
Joakim Hove
e017195478 Whitespace fixup 2021-11-11 15:53:21 +01:00
Joakim Hove
b77ed8cc7c Add dimension to UDAValue when creating 2021-11-11 15:53:21 +01:00
Joakim Hove
0fc2448369 Expose UDAValue to Python 2021-11-11 15:53:21 +01:00
Joakim Hove
77985eaa08 Export UnitSystem and Dimension from opm.io 2021-11-11 15:53:21 +01:00
Joakim Hove
64e10a9c77 Export UnitSystem to opm._common 2021-11-11 15:53:21 +01:00
Joakim Hove
55eeabba42 Use only python3 syntax for import from test directory 2021-11-11 15:53:21 +01:00
Håkon Hægland
4e5f7ef48e Add some more UDA value tests.
Adds some more tests for UDA value items when constructing DeckKeyword
from Python.
2021-11-10 15:56:36 +01:00
Håkon Hægland
25ccb17917 Test UDA value DeckKeyword
Test that the DeckKeyword() Python constructor can handle UDA value
keywords.
2021-11-09 11:47:58 +01:00
Håkon Hægland
702c4d46af Add support for UDA values in DeckKeyword constructor.
Add support for UDA values items when constructing DeckKeywords from
DeckValues. This is needed when constructing DeckKeywords
from Python. For example WCONPROD has UDA value argument for the oil
rate.
2021-11-08 09:58:22 +01:00
Arne Morten Kvarving
6465cfe1ea changed: drop gcc7 compatibility
this means getting rid of the Opm::filesystem namespace
and directly using std::filesystem, as well as dropping
some of the compat code for the tr filesystem.

we still need the FileSystem.hpp/cpp files though as unique_path
is not part of std::filesystem.
2021-11-01 12:36:42 +01:00
Håkon Hægland
29c4ffcdc9 Use std::shared_ptr as holder type.
Use std::shared_ptr as holder type for some Pybind11 classes such that
they can be shared with opm.simulators.
2021-09-20 11:43:50 +02:00