diff --git a/pysatNASA/instruments/maven_insitu_kp.py b/pysatNASA/instruments/maven_insitu_kp.py index cace6a75..660a3ad3 100644 --- a/pysatNASA/instruments/maven_insitu_kp.py +++ b/pysatNASA/instruments/maven_insitu_kp.py @@ -61,7 +61,9 @@ # Use default clean -clean = mm_nasa.clean +clean = functools.partial(mm_nasa.clean, + skip_names=['Rotation_matrix_IAU_MARS_MAVEN_MSO', + 'Rotation_matrix_SPACECRAFT_MAVEN_MSO']) # ---------------------------------------------------------------------------- diff --git a/pysatNASA/instruments/maven_sep.py b/pysatNASA/instruments/maven_sep.py index 7454961c..b1fe80b2 100644 --- a/pysatNASA/instruments/maven_sep.py +++ b/pysatNASA/instruments/maven_sep.py @@ -23,9 +23,10 @@ :: import pysat - insitu = pysat.Instrument(platform='maven', name='sep', inst_id = 's1') + insitu = pysat.Instrument(platform='maven', name='sep', inst_id='s1') insitu.download(dt.datetime(2020, 1, 1), dt.datetime(2020, 1, 31)) - insitu.load(2020, 1, use_header = True) + insitu.load(2020, 1, use_header=True) + """ import datetime as dt diff --git a/pysatNASA/instruments/methods/general.py b/pysatNASA/instruments/methods/general.py index 8dee2bbe..16326279 100644 --- a/pysatNASA/instruments/methods/general.py +++ b/pysatNASA/instruments/methods/general.py @@ -51,32 +51,36 @@ 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 """ - # Get a list of coords for the data + # Get a list of coords for the data. These should be skipped for cleaning. 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