diff --git a/idd/Energy+.idd.in b/idd/Energy+.idd.in index 7a67fab0cd4..590dde6aed9 100644 --- a/idd/Energy+.idd.in +++ b/idd/Energy+.idd.in @@ -355,7 +355,6 @@ ! hr ! J/J ! kg/kg -! kg-H2O/kg-air ! kgWater/kgDryAir ! kmol ! kmol/s diff --git a/src/EnergyPlus/DXCoils.cc b/src/EnergyPlus/DXCoils.cc index dccadba4ea3..04162d2f27f 100644 --- a/src/EnergyPlus/DXCoils.cc +++ b/src/EnergyPlus/DXCoils.cc @@ -161,7 +161,7 @@ namespace DXCoils { Real64 const RatedOutdoorWetBulbTempHeat(6.11); // 6.11 C or 43F Real64 const RatedInletWetBulbTempHeat(15.55); // 15.55 or 60F - Real64 const DryCoilOutletHumRatioMin(0.00001); // dry coil outlet minimum hum ratio kgH2O/kgdry air + Real64 const DryCoilOutletHumRatioMin(0.00001); // dry coil outlet minimum hum ratio kgWater/kgDryAir // Curve Types int const Linear(1); @@ -9272,8 +9272,8 @@ namespace DXCoils { if (DXCoil(DXCoilNum).CondenserType(Mode) == EvapCooled) { //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(OutdoorDryBulb); DXCoil(DXCoilNum).EvapWaterConsumpRate = @@ -10955,8 +10955,8 @@ namespace DXCoils { if (DXCoil(DXCoilNum).CondenserType(Mode) == EvapCooled) { //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(OutdoorDryBulb); DXCoil(DXCoilNum).EvapWaterConsumpRate = (CondInletHumRat - OutdoorHumRat) * CondAirMassFlow / RhoWater; @@ -12463,8 +12463,8 @@ namespace DXCoils { if (DXCoil(DXCoilNum).CondenserType(DXMode) == EvapCooled) { //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(OutdoorDryBulb); DXCoil(DXCoilNum).EvapWaterConsumpRate = (CondInletHumRat - OutdoorHumRat) * CondAirMassFlow / RhoWater; diff --git a/src/EnergyPlus/DXCoils.hh b/src/EnergyPlus/DXCoils.hh index d4772ffc7bb..7a864a389ee 100644 --- a/src/EnergyPlus/DXCoils.hh +++ b/src/EnergyPlus/DXCoils.hh @@ -89,7 +89,7 @@ namespace DXCoils { extern Real64 const RatedOutdoorWetBulbTempHeat; // 6.11 C or 43F extern Real64 const RatedInletWetBulbTempHeat; // 15.55 or 60F - extern Real64 const DryCoilOutletHumRatioMin; // dry coil outlet minimum hum ratio kgH2O/kgdry air + extern Real64 const DryCoilOutletHumRatioMin; // dry coil outlet minimum hum ratio kgWater/kgDryAir // Curve Types extern int const Linear; diff --git a/src/EnergyPlus/DataGenerators.hh b/src/EnergyPlus/DataGenerators.hh index 90486774686..454754c84b0 100644 --- a/src/EnergyPlus/DataGenerators.hh +++ b/src/EnergyPlus/DataGenerators.hh @@ -164,14 +164,14 @@ namespace DataGenerators { Real64 PfuelCompEl; // fuel compressor power Real64 QskinLoss; // pumping losses for zone Real64 CO2ProductGasCoef; // molar multiplier for stoic products of this fuel - Real64 H20ProductGasCoef; // molar multiplier for stoic products of this fuel + Real64 H2OProductGasCoef; // molar multiplier for stoic products of this fuel // Default Constructor GeneratorFuelSupplyDataStruct() : FuelTempMode(0), FuelTypeMode(0), NodeNum(0), SchedNum(0), CompPowerCurveID(0), CompPowerLossFactor(0.0), ConstitName(14), ConstitMolalFract(14, 0.0), GasLibID(14, 0), LHV(0.0), LHVJperkg(0.0), LHVliquid(0.0), HHV(0.0), MW(0.0), eCO2(0.0), KmolPerSecToKgPerSec(0.0), StoicOxygenRate(0.0), TfuelIntoCompress(0.0), TfuelIntoFCPM(0.0), PfuelCompEl(0.0), QskinLoss(0.0), - CO2ProductGasCoef(0.0), H20ProductGasCoef(0.0) + CO2ProductGasCoef(0.0), H2OProductGasCoef(0.0) { } }; diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index d7f14fbd038..b23c50eaa11 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -338,8 +338,8 @@ namespace DataSizing { Real64 HeatDesTemp; // zone design heating supply air temperature [C] Real64 CoolDesTempDiff; // zone design cooling supply air temperature difference [deltaC] Real64 HeatDesTempDiff; // zone design heating supply air temperature difference [deltaC] - Real64 CoolDesHumRat; // zone design cooling supply air humidity ratio [kg-H2O/kg-air] - Real64 HeatDesHumRat; // zone design heating supply air humidity ratio [kg-H2O/kg-air] + Real64 CoolDesHumRat; // zone design cooling supply air humidity ratio [kgWater/kgDryAir] + Real64 HeatDesHumRat; // zone design heating supply air humidity ratio [kgWater/kgDryAir] std::string DesignSpecOAObjName; // name of the design specification outdoor air object int OADesMethod; // choice of how to calculate minimum outside air; // 1 = m3/s per person; 2 = m3/s per zone; 3 = m3/s per zone area; @@ -409,8 +409,8 @@ namespace DataSizing { Real64 HeatDesTemp; // zone design heating supply air temperature [C] Real64 CoolDesTempDiff; // zone design cooling supply air temperature difference [deltaC] Real64 HeatDesTempDiff; // zone design heating supply air temperature difference [deltaC] - Real64 CoolDesHumRat; // zone design cooling supply air humidity ratio [kg-H2O/kg-air] - Real64 HeatDesHumRat; // zone design heating supply air humidity ratio [kg-H2O/kg-air] + Real64 CoolDesHumRat; // zone design cooling supply air humidity ratio [kgWater/kgDryAir] + Real64 HeatDesHumRat; // zone design heating supply air humidity ratio [kgWater/kgDryAir] int ZoneDesignSpecOAIndex; // index to DesignSpecification:OutdoorAir object int OADesMethod; // choice of how to calculate minimum outside air; // 1 = m3/s per person; 2 = m3/s per zone; 3 = m3/s per zone area; @@ -569,7 +569,7 @@ namespace DataSizing { Real64 DOASLatAdd; // current latent heat addition rate from DOAS supply air [W] Real64 DOASSupMassFlow; // current mass flow rate of DOAS supply air [kg/s] Real64 DOASSupTemp; // current DOAS supply air temperature [C] - Real64 DOASSupHumRat; // current DOAS supply air humidity ratio [kg H2O / kg dry air] + Real64 DOASSupHumRat; // current DOAS supply air humidity ratio [kgWater/kgDryAir] Real64 DOASTotCoolLoad; // current total cooling load imposed by DOAS supply air [W] Array1D DOASHeatLoadSeq; // daily sequence of zone DOAS heating load (zone time step) [W] Array1D DOASCoolLoadSeq; // daily sequence of zone DOAS cooling load (zone time step) [W] @@ -577,7 +577,7 @@ namespace DataSizing { Array1D DOASLatAddSeq; // daily sequence of zone DOAS latent heat addition rate (zone time step) [W] Array1D DOASSupMassFlowSeq; // daily sequence of zone DOAS supply mass flow rate (zone time step) [Kg/s] Array1D DOASSupTempSeq; // daily sequence of zone DOAS supply temperature (zone time step) [C] - Array1D DOASSupHumRatSeq; // daily sequence of zone DOAS supply humidity ratio (zone time step) [kg H2O / kg dry air] + Array1D DOASSupHumRatSeq; // daily sequence of zone DOAS supply humidity ratio (zone time step) [kgWater/kgDryAir] Array1D DOASTotCoolLoadSeq; // daily sequence of zone DOAS total cooling load (zone time step) [W] // Default Constructor @@ -664,9 +664,9 @@ namespace DataSizing { Real64 OAVolFlow; // design outside air flow for zone equipment unit [m3/s] Real64 ATMixerVolFlow; // design ventilation air flow rate from air terminal mixer (central DOAS) [m3/s] Real64 ATMixerCoolPriDryBulb; // design ventilation drybulb temperature from air terminal mixer during cooling (central DOAS) [C] - Real64 ATMixerCoolPriHumRat; // design ventilation humidity ratio from air terminal mixer during cooling (central DOAS) [kgH20/kgDryAir] + Real64 ATMixerCoolPriHumRat; // design ventilation humidity ratio from air terminal mixer during cooling (central DOAS) [kgWater/kgDryAir] Real64 ATMixerHeatPriDryBulb; // design ventilation drybulb temperature from air terminal mixer during heating (central DOAS) [C] - Real64 ATMixerHeatPriHumRat; // design ventilation humidity ratio from air terminal mixer during heating (central DOAS) [kgH20/kgDryAir] + Real64 ATMixerHeatPriHumRat; // design ventilation humidity ratio from air terminal mixer during heating (central DOAS) [kgWater/kgDryAir] Real64 DesCoolingLoad; // design cooling load used for zone equipment [W] Real64 DesHeatingLoad; // design heating load used for zone equipment [W] Real64 CoolingAirVolFlow; // design cooling air vol flow rate for equipment[m3/s] @@ -691,9 +691,9 @@ namespace DataSizing { : AirVolFlow(0.0), MaxHWVolFlow(0.0), MaxCWVolFlow(0.0), OAVolFlow(0.0), ATMixerVolFlow(0.0), // design ventilation air flow rate from air terminal mixer (central DOAS) [m3/s] ATMixerCoolPriDryBulb(0.0), // design air terminal mixer cooling outlet temperature [C] - ATMixerCoolPriHumRat(0.0), // design air terminal mixer cooling outlet humidity ratio [kgH20/kgDryAir] + ATMixerCoolPriHumRat(0.0), // design air terminal mixer cooling outlet humidity ratio [kgWater/kgDryAir] ATMixerHeatPriDryBulb(0.0), // design air terminal mixer heating outlet temperature [C] - ATMixerHeatPriHumRat(0.0), // design air terminal mixer heating outlet humidity ratio [kgH20/kgDryAir] + ATMixerHeatPriHumRat(0.0), // design air terminal mixer heating outlet humidity ratio [kgWater/kgDryAir] DesCoolingLoad(0.0), // design cooling load used for zone equipment [W] DesHeatingLoad(0.0), // design heating load used for zone equipment [W] CoolingAirVolFlow(0.0), // design cooling air vol flow rate for equipment[m3/s] diff --git a/src/EnergyPlus/EconomicLifeCycleCost.cc b/src/EnergyPlus/EconomicLifeCycleCost.cc index af4f2d80f3c..d0b7288b5ca 100644 --- a/src/EnergyPlus/EconomicLifeCycleCost.cc +++ b/src/EnergyPlus/EconomicLifeCycleCost.cc @@ -2559,7 +2559,7 @@ namespace EconomicLifeCycleCost { columnHead(8) = "cons"; columnHead(9) = "slvg"; columnHead(10) = "oCap"; - columnHead(11) = "H20"; + columnHead(11) = "H2O"; columnHead(12) = "ene"; columnHead(13) = "tEne"; columnHead(14) = "tOpr"; diff --git a/src/EnergyPlus/EvaporativeCoolers.cc b/src/EnergyPlus/EvaporativeCoolers.cc index 489795b04c3..7d101568be0 100644 --- a/src/EnergyPlus/EvaporativeCoolers.cc +++ b/src/EnergyPlus/EvaporativeCoolers.cc @@ -1739,8 +1739,8 @@ namespace EvaporativeCoolers { EvapCond(EvapCoolNum).EvapCoolerPower += PartLoadRatio * EvapCond(EvapCoolNum).RecircPumpPower; //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(EvapCond(EvapCoolNum).OutletTemp); EvapCond(EvapCoolNum).EvapWaterConsumpRate = @@ -1897,9 +1897,9 @@ namespace EvaporativeCoolers { EvapCond(EvapCoolNum).EvapCoolerPower += PartLoadRatio * EvapCond(EvapCoolNum).IndirectRecircPumpPower; //****************** - // WATER CONSUMPTION IN LITERS OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(TDBSec); RhoAir = @@ -2054,8 +2054,8 @@ namespace EvaporativeCoolers { EvapCond(EvapCoolNum).EvapCoolerPower += PartLoadRatio * EvapCond(EvapCoolNum).IndirectRecircPumpPower; //****************** - // WATER CONSUMPTION IN LITERS OF WATER FOR Wet InDIRECT - // H2O [m3/sec] = (QHX [J/s])/(2,500,000 [J/kg H2O] * RhoWater [kg H2O/m3 H2O]) + // WATER CONSUMPTION IN m3 OF WATER FOR Wet InDIRECT + // H2O [m3/s] = (QHX [J/s])/(2,500,000 [J/kgWater] * RhoWater [kgWater/m3]) //****************** //***** FIRST calculate the heat exchange on the primary air side********** RhoAir = PsyRhoAirFnPbTdbW(OutBaroPress, EvapCond(EvapCoolNum).InletTemp, EvapCond(EvapCoolNum).InletHumRat); @@ -2397,8 +2397,8 @@ namespace EvaporativeCoolers { EvapCond(EvapCoolNum).OutletEnthalpy = PsyHFnTdbW(EvapCond(EvapCoolNum).OutletTemp, EvapCond(EvapCoolNum).OutletHumRat); //****************** - // WATER CONSUMPTION IN LITERS OF WATER FOR Wet InDIRECT - // H2O [m3/sec] = (QHX [J/s])/(2,500,000 [J/kg H2O] * RhoWater [kg H2O/m3 H2O]) + // WATER CONSUMPTION IN m3 OF WATER FOR Wet InDIRECT + // H2O [m3/s] = (QHX [J/s])/(2,500,000 [J/kgWater] * RhoWater [kgWater/m3]) //****************** //***** FIRST calculate the heat exchange on the primary air side********** RhoAir = PsyRhoAirFnPbTdbW(OutBaroPress, EvapCond(EvapCoolNum).InletTemp, EvapCond(EvapCoolNum).InletHumRat); @@ -3373,8 +3373,8 @@ namespace EvaporativeCoolers { EvapCond(EvapCoolNum).EvapCoolerPower = EvapCond(EvapCoolNum).RecircPumpPower * PumpPowerModCurveValue; //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(EvapCond(EvapCoolNum).OutletTemp); EvapVdot = (EvapCond(EvapCoolNum).OutletHumRat - EvapCond(EvapCoolNum).InletHumRat) * EvapCond(EvapCoolNum).InletMassFlowRate / RhoWater; diff --git a/src/EnergyPlus/FuelCellElectricGenerator.cc b/src/EnergyPlus/FuelCellElectricGenerator.cc index 7a49f5d66b3..59cda7fc615 100644 --- a/src/EnergyPlus/FuelCellElectricGenerator.cc +++ b/src/EnergyPlus/FuelCellElectricGenerator.cc @@ -1696,13 +1696,13 @@ namespace FuelCellElectricGenerator { Real64 NdotCO2ProdGas = this->FCPM.NdotFuel * DataGenerators::FuelSupply(this->FuelSupNum).CO2ProductGasCoef; // Water from reaction - Real64 NdotH20ProdGas = this->FCPM.NdotFuel * DataGenerators::FuelSupply(this->FuelSupNum).H20ProductGasCoef; + Real64 NdotH2OProdGas = this->FCPM.NdotFuel * DataGenerators::FuelSupply(this->FuelSupNum).H2OProductGasCoef; // set product gas constituent fractions (assume five usual components) Real64 NdotCO2 = 0.0; // temp CO2 molar rate coef product gas stream Real64 NdotN2 = 0.0; // temp Nitrogen rate coef product gas stream Real64 Ndot02 = 0.0; // temp Oxygen rate coef product gas stream - Real64 NdotH20 = 0.0; // temp Water rate coef product gas stream + Real64 NdotH2O = 0.0; // temp Water rate coef product gas stream Real64 NdotAr = 0.0; // temp Argon rate coef product gas stream // Product gas constituents are fixed (not a user defined thing) @@ -1725,8 +1725,8 @@ namespace FuelCellElectricGenerator { Ndot02 = NdotExcessAir * this->AirSup.ConstitMolalFract(thisGas); } else if (SELECT_CASE_var == 4) { - // all the H20 coming in plus the new H20 from reactions and the H20 from water used in reforming - NdotH20 = NdotH20ProdGas + this->AirSup.ConstitMolalFract(thisGas) * this->FCPM.NdotAir; + // all the H2O coming in plus the new H2O from reactions and the H2O from water used in reforming + NdotH2O = NdotH2OProdGas + this->AirSup.ConstitMolalFract(thisGas) * this->FCPM.NdotAir; } else if (SELECT_CASE_var == 5) { // all the argon coming in. @@ -1737,7 +1737,7 @@ namespace FuelCellElectricGenerator { } } - this->FCPM.NdotProdGas = NdotCO2 + NdotN2 + Ndot02 + NdotH20 + NdotAr; + this->FCPM.NdotProdGas = NdotCO2 + NdotN2 + Ndot02 + NdotH2O + NdotAr; // now that we have the total, figure molar fractions @@ -1749,8 +1749,8 @@ namespace FuelCellElectricGenerator { // all the oxygen in the excess air stream this->FCPM.ConstitMolalFract(3) = Ndot02 / this->FCPM.NdotProdGas; - // all the H20 comming in plus the new H20 from reactions and the H20 from water used in reforming - this->FCPM.ConstitMolalFract(4) = NdotH20 / this->FCPM.NdotProdGas; + // all the H2O comming in plus the new H2O from reactions and the H2O from water used in reforming + this->FCPM.ConstitMolalFract(4) = NdotH2O / this->FCPM.NdotProdGas; // all the argon coming in. this->FCPM.ConstitMolalFract(5) = NdotAr / this->FCPM.NdotProdGas; diff --git a/src/EnergyPlus/FuelCellElectricGenerator.hh b/src/EnergyPlus/FuelCellElectricGenerator.hh index 4c1ac15bf13..a70655d0472 100644 --- a/src/EnergyPlus/FuelCellElectricGenerator.hh +++ b/src/EnergyPlus/FuelCellElectricGenerator.hh @@ -413,7 +413,7 @@ namespace FuelCellElectricGenerator { Real64 HXenergy; // energy from gas stream to water [J] Real64 THXexh; // temperature of exhaust gases leaving heat exchanger. Real64 WaterVaporFractExh; // water vapor fraction in exhaust gas stream - // relative to water vapor entering HX (NdotH20/Ndoaux-mix) + // relative to water vapor entering HX (NdotH2O/Ndoaux-mix) Real64 CondensateRate; // water condensation rate [kmol/s] int SeqSubstIterations; // number of iterations in SOFC loop int RegulaFalsiIterations; // number of iterations in Tproduct gas solving diff --git a/src/EnergyPlus/GeneratorFuelSupply.cc b/src/EnergyPlus/GeneratorFuelSupply.cc index e26bd48be47..86b4b1115d3 100644 --- a/src/EnergyPlus/GeneratorFuelSupply.cc +++ b/src/EnergyPlus/GeneratorFuelSupply.cc @@ -289,7 +289,7 @@ namespace GeneratorFuelSupply { Real64 HHVfuel; // higher heating value of fuel, working var Real64 O2Stoic; // stochiometric oxygen coef in chemical equation (15) Real64 CO2ProdStoic; // product gases carbon dioxide coeff - Real64 H20ProdStoic; // product gases water coeff + Real64 H2OProdStoic; // product gases water coeff int i; // loop index std::string thisName; // working string var int thisGasID; // working index in Gas phase data structure @@ -623,7 +623,7 @@ namespace GeneratorFuelSupply { // sum over each constituent O2Stoic = 0.0; CO2ProdStoic = 0.0; - H20ProdStoic = 0.0; + H2OProdStoic = 0.0; CO2dataID = 1; // hard-coded above WaterDataID = 4; // hard-coded above // Loop over fuel constituents and do one-time setup @@ -646,12 +646,12 @@ namespace GeneratorFuelSupply { CO2ProdStoic += FuelSupply(FuelSupplyNum).ConstitMolalFract(i) * GasPhaseThermoChemistryData(thisGasID).NumCarbons; - H20ProdStoic += FuelSupply(FuelSupplyNum).ConstitMolalFract(i) * GasPhaseThermoChemistryData(thisGasID).NumHydrogens / 2.0; + H2OProdStoic += FuelSupply(FuelSupplyNum).ConstitMolalFract(i) * GasPhaseThermoChemistryData(thisGasID).NumHydrogens / 2.0; } FuelSupply(FuelSupplyNum).StoicOxygenRate = O2Stoic; FuelSupply(FuelSupplyNum).CO2ProductGasCoef = CO2ProdStoic; - FuelSupply(FuelSupplyNum).H20ProductGasCoef = H20ProdStoic; + FuelSupply(FuelSupplyNum).H2OProductGasCoef = H2OProdStoic; // Calculate LHV for an NdotFuel of 1.0 LHVfuel = 0.0; diff --git a/src/EnergyPlus/HVACControllers.cc b/src/EnergyPlus/HVACControllers.cc index 47fd1ff44c5..6559dbe0aa8 100644 --- a/src/EnergyPlus/HVACControllers.cc +++ b/src/EnergyPlus/HVACControllers.cc @@ -1777,17 +1777,17 @@ namespace HVACControllers { ShowContinueError("Controller sensed temperature = " + TrimSigDigits(ControllerProps(ControlNum).SensedValue, 2) + " [C]"); } else if (ControllerProps(ControlNum).ControlVar == iHumidityRatio) { ShowContinueError("Controller humidity ratio setpoint = " + TrimSigDigits(ControllerProps(ControlNum).SetPointValue, 2) + - " [kg-H2O/kg-air]"); + " [kgWater/kgDryAir]"); ShowContinueError("Controller sensed humidity ratio = " + TrimSigDigits(ControllerProps(ControlNum).SensedValue, 2) + - " [kg-H2O/kg-air]"); + " [kgWater/kgDryAir]"); } else if (ControllerProps(ControlNum).ControlVar == iTemperatureAndHumidityRatio) { ShowContinueError("Controller temperature setpoint = " + TrimSigDigits(ControllerProps(ControlNum).SetPointValue, 2) + " [C]"); ShowContinueError("Controller sensed temperature = " + TrimSigDigits(ControllerProps(ControlNum).SensedValue, 2) + " [C]"); ShowContinueError("Controller humidity ratio setpoint = " + - TrimSigDigits(Node(ControllerProps(ControlNum).SensedNode).HumRatMax, 2) + " [kg-H2O/kg-air]"); + TrimSigDigits(Node(ControllerProps(ControlNum).SensedNode).HumRatMax, 2) + " [kgWater/kgDryAir]"); ShowContinueError("Controller sensed humidity ratio = " + - TrimSigDigits(Node(ControllerProps(ControlNum).SensedNode).HumRat, 2) + " [kg-H2O/kg-air]"); + TrimSigDigits(Node(ControllerProps(ControlNum).SensedNode).HumRat, 2) + " [kgWater/kgDryAir]"); } else if (ControllerProps(ControlNum).ControlVar == iFlow) { ShowContinueError("Controller mass flow rate setpoint = " + TrimSigDigits(ControllerProps(ControlNum).SetPointValue, 2) + " [kg/s]"); diff --git a/src/EnergyPlus/HVACDXSystem.cc b/src/EnergyPlus/HVACDXSystem.cc index 40db25c298c..6e45f2b0365 100644 --- a/src/EnergyPlus/HVACDXSystem.cc +++ b/src/EnergyPlus/HVACDXSystem.cc @@ -3354,7 +3354,7 @@ namespace HVACDXSystem { // Locals // SUBROUTINE ARGUMENT DEFINITIONS: - // par(2) = desired air outlet hum rat [kg_h20/kg_dryair] + // par(2) = desired air outlet hum rat [kgWater/kgDryAir] // par(3) = TES coil operating mode // par(4) = outlet node number // par(5) = supply air fan operating mode (ContFanCycCoil) @@ -3370,7 +3370,7 @@ namespace HVACDXSystem { // FUNCTION LOCAL VARIABLE DECLARATIONS: int CoilIndex; // index of this coil - Real64 OutletAirHumRat; // outlet air humidity ratio [kg_H20/Kg_dryair] + Real64 OutletAirHumRat; // outlet air humidity ratio [kgWater/kgDryAir] int FanOpMode; // Supply air fan operating mode int TESOpMode; int OutletNodeNum; diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index cf5da8c9525..d60e085e15f 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -1255,8 +1255,8 @@ namespace HVACVariableRefrigerantFlow { if (CoolingLoad(VRFCond) && CoolingPLR > 0.0) { //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoWater = RhoH2O(OutdoorDryBulb); VRF(VRFCond).EvapWaterConsumpRate = (CondInletHumRat - OutdoorHumRat) * CondAirMassFlow / RhoWater * VRF(VRFCond).VRFCondPLR; @@ -8043,7 +8043,7 @@ namespace HVACVariableRefrigerantFlow { } } - Real64 LatentLoadMet = 0.0; // latent load deleivered [kgH2O/s] + Real64 LatentLoadMet = 0.0; // latent load deleivered [kgWater/s] Real64 TempOut = 0.0; Real64 TempIn = 0.0; if (this->ATMixerExists) { @@ -8070,7 +8070,7 @@ namespace HVACVariableRefrigerantFlow { } // calculate sensible load met using delta enthalpy LoadMet = AirMassFlow * PsyDeltaHSenFnTdb2W2Tdb1W1(TempOut, SpecHumOut, TempIn, SpecHumIn); // sensible {W} - LatentLoadMet = AirMassFlow * (SpecHumOut - SpecHumIn); // latent {kgH2O/s} + LatentLoadMet = AirMassFlow * (SpecHumOut - SpecHumIn); // latent {kgWater/s} if (present(LatOutputProvided)) { // CR9155 Remove specific humidity calculations LatOutputProvided = LatentLoadMet; @@ -11099,7 +11099,7 @@ namespace HVACVariableRefrigerantFlow { } // calculate sensible load met using delta enthalpy LoadMet = AirMassFlow * PsyDeltaHSenFnTdb2W2Tdb1W1(TempOut, SpecHumOut, TempIn, SpecHumIn); // sensible {W} - LatentLoadMet = AirMassFlow * (SpecHumOut - SpecHumIn); // latent {kgH2O/s} + LatentLoadMet = AirMassFlow * (SpecHumOut - SpecHumIn); // latent {kgWater/s} if (present(LatOutputProvided)) { // CR9155 Remove specific humidity calculations LatOutputProvided = LatentLoadMet; diff --git a/src/EnergyPlus/Humidifiers.cc b/src/EnergyPlus/Humidifiers.cc index e5e13b717e0..69c0b1c5c2c 100644 --- a/src/EnergyPlus/Humidifiers.cc +++ b/src/EnergyPlus/Humidifiers.cc @@ -1010,7 +1010,7 @@ namespace Humidifiers { // SUBROUTINE LOCAL VARIABLE DECLARATIONS: bool UnitOn; // unit on flag - Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kg H2O / kg dry air] + Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kgWater/kgDryAir] UnitOn = true; if (HumRatSet <= 0.0) UnitOn = false; @@ -1068,8 +1068,8 @@ namespace Humidifiers { // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - Real64 HumRatSatOut; // humidity ratio at saturation at the outlet temperature [kg H2O / kg dry air] - Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kg H2O / kg dry air] + Real64 HumRatSatOut; // humidity ratio at saturation at the outlet temperature [kgWater/kgDryAir] + Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kgWater/kgDryAir] Real64 WaterAddNeededMax; // moisture addition rate set by controller, limited by humidifier capacity Real64 WaterInEnthalpy; // enthalpy of the inlet steam [J/kg] Real64 HumRatSatApp; // the approximate humidity ratio where the line drawn between inlet and desired outlet conditions @@ -1174,8 +1174,8 @@ namespace Humidifiers { // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - Real64 HumRatSatOut; // humidity ratio at saturation at the outlet temperature [kg H2O / kg dry air] - Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kg H2O / kg dry air] + Real64 HumRatSatOut; // humidity ratio at saturation at the outlet temperature [kgWater/kgDryAir] + Real64 HumRatSatIn; // humidity ratio at saturation at the inlet temperature [kgWater/kgDryAir] Real64 WaterAddNeededMax; // moisture addition rate set by controller, limited by humidifier capacity Real64 WaterInEnthalpy; // enthalpy of the inlet steam [J/kg] Real64 HumRatSatApp; // the approximate humidity ratio where the line drawn between inlet and desired outlet conditions diff --git a/src/EnergyPlus/InternalHeatGains.cc b/src/EnergyPlus/InternalHeatGains.cc index c3e5ac6b146..65fa79e0b03 100644 --- a/src/EnergyPlus/InternalHeatGains.cc +++ b/src/EnergyPlus/InternalHeatGains.cc @@ -708,7 +708,7 @@ namespace InternalHeatGains { MustInpSch = false; UsingThermalComfort = false; lastOption = NumAlpha; - + // check to see if the user has specified schedules for air velocity, clothing insulation, and/or work efficiency // but have NOT made a selection for a thermal comfort model. If so, then the schedules are reported as unused // which could cause confusion. The solution is for the user to either remove those schedules or pick a thermal @@ -6162,13 +6162,13 @@ namespace InternalHeatGains { Real64 CPULoadSchedFrac; // CPU loading schedule fraction Real64 AirConnection; // Air connection type Real64 TSupply; // Supply air temperature [C] - Real64 WSupply; // Supply air humidity ratio [kgH2O/kgdryair] + Real64 WSupply; // Supply air humidity ratio [kgWater/kgDryAir] Real64 RecircFrac; // Recirulation fraction - current Real64 TRecirc; // Recirulation air temperature [C] - Real64 WRecirc; // Recirulation air humidity ratio [kgH2O/kgdryair] + Real64 WRecirc; // Recirulation air humidity ratio [kgWater/kgDryAir] Real64 TAirIn; // Entering air dry-bulb temperature [C] Real64 TAirInDesign; // Design entering air dry-bulb temperature [C] - Real64 WAirIn; // Entering air humidity ratio [kgH2O/kgdryair] + Real64 WAirIn; // Entering air humidity ratio [kgWater/kgDryAir] Real64 TDPAirIn; // Entering air dewpoint temperature [C] Real64 RHAirIn; // Entering air relative humidity [%] Real64 SupplyHeatIndex; // Supply heat index @@ -6826,20 +6826,20 @@ namespace InternalHeatGains { return DesignLightingLevelSum; } - + bool CheckThermalComfortSchedules(bool const WorkEffSch, // Blank work efficiency schedule = true bool const CloInsSch, // Blank clothing insulation schedule = true bool const AirVeloSch) // Blank air velocity schedule = true { bool TCSchedsPresent = false; - + if ( !WorkEffSch || !CloInsSch || !AirVeloSch ) { TCSchedsPresent = true; } - + return TCSchedsPresent; } - + void CheckLightsReplaceableMinMaxForZone(int const WhichZone) // Zone Number { diff --git a/src/EnergyPlus/OutputReportPredefined.cc b/src/EnergyPlus/OutputReportPredefined.cc index 54afe68b212..893b971a6ac 100644 --- a/src/EnergyPlus/OutputReportPredefined.cc +++ b/src/EnergyPlus/OutputReportPredefined.cc @@ -1917,9 +1917,9 @@ namespace OutputReportPredefined { pdchZnClPkTime = newPreDefColumn(pdstZoneClSize, "Date/Time Of Peak {TIMESTAMP}"); pdchZnClPkTstatTemp = newPreDefColumn(pdstZoneClSize, "Thermostat Setpoint Temperature at Peak Load [C]"); pdchZnClPkIndTemp = newPreDefColumn(pdstZoneClSize, "Indoor Temperature at Peak Load [C]"); - pdchZnClPkIndHum = newPreDefColumn(pdstZoneClSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgAir]"); + pdchZnClPkIndHum = newPreDefColumn(pdstZoneClSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]"); pdchZnClPkOATemp = newPreDefColumn(pdstZoneClSize, "Outdoor Temperature at Peak Load [C]"); - pdchZnClPkOAHum = newPreDefColumn(pdstZoneClSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgAir]"); + pdchZnClPkOAHum = newPreDefColumn(pdstZoneClSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]"); pdchZnClPkOAMinFlow = newPreDefColumn(pdstZoneClSize, "Minimum Outdoor Air Flow Rate [m3/s]"); pdchZnClPkDOASHeatGain = newPreDefColumn(pdstZoneClSize, "Heat Gain Rate from DOAS [W]"); addFootNoteSubTable(pdstZoneClSize, @@ -1935,9 +1935,9 @@ namespace OutputReportPredefined { pdchZnHtPkTime = newPreDefColumn(pdstZoneHtSize, "Date/Time Of Peak {TIMESTAMP}"); pdchZnHtPkTstatTemp = newPreDefColumn(pdstZoneHtSize, "Thermostat Setpoint Temperature at Peak Load [C]"); pdchZnHtPkIndTemp = newPreDefColumn(pdstZoneHtSize, "Indoor Temperature at Peak Load [C]"); - pdchZnHtPkIndHum = newPreDefColumn(pdstZoneHtSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgAir]"); + pdchZnHtPkIndHum = newPreDefColumn(pdstZoneHtSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]"); pdchZnHtPkOATemp = newPreDefColumn(pdstZoneHtSize, "Outdoor Temperature at Peak Load [C]"); - pdchZnHtPkOAHum = newPreDefColumn(pdstZoneHtSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgAir]"); + pdchZnHtPkOAHum = newPreDefColumn(pdstZoneHtSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]"); pdchZnHtPkOAMinFlow = newPreDefColumn(pdstZoneHtSize, "Minimum Outdoor Air Flow Rate [m3/s]"); pdchZnHtPkDOASHeatGain = newPreDefColumn(pdstZoneHtSize, "Heat Gain Rate from DOAS [W]"); addFootNoteSubTable(pdstZoneHtSize, @@ -1991,17 +1991,18 @@ namespace OutputReportPredefined { pdch2CoilEntDryBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]"); pdch2CoilEntWetBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]"); pdch2CoilEntHumRatIdealPeak = - newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdch2CoilLvgDryBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]"); pdch2CoilLvgWetBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]"); - pdch2CoilLvgHumRatIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [C]"); + pdch2CoilLvgHumRatIdealPeak = + newPreDefColumn(pdst2CoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdch2OADryBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]"); - pdch2OAHumRatIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + pdch2OAHumRatIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdch2OAWetBulbatIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]"); pdch2OAFlowPrcntIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]"); pdch2ZoneAirDryBulbIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]"); pdch2ZoneAirHumRatIdealPeak = - newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdch2ZoneAirRelHumIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]"); pdch2ZoneSensibleLoadIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]"); pdch2ZoneLatentLoadIdealPeak = newPreDefColumn(pdst2CoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]"); @@ -2085,11 +2086,12 @@ namespace OutputReportPredefined { pdchCoilEntDryBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]"); pdchCoilEntWetBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]"); pdchCoilEntHumRatIdealPeak = - newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdchCoilEntEnthalpyIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Ideal Loads Peak [J/KG-K]"); pdchCoilLvgDryBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]"); pdchCoilLvgWetBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]"); - pdchCoilLvgHumRatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [C]"); + pdchCoilLvgHumRatIdealPeak = + newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdchCoilLvgEnthalpyIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Ideal Loads Peak [J/KG-K]"); pdchCoilWaterMassFlowIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Plant Fluid Mass Flow Rate at Ideal Loads Peak [kg/s]"); pdchCoilEntWaterTempIdealPeak = @@ -2100,15 +2102,15 @@ namespace OutputReportPredefined { pdchFanHeatGainIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Supply Fan Air Heat Gain at Ideal Loads Peak [W]"); pdchCoilNetTotalCapacityIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil and Fan Net Total Capacity at Ideal Loads Peak [W]"); pdchOADryBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]"); - pdchOAHumRatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + pdchOAHumRatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdchOAWetBulbatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]"); pdchOAVolFlowIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Volume Flow Rate at Ideal Loads Peak [m3/s]"); pdchOAFlowPrcntIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]"); pdchAirSysRADryBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "System Return Air Drybulb at Ideal Loads Peak [C]"); pdchAirSysRAHumRatIdealPeak = - newPreDefColumn(pdstCoilSummaryCoilSelection, "System Return Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdstCoilSummaryCoilSelection, "System Return Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdchZoneAirDryBulbIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]"); - pdchZoneAirHumRatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [KGWATER/KGDRYAIR]"); + pdchZoneAirHumRatIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]"); pdchZoneAirRelHumIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]"); pdchZoneSensibleLoadIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]"); pdchZoneLatentLoadIdealPeak = newPreDefColumn(pdstCoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]"); @@ -2120,12 +2122,12 @@ namespace OutputReportPredefined { pdchCoilRatedEntDryBulb = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Rating Conditions [C]"); pdchCoilRatedEntWetBulb = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Rating Conditions [C]"); pdchCoilRatedEntHumRat = - newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Rating Conditions [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]"); pdchCoilRatedEntEnthalpy = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Rating Conditions [J/KG-K]"); pdchCoilRatedLvgDryBulb = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Rating Conditions [C]"); pdchCoilRatedLvgWetBulb = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Rating Conditions [C]"); pdchCoilRatedLvgHumRat = - newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Rating Conditions [KGWATER/KGDRYAIR]"); + newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]"); pdchCoilRatedLvgEnthalpy = newPreDefColumn(pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Rating Conditions [J/KG-K]"); // System Summary Report diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index 357a71a3b75..6a03b64dc49 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -14105,10 +14105,10 @@ namespace OutputReportTabular { rowHead(1) = "Time of Peak Load"; rowHead(2) = "Outside Dry Bulb Temperature [C]"; rowHead(3) = "Outside Wet Bulb Temperature [C]"; - rowHead(4) = "Outside Humidity Ratio at Peak [kgWater/kgAir]"; + rowHead(4) = "Outside Humidity Ratio at Peak [kgWater/kgDryAir]"; rowHead(5) = "Zone Dry Bulb Temperature [C]"; rowHead(6) = "Zone Relative Humidity [%]"; - rowHead(7) = "Zone Humidity Ratio at Peak [kgWater/kgAir]"; + rowHead(7) = "Zone Humidity Ratio at Peak [kgWater/kgDryAir]"; rowHead(8) = "Supply Air Temperature [C]"; rowHead(9) = "Mixed Air Temperature [C]"; @@ -15941,7 +15941,7 @@ namespace OutputReportTabular { // SUBROUTINE LOCAL VARIABLE DECLARATIONS: // na - UnitConvSize = 117; + UnitConvSize = 115; UnitConv.allocate(UnitConvSize); UnitConv(1).siName = "%"; UnitConv(2).siName = "°C"; @@ -15968,14 +15968,14 @@ namespace OutputReportTabular { UnitConv(23).siName = "J"; UnitConv(24).siName = "J"; UnitConv(25).siName = "J/KG"; - UnitConv(26).siName = "J/KG H2O"; + UnitConv(26).siName = "J/KGWATER"; UnitConv(27).siName = "J/M2"; UnitConv(28).siName = "K/M"; UnitConv(29).siName = "KG"; UnitConv(30).siName = "KG/KG"; UnitConv(31).siName = "KG/M3"; UnitConv(32).siName = "KG/S"; - UnitConv(33).siName = "KGWATER/KGAIR"; + UnitConv(33).siName = "KGWATER/KGDRYAIR"; UnitConv(34).siName = "KGWATER/SEC"; UnitConv(35).siName = "KMOL/S"; UnitConv(36).siName = "KMOL/SEC"; @@ -16014,7 +16014,7 @@ namespace OutputReportTabular { UnitConv(69).siName = "W"; UnitConv(70).siName = "W"; UnitConv(71).siName = "W/KG"; - UnitConv(72).siName = "W/KG H2O"; + UnitConv(72).siName = "W/KG H2O"; // TODO: replace with W/kgWater? or rather just remove UnitConv(73).siName = "W/K"; UnitConv(74).siName = "W/M2"; UnitConv(75).siName = "W/M2"; @@ -16047,19 +16047,17 @@ namespace OutputReportTabular { UnitConv(102).siName = "$"; UnitConv(103).siName = "$/UNIT ENERGY"; UnitConv(104).siName = "KW"; - UnitConv(105).siName = "KGWATER/KGDRYAIR"; - UnitConv(106).siName = " "; - UnitConv(107).siName = "AH"; - UnitConv(108).siName = "CLO"; - UnitConv(109).siName = "J/KG-K"; - UnitConv(110).siName = "J/KGWATER"; - UnitConv(111).siName = "KGWATER/S"; - UnitConv(112).siName = "PPM"; - UnitConv(113).siName = "RAD"; - UnitConv(114).siName = "REV/MIN"; - UnitConv(115).siName = "NM"; - UnitConv(116).siName = "BTU/W-H"; // Used for AHRI rating metrics (e.g. SEER) - UnitConv(117).siName = "PERSON/M2"; + UnitConv(105).siName = " "; + UnitConv(106).siName = "AH"; + UnitConv(107).siName = "CLO"; + UnitConv(108).siName = "J/KG-K"; + UnitConv(109).siName = "KGWATER/S"; + UnitConv(110).siName = "PPM"; + UnitConv(111).siName = "RAD"; + UnitConv(112).siName = "REV/MIN"; + UnitConv(113).siName = "NM"; + UnitConv(114).siName = "BTU/W-H"; // Used for AHRI rating metrics (e.g. SEER) + UnitConv(115).siName = "PERSON/M2"; UnitConv(1).ipName = "%"; UnitConv(2).ipName = "F"; @@ -16093,7 +16091,7 @@ namespace OutputReportTabular { UnitConv(30).ipName = "lb/lb"; UnitConv(31).ipName = "lb/ft3"; UnitConv(32).ipName = "lb/s"; - UnitConv(33).ipName = "lbWater/lbAir"; + UnitConv(33).ipName = "lbWater/lbDryAir"; UnitConv(34).ipName = "lbWater/s"; UnitConv(35).ipName = "kmol/s"; UnitConv(36).ipName = "kmol/sec"; @@ -16165,19 +16163,17 @@ namespace OutputReportTabular { UnitConv(102).ipName = "$"; UnitConv(103).ipName = "$/unit energy"; UnitConv(104).ipName = "kW"; - UnitConv(105).ipName = "lbWater/lbDryAir"; - UnitConv(106).ipName = " "; - UnitConv(107).ipName = "Ah"; - UnitConv(108).ipName = "clo"; - UnitConv(109).ipName = "Btu/lbm-R"; - UnitConv(110).ipName = "Btu/lbWater"; - UnitConv(111).ipName = "lbWater/s"; - UnitConv(112).ipName = "ppm"; - UnitConv(113).ipName = "rad"; - UnitConv(114).ipName = "rev/min"; - UnitConv(115).ipName = "lbf-ft"; - UnitConv(116).ipName = "Btu/W-h"; - UnitConv(117).ipName = "person/ft2"; + UnitConv(105).ipName = " "; + UnitConv(106).ipName = "Ah"; + UnitConv(107).ipName = "clo"; + UnitConv(108).ipName = "Btu/lbm-R"; + UnitConv(109).ipName = "lbWater/s"; + UnitConv(110).ipName = "ppm"; + UnitConv(111).ipName = "rad"; + UnitConv(112).ipName = "rev/min"; + UnitConv(113).ipName = "lbf-ft"; + UnitConv(114).ipName = "Btu/W-h"; + UnitConv(115).ipName = "person/ft2"; UnitConv(1).mult = 1.0; UnitConv(2).mult = 1.8; @@ -16286,16 +16282,14 @@ namespace OutputReportTabular { UnitConv(105).mult = 1.0; UnitConv(106).mult = 1.0; UnitConv(107).mult = 1.0; - UnitConv(108).mult = 1.0; - UnitConv(109).mult = 0.000238845896627; - UnitConv(110).mult = 0.0000004302105; - UnitConv(111).mult = 2.2046; + UnitConv(108).mult = 0.000238845896627; + UnitConv(109).mult = 2.2046; + UnitConv(110).mult = 1.0; + UnitConv(111).mult = 1.0; UnitConv(112).mult = 1.0; - UnitConv(113).mult = 1.0; + UnitConv(113).mult = 0.737562149277; UnitConv(114).mult = 1.0; - UnitConv(115).mult = 0.737562149277; - UnitConv(116).mult = 1.0; - UnitConv(117).mult = 0.09290304; + UnitConv(115).mult = 0.09290304; UnitConv(2).offset = 32.0; UnitConv(11).offset = 32.0; diff --git a/src/EnergyPlus/PackagedThermalStorageCoil.cc b/src/EnergyPlus/PackagedThermalStorageCoil.cc index f1e1989b493..4a74ec4661b 100644 --- a/src/EnergyPlus/PackagedThermalStorageCoil.cc +++ b/src/EnergyPlus/PackagedThermalStorageCoil.cc @@ -4420,7 +4420,7 @@ namespace PackagedThermalStorageCoil { // Locals // SUBROUTINE ARGUMENT DEFINITIONS: - // par(2) = desired air outlet hum rat [kg_h20/kg_dryair] + // par(2) = desired air outlet hum rat [kgWater/kgDryAir] // par(3) = TES coil operating mode // par(4) = outlet node number // par(5) = supply air fan operating mode (ContFanCycCoil) @@ -4436,7 +4436,7 @@ namespace PackagedThermalStorageCoil { // FUNCTION LOCAL VARIABLE DECLARATIONS: int CoilIndex; // index of this coil - Real64 OutletAirHumRat; // outlet air humidity ratio [kg_H20/Kg_dryair] + Real64 OutletAirHumRat; // outlet air humidity ratio [kgWater/kgDryAir] int FanOpMode; // Supply air fan operating mode int TESOpMode; int OutletNodeNum; diff --git a/src/EnergyPlus/PurchasedAirManager.cc b/src/EnergyPlus/PurchasedAirManager.cc index 7794b290114..50565a9bee9 100644 --- a/src/EnergyPlus/PurchasedAirManager.cc +++ b/src/EnergyPlus/PurchasedAirManager.cc @@ -1982,8 +1982,8 @@ namespace PurchasedAirManager { Real64 SupplyMassFlowRateForDehum; // System supply air mass flow rate required to meet dehumidification load [kg/s] Real64 SupplyMassFlowRateForCool; // System supply air mass flow rate required to meet sensible cooling load[kg/s] Real64 SupplyMassFlowRateForHeat; // System supply air mass flow rate required to meet sensible heating load[kg/s] - Real64 SupplyHumRatForHumid; // Supply air humidity ratio require to meet the humidification load [kgH2O/kgAir] - Real64 SupplyHumRatForDehum; // Supply air humidity ratio require to meet the dehumidification load [kgH2O/kgAir] + Real64 SupplyHumRatForHumid; // Supply air humidity ratio require to meet the humidification load [kgWater/kgDryAir] + Real64 SupplyHumRatForDehum; // Supply air humidity ratio require to meet the dehumidification load [kgWater/kgDryAir] Real64 OAMassFlowRate; // Outdoor air mass flow rate [kg/s] Real64 OAVolFlowRate; // Outdoor air volume flow rate at standard density [m3/s] Real64 MinOASensOutput; // Minimum Outdoor air sensible output [W], <0 means OA is cooler than zone air @@ -1998,19 +1998,19 @@ namespace PurchasedAirManager { Real64 DeltaHumRat; // Delta humidity ratio - reused in multiple places Real64 QZnHeatSP; // Load required to meet heating setpoint [W] (>0 is a heating load) Real64 QZnCoolSP; // Load required to meet cooling setpoint [W] (<0 is a cooling load) - Real64 MdotZnHumidSP; // Load required to meet humidifying setpoint [kg H2O/s] (>0 = a humidify load) - Real64 MdotZnDehumidSP; // Load required to meet dehumidifying setpoint [kg H2O/s] (<0 = a dehumidify load) + Real64 MdotZnHumidSP; // Load required to meet humidifying setpoint [kgWater/s] (>0 = a humidify load) + Real64 MdotZnDehumidSP; // Load required to meet dehumidifying setpoint [kgWater/s] (<0 = a dehumidify load) bool UnitOn; bool HeatOn; // Flag for heating and humidification availbility schedule, true if heating is on bool CoolOn; // Flag for cooling and dehumidification availbility schedule, true if cooling is on bool EconoOn; // Flag for economizer operation, true if economizer is on Real64 SupplyTemp; // Supply inlet to zone dry bulb temperature [C] - Real64 SupplyHumRat; // Supply inlet to zone humidity ratio [kg H2O/kg Air] - Real64 SupplyHumRatOrig; // Supply inlet to zone humidity ratio before saturation check [kg H2O/kg Air] - Real64 SupplyHumRatSat; // Supply inlet to zone humidity ratio saturation at SupplyTemp [kg H2O/kg Air] + Real64 SupplyHumRat; // Supply inlet to zone humidity ratio [kgWater/kgDryAir] + Real64 SupplyHumRatOrig; // Supply inlet to zone humidity ratio before saturation check [kgWater/kgDryAir] + Real64 SupplyHumRatSat; // Supply inlet to zone humidity ratio saturation at SupplyTemp [kgWater/kgDryAir] Real64 SupplyEnthalpy; // Supply inlet to zone enthalpy [J/kg] Real64 MixedAirTemp; // Mixed air dry bulb temperature [C] - Real64 MixedAirHumRat; // Mixed air humidity ratio [kg H2O/kg Air] + Real64 MixedAirHumRat; // Mixed air humidity ratio [kgWater/kgDryAir] Real64 MixedAirEnthalpy; // Mixed air enthalpy [J/kg] Real64 CpAir; // Specific heat [J/kg-C] reused in multiple places // REAL(r64) :: SpecHumOut ! Specific humidity ratio of outlet air (kg moisture / kg moist air) @@ -2810,7 +2810,7 @@ namespace PurchasedAirManager { Real64 const OAMassFlowRate, // outside air mass flow rate [kg/s] Real64 const SupplyMassFlowRate, // supply air mass flow rate [kg/s] Real64 &MixedAirTemp, // Mixed air dry bulb temperature [C] - Real64 &MixedAirHumRat, // Mixed air humidity ratio [kg H2O/kg Air] + Real64 &MixedAirHumRat, // Mixed air humidity ratio [kgWater/kgDryAir] Real64 &MixedAirEnthalpy, // Mixed air enthalpy [J/kg] int const OperatingMode // current operating mode, Off, Heating, Cooling, or DeadBand ) @@ -2849,14 +2849,14 @@ namespace PurchasedAirManager { int RecircNodeNum; // Zone return air node int OANodeNum; // Outdoor air inlet node Real64 RecircTemp; // Recirculated air from zone dry bulb temperature [C] - Real64 RecircHumRat; // Recirculated air from zone humidity ratio [kg H2O/kg Air] + Real64 RecircHumRat; // Recirculated air from zone humidity ratio [kgWater/kgDryAir] Real64 RecircEnthalpy; // Recirculated air from zone enthalpy [J/kg] Real64 RecircMassFlowRate; // Recirculated air mass flow rate [kg/s] Real64 OAInletTemp; // Outdoor air inlet dry bulb temperature [C] - Real64 OAInletHumRat; // Outdoor air inlet humidity ratio [kg H2O/kg Air] + Real64 OAInletHumRat; // Outdoor air inlet humidity ratio [kgWater/kgDryAir] Real64 OAInletEnthalpy; // Outdoor air inlet enthalpy [J/kg] Real64 OAAfterHtRecTemp; // Outdoor air after heat recovery to mixing box dry bulb temperature [C] - Real64 OAAfterHtRecHumRat; // Outdoor air after heat recovery to mixing box humidity ratio [kg H2O/kg Air] + Real64 OAAfterHtRecHumRat; // Outdoor air after heat recovery to mixing box humidity ratio [kgWater/kgDryAir] Real64 OAAfterHtRecEnthalpy; // Outdoor air after heat recovery to mixing box enthalpy [J/kg] bool HeatRecOn; Real64 CpAir; // Specific heat [J/kg-C] reused in multiple places diff --git a/src/EnergyPlus/PurchasedAirManager.hh b/src/EnergyPlus/PurchasedAirManager.hh index b64b4789185..099daccae89 100644 --- a/src/EnergyPlus/PurchasedAirManager.hh +++ b/src/EnergyPlus/PurchasedAirManager.hh @@ -165,7 +165,7 @@ namespace PurchasedAirManager { bool EMSOverrideSupplyTempOn; // if true, then EMS is calling to override supply temperature Real64 EMSValueSupplyTemp; // Value EMS is directing to use for supply temperature [C] bool EMSOverrideSupplyHumRatOn; // if true, then EMS is calling to override supply humidity ratio - Real64 EMSValueSupplyHumRat; // Value EMS is directing to use for supply humidity ratio [kg-H2O/kg-dryair] + Real64 EMSValueSupplyHumRat; // Value EMS is directing to use for supply humidity ratio [kgWater/kgDryAir] Real64 MinOAMassFlowRate; // The minimum required outdoor air mass flow rate [kg/s] Real64 OutdoorAirMassFlowRate; // The outdoor air mass flow rate [kg/s] Real64 OutdoorAirVolFlowRateStdRho; // The outdoor air volume flow rate using standard density [m3/s] @@ -173,7 +173,7 @@ namespace PurchasedAirManager { Real64 SupplyAirVolFlowRateStdRho; // supply air volume flow using standard density [m3/s] // Intermediate results Real64 FinalMixedAirTemp; // Dry-bulb temperature of the mixed air, saved for system ventilation load reporting [C] - Real64 FinalMixedAirHumRat; // Humidity ratio of the mixed air, saved for system ventilation load reporting [kg-H2O/kg-dryair] + Real64 FinalMixedAirHumRat; // Humidity ratio of the mixed air, saved for system ventilation load reporting [kgWater/kgDryAir] Real64 HtRecSenOutput; // Sensible heating/cooling rate from heat recovery (<0 means cooling) [W] Real64 HtRecLatOutput; // Latent heating/cooling rate from heat recovery (<0 means cooling or dehumidfying) [W] Real64 OASenOutput; // Outdoor air sensible output relative to zone conditions [W], <0 means OA is cooler than zone air @@ -337,7 +337,7 @@ namespace PurchasedAirManager { Real64 const OAMassFlowRate, // outside air mass flow rate [kg/s] Real64 const SupplyMassFlowRate, // supply air mass flow rate [kg/s] Real64 &MixedAirTemp, // Mixed air dry bulb temperature [C] - Real64 &MixedAirHumRat, // Mixed air humidity ratio [kg H2O/kg Air] + Real64 &MixedAirHumRat, // Mixed air humidity ratio [kgWater/kgDryAir] Real64 &MixedAirEnthalpy, // Mixed air enthalpy [J/kg] int const OperatingMode // current operating mode, Off, Heating, Cooling, or DeadBand ); diff --git a/src/EnergyPlus/RefrigeratedCase.cc b/src/EnergyPlus/RefrigeratedCase.cc index d9bf828c6e1..044cf598962 100644 --- a/src/EnergyPlus/RefrigeratedCase.cc +++ b/src/EnergyPlus/RefrigeratedCase.cc @@ -7074,7 +7074,7 @@ namespace RefrigeratedCase { DataHeatBalance::Zone(zoneID).Name); SetupOutputVariable("Refrigeration Zone Air Chiller Water Removed Mass Flow Rate", OutputProcessor::Unit::kg_s, - CoilSysCredit(zoneID).ReportH20RemovedKgPerS_FromZoneRate, + CoilSysCredit(zoneID).ReportH2ORemovedKgPerS_FromZoneRate, "HVAC", "Average", DataHeatBalance::Zone(zoneID).Name); @@ -14063,7 +14063,7 @@ namespace RefrigeratedCase { if (UseSysTimeStep) { // air chillers for (int ZoneNum = 1; ZoneNum <= DataGlobals::NumOfZones; ++ZoneNum) { - CoilSysCredit(ZoneNum).ReportH20RemovedKgPerS_FromZoneRate = -CoilSysCredit(ZoneNum).LatKgPerS_ToZoneRate; + CoilSysCredit(ZoneNum).ReportH2ORemovedKgPerS_FromZoneRate = -CoilSysCredit(ZoneNum).LatKgPerS_ToZoneRate; CoilSysCredit(ZoneNum).ReportLatCreditToZoneRate = -CoilSysCredit(ZoneNum).LatCreditToZoneRate; CoilSysCredit(ZoneNum).ReportLatCreditToZoneEnergy = -CoilSysCredit(ZoneNum).LatCreditToZoneEnergy; // Sensible rate can be positive or negative, split into separate output variables and diff --git a/src/EnergyPlus/RefrigeratedCase.hh b/src/EnergyPlus/RefrigeratedCase.hh index ea63cb930b2..fb011946281 100644 --- a/src/EnergyPlus/RefrigeratedCase.hh +++ b/src/EnergyPlus/RefrigeratedCase.hh @@ -1456,7 +1456,7 @@ namespace RefrigeratedCase { Real64 LatKgPerS_ToZoneRate; // Latent water to zone on sys time step from coils, neg when water removed (kg/s) Real64 SenCreditToZoneRate; // Net sensible credit to zone on sys time step from coil (W) Real64 SenCreditToZoneEnergy; - Real64 ReportH20RemovedKgPerS_FromZoneRate; // same but positive for reporting purposes (kg/s) + Real64 ReportH2ORemovedKgPerS_FromZoneRate; // same but positive for reporting purposes (kg/s) Real64 ReportLatCreditToZoneRate; // Positive for reporting Net latent credit to zone on sys time step from coil (W) Real64 ReportLatCreditToZoneEnergy; Real64 ReportHeatingToZoneRate; // Positive for reporting Net sensible credit to zone on sys time step from coil (W) @@ -1469,7 +1469,7 @@ namespace RefrigeratedCase { // Default Constructor CoilCreditData() : LatCreditToZoneRate(0.0), LatCreditToZoneEnergy(0.0), LatKgPerS_ToZoneRate(0.0), SenCreditToZoneRate(0.0), SenCreditToZoneEnergy(0.0), - ReportH20RemovedKgPerS_FromZoneRate(0.0), ReportLatCreditToZoneRate(0.0), ReportLatCreditToZoneEnergy(0.0), + ReportH2ORemovedKgPerS_FromZoneRate(0.0), ReportLatCreditToZoneRate(0.0), ReportLatCreditToZoneEnergy(0.0), ReportHeatingToZoneRate(0.0), ReportHeatingToZoneEnergy(0.0), ReportSenCoolingToZoneRate(0.0), ReportSenCoolingToZoneEnergy(0.0), ReportTotCoolingToZoneRate(0.0), ReportTotCoolingToZoneEnergy(0.0) { @@ -1483,7 +1483,7 @@ namespace RefrigeratedCase { LatKgPerS_ToZoneRate = 0.0; SenCreditToZoneRate = 0.0; SenCreditToZoneEnergy = 0.0; - ReportH20RemovedKgPerS_FromZoneRate = 0.0; + ReportH2ORemovedKgPerS_FromZoneRate = 0.0; ReportLatCreditToZoneRate = 0.0; ReportLatCreditToZoneEnergy = 0.0; ReportHeatingToZoneRate = 0.0; diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index c667ae1c9c6..60bb595d634 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -1943,7 +1943,7 @@ namespace ReportSizingManager { ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6)); ShowContinueError(" Inlet chilled water temperature = " + RoundSigDigits(DataDesInletWaterTemp, 3) + " [C]"); ShowContinueError(" Minimum humidity ratio at saturation for inlet chilled water temperature = " + - RoundSigDigits(DesHumRatAtWaterInTemp, 6) + " [KGWATER/KGDRYAIR]"); + RoundSigDigits(DesHumRatAtWaterInTemp, 6) + " [kgWater/kgDryAir]"); AutosizeDes = DataDesInletAirHumRat; ShowContinueError("....coil leaving humidity ratio will be reset to:"); ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6)); @@ -3019,15 +3019,15 @@ namespace ReportSizingManager { UtilityRoutines::SameString(CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY"))) { // flow here is water vol flow rate ShowWarningError(CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving humidity ratio > entering humidity ratio."); - ShowContinueError(" Wair,in = " + RoundSigDigits(DataDesInletAirHumRat, 6) + " [KGWATER/KGDRYAIR]"); - ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [KGWATER/KGDRYAIR]"); + ShowContinueError(" Wair,in = " + RoundSigDigits(DataDesInletAirHumRat, 6) + " [kgWater/kgDryAir]"); + ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [kgWater/kgDryAir]"); if (DataDesInletAirHumRat > 0.016) { AutosizeDes = 0.5 * DataDesInletAirHumRat; } else { AutosizeDes = DataDesInletAirHumRat; } ShowContinueError("....coil leaving humidity ratio will be reset to:"); - ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [KGWATER/KGDRYAIR]"); + ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [kgWater/kgDryAir]"); } // check for dry coil and reset outlet humrat if needed @@ -3039,14 +3039,14 @@ namespace ReportSizingManager { ShowWarningError(CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil is running dry for sizing because minimum humidity ratio at saturation for inlet " "chilled water temperature > design air entering humidity ratio."); - ShowContinueError(" Wair,in = " + RoundSigDigits(DataDesInletAirHumRat, 6) + " [KGWATER/KGDRYAIR]"); - ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [KGWATER/KGDRYAIR]"); + ShowContinueError(" Wair,in = " + RoundSigDigits(DataDesInletAirHumRat, 6) + " [kgWater/kgDryAir]"); + ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [kgWater/kgDryAir]"); ShowContinueError(" Inlet chilled water temperature = " + RoundSigDigits(DataDesInletWaterTemp, 3) + " [C]"); ShowContinueError(" Minimum humidity ratio at saturation for inlet chilled water temperature = " + - RoundSigDigits(DesHumRatAtWaterInTemp, 6) + " [KGWATER/KGDRYAIR]"); + RoundSigDigits(DesHumRatAtWaterInTemp, 6) + " [kgWater/kgDryAir]"); AutosizeDes = DataDesInletAirHumRat; ShowContinueError("....coil leaving humidity ratio will be reset to:"); - ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [KGWATER/KGDRYAIR]"); + ShowContinueError(" Wair,out = " + RoundSigDigits(AutosizeDes, 6) + " [kgWater/kgDryAir]"); } } bCheckForZero = false; diff --git a/src/EnergyPlus/SetPointManager.cc b/src/EnergyPlus/SetPointManager.cc index 39b4b37f7ba..ee9bb9faa23 100644 --- a/src/EnergyPlus/SetPointManager.cc +++ b/src/EnergyPlus/SetPointManager.cc @@ -6712,14 +6712,14 @@ namespace SetPointManager { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgH20/s] + Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgWater/s] Real64 ZoneMassFlowRate; // zone inlet node actual mass flow rate lagged by system one time step[kg/s] int AirLoopNum; // the index of the air loop served by this setpoint manager Real64 SumMoistureLoad; // sum of the zone moisture loads for this air loop [W] Real64 SumMdot; // sum of the actual mass flow rate for controlled zones in the air loop [kg/s] Real64 SumMdotTot; // sum of the actual mass flow rate for this air loop [kg/s] Real64 SumProductMdotHumTot; // sum of product of actual mass flow rate at the zone inlet node, - // and humidity ratio at zones air node for all zones in the airloop [kgH20/s] + // and humidity ratio at zones air node for all zones in the airloop [kgWater/s] Real64 AverageZoneHum; // multizone average zone air node humidity ratio of all zones in the air loop [kg/kg] int ZonesCooledIndex; // DO loop index for zones cooled by the air loop int CtrlZoneNum; // the controlled zone index @@ -6795,14 +6795,14 @@ namespace SetPointManager { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgH20/s] + Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgWater/s] Real64 ZoneMassFlowRate; // zone inlet node actual mass flow rate lagged by system one time step[kg/s] int AirLoopNum; // the index of the air loop served by this setpoint manager Real64 SumMoistureLoad; // sum of the zone moisture loads for this air loop [W] Real64 SumMdot; // sum of the actual mass flow rate for controlled zones in the air loop [kg/s] Real64 SumMdotTot; // sum of the actual mass flow rate for this air loop [kg/s] Real64 SumProductMdotHumTot; // sum of product of actual mass flow rate at the zone inlet node, - // and humidity ratio at zones air node for all zones in the airloop [kgH20/s] + // and humidity ratio at zones air node for all zones in the airloop [kgWater/s] Real64 AverageZoneHum; // multizone average zone air node humidity ratio of all zones in the air loop [kg/kg] int ZonesCooledIndex; // DO loop index for zones cooled by the air loop int CtrlZoneNum; // the controlled zone index @@ -6873,7 +6873,7 @@ namespace SetPointManager { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - Real64 const SmallMoistureLoad(0.00001); // small moisture load [kgH2O/s] + Real64 const SmallMoistureLoad(0.00001); // small moisture load [kgWater/s] // INTERFACE BLOCK SPECIFICATIONS @@ -6889,7 +6889,7 @@ namespace SetPointManager { Real64 ZoneHum; // zone air node humidity ratio [kg/kg] Real64 SetPointHum; // system setpoint humidity ratio [kg/kg] Real64 ZoneSetPointHum; // Zone setpoint humidity ratio [kg/kg] - Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgH20/s] + Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgWater/s] Real64 ZoneMassFlowRate; // zone inlet node actual supply air mass flow rate [kg/s] Real64 SumMoistureLoad(0.0); // sum of the zone moisture loads for this air loop [W] @@ -6952,7 +6952,7 @@ namespace SetPointManager { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - Real64 const SmallMoistureLoad(0.00001); // small moisture load [kgH2O/s] + Real64 const SmallMoistureLoad(0.00001); // small moisture load [kgWater/s] // INTERFACE BLOCK SPECIFICATIONS @@ -6968,7 +6968,7 @@ namespace SetPointManager { Real64 ZoneHum; // zone air node humidity ratio [kg/kg] Real64 SetPointHum; // system setpoint humidity ratio [kg/kg] Real64 ZoneSetPointHum; // Zone setpoint humidity ratio [kg/kg] - Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgH20/s] + Real64 MoistureLoad; // zone's moisture load predicted to the setpoint [kgWater/s] Real64 ZoneMassFlowRate; // zone inlet node actual supply air mass flow rate [kg/s] Real64 SumMoistureLoad(0.0); // sum of the zone moisture loads for this air loop [W] diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index 6748b268eb0..0092697619e 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -2868,7 +2868,7 @@ namespace SizingManager { // \required-field // \minimum 0.0 // \type real - // \units kg-H2O/kg-air + // \units kgWater/kgDryAir if (lNumericFieldBlanks(5)) { ZoneSizingInput(ZoneSizIndex).CoolDesHumRat = 0.0; } else if (rNumericArgs(5) < 0.0) { @@ -2882,7 +2882,7 @@ namespace SizingManager { // \required-field // \minimum 0.0 // \type real - // \units kg-H2O/kg-air + // \units kgWater/kgDryAir if (lNumericFieldBlanks(6)) { ZoneSizingInput(ZoneSizIndex).HeatDesHumRat = 0.0; } else if (rNumericArgs(6) < 0.0) { diff --git a/src/EnergyPlus/SystemReports.cc b/src/EnergyPlus/SystemReports.cc index 004e885d694..35d4222e672 100644 --- a/src/EnergyPlus/SystemReports.cc +++ b/src/EnergyPlus/SystemReports.cc @@ -204,7 +204,7 @@ namespace SystemReports { Array1D SysHCCompHTNG; Array1D SysHCCompGas; Array1D SysHCCompSteam; - Array1D SysDomesticH20; + Array1D SysDomesticH2O; Array1D ZoneOAMassFlow; // zone mech vent mass flow rate {kg/s} Array1D ZoneOAMass; // zone mech vent total mass for time {kg} @@ -1990,7 +1990,7 @@ namespace SystemReports { SysHCCompHTNG.allocate(NumPrimaryAirSys); SysHCCompGas.allocate(NumPrimaryAirSys); SysHCCompSteam.allocate(NumPrimaryAirSys); - SysDomesticH20.allocate(NumPrimaryAirSys); + SysDomesticH2O.allocate(NumPrimaryAirSys); SetBackCounter.allocate(NumOfZones); HeatCoolFlag.allocate(NumOfZones); @@ -2055,7 +2055,7 @@ namespace SystemReports { SysHumidHTNG = 0.0; SysEvapCLNG = 0.0; DesDehumidCLNG = 0.0; - SysDomesticH20 = 0.0; + SysDomesticH2O = 0.0; // SYSTEM COMPONENT ENERGY REPORT SysFANCompElec = 0.0; @@ -2111,7 +2111,7 @@ namespace SystemReports { "Air System Gas Energy", OutputProcessor::Unit::J, SysTotGas(SysIndex), "HVAC", "Sum", PrimaryAirSystem(SysIndex).Name); SetupOutputVariable( - "Air System Water Volume", OutputProcessor::Unit::m3, SysDomesticH20(SysIndex), "HVAC", "Sum", PrimaryAirSystem(SysIndex).Name); + "Air System Water Volume", OutputProcessor::Unit::m3, SysDomesticH2O(SysIndex), "HVAC", "Sum", PrimaryAirSystem(SysIndex).Name); // SYSTEM COMPONENT LOAD REPORT SetupOutputVariable("Air System Fan Air Heating Energy", @@ -3575,7 +3575,7 @@ namespace SystemReports { SysHumidHTNG = 0.0; SysEvapCLNG = 0.0; DesDehumidCLNG = 0.0; - SysDomesticH20 = 0.0; + SysDomesticH2O = 0.0; // SYSTEM COMPONENT ENERGY REPORT SysFANCompElec = 0.0; @@ -4202,7 +4202,7 @@ namespace SystemReports { case HUMIDIFIER_STEAM_ELECTRIC: if (CompLoadFlag) SysHumidHTNG(AirLoopNum) += std::abs(CompLoad); if (EnergyType == iRT_Water) { - SysDomesticH20(AirLoopNum) += std::abs(CompEnergy); + SysDomesticH2O(AirLoopNum) += std::abs(CompEnergy); } else if (EnergyType == iRT_Electricity) { SysHumidElec(AirLoopNum) += CompEnergy; } else if ((EnergyType == iRT_Natural_Gas) || (EnergyType == iRT_Propane)) { @@ -4218,7 +4218,7 @@ namespace SystemReports { case EVAPORATIVECOOLER_INDIRECT_RESEARCHSPECIAL: if (CompLoadFlag) SysEvapCLNG(AirLoopNum) += std::abs(CompLoad); if (EnergyType == iRT_Water) { - SysDomesticH20(AirLoopNum) += std::abs(CompEnergy); + SysDomesticH2O(AirLoopNum) += std::abs(CompEnergy); } else if (EnergyType == iRT_Electricity) { SysEvapElec(AirLoopNum) += CompEnergy; } diff --git a/src/EnergyPlus/SystemReports.hh b/src/EnergyPlus/SystemReports.hh index df8db6c5054..2ff56fd8b8c 100644 --- a/src/EnergyPlus/SystemReports.hh +++ b/src/EnergyPlus/SystemReports.hh @@ -135,7 +135,7 @@ namespace SystemReports { extern Array1D SysHCCompHTNG; extern Array1D SysHCCompGas; extern Array1D SysHCCompSteam; - extern Array1D SysDomesticH20; + extern Array1D SysDomesticH2O; extern Array1D ZoneOAMassFlow; // zone mech vent mass flow rate {kg/s} extern Array1D ZoneOAMass; // zone mech vent total mass for time {kg} diff --git a/src/EnergyPlus/VariableSpeedCoils.cc b/src/EnergyPlus/VariableSpeedCoils.cc index 7ab944f649a..a391d8552b5 100644 --- a/src/EnergyPlus/VariableSpeedCoils.cc +++ b/src/EnergyPlus/VariableSpeedCoils.cc @@ -5542,8 +5542,8 @@ namespace VariableSpeedCoils { if (VarSpeedCoil(DXCoilNum).CondenserType == EvapCooled) { //****************** // WATER CONSUMPTION IN m3 OF WATER FOR DIRECT - // H2O [m3/sec] = Delta W[KgH2O/Kg air]*Mass Flow Air[Kg air] - // /RhoWater [kg H2O/m3 H2O] + // H2O [m3/s] = Delta W[kgWater/kgDryAir]*Mass Flow Air[kgDryAir/s] + // /RhoWater [kgWater/m3] //****************** RhoEvapCondWater = RhoH2O(OutdoorDryBulb); VarSpeedCoil(DXCoilNum).EvapWaterConsumpRate = (CondInletHumRat - OutdoorHumRat) * CondAirMassFlow / RhoEvapCondWater * RuntimeFrac; diff --git a/src/EnergyPlus/WaterCoils.cc b/src/EnergyPlus/WaterCoils.cc index 38f08f0e495..76de6a7aa69 100644 --- a/src/EnergyPlus/WaterCoils.cc +++ b/src/EnergyPlus/WaterCoils.cc @@ -1394,14 +1394,14 @@ namespace WaterCoils { WaterCoil(CoilNum).DesOutletAirHumRat = WOutNew; WaterCoil(CoilNum).DesOutletAirTemp = TOutNew; // update outlet air conditions used for sizing - std::string CompType; - if (WaterCoil(CoilNum).WaterCoilModel == CoilModel_Detailed) { - CompType = cAllCoilTypes(Coil_CoolingWaterDetailed); - } else { - CompType = cAllCoilTypes(Coil_CoolingWater); - } - coilSelectionReportObj->setCoilLvgAirTemp(WaterCoil(CoilNum).Name, CompType, TOutNew); - coilSelectionReportObj->setCoilLvgAirHumRat(WaterCoil(CoilNum).Name, CompType, WOutNew); + std::string CompType; + if (WaterCoil(CoilNum).WaterCoilModel == CoilModel_Detailed) { + CompType = cAllCoilTypes(Coil_CoolingWaterDetailed); + } else { + CompType = cAllCoilTypes(Coil_CoolingWater); + } + coilSelectionReportObj->setCoilLvgAirTemp(WaterCoil(CoilNum).Name, CompType, TOutNew); + coilSelectionReportObj->setCoilLvgAirHumRat(WaterCoil(CoilNum).Name, CompType, WOutNew); // end update outlet air conditions used for sizing } } @@ -2201,7 +2201,7 @@ namespace WaterCoils { FieldNum = 6; // N6 , \field Design Inlet Air Humidity Ratio bPRINT = true; TempSize = WaterCoil(CoilNum).DesInletAirHumRat; // preserve input if entered - SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum); // + " [kgWater/kgDryAir]"; + SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum) + " [kgWater/kgDryAir]"; } RequestSizing(CompType, CompName, CoolingWaterDesAirInletHumRatSizing, SizingString, TempSize, bPRINT, RoutineName); WaterCoil(CoilNum).DesInletAirHumRat = TempSize; @@ -2233,7 +2233,7 @@ namespace WaterCoils { FieldNum = 6; // N6 , \field Design Inlet Air Humidity Ratio bPRINT = true; TempSize = WaterCoil(CoilNum).DesInletAirHumRat; - SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum); // + " [kgWater/kgDryAir]"; + SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum) + " [kgWater/kgDryAir]"; } RequestSizing(CompType, CompName, CoolingWaterDesAirInletHumRatSizing, SizingString, TempSize, bPRINT, RoutineName); WaterCoil(CoilNum).DesInletAirHumRat = TempSize; @@ -2247,7 +2247,7 @@ namespace WaterCoils { FieldNum = 7; // N7 , \field Design Outlet Air Humidity Ratio bPRINT = true; TempSize = WaterCoil(CoilNum).DesOutletAirHumRat; // preserve input if entered - SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum); // + " [kgWater/kgDryAir]"; + SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum) + " [kgWater/kgDryAir]"; } RequestSizing(CompType, CompName, CoolingWaterDesAirOutletHumRatSizing, SizingString, TempSize, bPRINT, RoutineName); WaterCoil(CoilNum).DesOutletAirHumRat = TempSize; @@ -3685,7 +3685,7 @@ namespace WaterCoils { } // End if for dry coil } } - + // Report outlet variables at nodes WaterCoil(CoilNum).OutletAirTemp = OutletAirTemp; WaterCoil(CoilNum).OutletAirHumRat = OutletAirHumRat; diff --git a/src/EnergyPlus/ZoneEquipmentManager.cc b/src/EnergyPlus/ZoneEquipmentManager.cc index 66b2d7c2af2..1fc92f29026 100644 --- a/src/EnergyPlus/ZoneEquipmentManager.cc +++ b/src/EnergyPlus/ZoneEquipmentManager.cc @@ -618,7 +618,7 @@ namespace ZoneEquipmentManager { Real64 RetTemp; // zone return temperature [C] Real64 DOASMassFlowRate(0.0); // DOAS air mass flow rate for sizing [kg/s] Real64 DOASSupplyTemp(0.0); // DOAS supply air temperature [C] - Real64 DOASSupplyHumRat(0.0); // DOAS supply air humidity ratio [kg H2O / kg dry air] + Real64 DOASSupplyHumRat(0.0); // DOAS supply air humidity ratio [kgWater/kgDryAir] Real64 DOASCpAir(0.0); // heat capacity of DOAS air [J/kg-C] Real64 DOASSysOutputProvided(0.0); // heating / cooling provided by DOAS system [W] Real64 TotDOASSysOutputProvided(0.0); // total DOAS load on the zone [W] @@ -1924,7 +1924,7 @@ namespace ZoneEquipmentManager { ZoneSizing(DesDayNum, CtrlZoneNum).DOASCoolLoad = 0.0; // current cooling load from DOAS supply air [W] ZoneSizing(DesDayNum, CtrlZoneNum).DOASSupMassFlow = 0.0; // current mass flow rate of DOAS supply air [kg/s] ZoneSizing(DesDayNum, CtrlZoneNum).DOASSupTemp = 0.0; // current DOAS supply air temperature [C] - ZoneSizing(DesDayNum, CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kg H2O / kg dry air] + ZoneSizing(DesDayNum, CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kgWater/kgDryAir] ZoneSizing(DesDayNum, CtrlZoneNum).DOASTotCoolLoad = 0.0; // current total cooling load imposed by DOAS supply air [W] CalcZoneSizing(DesDayNum, CtrlZoneNum).CoolDesDay = ""; // name of a cooling design day @@ -1984,7 +1984,7 @@ namespace ZoneEquipmentManager { CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASCoolLoad = 0.0; // current cooling load from DOAS supply air [W] CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASSupMassFlow = 0.0; // current mass flow rate of DOAS supply air [kg/s] CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASSupTemp = 0.0; // current DOAS supply air temperature [C] - CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kg H2O / kg dry air] + CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kgWater/kgDryAir] CalcZoneSizing(DesDayNum, CtrlZoneNum).DOASTotCoolLoad = 0.0; // current total cooling load imposed by DOAS supply air [W] } } @@ -2106,7 +2106,7 @@ namespace ZoneEquipmentManager { FinalZoneSizing(CtrlZoneNum).DOASCoolLoad = 0.0; // current cooling load from DOAS supply air [W] FinalZoneSizing(CtrlZoneNum).DOASSupMassFlow = 0.0; // current mass flow rate of DOAS supply air [kg/s] FinalZoneSizing(CtrlZoneNum).DOASSupTemp = 0.0; // current DOAS supply air temperature [C] - FinalZoneSizing(CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kg H2O / kg dry air] + FinalZoneSizing(CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kgWater/kgDryAir] FinalZoneSizing(CtrlZoneNum).DOASTotCoolLoad = 0.0; // current total cooling load imposed by DOAS supply air [W] CalcFinalZoneSizing(CtrlZoneNum).CoolDesDay = ""; // name of a cooling design day @@ -2166,7 +2166,7 @@ namespace ZoneEquipmentManager { CalcFinalZoneSizing(CtrlZoneNum).DOASCoolLoad = 0.0; // current cooling load from DOAS supply air [W] CalcFinalZoneSizing(CtrlZoneNum).DOASSupMassFlow = 0.0; // current mass flow rate of DOAS supply air [kg/s] CalcFinalZoneSizing(CtrlZoneNum).DOASSupTemp = 0.0; // current DOAS supply air temperature [C] - CalcFinalZoneSizing(CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kg H2O / kg dry air] + CalcFinalZoneSizing(CtrlZoneNum).DOASSupHumRat = 0.0; // current DOAS supply air humidity ratio [kgWater/kgDryAir] CalcFinalZoneSizing(CtrlZoneNum).DOASTotCoolLoad = 0.0; // current total cooling load imposed by DOAS supply air [W] } } diff --git a/src/EnergyPlus/ZoneTempPredictorCorrector.cc b/src/EnergyPlus/ZoneTempPredictorCorrector.cc index 7aedd7d7a73..6537d0ef40d 100644 --- a/src/EnergyPlus/ZoneTempPredictorCorrector.cc +++ b/src/EnergyPlus/ZoneTempPredictorCorrector.cc @@ -4677,7 +4677,7 @@ namespace ZoneTempPredictorCorrector { // smooth the changes using the zone air capacitance. Positive values of Moist Load means that // this amount of moisture must be added to the zone to reach the setpoint. Negative values represent // the amount of moisture that must be removed by the system. - // MoistLoadHumidSetPoint = massflow * HumRat = kg air/sec * kg H2O/kg Air = kg H2O/sec + // MoistLoadHumidSetPoint = massflow * HumRat = kgDryAir/s * kgWater/kgDryAir = kgWater/s WZoneSetPoint = PsyWFnTdbRhPb(ZT(ZoneNum), (ZoneRHHumidifyingSetPoint / 100.0), OutBaroPress, RoutineName); Real64 exp_700_A_C(0.0); if (ZoneAirSolutionAlgo == Use3rdOrder) { diff --git a/src/Transition/OutputRulesFiles/OutputChanges9-2-0-to-9-3-0.md b/src/Transition/OutputRulesFiles/OutputChanges9-2-0-to-9-3-0.md index 35f8be61b1a..2164be90fbf 100644 --- a/src/Transition/OutputRulesFiles/OutputChanges9-2-0-to-9-3-0.md +++ b/src/Transition/OutputRulesFiles/OutputChanges9-2-0-to-9-3-0.md @@ -130,3 +130,12 @@ SELECT RowName as "End Use&Subcategory", Value FROM TabularDataWithStrings | Interior Lighting:AnotherEndUseSubCat | 83.33 | See [PR#7584](https://github.com/NREL/EnergyPlus/pull/7584). + +### Standardize units for humidity ratio and add where missing + +Units for humidity ratio standardized to "kgWater/kgDryAir" and "lbWater/lbDryAir". + +Impacts eio sizing output and table reports including Coil Sizing Summary and Details. + +See [7571](https://github.com/NREL/EnergyPlus/pull/7571) + diff --git a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc index 10b84d7cf61..86c31a7d66b 100644 --- a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc +++ b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc @@ -7330,7 +7330,59 @@ TEST_F(SQLiteFixture, OutputReportTabularTest_PredefinedTableDXConversion) EXPECT_EQ("2.8", s); } +// https://github.com/NREL/EnergyPlus/issues/7565 +TEST_F(SQLiteFixture, OutputReportTabularTest_PredefinedTableCoilHumRat) +{ + EnergyPlus::sqlite->sqliteBegin(); + EnergyPlus::sqlite->createSQLiteSimulationsRecord(1, "EnergyPlus Version", "Current Time"); + + WriteTabularFiles = true; + + SetupUnitConversions(); + OutputReportTabular::unitsStyle = OutputReportTabular::unitsStyleInchPound; + + SetPredefinedTables(); + std::string CompName = "My DX Coil"; + + PreDefTableEntry(pdchDXCoolCoilType, CompName, "Coil:Cooling:DX:SingleSpeed"); + PreDefTableEntry(OutputReportPredefined::pdch2CoilLvgHumRatIdealPeak, CompName, 0.006, 8); + // CoilSizingDetails + PreDefTableEntry(OutputReportPredefined::pdchCoilLvgHumRatIdealPeak, CompName, 0.006, 8); + + // We enable the reports we care about, making sure we have the right ones + EXPECT_EQ("HVACSizingSummary", OutputReportPredefined::reportName(6).name); + OutputReportPredefined::reportName(6).show = true; + EXPECT_EQ("CoilSizingDetails", OutputReportPredefined::reportName(7).name); + OutputReportPredefined::reportName(7).show = true; + WritePredefinedTables(); + EnergyPlus::sqlite->sqliteCommit(); + EnergyPlus::sqlite->initializeIndexes(); + + for (const std::string reportName: {"HVACSizingSummary", "CoilSizingDetails"}) { + + + auto result = queryResult("SELECT Value, Units From TabularDataWithStrings " + "WHERE ReportName = \"" + reportName + "\"" + " AND ColumnName = \"Coil Leaving Air Humidity Ratio at Ideal Loads Peak\"", + "TabularDataWithStrings"); + + EnergyPlus::sqlite->sqliteCommit(); + + EXPECT_EQ(1u, result.size()); + // Because the table has 8 cols + EXPECT_EQ(8u, result[0].size()); + + // 0.006 is a ratio, so unitconv = 1 + std::string s = result[0][0]; + // Trim the string, it has leading spaces + s.erase(std::remove_if(s.begin(), s.end(), ::isspace), s.end()); + + EXPECT_EQ("0.00600000", s); + + EXPECT_EQ("lbWater/lbDryAir", result[0][1]); + } +} // Test for #7046 // Ensures that we get consistency between the displayed Azimuth and its cardinal classification