Skip to content

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/.prf outputs 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 ( Global exists 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