Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • airGR airGR
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 60
    • Issues 60
    • List
    • Boards
    • Service Desk
    • Milestones
  • Redmine
    • Redmine
  • Merge requests 7
    • Merge requests 7
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • HYCAR-Hydro
  • airGRairGR
  • Issues
  • #78

Closed
Open
Created Dec 29, 2020 by Dorchies David@david.dorchiesDeveloper4 of 4 tasks completed4/4 tasks

States handling on Lag model

Analysis of the existing situation

In the lag model, upstream flows are added to the downstream flow with a delay. At the beginning of the simulation during this delay time, zero are currently added downstream because upstream flow before the beginning of the simulation are not known. This period can be regarded as a warming period with initial zero flow upstream which lasts few days (Few time steps for a daily time step model).

Requirements

The package airGRiwrm will need to run the model time step by time step without warming period (See in-wop/airGRiwrm#19 (closed)). So we need to be able to handle states of the Lag model both as initial states and states at the end of the simulation.

  • the IniStates object embedded in RunOptions should store a list of vector, each vector containing the flows during the delay time of the upstream flow.
  • the OutputsModel object should contains this same list in the StateEnd item.

Lag model would not be the only hydraulic propagation model, so the implementation needs to be generic for other hydraulic propagation models.

Proposition of realisation

Storage

Adding a SD item in both IniStates object and StateEnd item of OutputsModel. Its contents will be model dependant. For the lag model it consists in a list ordered by the upstream connections and each item of the list will store the flow for the time steps during the delay time of each upstream flow.

Implementation

  • Modification of createIniStates with a new parameter SD default NULL and copy this parameter in the IniStates object
  • Modification of CreateRunOptions for handling the new SD item
  • Modification of RunModelLag to use the hydraulic initial states provided by RunOptions instead of zeros
  • Modification of RunModelLag to add hydraulic states at the end of the simulation in OutputsModel$StateEnd$SD
Edited Jan 02, 2021 by Dorchies David
Assignee
Assign to
Time tracking