XsectionMaq#

class timflow.steady.inhomogeneity1d.XsectionMaq(model, x1, x2, kaq=1, z=None, c=None, npor=0.3, topboundary='conf', hstar=None, N=None, name=None)#

Bases: Xsection

Cross-section inhomogeneity for a multi-aquifer sequence.

Parameters:
  • model (Model object) – model to which the element is added

  • 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 aquifer from the top down if float, hydraulic conductivity is the same in all aquifers

  • z (array or list) – elevation tops and bottoms of the aquifers from the top down leaky layers may have zero thickness if topboundary=’conf’: length is 2 * number of aquifers if topboundary=’semi’: length is 2 * number of aquifers + 1 as top of leaky layer on top of systems needs to be specified

  • c (float, array or list) – resistance of leaky layers from the top down if float, resistance is the same for all leaky layers if topboundary=’conf’: length is number of aquifers - 1 if topboundary=’semi’: length is number of aquifers

  • npor (float, array or list) – porosity of all aquifers and leaky layers from the top down if float, porosity is the same for all layers if topboundary=’conf’: length is 2 * number of aquifers - 1 if topboundary=’semi’: length is 2 * number of aquifers

  • topboundary (string, 'conf' or 'semi' (default is 'conf')) – indicating whether the top is confined (‘conf’) or semi-confined (‘semi’)

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

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

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