From a5a46720bd65ccf35792a3d0223bd30f2a3adc63 Mon Sep 17 00:00:00 2001 From: Jeff Klenzing Date: Mon, 2 Oct 2023 11:37:30 -0400 Subject: [PATCH] STY: update clean routine --- pysatNASA/instruments/methods/general.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pysatNASA/instruments/methods/general.py b/pysatNASA/instruments/methods/general.py index 8dee2bbe..26dc293f 100644 --- a/pysatNASA/instruments/methods/general.py +++ b/pysatNASA/instruments/methods/general.py @@ -51,9 +51,14 @@ def init(self, module, name): return -def clean(self): +def clean(self, skip_names=None): """Clean data to the specified level. + Parameters + ---------- + skip_names : list of str + List of names to skip for cleaning. (default=None) + Note ---- Basic cleaning to replace fill values with NaN @@ -62,21 +67,20 @@ def clean(self): # Get a list of coords for the data if self.pandas_format: - coords = [self.data.index.name] + skip_key = [self.data.index.name] else: - coords = [key for key in self.data.coords.keys()] + skip_key = [key for key in self.data.coords.keys()] + + if skip_names: + # Add additional variable names to skip + for key in skip_names: + skip_key.append(key) for key in self.variables: # Check for symmetric dims # Indicates transformation matrix, xarray cannot broadcast - if self.pandas_format: - # True by default - unique_dims = True - else: - # Check for multiple dims - unique_dims = len(self[key].dims) == len(np.unique(self[key].dims)) # Skip over the coordinates when cleaning - if key not in coords and unique_dims: + if key not in skip_key: fill = self.meta[key, self.meta.labels.fill_val] # Replace fill with nan