Calibrable#

class hydromodpy.calibration.Calibrable(bounds=None, transform='identity', prior='uniform', units=None, description='')[source]#

Bases: object

What a search needs to know about one field, declared where the field is.

Usage:

from hydromodpy.core.config_kit.calibrable import Calibrable
from hydromodpy.core.config_kit.field_metadata import field_metadata

k_aquifer: float = Field(
    default=1e-4,
    json_schema_extra=field_metadata(
        calibrable=Calibrable(
            bounds=(1e-7, 1e-2),
            transform="log",
            prior="log_uniform",
            units="m/s",
        ),
    ),
)
Parameters:
bounds: tuple[float, float] | None#

The range a search may move within. None says the field is calibrable but its range belongs to the site, so the file has to state it.

transform: str#

identity, log or logit: the space the sampling walks in.

prior: str#

uniform, log_uniform or normal.

to_dict()[source]#

Return a JSON-friendly record for a schema export or a catalogue.

Return type:

dict[str, Any]