Skip to content

Splash

satterc.pipeline.models.splash

Satterc-compatable interface to PyRealm's 'Splash' model.

This module provides the Splash class, which wraps the SPLASH model to calculate soil moisture, actual evapotranspiration (AET), and runoff based on climate inputs.

splash

splash(
    dates_daily: DatetimeIndex,
    sunshine_fraction_daily: DataArray,
    temperature_celcius_daily: DataArray,
    precipitation_mm_daily: DataArray,
    elevation: DataArray,
    latitude: DataArray,
    max_soil_moisture: DataArray,
    splash_parameters: tuple[int, float],
) -> dict[str, DataArray]

Run the SPLASH water balance model.

This function is intended to act as a node in a Hamilton DAG.

Parameters:

  • sunshine_fraction_daily (DataArray) –

    Fraction of daylight hours that are sunny (dimensionless, 0-1).

  • temperature_celcius_daily (DataArray) –

    Air temperature (degrees Celsius).

  • precipitation_mm_daily (DataArray) –

    Precipitation (mm).

  • latitude (DataArray) –

    Latitude of the site (degrees).

  • elevation (DataArray) –

    Elevation of the site (meters).

Returns:

  • tuple

    Tuple containing: - actual_evapotranspiration_daily: actual evapotranspiration (mm per day) - soil_moisture_daily: soil moisture content (mm) - runoff_daily: runoff (mm per day)

splash_parameters

splash_parameters(
    soil_moisture_init_max_iter: int = 10, soil_moisture_init_max_diff: float = 1.0
) -> tuple[int, float]

Parameters for the splash model.

Parameters:

  • soil_moisture_init_max_iter (int, default: 10 ) –

    Maximum number of one year iterations used to estimate initial soil moisture.

  • soil_moisture_init_max_diff (float, default: 1.0 ) –

    Maximum acceptable difference between year start and year end soil moisture.