Source code for imod.wq.chd

from imod.wq.pkgbase import BoundaryCondition


[docs] class ConstantHead(BoundaryCondition): """ The Constant Head package. The Time-Variant Specified-Head package is used to simulate specified head boundaries that can change within or between stress periods. Parameters ---------- head_start: xr.DataArray of floats is the head at the boundary at the start of the stress period. head_end: xr.DataArray of floats is the head at the boundary at the end of the stress period. concentration: xr.DataArray of floats concentrations for the constant heads. It gets automatically written to the SSM package. save_budget: bool, optional is a flag indicating if the budget should be saved (ICHDCB). Default is False. """ _pkg_id = "chd" _mapping = (("shead", "head_start"), ("ehead", "head_end"))
[docs] def __init__(self, head_start, head_end, concentration, save_budget=False): super().__init__() self["head_start"] = head_start self["head_end"] = head_end self["concentration"] = concentration self["save_budget"] = save_budget
def _pkgcheck(self, ibound=None): self._check_positive(["concentration"]) self._check_location_consistent(["head_start", "head_end", "concentration"]) def repeat_stress(self, head_start=None, head_end=None, use_cftime=False): varnames = ["head_start", "head_end"] values = [head_start, head_end] for varname, value in zip(varnames, values): self._repeat_stress(varname, value, use_cftime)