Xsection#

class timflow.steady.inhomogeneity1d.Xsection(model, x1, x2, kaq, c, z, npor, ltype, model3d, hstar, N, name=None)#

Bases: timflow.steady.aquifer.AquiferData

Base class for cross-section inhomogeneities.

Parameters:
  • model (Model object) – model to which the element is added, usually an instance of ModelXsection

  • x1 (float) – left boundary of inhomogeneity (may be -np.inf if extends to infinity)

  • x2 (float) – right boundary of inhomogeneity (may be np.inf if extends to infinity)

  • kaq (float, array or list) – hydraulic conductivity of each layer from the top down

  • c (float, array or list) – resistance of leaky layers from the top down

  • z (array or list) – elevation tops and bottoms of the layers from the top down, leaky layers may have zero thickness

  • npor (float, array or list) – porosity of all aquifer layers from the top down

  • ltype (string, array or list) – type of the layers: ‘a’ for aquifer, ‘l’ for leaky layer

  • hstar (float, optional) – head value above semi-confining top, only read if topboundary=’semi’

  • N (float, optional) – infiltration rate, only read if topboundary=’conf’

  • name (string, optional) – name of the inhomogeneity

plot(ax=None, labels: bool = False, params: bool = False, names: bool = False, fmt: str | None = None, units: dict | None = None, layer_names: tuple | dict = ('aquifer', 'leaky layer'), ha: str = 'center', **kwargs)#

Plot the cross-section.

Parameters:
  • ax (plt.Axes, optional) – Axis to plot the cross-section on. If None, a new axis will be created.

  • labels (bool, optional) – If True, add layer-name labels.

  • params (bool, optional) – If True, add parameter labels.

  • names (bool, optional) – If True, add inhomogeneity names.

  • fmt (str) – format string for parameters

  • units (dict, optional) – Dictionary with units for parameters, only used if params is True. Use timflow parameter names as keys e.g. {“kaq”: “m/d”, “c”: “d”}.

  • layer_names (tuple or dict, optional) – names for aquifers and leaky layers, default is (‘aquifer’, ‘leaky layer’). If a dict is provided, it maps layer type and number to a name, e.g. {‘aquifer 0’: ‘top aquifer’, ‘leaky layer 1’: ‘clay layer’

  • ha (str, optional) – Horizontal alignment for parameter labels. Defaults to “center”.

findlayer(z)#

Returns layer-number, layer-type and model-layer-number.

summary()#

Get summary of aquifer parameters.

Returns:

Summary of aquifer parameters including layer type, thickness, hydraulic conductivity, and resistance.

Return type:

pd.DataFrame