19 initCalendar(PROLEPTIC_GREGORIAN);
40 tests[i].
value, tests[i].time_unit),
"PT01H"))
41 PUT_ERR(
"ERROR in yac_time_to_ISO");
55 char const * start_date =
"1850-01-01T00:00:00";
56 char const * stop_date =
"1850-01-01T00:01:00";
58 char const * model_time_step_iso =
60 char const * coupling_time_step_iso =
63 event, model_time_step_iso, coupling_time_step_iso,
66 char time_step_buffer[MAX_TIMEDELTA_STR_LEN];
69 coupling_time_step_iso))
70 PUT_ERR(
"ERROR in yac_get_event_coupling_timestep");
74 PUT_ERR(
"ERROR in yac_get_event_model_timestep");
76 PUT_ERR(
"ERROR in yac_get_event_lag");
78 free((
void*)coupling_time_step_iso);
79 free((
void*)model_time_step_iso);
81 enum {NUM_TIME_STEPS = 15};
90 for (
int t = 0;
t < NUM_TIME_STEPS; ++
t) {
110 char const * start_date =
"1850-01-01T00:00:00";
111 char const * stop_date =
"1850-01-01T00:01:00";
113 char const * model_time_step_iso =
115 char const * coupling_time_step_iso =
118 event, model_time_step_iso, coupling_time_step_iso,
121 char time_step_buffer[MAX_TIMEDELTA_STR_LEN];
124 coupling_time_step_iso))
125 PUT_ERR(
"ERROR in yac_get_event_coupling_timestep");
128 model_time_step_iso))
129 PUT_ERR(
"ERROR in yac_get_event_model_timestep");
131 PUT_ERR(
"ERROR in yac_get_event_lag");
133 free((
void*)coupling_time_step_iso);
134 free((
void*)model_time_step_iso);
136 enum {NUM_TIME_STEPS = 15};
145 for (
int t = 0;
t < NUM_TIME_STEPS; ++
t) {
165 char const * start_date =
"1850-01-01T00:00:00";
166 char const * stop_date =
"1850-01-01T06:00:00";
168 char const * model_time_step_iso =
170 char const * coupling_time_step_iso =
173 event, model_time_step_iso, coupling_time_step_iso,
176 char time_step_buffer[MAX_TIMEDELTA_STR_LEN];
179 coupling_time_step_iso))
180 PUT_ERR(
"ERROR in yac_get_event_coupling_timestep");
183 model_time_step_iso))
184 PUT_ERR(
"ERROR in yac_get_event_model_timestep");
186 PUT_ERR(
"ERROR in yac_get_event_lag");
188 free((
void*)coupling_time_step_iso);
189 free((
void*)model_time_step_iso);
191 enum {NUM_TIME_STEPS = 16};
199 for (
int t = 0;
t < NUM_TIME_STEPS; ++
t) {
216 char const * start_date =
"1850-01-01T00:00:00";
217 char const * stop_date =
"1850-01-01T00:01:00";
219 enum {MIN_LAG = -6, MAX_LAG = 3};
220 enum {NUM_LAGS = MAX_LAG - MIN_LAG + 1};
221 enum {NUM_TIME_STEPS = 15};
232 for (
int lag = MIN_LAG;
lag <= MAX_LAG; ++
lag) {
236 char const * model_time_step_iso =
238 char const * coupling_time_step_iso =
241 event, model_time_step_iso, coupling_time_step_iso,
244 char time_step_buffer[MAX_TIMEDELTA_STR_LEN];
247 coupling_time_step_iso))
248 PUT_ERR(
"ERROR in yac_get_event_coupling_timestep");
251 model_time_step_iso))
252 PUT_ERR(
"ERROR in yac_get_event_model_timestep");
254 PUT_ERR(
"ERROR in yac_get_event_lag");
256 free((
void*)coupling_time_step_iso);
257 free((
void*)model_time_step_iso);
259 for (
int t =
lag;
t < NUM_TIME_STEPS; ++
t) {
262 if (
action != ref_action[t - MIN_LAG])
char const * yac_time_to_ISO(char const *time, enum yac_time_unit_type time_unit)
char * yac_get_event_model_timestep(struct event *event, char *timedelta_str)
char * yac_get_event_coupling_timestep(struct event *event, char *timedelta_str)
int yac_get_event_lag(struct event *event)
void yac_event_delete(struct event *event)
struct event * yac_event_new()
void yac_event_add(struct event *event, char const *delta_model_time, char const *delta_coupling_time, int lag, enum yac_reduction_type time_operation, const char *startdate, const char *stopdate)
enum yac_action_type yac_event_check(struct event *event)
void yac_event_update(struct event *event)
enum yac_time_unit_type time_unit
enum yac_reduction_type time_operation
enum yac_action_type action
struct _timedelta * model_time_step
struct _timedelta * coupling_time_step