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.
calculated and stored as private data members in EclipseGrid.
The API for the class is unchanged except for some minor changes for exportACTNUM, exportZCORN and exportCOORD.
These changes have triggered some very few modifications in the opm-grid and opm-simulators repo.
These classes are only used by opm-material and its downstreams. The
reason for doing moving it there is that this allows more freedom in
reorganizing the lower-level OPM modules (i.e., opm-common,
opm-parser, opm-output) while still avoiding a hard dependency of the
thermodynamic and numerical framework modules on the ECL file parsing
libraries.
the class takes a boolean parameter as its first template parameter
and a type name as the second. if the boolean parameter is false,
nothing is stored, else an object of the type of the second template
parameter gets created. this mechanism allows to disable member
attributes based on compile time conditions.
The usage semantics of that class are that of a smart pointer class, i.e.,
the equivalent of
```
Foo foo;
foo.bar()
```
is
```
Opm::ConditionalStorage<true, Foo> foo;
foo->bar();
```
If the condition argument for the ConditionalStorage is false, that
code will still compile but an exception is thrown at runtime.
Under some circumstances, some environments seem to set a locale which
they do not install. In turn this leads to std::runtime_errror being
thrown by some parts of Boost (for some versions) which causes
unsolicited program aborts.
This issue asside, it looks pretty weird if the e.g. the number format
is different than the that of the language used to print stuff by rest
of the simulation.