Coverage for C:\src\imod-python\imod\mf6\interfaces\imodel.py: 76%

33 statements  

« prev     ^ index     » next       coverage.py v7.5.1, created at 2024-05-16 11:25 +0200

1from abc import abstractmethod 

2from typing import Optional, Tuple 

3 

4from imod.mf6.interfaces.idict import IDict 

5from imod.mf6.statusinfo import StatusInfoBase 

6from imod.typing import GridDataArray 

7 

8 

9class IModel(IDict): 

10 """ 

11 Interface for imod.mf6.model.Modflow6Model 

12 """ 

13 

14 @abstractmethod 

15 def mask_all_packages(self, mask: GridDataArray): 

16 raise NotImplementedError 

17 

18 @abstractmethod 

19 def purge_empty_packages(self, model_name: Optional[str] = "") -> None: 

20 raise NotImplementedError 

21 

22 @abstractmethod 

23 def validate(self, model_name: str = "") -> StatusInfoBase: 

24 raise NotImplementedError 

25 

26 @property 

27 @abstractmethod 

28 def domain(self): 

29 raise NotImplementedError 

30 

31 @property 

32 @abstractmethod 

33 def options(self) -> dict: 

34 raise NotImplementedError 

35 

36 @property 

37 @abstractmethod 

38 def model_id(self) -> str: 

39 raise NotImplementedError 

40 

41 @abstractmethod 

42 def is_regridding_supported(self) -> Tuple[bool, str]: 

43 raise NotImplementedError 

44 

45 @abstractmethod 

46 def is_splitting_supported(self) -> Tuple[bool, str]: 

47 raise NotImplementedError