rubem.validation.lookup_tables.check_runoff_coefficient_domain

check_runoff_coefficient_domain(tables, w1, w2, w3)[source]

Check that the weighted runoff coefficient stays inside its domain.

The actual runoff coefficient is C_SR = C_wp P_MD / (C_wp P_MD - RCD C_wp + RCD) (S5); its denominator C_wp P_MD + RCD (1 - C_wp) stays non-negative for every P_MD >= 0 and RCD >= 1 only while C_wp <= 1, and vanishes there only in the corner C_wp = 1 with P_MD = 0. With A = a_i + a_o (S8), C_wp = (1 - A) C_per + A 0.09 exp(2.4 A) (S6 and S7) and C_per = w1 0.02 / n + w2 T_w / (1 - T_w) + w3 S / (10 + S) (S9), every term but the slope one comes from the lookup tables and the calibration weights. The slope-free part is

B = (1 - A) (w1 0.02 / n + w2 T_w / (1 - T_w)) + A 0.09 exp(2.4 A)

and the slope term adds a value in [0, (1 - A) w3).

Blocking: B >= 1 for a pair of a land use class and a soil class, and a wilting point T_w >= 1. Warning: B < 1 <= B + (1 - A) w3, where the coefficient reaches 1 above the slope S* = 10 r / (1 - r) with r = (1 - B) / ((1 - A) w3).

Land use classes with A >= 1 (fully impervious or open water) carry no permeable term and are skipped, as are classes whose roughness or area fractions are outside their own domain: those are reported by check_lookup_tables().

Parameters:
  • tables – An InputTableFiles.

  • w1 – Land use factor weight.

  • w2 – Soil factor weight.

  • w3 – Slope factor weight.

Return type:

list[Problem]

Returns:

The problems found, blocking ones flagged.