From c26acb56583356a71544ac765c4b4c0a344b93b9 Mon Sep 17 00:00:00 2001 From: Eivind Jahren Date: Thu, 22 Jan 2026 15:37:24 +0100 Subject: [PATCH 1/2] Remove deprecated Summary methods --- python/resdata/summary/rd_sum.py | 122 ------------------------ python/resdata/summary/rd_sum_vector.py | 102 ++------------------ 2 files changed, 6 insertions(+), 218 deletions(-) diff --git a/python/resdata/summary/rd_sum.py b/python/resdata/summary/rd_sum.py index 374ffbedc..fc928f5ad 100644 --- a/python/resdata/summary/rd_sum.py +++ b/python/resdata/summary/rd_sum.py @@ -145,7 +145,6 @@ class Summary(BaseCClass): _sim_length = ResdataPrototype("double rd_sum_get_sim_length(rd_sum)") _get_first_day = ResdataPrototype("double rd_sum_get_first_day(rd_sum)") _get_data_start = ResdataPrototype("rd_time_t rd_sum_get_data_start(rd_sum)") - _get_unit = ResdataPrototype("char* rd_sum_get_unit(rd_sum, char*)") _get_restart_case = ResdataPrototype("rd_sum_ref rd_sum_get_restart_case(rd_sum)") _get_restart_step = ResdataPrototype("int rd_sum_get_restart_step(rd_sum)") _get_simcase = ResdataPrototype("char* rd_sum_get_case(rd_sum)") @@ -397,23 +396,6 @@ def add_t_step(self, report_step, sim_days): tstep = self._add_tstep(report_step, sim_seconds).setParent(parent=self) return tstep - def get_vector(self, key, report_only=False): - """ - Will return SummaryVector according to @key. - - Will raise exception KeyError if the summary object does not - have @key. - """ - warnings.warn( - "The method get_vector() has been deprecated, use numpy_vector() instead", - DeprecationWarning, - ) - self.assertKeyValid(key) - if report_only: - return SummaryVector(self, key, report_only=True) - else: - return SummaryVector(self, key) - def report_index_list(self): """ Internal function for working with report_steps. @@ -446,37 +428,6 @@ def groups(self, pattern=None): """ return self._create_group_list(pattern) - def get_values(self, key, report_only=False): - """ - Will return numpy vector of all values according to @key. - - If the optional argument report_only is true only the values - corresponding to report steps are included. The method is - also available as the 'values' property of an SummaryVector - instance. - """ - warnings.warn( - "The method get_values() has been deprecated - use numpy_vector() instead.", - DeprecationWarning, - ) - if self.has_key(key): - key_index = self._get_general_var_index(key) - if report_only: - index_list = self.report_index_list() - values = np.zeros(len(index_list)) - for i in range(len(index_list)): - time_index = index_list[i] - values[i] = self._iiget(time_index, key_index) - else: - length = self._data_length() - values = np.zeros(length) - for i in range(length): - values[i] = self._iiget(i, key_index) - - return values - else: - raise KeyError("Summary object does not have key:%s" % key) - def _make_time_vector( self, time_index: Sequence[Union[CTime, datetime.datetime, int, datetime.date]] ) -> TimeVector: @@ -800,13 +751,6 @@ def first_value(self, key): return self._get_first_value(key) - def get_last_value(self, key): - warnings.warn( - "The function get_last_value() is deprecated, use last_value() instead", - DeprecationWarning, - ) - return self.last_value(key) - def get_last(self, key): """ Will return the last SummaryNode corresponding to @key. @@ -869,38 +813,6 @@ def assert_key_valid(self, key): def __iter__(self): return iter(self.keys()) - def __getitem__(self, key): - """ - Implements [] operator - @key should be a summary key. - - The returned value will be a SummaryVector instance. - """ - warnings.warn( - "The method the [] operator will change behaviour in the future. It will then return a plain numpy vector. You are advised to change to use the numpy_vector() method right away", - DeprecationWarning, - ) - return self.get_vector(key) - - def scale_vector(self, key, scalar): - msg = """The function Summary.scale_vector has been removed. As an alternative you -are advised to fetch vector as a numpy vector and then scale that yourself: - - vec = rd_sum.numpy_vector(key) - vec *= scalar - - """ - raise NotImplementedError(msg) - - def shift_vector(self, key, addend): - msg = """The function Summary.shift_vector has been removed. As an alternative you -are advised to fetch vector as a numpy vector and then scale that yourself: - - vec = rd_sum.numpy_vector(key) - vec += scalar - - """ - raise NotImplementedError(msg) - def check_sim_time(self, date): """ Will check if the input date is in the time span [sim_start, sim_end]. @@ -1258,40 +1170,6 @@ def get_dates(self, report_only=False): else: return self.dates - @property - def mpl_dates(self): - """ - Will return a numpy vector of dates ready for matplotlib - - The content of the vector are dates in matplotlib format, - i.e. floats - generated by the date2num() function at the top - of this file. - """ - warnings.warn( - "The mpl_dates property has been deprecated - use numpy_dates instead", - DeprecationWarning, - ) - return self.get_mpl_dates(False) - - def get_mpl_dates(self, report_only=False): - """ - Will return a numpy vector of dates ready for matplotlib - - If the optional argument @report_only is set to True, only - dates values corresponding to report steps will be - included. The content of the vector are dates in matplotlib - format, i.e. floats - generated by the date2num() function at - the top of this file. - """ - warnings.warn( - "The get_mpl_dates( ) method has been deprecated - use numpy_dates instead", - DeprecationWarning, - ) - if report_only: - return [date2num(dt) for dt in self.report_dates] - else: - return [date2num(dt) for dt in self.dates] - @property def report_step(self): """ diff --git a/python/resdata/summary/rd_sum_vector.py b/python/resdata/summary/rd_sum_vector.py index 799089df7..9f67d2f6a 100644 --- a/python/resdata/summary/rd_sum_vector.py +++ b/python/resdata/summary/rd_sum_vector.py @@ -4,15 +4,13 @@ class SummaryVector(object): - def __init__(self, parent, key, report_only=False): + def __init__(self, parent, key): """ A summary vector with a vector of values and time. A summary vector contains the the full time history of one key, along with the corresponding time vectors in several - different time formats. Depending on the report_only argument - the data vectors in the SummaryVector can either contain all - the time values, or only those corresponding to report_steps. + different time formats. The SummaryVector contains a reference to the parent Summary structure and this is used to implement several of the @@ -23,18 +21,11 @@ def __init__(self, parent, key, report_only=False): """ self.parent = parent self.key = key - self.report_only = report_only - if report_only: - warnings.warn( - "The report_only flag to the SummaryVector will be removed", - DeprecationWarning, - ) - - self.__dates = parent.get_dates(report_only) - self.__days = parent.get_days(report_only) + self.__dates = parent.get_dates(False) + self.__days = parent.get_days(False) self.__numpy_dates = parent.numpy_dates - self.__report_step = parent.get_report_step(report_only) + self.__report_step = parent.get_report_step(False) self.__values = None def __str__(self): @@ -59,9 +50,7 @@ def assert_values(self): This function will load and internalize all the values. """ if self.__values is None: - self.__values = self.parent.numpy_vector( - self.key, report_only=self.report_only - ) + self.__values = self.parent.numpy_vector(self.key, report_only=False) @property def values(self): @@ -87,21 +76,6 @@ def days(self): """ return self.__days - @property - def mpl_dates(self): - """ - All the dates as numpy vector of dates in matplotlib format. - This property will be replaced by numpy_dates, but is kept for - backwards-compatibility for the time-being. Usage will trigger - a depreciation warning. - """ - warnings.warn( - "The mpl_dates property has been deprecated - use numpy_dates instead", - DeprecationWarning, - ) - - return self.parent.get_mpl_dates(self.report_only) - @property def numpy_dates(self): """ @@ -226,67 +200,3 @@ def get_from_report(self, report_step): Will lookup the value based on @report_step. """ return self.parent.get_from_report(self.key, report_step) - - ################################################################# - - def first_gt_index(self, limit): - """ - Locates first index where the value is above @limit. - - Observe that this method will raise an exception if it is - called from a vector instance with report_only = True. - """ - if not self.report_only: - key_index = self.parent._get_general_var_index(self.key) - time_index = self.parent._get_first_gt(key_index, limit) - return time_index - else: - raise Exception( - "Sorry - first_gt_index() can not be called for vectors with report_only=True" - ) - - def first_gt(self, limit): - """ - Locate the first SummaryNode where value is above @limit. - - vec = sum["WWCT:A-3"] - w = vec.first_gt(0.50) - print('Water cut above 0.50 in well A-3 at: %s' % w.date) - - Uses first_gt_index() internally and can not be called for - vectors with report_only = True. - """ - time_index = self.first_gt_index(limit) - self.assert_values() - if time_index >= 0: - return self.__iget(time_index) - else: - return None - - def first_lt_index(self, limit): - """ - Locates first index where the value is below @limit. - - See first_gt_index() for further details. - """ - if not self.report_only: - key_index = self.parent._get_general_var_index(self.key) - time_index = self.parent._get_first_lt(key_index, limit) - return time_index - else: - raise Exception( - "Sorry - first_lt_index() can not be called for vectors with report_only=True" - ) - - def first_lt(self, limit): - """ - Locates first element where the value is below @limit. - - See first_gt() for further details. - """ - time_index = self.first_lt_index(limit) - self.assert_values() - if time_index >= 0: - return self.__iget(time_index) - else: - return None From 92374785cfd1cef1d4518e519227a2027c05aed1 Mon Sep 17 00:00:00 2001 From: Eivind Jahren Date: Thu, 22 Jan 2026 15:59:59 +0100 Subject: [PATCH 2/2] Remove deprecated 'monkey_the_camel' methods from summary --- python/resdata/summary/rd_cmp.py | 4 +- python/resdata/summary/rd_npv.py | 4 +- python/resdata/summary/rd_sum.py | 54 ++++++---------- python/resdata/util/test/mock/rd_sum_mock.py | 4 +- tests/rd_tests/test_npv.py | 4 +- tests/rd_tests/test_rd_sum.py | 26 ++++---- tests/rd_tests/test_sum.py | 66 ++++++++++---------- tests/rd_tests/test_sum_equinor.py | 50 +++++++-------- 8 files changed, 98 insertions(+), 114 deletions(-) diff --git a/python/resdata/summary/rd_cmp.py b/python/resdata/summary/rd_cmp.py index a3aff7075..dcd49cd93 100644 --- a/python/resdata/summary/rd_cmp.py +++ b/python/resdata/summary/rd_cmp.py @@ -26,13 +26,13 @@ def load_summary(self): self.summary = Summary(self.case) def start_time_equal(self, other): - if self.summary.getDataStartTime() == other.summary.getDataStartTime(): + if self.summary.get_data_start_time() == other.summary.get_data_start_time(): return True else: return False def end_time_equal(self, other): - if self.summary.getEndTime() == other.summary.getEndTime(): + if self.summary.get_end_time() == other.summary.get_end_time(): return True else: return False diff --git a/python/resdata/summary/rd_npv.py b/python/resdata/summary/rd_npv.py index ca57ec8ea..b3ab1f824 100644 --- a/python/resdata/summary/rd_npv.py +++ b/python/resdata/summary/rd_npv.py @@ -158,10 +158,10 @@ def parse_expression(self, expression): def compile(self, expression): parsedExpression = self.parseExpression(expression) self.code = ( - "trange = self.baseCase.timeRange(self.start, self.end, self.interval)\n" + "trange = self.baseCase.time_range(self.start, self.end, self.interval)\n" ) for key, var in self.keyList.items(): - self.code += '%s = self.baseCase.blockedProduction("%s", trange)\n' % ( + self.code += '%s = self.baseCase.blocked_production("%s", trange)\n' % ( var, key, ) diff --git a/python/resdata/summary/rd_sum.py b/python/resdata/summary/rd_sum.py index fc928f5ad..a9c9ab7f6 100644 --- a/python/resdata/summary/rd_sum.py +++ b/python/resdata/summary/rd_sum.py @@ -692,7 +692,7 @@ def from_pandas(cls, case, frame, dims=None, headers=None): for i, time in enumerate(frame.index): days = (time - start_time).total_seconds() / 86400 - t_step = rd_sum.addTStep(i + 1, days) + t_step = rd_sum.add_t_step(i + 1, days) for var in var_list: t_step[var] = frame.iloc[i][var] @@ -840,7 +840,7 @@ def get_interp(self, key, days=None, date=None): Also available as method get_interp() on the SummaryVector class. """ - self.assertKeyValid(key) + self.assert_key_valid(key) if days is None and date is None: raise ValueError("Must supply either days or date") @@ -880,22 +880,22 @@ def time_range( num, timeUnit = TimeVector.parseTimeUnit(interval) if start is None: - start = self.getDataStartTime() + start = self.get_data_start_time() else: if isinstance(start, datetime.date): start = datetime.datetime(start.year, start.month, start.day, 0, 0, 0) - if start < self.getDataStartTime(): - start = self.getDataStartTime() + if start < self.get_data_start_time(): + start = self.get_data_start_time() if end is None: - end = self.getEndTime() + end = self.get_end_time() else: if isinstance(end, datetime.date): end = datetime.datetime(end.year, end.month, end.day, 0, 0, 0) - if end > self.getEndTime(): - end = self.getEndTime() + if end > self.get_end_time(): + end = self.get_end_time() if end < start: raise ValueError("Invalid time interval start after end") @@ -943,7 +943,7 @@ def time_range( else: trange.append(end) - data_start = self.getDataStartTime() + data_start = self.get_data_start_time() if trange[0] < data_start: trange[0] = CTime(data_start) @@ -1005,7 +1005,7 @@ def get_interp_vector(self, key, days_list=None, date_list=None): Also available as method get_interp_vector() on the SummaryVector class. """ - self.assertKeyValid(key) + self.assert_key_valid(key) if days_list: if date_list: raise ValueError("Must supply either days_list or date_list") @@ -1265,23 +1265,23 @@ def end_date(self): @property def data_start(self): - return self.getDataStartTime() + return self.get_data_start_time() @property def end_time(self): """ The time of the last (loaded) time step. """ - return self.getEndTime() + return self.get_end_time() @property def start_time(self): - return self.getStartTime() + return self.get_start_time() def get_data_start_time(self): """The first date we have data for. - Thiw will mostly be equal to getStartTime(), but in the case + Thiw will mostly be equal to get_start_time(), but in the case of restarts, where the case we have restarted from is not found, this time will be later than the true start of the field. @@ -1358,7 +1358,7 @@ def first_lt(self, key, limit): def solve_dates(self, key, value, rates_clamp_lower=True): """Will solve the equation vector[@key] == value for dates. - See solveDays() for further details. + See solve_days() for further details. """ if not key in self: raise KeyError("Unrecognized key:%s" % key) @@ -1376,7 +1376,7 @@ def solve_days(self, key, value, rates_clamp_lower=True): a list of values, which can have zero, one or multiple values: case = Summary("CASE") - days = case.solveDays("RPR:2", 200) + days = case.solve_days("RPR:2", 200) if len(days) == 0: print("Pressure was never equal to 200 BARSA") @@ -1515,8 +1515,8 @@ def __repr__(self): Summary("NORNE_ATW2013.UNSMRY", [1997-11-06 00:00:00, 2006-12-01 00:00:00], keys=3781) at 0x1609e20 """ name = self._nicename() - s_time = self.getStartTime() - e_time = self.getEndTime() + s_time = self.get_start_time() + e_time = self.get_end_time() num_keys = len(self.keys()) content = 'name="%s", time=[%s, %s], keys=%d' % (name, s_time, e_time, num_keys) return self._create_repr(content) @@ -1538,7 +1538,7 @@ def export_csv(self, filename, keys=None, date_format="%Y-%m-%d", sep=";"): limit the keys which are exported: rd_sum = Summary("CASE") - rd_sum.exportCSV("case.csv", keys=["W*:OP1", "W*:OP2", "F*T"]) + rd_sum.export_csv("case.csv", keys=["W*:OP1", "W*:OP2", "F*T"]) Will export all well related variables for wells 'OP1' and 'OP2' and all total field vectors. @@ -1587,19 +1587,3 @@ def resample( "void rd_sum_init_double_frame_interp(rd_sum, rd_sum_vector, rd_time_t_vector, double*)", bind=False, ) - -monkey_the_camel(Summary, "varType", Summary.var_type, classmethod) -monkey_the_camel(Summary, "addVariable", Summary.add_variable) -monkey_the_camel(Summary, "addTStep", Summary.add_t_step) -monkey_the_camel(Summary, "assertKeyValid", Summary.assert_key_valid) -monkey_the_camel(Summary, "scaleVector", Summary.scale_vector) -monkey_the_camel(Summary, "shiftVector", Summary.shift_vector) -monkey_the_camel(Summary, "timeRange", Summary.time_range) -monkey_the_camel(Summary, "blockedProduction", Summary.blocked_production) -monkey_the_camel(Summary, "getDataStartTime", Summary.get_data_start_time) -monkey_the_camel(Summary, "getStartTime", Summary.get_start_time) -monkey_the_camel(Summary, "getEndTime", Summary.get_end_time) -monkey_the_camel(Summary, "solveDates", Summary.solve_dates) -monkey_the_camel(Summary, "solveDays", Summary.solve_days) -monkey_the_camel(Summary, "dumpCSVLine", Summary.dump_csv_line) -monkey_the_camel(Summary, "exportCSV", Summary.export_csv) diff --git a/python/resdata/util/test/mock/rd_sum_mock.py b/python/resdata/util/test/mock/rd_sum_mock.py index d120ecfd9..8d1d02c5e 100644 --- a/python/resdata/util/test/mock/rd_sum_mock.py +++ b/python/resdata/util/test/mock/rd_sum_mock.py @@ -24,7 +24,7 @@ def createSummary( ) var_list = [] for kw, wgname, num, unit in keys: - var_list.append(rd_sum.addVariable(kw, wgname=wgname, num=num, unit=unit)) + var_list.append(rd_sum.add_variable(kw, wgname=wgname, num=num, unit=unit)) # This is a bug! This should not be integer division, but tests are written # around that assumption. @@ -48,7 +48,7 @@ def createSummary( + report_step * report_step_length + mini_step * mini_step_length ) - t_step = rd_sum.addTStep(report_step + 1, sim_days=days) + t_step = rd_sum.add_t_step(report_step + 1, sim_days=days) for var in var_list: key = var.getKey1() diff --git a/tests/rd_tests/test_npv.py b/tests/rd_tests/test_npv.py index 4c7394de0..5f7414e83 100644 --- a/tests/rd_tests/test_npv.py +++ b/tests/rd_tests/test_npv.py @@ -93,8 +93,8 @@ def test_eval(self): npv2 = 0 sum = Summary(self.case) - trange = sum.timeRange() - fopr = sum.blockedProduction("FOPT", trange) + trange = sum.time_range() + fopr = sum.blocked_production("FOPT", trange) for v in fopr: npv2 += v self.assertAlmostEqual(npv1, npv2) diff --git a/tests/rd_tests/test_rd_sum.py b/tests/rd_tests/test_rd_sum.py index 3496ab26e..cc13b9ee5 100644 --- a/tests/rd_tests/test_rd_sum.py +++ b/tests/rd_tests/test_rd_sum.py @@ -65,32 +65,32 @@ def setUp(self): self.rd_sum = Summary(self.test_file) def test_time_range_year(self): - real_range = self.rd_sum.timeRange(interval="1y", extend_end=False) - extended_range = self.rd_sum.timeRange(interval="1y", extend_end=True) + real_range = self.rd_sum.time_range(interval="1y", extend_end=False) + extended_range = self.rd_sum.time_range(interval="1y", extend_end=True) assert real_range[-1] < extended_range[-1] def test_time_range_day(self): - real_range = self.rd_sum.timeRange(interval="1d", extend_end=False) - extended_range = self.rd_sum.timeRange(interval="1d", extend_end=True) + real_range = self.rd_sum.time_range(interval="1d", extend_end=False) + extended_range = self.rd_sum.time_range(interval="1d", extend_end=True) assert real_range[-1] == extended_range[-1] def test_time_range_month(self): - real_range = self.rd_sum.timeRange(interval="1m", extend_end=False) - extended_range = self.rd_sum.timeRange(interval="1m", extend_end=True) + real_range = self.rd_sum.time_range(interval="1m", extend_end=False) + extended_range = self.rd_sum.time_range(interval="1m", extend_end=True) assert real_range[-1] < extended_range[-1] def test_dump_csv_line(self): rd_sum_vector = SummaryKeyWordVector(self.rd_sum) - rd_sum_vector.addKeywords("F*") + rd_sum_vector.add_keywords("F*") with self.assertRaises(KeyError): - rd_sum_vector.addKeyword("MISSING") + rd_sum_vector.add_keyword("MISSING") dtime = datetime.datetime(2002, 1, 1, 0, 0, 0) with TestAreaContext("Summary/csv_dump"): test_file_name = self.createTestPath("dump.csv") outputH = copen(test_file_name, "w") - self.rd_sum.dumpCSVLine(dtime, rd_sum_vector, outputH) + self.rd_sum.dump_csv_line(dtime, rd_sum_vector, outputH) assert os.path.isfile(test_file_name) def test_truncated_smspec(self): @@ -161,13 +161,13 @@ def test_missing_unsmry_keyword(self): def test_labscale(self): case = self.createTestPath("Equinor/ECLIPSE/LabScale/HDMODEL") sum = Summary(case, lazy_load=True) - self.assertEqual(sum.getStartTime(), datetime.datetime(2013, 1, 1, 0, 0, 0)) - self.assertEqual(sum.getEndTime(), datetime.datetime(2013, 1, 1, 19, 30, 0)) + self.assertEqual(sum.get_start_time(), datetime.datetime(2013, 1, 1, 0, 0, 0)) + self.assertEqual(sum.get_end_time(), datetime.datetime(2013, 1, 1, 19, 30, 0)) self.assertFloatEqual(sum.getSimulationLength(), 19.50) sum = Summary(case, lazy_load=False) - self.assertEqual(sum.getStartTime(), datetime.datetime(2013, 1, 1, 0, 0, 0)) - self.assertEqual(sum.getEndTime(), datetime.datetime(2013, 1, 1, 19, 30, 0)) + self.assertEqual(sum.get_start_time(), datetime.datetime(2013, 1, 1, 0, 0, 0)) + self.assertEqual(sum.get_end_time(), datetime.datetime(2013, 1, 1, 19, 30, 0)) self.assertFloatEqual(sum.getSimulationLength(), 19.50) diff --git a/tests/rd_tests/test_sum.py b/tests/rd_tests/test_sum.py index d0213b87e..9f5b9a7da 100644 --- a/tests/rd_tests/test_sum.py +++ b/tests/rd_tests/test_sum.py @@ -138,29 +138,29 @@ def test_identify_var_type(self): SummaryVarType, "rd_smspec_var_type", "lib/include/resdata/smspec_node.hpp" ) self.assertEqual( - Summary.varType("WWCT:OP_X"), SummaryVarType.RD_SMSPEC_WELL_VAR + Summary.var_type("WWCT:OP_X"), SummaryVarType.RD_SMSPEC_WELL_VAR ) - self.assertEqual(Summary.varType("RPR"), SummaryVarType.RD_SMSPEC_REGION_VAR) - self.assertEqual(Summary.varType("WNEWTON"), SummaryVarType.RD_SMSPEC_MISC_VAR) - self.assertEqual(Summary.varType("YEAR"), SummaryVarType.RD_SMSPEC_MISC_VAR) - self.assertEqual(Summary.varType("MONTH"), SummaryVarType.RD_SMSPEC_MISC_VAR) + self.assertEqual(Summary.var_type("RPR"), SummaryVarType.RD_SMSPEC_REGION_VAR) + self.assertEqual(Summary.var_type("WNEWTON"), SummaryVarType.RD_SMSPEC_MISC_VAR) + self.assertEqual(Summary.var_type("YEAR"), SummaryVarType.RD_SMSPEC_MISC_VAR) + self.assertEqual(Summary.var_type("MONTH"), SummaryVarType.RD_SMSPEC_MISC_VAR) self.assertEqual( - Summary.varType("AARQ:4"), SummaryVarType.RD_SMSPEC_AQUIFER_VAR + Summary.var_type("AARQ:4"), SummaryVarType.RD_SMSPEC_AQUIFER_VAR ) self.assertEqual( - Summary.varType("RXFT"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR + Summary.var_type("RXFT"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR ) self.assertEqual( - Summary.varType("RxxFT"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR + Summary.var_type("RxxFT"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR ) self.assertEqual( - Summary.varType("RXFR"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR + Summary.var_type("RXFR"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR ) self.assertEqual( - Summary.varType("RxxFR"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR + Summary.var_type("RxxFR"), SummaryVarType.RD_SMSPEC_REGION_2_REGION_VAR ) - self.assertEqual(Summary.varType("RORFR"), SummaryVarType.RD_SMSPEC_REGION_VAR) + self.assertEqual(Summary.var_type("RORFR"), SummaryVarType.RD_SMSPEC_REGION_VAR) case = createSummary( "CSV", @@ -204,7 +204,7 @@ def test_csv_export(self): ) sep = ";" with TestAreaContext("resdata/csv"): - case.exportCSV("file.csv", sep=sep) + case.export_csv("file.csv", sep=sep) self.assertTrue(os.path.isfile("file.csv")) input_file = csv.DictReader(open("file.csv"), delimiter=sep) for row in input_file: @@ -218,7 +218,7 @@ def test_csv_export(self): self.assertEqual(case.unit("FOPT"), "SM3") with TestAreaContext("resdata/csv"): - case.exportCSV("file.csv", keys=["FOPT"], sep=sep) + case.export_csv("file.csv", keys=["FOPT"], sep=sep) self.assertTrue(os.path.isfile("file.csv")) input_file = csv.DictReader(open("file.csv"), delimiter=sep) for row in input_file: @@ -231,7 +231,7 @@ def test_csv_export(self): with TestAreaContext("resdata/csv"): date_format = "%y-%m-%d" sep = "," - case.exportCSV("file.csv", keys=["F*"], sep=sep, date_format=date_format) + case.export_csv("file.csv", keys=["F*"], sep=sep, date_format=date_format) self.assertTrue(os.path.isfile("file.csv")) with open("file.csv") as f: time_index = -1 @@ -252,46 +252,46 @@ def test_solve(self): def assert_solve(self, case): with self.assertRaises(KeyError): - case.solveDays("MISSING:KEY", 0.56) + case.solve_days("MISSING:KEY", 0.56) - sol = case.solveDays("FOPT", 150) + sol = case.solve_days("FOPT", 150) self.assertEqual(len(sol), 0) - sol = case.solveDays("FOPT", -10) + sol = case.solve_days("FOPT", -10) self.assertEqual(len(sol), 0) - sol = case.solveDays("FOPT", 50) + sol = case.solve_days("FOPT", 50) self.assertEqual(len(sol), 1) self.assertFloatEqual(sol[0], 50) - sol = case.solveDays("FOPT", 50.50) + sol = case.solve_days("FOPT", 50.50) self.assertEqual(len(sol), 1) self.assertFloatEqual(sol[0], 50.50) - sol = case.solveDays("FOPR", 50.90) + sol = case.solve_days("FOPR", 50.90) self.assertEqual(len(sol), 1) self.assertFloatEqual(sol[0], 50.00 + 1.0 / 86400) - sol = case.solveDates("FOPR", 50.90) + sol = case.solve_dates("FOPR", 50.90) t = ( - case.getDataStartTime() + case.get_data_start_time() + datetime.timedelta(days=50) + datetime.timedelta(seconds=1) ) self.assertEqual(sol[0], t) - sol = case.solveDays("FOPR", 50.90, rates_clamp_lower=False) + sol = case.solve_days("FOPR", 50.90, rates_clamp_lower=False) self.assertEqual(len(sol), 1) self.assertFloatEqual(sol[0], 51.00) - sol = case.solveDays("FGPT", 25.0) + sol = case.solve_days("FGPT", 25.0) self.assertEqual(len(sol), 2) self.assertFloatEqual(sol[0], 25.00) self.assertFloatEqual(sol[1], 75.00) - sol = case.solveDates("FGPT", 25) + sol = case.solve_dates("FGPT", 25) self.assertEqual(len(sol), 2) - t0 = case.getDataStartTime() + t0 = case.get_data_start_time() t1 = t0 + datetime.timedelta(days=25) t2 = t0 + datetime.timedelta(days=75) self.assertEqual(sol[0], t1) @@ -359,7 +359,7 @@ def test_kw_vector(self): kw_list.add_keyword("FGPT") kw_list.add_keyword("FOPR") - t = case1.getDataStartTime() + datetime.timedelta(days=43) + t = case1.get_data_start_time() + datetime.timedelta(days=43) data = case1.get_interp_row(kw_list, t) for d1, d2 in zip( data, @@ -390,10 +390,10 @@ def test_kw_vector(self): with TestAreaContext("sum_vector"): with cwrap.open("f1.txt", "w") as f: - case1.dumpCSVLine(t, kw_list, f) + case1.dump_csv_line(t, kw_list, f) with cwrap.open("f2.txt", "w") as f: - case2.dumpCSVLine(t, kw_list2, f) + case2.dump_csv_line(t, kw_list2, f) with open("f1.txt") as f: d1 = f.readline().split(",") @@ -555,12 +555,12 @@ def test_numpy_vector(self): numpy_vector = case.numpy_vector("FOPT") self.assertEqual(len(numpy_vector), len(case)) numpy_dates = case.numpy_dates - self.assertEqual(numpy_dates[0].tolist(), case.getDataStartTime()) - self.assertEqual(numpy_dates[-1].tolist(), case.getEndTime()) + self.assertEqual(numpy_dates[0].tolist(), case.get_data_start_time()) + self.assertEqual(numpy_dates[-1].tolist(), case.get_end_time()) dates = case.dates - self.assertEqual(dates[0], case.getDataStartTime()) - self.assertEqual(dates[-1], case.getEndTime()) + self.assertEqual(dates[0], case.get_data_start_time()) + self.assertEqual(dates[-1], case.get_end_time()) dates = ( [datetime.datetime(2000, 1, 1)] diff --git a/tests/rd_tests/test_sum_equinor.py b/tests/rd_tests/test_sum_equinor.py index 0f46400dd..7af10bf85 100755 --- a/tests/rd_tests/test_sum_equinor.py +++ b/tests/rd_tests/test_sum_equinor.py @@ -318,19 +318,19 @@ def test_return_types(self): def test_timeRange(self): sum = Summary(self.case) with self.assertRaises(TypeError): - trange = sum.timeRange(interval="1") - trange = sum.timeRange(interval="1X") - trange = sum.timeRange(interval="YY") - trange = sum.timeRange(interval="MY") + trange = sum.time_range(interval="1") + trange = sum.time_range(interval="1X") + trange = sum.time_range(interval="YY") + trange = sum.time_range(interval="MY") with self.assertRaises(ValueError): - trange = sum.timeRange( + trange = sum.time_range( start=datetime.datetime(2000, 1, 1), end=datetime.datetime(1999, 1, 1) ) sim_start = datetime.datetime(2000, 1, 1, 0, 0, 0) sim_end = datetime.datetime(2004, 12, 31, 0, 0, 0) - trange = sum.timeRange(interval="1Y") + trange = sum.time_range(interval="1Y") self.assertTrue(trange[0] == datetime.date(2000, 1, 1)) self.assertTrue(trange[1] == datetime.date(2001, 1, 1)) self.assertTrue(trange[2] == datetime.date(2002, 1, 1)) @@ -338,15 +338,15 @@ def test_timeRange(self): self.assertTrue(trange[4] == datetime.date(2004, 1, 1)) self.assertTrue(trange[5] == datetime.date(2005, 1, 1)) - trange = sum.timeRange(interval="1M") + trange = sum.time_range(interval="1M") self.assertTrue(trange[0] == datetime.date(2000, 1, 1)) self.assertTrue(trange[-1] == datetime.date(2005, 1, 1)) - trange = sum.timeRange(start=datetime.date(2002, 1, 15), interval="1M") + trange = sum.time_range(start=datetime.date(2002, 1, 15), interval="1M") self.assertTrue(trange[0] == datetime.date(2002, 1, 1)) self.assertTrue(trange[-1] == datetime.date(2005, 1, 1)) - trange = sum.timeRange( + trange = sum.time_range( start=datetime.date(2002, 1, 15), end=datetime.date(2003, 1, 15), interval="1M", @@ -354,7 +354,7 @@ def test_timeRange(self): self.assertTrue(trange[0] == datetime.date(2002, 1, 1)) self.assertTrue(trange[-1] == datetime.date(2003, 2, 1)) - trange = sum.timeRange( + trange = sum.time_range( start=datetime.date(2002, 1, 15), end=datetime.datetime(2003, 1, 15, 0, 0, 0), interval="1M", @@ -370,7 +370,7 @@ def test_Heidrun(self): self.assertEqual(452, len(sum)) self.assertFloatEqual(1.8533144e8, sum.last_value("FOPT")) - trange = sum.timeRange(start=datetime.date(2015, 1, 1), interval="1M") + trange = sum.time_range(start=datetime.date(2015, 1, 1), interval="1M") self.assertTrue(trange[0] == datetime.date(2016, 2, 1)) for t in trange: sum.get_interp("FOPT", date=t) @@ -379,29 +379,29 @@ def test_regularProduction(self): sum = Summary(self.case) with self.assertRaises(TypeError): trange = TimeVector.createRegular(sum.start_time, sum.end_time, "1M") - prod = sum.blockedProduction("FOPR", trange) + prod = sum.blocked_production("FOPR", trange) with self.assertRaises(KeyError): trange = TimeVector.createRegular(sum.start_time, sum.end_time, "1M") - prod = sum.blockedProduction("NoNotThis", trange) + prod = sum.blocked_production("NoNotThis", trange) - trange = sum.timeRange(interval="2Y") + trange = sum.time_range(interval="2Y") self.assertTrue(trange[0] == datetime.date(2000, 1, 1)) self.assertTrue(trange[-1] == datetime.date(2006, 1, 1)) - trange = sum.timeRange(interval="5Y") + trange = sum.time_range(interval="5Y") self.assertTrue(trange[0] == datetime.date(2000, 1, 1)) self.assertTrue(trange[-1] == datetime.date(2005, 1, 1)) - trange = sum.timeRange(interval="6M") - wprod1 = sum.blockedProduction("WOPT:OP_1", trange) - wprod2 = sum.blockedProduction("WOPT:OP_2", trange) - wprod3 = sum.blockedProduction("WOPT:OP_3", trange) - wprod4 = sum.blockedProduction("WOPT:OP_4", trange) - wprod5 = sum.blockedProduction("WOPT:OP_5", trange) + trange = sum.time_range(interval="6M") + wprod1 = sum.blocked_production("WOPT:OP_1", trange) + wprod2 = sum.blocked_production("WOPT:OP_2", trange) + wprod3 = sum.blocked_production("WOPT:OP_3", trange) + wprod4 = sum.blocked_production("WOPT:OP_4", trange) + wprod5 = sum.blocked_production("WOPT:OP_5", trange) - fprod = sum.blockedProduction("FOPT", trange) - gprod = sum.blockedProduction("GOPT:OP", trange) + fprod = sum.blocked_production("FOPT", trange) + gprod = sum.blocked_production("GOPT:OP", trange) wprod = wprod1 + wprod2 + wprod3 + wprod4 + wprod5 for w, f, g in zip(wprod, fprod, gprod): self.assertFloatEqual(w, f) @@ -411,10 +411,10 @@ def test_writer(self): writer = Summary.writer("CASE", datetime.date(2000, 1, 1), 10, 10, 5) self.assertIsInstance(self.rd_sum, Summary) - writer.addVariable("FOPT") + writer.add_variable("FOPT") self.assertTrue(writer.has_key("FOPT")) - writer.addTStep(1, 100) + writer.add_t_step(1, 100) def test_aquifer(self): case = Summary(