Skip to content

The effect of the HydPy-H parameter Psi on spatial aggregation is sometimes not considered. #198

Closed

Description

@tyralla

In commit 2bc4a32, we added the control parameter Psi to the base model hland and all its application models to simplify modifying the runoff coefficients of sealed surfaces. This is done by adjusting the relative zone areas (usually by reducing the sealed areas and increasing most others), as explained here. Therefore, zones of a subbasin modelled with HydPy-H have an "official" absolute size (ZoneArea) and an "effective" relative size (RelZoneAreas). Consequently, ZoneArea does not play a role in any of the model equations, but I found two problematic usages:

  1. We use it as HydPy-H's refweights parameter, which means that the methods average_values and average_series cab return inconsistent spatial averages if the functionality of Psi is actually used.
  2. We pass it for the same weighting purposes to HydPy-Evap submodels, so the same problem here.

I discovered this inconsistency while working on #188, because HydPy-H's snow redistribution routine (which now moves to HydPy-Snow) must know the "effective" zone area during simulation. This means, here we must also pass $Area \cdot RelZoneAreas$ to the new interface method prepare_subareas. This can be a little confusing for users not really aware of how Psi works, but is the only way to keep everything consistent without breaking current simulation behaviour.

Activity

  1. tyralla commented on Aug 3, 2026

    @tyralla
    MemberAuthor

    I fixed this in 8716167. I also considered making a 6.4 fix release, but the old behaviour was clearly documented and more of a subtle conceptual inconsistency than a real bug, so I decided against it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions