From 0fb990325fab897a6fcb5b88e950054550bfe533 Mon Sep 17 00:00:00 2001 From: Stephan Kuschel Date: Thu, 25 Dec 2014 17:40:12 +0100 Subject: [PATCH] add EPOCH reader support for subsets This commit also fixes that species will be recognized even if Px is not dumped. fix #8 --- postpic/analyzer/analyzer.py | 2 +- postpic/datareader/epochsdf.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/postpic/analyzer/analyzer.py b/postpic/analyzer/analyzer.py index 3204987f..2c67c577 100644 --- a/postpic/analyzer/analyzer.py +++ b/postpic/analyzer/analyzer.py @@ -122,7 +122,7 @@ def identifyspecies(cls, species): ejected_c6b, tracer_proton, protonb """ ret = {'tracer': False, 'ejected': False, 'name': species} - s = species.replace('/', '') + s = species.replace('/', '_') # Regex for parsing ion species name. # See docsting for valid examples diff --git a/postpic/datareader/epochsdf.py b/postpic/datareader/epochsdf.py index 420edca4..ef6a64df 100644 --- a/postpic/datareader/epochsdf.py +++ b/postpic/datareader/epochsdf.py @@ -92,11 +92,12 @@ def grid(self, axis): return self['Grid/Grid/' + axsuffix] def listSpecies(self): - ret = [] + ret = set() for key in self.keys(): - match = re.match('Particles/Px/(\w+)', key) + match = re.match('Particles/\w+/(\w+(/\w+)?)', key) if match: - ret = np.append(ret, match.group(1)) + ret.add(match.group(1)) + ret = list(ret) ret.sort() return ret