model.processes.hydraulics

Soil hydraulics module for ADELM.

This module diagnoses soil hydraulic conductivity, soil water potential, root fraction distribution, and soil-plant water supply across the soil profile.

Module Contents

Functions

calculate_root_fraction_profile

Distribute root mass across soil layers using an exponential depth profile.

calculate_soil_conductivity

Diagnose per-layer hydraulic conductivity using a power-law relationship with freeze reduction.

calculate_soil_water_potential

Diagnose per-layer soil water potential from a piecewise retention curve.

calculate_soil_plant_water_supply

Compute layer-wise root water uptake fractions and the root-zone water potential.

API

model.processes.hydraulics.calculate_root_fraction_profile(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)

Distribute root mass across soil layers using an exponential depth profile.

Parameters:
  • params (dict) – Required variable: plant_root_distribution_shape.

  • structure (ModelStructureConfig) – Defines the soil profile geometry via num_soil_layers and soil_layer_thicknesses.

Returns:

params – Updated variable: root_fraction.

Return type:

dict

model.processes.hydraulics.calculate_soil_conductivity(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)

Diagnose per-layer hydraulic conductivity using a power-law relationship with freeze reduction.

Parameters:
  • drivers (dict) – Required variable: ta_degC.

  • states (dict) – Required variable: soil_moisture.

  • params (dict) – Required variables: soil_saturated_hydraulic_conductivity, soil_saturated_moisture, soil_brooks_corey_b, soil_freeze_transition_temperature, and soil_freeze_transition_sharpness.

Returns:

diagnos – Updated variable: soil_conductivity.

Return type:

dict

model.processes.hydraulics.calculate_soil_water_potential(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)

Diagnose per-layer soil water potential from a piecewise retention curve.

Parameters:
  • states (dict) – Required variable: soil_moisture.

  • params (dict) – Required variables: soil_saturated_moisture, soil_field_capacity, soil_brooks_corey_bubbling_head, soil_brooks_corey_a, and soil_brooks_corey_b.

Returns:

diagnos – Updated variable: soil_water_potential.

Return type:

dict

model.processes.hydraulics.calculate_soil_plant_water_supply(drivers, states, fluxes, diagnos, params, consts, errors, structure, debugs)

Compute layer-wise root water uptake fractions and the root-zone water potential.

Parameters:
  • diagnos (dict) – Required variables: soil_water_potential and soil_conductivity.

  • params (dict) – Required variables: plant_minimum_leaf_water_potential and root_fraction.

Returns:

diagnos – Updated variables: water_uptake_fraction and root_zone_soil_water_potential.

Return type:

dict