E.g. running nismod water_supply with warm start, ModelRun.run truncates the model horizon (timesteps) so the DataHandle created has no knowledge of the previous timesteps which were run previously.
These timesteps should not be re-run, but their outputs should be available through e.g. DataHandle.get_previous_timestep_data.
The fact that we do
self.model_horizon = self.model_horizon[idx:]
in ModelRun.run makes the logic in DataHandle._resolve_source invalid.