Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo", uses=false) Using package Modelica_StateGraph2 with version 2.0.2 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo) Using package ModelicaServices with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo) Using package Modelica with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo) Using package Complex with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo) Using package Buildings with version 3.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo) Running command: translateModel(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment") translateModel(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo): time 0.7846/0.7846, allocations: 132.4 MB / 139.9 MB, free: 2.844 MB / 106.7 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo): time 0.0009901/0.0009906, allocations: 180.8 kB / 171.8 MB, free: 4.902 MB / 138.7 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo): time 1.361/1.361, allocations: 170.6 MB / 374.2 MB, free: 172 kB / 282.7 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo): time 0.001543/0.001543, allocations: 114.9 kB / 444.8 MB, free: 14.15 MB / 314.7 MB [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:257:38-257:110:writable] Warning: The file was not encoded in UTF-8: "

An important practical aspect of state machines is the abilit...". Defaulting to 7-bit ASCII with unknown characters replaced by '?'. To change encoding when loading a file: loadFile(encoding="ISO-XXXX-YY"). To change it in a package: add a file package.encoding at the top-level. Note: The Modelica Language Specification only allows files encoded in UTF-8. [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:761:36-761:108:writable] Warning: The file was not encoded in UTF-8: "

The Modelica_StateGraph2 library is described in detail in (O...". Defaulting to 7-bit ASCII with unknown characters replaced by '?'. To change encoding when loading a file: loadFile(encoding="ISO-XXXX-YY"). To change it in a package: add a file package.encoding at the top-level. Note: The Modelica Language Specification only allows files encoded in UTF-8. [/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:1435:36-1435:108:writable] Warning: The file was not encoded in UTF-8: "

Main Authors:
SCode: time 0.1699/0.1699, allocations: 73.42 MB / 0.6666 GB, free: 15.64 MB / 410.7 MB Notification: Performance of FrontEnd - scodeFlatten: time 0.5606/0.7306, allocations: 108.4 MB / 0.7725 GB, free: 7.168 MB / 474.7 MB Notification: Performance of FrontEnd - mkProgramGraph: time 0.0002698/0.7309, allocations: 83.95 kB / 0.7726 GB, free: 7.086 MB / 474.7 MB Notification: Performance of FrontEnd - DAE generated: time 0.1381/0.869, allocations: 66.68 MB / 0.8377 GB, free: 4.227 MB / 0.5261 GB Notification: Performance of FrontEnd: time 1.282e-06/0.8691, allocations: 3.938 kB / 0.8377 GB, free: 4.223 MB / 0.5261 GB Notification: Performance of Transformations before backend: time 0.0001497/0.8692, allocations: 112 kB / 0.8378 GB, free: 4.113 MB / 0.5261 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 1839 * Number of variables: 1839 Notification: Performance of Generate backend data structure: time 0.009768/0.879, allocations: 5.773 MB / 0.8434 GB, free: 14.26 MB / 0.5417 GB Notification: Performance of prepare preOptimizeDAE: time 4.447e-05/0.8791, allocations: 12.03 kB / 0.8435 GB, free: 14.25 MB / 0.5417 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001264/0.8804, allocations: 0.6181 MB / 0.8441 GB, free: 13.62 MB / 0.5417 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.003734/0.8841, allocations: 1.863 MB / 0.8459 GB, free: 11.71 MB / 0.5417 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 3.665e-05/0.8842, allocations: 15.98 kB / 0.8459 GB, free: 11.7 MB / 0.5417 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.0005236/0.8847, allocations: 384 kB / 0.8463 GB, free: 11.32 MB / 0.5417 GB Notification: Performance of preOpt removeEqualFunctionCalls (simulation): time 0.002137/0.8868, allocations: 1.721 MB / 0.8479 GB, free: 9.598 MB / 0.5417 GB Error: An independent subset of the model has imbalanced number of equations (1806) and variables (78). variables: integrator.y integrator.u TSam.y TSam.u TSam.firstTrigger TSam.sampleTrigger err.y err.u2 err.u1 to_degC.y to_degC.u PCon.y PCon.u2 PCon.u1 POffSet.y TOut.y notEventDay.y notEventDay.u dayType.skipIDayIncrement dayType.sampleTrigger dayType.iDay dayType.y[2] dayType.y[1] tri.pulsStart tri.y baseLoad.TOut baseLoad.TOut_in_internal baseLoad.idxSam baseLoad.intTOutLast baseLoad.intTOut baseLoad.EHisAve baseLoad.EActAve baseLoad._storeHistory baseLoad._typeOfDay[12] baseLoad._typeOfDay[11] baseLoad._typeOfDay[10] baseLoad._typeOfDay[9] baseLoad._typeOfDay[8] baseLoad._typeOfDay[7] baseLoad._typeOfDay[6] baseLoad._typeOfDay[5] baseLoad._typeOfDay[4] baseLoad._typeOfDay[3] baseLoad._typeOfDay[2] baseLoad._typeOfDay[1] baseLoad.iSam[12] baseLoad.iSam[11] baseLoad.iSam[10] baseLoad.iSam[9] baseLoad.iSam[8] baseLoad.iSam[7] baseLoad.iSam[6] baseLoad.iSam[5] baseLoad.iSam[4] baseLoad.iSam[3] baseLoad.iSam[2] baseLoad.iSam[1] baseLoad.tLast baseLoad.ELast baseLoad.sampleTrigger baseLoad.PAve baseLoad.adj baseLoad.storeHistory baseLoad.typeOfDay[2] baseLoad.typeOfDay[1] baseLoad.PPre[12] baseLoad.PPre[11] baseLoad.PPre[10] baseLoad.PPre[9] baseLoad.PPre[8] baseLoad.PPre[7] baseLoad.PPre[6] baseLoad.PPre[5] baseLoad.PPre[4] baseLoad.PPre[3] baseLoad.PPre[2] baseLoad.PPre[1] baseLoad.ECon equations: 1 : baseLoad.sampleTrigger = sample(1, baseLoad.samStart, 3600.0) 2 : der(baseLoad.intTOut) = baseLoad.TOut_in_internal 3 : algorithm when baseLoad.sampleTrigger then baseLoad._storeHistory := if not pre(baseLoad._storeHistory) and not Buildings.Controls.Predictors.ElectricalLoad$baseLoad.isMidNight(time) then false else baseLoad.storeHistory; baseLoad._typeOfDay := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getTypeOfDays(time, {baseLoad.typeOfDay[1], baseLoad.typeOfDay[2]}, 3600.0, 12); baseLoad.idxSam := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(-1 + baseLoad.iSam[1], 24); if baseLoad._storeHistory or pre(baseLoad._storeHistory) then if time - baseLoad.tLast > 1e-05 then baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.incrementIndex(baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam], 10); if baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] == 10 then baseLoad.historyComplete[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] := true; end if; baseLoad.PAve := (baseLoad.ECon - baseLoad.ELast) / (time - baseLoad.tLast); baseLoad.P[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam,baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam]] := baseLoad.PAve; baseLoad.T[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam,baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam]] := (baseLoad.intTOut - baseLoad.intTOutLast) / (time - baseLoad.tLast); end if; end if; baseLoad.ELast := baseLoad.ECon; baseLoad.intTOutLast := baseLoad.intTOut; baseLoad.tLast := time; if baseLoad.predictionModel == Buildings.Controls.Predictors.Types.PredictionModel.WeatherRegression then for m in 1:12 loop baseLoad.PPre[m] := Buildings.Controls.Predictors.BaseClasses.weatherRegression({baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],1], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],2], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],3], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],4], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],5], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],6], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],7], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],8], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],9], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],10]}, if baseLoad.historyComplete[baseLoad._typeOfDay[m],baseLoad.iSam[m]] then 10 else baseLoad.iHis[baseLoad._typeOfDay[m],baseLoad.iSam[m]], if m == 1 then baseLoad.TOut_in_internal else baseLoad.TOutFut_in_internal[-1 + m], {baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],1], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],2], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],3], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],4], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],5], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],6], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],7], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],8], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],9], baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],10]}); end for; else baseLoad.PPre := {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; assert(false, "Wrong value for prediction model."); end if; if baseLoad._storeHistory or pre(baseLoad._storeHistory) then baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam, 24)] := baseLoad.PPre[1]; baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam, 24)] := baseLoad.iHis[baseLoad._typeOfDay[1],baseLoad.iSam[1]] > 0; end if; baseLoad.EHisAve := 0.0; baseLoad.EActAve := 0.0; for i in -4:-2 loop if Modelica.Math.BooleanVectors.allTrue({baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -4, 24)], baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -3, 24)], baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -2, 24)]}) then baseLoad.EHisAve := baseLoad.EHisAve + 3600.0 * baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24)]; baseLoad.EActAve := baseLoad.EActAve + 3600.0 * baseLoad.P[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24),baseLoad.iHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24)]]; else baseLoad.EHisAve := 0.0; baseLoad.EActAve := 0.0; end if; end for; if baseLoad.EHisAve > 1e-15 or baseLoad.EHisAve < -1e-15 then baseLoad.adj := min(baseLoad.maxAdjFac, max(baseLoad.minAdjFac, baseLoad.EActAve / baseLoad.EHisAve)); else baseLoad.adj := 1.0; end if; baseLoad.PPre[:] := {baseLoad.PPre[1] * baseLoad.adj, baseLoad.PPre[2] * baseLoad.adj, baseLoad.PPre[3] * baseLoad.adj, baseLoad.PPre[4] * baseLoad.adj, baseLoad.PPre[5] * baseLoad.adj, baseLoad.PPre[6] * baseLoad.adj, baseLoad.PPre[7] * baseLoad.adj, baseLoad.PPre[8] * baseLoad.adj, baseLoad.PPre[9] * baseLoad.adj, baseLoad.PPre[10] * baseLoad.adj, baseLoad.PPre[11] * baseLoad.adj, baseLoad.PPre[12] * baseLoad.adj}; for i in 1:12 loop baseLoad.iSam[i] := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.incrementIndex(baseLoad.iSam[i], 24); end for; end when; 4 : tri.y = time >= tri.pulsStart and time < tri.pulsStart + tri.Twidth 5 : dayType.y[1] = dayType.days[1 + mod(-1 + dayType.iDay, 7)] 6 : dayType.y[2] = dayType.days[1 + mod(dayType.iDay, 7)] 7 : dayType.sampleTrigger = sample(3, dayType.firstSample, dayType.samplePeriod) 8 : notEventDay.y = not notEventDay.u 9 : TOut.y = TOut.offset + (if time < TOut.startTime then 0.0 else if time < TOut.startTime + TOut.duration then (time - TOut.startTime) * TOut.height / TOut.duration else TOut.height) 10 : POffSet.y = POffSet.k 11 : PCon.y = PCon.k1 * PCon.u1 + PCon.k2 * PCon.u2 12 : to_degC.y = -273.15 + to_degC.u 13 : err.y = err.k1 * err.u1 + err.k2 * err.u2 14 : TSam.sampleTrigger = sample(4, TSam.startTime, TSam.samplePeriod) 15 : der(integrator.y) = integrator.k * integrator.u 16 : baseLoad.TOut = baseLoad.TOut_in_internal 17 : PCon.u1 = POffSet.y 18 : TOut.y = TSam.u 19 : TSam.y = baseLoad.TOut 20 : TSam.y = to_degC.u 21 : PCon.y = err.u2 22 : PCon.y = integrator.u 23 : baseLoad.ECon = integrator.y 24 : PCon.u2 = to_degC.y 25 : baseLoad.PPre[1] = err.u1 26 : notEventDay.u = tri.y 27 : baseLoad.storeHistory = notEventDay.y 28 : baseLoad.typeOfDay[1] = dayType.y[1] 29 : baseLoad.typeOfDay[2] = dayType.y[2] 30 : when TSam.sampleTrigger then TSam.firstTrigger := time <= TSam.startTime + 0.5 * TSam.samplePeriod; end when; 31 : when {TSam.sampleTrigger, initial()} then TSam.y := TSam.u; end when; 32 : when dayType.sampleTrigger then dayType.skipIDayIncrement := false; end when; 33 : when dayType.sampleTrigger then dayType.iDay := if pre(dayType.skipIDayIncrement) then pre(dayType.iDay) else 1 + mod(pre(dayType.iDay), 7); end when; 34 : when sample(2, tri.startTime, tri.period) then tri.pulsStart := time; end when; Notification: Performance of preOpt clockPartitioning (simulation) : time 0.002875/0.8897, allocations: 2.546 MB / 0.8504 GB, free: 7.004 MB / 0.5417 GB Error: pre-optimization module clockPartitioning (simulation) failed.