Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions ndsl/initialization/grid_sizer.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from abc import ABC, abstractmethod
from collections.abc import Sequence
from dataclasses import dataclass


@dataclass
class GridSizer:
class GridSizer(ABC):
nx: int
"""Length of the x compute dimension for produced arrays."""
ny: int
Expand All @@ -15,11 +16,11 @@ class GridSizer:
data_dimensions: dict[str, int]
"""Name/Lengths pair of any non-x/y/z dimensions, such as land or radiation dimensions."""

def get_origin(self, dims: Sequence[str]) -> tuple[int, ...]:
raise NotImplementedError()
@abstractmethod
def get_origin(self, dims: Sequence[str]) -> tuple[int, ...]: ...

def get_extent(self, dims: Sequence[str]) -> tuple[int, ...]:
raise NotImplementedError()
@abstractmethod
def get_extent(self, dims: Sequence[str]) -> tuple[int, ...]: ...

def get_shape(self, dims: Sequence[str]) -> tuple[int, ...]:
raise NotImplementedError()
@abstractmethod
def get_shape(self, dims: Sequence[str]) -> tuple[int, ...]: ...