- Create a `BaseHBVModel` class with reusable subroutines (precipitation, snow, soil, response, routing). - Refactor all HBV variants to inherit from BaseHBVModel. - Standardize inputs (e.g., use dictionaries or dataclasses instead of positional vectors). - Introduce a configuration structure using pydantic.BaseModel.
BaseHBVModelclass with reusable subroutines (precipitation, snow, soil, response, routing).