summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2022-08-15 17:58:54 +0200
committerAnton Khirnov <anton@khirnov.net>2022-08-15 17:58:54 +0200
commit398934a95b5d126c525d11264b39ccc4e9a8634c (patch)
treee7b1c72f046f1aafd53ef5acf6dc5d284bab8c5a
parent39ffec28ddf50599df296fa8b1a46eac81be7021 (diff)
simdata: deduplicate code
-rw-r--r--simdata.py21
1 files changed, 5 insertions, 16 deletions
diff --git a/simdata.py b/simdata.py
index 102fd63..6dfed8d 100644
--- a/simdata.py
+++ b/simdata.py
@@ -34,13 +34,15 @@ class _RefinedSlice(object):
if time < 0 and iteration < 0:
raise TypeError('Neither time nor iteration provided')
+ trial_df = sd._df
+
if time >= 0:
- self.it = sd._df._iter_from_time(time)
+ self.it = trial_df._iter_from_time(time)
else:
self.it = iteration
try:
- s = sd._df.slice(it = self.it, rl = rl.n)
+ s = trial_df.slice(it = self.it, rl = rl.n)
self.time = s.time
except KeyError:
if time < 0:
@@ -48,20 +50,7 @@ class _RefinedSlice(object):
else:
raise IndexError('No such time: ' + str(time))
- # pick a representative datafile and get the grid properties from it
- if 'H' in self._sd.df:
- df = self._sd.df['H']
- else:
- df = None
- for key in self._sd.df:
- if '.' in key:
- continue
- df = self._sd.df[key]
- break
- if df is None:
- raise IndexError
-
- ds = df.slice(self.it, rl = rl.n)
+ ds = trial_df.slice(self.it, rl = rl.n)
self.c = ds.layout.coords
self.x, self.y, self.z = self.c