20 #ifndef OPM_TIMESERVICE_HEADER_INCLUDED
21 #define OPM_TIMESERVICE_HEADER_INCLUDED
26 #include <unordered_map>
27 #include <opm/input/eclipse/Deck/DeckRecord.hpp>
32 using time_point = std::chrono::time_point<std::chrono::system_clock, std::chrono::duration<int64_t, std::ratio<1,1000>>>;
34 namespace TimeService {
35 std::time_t to_time_t(
const time_point& tp);
36 time_point from_time_t(std::time_t t);
39 std::time_t advance(
const std::time_t tp,
const double sec);
40 std::time_t makeUTCTime(std::tm timePoint);
41 const std::unordered_map<std::string , int>& eclipseMonthIndices();
42 const std::unordered_map<int, std::string>& eclipseMonthNames();
43 int eclipseMonth(
const std::string& name);
44 bool valid_month(
const std::string& month_name);
46 std::time_t mkdatetime(
int in_year,
int in_month,
int in_day,
int hour,
int minute,
int second);
47 std::time_t mkdate(
int in_year,
int in_month,
int in_day);
48 std::time_t timeFromEclipse(
const DeckRecord &dateRecord);
59 bool operator==(
const YMD& data)
const
61 return year == data.year &&
62 month == data.month &&
66 template<
class Serializer>
94 const YMD& ymd()
const {
return ymd_; }
95 int year()
const {
return this->ymd_.year; }
96 int month()
const {
return this->ymd_.month; }
97 int day()
const {
return this->ymd_.day; }
98 int hour()
const {
return this->hour_; }
99 int minutes()
const {
return this->minutes_; }
100 int seconds()
const {
return this->seconds_; }
101 int microseconds()
const {
return this->usec_; }
103 template<
class Serializer>
104 void serializeOp(Serializer& serializer)
106 ymd_.serializeOp(serializer);
108 serializer(minutes_);
109 serializer(seconds_);
122 TimeStampUTC operator+(
const TimeStampUTC& lhs, std::chrono::duration<double> delta);
123 std::time_t asTimeT(
const TimeStampUTC& tp);
124 std::time_t asLocalTimeT(
const TimeStampUTC& tp);
125 time_point asTimePoint(
const TimeStampUTC& tp);
Definition: Serializer.hpp:38
Definition: TimeService.hpp:52
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: TimeService.hpp:54