diff pkg/controllers/gauges.go @ 3099:f516ac26f4db direct-match-nash-sutcliffe

"Sharp" match for predicted and measured values in nash sutcliffe.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 24 Apr 2019 22:26:16 +0200
parents e6ba32b060df
children 41ed69dbf9bb
line wrap: on
line diff
--- a/pkg/controllers/gauges.go	Wed Apr 24 13:34:48 2019 +0200
+++ b/pkg/controllers/gauges.go	Wed Apr 24 22:26:16 2019 +0200
@@ -491,16 +491,22 @@
 		}
 
 		if predicted {
-			// current prediction same as last two?
-			if l := len(current.predicted); l > 1 && current.predicted[l-1].Value == value && current.predicted[l-2].Value == value {
-				// only update last time.
-				current.predicted[l-1].When = issueDate
-			} else {
-				current.predicted = append(
-					current.predicted,
-					common.TimedValue{When: issueDate, Value: value},
-				)
-			}
+			current.predicted = append(
+				current.predicted,
+				common.TimedValue{When: issueDate, Value: value},
+			)
+			/*
+				// current prediction same as last two?
+				if l := len(current.predicted); l > 1 && current.predicted[l-1].Value == value && current.predicted[l-2].Value == value {
+					// only update last time.
+					current.predicted[l-1].When = issueDate
+				} else {
+					current.predicted = append(
+						current.predicted,
+						common.TimedValue{When: issueDate, Value: value},
+					)
+				}
+			*/
 		} else {
 			current.observed = value
 		}
@@ -582,7 +588,7 @@
 
 		for j := range values {
 			when := values[j].when.Add(delta)
-			if p, ok := values[j].predicted.Interpolate(when); ok {
+			if p, ok := values[j].predicted.Find(when); ok {
 				predicted = append(predicted, p)
 				observed = append(observed, values[j].observed)
 			}