eml_urban_hydro_model package

Subpackages

Submodules

Module contents

class eml_urban_hydro_model.AreaParameters(*, omegaSoil: Annotated[float, Gt(gt=0)], omegaRoad: Annotated[float, Ge(ge=0)], omegaRoof: Annotated[float, Ge(ge=0)], runoff_coeff_soil: Annotated[float, Ge(ge=0), Le(le=1)] = 0.5, runoff_coeff_roads: Annotated[float, Ge(ge=0), Le(le=1)] = 0.9, runoff_coeff_roofs: Annotated[float, Ge(ge=0), Le(le=1)] = 0.95)[source]

Bases: BaseModel

Container for area parameters.

_abc_impl = <_abc._abc_data object>
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

omegaRoad: float
omegaRoof: float
omegaSoil: float
runoff_coeff_roads: float
runoff_coeff_roofs: float
runoff_coeff_soil: float
class eml_urban_hydro_model.ModelInput(*args, **kwargs)[source]

Bases: DataFrameModel

DataFrame model for the model’s input data.

class Config

Bases: Config

name: str | None = 'ModelInput'

name of schema

precp: Series[float] = 'precp'
time: Series[Timestamp] = 'time'
class eml_urban_hydro_model.ModelOutput(*args, **kwargs)[source]

Bases: DataFrameModel

DataFrame model for the model’s output data.

class Config

Bases: Config

name: str | None = 'ModelOutput'

name of schema

Qirr: Series[float] = 'Qirr'
Qout: Series[float] = 'Qout'
Qroad: Series[float] = 'Qroad'
Qroof: Series[float] = 'Qroof'
Qsoil: Series[float] = 'Qsoil'
Qtank: Series[float] = 'Qtank'
Vflush: Series[float] = 'Vflush'
soil_mois: Series[float] = 'soil_mois'
time: Series[Timestamp] = 'time'
v_tank: Series[float] = 'v_tank'
class eml_urban_hydro_model.ModelParameters(*, k: float = 84, frac_rt2s: float = 0.5, frac_rt2tk: float = 0.5, vegetation_params: VegetationParameters = VegetationParameters(Z_root=140.0), E_max: float = 0.5, E_w: float = 0.0625, heavy: float = 9.166666666666667e-05, soil_params: SoilParameters = SoilParameters(Ks=100.0, n=0.42, beta=12.7, sh=0.08, sw=0.11, ss=0.31, sfc=0.52), area_params: AreaParameters, Vmax: float = 10, lag: int = 0, resolution: int = 5, Qirr: float | None = None, flushing_frequency: float = 2)[source]

Bases: BaseModel

Container for model’s parameters.

E_max: float
E_w: float
Qirr: float | None
Vmax: float
_abc_impl = <_abc._abc_data object>
area_params: AreaParameters
flushing_frequency: float
frac_rt2s: float
frac_rt2tk: float
heavy: float
k: float
lag: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

resolution: int
soil_params: SoilParameters
vegetation_params: VegetationParameters
class eml_urban_hydro_model.PreprocessingParameters(*, ic: float = 0.2, T: int = 50, resolution: int = 5)[source]

Bases: BaseModel

Container for preprocess function parameters.

T: int
_abc_impl = <_abc._abc_data object>
ic: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

resolution: int
class eml_urban_hydro_model.SoilParameters(*, Ks: float, n: float, beta: float, sh: float, sw: float, ss: float, sfc: float)[source]

Bases: BaseModel

Container for soil parameters.

Ks: float
_abc_impl = <_abc._abc_data object>
beta: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

n: float
sfc: float
sh: float
ss: float
sw: float
class eml_urban_hydro_model.VegetationParameters(*, Z_root: float)[source]

Bases: BaseModel

Container for vegetation parameters.

Z_root: float
_abc_impl = <_abc._abc_data object>
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

eml_urban_hydro_model.get_percent_paved(params: AreaParameters) float[source]

Calculates the percentage of paved area based on the area parameters.

Parameters:

params (AreaParameters) – The area parameters containing omega values.

Returns:

The percentage of paved area (0-100).

Return type:

float

eml_urban_hydro_model.model_st(df: DataFrame[ModelInput], params: ModelParameters) DataFrame[ModelOutput][source]
eml_urban_hydro_model.preprocess(original_rainfall: DataFrame[ModelInput], params: PreprocessingParameters = PreprocessingParameters(ic=0.2, T=50, resolution=5)) DataFrame[ModelInput][source]

Modify rainfall intensity using a memory term with heavyside equation.

eml_urban_hydro_model.set_percent_paved(params: AreaParameters, percent_paved: float) AreaParameters[source]

Adjusts the omega* parameters based on the percent_paved value.

Parameters:
  • params (AreaParameters) – The original area parameters.

  • percent_paved (float) – The desired percentage of paved area (0-100).

Returns:

Updated area parameters with adjusted omega values.

Return type:

AreaParameters