DHI.Services.MIKE1D for Time Series — Internal Developer Guide (Summary)¶
MIKE 1D result files as read-only time series. For details and advanced usage, see the MIKE1D Provider Guide.
When to use¶
- You have
.res1d/.res11/.crf/.prfoutputs and need read-only series by Node/Reach/Catchment. - You want to mount a folder of result files and query via group + local ID.
Quick start¶
using DHI.Services.Provider.MIKE1D;
var repo = new ResultFileGroupedTimeSeriesRepository(@"C:\Projects\Runs\2025-01");
// Node example
var idNode = "ScenarioA/Run01/Network.res1d/Node;WaterLevel;A01";
var dataNode = repo.GetValues(idNode).GetOrThrow();
// Reach at from/to node
var idFrom = "ScenarioA/Run01/Network.res1d/Reach;Discharge;River1;from";
var idTo = "ScenarioA/Run01/Network.res1d/Reach;Discharge;River1;to";
// Sum across grid points
var idSum = "ScenarioA/Run01/Network.res1d/Reach;Volume;River1;sum";
ID grammar:
<group>/<type>;<quantity>;<id>[;chainage]
type:Node|Reach|Catchment(Globalexists but values not implemented )chainage(Reach): numeric |start/from|end/to|sum
Notes¶
- Read-only: writing back to result files is not supported.
- All series in a file share the same time axis; use
GetDateTimes(id). - Values are returned as nullable double (
double?), preserving gaps.
Exposing via Web API¶
"mike1d-results": {
"$type": "DHI.Services.TimeSeries.WebApi.GroupedDiscreteTimeSeriesServiceConnection, DHI.Services.TimeSeries.WebApi",
"ConnectionString": "C:\\Projects\\Runs\\2025-01",
"RepositoryType": "DHI.Services.Provider.MIKE1D.ResultFileGroupedTimeSeriesRepository, DHI.Services.Provider.MIKE1D",
"Name": "MIKE 1D result files",
"Id": "mike1d-results"
}
Then:
GET /api/timeseries/mike1d-results/{encodedId}/values