LeahJB / SimplyP

Simple hydrology, sediment and phosphorus catchment-scale model
MIT License
10 stars 3 forks source link

Add slopes into calculation of time constants #22

Closed LeahJB closed 5 years ago

LeahJB commented 5 years ago

At present, the reach time constant is calculated as T = L/v, where v is water velocity and L is reach length. v is in turn estimated as v = aQ*b, where a and b are constants, and Q is the discharge. i.e. the calculation of T only varies between reaches due to differences in reach length. In reality, other factors will be important, particularly reach slope (faster v in steeper slopes). To take this into account, could replace v=aQ^b with something related to Manning's equation, e.g. v = (1/n) d^(2/3) * slope^0.5 (this assumes a wide shallow channel, where R, the wetted radius, can be approximated as the mean depth d; n is manning's coefficient).

Simplest first thing to do might be to just add in sqrt(slope), and then the factor a in v=aQ^b will be a scaling coefficient rather than something directly derived from data.

This issue also affects time constants in the land phase - the soil water and groundwater time constants should be smaller in steeper sub-catchments. Need to determine whether these should also be changed.

To decide whether this is an important issue, and to check whether changes are worthwhile, need to test the model in several sub-catchments with varying catchment and reach slopes which have good discharge data. Can the model as it is at the moment adequately simulate the differences between sub-catchments?

LeahJB commented 5 years ago

This paper uses a nice simple approach to estimating flow velocities using only discharge and reach slope, with one calibrated parameter, the roughness. Based on Manning's equation. https://hal.archives-ouvertes.fr/hal-00296854/document (K. Schulze, M. Hunger, P. Döll. Simulating river flow velocity on global scale. Advances in Geosciences, European Geosciences Union, 2005, 5, pp.133-136)

LeahJB commented 5 years ago

Reach equations have been reformulated in v0.3 along these lines. Note v0.3 is only available in the Mobius version of the model, not the Python version.

For now I don't plan to consider this for the land phase time constants, although this could be revisited in the future. So closing this issue for now.