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,). |
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"