From 88b2b57b7b32ac4b437b292cbb9a4edc35d59936 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Wed, 14 Sep 2022 20:57:33 -0400 Subject: [PATCH] Fixed bug in which the last frame was always selected when generating initial conditions --- python/swiftest/swiftest/io.py | 5 ++--- python/swiftest/swiftest/simulation_class.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/python/swiftest/swiftest/io.py b/python/swiftest/swiftest/io.py index a83c07f06..ee262a6a6 100644 --- a/python/swiftest/swiftest/io.py +++ b/python/swiftest/swiftest/io.py @@ -883,7 +883,7 @@ def select_active_from_frame(ds, param, framenum=-1): iactive = iframe['id'].where((~np.isnan(iframe['Gmass'])) | (~np.isnan(iframe['xhx'])), drop=True).id else: iactive = iframe['id'].where((~np.isnan(iframe['Gmass'])) | (~np.isnan(iframe['a'])), drop = True).id - frame = frame.sel(id=iactive.values) + frame = frame.isel(id=iactive.values) return frame @@ -904,7 +904,6 @@ def swiftest_xr2infile(ds, param, framenum=-1): ------- A set of input files for a new Swiftest run """ - frame = select_active_from_frame(ds, param, framenum) if param['IN_TYPE'] == "NETCDF_DOUBLE" or param['IN_TYPE'] == "NETCDF_FLOAT": @@ -1685,4 +1684,4 @@ def swifter2swift_param(swifter_param, J2=0.0, J4=0.0): swift_param['L2'] = 'T' - return swift_param \ No newline at end of file + return swift_param diff --git a/python/swiftest/swiftest/simulation_class.py b/python/swiftest/swiftest/simulation_class.py index 832894790..fb6f01192 100644 --- a/python/swiftest/swiftest/simulation_class.py +++ b/python/swiftest/swiftest/simulation_class.py @@ -275,8 +275,8 @@ def initial_conditions_from_bin(self, framenum=-1, new_param=None, new_param_fil new_param.pop('TP_IN', None) new_param.pop('CB_IN', None) print(f"Extracting data from dataset at time frame number {framenum} and saving it to {new_param['NC_IN']}") - frame = io.swiftest_xr2infile(self.ds, new_param) + frame = io.swiftest_xr2infile(self.ds, new_param, framenum) print(f"Saving parameter configuration file to {new_param_file}") self.write_param(new_param_file, param=new_param) - return frame \ No newline at end of file + return frame