NatLabRockies / NatLabRockies/H2Integrate

Allow variable time step number and length

Open
#204 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
26
Forks
44
Avg merge
3d 22h
Merged PRs (30d)
16

Description

Allow variable time step number and length

We are limited to 8760 hourly time steps. It would be helpful to allow a flexible number of time steps and time step duration for a range of reasons, including: testing short simulations, running simulations with different data for multiple years, adjust temporal fidelity, etc.

Proposed solution

For the number of time steps, I think we could start with putting in an n_time_steps parameter at the top level config that will then flow down to all levels of the simulation.

For the time step duration, it is more complicated. Many models assume hourly time steps. For those models we may need to still run hourly and then up- or down-sample after that model runs so the output can be provided in the desired number of steps and step duration.

Alternatives considered

Additional context

Several technologies use a default hard-coded time step number, as does control. With so much dynamic sizing, it is difficult to determine the size at model setup time if needed, as in demand rule-based control (#195).

We must first solve #387 before fully enabling variable timesteps.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing prerequisite issue #387, then trace the top-level configuration, model implementations, and control code mentioned in the report, including demand rule-based control in #195. Done means simulations can accept a configurable number and duration of time steps, with hourly-only models handled as described by the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.