Skip to content

Commit 0561ceb

Browse files
Stephanie ReederStephanie Reeder
authored andcommitted
remove nodatavalues from calculation
1 parent d18d441 commit 0561ceb

3 files changed

Lines changed: 7 additions & 5 deletions

File tree

ODMTools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import pyodbc
2222
import pymysql
23-
import psycopg2
23+
#import psycopg2
2424

2525
tool = LoggerTool()
2626
logger = tool.setupLogger('main', 'odmtools.log', 'a', logging.INFO)

odmtools/odmdata/memory_database.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def __init__(self, taskserver=None):
2121
self.df = None
2222
# Series_Service handles remote database
2323
self.series_service = None
24+
2425
# Memory_service handles in memory database
2526
self.mem_service = SeriesService("sqlite:///:memory:")
2627
# TODO clean up closing of program
@@ -201,7 +202,7 @@ def initEditValues(self, seriesID):
201202
"""
202203
if not self.editLoaded:
203204
logger.debug("Load series from db")
204-
205+
self.series = self.series_service.get_series_by_id(seriesID)
205206
self.df = self.series_service.get_values_by_series(seriesID)
206207
self.editLoaded = True
207208

odmtools/odmservices/edit_service.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -347,19 +347,20 @@ def interpolate(self):
347347

348348
self.memDB.update(update_list)
349349

350-
351350
self._populate_series()
352351

353352
self.filtered_dataframe = self._series_points_df[self._series_points_df.index.isin(ids)]
354353

354+
355355
def drift_correction(self, gap_width):
356356
if self.isOneGroup():
357357
tmp_filter_list =self.get_filtered_points()
358358
startdate =tmp_filter_list.index[0]
359359
x_l = (tmp_filter_list.index[-1]-startdate).total_seconds()
360-
360+
#nodv= self.memDB.series_service.get_variable_by_id(self.memDB.df["VariableID"][0])
361+
nodv = self.memDB.series.variable.no_data_value
361362
# y_n = y_0 + G(x_i / x_l)
362-
f = lambda row : row["DataValue"]+(gap_width * ((row.name-startdate).total_seconds() / x_l))
363+
f = lambda row : row["DataValue"]+(gap_width * ((row.name-startdate).total_seconds() / x_l)) if row["DataValue"] != nodv else row["DataValue"]
363364
tmp_filter_list["DataValue"]=tmp_filter_list.apply(f, axis = 1)
364365

365366
update_list = [{"value": row["DataValue"], "id":index} for index, row in tmp_filter_list.iterrows()]

0 commit comments

Comments
 (0)