Coverage for C:\src\imod-python\imod\msw\infiltration.py: 100%
17 statements
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-08 14:15 +0200
« prev ^ index » next coverage.py v7.5.1, created at 2024-05-08 14:15 +0200
1import xarray as xr
3from imod.msw.fixed_format import VariableMetaData
4from imod.msw.pkgbase import MetaSwapPackage
7class Infiltration(MetaSwapPackage):
8 """
9 This contains the infiltration data.
11 This class is responsible for the file `infi_svat.inp`
13 Parameters
14 ----------
15 infiltration_capacity: array of floats (xr.DataArray)
16 Describes the infiltration capacity of SVAT units. This array must have
17 a subunit coordinate to describe different land uses.
18 downward_resistance: array of floats (xr.DataArray)
19 Describes the downward resisitance of SVAT units. Set to -9999.0 to make
20 MetaSWAP ignore this resistance. This array must not have a subunit
21 coordinate.
22 upward_resistance: array of floats (xr.DataArray)
23 Describes the upward resistance of SVAT units. Set to -9999.0 to make
24 MetaSWAP ignore this resistance. This array must not have a subunit
25 coordinate.
26 bottom_resistance: array of floats (xr.DataArray)
27 Describes the infiltration capacity of SVAT units. Set to -9999.0 to
28 make MetaSWAP ignore this resistance. This array must not have a subunit
29 coordinate.
30 extra_storage_coefficient: array of floats (xr.DataArray)
31 Extra storage coefficient of phreatic layer. This array must not have a
32 subunit coordinate.
33 active: array of bools (xr.DataArray)
34 Describes whether SVAT units are active or not. This array must not have
35 a subunit coordinate.
36 """
38 _file_name = "infi_svat.inp"
39 _metadata_dict = {
40 "svat": VariableMetaData(10, 1, 99999999, int),
41 "infiltration_capacity": VariableMetaData(8, 0.0, 1000.0, float),
42 "downward_resistance": VariableMetaData(8, -9999.0, 999999.0, float),
43 "upward_resistance": VariableMetaData(8, -9999.0, 999999.0, float),
44 "bottom_resistance": VariableMetaData(8, -9999.0, 999999.0, float),
45 "extra_storage_coefficient": VariableMetaData(8, 0.01, 1.0, float),
46 }
48 _with_subunit = ("infiltration_capacity",)
49 _without_subunit = (
50 "downward_resistance",
51 "upward_resistance",
52 "bottom_resistance",
53 "extra_storage_coefficient",
54 )
55 _to_fill = ()
57 def __init__(
58 self,
59 infiltration_capacity: xr.DataArray,
60 downward_resistance: xr.DataArray,
61 upward_resistance: xr.DataArray,
62 bottom_resistance: xr.DataArray,
63 extra_storage_coefficient: xr.DataArray,
64 ):
65 super().__init__()
66 self.dataset["infiltration_capacity"] = infiltration_capacity
67 self.dataset["downward_resistance"] = downward_resistance
68 self.dataset["upward_resistance"] = upward_resistance
69 self.dataset["bottom_resistance"] = bottom_resistance
70 self.dataset["extra_storage_coefficient"] = extra_storage_coefficient
72 self._pkgcheck()