mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-26 15:10:22 -05:00
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.
52 lines
2.3 KiB
Plaintext
52 lines
2.3 KiB
Plaintext
# Example SIMEVENTS well-event-timeline file (version 1.1).
|
|
# Parsed by rips.simulator_events; see that module's docstring for the grammar.
|
|
# Validate with: python3 -m rips.simulator_events simulator_events.events
|
|
|
|
SIMEVENTS 1.2
|
|
UNIT METRIC
|
|
|
|
# Typed declarations: dates, Go-style durations (e.g. 5d, 12h30m), well-name aliases, and
|
|
# cell filter expressions.
|
|
DATE A1_STARTUP = 2018-01-01
|
|
DATE A2_STARTUP = 2018-03-01 + 9d
|
|
DURATION RAMP = 5d
|
|
|
|
# A filter becomes a case-level combined data filter attached to the
|
|
# perforations that reference it. An unqualified result name is searched in
|
|
# STATIC_NATIVE, then DYNAMIC_NATIVE, then GENERATED results; bounds are
|
|
# inclusive, so > behaves as >=.
|
|
FILTER POROPERM = "PORO > 0.1 AND PERMX > 100.0"
|
|
|
|
WELL A1 = "55_33-A-1"
|
|
|
|
# Inserted dates become bare DATES keywords in the generated schedule. Recurring
|
|
# dates may use an explicit inclusive end date or default to the last event, and
|
|
# a COMMENT is repeated below every generated date.
|
|
SCHEDULE
|
|
A1_STARTUP INSERT_DATE EVERY=1mon COMMENT="Monthly report"
|
|
A2_STARTUP INSERT_DATE EVERY=30d UNTIL="A2_STARTUP + 90d"
|
|
|
|
# Raw schedule text is preserved verbatim. This block is inserted immediately
|
|
# after the date declaration; lower priorities are emitted first when multiple
|
|
# blocks use the same placement.
|
|
SCHEDULE
|
|
A1_STARTUP + RAMP RAW_TEXT PLACEMENT=AFTER_DATE PRIORITY=10
|
|
-- Custom schedule text not modeled by the timeline API
|
|
WTRACER
|
|
'55_33-A-1' 'SIMULATOR_EVENTS_TRACER' 1.0 /
|
|
/
|
|
END_RAW_TEXT
|
|
|
|
WELL A1
|
|
A1_STARTUP PERFORATION MDSTART=1644.49 MDEND=1664.28 DIAMETER=0.2413 SKIN=5 COMPLETION_NUMBER=1 FILTER=POROPERM
|
|
A1_STARTUP PERFORATION MDSTART=1664.28 MDEND=1674.18 DIAMETER=0.2413 SKIN=5 COMPLETION_NUMBER=2 FILTER=POROPERM
|
|
A1_STARTUP PERFORATION MDSTART=1674.18 MDEND=1689.82 DIAMETER=0.2413 SKIN=5 COMPLETION_NUMBER=3
|
|
A1_STARTUP + RAMP WCONHIST STATUS=OPEN CMODE=ORAT VFP=1
|
|
A1_STARTUP + RAMP WELTARG CMODE=BHP VALUE=50
|
|
|
|
WELL "55_33-A-2"
|
|
# An inline quoted expression declares an anonymous filter for one event.
|
|
A2_STARTUP - 1d PERFORATION MDSTART=1692.79 MDEND=1706 DIAMETER=0.2413 SKIN=5 COMPLETION_NUMBER=1 FILTER="PORO > 0.2"
|
|
A2_STARTUP WCONHIST STATUS=OPEN CMODE=ORAT VFP=2
|
|
A2_STARTUP WELTARG CMODE=BHP VALUE=50
|