improvements
This commit is contained in:
+9
-2
@@ -44,6 +44,7 @@ class RunSelector:
|
||||
sort_run_by=None,
|
||||
time_min=None,
|
||||
time_max=None,
|
||||
time=None,
|
||||
):
|
||||
self.path_in = path_in
|
||||
self.pp_params = pp_params
|
||||
@@ -66,7 +67,7 @@ class RunSelector:
|
||||
in_nums[run] = nums_temp
|
||||
|
||||
for i, run in enumerate(self.runs):
|
||||
self.nums[run] = self.get_nums(run, in_nums[run], time_min, time_max)
|
||||
self.nums[run] = self.get_nums(run, in_nums[run], time_min, time_max, time)
|
||||
|
||||
def load_namelist(self, run):
|
||||
path_run = self.path_in + "/" + run
|
||||
@@ -147,7 +148,7 @@ class RunSelector:
|
||||
info_file.close()
|
||||
return info
|
||||
|
||||
def get_nums(self, run, in_nums=None, time_min=None, time_max=None):
|
||||
def get_nums(self, run, in_nums=None, time_min=None, time_max=None, time=None):
|
||||
def try_load_info(num):
|
||||
try:
|
||||
self.info[run][num] = self.load_info(run, num)
|
||||
@@ -191,4 +192,10 @@ class RunSelector:
|
||||
nums = filter(lambda n: self.info[run][n]["time"] >= time_min, nums)
|
||||
if not time_max is None:
|
||||
nums = filter(lambda n: self.info[run][n]["time"] <= time_max, nums)
|
||||
|
||||
if not time is None:
|
||||
times = np.asarray([[self.info[run][n]["time"], n] for n in nums])
|
||||
idx = (np.abs(times[:, 0] - time)).argmin()
|
||||
nums = [int(times[idx, 1])]
|
||||
|
||||
return nums
|
||||
|
||||
Reference in New Issue
Block a user