INSERT_DATE statements are now expanded into one timeline event per
occurrence instead of a list of bare dates, so each generated date keeps
the COMMENT of its statement.
- New RimWellEventInsertDate (EventType::INSERT_DATE): a date-only event
that generates no keyword, added with
WellEventTimeline.add_insert_date_event(event_date, comment).
- The schedule generator writes the comment of an insert-date event as
"--" lines directly below its DATES keyword.
- generate_schedule(_text) no longer takes additional_dates; insert-date
events are part of the timeline, but keep the previous behavior of not
being filtered by set_timestamp().
- SimulatorEventsDocument.report_dates and ApplyReport.report_dates are
replaced by SimulatorEventsDocument.insert_date_events/insert_dates;
merging files drops insert dates repeating both date and comment.
INSERT_DATE is now a SCHEDULE event using KEY=VALUE attributes, and the file
format version is bumped to SIMEVENTS 1.2:
<date-expr> INSERT_DATE [EVERY=<duration>] [UNTIL=<date-expr>]
- EVERY takes a duration literal, DURATION variable or expression
(EVERY=1mon, EVERY=30d, EVERY=12mon, EVERY=12h) and must be positive.
Occurrence n is start + n months (clamped), then + n times the fixed part,
which preserves the dates of the previous DAY/MONTH/YEAR recurrences.
- UNTIL is an inclusive end date and requires EVERY; quote values with spaces.
- COMMENT is accepted and ignored; other attributes are rejected.
- SIMEVENTS 1.1 files and old-style INSERT_DATE lines are rejected with a
migration hint showing the rewritten line.
Increase the time resolution of the SIMEVENTS format and replace whole-day
integer offsets with Go-style duration literals.
- All DATE values are now datetimes with second resolution. A date-only
literal means midnight; a time-of-day requires the 'T' separator and
fractional seconds are rounded to the nearest second.
- DURATION values and offset terms are Go-style literals such as 5d,
12h30m, 1.5h, 3mon and -3d. Units (mon, d, h, m, s) are mandatory, must
appear in strictly descending order without repeats, and a fraction is
allowed only on the last component (never on mon or s). Unitless numbers
and the legacy DAYS suffix are rejected with hints.
- New Duration type keeps calendar months separate from the fixed
timedelta part; adding months clamps to the end of shorter months, and
str() renders the Go-style form.
- Header version bumped to 1.1; 1.0 files are rejected with a migration
hint.
- Update tests, sample .events file, example script and
docs/simulatorEvents.md.