Skip to content

Commit

Permalink
updates to make directory reading work
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Griesfeller committed Apr 30, 2024
1 parent b7d2536 commit 371b5d7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 13 deletions.
21 changes: 11 additions & 10 deletions src/pyaro_readers/harpreader/harpreader.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ def __init__(
if vars_to_read is not None and _var not in vars_to_read:
logger.info(f"Skipping {_var}")
continue
print(_var)
if _var not in self._data:
units = self._variables[_var]
data = NpStructuredData(_var, units)
Expand All @@ -82,12 +83,6 @@ def __init__(
_var,
)

def _unfiltered_stations(self) -> dict[str, Station]:
pass

def close(self):
pass

def _read_file_variables(self, filename) -> dict[str, str]:
"""Returns a mapping of variable name to unit for the dataset.
Expand All @@ -98,15 +93,15 @@ def _read_file_variables(self, filename) -> dict[str, str]:
"""
variables = {}
with xr.open_dataset(filename, decode_cf=False) as d:
with xr.open_dataset(
filename,
decode_cf=False,
) as d:
for vname, var in d.data_vars.items():
variables[vname] = cfunits.Units(var.attrs["units"])

return variables

def _unfiltered_data(self, varname) -> Data:
return self._data[varname]

def _get_data_from_single_file(
self,
file: str,
Expand Down Expand Up @@ -182,6 +177,12 @@ def _unfiltered_variables(self) -> list[str]:
"""
return list(self._variables.keys())

def _unfiltered_data(self, varname) -> Data:
return self._data[varname]

def _unfiltered_stations(self) -> dict[str, Station]:
return self._stations

def close(self):
pass

Expand Down
7 changes: 4 additions & 3 deletions tests/test_HARPReader.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,16 @@ def test_1read(self):
data = ts.data(var)
self.assertGreater(len(data), 10000)
self.assertEqual(data.units, cfunits.Units(self.test_units[_v_idx]))
self.assertGreaterEqual(len(ts.variables()), 2)
self.assertGreaterEqual(len(ts.stations()), 1)

def test_2open_directory(self):
if os.path.exists(self.testdata_dir):
with pyaro.open_timeseries(
self.engine, self.testdata_dir, filters=[], vars_to_read=self.test_vars
) as ts:
for _v_idx, var in enumerate(self.test_vars):
self.assertGreaterEqual(len(ts.variables()), 2)
self.assertGreaterEqual(len(ts.stations()), 7)
self.assertGreaterEqual(len(ts.variables()), 2)
self.assertGreaterEqual(len(ts.stations()), 7)
else:
pass

Expand Down

0 comments on commit 371b5d7

Please sign in to comment.