Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • mHM mHM
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 49
    • Issues 49
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • mhmmhm
  • mHMmHM
  • Merge requests
  • !37

River temperature module

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Sebastian Müller requested to merge muellese/mhm:riv_temp_module into develop Jul 08, 2020
  • Overview 5
  • Commits 119
  • Pipelines 13
  • Changes 46

This MR introduces a first version of a river temperature routing process in an OOP fashioned way.

Abstract

River temperature determines a wide variety of properties of water and is of great interest as model output in the field of hydrological modeling. In this merge request, we propose a suitable implementation, to enable modeling river temperature in mHM [Samaniego et al., 2010, Kumar et al., 2013]. Based on a literature survey, we decided to use a physical based model build up on the work of [Wanders et al., 2019, Beek et al., 2012, Foreman et al., 2001], since its formulation best fits to the structure of mHM. A reformulation of the governing equations was necessary, to reuse routines of the routing module mRM [Thober et al., 2019], so a numerical solution based on a Muskingum-Cunge discretization [Chow et al., 1988, Thober et al., 2019] could be formulated.

This implementation does not include ice layer at the moment and is not evaluated yet, so we mark it as EXPERIMENTAL.

Governing equations

  1. Surface water energy balance equation:
\frac{\partial\left(h\cdot T_{w}\right)}{\partial t}+\frac{\partial\left(q\cdot T_{w}\right)}{\partial A} =\underbrace{\frac{Q^{*}-H-LE}{C_{v}}}_{=:T_{IO}}+\frac{\partial\left(q_{s}\cdot T_{s}\right)}{\partial A}
  1. Net Radiation:
Q^{*}=S_{I}\cdot\left(1-\alpha_{w}\right)+L_{I}-L_{O}
  1. Boltzmann equation (see):
L_{O}=\varepsilon\cdot\sigma\cdot\left(T_{w}\right)^{4}
  1. Sensible heat flux formula:
H=k_{H}\cdot\left(T_{w}-T_{a}\right)
  1. Latent heat formula:
LE=\lambda_{v}\cdot ET_{0}
  1. Lateral flux sum:
q_{s}=q_{dr}+q_{i}+q_{b}
  1. Temperature runoff components:

    • From [Wanders et al., 2019]: (in use)
    T_{s}=\frac{q_{dr}}{q_{s}}\cdot\max\left(T_{i},T_{a}-1.5\right)+\frac{q_{i}}{q_{s}}\cdot\max\left(T_{i},T_{a}\right)+\frac{q_{b}}{q_{s}}\cdot\max\left(T_{i}+5,\overline{T_{a}}\right)
    • From [Beek et al., 2012]: (alternative)
    T_{s}=\frac{q_{dr}}{q_{s}}\cdot T_{a}+\frac{q_{i}}{q_{s}}\cdot T_{a}+\frac{q_{b}}{q_{s}}\cdot\overline{T_{a}}

TODOs

  • add a test case
  • final clean up
  • documentation
Edited Sep 23, 2020 by Sebastian Müller
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: riv_temp_module