Without the include compilation fails with
```
/opm/io/eclipse/EclFile.hpp:92:17: error: ‘uint64_t’ was not declared in this scope
92 | std::vector<uint64_t> ifStreamPos;
| ^~~~~~~~
In file included from src/opm/io/eclipse/EclOutput.cpp:20:
opm/io/eclipse/EclUtil.hpp:56:5: error: 'uint64_t' does not name a type
56 | uint64_t sizeOnDiskBinary(int64_t num, Opm::EclIO::eclArrType arrType, int elementSize);
| ^~~~~~~~
```
- Enables reading of output files generated by simulator IX
- Adding support for EclFile data type C0nn (string with length > 8 characters)
- Update of program summary, now supporting well names with more that 8 characters
- Updates of program convertECL, possible to write output files with IX "format"
- updates of python bindings (EclOutput and EclFile)
- EclIO classes have been updated to support arrays with size beyond numeric limits for integers
- Output of arrays having 2^31 or more elements is facilitated by using a pair of headers
- The first header is of type X231, second should have the actual type
- The large array format extension is documented in the Eclipse File format manual
This commit introduces a new member function
EclFile::seekPosition(arrayIndex)
that retrieves the file (seek) position of the start of the header
of the arrayIndex-th keyword. The expected use case for this is
seeking to the start of a particular SEQNUM value in a unified
restart file. If the array index exceeds all supported index
values, then we return the position of the file's EOF mark (captured
as the last item in the EclFile constructor).
The member function is protected to be accessible in derived classes
and by friends of derived classes.
This makes the facility usable for the restart read/write code.
Specifically, import the I/O classes into namespace Opm::ecl, and
place the files in physical location opm/io/eclipse, and move the
test utilities to new top-level directory 'test_util/'. While here,
discontinue the 'testutil' static library since most of its features
are now available in the main 'opmcommon' library. This does entail
compiling a few of the test_util/ CPP files multiple times, and
adding the objects to each executable independently.