You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Next »
#region calculate goodness and select best fit
def sumAbsValues(list):
sum = 0
for val in list:
sum += abs(val)
return sum
tsRef = measuredTimeSeries.GetValues()
deviation =[]
startIndex = 20 #remove influence of initial conditions
for i in range(1,timeSeriesToCompare.Count):
devItem = sumAbsValues(list(substractLists(timeSeriesToCompare[i].GetValues(),tsRef,startIndex)))
deviation.append(devItem)
bestFitDeviation = min(deviation)
bestFitIndex = deviation.index(bestFitDeviation)+1
if bestFitIndex == 1: #basis model
bc1BestFit = bc1Ini
roughnessBestFit = rghnsIni
else:
idxBestBC = (bestFitIndex-1)/len(rangeRoughness)
idxBestRoughness = (bestFitIndex-1)%len(rangeRoughness)
bc1BestFit = rangeBC1[idxBestBC]
roughnessBestFit = rangeRoughness[idxBestRoughness]
print "selected bc: " + str(bc1BestFit) + "m3/s"
print "selected roughness " + str(roughnessBestFit) + "m^(1/3) s^-1"
print timeSeriesToCompare[bestFitIndex].Components[0].Name
#endregion