Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allows ZoneHVAC:EvaporativeCooler unit to cycle #7319

Merged
merged 22 commits into from
Aug 7, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
51599e7
Refactor CalcZoneEvaporativeCoolerUnit function
Nigusse May 29, 2019
1ec83b2
Removed unused variable and parameter
Nigusse May 30, 2019
1ab2988
Allowed ZoneHVACEvapCooler cycling
Nigusse May 30, 2019
b57d690
Merge branch 'develop' into 166330897_Issue6707
Nigusse May 30, 2019
69c0402
Merge branch 'develop' into 166330897_Issue6707
Nigusse May 31, 2019
6c25607
Added Unit Tests
Nigusse Jun 4, 2019
e749dd6
corrected failed unit test
Nigusse Jun 4, 2019
f985636
Merge branch 'develop' into 166330897_Issue6707
Nigusse Jun 4, 2019
74e6a1a
Updated ZoneEvapUnit Structure
Nigusse Jun 6, 2019
498e95e
Merge branch 'develop' into 166330897_Issue6707
Nigusse Jun 6, 2019
13302b6
fan type restriction for zone evap coolers
Nigusse Jun 9, 2019
3ff729a
revised allowed fan types.
Nigusse Jun 10, 2019
9ab09e8
allow evap unit to cycle for all fan types
Nigusse Jun 12, 2019
55ef3e4
evap cooler, power and water use
Nigusse Jun 14, 2019
63d53b5
Updated Evap Cooler IO Ref Document
Nigusse Jun 17, 2019
0d23eeb
Merge remote-tracking branch 'remotes/origin/develop' into 166330897_…
mjwitte Jul 5, 2019
130d322
Addressed review comments
Nigusse Jul 8, 2019
065af28
Merge remote-tracking branch 'remotes/origin/develop' into 166330897_…
mjwitte Aug 5, 2019
cdf25ef
Modified Zone Evap Cooler Water Pump Power Calc
Nigusse Aug 6, 2019
43a9545
modified Sim Evap Cooler, replaced optional argument with default
Nigusse Aug 7, 2019
cf4bb3e
modified Sim Evap Cooler, replaced optional argument with default
Nigusse Aug 7, 2019
f0d6887
Merge branch '166330897_Issue6707' of https://github.com/NREL/EnergyP…
Nigusse Aug 7, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 24 additions & 25 deletions src/EnergyPlus/EvaporativeCoolers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ namespace EvaporativeCoolers {

// Functions

void SimEvapCooler(std::string const &CompName, int &CompIndex)
void SimEvapCooler(std::string const &CompName, int &CompIndex, Optional<Real64 const> PartLoadRatio)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nigusse We're trying to avoid using optional arguments (for performance). A default value for the argument is better (if the argument is left off then it's set to the default value). See discussion here. Then you don't need if (present . . .). You can just use and pass PartLoadRatio directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mjwitte Okay, will modify the code accordingly. Thanks.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

{

// SUBROUTINE INFORMATION:
Expand Down Expand Up @@ -243,16 +243,25 @@ namespace EvaporativeCoolers {
}
}

Real64 ZoneEvapCoolerPLR = 1.0;
// If PLR is not present, then set to 1. Used only by ZoneHVAC:*:CelDekPad
if (present(PartLoadRatio)) {
// serrogate for pump part load ratio
ZoneEvapCoolerPLR = PartLoadRatio;
} else {
ZoneEvapCoolerPLR = 1.0;
}

// With the correct EvapCoolNum Initialize
InitEvapCooler(EvapCoolNum); // Initialize all related parameters

{
auto const SELECT_CASE_var(EvapCond(EvapCoolNum).EvapCoolerType);

if (SELECT_CASE_var == iEvapCoolerDirectCELDEKPAD) {
CalcDirectEvapCooler(EvapCoolNum);
CalcDirectEvapCooler(EvapCoolNum, ZoneEvapCoolerPLR);
} else if (SELECT_CASE_var == iEvapCoolerInDirectCELDEKPAD) {
CalcDryIndirectEvapCooler(EvapCoolNum);
CalcDryIndirectEvapCooler(EvapCoolNum, ZoneEvapCoolerPLR);
} else if (SELECT_CASE_var == iEvapCoolerInDirectWETCOIL) {
CalcWetIndirectEvapCooler(EvapCoolNum);
} else if (SELECT_CASE_var == iEvapCoolerInDirectRDDSpecial) {
Copy link
Contributor

@yzhou601 yzhou601 Aug 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nigusse Hi, Bereket, is there any specific reason not to allow researchspecial types cycling with fan as well? In these lines, it confused me that it reported power consumption by FlowRatio if there's modifier curve (regardless of PartLoad which is calculated to meet outlet setpoint), but by PartLoad if there's not(regardless of flow ratio). Actually I am not sure what should it be though, the current approach looks confusing to me. @rraustad @mjwitte

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The research special evaporative coolers models are different from the other models. They have pump power modifier curve that accounts for pump power calculation as a function of flow fraction. The PartLoad is used only if user did not provide pump power correction curve.

Copy link
Contributor

@yzhou601 yzhou601 Aug 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nigusse Yes that's correct. So if there's no modifier curve, the pump power would only be calculated based on PartLoad ignoring mass flow ratio in air loop, so whatever amount of supply air the thermal zones need, it just cycling to meet outlet temperature controlled by setpoint manager (more like supply air temperature). Where it is different with other types is that others always assume a full load outlet temperature. At least in this case ( the else condition), it seems to be close to this PR's purpose to fix it.

In my personal opinion (might be wrong), it seems only consider one of them in each situation looks not enough to include both outlet temperature control (PLR) and mass flow rate control (PLR).

Copy link
Contributor

@yzhou601 yzhou601 Aug 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I knew that type is different so you didn't touch that in this PR. I mean maybe we could rethink about if we need to change something there as well. 😛

Expand Down Expand Up @@ -1647,7 +1656,7 @@ namespace EvaporativeCoolers {
// Begin Algorithm Section of the Module
//******************************************************************************

void CalcDirectEvapCooler(int &EvapCoolNum)
void CalcDirectEvapCooler(int &EvapCoolNum, Real64 const PartLoadRatio)
{

// SUBROUTINE INFORMATION:
Expand Down Expand Up @@ -1736,12 +1745,7 @@ namespace EvaporativeCoolers {
//***************************************************************************
// ENERGY CONSUMED BY THE RECIRCULATING PUMP
// Add the pump energy to the total Evap Cooler energy comsumption
Real64 FlowFraction = 1.0;
Real64 MassFlowRateMax = Node(EvapCond(EvapCoolNum).InletNode).MassFlowRateMax;
if (MassFlowRateMax > 0) {
FlowFraction = EvapCond(EvapCoolNum).InletMassFlowRate / MassFlowRateMax;
}
EvapCond(EvapCoolNum).EvapCoolerPower += FlowFraction * EvapCond(EvapCoolNum).RecircPumpPower;
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]
Expand Down Expand Up @@ -1776,7 +1780,7 @@ namespace EvaporativeCoolers {
EvapCond(EvapCoolNum).OutletPressure = EvapCond(EvapCoolNum).InletPressure;
}

void CalcDryIndirectEvapCooler(int &EvapCoolNum)
void CalcDryIndirectEvapCooler(int &EvapCoolNum, Real64 const PartLoadRatio)
{

// SUBROUTINE INFORMATION:
Expand Down Expand Up @@ -1890,21 +1894,16 @@ namespace EvaporativeCoolers {
EvapCond(EvapCoolNum).OutletEnthalpy = PsyHFnTdbW(EvapCond(EvapCoolNum).OutletTemp, EvapCond(EvapCoolNum).OutletHumRat);

//***************************************************************************
Real64 FlowFraction = 1.0;
Real64 MassFlowRateMax = Node(EvapCond(EvapCoolNum).InletNode).MassFlowRateMax;
if (MassFlowRateMax > 0) {
FlowFraction = EvapCond(EvapCoolNum).InletMassFlowRate / MassFlowRateMax;
}
// POWER OF THE SECONDARY AIR FAN
if (EvapCond(EvapCoolNum).IndirectFanEff > 0.0) {
EvapCond(EvapCoolNum).EvapCoolerPower += FlowFraction * EvapCond(EvapCoolNum).IndirectFanDeltaPress *
EvapCond(EvapCoolNum).EvapCoolerPower += PartLoadRatio * EvapCond(EvapCoolNum).IndirectFanDeltaPress *
EvapCond(EvapCoolNum).IndirectVolFlowRate / EvapCond(EvapCoolNum).IndirectFanEff;
}

// ENERGY CONSUMED BY THE RECIRCULATING PUMP
// ENERGY CONSUMED BY THE RECIRCULATING PUMP
// Add the pump energy to the total Evap Cooler energy comsumption
EvapCond(EvapCoolNum).EvapCoolerPower += FlowFraction * EvapCond(EvapCoolNum).IndirectRecircPumpPower;
EvapCond(EvapCoolNum).EvapCoolerPower += PartLoadRatio * EvapCond(EvapCoolNum).IndirectRecircPumpPower;

//******************
// WATER CONSUMPTION IN LITERS OF WATER FOR DIRECT
Expand All @@ -1917,7 +1916,7 @@ namespace EvaporativeCoolers {
PsyRhoAirFnPbTdbW(EvapCond(EvapCoolNum).SecInletPressure, TDBSec, HumRatSec)) /
2.0;
EvapCond(EvapCoolNum).EvapWaterConsumpRate =
FlowFraction * (HumRatSec - EvapCond(EvapCoolNum).SecInletHumRat) * EvapCond(EvapCoolNum).IndirectVolFlowRate * RhoAir / RhoWater;
PartLoadRatio * (HumRatSec - EvapCond(EvapCoolNum).SecInletHumRat) * EvapCond(EvapCoolNum).IndirectVolFlowRate * RhoAir / RhoWater;
// A numerical check to keep from having very tiny negative water consumption values being reported
if (EvapCond(EvapCoolNum).EvapWaterConsumpRate < 0.0) EvapCond(EvapCoolNum).EvapWaterConsumpRate = 0.0;

Expand Down Expand Up @@ -4604,11 +4603,11 @@ namespace EvaporativeCoolers {
}

if (ZoneEvapUnit(UnitNum).EvapCooler_1_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index, PartLoadRatio);
}

if ((ZoneEvapUnit(UnitNum).EvapCooler_2_Index > 0) && ZoneEvapUnit(UnitNum).EvapCooler_2_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index, PartLoadRatio);
}
if (ZoneEvapUnit(UnitNum).FanLocation == DrawThruFan) {
if (ZoneEvapUnit(UnitNum).FanType_Num != DataHVACGlobals::FanType_SystemModelObject) {
Expand Down Expand Up @@ -4785,11 +4784,11 @@ namespace EvaporativeCoolers {
}

if (ZoneEvapUnit(UnitNum).EvapCooler_1_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index, _);
}

if ((ZoneEvapUnit(UnitNum).EvapCooler_2_Index > 0) && ZoneEvapUnit(UnitNum).EvapCooler_2_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index, _);
}
if (ZoneEvapUnit(UnitNum).FanLocation == DrawThruFan) {
if (ZoneEvapUnit(UnitNum).FanType_Num != DataHVACGlobals::FanType_SystemModelObject) {
Expand Down Expand Up @@ -4918,11 +4917,11 @@ namespace EvaporativeCoolers {
}

if (ZoneEvapUnit(UnitNum).EvapCooler_1_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_1_Name, ZoneEvapUnit(UnitNum).EvapCooler_1_Index, _);
}

if ((ZoneEvapUnit(UnitNum).EvapCooler_2_Index > 0) && ZoneEvapUnit(UnitNum).EvapCooler_2_AvailStatus) {
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index);
SimEvapCooler(ZoneEvapUnit(UnitNum).EvapCooler_2_Name, ZoneEvapUnit(UnitNum).EvapCooler_2_Index, _);
}
if (ZoneEvapUnit(UnitNum).FanLocation == DrawThruFan) {
if (ZoneEvapUnit(UnitNum).FanType_Num != DataHVACGlobals::FanType_SystemModelObject) {
Expand Down
6 changes: 3 additions & 3 deletions src/EnergyPlus/EvaporativeCoolers.hh
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ namespace EvaporativeCoolers {

// Functions

void SimEvapCooler(std::string const &CompName, int &CompIndex);
void SimEvapCooler(std::string const &CompName, int &CompIndex, Optional<Real64 const> PartLoadRatio);

// Get Input Section of the Module
//******************************************************************************
Expand All @@ -356,9 +356,9 @@ namespace EvaporativeCoolers {
// Begin Algorithm Section of the Module
//******************************************************************************

void CalcDirectEvapCooler(int &EvapCoolNum);
void CalcDirectEvapCooler(int &EvapCoolNum, Real64 const PartLoadRatio);

void CalcDryIndirectEvapCooler(int &EvapCoolNum);
void CalcDryIndirectEvapCooler(int &EvapCoolNum, Real64 const PartLoadRatio);

void CalcWetIndirectEvapCooler(int &EvapCoolNum);

Expand Down
37 changes: 21 additions & 16 deletions src/EnergyPlus/MixedAir.cc
Original file line number Diff line number Diff line change
Expand Up @@ -587,14 +587,14 @@ namespace MixedAir {
using DataAirLoop::AirLoopInputsFilled;
using DesiccantDehumidifiers::SimDesiccantDehumidifier;
using EvaporativeCoolers::SimEvapCooler;
using HeatingCoils::SimulateHeatingCoilComponents;
using HeatRecovery::SimHeatRecovery;
using Humidifiers::SimHumidifier;
using HVACControllers::ControllerProps;
using HVACDXHeatPumpSystem::SimDXHeatPumpSystem;
using HVACDXSystem::SimDXCoolingSystem;
using HVACHXAssistedCoolingCoil::HXAssistedCoil;
using HVACHXAssistedCoolingCoil::SimHXAssistedCoolingCoil;
using HeatRecovery::SimHeatRecovery;
using HeatingCoils::SimulateHeatingCoilComponents;
using Humidifiers::SimHumidifier;
using PhotovoltaicThermalCollectors::CalledFromOutsideAirSystem;
using PhotovoltaicThermalCollectors::SimPVTcollectors;
using SimAirServingZones::SolveWaterCoilController;
Expand Down Expand Up @@ -825,7 +825,7 @@ namespace MixedAir {
} else if (SELECT_CASE_var == EvapCooler) { // 'EvaporativeCooler:Direct:CelDekPad','EvaporativeCooler:Indirect:CelDekPad'
// 'EvaporativeCooler:Indirect:WetCoil','EvaporativeCooler:Indirect:ResearchSpecial'
if (Sim) {
SimEvapCooler(CompName, CompIndex);
SimEvapCooler(CompName, CompIndex, _);
}

} else {
Expand Down Expand Up @@ -1344,9 +1344,10 @@ namespace MixedAir {
int i;

// Formats
static ObjexxFCL::gio::Fmt Format_700("('!<Controller:MechanicalVentilation>,Name,Availability Schedule Name,Demand Controlled Ventilation "
"{Yes/No},','System Outdoor Air Method,Zone Maximum Outdoor Air Fraction,Number of Zones,Zone Name,DSOA "
"Name,DSZAD Name')");
static ObjexxFCL::gio::Fmt Format_700(
"('!<Controller:MechanicalVentilation>,Name,Availability Schedule Name,Demand Controlled Ventilation "
"{Yes/No},','System Outdoor Air Method,Zone Maximum Outdoor Air Fraction,Number of Zones,Zone Name,DSOA "
"Name,DSZAD Name')");
static ObjexxFCL::gio::Fmt fmtA("(A)");

// First, call other get input routines in this module to make sure data is filled during this routine.
Expand Down Expand Up @@ -1949,8 +1950,9 @@ namespace MixedAir {
{
IOFlags flags;
flags.ADVANCE("NO");
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags) << " Controller:MechanicalVentilation," + VentilationMechanical(VentMechNum).Name + ',' +
VentilationMechanical(VentMechNum).SchName + ',';
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags) << " Controller:MechanicalVentilation," +
VentilationMechanical(VentMechNum).Name + ',' +
VentilationMechanical(VentMechNum).SchName + ',';
}
if (VentilationMechanical(VentMechNum).DCVFlag) {
{
Expand Down Expand Up @@ -2023,26 +2025,29 @@ namespace MixedAir {
{
IOFlags flags;
flags.ADVANCE("NO");
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags) << RoundSigDigits(VentilationMechanical(VentMechNum).ZoneMaxOAFraction, 2) + ',';
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags)
<< RoundSigDigits(VentilationMechanical(VentMechNum).ZoneMaxOAFraction, 2) + ',';
}
{
IOFlags flags;
flags.ADVANCE("NO");
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags) << RoundSigDigits(VentilationMechanical(VentMechNum).NumofVentMechZones) + ',';
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags)
<< RoundSigDigits(VentilationMechanical(VentMechNum).NumofVentMechZones) + ',';
}
for (jZone = 1; jZone <= VentilationMechanical(VentMechNum).NumofVentMechZones; ++jZone) {
if (jZone < VentilationMechanical(VentMechNum).NumofVentMechZones) {
{
IOFlags flags;
flags.ADVANCE("NO");
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags) << Zone(VentilationMechanical(VentMechNum).VentMechZone(jZone)).Name + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecOAObjName(jZone) + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecADObjName(jZone) + ',';
ObjexxFCL::gio::write(OutputFileInits, fmtA, flags)
<< Zone(VentilationMechanical(VentMechNum).VentMechZone(jZone)).Name + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecOAObjName(jZone) + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecADObjName(jZone) + ',';
}
} else {
ObjexxFCL::gio::write(OutputFileInits, fmtA) << VentilationMechanical(VentMechNum).VentMechZoneName(jZone) + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecOAObjName(jZone) + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecADObjName(jZone);
VentilationMechanical(VentMechNum).ZoneDesignSpecOAObjName(jZone) + ',' +
VentilationMechanical(VentMechNum).ZoneDesignSpecADObjName(jZone);
}
}
}
Expand Down
10 changes: 6 additions & 4 deletions src/EnergyPlus/SimAirServingZones.cc
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@
#include <ObjexxFCL/string.functions.hh>

// EnergyPlus Headers
#include <AirflowNetwork/Elements.hpp>
#include <BranchInputManager.hh>
#include <DataAirLoop.hh>
#include <DataAirSystems.hh>
#include <AirflowNetwork/Elements.hpp>
#include <DataContaminantBalance.hh>
#include <DataConvergParams.hh>
#include <DataDefineEquip.hh>
Expand Down Expand Up @@ -1257,13 +1257,15 @@ namespace SimAirServingZones {
PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).CompType_Num = Fan_System_Object;
// Construct fan object
if (HVACFan::getFanObjectVectorIndex(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name) < 0) {
HVACFan::fanObjs.emplace_back(new HVACFan::FanSystem(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name));
HVACFan::fanObjs.emplace_back(
new HVACFan::FanSystem(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name));
}
PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).CompIndex =
HVACFan::getFanObjectVectorIndex(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name) +
1; // + 1 for shift from zero-based vector to 1-based compIndex
// cpw22Aug2010 Add Fan_ComponentModel type (new num=24)
HVACFan::fanObjs[HVACFan::getFanObjectVectorIndex(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name)]->AirPathFlag = true;
HVACFan::fanObjs[HVACFan::getFanObjectVectorIndex(PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).Name)]
->AirPathFlag = true;
} else if (componentType == "FAN:COMPONENTMODEL") {
PrimaryAirSystem(AirSysNum).Branch(BranchNum).Comp(CompNum).CompType_Num = Fan_ComponentModel;

Expand Down Expand Up @@ -3548,7 +3550,7 @@ namespace SimAirServingZones {
// Evap Cooler Types for the air system simulation
} else if (SELECT_CASE_var == EvapCooler) { // 'EvaporativeCooler:Direct:CelDekPad', 'EvaporativeCooler:Indirect:CelDekPad'
// 'EvaporativeCooler:Indirect:WetCoil', 'EvaporativeCooler:Indirect:ResearchSpecial'
SimEvapCooler(CompName, CompIndex);
SimEvapCooler(CompName, CompIndex, _);

// Desiccant Dehumidifier Types for the air system simulation
} else if (SELECT_CASE_var == Desiccant) { // 'Dehumidifier:Desiccant:NoFans', 'Dehumidifier:Desiccant:System'
Expand Down