mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-25 22:50:25 -05:00
Extend the 2.0 format to cover the full WellEventTimeline API demonstrated by well_event_schedule.py. Add built-in TUBING, VALVE and STATE event types mapping to add_tubing_event, add_valve_event (including the AICD parameters) and add_state_event, validated with the same required/unknown-attribute handling as PERFORATION. Pass any other event type inside a WELL block through generically as an Eclipse well keyword via add_well_keyword_event with the well name injected, so WRFTPLT, WCONPROD and the rest work without enumeration. Event types that closely resemble a misspelled built-in are handled by the on_unknown_event policy with a did-you-mean hint instead of being passed through. Add a SCHEDULE block: a bare SCHEDULE line opens a block of well-less keyword events (RPTRST, GRUPTREE, TUNING, ...) applied through add_keyword_event; completion events in a SCHEDULE block are rejected. Parsed schedule events live in OrionDocument.schedule_events. Accept ISO datetimes in event dates (@2024-05-15T14:45:30.500); the time-of-day survives into the generated DATES keyword's TIME field with millisecond precision. Day-offset arithmetic applies to datetimes too. Ship well_event_schedule_orion.py, an ORIONEVENTS counterpart to well_event_schedule.py, and extend the test suite from 55 to 70 tests including an integration test that applies every event kind and verifies the generated schedule text.