Skip to content
Open
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
34 changes: 18 additions & 16 deletions pyaerocom/ungriddeddata.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,20 +157,20 @@ def _check_index(self):
"""Checks if all indices are assigned correctly"""
assert len(self.meta_idx) == len(self.metadata), "Mismatch len(meta_idx) and len(metadata)"

assert sum(self.meta_idx) == sum(
self.metadata
), "Mismatch between keys of metadata dict and meta_idx dict"
assert sum(self.meta_idx) == sum(self.metadata), (
"Mismatch between keys of metadata dict and meta_idx dict"
)

_varnums = self._data[:, self._VARINDEX]
var_indices = np.unique(_varnums[~np.isnan(_varnums)])

assert len(var_indices) == len(
self.var_idx
), "Mismatch between number of variables in data array and var_idx attr."
assert len(var_indices) == len(self.var_idx), (
"Mismatch between number of variables in data array and var_idx attr."
)

assert sum(var_indices) == sum(
self.var_idx.values()
), "Mismatch between variable indices in data array and var_idx attr."
assert sum(var_indices) == sum(self.var_idx.values()), (
"Mismatch between variable indices in data array and var_idx attr."
)

vars_avail = self.var_idx

Expand All @@ -190,13 +190,13 @@ def _check_index(self):
if len(indices) == 0:
continue # no data assigned for this metadata index

assert (
var in meta["var_info"]
), f"Var {var} is indexed in meta_idx[{idx}] but not in metadata[{idx}]"
assert var in meta["var_info"], (
f"Var {var} is indexed in meta_idx[{idx}] but not in metadata[{idx}]"
)
var_idx_data = np.unique(self._data[indices, self._VARINDEX])
assert (
len(var_idx_data) == 1
), f"Found multiple variable indices for var {var}: {var_idx_data}"
assert len(var_idx_data) == 1, (
f"Found multiple variable indices for var {var}: {var_idx_data}"
)
assert var_idx_data[0] == vars_avail[var], (
f"Mismatch between {var} index assigned in data and "
f"var_idx for {idx} in meta-block"
Expand Down Expand Up @@ -1164,6 +1164,8 @@ def _len_datapoints(self, meta_idx, var):
meta_idx = [meta_idx]
if isinstance(var, str):
var = [var]
if isinstance(var, list):
var = list(set(var))
totnum = 0
for m in meta_idx:
for v in var:
Expand All @@ -1174,7 +1176,7 @@ def _len_datapoints(self, meta_idx, var):
f"Ignoring variable {var} in meta block {meta_idx} "
f"since no data could be found"
)
return
return totnum

def clear_meta_no_data(self, inplace=True):
"""Remove all metadata blocks that do not have data associated with it
Expand Down
Loading