Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.1-maint.10.0.x/package.mo", uses=false) Using package Buildings with version 10.1.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.1-maint.10.0.x/package.mo) Using package Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: "" <> buildModelFMU(Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor,fileNamePrefix="Buildings_10_Buildings_BoundaryConditions_WeatherData_Validation_ReaderTMY3HDirNor",fmuType="me",version="2.0",platforms={"static"}) "" <> buildModelFMU(Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor,fileNamePrefix="Buildings_10_Buildings_BoundaryConditions_WeatherData_Validation_ReaderTMY3HDirNor",fmuType="me",version="2.0",platforms={"static"}) Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001194/0.001194, allocations: 108 kB / 15.6 MB, free: 132 kB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001177/0.001177, allocations: 195.4 kB / 16.53 MB, free: 6.391 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.205/1.205, allocations: 222.9 MB / 240.2 MB, free: 4.398 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.1-maint.10.0.x/package.mo): time 2.332/2.332, allocations: 437.1 MB / 0.7104 GB, free: 5.074 MB / 0.5606 GB Notification: Performance of FrontEnd - loaded program: time 0.001205/0.001206, allocations: 67.89 kB / 0.8693 GB, free: 4.559 MB / 0.7169 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.4819/0.4832, allocations: 151.6 MB / 1.017 GB, free: 2.473 MB / 0.7637 GB Notification: Performance of NFInst.instantiate(Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor): time 0.005501/0.4887, allocations: 4.682 MB / 1.022 GB, free: 13.77 MB / 0.7794 GB Notification: Performance of NFInst.instExpressions: time 0.1274/0.6161, allocations: 150.6 MB / 1.169 GB, free: 6.586 MB / 0.92 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.0005666/0.6167, allocations: 15.94 kB / 1.169 GB, free: 6.57 MB / 0.92 GB Notification: Performance of NFTyping.typeComponents: time 0.0005151/0.6173, allocations: 190.2 kB / 1.169 GB, free: 6.383 MB / 0.92 GB Notification: Performance of NFTyping.typeBindings: time 0.001428/0.6187, allocations: 0.5333 MB / 1.17 GB, free: 5.852 MB / 0.92 GB Notification: Performance of NFTyping.typeClassSections: time 0.001602/0.6203, allocations: 0.8403 MB / 1.171 GB, free: 5.016 MB / 0.92 GB Notification: Performance of NFFlatten.flatten: time 0.001174/0.6215, allocations: 1.37 MB / 1.172 GB, free: 3.641 MB / 0.92 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0006692/0.6222, allocations: 0.5389 MB / 1.172 GB, free: 3.082 MB / 0.92 GB Notification: Performance of NFEvalConstants.evaluate: time 0.0005298/0.6227, allocations: 478.4 kB / 1.173 GB, free: 2.613 MB / 0.92 GB Notification: Performance of NFSimplifyModel.simplify: time 0.0005093/0.6232, allocations: 493.9 kB / 1.173 GB, free: 2.129 MB / 0.92 GB Notification: Performance of NFPackage.collectConstants: time 0.0001653/0.6234, allocations: 112 kB / 1.173 GB, free: 2.02 MB / 0.92 GB Notification: Performance of NFFlatten.collectFunctions: time 0.001125/0.6245, allocations: 0.8426 MB / 1.174 GB, free: 1.176 MB / 0.92 GB Notification: Performance of NFScalarize.scalarize: time 0.0002332/0.6248, allocations: 287.1 kB / 1.175 GB, free: 0.8945 MB / 0.92 GB Notification: Performance of NFVerifyModel.verify: time 0.0004208/0.6252, allocations: 0.5324 MB / 1.175 GB, free: 368 kB / 0.92 GB Notification: Performance of NFConvertDAE.convert: time 0.001608/0.6268, allocations: 1.753 MB / 1.177 GB, free: 14.6 MB / 0.9356 GB Notification: Performance of FrontEnd - DAE generated: time 3.216e-06/0.6268, allocations: 4 kB / 1.177 GB, free: 14.6 MB / 0.9356 GB Notification: Performance of FrontEnd: time 1.242e-06/0.6268, allocations: 0 / 1.177 GB, free: 14.6 MB / 0.9356 GB Notification: Performance of Transformations before backend: time 2.193e-05/0.6269, allocations: 0 / 1.177 GB, free: 14.6 MB / 0.9356 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 190 * Number of variables: 190 Notification: Performance of Generate backend data structure: time 0.002311/0.6292, allocations: 1.454 MB / 1.178 GB, free: 13.09 MB / 0.9356 GB Notification: Performance of prepare preOptimizeDAE: time 3.286e-05/0.6292, allocations: 12.03 kB / 1.178 GB, free: 13.08 MB / 0.9356 GB Notification: Performance of preOpt introduceOutputAliases (simulation): time 0.0001279/0.6293, allocations: 118.8 kB / 1.178 GB, free: 12.96 MB / 0.9356 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.001061/0.6304, allocations: 207.5 kB / 1.179 GB, free: 12.75 MB / 0.9356 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.0008977/0.6313, allocations: 0.7427 MB / 1.179 GB, free: 11.97 MB / 0.9356 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 4.584e-05/0.6314, allocations: 54 kB / 1.179 GB, free: 11.91 MB / 0.9356 GB Notification: Performance of preOpt expandDerOperator (simulation): time 8.984e-05/0.6315, allocations: 72 kB / 1.179 GB, free: 11.84 MB / 0.9356 GB Notification: Performance of preOpt clockPartitioning (simulation): time 0.001406/0.6329, allocations: 0.8997 MB / 1.18 GB, free: 10.9 MB / 0.9356 GB Notification: Performance of preOpt findStateOrder (simulation): time 1.593e-05/0.6329, allocations: 0 / 1.18 GB, free: 10.9 MB / 0.9356 GB Notification: Performance of preOpt replaceEdgeChange (simulation): time 7.462e-05/0.633, allocations: 32 kB / 1.18 GB, free: 10.87 MB / 0.9356 GB Notification: Performance of preOpt inlineArrayEqn (simulation): time 1.446e-05/0.633, allocations: 20 kB / 1.18 GB, free: 10.85 MB / 0.9356 GB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.001803/0.6348, allocations: 1.132 MB / 1.181 GB, free: 9.719 MB / 0.9356 GB Warning: The model contains alias variables with redundant start and/or conflicting nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts. Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.003415/0.6382, allocations: 2.61 MB / 1.184 GB, free: 7.008 MB / 0.9356 GB Notification: Performance of preOpt comSubExp (simulation): time 0.001481/0.6397, allocations: 0.8274 MB / 1.185 GB, free: 6.172 MB / 0.9356 GB Notification: Performance of preOpt resolveLoops (simulation): time 0.0006355/0.6404, allocations: 334.7 kB / 1.185 GB, free: 5.844 MB / 0.9356 GB Notification: Performance of preOpt evalFunc (simulation): time 6.922e-05/0.6405, allocations: 40.53 kB / 1.185 GB, free: 5.805 MB / 0.9356 GB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 0.0009214/0.6414, allocations: 0.524 MB / 1.186 GB, free: 5.262 MB / 0.9356 GB Notification: Performance of pre-optimization done (n=82): time 1.854e-06/0.6414, allocations: 0 / 1.186 GB, free: 5.262 MB / 0.9356 GB Notification: Performance of matching and sorting (n=82): time 0.003267/0.6447, allocations: 1.295 MB / 1.187 GB, free: 3.941 MB / 0.9356 GB Notification: Performance of inlineWhenForInitialization (initialization): time 7.759e-05/0.6448, allocations: 188.6 kB / 1.187 GB, free: 3.711 MB / 0.9356 GB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.0006451/0.6454, allocations: 0.6333 MB / 1.188 GB, free: 3.066 MB / 0.9356 GB Notification: Performance of collectPreVariables (initialization): time 5.98e-05/0.6455, allocations: 49.69 kB / 1.188 GB, free: 3.012 MB / 0.9356 GB Notification: Performance of collectInitialEqns (initialization): time 0.0002385/0.6457, allocations: 376.5 kB / 1.188 GB, free: 2.637 MB / 0.9356 GB Notification: Performance of collectInitialBindings (initialization): time 0.0001819/0.6459, allocations: 264.2 kB / 1.188 GB, free: 2.375 MB / 0.9356 GB Notification: Performance of simplifyInitialFunctions (initialization): time 0.000211/0.6461, allocations: 158.5 kB / 1.189 GB, free: 2.215 MB / 0.9356 GB Notification: Performance of setup shared object (initialization): time 0.0001322/0.6463, allocations: 394.7 kB / 1.189 GB, free: 1.82 MB / 0.9356 GB Notification: Performance of preBalanceInitialSystem (initialization): time 0.0006133/0.6469, allocations: 273.8 kB / 1.189 GB, free: 1.555 MB / 0.9356 GB Notification: Performance of partitionIndependentBlocks (initialization): time 0.000695/0.6476, allocations: 403.4 kB / 1.19 GB, free: 1.129 MB / 0.9356 GB Notification: Performance of analyzeInitialSystem (initialization): time 0.001268/0.6489, allocations: 0.6432 MB / 1.19 GB, free: 488 kB / 0.9356 GB Notification: Performance of solveInitialSystemEqSystem (initialization): time 2.414e-06/0.6489, allocations: 3.938 kB / 1.19 GB, free: 484 kB / 0.9356 GB Notification: Performance of matching and sorting (n=91) (initialization): time 0.002019/0.6509, allocations: 0.876 MB / 1.191 GB, free: 15.58 MB / 0.9512 GB Notification: Performance of prepare postOptimizeDAE: time 1.3e-05/0.6509, allocations: 4 kB / 1.191 GB, free: 15.58 MB / 0.9512 GB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 6.792e-06/0.6509, allocations: 4 kB / 1.191 GB, free: 15.57 MB / 0.9512 GB Notification: Performance of postOpt tearingSystem (initialization): time 0.0005523/0.6515, allocations: 88.88 kB / 1.191 GB, free: 15.48 MB / 0.9512 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.0006702/0.6522, allocations: 159.8 kB / 1.191 GB, free: 15.33 MB / 0.9512 GB Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.001862/0.654, allocations: 1.642 MB / 1.193 GB, free: 13.54 MB / 0.9512 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.0006506/0.6547, allocations: 108.5 kB / 1.193 GB, free: 13.43 MB / 0.9512 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 5.804e-05/0.6548, allocations: 31.97 kB / 1.193 GB, free: 13.4 MB / 0.9512 GB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 5 * Number of states: 0 () * Number of discrete variables: 15 (weaDatInpCon.decAng.tNext,$PRE.weaDatInpCon.decAng.tNext,weaDatInpCon.eqnTim.tNext,$PRE.weaDatInpCon.eqnTim.tNext,weaDatInpCon.conTim.tNext,$PRE.weaDatInpCon.conTim.tNext,weaDatInpCon.conTimMin.tNext,$PRE.weaDatInpCon.conTimMin.tNext,weaDatInpCon.locTim.tNext,$PRE.weaDatInpCon.locTim.tNext,$whenCondition1,$whenCondition2,$whenCondition3,$whenCondition4,$whenCondition5) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (89): * Single equations (assignments): 88 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 0 systems * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(1,2)} Notification: Performance of prepare postOptimizeDAE: time 0.0003073/0.6551, allocations: 267.3 kB / 1.193 GB, free: 13.13 MB / 0.9512 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.0001432/0.6552, allocations: 83.16 kB / 1.193 GB, free: 13.05 MB / 0.9512 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.002676/0.6579, allocations: 1.206 MB / 1.195 GB, free: 11.83 MB / 0.9512 GB Notification: Performance of postOpt inlineArrayEqn (simulation): time 8.256e-06/0.6579, allocations: 11.98 kB / 1.195 GB, free: 11.82 MB / 0.9512 GB Notification: Performance of postOpt constantLinearSystem (simulation): time 3.286e-06/0.658, allocations: 4 kB / 1.195 GB, free: 11.82 MB / 0.9512 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 9.979e-06/0.658, allocations: 7.922 kB / 1.195 GB, free: 11.81 MB / 0.9512 GB Notification: Performance of postOpt removeSimpleEquations (simulation): time 0.0008574/0.6588, allocations: 0.9152 MB / 1.195 GB, free: 10.84 MB / 0.9512 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 2.765e-06/0.6588, allocations: 0 / 1.195 GB, free: 10.84 MB / 0.9512 GB Notification: Performance of postOpt solveSimpleEquations (simulation): time 0.0006285/0.6595, allocations: 159.8 kB / 1.196 GB, free: 10.69 MB / 0.9512 GB Notification: Performance of postOpt tearingSystem (simulation): time 0.0004149/0.6599, allocations: 76.78 kB / 1.196 GB, free: 10.61 MB / 0.9512 GB Notification: Performance of postOpt inputDerivativesUsed (simulation): time 5.383e-05/0.66, allocations: 23.98 kB / 1.196 GB, free: 10.59 MB / 0.9512 GB Notification: Performance of postOpt calculateStrongComponentJacobians (simulation): time 0.001632/0.6616, allocations: 1.674 MB / 1.197 GB, free: 8.77 MB / 0.9512 GB Notification: Performance of postOpt calculateStateSetsJacobians (simulation): time 9.62e-07/0.6616, allocations: 0 / 1.197 GB, free: 8.77 MB / 0.9512 GB Notification: Performance of postOpt symbolicJacobian (simulation): time 0.002024/0.6636, allocations: 1.01 MB / 1.198 GB, free: 7.734 MB / 0.9512 GB Notification: Performance of postOpt removeConstants (simulation): time 0.0003035/0.664, allocations: 291.5 kB / 1.199 GB, free: 7.43 MB / 0.9512 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.0001138/0.6641, allocations: 20 kB / 1.199 GB, free: 7.41 MB / 0.9512 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.0006286/0.6647, allocations: 71.92 kB / 1.199 GB, free: 7.332 MB / 0.9512 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.0001434/0.6649, allocations: 72.89 kB / 1.199 GB, free: 7.262 MB / 0.9512 GB Notification: Performance of postOpt collapseArrayExpressions (simulation): time 6.427e-05/0.6649, allocations: 43.97 kB / 1.199 GB, free: 7.219 MB / 0.9512 GB Notification: Performance of sorting global known variables: time 0.0004724/0.6654, allocations: 471 kB / 1.199 GB, free: 6.762 MB / 0.9512 GB Notification: Performance of sort global known variables: time 1.5e-07/0.6654, allocations: 0 / 1.199 GB, free: 6.762 MB / 0.9512 GB Notification: Performance of remove unused functions: time 0.00065/0.6661, allocations: 319.3 kB / 1.2 GB, free: 6.449 MB / 0.9512 GB Notification: Model statistics after passing the back-end for simulation: * Number of independent subsystems: 1 * Number of states: 0 () * Number of discrete variables: 10 ($whenCondition5,$whenCondition4,$whenCondition3,$whenCondition2,$whenCondition1,weaDatInpCon.locTim.tNext,weaDatInpCon.conTimMin.tNext,weaDatInpCon.conTim.tNext,weaDatInpCon.eqnTim.tNext,weaDatInpCon.decAng.tNext) * Number of discrete states: 5 (weaDatInpCon.locTim.tNext,weaDatInpCon.conTimMin.tNext,weaDatInpCon.conTim.tNext,weaDatInpCon.eqnTim.tNext,weaDatInpCon.decAng.tNext) * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for simulation (96): * Single equations (assignments): 90 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 5 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 1 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 0 systems * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(1,3)} Notification: Performance of Backend phase and start with SimCode phase: time 0.003351/0.6694, allocations: 2.076 MB / 1.202 GB, free: 4.523 MB / 0.9512 GB Notification: Performance of simCode: created initialization part: time 0.002392/0.6718, allocations: 1.085 MB / 1.203 GB, free: 3.43 MB / 0.9512 GB Notification: Performance of simCode: created event and clocks part: time 2.425e-06/0.6719, allocations: 3.938 kB / 1.203 GB, free: 3.426 MB / 0.9512 GB Notification: Performance of simCode: created simulation system equations: time 0.0009683/0.6728, allocations: 0.5509 MB / 1.203 GB, free: 2.863 MB / 0.9512 GB Notification: Performance of simCode: created of all other equations (e.g. parameter, nominal, assert, etc): time 0.001045/0.6739, allocations: 309.1 kB / 1.203 GB, free: 2.586 MB / 0.9512 GB Notification: Performance of simCode: created linear, non-linear and system jacobian parts: time 0.009656/0.6835, allocations: 6.601 MB / 1.21 GB, free: 11.81 MB / 0.9669 GB Notification: Performance of simCode: some other stuff during SimCode phase: time 0.0005116/0.6841, allocations: 1.024 MB / 1.211 GB, free: 10.75 MB / 0.9669 GB Notification: Performance of simCode: alias equations: time 0.0007869/0.6849, allocations: 267 kB / 1.211 GB, free: 10.49 MB / 0.9669 GB Notification: Performance of simCode: all other stuff during SimCode phase: time 0.0004967/0.6854, allocations: 383.3 kB / 1.212 GB, free: 10.11 MB / 0.9669 GB Notification: Performance of SimCode: time 2.7e-07/0.6854, allocations: 3.938 kB / 1.212 GB, free: 10.11 MB / 0.9669 GB Notification: Performance of buildModelFMU: Generate the FMI files: time 0.04498/0.7304, allocations: 22.2 MB / 1.233 GB, free: 4.297 MB / 0.9825 GB Notification: Performance of buildModelFMU: Generate platform static: time 10.23/10.96, allocations: 6.094 kB / 1.233 GB, free: 4.293 MB / 0.9825 GB (rm -f Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.pipe ; mkfifo Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.pipe ; head -c 1048576 < Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.pipe >> ../files/Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.sim & python3 -m fmpy simulate --output-file Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor_res.csv --start-time 0 --stop-time 86400 --timeout 50 --relative-tolerance 1e-06 --interface-type ModelExchange --solver CVode --output-interval 34.56 Buildings_10_Buildings_BoundaryConditions_WeatherData_Validation_ReaderTMY3HDirNor.fmu > Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.pipe 2>&1) diffSimulationResults("Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor_res.csv","/mnt/ReferenceFiles/Buildings/csv/maint_10.0.x/Buildings_BoundaryConditions_WeatherData_Validation_ReaderTMY3HDirNor.csv","/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/files/Buildings_10_Buildings.BoundaryConditions.WeatherData.Validation.ReaderTMY3HDirNor.diff",relTol=0.003,relTolDiffMinMax=0.003,rangeDelta=0.001) "Warning: Resultfile and Reference have different end time points! Reffile[505]=86400.000000 File[27]=1002.240000 " Variables in the reference:time,weaDatInpCon.HGloHor_in,weaDatInpCon.weaBus.HDifHor,weaDatInpCon.weaBus.HDirNor Variables in the result:time,weaDatInpCon.HDifHor_in,weaDatInpCon.HGloHor_in,weaDatInpCon.weaBus.HDifHor,weaDatInpCon.weaBus.HDirNor,weaDatInpCon.weaBus.HGloHor