Skip to content

Commit

Permalink
Merge pull request #674 from DHI/dfs0-item
Browse files Browse the repository at this point in the history
Remove duplicate Dfs0 ItemInfo construction
  • Loading branch information
ecomodeller authored Mar 19, 2024
2 parents b74c33b + 3093680 commit 4770472
Showing 1 changed file with 8 additions and 17 deletions.
25 changes: 8 additions & 17 deletions mikeio/dfs/_dfs0.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,15 +157,17 @@ def read(
raise FileNotFoundError(f"File {path} not found")

# read data from file
fdata, ftime, fitems = self._read(self._filename)
fdata, ftime = self._read(self._filename)
dfs = self._dfs

# select items
self._n_items = len(dfs.ItemInfo)
item_numbers = _valid_item_numbers(dfs.ItemInfo, items)
if items is not None:
fdata = [fdata[it] for it in item_numbers]
fitems = [fitems[it] for it in item_numbers]
fitems = [self.items[it] for it in item_numbers]
else:
fitems = self.items
ds = Dataset(fdata, ftime, fitems, validate=False)

# select time steps
Expand Down Expand Up @@ -199,9 +201,7 @@ def read(

return ds

def _read(
self, filename: str
) -> tuple[list[np.ndarray], pd.DatetimeIndex, list[ItemInfo]]:
def _read(self, filename: str) -> tuple[list[np.ndarray], pd.DatetimeIndex]:
"""
Read all data from a dfs0 file.
"""
Expand All @@ -222,17 +222,7 @@ def _read(
time = pd.to_datetime(t_seconds, unit="s", origin=self.start_time)
time = time.round(freq="ms") # accept nothing finer than milliseconds

items = [
ItemInfo(
item.Name,
EUMType(item.Quantity.Item),
EUMUnit(item.Quantity.Unit),
data_value_type=item.ValueType,
)
for item in self._dfs.ItemInfo
]

return data, time, items
return data, time

@staticmethod
def _to_dfs_datatype(dtype: Any = None) -> DfsSimpleType:
Expand Down Expand Up @@ -263,7 +253,8 @@ def to_dataframe(
-------
pd.DataFrame
"""
data, time, items = self._read(self._filename)
data, time = self._read(self._filename)
items = self.items
if unit_in_name:
cols = [f"{item.name} ({item.unit.name})" for item in items]
else:
Expand Down

0 comments on commit 4770472

Please sign in to comment.