Skip to content

Column results

Time series, depth profiles, and exported column results.

Result containers for notebooks and exploratory analysis.

ColumnResult dataclass

Simulation result for one representative column.

Attributes:

Name Type Description
time ndarray

Event-relative output hours, shape (n_times,), including simulations with an optional antecedent history.

rainfall_flux, infiltration_flux, rainfall_excess_flux ndarray

Gross rainfall, effective infiltration after the local Ks cap, and rainfall discarded above that cap, in m/s (shape (n_times,)).

basal_flux, drainage_capacity, excess_flux ndarray

Transfer at the effective initial NF (base of the analytical unsaturated domain), drainage capacity through the lower domain, and undrained transfer in m/s, each with shape (n_times,). excess_flux is basal drainage excess, not rainfall excess.

cumulative_excess ndarray

Undrained storage after background correction and a non-negative floor, in metres, accumulated from history start. A supplied antecedent history carries basal storage into the event without resetting it.

water_table_rise, water_table_depth ndarray

Rise Delta_h above z_w0 and current water-table depth z_w, in metres. A supplied antecedent history may already have NF rise at event time zero, depending on antecedent rainfall and drainage capacity.

pressure_head_at_failure_plane ndarray

Pressure head at the selected observation plane, in metres (base by default).

factor_of_safety_at_failure_plane ndarray

Dimensionless FS at the selected plane (base by default), including the cap.

profiles list[dict[str, ndarray]]

One complete profile per output time, from zero to maximum_depth. There are n_depths + 1 uniform nodes, plus the initial water-table node when it lies inside the column; z and pressure heads are metres, conductivity is m/s, volumetric water content is m³/m³ and factor of safety is dimensionless.

metadata dict

Model version, scope, boundary controls and antecedent diagnostics.

time_dataframe

time_dataframe() -> pd.DataFrame

Return time-series outputs as a pandas DataFrame.

profile_dataframe

profile_dataframe() -> pd.DataFrame

Return profile outputs as a long-format DataFrame.

arrays

arrays() -> dict[str, np.ndarray]

Return core outputs as NumPy arrays.

plot_time_series

plot_time_series(column: str, *, ax=None, **kwargs)

Plot a column from time_dataframe() against time in hours.

plot_profile

plot_profile(variable: str, *, times_h: list[float], ax=None, **kwargs)

Plot selected depth profiles.

Supported variables are: - "pressure_head_total" - "theta" - "hydraulic_conductivity" - "factor_of_safety"