Running: ./testmodel.py --libraries=/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/./OMCompiler/build/lib/omlibrary/ --ompython_omhome=/usr Buildings_7.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.conf.json Using package Buildings with version 7.0.0 (/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Buildings 7.0.0/package.mo) Using package Modelica with version 3.2.3 (/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Modelica 3.2.3/package.mo) Using package Complex with version 3.2.3 (/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Complex 3.2.3.mo) Using package ModelicaServices with version 3.2.3 (/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/ModelicaServices 3.2.3/package.mo) Running command: "" <> buildModelFMU(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment,fileNamePrefix="Buildings_7_0_0_Buildings_Controls_Predictors_Validation_LinearInputDayOfAdjustment",fmuType="me",version="2.0",platforms={"static"}) Notification: Performance of loadFile(/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/ModelicaServices 3.2.3/package.mo): time 0.009871/0.009874, allocations: 88.05 kB / 15.04 MB, free: 5.582 MB / 13.93 MB Notification: Performance of loadFile(/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Complex 3.2.3.mo): time 0.001139/0.001139, allocations: 174.8 kB / 15.93 MB, free: 5.555 MB / 13.93 MB Notification: Performance of loadFile(/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Modelica 3.2.3/package.mo): time 2.047/2.047, allocations: 205.5 MB / 222.2 MB, free: 13.71 MB / 186.7 MB Notification: Performance of loadFile(/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/build/lib/omlibrary/Buildings 7.0.0/package.mo): time 2.29/2.29, allocations: 252.8 MB / 0.511 GB, free: 8.348 MB / 426.7 MB Notification: Performance of FrontEnd - loaded program: time 0.000455/0.0004552, allocations: 12.38 kB / 0.6243 GB, free: 21.18 MB / 490.7 MB Notification: Performance of FrontEnd - Absyn->SCode: time 0.2093/0.2098, allocations: 106.2 MB / 0.7281 GB, free: 8.141 MB / 0.5573 GB Notification: Performance of NFInst.instantiate(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment): time 0.003379/0.2132, allocations: 1.931 MB / 0.7299 GB, free: 6.195 MB / 0.5573 GB Notification: Performance of NFInst.instExpressions: time 0.003127/0.2164, allocations: 1.256 MB / 0.7312 GB, free: 4.93 MB / 0.5573 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.0002198/0.2167, allocations: 7.938 kB / 0.7312 GB, free: 4.922 MB / 0.5573 GB Notification: Performance of NFTyping.typeComponents: time 0.0003452/0.217, allocations: 51.69 kB / 0.7312 GB, free: 4.871 MB / 0.5573 GB Notification: Performance of NFTyping.typeBindings: time 0.0002062/0.2173, allocations: 55.83 kB / 0.7313 GB, free: 4.816 MB / 0.5573 GB Notification: Performance of NFTyping.typeClassSections: time 0.001412/0.2187, allocations: 451.2 kB / 0.7317 GB, free: 4.375 MB / 0.5573 GB Notification: Performance of NFFlatten.flatten: time 0.0009318/0.2196, allocations: 427.3 kB / 0.7321 GB, free: 3.957 MB / 0.5573 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0003494/0.22, allocations: 164.3 kB / 0.7323 GB, free: 3.793 MB / 0.5573 GB Notification: Performance of NFEvalConstants.evaluate: time 0.0005417/0.2206, allocations: 375.3 kB / 0.7326 GB, free: 3.426 MB / 0.5573 GB Notification: Performance of NFSimplifyModel.simplify: time 0.0007143/0.2213, allocations: 423.2 kB / 0.733 GB, free: 3.012 MB / 0.5573 GB Notification: Performance of NFPackage.collectConstants: time 0.0002485/0.2216, allocations: 16 kB / 0.7331 GB, free: 2.996 MB / 0.5573 GB Notification: Performance of NFFlatten.collectFunctions: time 0.0005514/0.2221, allocations: 115.9 kB / 0.7332 GB, free: 2.883 MB / 0.5573 GB Notification: Performance of NFScalarize.scalarize: time 0.0026/0.2247, allocations: 2.479 MB / 0.7356 GB, free: 408 kB / 0.5573 GB Notification: Performance of NFVerifyModel.verify: time 0.002358/0.2271, allocations: 1.284 MB / 0.7368 GB, free: 15.1 MB / 0.573 GB Notification: Performance of NFConvertDAE.convert: time 0.006293/0.2335, allocations: 4.612 MB / 0.7413 GB, free: 10.48 MB / 0.573 GB Notification: Performance of FrontEnd - DAE generated: time 4.248e-06/0.2335, allocations: 0 / 0.7413 GB, free: 10.48 MB / 0.573 GB Notification: Performance of FrontEnd: time 2.925e-06/0.2335, allocations: 4 kB / 0.7413 GB, free: 10.48 MB / 0.573 GB Notification: Performance of Transformations before backend: time 0.0001995/0.2337, allocations: 0 / 0.7413 GB, free: 10.48 MB / 0.573 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 1841 * Number of variables: 1841 Notification: Performance of Generate backend data structure: time 0.01179/0.2455, allocations: 5.974 MB / 0.7472 GB, free: 4.422 MB / 0.573 GB Notification: Performance of prepare preOptimizeDAE: time 4.755e-05/0.2456, allocations: 8.031 kB / 0.7472 GB, free: 4.414 MB / 0.573 GB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.001431/0.247, allocations: 0.806 MB / 0.748 GB, free: 3.594 MB / 0.573 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001687/0.2488, allocations: 0.6219 MB / 0.7486 GB, free: 2.965 MB / 0.573 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.0056/0.2544, allocations: 1.733 MB / 0.7503 GB, free: 1.18 MB / 0.573 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0006517/0.2551, allocations: 432.6 kB / 0.7507 GB, free: 0.7578 MB / 0.573 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.001287/0.2564, allocations: 0.6406 MB / 0.7513 GB, free: 120 kB / 0.573 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.pulseStart tri.y 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 baseLoad.TOut equations: 1 : algorithm when baseLoad.sampleTrigger then baseLoad._storeHistory := if not pre(baseLoad._storeHistory) and not Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.isMidNight(time) then false else baseLoad.storeHistory; baseLoad._typeOfDay := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getTypeOfDays(time, baseLoad.typeOfDay, baseLoad.dt, 12); baseLoad.idxSam := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.iSam[1] - 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.Validation.LinearInputDayOfAdjustment.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; for m/* iter index 0 */ in 1:12 loop baseLoad.PPre[m] := Buildings.Controls.Predictors.BaseClasses.weatherRegression(array(baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],i] for i in 1: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[m - 1], array(baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],i] for i in 1:10)); end for; if baseLoad._storeHistory or pre(baseLoad._storeHistory) then baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + 1, 24)] := baseLoad.PPre[1]; baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + 1, 24)] := baseLoad.iHis[baseLoad._typeOfDay[1],baseLoad.iSam[1]] > 0; end if; baseLoad.EHisAve := 0.0; baseLoad.EActAve := 0.0; for i/* iter index 0 */ in -4:-2 loop if Modelica.Math.BooleanVectors.allTrue(array(baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.iSam[1] + i, 24)] for i in -4:-2)) then baseLoad.EHisAve := baseLoad.EHisAve + baseLoad.dt * baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 24)]; baseLoad.EActAve := baseLoad.EActAve + baseLoad.dt * baseLoad.P[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 24),baseLoad.iHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 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/* iter index 0 */ in 1:12 loop baseLoad.iSam[i] := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.incrementIndex(baseLoad.iSam[i], 24); end for; end when; 2 : baseLoad.TOut = baseLoad.TOut_in_internal 3 : POffSet.y = PCon.u1 4 : TOut.y = TSam.u 5 : to_degC.u = TSam.y 6 : to_degC.u = baseLoad.TOut 7 : err.u2 = PCon.y 8 : err.u2 = integrator.u 9 : integrator.y = baseLoad.ECon 10 : to_degC.y = PCon.u2 11 : baseLoad.PPre[1] = err.u1 12 : tri.y = notEventDay.u 13 : notEventDay.y = baseLoad.storeHistory 14 : dayType.y[1] = baseLoad.typeOfDay[1] 15 : dayType.y[2] = baseLoad.typeOfDay[2] 16 : baseLoad.sampleTrigger = sample(1, baseLoad.samStart, baseLoad.samplePeriod) 17 : der(baseLoad.intTOut) = baseLoad.TOut_in_internal 18 : tri.y = time >= tri.pulseStart and time < tri.pulseStart + tri.Twidth 19 : dayType.y[1] = dayType.days[mod(dayType.iDay + 1 - 2, 7) + 1] 20 : dayType.y[2] = dayType.days[mod(dayType.iDay + 2 - 2, 7) + 1] 21 : dayType.sampleTrigger = sample(3, dayType.firstSample, dayType.samplePeriod) 22 : notEventDay.y = not notEventDay.u 23 : 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) 24 : POffSet.y = POffSet.k 25 : PCon.y = PCon.k1 * PCon.u1 + PCon.k2 * PCon.u2 26 : to_degC.y = -273.15 + to_degC.u 27 : err.y = err.k1 * err.u1 + err.k2 * err.u2 28 : TSam.sampleTrigger = sample(4, TSam.startTime, TSam.samplePeriod) 29 : der(integrator.y) = integrator.k * integrator.u 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 mod(pre(dayType.iDay), 7) + 1; end when; 34 : when sample(2, tri.startTime, tri.period) then tri.pulseStart := time; end when; Notification: Performance of preOpt clockPartitioning (simulation) : time 0.003463/0.2599, allocations: 1.459 MB / 0.7527 GB, free: 14.61 MB / 0.5886 GB Error: pre-optimization module clockPartitioning (simulation) failed.