-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
Problem
2 simulation integration tests in src/simlin-engine/tests/simulate.rs are #[ignore] because the engine does not support implicit companion .dat file loading for GET DATA BETWEEN TIMES:
simulates_getdata_xmile-- xmutil strips GET DATA BETWEEN TIMES calls in XMILE conversion, leaving zeroed-out equationssimulates_getdata_mdl-- Vensim models reference time-series data from companion .dat files that the engine does not auto-discover
In Vensim, variables can reference external time-series data stored in a companion .dat file with the same base name as the .mdl file. The GET DATA BETWEEN TIMES builtin interpolates this data at simulation time. The engine currently has no DataProvider integration for implicit companion .dat files.
Why it matters
GET DATA BETWEEN TIMES is used in real-world Vensim models for importing empirical data. Without this, models that rely on external data sources cannot simulate.
Components affected
src/simlin-engine(data provider integration, .dat file discovery and parsing)src/xmutil(XMILE conversion strips GET DATA BETWEEN TIMES -- separate issue)
Possible approach
- Implement a DataProvider trait/interface for loading time-series data
- Add .dat file auto-discovery (look for companion file matching model base name)
- Parse the .dat file format and make data available to the VM at simulation time
- Implement GET DATA BETWEEN TIMES interpolation in the VM
Context
Identified during review of 15 ignored simulation tests on the mdl-full-compat branch.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels