GetUnitarySystemInput Subroutine

private subroutine GetUnitarySystemInput()

proc~~getunitarysysteminput~~UsesGraph proc~getunitarysysteminput GetUnitarySystemInput module~steamcoils SteamCoils module~steamcoils->proc~getunitarysysteminput module~datahvaccontrollers DataHVACControllers module~datahvaccontrollers->proc~getunitarysysteminput module~dxcoils DXCoils module~dxcoils->proc~getunitarysysteminput module~heatingcoils HeatingCoils module~dxcoils->module~heatingcoils module~general General module~general->proc~getunitarysysteminput module~nodeinputmanager NodeInputManager module~general->module~nodeinputmanager module~variablespeedcoils VariableSpeedCoils module~general->module~variablespeedcoils module~fluidproperties FluidProperties module~general->module~fluidproperties module~psychrometrics Psychrometrics module~general->module~psychrometrics module~fans Fans module~fans->proc~getunitarysysteminput module~nodeinputmanager->proc~getunitarysysteminput module~datazonecontrols DataZoneControls module~datazonecontrols->proc~getunitarysysteminput module~branchnodeconnections BranchNodeConnections module~branchnodeconnections->proc~getunitarysysteminput module~branchnodeconnections->module~nodeinputmanager module~dataipshortcuts DataIPShortCuts module~dataipshortcuts->proc~getunitarysysteminput module~inputprocessor InputProcessor module~dataipshortcuts->module~inputprocessor module~dataheatbalance DataHeatBalance module~dataheatbalance->proc~getunitarysysteminput module~dataheatbalance->module~dxcoils module~dataheatbalance->module~heatingcoils module~refrigeratedcase RefrigeratedCase module~dataheatbalance->module~refrigeratedcase module~dataairsystems DataAirSystems module~dataairsystems->proc~getunitarysysteminput module~setpointmanager SetPointManager module~setpointmanager->proc~getunitarysysteminput module~hvachxassistedcoolingcoil HVACHXAssistedCoolingCoil module~hvachxassistedcoolingcoil->proc~getunitarysysteminput module~inputprocessor->proc~getunitarysysteminput module~inputprocessor->module~nodeinputmanager module~watercoils WaterCoils module~watercoils->proc~getunitarysysteminput module~emsmanager EMSManager module~emsmanager->proc~getunitarysysteminput module~emsmanager->module~fans module~variablespeedcoils->proc~getunitarysysteminput module~watertoairheatpump WatertoAirHeatPump module~watertoairheatpump->proc~getunitarysysteminput module~fluidproperties->proc~getunitarysysteminput module~fluidproperties->module~steamcoils module~fluidproperties->module~watercoils module~fluidproperties->module~refrigeratedcase module~watertoairheatpumpsimple WatertoAirHeatPumpSimple module~watertoairheatpumpsimple->proc~getunitarysysteminput module~heatingcoils->proc~getunitarysysteminput module~dataglobals DataGlobals module~dataglobals->module~steamcoils module~dataglobals->module~dxcoils module~dataglobals->module~fans module~dataglobals->module~nodeinputmanager module~dataglobals->module~datazonecontrols module~dataglobals->module~branchnodeconnections module~dataglobals->module~dataipshortcuts module~dataglobals->module~dataheatbalance module~dataglobals->module~dataairsystems module~dataglobals->module~setpointmanager module~dataglobals->module~hvachxassistedcoolingcoil module~dataglobals->module~inputprocessor module~dataglobals->module~watercoils module~dataglobals->module~emsmanager module~dataglobals->module~variablespeedcoils module~dataglobals->module~watertoairheatpump module~dataglobals->module~fluidproperties module~dataglobals->module~watertoairheatpumpsimple module~dataglobals->module~heatingcoils module~schedulemanager ScheduleManager module~dataglobals->module~schedulemanager module~dataenvironment DataEnvironment module~dataglobals->module~dataenvironment module~datahvacglobals DataHVACGlobals module~dataglobals->module~datahvacglobals module~dataplant DataPlant module~dataglobals->module~dataplant module~dataglobals->module~psychrometrics module~dataloopnode DataLoopNode module~dataglobals->module~dataloopnode module~databranchnodeconnections DataBranchNodeConnections module~dataglobals->module~databranchnodeconnections module~datawindowequivalentlayer DataWindowEquivalentLayer module~dataglobals->module~datawindowequivalentlayer module~databsdfwindow DataBSDFWindow module~dataglobals->module~databsdfwindow module~datacomplexfenestration DataComplexFenestration module~dataglobals->module~datacomplexfenestration module~datasurfaces DataSurfaces module~dataglobals->module~datasurfaces module~dataairloop DataAirLoop module~dataglobals->module~dataairloop module~curvemanager CurveManager module~dataglobals->module~curvemanager module~databranchairloopplant DataBranchAirLoopPlant module~dataglobals->module~databranchairloopplant module~datasizing DataSizing module~dataglobals->module~datasizing module~dataruntimelanguage DataRuntimeLanguage module~dataglobals->module~dataruntimelanguage module~dataglobals->module~refrigeratedcase module~schedulemanager->module~steamcoils module~schedulemanager->module~dxcoils module~schedulemanager->module~fans module~schedulemanager->module~setpointmanager module~schedulemanager->module~watercoils module~schedulemanager->module~heatingcoils module~schedulemanager->module~refrigeratedcase module~dataenvironment->module~steamcoils module~dataenvironment->module~dxcoils module~dataenvironment->module~fans module~dataenvironment->module~setpointmanager module~dataenvironment->module~watercoils module~dataenvironment->module~variablespeedcoils module~dataenvironment->module~watertoairheatpumpsimple module~dataenvironment->module~heatingcoils module~dataenvironment->module~schedulemanager module~dataenvironment->module~psychrometrics module~dataenvironment->module~refrigeratedcase module~datahvacglobals->module~steamcoils module~datahvacglobals->module~dxcoils module~datahvacglobals->module~fans module~datahvacglobals->module~setpointmanager module~datahvacglobals->module~hvachxassistedcoolingcoil module~datahvacglobals->module~watercoils module~datahvacglobals->module~variablespeedcoils module~datahvacglobals->module~watertoairheatpump module~datahvacglobals->module~watertoairheatpumpsimple module~datahvacglobals->module~heatingcoils module~datahvacglobals->module~refrigeratedcase module~dataplant->module~steamcoils module~dataplant->module~dataairsystems module~dataplant->module~watercoils module~dataplant->module~variablespeedcoils module~dataplant->module~watertoairheatpump module~dataplant->module~watertoairheatpumpsimple module~psychrometrics->module~steamcoils module~psychrometrics->module~dxcoils module~psychrometrics->module~fans module~psychrometrics->module~setpointmanager module~psychrometrics->module~watercoils module~psychrometrics->module~variablespeedcoils module~psychrometrics->module~heatingcoils module~dataloopnode->module~steamcoils module~dataloopnode->module~dxcoils module~dataloopnode->module~fans module~dataloopnode->module~nodeinputmanager module~dataloopnode->module~branchnodeconnections module~dataloopnode->module~setpointmanager module~dataloopnode->module~hvachxassistedcoolingcoil module~dataloopnode->module~watercoils module~dataloopnode->module~variablespeedcoils module~dataloopnode->module~watertoairheatpump module~dataloopnode->module~watertoairheatpumpsimple module~dataloopnode->module~heatingcoils module~dataloopnode->module~dataplant module~dataloopnode->module~refrigeratedcase module~datainterfaces DataInterfaces module~datainterfaces->module~steamcoils module~datainterfaces->module~dxcoils module~datainterfaces->module~fans module~datainterfaces->module~nodeinputmanager module~datainterfaces->module~branchnodeconnections module~datainterfaces->module~setpointmanager module~datainterfaces->module~hvachxassistedcoolingcoil module~datainterfaces->module~inputprocessor module~datainterfaces->module~watercoils module~datainterfaces->module~emsmanager module~datainterfaces->module~variablespeedcoils module~datainterfaces->module~watertoairheatpump module~datainterfaces->module~fluidproperties module~datainterfaces->module~watertoairheatpumpsimple module~datainterfaces->module~heatingcoils module~datainterfaces->module~schedulemanager module~datainterfaces->module~psychrometrics module~datainterfaces->module~curvemanager module~datainterfaces->module~refrigeratedcase module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~steamcoils module~dataprecisionglobals->module~dxcoils module~dataprecisionglobals->module~general module~dataprecisionglobals->module~fans module~dataprecisionglobals->module~nodeinputmanager module~dataprecisionglobals->module~datazonecontrols module~dataprecisionglobals->module~dataipshortcuts module~dataprecisionglobals->module~dataheatbalance module~dataprecisionglobals->module~dataairsystems module~dataprecisionglobals->module~setpointmanager module~dataprecisionglobals->module~hvachxassistedcoolingcoil module~dataprecisionglobals->module~inputprocessor module~dataprecisionglobals->module~watercoils module~dataprecisionglobals->module~emsmanager module~dataprecisionglobals->module~variablespeedcoils module~dataprecisionglobals->module~watertoairheatpump module~dataprecisionglobals->module~fluidproperties module~dataprecisionglobals->module~watertoairheatpumpsimple module~dataprecisionglobals->module~heatingcoils module~dataprecisionglobals->module~dataglobals module~dataprecisionglobals->module~schedulemanager module~dataprecisionglobals->module~dataenvironment module~dataprecisionglobals->module~datahvacglobals module~dataprecisionglobals->module~dataplant module~dataprecisionglobals->module~psychrometrics module~dataprecisionglobals->module~dataloopnode module~dataprecisionglobals->module~datainterfaces module~dataprecisionglobals->module~datawindowequivalentlayer module~dataprecisionglobals->module~databsdfwindow module~dataprecisionglobals->module~datacomplexfenestration module~datavectortypes DataVectorTypes module~dataprecisionglobals->module~datavectortypes module~dataprecisionglobals->module~datasurfaces module~dataprecisionglobals->module~dataairloop module~dataprecisionglobals->module~curvemanager module~dataprecisionglobals->module~databranchairloopplant module~datasystemvariables DataSystemVariables module~dataprecisionglobals->module~datasystemvariables module~dataprecisionglobals->module~datasizing module~dataprecisionglobals->module~dataruntimelanguage module~dataprecisionglobals->module~refrigeratedcase module~databranchnodeconnections->module~branchnodeconnections module~datawindowequivalentlayer->module~dataheatbalance module~databsdfwindow->module~dataheatbalance module~databsdfwindow->module~datasurfaces module~datacomplexfenestration->module~dataheatbalance module~datavectortypes->module~dataheatbalance module~datavectortypes->module~databsdfwindow module~datavectortypes->module~datasurfaces module~datasurfaces->module~dataheatbalance module~dataairloop->module~setpointmanager module~curvemanager->module~setpointmanager module~databranchairloopplant->module~curvemanager module~datastringglobals DataStringGlobals module~datastringglobals->module~inputprocessor module~datastringglobals->module~datasystemvariables module~datasystemvariables->module~inputprocessor module~datasizing->module~inputprocessor module~datasizing->module~variablespeedcoils module~datasizing->module~watertoairheatpumpsimple module~dataruntimelanguage->module~emsmanager module~refrigeratedcase->module~heatingcoils
Help
   Check that the same air flow method is used if cooling and heating coil present

Arguments

None

Calls

proc~~getunitarysysteminput~~CallsGraph proc~getunitarysysteminput GetUnitarySystemInput callcoiltypes callcoiltypes proc~getunitarysysteminput->callcoiltypes primaryairsystem primaryairsystem proc~getunitarysysteminput->primaryairsystem getfanoutletnode getfanoutletnode proc~getunitarysysteminput->getfanoutletnode zoneequipconfig zoneequipconfig proc~getunitarysysteminput->zoneequipconfig proc~verifyname VerifyName proc~getunitarysysteminput->proc~verifyname getfanindex getfanindex proc~getunitarysysteminput->getfanindex zoneequiplist zoneequiplist proc~getunitarysysteminput->zoneequiplist humiditycontrolzone humiditycontrolzone proc~getunitarysysteminput->humiditycontrolzone getsatdensityrefrig getsatdensityrefrig proc~getunitarysysteminput->getsatdensityrefrig getdxcoilairflow getdxcoilairflow proc~getunitarysysteminput->getdxcoilairflow comfortcontrolledzone comfortcontrolledzone proc~getunitarysysteminput->comfortcontrolledzone nodeid nodeid proc~getunitarysysteminput->nodeid getcoilavailscheduleindex getcoilavailscheduleindex proc~getunitarysysteminput->getcoilavailscheduleindex getwatercoilavailscheduleindex getwatercoilavailscheduleindex proc~getunitarysysteminput->getwatercoilavailscheduleindex nodehasspmctrlvartype nodehasspmctrlvartype proc~getunitarysysteminput->nodehasspmctrlvartype getfantype getfantype proc~getunitarysysteminput->getfantype getcoilindexvariablespeed getcoilindexvariablespeed proc~getunitarysysteminput->getcoilindexvariablespeed getfaninletnode getfaninletnode proc~getunitarysysteminput->getfaninletnode getvscoilnumofspeeds getvscoilnumofspeeds proc~getunitarysysteminput->getvscoilnumofspeeds gethxdxcoilindex gethxdxcoilindex proc~getunitarysysteminput->gethxdxcoilindex proc~getobjectdefmaxargs GetObjectDefMaxArgs proc~getunitarysysteminput->proc~getobjectdefmaxargs getheatingcoiloutletnode getheatingcoiloutletnode proc~getunitarysysteminput->getheatingcoiloutletnode interface~setupoutputvariable SetupOutputVariable proc~getunitarysysteminput->interface~setupoutputvariable getwatercoilindex getwatercoilindex proc~getunitarysysteminput->getwatercoilindex interface~setupemsinternalvariable SetupEMSInternalVariable proc~getunitarysysteminput->interface~setupemsinternalvariable getdxcoiloutletnode getdxcoiloutletnode proc~getunitarysysteminput->getdxcoiloutletnode getcoilwaterinletnode getcoilwaterinletnode proc~getunitarysysteminput->getcoilwaterinletnode manageems manageems proc~getunitarysysteminput->manageems getdxcoilindex getdxcoilindex proc~getunitarysysteminput->getdxcoilindex getheatingcoilinletnode getheatingcoilinletnode proc~getunitarysysteminput->getheatingcoilinletnode proc~getobjectitem GetObjectItem proc~getunitarysysteminput->proc~getobjectitem getdxcoilcapacity getdxcoilcapacity proc~getunitarysysteminput->getdxcoilcapacity getsteamcoilavailscheduleindex getsteamcoilavailscheduleindex proc~getunitarysysteminput->getsteamcoilavailscheduleindex getwatercoilinletnode getwatercoilinletnode proc~getunitarysysteminput->getwatercoilinletnode proc~finditeminlist FindIteminList proc~getunitarysysteminput->proc~finditeminlist getsteamcoilindex getsteamcoilindex proc~getunitarysysteminput->getsteamcoilindex getcoilobjecttypenum getcoilobjecttypenum proc~getunitarysysteminput->getcoilobjecttypenum getcoilmaxwaterflowrate getcoilmaxwaterflowrate proc~getunitarysysteminput->getcoilmaxwaterflowrate proc~getnumobjectsfound GetNumObjectsFound proc~getunitarysysteminput->proc~getnumobjectsfound getwatercoiloutletnode getwatercoiloutletnode proc~getunitarysysteminput->getwatercoiloutletnode getcoilmaxsteamflowrate getcoilmaxsteamflowrate proc~getunitarysysteminput->getcoilmaxsteamflowrate proc~samestring SameString proc~getunitarysysteminput->proc~samestring proc~getscheduleindex GetScheduleIndex proc~getunitarysysteminput->proc~getscheduleindex getsteamcoilsteaminletnode getsteamcoilsteaminletnode proc~getunitarysysteminput->getsteamcoilsteaminletnode getsteamcoilairinletnode getsteamcoilairinletnode proc~getunitarysysteminput->getsteamcoilairinletnode testcompset testcompset proc~getunitarysysteminput->testcompset setupcompsets setupcompsets proc~getunitarysysteminput->setupcompsets getsteamcoilairoutletnode getsteamcoilairoutletnode proc~getunitarysysteminput->getsteamcoilairoutletnode tempcontrolledzone tempcontrolledzone proc~getunitarysysteminput->tempcontrolledzone zone zone proc~getunitarysysteminput->zone getheatingcoiltypenum getheatingcoiltypenum proc~getunitarysysteminput->getheatingcoiltypenum getfanavailschptr getfanavailschptr proc~getunitarysysteminput->getfanavailschptr getonlysinglenode getonlysinglenode proc~getunitarysysteminput->getonlysinglenode getheatingcoilcapacity getheatingcoilcapacity proc~getunitarysysteminput->getheatingcoilcapacity outsideairsys outsideairsys proc~getunitarysysteminput->outsideairsys getheatingcoilindex getheatingcoilindex proc~getunitarysysteminput->getheatingcoilindex getdxcoiltypenum getdxcoiltypenum proc~getunitarysysteminput->getdxcoiltypenum getdxcoilavailschptr getdxcoilavailschptr proc~getunitarysysteminput->getdxcoilavailschptr interface~setupemsactuator SetupEMSActuator proc~getunitarysysteminput->interface~setupemsactuator getheatingcoilplfcurveindex getheatingcoilplfcurveindex proc~getunitarysysteminput->getheatingcoilplfcurveindex controllertypes controllertypes proc~getunitarysysteminput->controllertypes gethxassistedcoiltypenum gethxassistedcoiltypenum proc~getunitarysysteminput->gethxassistedcoiltypenum getdxcoilinletnode getdxcoilinletnode proc~getunitarysysteminput->getdxcoilinletnode interface~showcontinueerror ShowContinueError proc~getunitarysysteminput->interface~showcontinueerror getdxcoilcondenserinletnode getdxcoilcondenserinletnode proc~getunitarysysteminput->getdxcoilcondenserinletnode gethxcoilairflowrate gethxcoilairflowrate proc~getunitarysysteminput->gethxcoilairflowrate getvscoilcondenserinletnode getvscoilcondenserinletnode proc~getunitarysysteminput->getvscoilcondenserinletnode setdxcoolingcoildata setdxcoolingcoildata proc~getunitarysysteminput->setdxcoolingcoildata getdxhxasstdcoilinletnode getdxhxasstdcoilinletnode proc~getunitarysysteminput->getdxhxasstdcoilinletnode getdxhxasstdcoilcapacity getdxhxasstdcoilcapacity proc~getunitarysysteminput->getdxhxasstdcoilcapacity getdxhxasstdcoiloutletnode getdxhxasstdcoiloutletnode proc~getunitarysysteminput->getdxhxasstdcoiloutletnode interface~showsevereerror ShowSevereError proc~getunitarysysteminput->interface~showsevereerror getcoilairflowratevariablespeed getcoilairflowratevariablespeed proc~getunitarysysteminput->getcoilairflowratevariablespeed gethxdxcoilname gethxdxcoilname proc~getunitarysysteminput->gethxdxcoilname getactualdxcoilindex getactualdxcoilindex proc~getunitarysysteminput->getactualdxcoilindex interface~showfatalerror ShowFatalError proc~getunitarysysteminput->interface~showfatalerror getcoilcapacityvariablespeed getcoilcapacityvariablespeed proc~getunitarysysteminput->getcoilcapacityvariablespeed getcoilinletnodevariablespeed getcoilinletnodevariablespeed proc~getunitarysysteminput->getcoilinletnodevariablespeed getvscoilminoatcompressor getvscoilminoatcompressor proc~getunitarysysteminput->getvscoilminoatcompressor setvarspeedcoildata setvarspeedcoildata proc~getunitarysysteminput->setvarspeedcoildata getcoiloutletnodevariablespeed getcoiloutletnodevariablespeed proc~getunitarysysteminput->getcoiloutletnodevariablespeed getminoatdxcoilcompressor getminoatdxcoilcompressor proc~getunitarysysteminput->getminoatdxcoilcompressor getwtoahpcoilindex getwtoahpcoilindex proc~getunitarysysteminput->getwtoahpcoilindex getwtoahpcoilinletnode getwtoahpcoilinletnode proc~getunitarysysteminput->getwtoahpcoilinletnode getwtoahpsimplecoilindex getwtoahpsimplecoilindex proc~getunitarysysteminput->getwtoahpsimplecoilindex getwtoahpcoiloutletnode getwtoahpcoiloutletnode proc~getunitarysysteminput->getwtoahpcoiloutletnode getwtoahpsimplecoilinletnode getwtoahpsimplecoilinletnode proc~getunitarysysteminput->getwtoahpsimplecoilinletnode setsimplewshpdata setsimplewshpdata proc~getunitarysysteminput->setsimplewshpdata proc~validatecomponent ValidateComponent proc~getunitarysysteminput->proc~validatecomponent getwtoahpsimplecoiloutletnode getwtoahpsimplecoiloutletnode proc~getunitarysysteminput->getwtoahpsimplecoiloutletnode getfandesignvolumeflowrate getfandesignvolumeflowrate proc~getunitarysysteminput->getfandesignvolumeflowrate trimsigdigits trimsigdigits proc~getunitarysysteminput->trimsigdigits interface~checkschedulevalueminmax CheckScheduleValueMinMax proc~getunitarysysteminput->interface~checkschedulevalueminmax setdxcoiltypedata setdxcoiltypedata proc~getunitarysysteminput->setdxcoiltypedata proc~showsevereerror ShowSevereError proc~verifyname->proc~showsevereerror proc~finditem FindItem proc~verifyname->proc~finditem proc~getobjectdefmaxargs->proc~finditeminlist proc~getobjectdefmaxargs->proc~showsevereerror proc~makeuppercase MakeUPPERCase proc~getobjectdefmaxargs->proc~makeuppercase proc~finditeminsortedlist FindIteminSortedList proc~getobjectdefmaxargs->proc~finditeminsortedlist proc~getobjectitem->proc~finditeminlist proc~getobjectitem->proc~samestring proc~showfatalerror ShowFatalError proc~getobjectitem->proc~showfatalerror proc~showwarningerror ShowWarningError proc~getobjectitem->proc~showwarningerror proc~getobjectitem->proc~makeuppercase proc~getobjectitem->proc~finditeminsortedlist proc~getobjectitemfromfile GetObjectItemfromFile proc~getobjectitem->proc~getobjectitemfromfile proc~processinput ProcessInput proc~getobjectitem->proc~processinput proc~iptrimsigdigits IPTrimSigDigits proc~getobjectitem->proc~iptrimsigdigits proc~getnumobjectsfound->proc~finditeminlist proc~getnumobjectsfound->proc~showwarningerror proc~getnumobjectsfound->proc~makeuppercase proc~getnumobjectsfound->proc~finditeminsortedlist proc~samestring->proc~makeuppercase proc~processscheduleinput ProcessScheduleInput proc~getscheduleindex->proc~processscheduleinput finditeminlist finditeminlist proc~getscheduleindex->finditeminlist proc~validatecomponent->proc~showsevereerror proc~showcontinueerror ShowContinueError proc~validatecomponent->proc~showcontinueerror getobjectitemnum getobjectitemnum proc~validatecomponent->getobjectitemnum proc~dcheckschedulevalueminmax2 dCheckScheduleValueMinMax2 interface~checkschedulevalueminmax->proc~dcheckschedulevalueminmax2 proc~rcheckschedulevalueminmax1 rCheckScheduleValueMinMax1 interface~checkschedulevalueminmax->proc~rcheckschedulevalueminmax1 proc~rcheckschedulevalueminmax2 rCheckScheduleValueMinMax2 interface~checkschedulevalueminmax->proc~rcheckschedulevalueminmax2 proc~dcheckschedulevalueminmax1 dCheckScheduleValueMinMax1 interface~checkschedulevalueminmax->proc~dcheckschedulevalueminmax1 proc~showerrormessage ShowErrorMessage proc~showsevereerror->proc~showerrormessage matchcounts matchcounts proc~showsevereerror->matchcounts messagesearch messagesearch proc~showsevereerror->messagesearch createsqliteerrorrecord createsqliteerrorrecord proc~showsevereerror->createsqliteerrorrecord proc~finditem->proc~finditeminlist proc~finditem->proc~makeuppercase proc~displaystring DisplayString proc~showerrormessage->proc~displaystring proc~showerrormessage->proc~showfatalerror proc~showfatalerror->proc~showerrormessage proc~showfatalerror->createsqliteerrorrecord proc~showfatalerror->proc~displaystring proc~abortenergyplus AbortEnergyPlus proc~showfatalerror->proc~abortenergyplus roundsigdigits roundsigdigits proc~showfatalerror->roundsigdigits proc~abortenergyplus->proc~displaystring proc~abortenergyplus->roundsigdigits proc~testairpathintegrity TestAirPathIntegrity proc~abortenergyplus->proc~testairpathintegrity updatesqlitesimulationrecord updatesqlitesimulationrecord proc~abortenergyplus->updatesqlitesimulationrecord checkmarkednodes checkmarkednodes proc~abortenergyplus->checkmarkednodes reportairloopconnections reportairloopconnections proc~abortenergyplus->reportairloopconnections proc~showrecurringerrors ShowRecurringErrors proc~abortenergyplus->proc~showrecurringerrors testcompsetinletoutletnodes testcompsetinletoutletnodes proc~abortenergyplus->testcompsetinletoutletnodes proc~summarizeerrors SummarizeErrors proc~abortenergyplus->proc~summarizeerrors reportsurfaceerrors reportsurfaceerrors proc~abortenergyplus->reportsurfaceerrors reportloopconnections reportloopconnections proc~abortenergyplus->reportloopconnections proc~closemiscopenfiles CloseMiscOpenFiles proc~abortenergyplus->proc~closemiscopenfiles setupnodevarsforreporting setupnodevarsforreporting proc~abortenergyplus->setupnodevarsforreporting closesocket closesocket proc~abortenergyplus->closesocket proc~closeoutopenfiles CloseOutOpenFiles proc~abortenergyplus->proc~closeoutopenfiles proc~reportsurfaces ReportSurfaces proc~abortenergyplus->proc~reportsurfaces testbranchintegrity testbranchintegrity proc~abortenergyplus->testbranchintegrity checkplantonabort checkplantonabort proc~abortenergyplus->checkplantonabort proc~epelapsedtime epElapsedTime proc~abortenergyplus->proc~epelapsedtime proc~epstoptime epStopTime proc~abortenergyplus->proc~epstoptime proc~epsummarytimes epSummaryTimes proc~abortenergyplus->proc~epsummarytimes proc~showmessage ShowMessage proc~abortenergyplus->proc~showmessage checknodeconnections checknodeconnections proc~abortenergyplus->checknodeconnections proc~testairpathintegrity->nodeid proc~testairpathintegrity->proc~showsevereerror airtozonenodeinfo airtozonenodeinfo proc~testairpathintegrity->airtozonenodeinfo proc~testairpathintegrity->proc~showcontinueerror proc~showrecurringerrors->createsqliteerrorrecord proc~showrecurringerrors->roundsigdigits proc~showrecurringerrors->proc~showmessage updatesqliteerrorrecord updatesqliteerrorrecord proc~showrecurringerrors->updatesqliteerrorrecord removetrailingzeros removetrailingzeros proc~showrecurringerrors->removetrailingzeros recurringerrors recurringerrors proc~showrecurringerrors->recurringerrors proc~summarizeerrors->matchcounts proc~summarizeerrors->proc~showmessage summaries summaries proc~summarizeerrors->summaries moredetails moredetails proc~summarizeerrors->moredetails closedfsfile closedfsfile proc~closemiscopenfiles->closedfsfile closereportillummaps closereportillummaps proc~closemiscopenfiles->closereportillummaps proc~detailsforsurfaces DetailsForSurfaces proc~reportsurfaces->proc~detailsforsurfaces proc~setupschemecolors SetUpSchemeColors proc~reportsurfaces->proc~setupschemecolors proc~vrmlout VRMLOut proc~reportsurfaces->proc~vrmlout scanforreports scanforreports proc~reportsurfaces->scanforreports proc~dxfoutwireframe DXFOutWireFrame proc~reportsurfaces->proc~dxfoutwireframe proc~costinfoout CostInfoOut proc~reportsurfaces->proc~costinfoout proc~linesout LinesOut proc~reportsurfaces->proc~linesout proc~reportsurfaces->proc~showwarningerror proc~dxfout DXFOut proc~reportsurfaces->proc~dxfout proc~epstoptime->proc~showfatalerror tstop tstop proc~epstoptime->tstop proc~epsummarytimes->roundsigdigits proc~showmessage->proc~showerrormessage proc~showcontinueerror->proc~showerrormessage proc~showcontinueerror->updatesqliteerrorrecord proc~detailsforsurfaces->zone proc~detailsforsurfaces->trimsigdigits proc~detailsforsurfaces->roundsigdigits getschedulename getschedulename proc~detailsforsurfaces->getschedulename oscm oscm proc~detailsforsurfaces->oscm nominalu nominalu proc~detailsforsurfaces->nominalu framedivider framedivider proc~detailsforsurfaces->framedivider getschedulemaxvalue getschedulemaxvalue proc~detailsforsurfaces->getschedulemaxvalue 2 2 proc~detailsforsurfaces->2 proc~computenominaluwithconvcoeffs ComputeNominalUwithConvCoeffs proc~detailsforsurfaces->proc~computenominaluwithconvcoeffs 3 3 proc~detailsforsurfaces->3 osc osc proc~detailsforsurfaces->osc construct construct proc~detailsforsurfaces->construct 4 4 proc~detailsforsurfaces->4 proc~csurfaceclass cSurfaceClass proc~detailsforsurfaces->proc~csurfaceclass userintconvectioncoeffs userintconvectioncoeffs proc~detailsforsurfaces->userintconvectioncoeffs userextconvectioncoeffs userextconvectioncoeffs proc~detailsforsurfaces->userextconvectioncoeffs surface surface proc~detailsforsurfaces->surface getscheduleminvalue getscheduleminvalue proc~detailsforsurfaces->getscheduleminvalue surfacewindow surfacewindow proc~detailsforsurfaces->surfacewindow proc~setupschemecolors->proc~showwarningerror proc~setupschemecolors->getobjectitemnum getobjectdefmaxargs getobjectdefmaxargs proc~setupschemecolors->getobjectdefmaxargs proc~matchandsetcolortextstring MatchAndSetColorTextString proc~setupschemecolors->proc~matchandsetcolortextstring getobjectitem getobjectitem proc~setupschemecolors->getobjectitem proc~vrmlout->zone proc~vrmlout->proc~showfatalerror proc~vrmlout->proc~showcontinueerror proc~vrmlout->proc~showwarningerror proc~vrmlout->surface proc~triangulate Triangulate proc~vrmlout->proc~triangulate proc~getnewunitnumber GetNewUnitNumber proc~vrmlout->proc~getnewunitnumber proc~dxfoutwireframe->zone proc~dxfoutwireframe->trimsigdigits proc~dxfoutwireframe->proc~showfatalerror proc~dxfoutwireframe->surface proc~dxfoutwireframe->surfacewindow proc~dxfoutwireframe->proc~getnewunitnumber zonedaylight zonedaylight proc~dxfoutwireframe->zonedaylight dxfcolorno dxfcolorno proc~dxfoutwireframe->dxfcolorno proc~costinfoout->proc~showfatalerror proc~costinfoout->construct proc~costinfoout->proc~csurfaceclass proc~costinfoout->surface proc~costinfoout->proc~getnewunitnumber proc~linesout->proc~showfatalerror proc~linesout->roundsigdigits proc~linesout->proc~showcontinueerror proc~linesout->proc~showwarningerror proc~linesout->proc~csurfaceclass proc~linesout->surface proc~linesout->proc~getnewunitnumber proc~showwarningerror->proc~showerrormessage proc~showwarningerror->matchcounts proc~showwarningerror->messagesearch proc~showwarningerror->createsqliteerrorrecord proc~dxfout->zone proc~dxfout->trimsigdigits proc~dxfout->proc~showfatalerror proc~dxfout->proc~showcontinueerror proc~dxfout->proc~showwarningerror proc~dxfout->surface proc~dxfout->surfacewindow proc~dxfout->proc~triangulate proc~dxfout->proc~getnewunitnumber proc~dxfout->zonedaylight proc~dxfout->dxfcolorno illummapcalc illummapcalc proc~dxfout->illummapcalc proc~computenominaluwithconvcoeffs->surface finditem finditem proc~matchandsetcolortextstring->finditem proc~triangulate->roundsigdigits proc~triangulate->proc~showmessage proc~triangulate->proc~showcontinueerror proc~triangulate->proc~showwarningerror csurfaceclass csurfaceclass proc~triangulate->csurfaceclass proc~generate_ears generate_ears proc~triangulate->proc~generate_ears proc~calcrfflrcoordinatetransformation CalcRfFlrCoordinateTransformation proc~triangulate->proc~calcrfflrcoordinatetransformation proc~calcwallcoordinatetransformation CalcWallCoordinateTransformation proc~triangulate->proc~calcwallcoordinatetransformation proc~polygon_contains_point_2d polygon_contains_point_2d proc~generate_ears->proc~polygon_contains_point_2d proc~angle_2dvector angle_2dvector proc~generate_ears->proc~angle_2dvector proc~finditeminsortedlist->proc~samestring proc~finditeminsortedlist->proc~makeuppercase proc~processinput->proc~finditeminlist proc~processinput->proc~samestring proc~processinput->proc~showsevereerror proc~processinput->proc~displaystring proc~processinput->proc~showfatalerror proc~processinput->proc~showcontinueerror proc~processinput->proc~showwarningerror proc~processinput->proc~makeuppercase proc~processinput->proc~finditeminsortedlist proc~processinput->proc~iptrimsigdigits setupandsort setupandsort proc~processinput->setupandsort calphafieldnames calphafieldnames proc~processinput->calphafieldnames proc~processdatadicfile ProcessDataDicFile proc~processinput->proc~processdatadicfile calphaargs calphaargs proc~processinput->calphaargs lalphafieldblanks lalphafieldblanks proc~processinput->lalphafieldblanks rnumericargs rnumericargs proc~processinput->rnumericargs cnumericfieldnames cnumericfieldnames proc~processinput->cnumericfieldnames lnumericfieldblanks lnumericfieldblanks proc~processinput->lnumericfieldblanks matchversion matchversion proc~processinput->matchversion proc~getidfrecordsstats GetIDFRecordsStats proc~processinput->proc~getidfrecordsstats proc~processinputdatafile ProcessInputDataFile proc~processinput->proc~processinputdatafile proc~initsecretobjects InitSecretObjects proc~processinput->proc~initsecretobjects programpath programpath proc~processinput->programpath proc~processdatadicfile->proc~showsevereerror proc~processdatadicfile->proc~iptrimsigdigits proc~readinputline ReadInputLine proc~processdatadicfile->proc~readinputline proc~addsectiondef AddSectionDef proc~processdatadicfile->proc~addsectiondef proc~addobjectdefandparse AddObjectDefandParse proc~processdatadicfile->proc~addobjectdefandparse proc~processinputdatafile->proc~showsevereerror proc~processinputdatafile->proc~showmessage proc~processinputdatafile->proc~iptrimsigdigits proc~processinputdatafile->proc~readinputline proc~validatesection ValidateSection proc~processinputdatafile->proc~validatesection proc~validateobjectandparse ValidateObjectandParse proc~processinputdatafile->proc~validateobjectandparse proc~readinputline->proc~showsevereerror proc~readinputline->proc~showfatalerror proc~readinputline->proc~showcontinueerror proc~readinputline->proc~makeuppercase proc~readinputline->proc~iptrimsigdigits proc~processnumber ProcessNumber proc~readinputline->proc~processnumber proc~processminmaxdefline ProcessMinMaxDefLine proc~readinputline->proc~processminmaxdefline proc~addsectiondef->proc~finditeminlist proc~addsectiondef->proc~showsevereerror proc~addsectiondef->proc~showcontinueerror proc~addsectiondef->proc~showwarningerror proc~addsectiondef->proc~makeuppercase proc~addobjectdefandparse->proc~finditeminlist proc~addobjectdefandparse->proc~showsevereerror proc~addobjectdefandparse->proc~showcontinueerror proc~addobjectdefandparse->proc~showwarningerror proc~addobjectdefandparse->proc~makeuppercase proc~addobjectdefandparse->proc~iptrimsigdigits proc~addobjectdefandparse->proc~readinputline proc~processminmaxdefline->proc~showsevereerror proc~processminmaxdefline->proc~makeuppercase proc~processminmaxdefline->proc~iptrimsigdigits proc~processminmaxdefline->proc~processnumber proc~validatesection->proc~finditeminlist proc~validatesection->proc~samestring proc~validatesection->proc~showcontinueerror proc~validatesection->proc~showwarningerror proc~validatesection->proc~makeuppercase proc~validatesection->proc~finditeminsortedlist proc~addrecordfromsection AddRecordFromSection proc~validatesection->proc~addrecordfromsection proc~validateobjectandparse->proc~finditeminlist proc~validateobjectandparse->proc~showsevereerror proc~validateobjectandparse->proc~showcontinueerror proc~validateobjectandparse->proc~showwarningerror proc~validateobjectandparse->proc~makeuppercase proc~validateobjectandparse->proc~finditeminsortedlist proc~validateobjectandparse->proc~iptrimsigdigits proc~validateobjectandparse->proc~readinputline proc~validateobjectandparse->proc~processnumber proc~showauditerrormessage ShowAuditErrorMessage proc~validateobjectandparse->proc~showauditerrormessage proc~internalrangecheck InternalRangeCheck proc~validateobjectandparse->proc~internalrangecheck proc~dumpcurrentlinebuffer DumpCurrentLineBuffer proc~validateobjectandparse->proc~dumpcurrentlinebuffer proc~maketransition MakeTransition proc~validateobjectandparse->proc~maketransition proc~extendobjectdefinition ExtendObjectDefinition proc~validateobjectandparse->proc~extendobjectdefinition proc~addrecordfromsection->proc~showsevereerror proc~addrecordfromsection->proc~showcontinueerror proc~addrecordfromsection->proc~iptrimsigdigits proc~addrecordfromsection->proc~showauditerrormessage proc~addrecordfromsection->proc~internalrangecheck proc~internalrangecheck->proc~showsevereerror proc~internalrangecheck->proc~iptrimsigdigits proc~dumpcurrentlinebuffer->proc~showmessage proc~dumpcurrentlinebuffer->proc~iptrimsigdigits proc~maketransition->proc~finditeminlist proc~maketransition->proc~samestring proc~maketransition->proc~showsevereerror proc~maketransition->proc~showfatalerror proc~maketransition->proc~makeuppercase proc~extendobjectdefinition->proc~displaystring proc~extendobjectdefinition->proc~iptrimsigdigits proc~processscheduleinput->trimsigdigits proc~processscheduleinput->interface~checkschedulevalueminmax proc~processscheduleinput->proc~showsevereerror proc~processscheduleinput->proc~displaystring proc~processscheduleinput->proc~showfatalerror proc~processscheduleinput->roundsigdigits proc~processscheduleinput->proc~showcontinueerror proc~processscheduleinput->proc~showwarningerror proc~processscheduleinput->getobjectdefmaxargs proc~processscheduleinput->getobjectitem proc~processscheduleinput->finditem proc~processscheduleinput->finditeminlist verifyname verifyname proc~processscheduleinput->verifyname samestring samestring proc~processscheduleinput->samestring proc~processintervalfields ProcessIntervalFields proc~processscheduleinput->proc~processintervalfields processdatestring processdatestring proc~processscheduleinput->processdatestring setupemsactuator setupemsactuator proc~processscheduleinput->setupemsactuator proc~processfordaytypes ProcessForDayTypes proc~processscheduleinput->proc~processfordaytypes julianday julianday proc~processscheduleinput->julianday getnumobjectsfound getnumobjectsfound proc~processscheduleinput->getnumobjectsfound proc~externalinterfacesetschedule ExternalInterfaceSetSchedule proc~processscheduleinput->proc~externalinterfacesetschedule processnumber processnumber proc~processscheduleinput->processnumber checkforactualfilename checkforactualfilename proc~processscheduleinput->checkforactualfilename proc~reportscheduledetails ReportScheduleDetails proc~processscheduleinput->proc~reportscheduledetails proc~processintervalfields->proc~showsevereerror proc~processintervalfields->proc~showcontinueerror proc~processintervalfields->proc~showwarningerror proc~decodehhmmfield DecodeHHMMField proc~processintervalfields->proc~decodehhmmfield proc~processfordaytypes->proc~showsevereerror proc~reportscheduledetails->roundsigdigits invjulianday invjulianday proc~reportscheduledetails->invjulianday proc~decodehhmmfield->proc~showsevereerror proc~decodehhmmfield->proc~showcontinueerror proc~decodehhmmfield->proc~showwarningerror proc~dcheckschedulevalueminmax2->proc~showfatalerror proc~rcheckschedulevalueminmax1->proc~showfatalerror proc~rcheckschedulevalueminmax2->proc~showfatalerror proc~dcheckschedulevalueminmax1->proc~showfatalerror
Help

Called By

proc~~getunitarysysteminput~~CalledByGraph proc~getunitarysysteminput GetUnitarySystemInput proc~getunitarysystemoaheatcoolcoil GetUnitarySystemOAHeatCoolCoil proc~getunitarysystemoaheatcoolcoil->proc~getunitarysysteminput proc~getunitarysystemdxcoolingcoilindex GetUnitarySystemDXCoolingCoilIndex proc~getunitarysystemdxcoolingcoilindex->proc~getunitarysysteminput proc~checkunitarysyscoilinoasysexists CheckUnitarySysCoilInOASysExists proc~checkunitarysyscoilinoasysexists->proc~getunitarysysteminput proc~simunitarysystem SimUnitarySystem proc~simunitarysystem->proc~getunitarysysteminput proc~initunitarysystems InitUnitarySystems proc~simunitarysystem->proc~initunitarysystems proc~sizeunitarysystem SizeUnitarySystem proc~sizeunitarysystem->proc~getunitarysystemdxcoolingcoilindex proc~initunitarysystems->proc~sizeunitarysystem
Help

Source Code


Source Code

SUBROUTINE GetUnitarySystemInput

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Richard Raustad
          !       DATE WRITTEN   February 2013
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Obtains input data for system and stores it in System data structures

          ! METHODOLOGY EMPLOYED:
          ! Uses "Get" routines to read in data.

          ! REFERENCES:

          ! USE STATEMENTS:
    USE InputProcessor
    USE NodeInputManager,           ONLY: GetOnlySingleNode
    USE DataHeatBalance,            ONLY: Zone
    USE BranchNodeConnections,      ONLY: SetUpCompSets, TestCompSet
    USE HVACHXAssistedCoolingCoil,  ONLY: GetHXDXCoilName
    USE DataIPShortCuts
    USE General,                    ONLY: TrimSigDigits
    USE DataHVACControllers,        ONLY: ControllerTypes, ControllerSimple_Type
    USE DXCoils,                    ONLY: SetCoilSystemCoolingData, GetDXCoilAvailSchPtr,SetDXCoolingCoilData
    USE DataAirSystems,             ONLY: PrimaryAirSystem
    USE DataZoneControls,           ONLY: TempControlledZone, NumTempControlledZones, HumidityControlZone,   &
                                          NumHumidityControlZones, ComfortControlledZone, NumComfortControlledZones
    USE WaterToAirHeatPumpSimple,   ONLY: GetWtoAHPSimpleCoilCapacity=>GetCoilCapacity,  &
                                          GetWtoAHPSimpleCoilInletNode=>GetCoilInletNode, &
                                          GetWtoAHPSimpleCoilOutletNode=>GetCoilOutletNode, &
                                          GetWtoAHPSimpleCoilIndex=>GetCoilIndex, &
                                          SetSimpleWSHPData, GetWtoAHPSimpleCoilAirFlow=>GetCoilAirFlowRate
    USE VariableSpeedCoils,         ONLY: GetCoilCapacityVariableSpeed, &
                                          GetCoilInletNodeVariableSpeed, &
                                          GetCoilOutletNodeVariableSpeed, &
                                          GetCoilIndexVariableSpeed, &
                                          GetCoilAirFlowRateVariableSpeed,&
                                          SetVarSpeedCoilData, GetVSCoilCondenserInletNode, &
                                          GetVSCoilMinOATCompressor, GetVSCoilNumOfSpeeds
    USE WaterToAirHeatPump,         ONLY: GetWtoAHPCoilCapacity=>GetCoilCapacity, &
                                          GetWtoAHPCoilInletNode=>GetCoilInletNode, &
                                          GetWtoAHPCoilOutletNode=>GetCoilOutletNode,GetWtoAHPCoilIndex=>GetCoilIndex
    USE HeatingCoils,               ONLY: GetHeatingCoilCapacity=>GetCoilCapacity,GetHeatingCoilInletNode=>GetCoilInletNode, &
                                          GetHeatingCoilOutletNode=>GetCoilOutletNode, GetHeatingCoilIndex=>GetCoilIndex, &
                                          GetHeatingCoilTypeNum, GetHeatingCoilPLFCurveIndex, GetCoilAvailScheduleIndex
    USE DXCoils,                    ONLY: GetDXCoilCapacity=>GetCoilCapacity,GetMinOATDXCoilCompressor=>GetMinOATCompressor,  &
                                          GetDXCoilInletNode=>GetCoilInletNode, GetDXCoilOutletNode=>GetCoilOutletNode, &
                                          GetDXCoilCondenserInletNode=>GetCoilCondenserInletNode,GetDXCoilIndex, &
                                          GetDXCoilTypeNum=>GetCoilTypeNum,SetDXCoolingCoilData,GetDXCoilAirFlow,SetDXCoilTypeData
    USE HVACHXAssistedCoolingCoil,  ONLY: GetDXHXAsstdCoilCapacity=>GetCoilCapacity,GetDXHXAsstdCoilInletNode=>GetCoilInletNode, &
                                          GetDXHXAsstdCoilOutletNode=>GetCoilOutletNode,GetHXDXCoilName,GetHXDXCoilIndex, &
                                          GetHXAssistedCoilTypeNum=>GetCoilGroupTypeNum, GetActualDXCoilIndex, &
                                          GetWaterHXAssistedCoilCapacity=>GetCoilCapacity, GetHXCoilAirFlowRate,   &
                                          GetCoilObjectTypeNum
    USE WaterCoils,                 ONLY: GetCoilWaterInletNode, GetCoilWaterOutletNode, GetCoilMaxWaterFlowRate, &
                                          GetWaterCoilInletNode=>GetCoilInletNode,GetWaterCoilOutletNode=>GetCoilOutletNode, &
                                          GetWaterCoilAvailScheduleIndex, GetWaterCoilIndex
    USE SteamCoils,                 ONLY: GetSteamCoilAirInletNode=>GetCoilAirInletNode, GetSteamCoilIndex, &
                                          GetSteamCoilAirOutletNode=>GetCoilAirOutletNode, &
                                          GetSteamCoilSteamInletNode=>GetCoilSteamInletNode, &
                                          GetCoilMaxSteamFlowRate=>GetCoilMaxSteamFlowRate, ZoneLoadControl, &
                                          GetSteamCoilAvailScheduleIndex
    USE Fans,                       ONLY: GetFanDesignVolumeFlowRate,GetFanInletNode,GetFanOutletNode,GetFanIndex, &
                                          GetFanAvailSchPtr, GetFanType, GetFanIndex
    USE FluidProperties,            ONLY: GetSatDensityRefrig
    USE EMSManager,                 ONLY: ManageEMS
    USE SetPointManager,            ONLY: NodeHasSPMCtrlVarType, iCtrlVarType_Temp, iCtrlVarType_HumRat

  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine

          ! SUBROUTINE ARGUMENT DEFINITIONS:
          ! na

          ! SUBROUTINE PARAMETER DEFINITIONS:
  CHARACTER(len=*), PARAMETER :: RoutineName='GetUnitarySystemInput: ' ! include trailing blank space

          ! INTERFACE BLOCK SPECIFICATIONS
          ! na

          ! DERIVED TYPE DEFINITIONS
          ! na

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: Alphas         ! Alpha input items for object
    CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cAlphaFields   ! Alpha field names
    CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cNumericFields ! Numeric field names
    CHARACTER(len=MaxNameLength) :: CurrentModuleObject ! for ease in getting objects
    CHARACTER(len=MaxNameLength) :: CoolingCoilType     ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: CoolingCoilName     ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: HeatingCoilType     ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: HeatingCoilName     ! Used in mining function calls
    REAL(r64)                    :: HeatingSizingRatio  ! Used to size DX heating coil wrt DX cooling coil
    CHARACTER(len=MaxNameLength) :: SuppHeatCoilType    ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: SuppHeatCoilName    ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: FanType             ! Used in mining function calls
    CHARACTER(len=MaxNameLength) :: FanName             ! Used in mining function calls
    INTEGER                      :: FanIndex            ! Used in mining function calls
    LOGICAL, ALLOCATABLE, DIMENSION(:)   :: lAlphaBlanks      ! Logical array, alpha field input BLANK = .true.
    LOGICAL, ALLOCATABLE, DIMENSION(:)   :: lNumericBlanks    ! Logical array, numeric field input BLANK = .true.
    REAL(r64), ALLOCATABLE, DIMENSION(:) :: Numbers     ! Numeric input items for object
    REAL(r64)  :: FanVolFlowRate                        ! Fan Max Flow Rate from Fan object (for comparisons to validity)
    REAL(r64)  :: SteamDensity                          ! steam density
    REAL(r64)  :: TotalFloorAreaOnAirLoop               ! AirloopHVAC total floor area served
    LOGICAL    :: ErrorsFound = .FALSE.                 ! If errors detected in input
    LOGICAL    :: IsNotOK                               ! Flag to verify name
    LOGICAL    :: IsBlank                               ! Flag for blank name
    LOGICAL    :: AirNodeFound                          ! used in error checking
    LOGICAL    :: AirLoopFound                          ! used in error checking
    LOGICAL    :: ErrFlag                               ! Mining function error flag
    LOGICAL    :: PrintMessage                          ! flag to print or not print message
    LOGICAL    :: InletNodeNotControlled                ! True if using controller on water coil
    INTEGER    :: UnitarySysNum                         ! The Unitary System object currently loading
    INTEGER    :: DesignSpecNum                         ! The design Specification object (multispeed coils) currently loading
    INTEGER    :: NumAlphas                             ! The number of alpha arguments in each object
    INTEGER    :: NumNumbers                            ! The number of numeric arguments in each object
    INTEGER    :: IOStatus                              ! The status of the GetObjectItem call
    INTEGER    :: TotalArgs=0                           ! Total number of alpha and numeric arguments (max) for a
                                                        ! certain object in the input file
    INTEGER    :: FanInletNode                          ! Used for node checking warning messages
    INTEGER    :: FanOutletNode                         ! Used for node checking warning messages
    INTEGER    :: CoolingCoilInletNode                  ! Used for node checking warning messages
    INTEGER    :: CoolingCoilOutletNode                 ! Used for node checking warning messages
    INTEGER    :: HeatingCoilInletNode                  ! Used for node checking warning messages
    INTEGER    :: HeatingCoilOutletNode                 ! Used for node checking warning messages
    INTEGER    :: SupHeatCoilInletNode                  ! Used for node checking warning messages
    INTEGER    :: SupHeatCoilOutletNode                 ! Used for node checking warning messages
    INTEGER    :: TotalZonesOnAirLoop                   ! number of zones connected to air loop
    LOGICAL    :: ZoneEquipmentFound                    ! TRUE if Unitary System found connected to zone exhaust node
    INTEGER    :: ActualCoolCoilType                    ! Coil type number for HX assisted coils
    INTEGER    :: ControlledZoneNum                     ! loop counter
    INTEGER    :: ZoneExhNum                            ! loop counter
    INTEGER    :: EquipNum                              ! loop counter
    INTEGER    :: ZoneInletNum                          ! loop counter
    INTEGER    :: AirLoopNumber                         ! loop counter
    INTEGER    :: BranchNum                             ! loop counter
    INTEGER    :: CompNum                               ! loop counter
    INTEGER    :: OACompNum                             ! loop counter
    INTEGER    :: TstatZoneNum                          ! loop counter
    INTEGER    :: HeatingCoilPLFCurveIndex              ! index of heating coil PLF curve
    INTEGER    :: SteamIndex                            ! steam index
    INTEGER    :: DXCoilIndex                           ! index to DX coil
    INTEGER    :: HSTATZoneNum                          ! zone index where humidistat is located
    INTEGER    :: TempAlphas                            ! temp alpha array
    INTEGER    :: TempNumbers                           ! temp number array
    INTEGER    :: Index                                 ! index to multispeed coil speed data
    INTEGER    :: SpeedNum                              ! multispeed coil speed
    INTEGER    :: NumOfSpeedCooling                     ! number of cooling speeds for multispeed coil
    INTEGER    :: NumOfSpeedHeating                     ! number of heating speeds for multispeed coil
    INTEGER    :: StartingSpeedRatioInput               ! field where speed ratio inputs start
    INTEGER    :: MaxSpeedNum                           ! maximum number of numeric inputs in design specification object
    INTEGER    :: OASysNum                              ! loop counter index to outside air system
    INTEGER    :: AirLoopNum                            ! loop counter index to primary air system
    CHARACTER(len=MaxNameLength)   :: HXCoilName        ! Cooling coil name within HX assembly

    ! local integer representation of input field numbers (i.e., alpha=A1 or numeric=N1)
    INTEGER    :: iNameAlphaNum                         ! get input index to unitary system name
    INTEGER    :: iControlTypeAlphaNum                  ! get input index to unitary system control type
    INTEGER    :: iControlZoneAlphaNum                  ! get input index to unitary system control zone
    INTEGER    :: iDehumidControlAlphaNum               ! get input index to unitary system dehumidification control
    INTEGER    :: iSysAvailSchedAlphaNum                ! get input index to unitary system avail schedule
    INTEGER    :: iFanTypeAlphaNum                      ! get input index to unitary system fan type
    INTEGER    :: iFanNameAlphaNum                      ! get input index to unitary system fan name
    INTEGER    :: iFanPlaceAlphaNum                     ! get input index to unitary system fan placement
    INTEGER    :: iFanSchedAlphaNum                     ! get input index to unitary system fan mode op schedule
    INTEGER    :: iHeatingCoilTypeAlphaNum              ! get input index to unitary system heating coil type
    INTEGER    :: iHeatingCoilNameAlphaNum              ! get input index to unitary system heating coil name
    INTEGER    :: iHeatingCoilSizeRatioNumericNum       ! get input index to unitary system heating coil sizing ratio
    INTEGER    :: iCoolingCoilTypeAlphaNum              ! get input index to unitary system cooling coil type
    INTEGER    :: iCoolingCoilNameAlphaNum              ! get input index to unitary system cooling coil name
    INTEGER    :: iDOASDXCoilAlphaNum                   ! get input index to unitary system DX coil DOAS specified
    INTEGER    :: iRunOnLatentLoadAlphaNum              ! get input index to unitary system run on latent load
    INTEGER    :: iSuppHeatCoilTypeAlphaNum             ! get input index to unitary system supp heat coil type
    INTEGER    :: iSuppHeatCoilNameAlphaNum             ! get input index to unitary system supp heat coil name
    INTEGER    :: iHeatSAFMAlphaNum                     ! get input index to unitary system heat supp air flow method
    INTEGER    :: iCoolSAFMAlphaNum                     ! get input index to unitary system cool supp air flow method
    INTEGER    :: iMaxCoolAirVolFlowNumericNum          ! get input index to unitary system cool supply air flow
    INTEGER    :: iMaxHeatAirVolFlowNumericNum          ! get input index to unitary system heat supply air flow
    INTEGER    :: iNoCoolHeatSAFMAlphaNum               ! get input index to unitary system no cool/heat supply air flow
    INTEGER    :: iMaxNoCoolHeatAirVolFlowNumericNum    ! get input index to unitary system no cool/heat supply air flow
    INTEGER    :: iDesignSpecMSHPTypeAlphaNum           ! get input index to unitary system MSHP coil type
    INTEGER    :: iDesignSpecMSHPNameAlphaNum           ! get input index to unitary system MSHP coil name
    INTEGER    :: iAirInletNodeNameAlphaNum             ! get input index to unitary system air inlet node
    INTEGER    :: iAirOutletNodeNameAlphaNum            ! get input index to unitary system air outlet node
    INTEGER    :: iDOASDXMinTempNumericNum              ! get input index to unitary system DOAS DX coil min outlet temp
    INTEGER    :: iCoolFlowPerFloorAreaNumericNum       ! get input index to unitary system cool flow per floor area
    INTEGER    :: iCoolFlowPerFracCoolNumericNum        ! get input index to unitary system cool flow per fraction cool
    INTEGER    :: iCoolFlowPerCoolCapNumericNum         ! get input index to unitary system cool flow per cooling cap
    INTEGER    :: iHeatFlowPerFloorAreaNumericNum       ! get input index to unitary system heat flow per floor area
    INTEGER    :: iHeatFlowPerFracCoolNumericNum        ! get input index to unitary system heat flow per fraction heat
    INTEGER    :: iHeatFlowPerHeatCapNumericNum         ! get input index to unitary system heat flow per heating cap
    INTEGER    :: iNoCoolHeatFlowPerFloorAreaNumericNum ! get input index to unitary system no cool/heat FPA
    INTEGER    :: iNoCoolHeatFlowPerFracCoolNumericNum  ! get input index to unitary system no cool/heat FPFC
    INTEGER    :: iNoCoolHeatFlowPerFracHeatNumericNum  ! get input index to unitary system no cool/heat FPFH
    INTEGER    :: iNoCoolHeatFlowPerCoolCapNumericNum   ! get input index to unitary system no cool/heat FPCC
    INTEGER    :: iNoCoolHeatFlowPerHeatCapNumericNum   ! get input index to unitary system no cool/heat FPHC
    INTEGER    :: iDesignMaxOutletTempNumericNum        ! get input index to unitary system design max outlet temp
    INTEGER    :: iMaxOATSuppHeatNumericNum             ! get input index to unitary system maximum OAT for supp operation
    INTEGER    :: iCondenserNodeAlphaNum                ! get input index to unitary system condenser node
    INTEGER    :: iMaxONOFFCycPerHourNumericNum         ! get input index to unitary system WSHP max cycle per hour
    INTEGER    :: iHPTimeConstantNumericNum             ! get input index to unitary system WSHP time constant
    INTEGER    :: iOnCyclePowerFracNumericNum           ! get input index to unitary system WSHP on cycle power
    INTEGER    :: iFanDelayTimeNumericNum               ! get input index to unitary system WSHP off cycle power
    INTEGER    :: iAncillaryOnPowerNumericNum           ! get input index to unitary system ancillary on power
    INTEGER    :: iAncillaryOffPowerNumericNum          ! get input index to unitary system ancillary off power
    INTEGER    :: iDesignHRWaterVolFlowNumericNum       ! get input index to unitary system design HR water flow
    INTEGER    :: iMaxHROutletWaterTempNumericNum       ! get input index to unitary system max HR outlet temp
    INTEGER    :: iHRWaterInletNodeAlphaNum             ! get input index to unitary system HR water inlet node
    INTEGER    :: iHRWaterOutletNodeAlphaNum            ! get input index to unitary system HR water outlet node

    CurrentModuleObject='AirloopHVAC:UnitarySystem'
    NumUnitarySystem = GetNumObjectsFound(TRIM(CurrentModuleObject))

    ALLOCATE(UnitarySystem(NumUnitarySystem))
    ALLOCATE(CheckEquipName(NumUnitarySystem))
    ALLOCATE(MultiOrVarSpeedHeatCoil(NumUnitarySystem))
    ALLOCATE(MultiOrVarSpeedCoolCoil(NumUnitarySystem))
    CheckEquipName = .TRUE.
    MultiOrVarSpeedHeatCoil = .FALSE.
    MultiOrVarSpeedCoolCoil = .FALSE.


    CALL GetObjectDefMaxArgs(TRIM(CurrentModuleObject),TotalArgs,NumAlphas,NumNumbers)
    TempAlphas = NumAlphas
    TempNumbers = NumNumbers

    CurrentModuleObject='UnitarySystemPerformance:HeatPump:Multispeed'
    NumDesignSpecMultiSpeedHP = GetNumObjectsFound(TRIM(CurrentModuleObject))
    CALL GetObjectDefMaxArgs(TRIM(CurrentModuleObject),TotalArgs,NumAlphas,NumNumbers)

    NumAlphas = MAX(TempAlphas, NumAlphas)
    NumNumbers = MAX(TempNumbers, NumNumbers)

    ALLOCATE(Alphas(NumAlphas))
    Alphas=' '
    ALLOCATE(cAlphaFields(NumAlphas))
    cAlphaFields=' '
    ALLOCATE(cNumericFields(NumNumbers))
    cNumericFields=' '
    ALLOCATE(Numbers(NumNumbers))
    Numbers=0.0d0
    ALLOCATE(lAlphaBlanks(NumAlphas))
    lAlphaBlanks=.TRUE.
    ALLOCATE(lNumericBlanks(NumNumbers))
    lNumericBlanks=.TRUE.

      ! Get the data for the DesignSpecification object
      CurrentModuleObject='UnitarySystemPerformance:HeatPump:Multispeed'
      ALLOCATE(DesignSpecMSHP(NumDesignSpecMultiSpeedHP))

      DO DesignSpecNum = 1, NumDesignSpecMultiSpeedHP

        CALL GetObjectItem(TRIM(CurrentModuleObject),DesignSpecNum,Alphas,NumAlphas,Numbers,NumNumbers,IOStatus, &
                           NumBlank=lNumericBlanks,AlphaBlank=lAlphaBlanks, &
                           AlphaFieldNames=cAlphaFields,NumericFieldNames=cNumericFields)

        IsNotOK=.FALSE.
        IsBlank=.FALSE.
        CALL VerifyName(Alphas(1),DesignSpecMSHP%Name,DesignSpecNum-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
        IF (IsNotOK) THEN
          ErrorsFound=.TRUE.
          IF (IsBlank) Alphas(1)='xxxxx'
        END IF

        DesignSpecMSHP(DesignSpecNum)%Name = Alphas(1)

        DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating = Numbers(1)
        NumOfSpeedHeating = DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating

        DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling = Numbers(2)
        NumOfSpeedCooling = DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling

        ! initialize number of speeds (MIN = 4 or greater of cooling and heating speeds x 2)
        MaxSpeedNum = 0 ! set to 0 so we know if the inputs are valid

        IF(MOD(REAL(NumNumbers-2,r64),2.0d0) .GT. 0.0d0)THEN
          ! check that the number of numeric speed input fields match the number of speeds
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(DesignSpecMSHP(DesignSpecNum)%Name))
          CALL ShowContinueError('Illegal number of entries in Supply Air Flow Rate fields.')
          CALL ShowContinueError('..number of required Supply Air Flow Rate fields = '// &
               TRIM(TrimSigDigits(2*(MAX(NumOfSpeedCooling,NumOfSpeedHeating)),0)))
          CALL ShowContinueError('..number of actual Supply Air Flow Rate fields   = '//TRIM(TrimSigDigits((NumNumbers-2),0)))
          ErrorsFound=.TRUE.
        ELSE
          MaxSpeedNum = (NumNumbers-2)/2 ! Extensible fields included (>4) for cooling and heating
        END IF

        IF(MaxSpeedNum .LT. MAX(NumOfSpeedHeating,NumOfSpeedCooling))THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(DesignSpecMSHP(DesignSpecNum)%Name))
          CALL ShowContinueError('Illegal number of entries in Supply Air Flow Rate fields.')
          CALL ShowContinueError('..number of required Supply Air Flow Rate fields = '// &
               TRIM(TrimSigDigits(2*(MAX(NumOfSpeedCooling,NumOfSpeedHeating)),0)))
          CALL ShowContinueError('..number of actual Supply Air Flow Rate fields   = '//TRIM(TrimSigDigits((NumNumbers-2),0)))
          ErrorsFound=.TRUE.
        END IF

        StartingSpeedRatioInput = 3 ! start the index counter at the first input for heating (e.g. 3+0*2)
        IF(NumOfSpeedHeating .GT. 0 .AND. MaxSpeedNum > 0) THEN
          ALLOCATE(DesignSpecMSHP(DesignSpecNum)%HeatingVolFlowRatio(MaxSpeedNum))
          DO SpeedNum = 1, NumOfSpeedHeating
            DesignSpecMSHP(DesignSpecNum)%HeatingVolFlowRatio(SpeedNum) = Numbers(StartingSpeedRatioInput+((SpeedNum-1)*2))
          END DO
        END IF

        StartingSpeedRatioInput = 4 ! start the index counter at the first input for heating (e.g. 4+0*2)
        IF(NumOfSpeedCooling .GT. 0 .AND. MaxSpeedNum > 0) THEN
          ALLOCATE(DesignSpecMSHP(DesignSpecNum)%CoolingVolFlowRatio(MaxSpeedNum))
          DO SpeedNum = 1, NumOfSpeedCooling
            DesignSpecMSHP(DesignSpecNum)%CoolingVolFlowRatio(SpeedNum) = Numbers(StartingSpeedRatioInput+((SpeedNum-1)*2))
          END DO
        END IF

      END DO

      ! AirLoopHVAC:UnitarySystem,
      iNameAlphaNum                   = 1  ! A1,  \field Name - \required-field
      iControlTypeAlphaNum            = 2  ! A2,  \field Control Type
      iControlZoneAlphaNum            = 3  ! A3,  \field Controlling Zone or Thermostat Location
      iDehumidControlAlphaNum         = 4  ! A4,  \field dehumidification Control Type
      iSysAvailSchedAlphaNum          = 5  ! A5,  \field Availability Schedule Name
      iAirInletNodeNameAlphaNum       = 6  ! A6,  \field Air Inlet Node Name - \required-field
      iAirOutletNodeNameAlphaNum      = 7  ! A7,  \field Air Outlet Node Name - \required-field
      iFanTypeAlphaNum                = 8  ! A8,  \field Supply Fan Object Type
      iFanNameAlphaNum                = 9  ! A9,  \field Supply Fan Name
      iFanPlaceAlphaNum               = 10 ! A10, \field Fan Placement
      iFanSchedAlphaNum               = 11 ! A11, \field Supply Air Fan Operating Mode Schedule Name
      iHeatingCoilTypeAlphaNum        = 12 ! A12, \field Heating Coil Object Type
      iHeatingCoilNameAlphaNum        = 13 ! A13, \field Heating Coil Name
      iHeatingCoilSizeRatioNumericNum = 1  ! N1,  \field DX Heating Coil Sizing Ratio
      iCoolingCoilTypeAlphaNum        = 14 ! A14, \field Cooling Coil Object Type
      iCoolingCoilNameAlphaNum        = 15 ! A15, \field Cooling Coil Name
      iDOASDXCoilAlphaNum             = 16 ! A16, \field Use DOAS DX Cooling Coil
      iDOASDXMinTempNumericNum        = 2  ! N2 , \field DOAS DX Cooling Coil Leaving Minimum Air Temperature
      iRunOnLatentLoadAlphaNum        = 17 ! A17, \field Run on Latent Load
      iSuppHeatCoilTypeAlphaNum       = 18 ! A18, \field Supplemental Heating Coil Object Type
      iSuppHeatCoilNameAlphaNum       = 19 ! A19, \field Supplemental Heating Coil Name
      iCoolSAFMAlphaNum               = 20 ! A20, \field Supply air Flow Rate Method During Cooling Operation
      iMaxCoolAirVolFlowNumericNum    = 3  ! N3,  \field Supply Air Flow Rate During Cooling Operation
      iCoolFlowPerFloorAreaNumericNum = 4  ! N4,  \field Supply Air Flow Rate Per Floor Area During Cooling Operation
      iCoolFlowPerFracCoolNumericNum  = 5  ! N5,  \field Fraction of Autosized Design Cooling Supply Air Flow Rate
      iCoolFlowPerCoolCapNumericNum   = 6  ! N6,  \field Design Supply Air Flow Rate Per Unit of Capacity During Cooling Operation
      iHeatSAFMAlphaNum               = 21 ! A21, \field Supply air Flow Rate Method During Heating Operation
      iMaxHeatAirVolFlowNumericNum    = 7  ! N7,  \field Supply Air Flow Rate During Heating Operation
      iHeatFlowPerFloorAreaNumericNum = 8  ! N8,  \field Supply Air Flow Rate Per Floor Area during Heating Operation
      iHeatFlowPerFracCoolNumericNum  = 9  ! N9,  \field Fraction of Autosized Design Heating Supply Air Flow Rate
      iHeatFlowPerHeatCapNumericNum   = 10 ! N10, \field Design Supply Air Flow Rate Per Unit of Capacity During Heating Operation
      iNoCoolHeatSAFMAlphaNum         = 22 ! A22, \field Supply air Flow Rate Method When No Cooling or Heating is Required
      iMaxNoCoolHeatAirVolFlowNumericNum = 11 ! N11, \field Supply Air Flow Rate When No Cooling or Heating is Required
      iNoCoolHeatFlowPerFloorAreaNumericNum = 12 ! N12, \field Supply Air Flow Rate Per Floor Area When No Cooling/Heating is Req
      iNoCoolHeatFlowPerFracCoolNumericNum = 13 ! N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate
      iNoCoolHeatFlowPerFracHeatNumericNum = 14 ! N14, \field Fraction of Autosized Design Heating Supply Air Flow Rate
      iNoCoolHeatFlowPerCoolCapNumericNum = 15 ! N15, \field Design Supply Air Flow Rate Per Unit of Capacity During Cooling Op
      iNoCoolHeatFlowPerHeatCapNumericNum = 16 ! N16, \field Design Supply Air Flow Rate Per Unit of Capacity During Heating Op
      iDesignMaxOutletTempNumericNum  = 17 ! N17, \field Maximum Supply Air Temperature
      iMaxOATSuppHeatNumericNum       = 18 ! N18, \field Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Op
      iCondenserNodeAlphaNum          = 23 ! A23, \field Outdoor Dry-Bulb Temperature Sensor Node Name
      iMaxONOFFCycPerHourNumericNum   = 19 ! N19, \field Maximum Cycling Rate
      iHPTimeConstantNumericNum       = 20 ! N20, \field Heat Pump Time Constant
      iOnCyclePowerFracNumericNum     = 21 ! N21, \field Fraction of On-Cycle Power Use
      iFanDelayTimeNumericNum         = 22 ! N22, \field Heat Pump Fan Delay Time
      iAncillaryOnPowerNumericNum     = 23 ! N23, \field Ancilliary On-Cycle Electric Power
      iAncillaryOffPowerNumericNum    = 24 ! N24, \field Ancilliary Off-Cycle Electric Power
      iDesignHRWaterVolFlowNumericNum = 25 ! N25, \field Design Heat Recovery Water Flow Rate
      iMaxHROutletWaterTempNumericNum = 26 ! N26, \field Maximum Temperature for Heat Recovery
      iHRWaterInletNodeAlphaNum       = 24 ! A24, \field Heat Recovery Water Inlet Node Name
      iHRWaterOutletNodeAlphaNum      = 25 ! A25, \field Heat Recovery Water Outlet Node Name

      iDesignSpecMSHPTypeAlphaNum     = 26 ! A26, \field design Specification Multispeed Heat Pump Object Type
      iDesignSpecMSHPNameAlphaNum     = 27 ! A27; \field design Specification Multispeed Heat Pump Object Name


      ! Get the data for the Unitary System
      CurrentModuleObject='AirloopHVAC:UnitarySystem'
      DO UnitarySysNum = 1,  NumUnitarySystem

        FanInletNode          = 0
        FanOutletNode         = 0
        FanVolFlowRate        = 0.0d0
        CoolingCoilInletNode  = 0
        CoolingCoilOutletNode = 0
        HeatingCoilInletNode  = 0
        HeatingCoilOutletNode = 0
        SupHeatCoilInletNode  = 0
        SupHeatCoilOutletNode = 0

        CurrentModuleObject  = 'AirLoopHVAC:UnitarySystem'
        UnitarySystem(UnitarySysNum)%UnitarySystemType = CurrentModuleObject
        UnitarySystem(UnitarySysNum)%UnitarySystemType_Num = UnitarySystem_AnyCoilType

        CALL GetObjectItem(TRIM(CurrentModuleObject),UnitarySysNum,Alphas,NumAlphas,Numbers,NumNumbers,IOStatus, &
                           NumBlank=lNumericBlanks,AlphaBlank=lAlphaBlanks, &
                           AlphaFieldNames=cAlphaFields,NumericFieldNames=cNumericFields)

        IsNotOK=.FALSE.
        IsBlank=.FALSE.
        CALL VerifyName(Alphas(iNameAlphaNum),UnitarySystem%Name,UnitarySysNum-1, &
                        IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
        IF (IsNotOK) THEN
          ErrorsFound=.TRUE.
          IF (IsBlank) Alphas(iNameAlphaNum)='xxxxx'
        END IF

        UnitarySystem(UnitarySysNum)%Name            = Alphas(iNameAlphaNum)

        IF(SameString(Alphas(iControlTypeAlphaNum),'Load'))THEN
          UnitarySystem(UnitarySysNum)%ControlType = LoadBased
        ELSEIF(SameString(Alphas(iControlTypeAlphaNum),'SetPoint'))THEN
          UnitarySystem(UnitarySysNum)%ControlType = SetPointBased
        ELSE
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iControlTypeAlphaNum))//' = '//TRIM(Alphas(iControlTypeAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

         !Get the Controlling Zone or Location of the Thermostat
        UnitarySystem(UnitarySysNum)%ControlZoneNum = FindItemInList(Alphas(iControlZoneAlphaNum),Zone%Name,NumOfZones)

        IF(.NOT. lAlphaBlanks(iDehumidControlAlphaNum))THEN
          IF (SameString(Alphas(iDehumidControlAlphaNum),'None') .OR. &
              SameString(Alphas(iDehumidControlAlphaNum),'Multimode') .OR. &
              SameString(Alphas(iDehumidControlAlphaNum),'CoolReheat'))THEN
            AirNodeFound=.FALSE.
            IF(SameString(Alphas(iDehumidControlAlphaNum),'Multimode'))THEN
              UnitarySystem(UnitarySysNum)%DehumidControlType_Num = DehumidControl_Multimode
              UnitarySystem(UnitarySysNum)%Humidistat = .TRUE.
            END IF
            IF(SameString(Alphas(iDehumidControlAlphaNum),'CoolReheat'))THEN
              UnitarySystem(UnitarySysNum)%DehumidControlType_Num = DehumidControl_CoolReheat
              UnitarySystem(UnitarySysNum)%Humidistat = .TRUE.
              IF(lAlphaBlanks(iSuppHeatCoilNameAlphaNum))THEN
              END IF
            END IF
            IF(SameString(Alphas(iDehumidControlAlphaNum),'None'))THEN
              UnitarySystem(UnitarySysNum)%DehumidControlType_Num = DehumidControl_None
              UnitarySystem(UnitarySysNum)%Humidistat = .FALSE.
            END IF
            IF(UnitarySystem(UnitarySysNum)%Humidistat .AND. &
               UnitarySystem(UnitarySysNum)%ControlType == LoadBased)THEN
              DO HstatZoneNum = 1, NumHumidityControlZones
                IF(HumidityControlZone(HstatZoneNum)%ActualZoneNum .NE. UnitarySystem(UnitarySysNum)%ControlZoneNum)CYCLE
                AirNodeFound=.TRUE.
              END DO
              IF (.not. AirNodeFound) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('Did not find Air Node (Zone with Humidistat).')
                CALL ShowContinueError('specified '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '// &
                                       TRIM(Alphas(iControlZoneAlphaNum)))
                ErrorsFound=.TRUE.
             END IF
            END IF
          ELSE ! invalid input
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iDehumidControlAlphaNum))//' = '// &
                                   TRIM(Alphas(iDehumidControlAlphaNum)))
            UnitarySystem(UnitarySysNum)%Humidistat = .FALSE.
            ErrorsFound=.TRUE.
          END IF
        END IF

        IF (lAlphaBlanks(iSysAvailSchedAlphaNum)) THEN
          UnitarySystem(UnitarySysNum)%SysAvailSchedPtr        = ScheduleAlwaysOn
        ELSE
          UnitarySystem(UnitarySysNum)%SysAvailSchedPtr        = GetScheduleIndex(Alphas(iSysAvailSchedAlphaNum))
          IF (UnitarySystem(UnitarySysNum)%SysAvailSchedPtr == 0) THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iSysAvailSchedAlphaNum))//' = '// &
                                   TRIM(Alphas(iSysAvailSchedAlphaNum)))
            ErrorsFound=.TRUE.
          END IF
        END IF

        UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum = &
            GetOnlySingleNode(Alphas(iAirInletNodeNameAlphaNum),ErrorsFound,CurrentModuleObject,Alphas(iNameAlphaNum), &
                     NodeType_Air,NodeConnectionType_Inlet,1,ObjectIsParent)
        UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum = &
            GetOnlySingleNode(Alphas(iAirOutletNodeNameAlphaNum),ErrorsFound,CurrentModuleObject,Alphas(iNameAlphaNum), &
                     NodeType_Air,NodeConnectionType_Outlet,1,ObjectIsParent)

         !Get fan data
        FanType = Alphas(iFanTypeAlphaNum)
        FanName = Alphas(iFanNameAlphaNum)

        IF(.NOT. lAlphaBlanks(iFanTypeAlphaNum))THEN
          IsNotOK=.FALSE.
          CALL GetFanType(FanName, UnitarySystem(UnitarySysNum)%FanType_Num, IsNotOK,   &
               CurrentModuleObject,Alphas(iNameAlphaNum))
          IF (IsNotOK) THEN
            ErrorsFound=.TRUE.
          END IF
          UnitarySystem(UnitarySysNum)%FanExists = .TRUE.
        END IF

        IF (UnitarySystem(UnitarySysNum)%FanType_Num == FanType_SimpleOnOff .OR. &
            UnitarySystem(UnitarySysNum)%FanType_Num == FanType_SimpleConstVolume .OR. &
            UnitarySystem(UnitarySysNum)%FanType_Num == FanType_SimpleVAV)THEN
          IsNotOK=.FALSE.
          CALL ValidateComponent(FanType,FanName,IsNotOK,TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from fan object

            ! Get the fan index
            ErrFlag=.FALSE.
            CALL GetFanIndex(FanName, UnitarySystem(UnitarySysNum)%FanIndex, ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get the Design Fan Volume Flow Rate
            ErrFlag=.FALSE.
            FanVolFlowRate = GetFanDesignVolumeFlowRate(FanType,FanName,ErrFlag)
            IF(FanVolFlowRate == Autosize)UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            UnitarySystem(UnitarySysNum)%ActualFanVolFlowRate = FanVolFlowRate
            UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = FanVolFlowRate
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get the Fan Inlet Node
            ErrFlag=.FALSE.
            FanInletNode = GetFanInletNode(FanType,FanName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get the Fan Outlet Node
            ErrFlag=.FALSE.
            FanOutletNode = GetFanOutletNode(FanType,FanName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get the fan's availability schedule
            ErrFlag=.FALSE.
            UnitarySystem(UnitarySysNum)%FanAvailSchedPtr = GetFanAvailSchPtr(FanType,FanName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

          END IF ! IF (IsNotOK) THEN

        ELSEIF(UnitarySystem(UnitarySysNum)%FanExists)THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iFanTypeAlphaNum))//' = '//TRIM(Alphas(iFanTypeAlphaNum)))
          ErrorsFound=.TRUE.
        END IF ! IF (UnitarySystem(UnitarySysNum)%FanType_Num...

        ! Add fan to component sets array
        IF(UnitarySystem(UnitarySysNum)%FanExists)CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                           Alphas(iFanTypeAlphaNum),Alphas(iFanNameAlphaNum),NodeID(FanInletNode),NodeID(FanOutletNode))

        IF (SameString(Alphas(iFanPlaceAlphaNum),'BlowThrough') )      &
               UnitarySystem(UnitarySysNum)%FanPlace = BlowThru
        IF (SameString(Alphas(iFanPlaceAlphaNum),'DrawThrough') )      &
              UnitarySystem(UnitarySysNum)%FanPlace = DrawThru
        IF (UnitarySystem(UnitarySysNum)%FanPlace .EQ.0 .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iFanPlaceAlphaNum))//' = '//TRIM(Alphas(iFanPlaceAlphaNum)))
          ErrorsFound = .TRUE.
        END IF

        UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr     = GetScheduleIndex(Alphas(iFanSchedAlphaNum))
        IF (.NOT. lAlphaBlanks(iFanSchedAlphaNum) .AND. UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr == 0) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iFanSchedAlphaNum))//' = '//TRIM(Alphas(iFanSchedAlphaNum)))
          ErrorsFound=.TRUE.
        ELSEIF (lAlphaBlanks(iFanSchedAlphaNum)) THEN
          IF(UnitarySystem(UnitarySysNum)%ControlType == SetPointBased)THEN
            ! Fan operating mode must be constant fan so that the coil outlet temp is proportional to PLR
            ! Cycling fan always outputs the full load outlet air temp so should not be used with set point based control
            UnitarySystem(UnitarySysNum)%FanOpMode = ContFanCycCoil
          ELSE
            UnitarySystem(UnitarySysNum)%FanOpMode = CycFanCycCoil
            IF(UnitarySystem(UnitarySysNum)%FanType_Num /= FanType_SimpleOnOff)THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError(TRIM(cAlphaFields(iFanTypeAlphaNum))//' = '//TRIM(Alphas(iFanTypeAlphaNum)))
              CALL ShowContinueError('Fan type must be Fan:OnOff when '//  &
                                     TRIM(cAlphaFields(iFanSchedAlphaNum))//' = Blank.')
              ErrorsFound=.TRUE.
            END IF
          END IF
        ELSE IF(.NOT. lAlphaBlanks(iFanSchedAlphaNum) .AND. UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr .GT. 0 .AND. &
                UnitarySystem(UnitarySysNum)%ControlType == SetPointBased)THEN
          IF (.NOT. CheckScheduleValueMinMax(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr,'>',0.0d0,'<=',1.0d0)) THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('For '//TRIM(cAlphaFields(iFanTypeAlphaNum))//' = '//TRIM(Alphas(iFanTypeAlphaNum)))
            CALL ShowContinueError('Fan operating mode must be continuous (fan operating mode schedule values > 0).')
            CALL ShowContinueError('Error found in '//TRIM(cAlphaFields(iFanSchedAlphaNum))//' = '//TRIM(Alphas(iFanSchedAlphaNum)))
            CALL ShowContinueError('...schedule values must be (>0., <=1.)')
            ErrorsFound=.TRUE.
          END IF
        END IF

        ! Check fan's schedule for cycling fan operation IF constant volume fan is used
        IF(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr .GT. 0 .AND. &
           UnitarySystem(UnitarySysNum)%FanType_Num == FanType_SimpleConstVolume)THEN
          IF (.NOT. CheckScheduleValueMinMax(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr,'>',0.0d0,'<=',1.0d0)) THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('For '//TRIM(cAlphaFields(iFanTypeAlphaNum))//' = '//TRIM(Alphas(iFanTypeAlphaNum)))
            CALL ShowContinueError('Fan operating mode must be continuous (fan operating mode schedule values > 0).')
            CALL ShowContinueError('Error found in '//TRIM(cAlphaFields(iFanSchedAlphaNum))//' = '// &
                                   TRIM(Alphas(iFanSchedAlphaNum)))
            CALL ShowContinueError('...schedule values must be (>0., <=1.)')
            ErrorsFound=.TRUE.
          END IF
        END IF

            !Get coil data
        HeatingCoilType = Alphas(iHeatingCoilTypeAlphaNum)
        HeatingCoilName = Alphas(iHeatingCoilNameAlphaNum)
        IF(NumNumbers .GT. (iHeatingCoilSizeRatioNumericNum-1))THEN
          HeatingSizingRatio = Numbers(iHeatingCoilSizeRatioNumericNum)
          UnitarySystem(UnitarySysNum)%HeatingSizingRatio = HeatingSizingRatio
        ELSE
          HeatingSizingRatio = 1.0d0
        END IF
        HeatingCoilPLFCurveIndex = 0
        UnitarySystem(UnitarySysNum)%HeatingCoilName = HeatingCoilName
        IF(.NOT. lAlphaBlanks(iHeatingCoilTypeAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%HeatCoilExists = .TRUE.
          PrintMessage = .FALSE.
        END IF

        IF (SameString(HeatingCoilType, 'Coil:Heating:DX:VariableSpeed') )THEN
          UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingAirToAirVariableSpeed
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:DX:MultiSpeed')) THEN
          UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = CoilDX_MultiSpeedHeating
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:Water')) THEN
          UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingWater
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:Steam')) THEN
          UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingSteam
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:WaterToAirHeatPump:EquationFit')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingWaterToAirHPSimple
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:WaterToAirHeatPump:ParameterEstimation')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingWaterToAirHP
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingWaterToAirHPVSEquationFit
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:Electric:MultiStage')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingElectric_MultiStage
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:Gas:MultiStage')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = Coil_HeatingGas_MultiStage
        ELSEIF (SameString(HeatingCoilType,'Coil:Heating:Gas')          .OR. &
                SameString(HeatingCoilType,'Coil:Heating:Electric')     .OR. &
                SameString(HeatingCoilType,'Coil:Heating:Desuperheater')) THEN
            UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = GetHeatingCoilTypeNum(HeatingCoilType,HeatingCoilName,ErrFlag)
        ELSE IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
          UnitarySystem(UnitarySysNum)%HeatingCoilType_Num = &
                 GetDXCoilTypeNum(HeatingCoilType,HeatingCoilName,ErrFlag,PrintMessage)
        END IF

        IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)  THEN

          UnitarySystem(UnitarySysNum)%DXHeatingCoil = .TRUE.
          ErrFlag = .FALSE.

          CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from DX heating coil

            ! Get DX heating coil index
            CALL GetDXCoilIndex(HeatingCoilName,UnitarySystem(UnitarySysNum)%HeatingCoilIndex,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = GetDXCoilAvailSchPtr(HeatingCoilType,HeatingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            ! Get DX heating coil capacity
            UnitarySystem(UnitarySysNum)%DesignHeatingCapacity =    &
               GetDXCoilCapacity(HeatingCoilType,HeatingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            ! Get DX coil air flow rate.
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow   = GetDXCoilAirFlow(HeatingCoilType,HeatingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            ! Get the Heating Coil Nodes
            HeatingCoilInletNode = GetDXCoilInletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
            HeatingCoilOutletNode = GetDXCoilOutletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            CALL SetDXCoolingCoilData(UnitarySystem(UnitarySysNum)%HeatingCoilIndex,ErrorsFound, &
                                      HeatSizeRatio=HeatingSizingRatio)
          END IF

        ELSEIF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit) THEN

          UnitarySystem(UnitarySysNum)%DXHeatingCoil = .TRUE.

          CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.
          ELSE

            UnitarySystem(UnitarySysNum)%HeatingCoilIndex = GetCoilIndexVariableSpeed(HeatingCoilType, HeatingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            UnitarySystem(UnitarySysNum)%NumOfSpeedHeating = GetVSCoilNumOfSpeeds(HeatingCoilName,ErrFlag)

            UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = ScheduleAlwaysOn

            HeatingCoilInletNode=GetCoilInletNodeVariableSpeed(HeatingCoilType, HeatingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            HeatingCoilOutletNode=GetCoilOutletNodeVariableSpeed(HeatingCoilType, HeatingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

          END IF
        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating) THEN
          UnitarySystem(UnitarySysNum)%DXHeatingCoil = .TRUE.
          ErrFlag = .FALSE.
          CALL GetDXCoilIndex(HeatingCoilName,UnitarySystem(UnitarySysNum)%HeatingCoilIndex, &
                              ErrFlag, TRIM(HeatingCoilType))
          IF(ErrFlag) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.true.
            ErrFlag = .FALSE.
          END IF

          UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = GetDXCoilAvailSchPtr(HeatingCoilType,HeatingCoilName,ErrFlag)

          HeatingCoilInletNode = GetDXCoilInletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
          IF(ErrFlag)THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound = .TRUE.
            ErrFlag = .FALSE.
          END IF
          HeatingCoilOutletNode = GetDXCoilOutletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
          IF(ErrFlag)THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound = .TRUE.
            ErrFlag = .FALSE.
          END IF

!            IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow == Autosize) &
!                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!            IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
!                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingElectric_MultiStage .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas_MultiStage ) THEN

          ErrFlag = .FALSE.
          CALL GetHeatingCoilIndex(HeatingCoilName,UnitarySystem(UnitarySysNum)%HeatingCoilIndex, ErrFlag)
          IF (ErrFlag) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.
            ErrFlag = .FALSE.
          END IF
          HeatingCoilInletNode = GetHeatingCoilInletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
          IF (ErrFlag) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.
            ErrFlag = .FALSE.
          END IF
          HeatingCoilOutletNode = GetHeatingCoilOutletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
          IF (ErrFlag) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.
            ErrFlag = .FALSE.
          END IF

          UnitarySystem(UnitarySysNum)%DesignHeatingCapacity =    &
            GetHeatingCoilCapacity(HeatingCoilType,HeatingCoilName,ErrFlag)

!            IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow == Autosize) &
!                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
          IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
               UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas          .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingElectric     .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingDesuperheater) THEN
            ErrFlag = .FALSE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            ELSE

              CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,  &
                                     TRIM(CurrentModuleObject))
              IF (IsNotOK) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.

              ELSE ! mine data from heating coil

                ! Get heating coil index
                ErrFlag=.FALSE.
                CALL GetHeatingCoilIndex(HeatingCoilName,UnitarySystem(UnitarySysNum)%HeatingCoilIndex,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                  ErrFlag=.FALSE.
                END IF

                ! Get the design heating capacity
                UnitarySystem(UnitarySysNum)%DesignHeatingCapacity =   &
                   GetHeatingCoilCapacity(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                  ErrFlag=.FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = &
                       GetCoilAvailScheduleIndex(HeatingCoilType,HeatingCoilName,ErrFlag)

                ! Get the Heating Coil Inlet Node
                HeatingCoilInletNode = &
                       GetHeatingCoilInletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                  ErrFlag=.FALSE.
                END IF

                ! Get the Heating Coil Outlet Node
                HeatingCoilOutletNode = &
                       GetHeatingCoilOutletNode(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                  ErrFlag=.FALSE.
                END IF

                ! Get the Heating Coil PLF Curve Index
                HeatingCoilPLFCurveIndex = &
                       GetHeatingCoilPLFCurveIndex(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                  ErrFlag=.FALSE.
                END IF
               ! These heating coil types do not have an air flow input field
               IF(NumNumbers < iMaxHeatAirVolFlowNumericNum)THEN
                 UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = Autosize
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
               END IF
              END IF ! IF (IsNotOK) THEN

            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWater) THEN
            CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = &
                       GetWaterCoilAvailScheduleIndex(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%HeatingCoilIndex = GetWaterCoilIndex('COIL:HEATING:WATER',HeatingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%HeatingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatingCoilNameAlphaNum))//' = ' &
                                  //TRIM(HeatingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil water Inlet or control Node number
                UnitarySystem(UnitarySysNum)%HeatCoilFluidInletNode = &
                    GetCoilWaterInletNode('Coil:Heating:Water',HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil hot water max volume flow rate
                UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow = GetCoilMaxWaterFlowRate('Coil:Heating:Water',  &
                                                           HeatingCoilName,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Inlet Node
                HeatingCoilInletNode =  GetWaterCoilInletNode('Coil:Heating:Water',HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Outlet Node
                HeatingCoilOutletNode = GetWaterCoilOutletNode('Coil:Heating:Water',HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingSteam) THEN
            CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = &
                       GetSteamCoilAvailScheduleIndex(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%HeatingCoilIndex = GetSteamCoilIndex('COIL:HEATING:STEAM',HeatingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%HeatingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatingCoilNameAlphaNum))//' = ' &
                                  //TRIM(HeatingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil steam inlet node number
                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%HeatCoilFluidInletNode = &
                    GetSteamCoilSteamInletNode('Coil:Heating:Steam',HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil steam max volume flow rate
                UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow = &
                    GetCoilMaxSteamFlowRate(UnitarySystem(UnitarySysNum)%HeatingCoilIndex,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

                IF (UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow .GT. 0.0d0)THEN
                  SteamIndex = 0      ! Function GetSatDensityRefrig will look up steam index if 0 is passed
                  SteamDensity=GetSatDensityRefrig("STEAM",TempSteamIn,1.0d0,SteamIndex,'GetAirLoopHVACHeatCoolInput')
                  UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow = &
                                UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow * SteamDensity
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Inlet Node
                ErrFlag = .FALSE.
                HeatingCoilInletNode = &
                         GetSteamCoilAirInletNode(UnitarySystem(UnitarySysNum)%HeatingCoilIndex,HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Outlet Node
                HeatingCoilOutletNode = &
                         GetSteamCoilAirOutletNode(UnitarySystem(UnitarySysNum)%HeatingCoilIndex,HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

               IF(NumNumbers < iMaxHeatAirVolFlowNumericNum)THEN
                 UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = Autosize
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
               END IF

            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple) THEN
            UnitarySystem(UnitarySysNum)%DXHeatingCoil = .TRUE.
            CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = ScheduleAlwaysOn
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%HeatingCoilIndex = GetWtoAHPSimpleCoilIndex(HeatingCoilType,HeatingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%HeatingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatingCoilNameAlphaNum))//' = ' &
                                  //TRIM(HeatingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Inlet Node
                ErrFlag = .FALSE.
                HeatingCoilInletNode = GetWtoAHPSimpleCoilInletNode(HeatingCoilType, HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Outlet Node
                HeatingCoilOutletNode = GetWtoAHPSimpleCoilOutletNode(HeatingCoilType, HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!                IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHP) THEN
            UnitarySystem(UnitarySysNum)%DXHeatingCoil = .TRUE.
            CALL ValidateComponent(HeatingCoilType,HeatingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%HeatingCoilAvailSchPtr = ScheduleAlwaysOn
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%HeatingCoilIndex =  GetWtoAHPCoilIndex(HeatingCoilType, HeatingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%HeatingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatingCoilNameAlphaNum))//' = ' &
                                  //TRIM(HeatingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Inlet Node
                ErrFlag = .FALSE.
                HeatingCoilInletNode = GetWtoAHPCoilInletNode(HeatingCoilType, HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Heating Coil Outlet Node
                HeatingCoilOutletNode = GetWtoAHPCoilOutletNode(HeatingCoilType, HeatingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!                IF(UnitarySystem(UnitarySysNum)%DesignHeatingCapacity == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!                IF(UnitarySystem(UnitarySysNum)%MaxHeatCoilFluidFlow == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            END IF

        ELSEIF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatingCoilTypeAlphaNum))//' = '// &
                                 TRIM(Alphas(iHeatingCoilTypeAlphaNum)))
          ErrorsFound=.TRUE.
        END IF ! IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas .OR. &, etc.

        IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingElectric_MultiStage .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas_MultiStage) THEN
          UnitarySystem(UnitarySysNum)%MultiSpeedHeatingCoil = .TRUE.
        ELSEIF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed ) THEN
          UnitarySystem(UnitarySysNum)%VarSpeedHeatingCoil = .TRUE.
        END IF

        ! coil outlet node set point has priority, IF not exist, then use system outlet node
        IF(NodeHasSPMCtrlVarType(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum, iCtrlVarType_Temp)) &
            UnitarySystem(UnitarySysNum)%SystemHeatControlNodeNum = UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum
        IF(NodeHasSPMCtrlVarType(HeatingCoilOutletNode, iCtrlVarType_Temp)) &
          UnitarySystem(UnitarySysNum)%SystemHeatControlNodeNum = HeatingCoilOutletNode

        UnitarySystem(UnitarySysNum)%HeatCoilInletNodeNum  = HeatingCoilInletNode
        UnitarySystem(UnitarySysNum)%HeatCoilOutletNodeNum = HeatingCoilOutletNode
        UnitarySystem(UnitarySysNum)%HeatingCoilName       = HeatingCoilName

        ! Add heating coil to component sets array
        IF(UnitarySystem(UnitarySysNum)%HeatCoilExists) THEN
          IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num .NE. CoilDX_MultiSpeedHeating) THEN
            CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                               Alphas(iHeatingCoilTypeAlphaNum),Alphas(iHeatingCoilNameAlphaNum), &
                               NodeID(HeatingCoilInletNode), NodeID(HeatingCoilOutletNode))
          ELSE
            CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                               Alphas(iHeatingCoilTypeAlphaNum),Alphas(iHeatingCoilNameAlphaNum), &
                               'UNDEFINED', 'UNDEFINED')
          END IF
        END IF
        ! Get Cooling Coil Information IF available
        CoolingCoilType = Alphas(iCoolingCoilTypeAlphaNum)
        CoolingCoilName = Alphas(iCoolingCoilNameAlphaNum)
        IF(.NOT. lAlphaBlanks(iCoolingCoilTypeAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%CoolCoilExists = .TRUE.

!       Find the type of coil. do not print message since this may not be the correct coil type.
        ErrFlag = .FALSE.
        IF (SameString(CoolingCoilType, 'Coil:Cooling:DX:VariableSpeed') )THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingAirToAirVariableSpeed
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:DX:MultiSpeed')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = CoilDX_MultiSpeedCooling
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:Water')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingWater
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:Water:DetailedGeometry')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingWaterDetailed
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:DX:TwoStageWithHumidityControlMode')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = CoilDX_CoolingTwoStageWHumControl
        ELSEIF (SameString(CoolingCoilType,'CoilSystem:Cooling:DX:HeatExchangerAssisted')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = &
                 GetHXAssistedCoilTypeNum(CoolingCoilType,CoolingCoilName,ErrFlag,PrintMessage)
        ELSEIF (SameString(CoolingCoilType,'CoilSystem:Cooling:Water:HeatExchangerAssisted')) THEN
          ! why use a mining function, why not just set it using the integer representation?
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = &
                 GetHXAssistedCoilTypeNum(CoolingCoilType,CoolingCoilName,ErrFlag,PrintMessage)
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:WaterToAirHeatPump:EquationFit')) THEN
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingWaterToAirHPSimple
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:WaterToAirHeatPump:ParameterEstimation')) THEN
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingWaterToAirHP
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit')) THEN
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = Coil_CoolingWaterToAirHPVSEquationFit
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:DX:SingleSpeed')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = &
                 GetDXCoilTypeNum(CoolingCoilType,CoolingCoilName,ErrFlag,PrintMessage)
        ELSEIF (SameString(CoolingCoilType,'Coil:Cooling:DX:TwoSpeed')) THEN
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num = &
                 GetDXCoilTypeNum(CoolingCoilType,CoolingCoilName,ErrFlag,PrintMessage)
        ELSE
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iCoolingCoilTypeAlphaNum))//' = '// &
                                 TRIM(Alphas(iCoolingCoilTypeAlphaNum)))
        END IF

        IF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingSingleSpeed .OR. &
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingTwoSpeed)THEN
          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from DX cooling coil

            IF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingTwoSpeed) &
                 UnitarySystem(UnitarySysNum)%NumOfSpeedCooling = 2

            ! Get DX cooling coil index
            CALL GetDXCoilIndex(CoolingCoilName,UnitarySystem(UnitarySysNum)%CoolingCoilIndex,IsNotOK)
            IF(IsNotOK)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = GetDXCoilAvailSchPtr(CoolingCoilType,CoolingCoilName,ErrFlag)

            ! Get DX cooling coil capacity
            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%DesignCoolingCapacity =    &
                 GetDXCoilCapacity(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%DesignCoolingCapacity == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get DX coil air flow rate. Latter fields will overwrite this IF input field is present
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow   = GetDXCoilAirFlow(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            ! Get the Cooling Coil Nodes
            ErrFlag=.FALSE.
            CoolingCoilInletNode = GetDXCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            CoolingCoilOutletNode = GetDXCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get Outdoor condenser node from DX coil object
            ErrFlag=.FALSE.
            UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
                    GetDXCoilCondenserInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            IF(UnitarySystem(UnitarySysNum)%FanExists)THEN
              ErrFlag = .FALSE.
              CALL GetFanIndex(FanName,FanIndex,ErrFlag,CurrentModuleObject)
              CALL SetDXCoolingCoilData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrFlag, &
                                        SupplyFanName=FanName)
              CALL SetDXCoolingCoilData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrFlag, &
                                        SupplyFanIndex=FanIndex)
              IF (ErrFlag) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
              END IF
            END IF
            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

          END IF ! IF (IsNotOK) THEN

          ! Push heating coil PLF curve index to DX coil
          IF(HeatingCoilPLFCurveIndex .GT. 0)THEN
            CALL SetDXCoolingCoilData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrorsFound, &
                                      HeatingCoilPLFCurvePTR=HeatingCoilPLFCurveIndex)
          END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingTwoStageWHumControl)THEN
          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from DX cooling coil

            ! Get DX cooling coil index
            CALL GetDXCoilIndex(CoolingCoilName,UnitarySystem(UnitarySysNum)%CoolingCoilIndex,IsNotOK)
            IF(IsNotOK)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = GetDXCoilAvailSchPtr(CoolingCoilType,CoolingCoilName,ErrFlag)

            ! Get DX cooling coil capacity
            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%DesignCoolingCapacity =    &
                 GetDXCoilCapacity(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%DesignCoolingCapacity == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get DX coil air flow rate. Later fields will overwrite this IF input field is present
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow   = GetDXCoilAirFlow(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            ! Get the Cooling Coil Nodes
            ErrFlag=.FALSE.
            CoolingCoilInletNode = GetDXCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            CoolingCoilOutletNode = GetDXCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get Outdoor condenser node from DX coil object
            ErrFlag=.FALSE.
            UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
                    GetDXCoilCondenserInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

          END IF ! IF (IsNotOK) THEN

          ! Push heating coil PLF curve index to DX coil
          IF(HeatingCoilPLFCurveIndex .GT. 0)THEN
            CALL SetDXCoolingCoilData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrorsFound, &
                                      HeatingCoilPLFCurvePTR=HeatingCoilPLFCurveIndex)
          END IF

            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingHXAssisted)THEN
          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from heat exchanger assisted cooling coil

            ! Get DX heat exchanger assisted cooling coil index
            CALL GetHXDXCoilIndex(CoolingCoilName,UnitarySystem(UnitarySysNum)%CoolingCoilIndex,IsNotOK)
            IF(IsNotOK)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = &
              GetDXCoilAvailSchPtr(CALLCoilTypes(UnitarySystem(UnitarySysNum)%CoolingCoilIndex), &
                                   GetHXDXCoilName(CoolingCoilType,CoolingCoilName,IsNotOK),ErrFlag)

            ! Get DX cooling coil capacity
            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%DesignCoolingCapacity =    &
               GetDXHXAsstdCoilCapacity(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%DesignCoolingCapacity == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get the Cooling Coil Nodes
            ErrFlag=.FALSE.
            CoolingCoilInletNode = GetDXHXAsstdCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            CoolingCoilOutletNode = GetDXHXAsstdCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get Outdoor condenser node from heat exchanger assisted DX coil object
            ErrFlag=.FALSE.
            UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
                GetDXCoilCondenserInletNode('COIL:COOLING:DX:SINGLESPEED', &
                GetHXDXCoilName(CoolingCoilType,CoolingCoilName,ErrFlag), ErrFlag)

            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Push heating coil PLF curve index to DX coil
            IF(HeatingCoilPLFCurveIndex .GT. 0)THEN
              ! get the actual index to the DX cooling coil object
              DXCoilIndex = GetActualDXCoilIndex(CoolingCoilType,CoolingCoilName,ErrorsFound)
              UnitarySystem(UnitarySysNum)%ActualDXCoilIndexforHXAssisted = DXCoilIndex
              CALL SetDXCoolingCoilData(DXCoilIndex,ErrorsFound, &
                                        HeatingCoilPLFCurvePTR=HeatingCoilPLFCurveIndex)
            END IF

            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

          END IF ! IF (IsNotOK) THEN
        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilWater_CoolingHXAssisted)THEN
          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
            CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.

          ELSE ! mine data from heat exchanger assisted cooling coil

            ErrFlag = .FALSE.
            ActualCoolCoilType = GetCoilObjectTypeNum(CoolingCoilType,CoolingCoilName,ErrFlag,.TRUE.)
            HXCoilName = GetHXDXCoilName(CoolingCoilType,CoolingCoilName,ErrFlag)

            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Get DX heat exchanger assisted cooling coil index
            ErrFlag = .FALSE.
            CALL GetHXDXCoilIndex(CoolingCoilName,UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = &
              GetWaterCoilAvailScheduleIndex(cAllCoilTypes(ActualCoolCoilType),HXCoilName,ErrFlag)
            UnitarySystem(UnitarySysNum)%MaxCoolCoilFluidFlow = &
              GetCoilMaxWaterFlowRate(cAllCoilTypes(ActualCoolCoilType),HXCoilName,ErrFlag)
            ! Get the Cooling Coil water Inlet Node number
            UnitarySystem(UnitarySysNum)%CoolCoilFluidInletNode = &
              GetCoilWaterInletNode(cAllCoilTypes(ActualCoolCoilType),HXCoilName,ErrFlag)
!            UnitarySystem(UnitarySysNum)%CoolCoilFluidOutletNodeNum = &
!              GetCoilWaterOutletNode(cAllCoilTypes(ActualCoolCoilType),HXCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

   ! this needs to be the coil index, not the parent
   ! CAN't do this here, we need to know the air flow rate first
!            UnitarySystem(UnitarySysNum)%DesignCoolingCapacity =    &
!               GetDXHXAsstdCoilCapacity(CoolingCoilType,CoolingCoilName,ErrFlag)
!            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = GetDXCoilAvailSchPtr(CoolingCoilType,CoolingCoilName,ErrFlag)

            ! Get the Cooling Coil Nodes
            ErrFlag=.FALSE.
            CoolingCoilInletNode = GetDXHXAsstdCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            CoolingCoilOutletNode = GetDXHXAsstdCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow = GetHXCoilAirFlowRate(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            UnitarySystem(UnitarySysNum)%CondenserNodeNum = 0
           IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF

            ! Push heating coil PLF curve index to DX coil
            IF(HeatingCoilPLFCurveIndex .GT. 0)THEN
              ! get the actual index to the DX cooling coil object
              DXCoilIndex = GetActualDXCoilIndex(CoolingCoilType,CoolingCoilName,ErrorsFound)
              UnitarySystem(UnitarySysNum)%ActualDXCoilIndexforHXAssisted = DXCoilIndex
              CALL SetDXCoolingCoilData(DXCoilIndex,ErrorsFound, &
                                        HeatingCoilPLFCurvePTR=HeatingCoilPLFCurveIndex)
            END IF

            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

          END IF ! IF (IsNotOK) THEN
        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHPVSEquationFit)THEN
          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,  &
                                 TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.TRUE.
          ELSE
            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%CoolingCoilIndex = GetCoilIndexVariableSpeed(CoolingCoilType, &
                        CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            CoolingCoilInletNode =GetCoilInletNodeVariableSpeed(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            CoolingCoilOutletNode =GetCoilOutletNodeVariableSpeed(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            UnitarySystem(UnitarySysNum)%CondenserNodeNum = GetVSCoilCondenserInletNode(CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = ScheduleAlwaysOn

            UnitarySystem(UnitarySysNum)%NumOfSpeedCooling = GetVSCoilNumOfSpeeds(CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
              ErrFlag = .FALSE.
            END IF

            ErrFlag=.FALSE.
            UnitarySystem(UnitarySysNum)%DesignCoolingCapacity =   &
              GetCoilCapacityVariableSpeed(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%DesignCoolingCapacity == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF
          END IF

          ! why was this done?
          IF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed) THEN
             ErrFlag=.FALSE.
             UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow       &
                = GetCoilAirFlowRateVariableSpeed(CoolingCoilType,CoolingCoilName,ErrFlag)
             IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == Autosize) &
                  UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

             IF (ErrFlag) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
             END IF

!            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = &
!                 MIN(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow,UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow)
!            IF(UnitarySystem(UnitarySysNum)%FanExists)THEN
!              IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow /= Autosize .AND. &
!                 UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow /= Autosize .AND. &
!                 .NOT. UnitarySystem(UnitarySysNum)%RequestAutosize)THEN
!                 UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = &
!                   MAX(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow,UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow)
!              ELSE
!                UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = Autosize
!              END IF
!            END IF
          END IF

          IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
            IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
              UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
            END IF
          END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_MultiSpeedCooling) THEN
          ErrFlag = .FALSE.
          CALL GetDXCoilIndex(CoolingCoilName,UnitarySystem(UnitarySysNum)%CoolingCoilIndex, &
                              ErrFlag, TRIM(CoolingCoilType))
          IF(ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.true.
            ErrFlag = .FALSE.
          END IF

          UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = GetDXCoilAvailSchPtr(CoolingCoilType,CoolingCoilName,ErrFlag)

          CoolingCoilInletNode = GetDXCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
          IF(ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.true.
            ErrFlag = .FALSE.
          END IF
          CoolingCoilOutletNode = GetDXCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
          IF(ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            ErrorsFound=.true.
            ErrFlag = .FALSE.
          END IF

!          IF(UnitarySystem(UnitarySysNum)%DesignCoolingCapacity == Autosize) &
!               UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

          IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
            IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
               UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
              UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
            END IF
          END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWater .OR. &
                UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterDetailed) THEN

          CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,TRIM(CurrentModuleObject))
          IF (IsNotOK) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
          ELSE ! mine data from Cooling coil object

            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = &
                 GetWaterCoilAvailScheduleIndex(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF

            UnitarySystem(UnitarySysNum)%CoolingCoilIndex = GetWaterCoilIndex(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF (UnitarySystem(UnitarySysNum)%CoolingCoilIndex .EQ. 0) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(iCoolingCoilNameAlphaNum))//' = ' &
                              //TRIM(HeatingCoilName))
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF

            ! Get the Cooling Coil water Inlet Node number
            UnitarySystem(UnitarySysNum)%CoolCoilFluidInletNode = GetCoilWaterInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF

            InletNodeNotControlled = .TRUE.
          !  CALL CheckCoilWaterInletNode(UnitarySystem(UnitarySysNum)%CoolCoilFluidInletNode,InletNodeNotControlled)
            IF(.NOT. InletNodeNotControlled)THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError(TRIM(ControllerTypes(ControllerSimple_Type))//' found for '// &
                                     TRIM(CoolingCoilType)//' = "'//TRIM(CoolingCoilName)//'."')
              CALL ShowContinueError('...water coil controllers are not used with '// &
                                      TRIM(UnitarySystem(UnitarySysNum)%UnitarySystemType))
              ErrorsFound = .TRUE.
            END IF

            ! Get the Cooling Coil chilled water max volume flow rate
            ErrFlag = .FALSE.
            UnitarySystem(UnitarySysNum)%MaxCoolCoilFluidFlow = GetCoilMaxWaterFlowRate(CoolingCoilType,  &
                                           CoolingCoilName,ErrFlag)
            IF(UnitarySystem(UnitarySysNum)%MaxCoolCoilFluidFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF

            ! Get the Cooling Coil Inlet Node
            CoolingCoilInletNode =  GetWaterCoilInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF

            ! Get the Cooling Coil Outlet Node
            CoolingCoilOutletNode = GetWaterCoilOutletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
            IF(ErrFlag)THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound = .TRUE.
              ErrFlag = .FALSE.
            END IF
          END IF
        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHPSimple) THEN
            CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            ELSE ! mine data from Cooling coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = ScheduleAlwaysOn
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%CoolingCoilIndex =  GetWtoAHPSimpleCoilIndex(CoolingCoilType,CoolingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%CoolingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iCoolingCoilNameAlphaNum))//' = ' &
                                  //TRIM(CoolingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Cooling Coil Inlet Node
                ErrFlag = .FALSE.
                CoolingCoilInletNode = GetWtoAHPSimpleCoilInletNode(CoolingCoilType, CoolingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Cooling Coil Outlet Node
                CoolingCoilOutletNode = GetWtoAHPSimpleCoilOutletNode(CoolingCoilType, CoolingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%MaxCoolCoilFluidFlow == Autosize) &
!                     UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            END IF

            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHP) THEN
            CALL ValidateComponent(CoolingCoilType,CoolingCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
                CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.
            ELSE ! mine data from Cooling coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%CoolingCoilAvailSchPtr = ScheduleAlwaysOn
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                UnitarySystem(UnitarySysNum)%CoolingCoilIndex =  GetWtoAHPCoilIndex(CoolingCoilType, CoolingCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%CoolingCoilIndex .EQ. 0) THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iCoolingCoilNameAlphaNum))//' = ' &
                                  //TRIM(CoolingCoilName))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Cooling Coil Inlet Node
                ErrFlag = .FALSE.
                CoolingCoilInletNode = GetWtoAHPCoilInletNode(CoolingCoilType, CoolingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

                ! Get the Cooling Coil Outlet Node
                CoolingCoilOutletNode = GetWtoAHPCoilOutletNode(CoolingCoilType, CoolingCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                  ErrFlag = .FALSE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%MaxCoolCoilFluidFlow == Autosize) &
!                     UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            END IF

            IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
              IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                 UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical)THEN
                UnitarySystem(UnitarySysNum)%HeatPump = .TRUE.
              END IF
            END IF

        ELSE ! IF(.NOT. lAlphaBlanks(16))THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iCoolingCoilTypeAlphaNum))//' = '// &
                                 TRIM(Alphas(iCoolingCoilTypeAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

        IF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_MultiSpeedCooling) THEN
          UnitarySystem(UnitarySysNum)%MultiSpeedCoolingCoil = .TRUE.
        ELSEIF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHPVSEquationFit .OR. &
           UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed) THEN
          UnitarySystem(UnitarySysNum)%VarSpeedCoolingCoil = .TRUE.
        END IF

        IF(NodeHasSPMCtrlVarType(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum, iCtrlVarType_Temp)) &
            UnitarySystem(UnitarySysNum)%SystemCoolControlNodeNum = UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum
        IF(NodeHasSPMCtrlVarType(CoolingCoilOutletNode, iCtrlVarType_Temp)) &
          UnitarySystem(UnitarySysNum)%SystemCoolControlNodeNum = CoolingCoilOutletNode

        UnitarySystem(UnitarySysNum)%CoolCoilInletNodeNum  = CoolingCoilInletNode
        UnitarySystem(UnitarySysNum)%CoolCoilOutletNodeNum = CoolingCoilOutletNode
        UnitarySystem(UnitarySysNum)%CoolingCoilName       = CoolingCoilName

        END IF

        IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPSimple .AND. &
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHPSimple) THEN
          UnitarySystem(UnitarySysNum)%WaterCyclingMode = WaterCycling
          CALL SetSimpleWSHPData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrorsFound, &
                                 UnitarySystem(UnitarySysNum)%WaterCyclingMode, &
                                 CompanionHeatingCoilNum=UnitarySystem(UnitarySysNum)%HeatingCoilIndex)
        END IF

        IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit .AND. &
            UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingWaterToAirHPVSEquationFit) THEN
          CALL SetVarSpeedCoilData(UnitarySystem(UnitarySysNum)%CoolingCoilIndex,ErrorsFound, &
                                CompanionHeatingCoilNum=UnitarySystem(UnitarySysNum)%HeatingCoilIndex)
        END IF

        ! Add cooling coil to component sets array
        IF(UnitarySystem(UnitarySysNum)%CoolCoilExists) THEN
          IF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num .NE. CoilDX_MultiSpeedCooling) THEN
            CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                               Alphas(iCoolingCoilTypeAlphaNum), Alphas(iCoolingCoilNameAlphaNum), &
                               NodeID(CoolingCoilInletNode), NodeID(CoolingCoilOutletNode))
          ELSE
            CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                               Alphas(iCoolingCoilTypeAlphaNum), Alphas(iCoolingCoilNameAlphaNum), &
                               'UNDEFINED', 'UNDEFINED')
          END IF
        END IF
        ! Run as 100% DOAS DX coil
        IF (lAlphaBlanks(iDOASDXCoilAlphaNum) .AND. NumAlphas < iDOASDXCoilAlphaNum)THEN
            UnitarySystem(UnitarySysNum)%ISHundredPercentDOASDXCoil= .FALSE.
        ELSE
            IF (SameString(Alphas(iDOASDXCoilAlphaNum),'Yes')) THEN
              UnitarySystem(UnitarySysNum)%ISHundredPercentDOASDXCoil= .TRUE.
            ELSEIF (SameString(Alphas(iDOASDXCoilAlphaNum),' ')) THEN
              UnitarySystem(UnitarySysNum)%ISHundredPercentDOASDXCoil= .FALSE.
            ELSEIF (SameString(Alphas(iDOASDXCoilAlphaNum),'No')) THEN
              UnitarySystem(UnitarySysNum)%ISHundredPercentDOASDXCoil= .FALSE.
            ELSE
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Invalid entry for '//TRIM(cAlphaFields(iDOASDXCoilAlphaNum))//' :'// &
                                     TRIM(Alphas(iDOASDXCoilAlphaNum)))
              CALL ShowContinueError('Must be Yes or No.')
            END IF
        END IF

        ! considered as as 100% DOAS DX cooling coil
        IF (UnitarySystem(UnitarySysNum)%ISHundredPercentDOASDXCoil) THEN
           ! set the system DX Coil application type to the child DX coil
           CALL SetDXCoilTypeData(UnitarySystem(UnitarySysNum)%CoolingCoilName)
        END IF
        ! DOAS DX Cooling Coil Leaving Minimum Air Temperature
        IF (NumNumbers > 0)THEN
          IF (.NOT. lNumericBlanks(iDOASDXMinTempNumericNum))THEN
             UnitarySystem(UnitarySysNum)%DOASDXCoolingCoilMinTout = Numbers(iDOASDXMinTempNumericNum)
          END IF
        END IF

        !Get Latent Load Control flag
        IF(.NOT. lAlphaBlanks(iRunOnLatentLoadAlphaNum))THEN
          IF(SameString(Alphas(iRunOnLatentLoadAlphaNum),'SensibleOnlyLoadControl')) THEN
            UnitarySystem(UnitarySysNum)%RunOnSensibleLoad = .TRUE.
            UnitarySystem(UnitarySysNum)%RunOnLatentLoad = .FALSE.
          ELSE IF(SameString(Alphas(iRunOnLatentLoadAlphaNum),'LatentOnlyLoadControl'))THEN
            UnitarySystem(UnitarySysNum)%RunOnSensibleLoad = .FALSE.
            UnitarySystem(UnitarySysNum)%RunOnLatentLoad = .TRUE.
          ELSE IF(SameString(Alphas(iRunOnLatentLoadAlphaNum),'LatentOrSensibleLoadControl'))THEN
            UnitarySystem(UnitarySysNum)%RunOnSensibleLoad = .TRUE.
            UnitarySystem(UnitarySysNum)%RunOnLatentLoad = .TRUE.
          ELSE IF(SameString(Alphas(iRunOnLatentLoadAlphaNum),'LatentWithSensibleLoadControl'))THEN
            UnitarySystem(UnitarySysNum)%RunOnSensibleLoad = .TRUE.
            UnitarySystem(UnitarySysNum)%RunOnLatentLoad = .TRUE.
            UnitarySystem(UnitarySysNum)%RunOnLatentOnlyWithSensible = .TRUE.
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Invalid entry for '//TRIM(cAlphaFields(iRunOnLatentLoadAlphaNum))//' :'// &
                                   TRIM(Alphas(iRunOnLatentLoadAlphaNum)))
            CALL ShowContinueError('Must be SensibleOnlyLoadControl, LatentOnlyLoadControl,'// &
                                   ' LatentOrSensibleLoadControl, or LatentWithSensibleLoadControl.')
          END IF
        END IF

        !Get reheat coil data if humidistat is used
        SuppHeatCoilType = Alphas(iSuppHeatCoilTypeAlphaNum)
        SuppHeatCoilName = Alphas(iSuppHeatCoilNameAlphaNum)
        UnitarySystem(UnitarySysNum)%SuppHeatCoilName = SuppHeatCoilName
        ErrFlag = .FALSE.

        IF (SameString(SuppHeatCoilType,'Coil:Heating:Water')) THEN
          UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num = Coil_HeatingWater
        ELSEIF (SameString(SuppHeatCoilType,'Coil:Heating:Steam')) THEN
          UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num = Coil_HeatingSteam
        ELSEIF (SameString(SuppHeatCoilType,'Coil:Heating:Gas')          .OR. &
                SameString(SuppHeatCoilType,'Coil:Heating:Electric')     .OR. &
                SameString(SuppHeatCoilType,'Coil:Heating:DesuperHeater')) THEN
            UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num = GetHeatingCoilTypeNum(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
        END IF

        IF(.NOT. lAlphaBlanks(iSuppHeatCoilTypeAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%SuppCoilExists = .TRUE.

          IF (UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingGas          .OR. &
              UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingElectric     .OR. &
              UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingDesuperheater) THEN

            UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num = GetHeatingCoilTypeNum(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
            IF (ErrFlag) THEN
               CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               ErrorsFound=.TRUE.
            ELSE

              CALL ValidateComponent(SuppHeatCoilType,SuppHeatCoilName,IsNotOK,  &
                                   TRIM(CurrentModuleObject))
              IF (IsNotOK) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                ErrorsFound=.TRUE.

              ELSE ! mine data from reheat coil

                ! Get the heating coil index
                CALL GetHeatingCoilIndex(SuppHeatCoilName,UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex,IsNotOK)
                IF (IsNotOK) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                END IF

                ! Get the design supplemental heating capacity
                ErrFlag=.FALSE.
                UnitarySystem(UnitarySysNum)%DesignSuppHeatingCapacity =   &
                    GetHeatingCoilCapacity(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%DesignSuppHeatingCapacity == Autosize) &
                     UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                END IF

                ! Get the Reheat Coil Inlet Node
                ErrFlag=.FALSE.
                SupHeatCoilInletNode = GetHeatingCoilInletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                END IF

                ! Get the Reheat Coil Outlet Node
                ErrFlag=.FALSE.
                SupHeatCoilOutletNode = GetHeatingCoilOutletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
                IF (ErrFlag) THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound=.TRUE.
                END IF

              END IF  ! IF (IsNotOK) THEN
            END IF

            UnitarySystem(UnitarySysNum)%SuppCoilAirInletNode = SupHeatCoilInletNode
            UnitarySystem(UnitarySysNum)%SuppCoilAirOutletNode = SupHeatCoilOutletNode

          ELSEIF (UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingWater) THEN

            CALL ValidateComponent(SuppHeatCoilType,SuppHeatCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ! Get the Heating Coil water Inlet or control Node number
                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%SuppCoilFluidInletNode = &
                      GetCoilWaterInletNode('Coil:Heating:Water',SuppHeatCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

                ! Get the ReHeat Coil hot water max volume flow rate
                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow = GetCoilMaxWaterFlowRate('Coil:Heating:Water',  &
                                                           SuppHeatCoilName,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow == Autosize) &
                     UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

                ! Get the ReHeat Coil Inlet Node
                ErrFlag = .FALSE.
                SupHeatCoilInletNode =  GetWaterCoilInletNode('Coil:Heating:Water',SuppHeatCoilName,ErrFlag)
                UnitarySystem(UnitarySysNum)%SuppCoilAirInletNode = SupHeatCoilInletNode
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

                ! Get the ReHeat Coil Outlet Node
                ErrFlag = .FALSE.
                SupHeatCoilOutletNode = GetWaterCoilOutletNode('Coil:Heating:Water',SuppHeatCoilName,ErrFlag)
                UnitarySystem(UnitarySysNum)%SuppCoilAirOutletNode = SupHeatCoilOutletNode
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
!                IF(UnitarySystem(UnitarySysNum)%DesignSuppHeatingCapacity == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            END IF

          ELSEIF (UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingSteam) THEN

            CALL ValidateComponent(SuppHeatCoilType,SuppHeatCoilName,IsNotOK,TRIM(CurrentModuleObject))
            IF (IsNotOK) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            ELSE ! mine data from heating coil object

                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex = GetSTeamCoilIndex('COIL:HEATING:STEAM',SuppHeatCoilName,ErrFlag)
                IF (UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex .EQ. 0) THEN
                    CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                    CALL ShowSevereError('Illegal '//TRIM(cAlphaFields(iSuppHeatCoilNameAlphaNum))//' = ' &
                                  //TRIM(SuppHeatCoilName))
                    ErrorsFound = .TRUE.
                END IF

                ! Get the Heating Coil steam inlet node number
                ErrFlag = .FALSE.
                UnitarySystem(UnitarySysNum)%SuppCoilFluidInletNode = &
                    GetSteamCoilSteamInletNode('Coil:Heating:Steam',SuppHeatCoilName,ErrFlag)
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

                ! Get the Heating Coil steam max volume flow rate
                UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow = &
                    GetCoilMaxSteamFlowRate(UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex,ErrFlag)
                IF(UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow == Autosize) &
                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

                IF (UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow .GT. 0.0d0)THEN
                   SteamIndex = 0      ! Function GetSatDensityRefrig will look up steam index if 0 is passed
                   SteamDensity=GetSatDensityRefrig("STEAM",TempSteamIn,1.0d0,SteamIndex,'GetAirLoopHVACHeatCoolInput')
                   UnitarySystem(UnitarySysNum)%MaxSuppCoilFluidFlow = &
                                GetCoilMaxSteamFlowRate(UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex,ErrFlag) * SteamDensity
                END IF

                ! Get the Heating Coil Inlet Node
                ErrFlag = .FALSE.
                SupHeatCoilInletNode = &
                         GetSteamCoilAirInletNode(UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex,SuppHeatCoilName,ErrFlag)
                UnitarySystem(UnitarySysNum)%SuppCoilAirInletNode = SupHeatCoilInletNode
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

                ! Get the Heating Coil Outlet Node
                ErrFlag = .FALSE.
                SupHeatCoilOutletNode = &
                         GetSteamCoilAirOutletNode(UnitarySystem(UnitarySysNum)%SuppHeatCoilIndex,SuppHeatCoilName,ErrFlag)
                UnitarySystem(UnitarySysNum)%SuppCoilAirOutletNode = SupHeatCoilOutletNode
                IF(ErrFlag)THEN
                  CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  ErrorsFound = .TRUE.
                END IF

!                IF(UnitarySystem(UnitarySysNum)%DesignSuppHeatingCapacity == Autosize) &
!                   UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            END IF

          ELSE  ! Illegal reheating coil type
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iSuppHeatCoilTypeAlphaNum))//' = '// &
                                   TRIM(Alphas(iSuppHeatCoilTypeAlphaNum)))
            ErrorsFound=.TRUE.
          END IF ! IF (UnitarySystem(UnitarySysNum)%SuppHeatCoilType_Num == Coil_HeatingGas .OR. &, etc.

        END IF ! IF(.NOT. lAlphaBlanks(iSuppHeatCoilTypeAlphaNum))THEN

        IF(NodeHasSPMCtrlVarType(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum, iCtrlVarType_Temp)) &
            UnitarySystem(UnitarySysNum)%SuppHeatControlNodeNum = UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum
        IF(NodeHasSPMCtrlVarType(SupHeatCoilOutletNode, iCtrlVarType_Temp)) &
          UnitarySystem(UnitarySysNum)%SuppHeatControlNodeNum = SupHeatCoilOutletNode

        ! Add supplemental heating coil to component sets array
        IF(UnitarySystem(UnitarySysNum)%SuppCoilExists)CALL SetUpCompSets(CurrentModuleObject, Alphas(iNameAlphaNum), &
                             Alphas(iSuppHeatCoilTypeAlphaNum),Alphas(iSuppHeatCoilNameAlphaNum), &
                             NodeID(SupHeatCoilInletNode),NodeID(SupHeatCoilOutletNode))

        TotalZonesOnAirLoop = 0
        TotalFloorAreaOnAirLoop = 0.0d0
        AirLoopNumber = 0

 !***... only need to do this for load based control?
        ! Get the node number for the zone with the thermostat ! what if ControlZoneNum does = 0 if it's an OA sys?
        IF (UnitarySystem(UnitarySysNum)%ControlZoneNum >  0) THEN
          AirNodeFound=.FALSE.
          AirLoopFound=.FALSE.
          DO ControlledZoneNum = 1,NumOfZones
            IF (ZoneEquipConfig(ControlledZoneNum)%ActualZoneNum /= UnitarySystem(UnitarySysNum)%ControlZoneNum) CYCLE
!             Find the controlled zone number for the specified thermostat location
              UnitarySystem(UnitarySysNum)%NodeNumofControlledZone=ZoneEquipConfig(ControlledZoneNum)%ZoneNode
!             Determine if system is on air loop served by the thermostat location specified
              AirLoopNumber = ZoneEquipConfig(ControlledZoneNum)%AirLoopNum
              IF(AirLoopNumber .GT. 0)THEN
                DO BranchNum = 1, PrimaryAirSystem(AirLoopNumber)%NumBranches
                  DO CompNum = 1, PrimaryAirSystem(AirLoopNumber)%Branch(BranchNum)%TotalComponents
                    IF(.NOT. SameString(PrimaryAirSystem(AirLoopNumber)%Branch(BranchNum)%Comp(CompNum)%Name, &
                             Alphas(iNameAlphaNum)) .OR. &
                       .NOT. SameString(PrimaryAirSystem(AirLoopNumber)%Branch(BranchNum)%Comp(CompNum)%TypeOf, &
                             CurrentModuleObject))CYCLE
                    AirLoopFound=.TRUE.
                    EXIT
                  END DO
                  IF(AirLoopFound)EXIT
                END DO
                DO TstatZoneNum = 1, NumTempControlledZones
                  IF(TempControlledZone(TstatZoneNum)%ActualZoneNum .NE. UnitarySystem(UnitarySysNum)%ControlZoneNum)CYCLE
                  AirNodeFound=.TRUE.
                END DO
                DO TstatZoneNum = 1, NumComfortControlledZones
                  IF(ComfortControlledZone(TstatZoneNum)%ActualZoneNum .NE. UnitarySystem(UnitarySysNum)%ControlZoneNum)CYCLE
                  AirNodeFound=.TRUE.
                END DO
              END IF
            EXIT
          END DO
          IF(AirLoopNumber .GT. 0)THEN
            DO ControlledZoneNum = 1,NumOfZones
              IF (ZoneEquipConfig(ControlledZoneNum)%AirLoopNum == AirLoopNumber) THEN
                TotalZonesOnAirLoop = TotalZonesOnAirLoop + 1
                TotalFloorAreaOnAirLoop = TotalFloorAreaOnAirLoop+Zone(ZoneEquipConfig(ControlledZoneNum)%ActualZoneNum)%FloorArea
              END IF
            END DO
          ELSE
            IF (CurOASysNum > 0) THEN
!            IF(ALLOCATED(OutsideAirSys))THEN
              DO OASysNum = 1, NumOASystems
                DO OACompNum = 1, OutsideAirSys(OASysNum)%NumComponents
                  IF(.NOT. SameString(OutsideAirSys(OASysNum)%ComponentName(OACompNum), &
                           Alphas(iNameAlphaNum)) .OR. &
                     .NOT. SameString(OutsideAirSys(OASysNum)%ComponentType(OACompNum), &
                           CurrentModuleObject))CYCLE
                  AirLoopFound=.TRUE.
                  AirLoopNumber = OASysNum
                  UnitarySystem(UnitarySysNum)%AirLoopEquipment = .FALSE.
                  EXIT
                END DO
                IF(AirLoopFound)EXIT
              END DO
            END IF
          END IF
        ELSE ! this works IF it's zone equipment, but what IF it's air loop equipment?
          AirLoopScan: DO AirLoopNum = 1, NumPrimaryAirSys
            BranchScan: DO BranchNum = 1, PrimaryAirSystem(AirLoopNum)%NumBranches
              CompScan: DO CompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%TotalComponents
                IF(SameString(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%Name, Alphas(iNameAlphaNum)) .OR. &
                   SameString(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%TypeOf, CurrentModuleObject))THEN
                  AirLoopNumber = AirLoopNum
                  AirLoopFound=.TRUE.
                ELSE IF(PrimaryAirSystem(AirLoopNum)%OASysExists)THEN
                  IF(ALLOCATED(OutsideAirSys))THEN
                    OASysScan: DO OASysNum = 1, NumOASystems
                      IF(.NOT. SameString(OutsideAirSys(OASysNum)%Name, &
                               PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%Name) .OR. &
                         .NOT. SameString('AirloopHVAC:OutdoorAirSystem', &
                               PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%TypeOf))CYCLE
                      DO OACompNum = 1, OutsideAirSys(OASysNum)%NumComponents
                        IF(.NOT. SameString(OutsideAirSys(OASysNum)%ComponentName(OACompNum), &
                                 Alphas(iNameAlphaNum)) .OR. &
                           .NOT. SameString(OutsideAirSys(OASysNum)%ComponentType(OACompNum), &
                                 CurrentModuleObject))CYCLE
                        AirLoopFound=.TRUE.
                        AirLoopNumber = AirLoopNum
                        UnitarySystem(UnitarySysNum)%AirLoopEquipment = .FALSE.
                        EXIT
                      END DO
!                      IF(AirLoopFound)EXIT OASysScan  WHY aren't these working? I get a break here in the debugger
                    END DO OASysScan
                  END IF
                END IF
!                IF(AirLoopFound)EXIT CompScan
              END DO CompScan
!              IF(AirLoopFound)EXIT BranchScan
            END DO BranchScan
!            IF(AirLoopFound)EXIT AirLoopScan
          END DO AirLoopScan
          IF(.NOT. AirLoopFound)THEN
            DO ControlledZoneNum = 1,NumOfZones
              DO ZoneExhNum = 1, ZoneEquipConfig(ControlledZoneNum)%NumExhaustNodes
                IF (ZoneEquipConfig(ControlledZoneNum)%ExhaustNode(ZoneExhNum) /= &
                    UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum) CYCLE
!               Find the controlled zone number for the specified thermostat location
                UnitarySystem(UnitarySysNum)%NodeNumofControlledZone=ZoneEquipConfig(ControlledZoneNum)%ZoneNode
                UnitarySystem(UnitarySysNum)%ControlZoneNum = ControlledZoneNum
                TotalFloorAreaOnAirLoop = Zone(ZoneEquipConfig(ControlledZoneNum)%ActualZoneNum)%FloorArea
                UnitarySystem(UnitarySysNum)%AirLoopEquipment = .FALSE.
                UnitarySystem(UnitarySysNum)%ZoneInletNode = ZoneEquipConfig(ControlledZoneNum)%ExhaustNode(ZoneExhNum)
                IF (ZoneEquipConfig(ControlledZoneNum)%EquipListIndex > 0) THEN
                  DO EquipNum = 1, ZoneEquipList(ZoneEquipConfig(ControlledZoneNum)%EquipListIndex)%NumOfEquipTypes
                    IF ((ZoneEquipList(ZoneEquipConfig(ControlledZoneNum)%EquipListIndex)%EquipType_Num(EquipNum) /= &
                         ZoneUnitarySystem_Num).OR. &
                       ZoneEquipList(ZoneEquipConfig(ControlledZoneNum)%EquipListIndex)%EquipName(EquipNum) /= &
                         UnitarySystem(UnitarySysNum)%Name)CYCLE
                      UnitarySystem(UnitarySysNum)%ZoneSequenceCoolingNum = &
                            ZoneEquipList(ZoneEquipConfig(ControlledZoneNum)%EquipListIndex)%CoolingPriority(EquipNum)
                      UnitarySystem(UnitarySysNum)%ZoneSequenceHeatingNum = &
                            ZoneEquipList(ZoneEquipConfig(ControlledZoneNum)%EquipListIndex)%HeatingPriority(EquipNum)
                  END DO
                END IF
                EXIT
              END DO
              DO ZoneInletNum = 1, ZoneEquipConfig(ControlledZoneNum)%NumInletNodes
                IF (ZoneEquipConfig(ControlledZoneNum)%InletNode(ZoneInletNum) /= &
                      UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum) CYCLE
                UnitarySystem(UnitarySysNum)%AirLoopEquipment = .FALSE.
                EXIT
              END DO
            END DO
          ELSE
            DO ControlledZoneNum = 1,NumOfZones
              IF (ZoneEquipConfig(ControlledZoneNum)%AirLoopNum == AirLoopNumber) THEN
                TotalZonesOnAirLoop = TotalZonesOnAirLoop + 1
                TotalFloorAreaOnAirLoop = TotalFloorAreaOnAirLoop+Zone(ZoneEquipConfig(ControlledZoneNum)%ActualZoneNum)%FloorArea
              END IF
            END DO
          END IF
        END IF

        IF (UnitarySystem(UnitarySysNum)%ControlZoneNum == 0 .AND. &
            UnitarySystem(UnitarySysNum)%ControlType == LoadBased) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '//TRIM(Alphas(iControlZoneAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

        ! if a user connects the Unitary System as zone equipment, try to find the connection
        ZoneEquipmentFound=.FALSE.
        IF(UnitarySystem(UnitarySysNum)%AirLoopEquipment .AND. .NOT. AirLoopFound)THEN
          IF(UnitarySystem(UnitarySysNum)%ControlZoneNum > 0)THEN
            DO ControlledZoneNum = 1,NumOfZones
              DO ZoneExhNum = 1, ZoneEquipConfig(ControlledZoneNum)%NumExhaustNodes
                IF (ZoneEquipConfig(ControlledZoneNum)%ExhaustNode(ZoneExhNum) /= &
                    UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum) CYCLE
                IF(UnitarySystem(UnitarySysNum)%ControlZoneNum /= ControlledZoneNum)THEN
                  CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                  CALL ShowContinueError('Did not find Air Node (Zone with Thermostat).')
                  CALL ShowContinueError('specified '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '// &
                                       TRIM(Alphas(iControlZoneAlphaNum)))
                  ErrorsFound=.TRUE.
                END IF
                IF(UnitarySystem(UnitarySysNum)%ControlZoneNum == ControlledZoneNum)THEN
                  ZoneEquipmentFound = .TRUE.
                  UnitarySystem(UnitarySysNum)%AirLoopEquipment = .FALSE.
                  UnitarySystem(UnitarySysNum)%ZoneInletNode = ZoneEquipConfig(ControlledZoneNum)%ExhaustNode(ZoneExhNum)
                END IF
              END DO
            END DO
          END IF
          IF(AirLoopNumber == 0 .AND. .NOT. ZoneEquipmentFound .AND. UnitarySystem(UnitarySysNum)%ControlType == LoadBased)THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
            CALL ShowContinueError('Did not find an AirLoopHVAC.')
            CALL ShowContinueError('specified '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '// &
                                   TRIM(Alphas(iControlZoneAlphaNum)))
            IF (.not. AirNodeFound .AND. .NOT. ZoneEquipmentFound .AND. UnitarySystem(UnitarySysNum)%ControlType == LoadBased)THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
              CALL ShowContinueError('Did not find air node (zone with thermostat).')
              CALL ShowContinueError('specified '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '// &
                                   TRIM(Alphas(iControlZoneAlphaNum)))
              CALL ShowContinueError('Both a ZoneHVAC:EquipmentConnections object and a ZoneControl:Thermostat object' &
                                //' must be specified for this zone.')
            END IF
            IF (.not. AirLoopFound .AND. .NOT. ZoneEquipmentFound .AND. UnitarySystem(UnitarySysNum)%ControlType == LoadBased)THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
              CALL ShowSevereError('Did not find correct AirLoopHVAC.')
              CALL ShowContinueError('specified '//TRIM(cAlphaFields(iControlZoneAlphaNum))//' = '// &
                                   TRIM(Alphas(iControlZoneAlphaNum)))
            END IF
            IF(UnitarySystem(UnitarySysNum)%ControlType == LoadBased)ErrorsFound=.TRUE.
          END IF
        END IF

        IF(.NOT. ZoneEquipmentFound)CALL TestCompSet(CurrentModuleObject,Alphas(iNameAlphaNum), &
              Alphas(iAirInletNodeNameAlphaNum),Alphas(iAirOutletNodeNameAlphaNum),'Air Nodes')

        ! Determine supply air flow rate sizing method for cooling mode
        IF(SameString(Alphas(iCoolSAFMAlphaNum),'SupplyAirFlowRate'))THEN
          UnitarySystem(UnitarySysNum)%CoolingSAFMethod    = SupplyAirFlowRate

          IF (.NOT. lNumericBlanks(iMaxCoolAirVolFlowNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow   = Numbers(iMaxCoolAirVolFlowNumericNum)
            IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            IF (UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iMaxCoolAirVolFlowNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iMaxCoolAirVolFlowNumericNum),7)))
              ErrorsFound = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iMaxCoolAirVolFlowNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iCoolSAFMAlphaNum),'FlowPerFloorArea'))THEN

          UnitarySystem(UnitarySysNum)%CoolingSAFMethod    = FlowPerFloorArea
          IF (.NOT. lNumericBlanks(iCoolFlowPerFloorAreaNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow   = Numbers(iCoolFlowPerFloorAreaNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerFloorAreaNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iCoolFlowPerFloorAreaNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerFloorAreaNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow = &
                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow * TotalFloorAreaOnAirLoop
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iCoolFlowPerFloorAreaNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iCoolSAFMAlphaNum),'FractionOfAutosizedCoolingValue'))THEN

          UnitarySystem(UnitarySysNum)%CoolingSAFMethod  = FractionOfAutosizedCoolingValue
          IF (.NOT. lNumericBlanks(iCoolFlowPerFracCoolNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow = Numbers(iCoolFlowPerFracCoolNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerFracCoolNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iCoolFlowPerFracCoolNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerFracCoolNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iCoolFlowPerFracCoolNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iCoolSAFMAlphaNum),'FlowPerCoolingCapacity'))THEN

          UnitarySystem(UnitarySysNum)%CoolingSAFMethod  = FlowPerCoolingCapacity
          IF (.NOT. lNumericBlanks(iCoolFlowPerCoolCapNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow = Numbers(iCoolFlowPerCoolCapNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .LE. 0.d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerCoolCapNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iCoolFlowPerCoolCapNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iCoolFlowPerCoolCapNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iCoolFlowPerCoolCapNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iCoolSAFMAlphaNum),'None') .OR. lAlphaBlanks(iCoolSAFMAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%CoolingSAFMethod  = None
!          UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE. ! ??
        ELSE
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

        ! Determine supply air flow rate sizing method for heating mode
        IF(SameString(Alphas(iHeatSAFMAlphaNum),'SupplyAirFlowRate'))THEN
          UnitarySystem(UnitarySysNum)%HeatingSAFMethod    = SupplyAirFlowRate
          IF (.NOT. lNumericBlanks(iMaxHeatAirVolFlowNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow   = Numbers(iMaxHeatAirVolFlowNumericNum)
            IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            IF (UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iMaxHeatAirVolFlowNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iMaxHeatAirVolFlowNumericNum),7)))
              ErrorsFound = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iMaxHeatAirVolFlowNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iHeatSAFMAlphaNum),'FlowPerFloorArea'))THEN
          UnitarySystem(UnitarySysNum)%HeatingSAFMethod    = FlowPerFloorArea
          IF (.NOT. lNumericBlanks(iHeatFlowPerFloorAreaNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow   = Numbers(iHeatFlowPerFloorAreaNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerFloorAreaNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iHeatFlowPerFloorAreaNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerFloorAreaNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = &
                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow * TotalFloorAreaOnAirLoop
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iHeatFlowPerFloorAreaNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iHeatSAFMAlphaNum),'FractionOfAutosizedHeatingValue'))THEN
          UnitarySystem(UnitarySysNum)%HeatingSAFMethod  = FractionOfAutosizedHeatingValue
          IF (.NOT. lNumericBlanks(iHeatFlowPerFracCoolNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = Numbers(iHeatFlowPerFracCoolNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerFracCoolNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iHeatFlowPerFracCoolNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerFracCoolNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iHeatFlowPerFracCoolNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iHeatSAFMAlphaNum),'FlowPerHeatingCapacity'))THEN
          UnitarySystem(UnitarySysNum)%HeatingSAFMethod  = FlowPerHeatingCapacity
          IF (.NOT. lNumericBlanks(iHeatFlowPerHeatCapNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = Numbers(iHeatFlowPerHeatCapNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .LE. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerHeatCapNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iHeatFlowPerHeatCapNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iHeatFlowPerHeatCapNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iHeatFlowPerHeatCapNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iHeatSAFMAlphaNum),'None') .OR. lAlphaBlanks(iHeatSAFMAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%HeatingSAFMethod  = None
!          UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE. ! ??
        ELSE
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

        ! Determine supply air flow rate sizing method when cooling or heating is not needed
        IF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'SupplyAirFlowRate'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod    = SupplyAirFlowRate
          IF (.NOT. lNumericBlanks(iMaxNoCoolHeatAirVolFlowNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = Numbers(iMaxNoCoolHeatAirVolFlowNumericNum)
            IF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow == Autosize) &
                 UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.

            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iMaxNoCoolHeatAirVolFlowNumericNum),7)))
              ErrorsFound = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'FlowPerFloorArea'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod    = FlowPerFloorArea
          IF (.NOT. lNumericBlanks(iNoCoolHeatFlowPerFloorAreaNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow   = Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum))//' = '// &
                                      TRIM(TrimSigDigits(Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow * TotalFloorAreaOnAirLoop
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'FractionOfAutosizedCoolingValue'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod  = FractionOfAutosizedCoolingValue
          IF (.NOT. lNumericBlanks(iNoCoolHeatFlowPerFracCoolNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracCoolNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracCoolNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'FractionOfAutosizedHeatingValue'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod  = FractionOfAutosizedHeatingValue
          IF (.NOT. lNumericBlanks(iNoCoolHeatFlowPerFracHeatNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracHeatNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracHeatNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'FlowPerCoolingCapacity'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod  = FlowPerCoolingCapacity
          IF (.NOT. lNumericBlanks(iNoCoolHeatFlowPerCoolCapNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerCoolCapNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerCoolCapNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iNoCoolHeatFlowPerCoolCapNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerCoolCapNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iNoCoolHeatFlowPerCoolCapNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'FlowPerHeatingCapacity'))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod  = FlowPerHeatingCapacity
          IF (.NOT. lNumericBlanks(iNoCoolHeatFlowPerHeatCapNumericNum)) THEN
            UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerHeatCapNumericNum)
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .LT. 0.0d0 .AND. &
                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerHeatCapNumericNum))//' = '// &
                                     TRIM(TrimSigDigits(Numbers(iNoCoolHeatFlowPerHeatCapNumericNum),7)))
              ErrorsFound = .TRUE.
            ! Autosized input is not allowed
            ELSEIF(UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. AutoSize) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                     TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
              CALL ShowContinueError('Illegal '//TRIM(cNumericFields(iNoCoolHeatFlowPerHeatCapNumericNum))//' = Autosize')
              ErrorsFound = .TRUE.
            ELSE
              UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Input for '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                   TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
            CALL ShowContinueError('Blank field not allowed for '//TRIM(cNumericFields(iNoCoolHeatFlowPerHeatCapNumericNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(SameString(Alphas(iNoCoolHeatSAFMAlphaNum),'None') .OR. lAlphaBlanks(iNoCoolHeatSAFMAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod  = None
!          UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE. ! ??
        ELSE
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '// &
                                 TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
          ErrorsFound=.TRUE.
        END IF

!!       Check that the same air flow method is used if cooling and heating coil present
!        IF(UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
!          IF(UnitarySystem(UnitarySysNum)%CoolingSAFMethod /= UnitarySystem(UnitarySysNum)%HeatingSAFMethod .OR. &
!             UnitarySystem(UnitarySysNum)%CoolingSAFMethod /= UnitarySystem(UnitarySysNum)%NoCoolHeatSAFMethod)THEN
!          CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
!          CALL ShowContinueError('Illegal supply air flow method.')
!          CALL ShowContinueError(TRIM(cAlphaFields(iCoolSAFMAlphaNum))//' = '//TRIM(Alphas(iCoolSAFMAlphaNum)))
!          CALL ShowContinueError(TRIM(cAlphaFields(iHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iHeatSAFMAlphaNum)))
!          CALL ShowContinueError(TRIM(cAlphaFields(iNoCoolHeatSAFMAlphaNum))//' = '//TRIM(Alphas(iNoCoolHeatSAFMAlphaNum)))
!          CALL ShowContinueError('...Supply air flow methods must be the same when both a cooling and heating coil are present.')
!          ErrorsFound=.TRUE.
!          END IF
!        END IF

!       Fan operating mode (cycling or constant) schedule. IF constant fan, then set AirFlowControl
        IF(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr .GT. 0)THEN
          IF (.NOT. CheckScheduleValueMinMax(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr,'>=',0.0d0,'<=',0.0d0)) THEN
!           set fan operating mode to continuous so sizing can set VS coil data
            UnitarySystem(UnitarySysNum)%FanOpMode = ContFanCycCoil
!           set air flow control mode:
!             UseCompressorOnFlow = operate at last cooling or heating air flow requested when compressor is off
!             UseCompressorOffFlow = operate at value specified by user
!           AirFlowControl only valid if fan opmode = ContFanCycComp
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. 0.0d0) THEN
              UnitarySystem(UnitarySysNum)%AirFlowControl = UseCompressorOnFlow
            ELSE
              UnitarySystem(UnitarySysNum)%AirFlowControl = UseCompressorOffFlow
            END IF
          END IF
        END IF

       IF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num /= CoilDX_CoolingHXAssisted .AND. &
          UnitarySystem(UnitarySysNum)%CoolingCoilType_Num /= CoilDX_CoolingTwoStageWHumControl .AND. &
          UnitarySystem(UnitarySysNum)%DehumidControlType_Num == DehumidControl_Multimode) THEN
         CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
         CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iDehumidControlAlphaNum))//' = '// &
                                TRIM(Alphas(iDehumidControlAlphaNum)))
         CALL ShowContinueError('Multimode control must be used with a Heat Exchanger Assisted or Multimode Cooling Coil.')
         IF(lAlphaBlanks(iSuppHeatCoilNameAlphaNum))THEN
         ELSE
           CALL ShowContinueError('Dehumidification control type is assumed to be CoolReheat'// &
                                  ' and the simulation continues.')
           UnitarySystem(UnitarySysNum)%DehumidControlType_Num = DehumidControl_CoolReheat
         END IF
       END IF

!       Check placement of cooling coil with respect to fan placement and dehumidification control type

       IF (UnitarySystem(UnitarySysNum)%FanExists) THEN
         IF(UnitarySystem(UnitarySysNum)%FanPlace == BlowThru)THEN
           IF(FanOutletNode == HeatingCoilInletNode .AND. &
              UnitarySystem(UnitarySysNum)%DehumidControlType_Num /= DehumidControl_CoolReheat)THEN
             UnitarySystem(UnitarySysNum)%CoolingCoilUpstream = .FALSE.
           END IF
         ELSEIF(UnitarySystem(UnitarySysNum)%FanPlace == DrawThru)THEN
           IF(HeatingCoilOutletNode == CoolingCoilInletNode .AND. &
              UnitarySystem(UnitarySysNum)%DehumidControlType_Num /= DehumidControl_CoolReheat)THEN
             UnitarySystem(UnitarySysNum)%CoolingCoilUpstream = .FALSE.
           END IF
         END IF
       ELSE
         IF(HeatingCoilOutletNode == CoolingCoilInletNode .AND. &
            UnitarySystem(UnitarySysNum)%DehumidControlType_Num /= DehumidControl_CoolReheat)THEN
           UnitarySystem(UnitarySysNum)%CoolingCoilUpstream = .FALSE.
         END IF
       END IF

       ! check node connections
       IF(UnitarySystem(UnitarySysNum)%FanPlace .EQ. BlowThru)THEN

          IF(FanInletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum) THEN
             CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
             CALL ShowContinueError('When a blow through fan is specified, the fan inlet node name must be '// &
                                    'the same as the unitary system inlet node name.')
             CALL ShowContinueError('...Fan inlet node name           = '//TRIM(NodeID(FanInletNode)))
             CALL ShowContinueError('...UnitarySystem inlet node name = ' &
                                    //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum)))
             ErrorsFound=.TRUE.
          END IF
          IF(UnitarySystem(UnitarySysNum)%CoolingCoilUpstream)THEN
            IF(FanOutletNode /= CoolingCoilInletNode .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a blow through fan is specified, the fan outlet node name must be '// &
                                      'the same as the cooling coil inlet node name.')
               CALL ShowContinueError('...Fan outlet node name         = '//TRIM(NodeID(FanOutletNode)))
               CALL ShowContinueError('...Cooling coil inlet node name = '//TRIM(NodeID(CoolingCoilInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(CoolingCoilOutletNode /= HeatingCoilInletNode .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. UnitarySystem(UnitarySysNum)%HeatCoilExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('The cooling coil outlet node name must be '// &
                                      'the same as the heating coil inlet node name.')
               CALL ShowContinueError('...Cooling coil outlet node name = '//TRIM(NodeID(CoolingCoilOutletNode)))
               CALL ShowContinueError('...Heating coil inlet node name  = '//TRIM(NodeID(HeatingCoilInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(UnitarySystem(UnitarySysNum)%SuppCoilExists)THEN
              IF(SupHeatCoilOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('The reheat coil outlet node name must be '// &
                                       'the same as the unitary system outlet node name.')
                CALL ShowContinueError('...Reheat coil outlet node name   = '//TRIM(NodeID(SupHeatCoilOutletNode)))
                CALL ShowContinueError('...UnitarySystem outlet node name = ' &
                                      //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
!                ErrorsFound=.TRUE.
              END IF
            ELSE ! IF((UnitarySystem(UnitarySysNum)%Humidistat ...
              ! Heating coil outlet node name must be the same as the Unitary system outlet node name
              IF (UnitarySystem(UnitarySysNum)%HeatCoilExists .AND. &
                  HeatingCoilOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('When a blow through fan is specified, '//&
                               'the heating coil outlet node name must be the same as the unitary system outlet node name.')
                CALL ShowContinueError('...Heating coil outlet node name  = '//TRIM(NodeID(HeatingCoilOutletNode)))
                CALL ShowContinueError('...Unitary system outlet node name = ' &
                                         //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
                ErrorsFound=.TRUE.
              END IF
            END IF
          ELSE ! IF(UnitarySystem(UnitarySysNum)%CoolingCoilUpstream)THEN
            IF(FanOutletNode /= HeatingCoilInletNode .AND. UnitarySystem(UnitarySysNum)%FanExists .AND. &
               UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a blow through fan is specified, the fan outlet node name must be '// &
                                      'the same as the heating coil inlet node name.')
               CALL ShowContinueError('...Fan outlet node name         = '//TRIM(NodeID(FanOutletNode)))
               CALL ShowContinueError('...Heating coil inlet node name = '//TRIM(NodeID(HeatingCoilInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(HeatingCoilOutletNode /= CoolingCoilInletNode .AND. UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. &
               UnitarySystem(UnitarySysNum)%HeatCoilExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('The heating coil outlet node name must be '// &
                                      'the same as the cooling coil inlet node name.')
               CALL ShowContinueError('...Heating coil outlet node name = '//TRIM(NodeID(HeatingCoilOutletNode)))
               CALL ShowContinueError('...Cooling coil inlet node name  = '//TRIM(NodeID(CoolingCoilInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(CoolingCoilOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a blow through fan is specified, the cooling coil outlet node name must be '// &
                                      'the same as the unitary system outlet node name.')
               CALL ShowContinueError('...Cooling coil outlet node name   = '//TRIM(NodeID(CoolingCoilOutletNode)))
               CALL ShowContinueError('...UnitarySystem outlet node name  = ' &
                                      //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
               ErrorsFound=.TRUE.
            END IF
          END IF

        ELSE ! ELSE from IF(UnitarySystem(UnitarySysNum)%FanPlace .EQ. BlowThru)THEN

          IF(UnitarySystem(UnitarySysNum)%CoolingCoilUpstream)THEN
            IF(CoolingCoilInletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum .AND. &
               CoolingCoilInletNode /= 0 .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('When a draw through fan is specified, the cooling coil inlet node name must be '// &
                                     'the same as the unitary system inlet node name.')
              CALL ShowContinueError('...Cooling coil inlet node name  = '//TRIM(NodeID(CoolingCoilInletNode)))
              CALL ShowContinueError('...UnitarySystem inlet node name = ' &
                                     //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum)))
                ErrorsFound=.TRUE.
            END IF
            IF(CoolingCoilOutletNode /= HeatingCoilInletNode .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. UnitarySystem(UnitarySysNum)%HeatCoilExists) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('The cooling coil outlet node name must be '// &
                                     'the same as the heating coil inlet node name.')
              CALL ShowContinueError('...Cooling coil outlet node name = '//TRIM(NodeID(CoolingCoilOutletNode)))
              CALL ShowContinueError('...Heating coil inlet node name  = '//TRIM(NodeID(HeatingCoilInletNode)))
              ErrorsFound=.TRUE.
            END IF
            IF(HeatingCoilOutletNode /= FanInletNode .AND. &
               UnitarySystem(UnitarySysNum)%HeatCoilExists .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
              CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              CALL ShowContinueError('When a draw through fan is specified, the heating coil outlet node name must be '// &
                                     'the same as the fan inlet node name.')
              CALL ShowContinueError('...Heating coil outlet node name = '//TRIM(NodeID(HeatingCoilOutletNode)))
              CALL ShowContinueError('...Fan inlet node name           = '//TRIM(NodeID(FanInletNode)))
              ErrorsFound=.TRUE.
            END IF
            IF(UnitarySystem(UnitarySysNum)%SuppCoilExists)THEN
              IF(FanOutletNode /= SupHeatCoilInletNode .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('When a draw through fan is specified, the fan outlet node name must be '// &
                                       'the same as the reheat coil inlet node name.')
                CALL ShowContinueError('...Fan outlet node name        = '//TRIM(NodeID(FanOutletNode)))
                CALL ShowContinueError('...Reheat coil inlet node name = '//TRIM(NodeID(SupHeatCoilInletNode)))
!                ErrorsFound=.TRUE.
              END IF
              IF(SupHeatCoilOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('The reheat coil outlet node name must be '// &
                                       'the same as the unitary system outlet node name.')
                CALL ShowContinueError('...Reheat coil outlet node name   = '//TRIM(NodeID(SupHeatCoilOutletNode)))
                CALL ShowContinueError('...UnitarySystem outlet node name = ' &
                                                  //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
              END IF
            ELSE
              IF(FanOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum .AND. &
                 UnitarySystem(UnitarySysNum)%FanExists) THEN
                CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                CALL ShowContinueError('When a draw through fan is specified, the fan outlet node name must be '// &
                                       'the same as the unitary system outlet node name.')
                CALL ShowContinueError('...Fan outlet node name        = '//TRIM(NodeID(FanOutletNode)))
                CALL ShowContinueError('...Unitary system outlet node name = '// &
                                       TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
                ErrorsFound=.TRUE.
              END IF
            END IF
          ELSE ! IF(UnitarySystem(UnitarySysNum)%CoolingCoilUpstream)THEN
            IF(HeatingCoilInletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum .AND. &
               HeatingCoilInletNode /= 0 .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a draw through fan is specified, the heating coil inlet node name must be '// &
                                      'the same as the unitary system inlet node name.')
               CALL ShowContinueError('...Heating coil inlet node name  = '//TRIM(NodeID(HeatingCoilInletNode)))
               CALL ShowContinueError('...UnitarySystem inlet node name = ' &
                                      //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemInletNodeNum)))
               ErrorsFound=.TRUE.
            END IF
            IF(HeatingCoilOutletNode /= CoolingCoilInletNode .AND. &
               UnitarySystem(UnitarySysNum)%HeatCoilExists .AND. UnitarySystem(UnitarySysNum)%CoolCoilExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('The heating coil outlet node name must be '// &
                                      'the same as the cooling coil inlet node name.')
               CALL ShowContinueError('...Heating coil outlet node name = '//TRIM(NodeID(HeatingCoilOutletNode)))
               CALL ShowContinueError('...Cooling coil inlet node name  = '//TRIM(NodeID(CoolingCoilInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(CoolingCoilOutletNode /= FanInletNode .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. UnitarySystem(UnitarySysNum)%FanExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a draw through fan is specified, the cooling coil outlet node name must be '// &
                                      'the same as the fan inlet node name.')
               CALL ShowContinueError('...Cooling coil outlet node name = '//TRIM(NodeID(CoolingCoilOutletNode)))
               CALL ShowContinueError('...Fan inlet node name           = '//TRIM(NodeID(FanInletNode)))
               ErrorsFound=.TRUE.
            END IF
            IF(FanOutletNode /= UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum .AND. &
               UnitarySystem(UnitarySysNum)%FanExists) THEN
               CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
               CALL ShowContinueError('When a draw through fan is specified, the fan outlet node name must be '// &
                                      'the same as the unitary system outlet node name.')
               CALL ShowContinueError('...Fan outlet node name           = '//TRIM(NodeID(FanOutletNode)))
               CALL ShowContinueError('...UnitarySystem outlet node name = ' &
                                       //TRIM(NodeID(UnitarySystem(UnitarySysNum)%UnitarySystemOutletNodeNum)))
               ErrorsFound=.TRUE.
            END IF
          END IF
        END IF ! ELSE from IF(UnitarySystem(UnitarySysNum)%FanPlace .EQ. BlowThru)THEN

        !Set the unitary system supplemental heater max outlet temperature
        ! this field will be 0 if the input is not specified (included) in the input file
        ! someone may use a default other than what we intended, allow it to be used
        ! so if this field is blank, and the input field is included, read the default, otherwise use 80
        IF (.NOT. lNumericBlanks(iDesignMaxOutletTempNumericNum) .AND. NumNumbers .GT. (iDesignMaxOutletTempNumericNum-1)) THEN
          UnitarySystem(UnitarySysNum)%DesignMaxOutletTemp = Numbers(iDesignMaxOutletTempNumericNum)
          IF(UnitarySystem(UnitarySysNum)%DesignMaxOutletTemp == Autosize) &
               UnitarySystem(UnitarySysNum)%RequestAutosize = .TRUE.
        END IF

        !Set maximum Outdoor air temperature for supplemental heating coil operation
        ! this field will be 0 if the input is not specified (included) in the input file
        ! someone may use a default other than what we intended, allow it to be used
        ! so if this field is blank, and the input field is included, read the default, otherwise use 9999
        IF (.NOT. lNumericBlanks(iMaxOATSuppHeatNumericNum) .AND. NumNumbers .GT. (iMaxOATSuppHeatNumericNum-1)) THEN
          UnitarySystem(UnitarySysNum)%MaxOATSuppHeat = Numbers(iMaxOATSuppHeatNumericNum)
        ! Can't let MaxOATSuppHeat default to 21C if using cool reheat since it would shut off supp heater when dehumidifying
        ! this may also allow supplemental heater to operate when in heating mode when it should not
        ELSE IF(NumNumbers .LT. iMaxOATSuppHeatNumericNum .AND. &
                UnitarySystem(UnitarySysNum)%DehumidControlType_Num == DehumidControl_CoolReheat)THEN
          UnitarySystem(UnitarySysNum)%MaxOATSuppHeat = 999.0d0
        END IF

        IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. Autosize .AND. &
           UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. Autosize .AND. &
           UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .NE. Autosize .AND. &
           .NOT. UnitarySystem(UnitarySysNum)%RequestAutosize)THEN
!           (UnitarySystem(UnitarySysNum)%CoolingSAFMethod .LE. SupplyAirFlowRate .OR. &
!            UnitarySystem(UnitarySysNum)%HeatingSAFMethod .LE. SupplyAirFlowRate))THEN
          UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = MAX(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow, &
                                                                    UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow, &
                                                                    UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow)
        ELSE
          IF(UnitarySystem(UnitarySysNum)%FanExists)THEN
            UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = Autosize
          END IF
  ! need more of this type of warning when flow cannot be determined
          IF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .EQ. 0.0d0 .AND. &
             UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
             IF(UnitarySystem(UnitarySysNum)%FanExists)THEN
               IF(UnitarySystem(UnitarySysNum)%CoolCoilExists .AND. &
                  UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow /= Autosize)THEN
                 IF(UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow == 0.0d0)THEN
                   UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate
                 END IF
               END IF
             ELSEIF(UnitarySystem(UnitarySysNum)%CoolCoilExists)THEN
               UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow
             ELSE
               IF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num /= CoilDX_HeatingEmpirical .AND. &
                  UnitarySystem(UnitarySysNum)%HeatingCoilType_Num /= CoilDX_MultiSpeedHeating .AND. &
                  UnitarySystem(UnitarySysNum)%HeatingCoilType_Num /= Coil_HeatingAirToAirVariableSpeed)THEN
                 CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                 CALL ShowContinueError('When non-DX heating coils are specified, the heating air flow rate must be '// &
                                        'entered in '//TRIM(cAlphaFields(iHeatSAFMAlphaNum)))
                 ErrorsFound=.TRUE.
               END IF
             END IF
          ELSEIF(UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .EQ. 0.0d0 .AND. &
             .NOT. UnitarySystem(UnitarySysNum)%FanExists .AND. &
             .NOT. UnitarySystem(UnitarySysNum)%CoolCoilExists)THEN
                 CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
                 CALL ShowContinueError('When non-DX heating coils are specified, the heating air flow rate must be '// &
                                        'entered in '//TRIM(cAlphaFields(iHeatSAFMAlphaNum)))
          END IF
        END IF

        IF(FanVolFlowRate .NE. AutoSize .AND. UnitarySystem(UnitarySysNum)%FanExists)THEN
          IF(FanVolFlowRate .LT. UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .AND. &
               UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow .NE. AutoSize .AND. &
               UnitarySystem(UnitarySysNum)%CoolCoilExists)THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('... air flow rate = '//TRIM(TrimSigDigits(FanVolFlowRate,7))//' in fan object '// &
                 TRIM(FanName)//' is less than the maximum HVAC system air flow rate in cooling mode.')
            CALL ShowContinueError(' The '//TRIM(cNumericFields(iMaxCoolAirVolFlowNumericNum))//' is reset to the' &
                                 //' fan flow rate and the simulation continues.')
            UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlow = FanVolFlowRate
            UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = FanVolFlowRate
          END IF
          IF(FanVolFlowRate .LT. UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .AND. &
               UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow .NE. AutoSize .AND. &
               UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('... air flow rate = '//TRIM(TrimSigDigits(FanVolFlowRate,7))//' in fan object '// &
                 TRIM(FanName)//' is less than the maximum HVAC system air flow rate in heating mode.')
            CALL ShowContinueError(' The '//TRIM(cNumericFields(3))//' is reset to the' &
                                 //' fan flow rate and the simulation continues.')
            UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlow = FanVolFlowRate
            UnitarySystem(UnitarySysNum)%DesignFanVolFlowRate = FanVolFlowRate
          END IF
        END IF

        IF(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr .GT. 0)THEN
          IF (.NOT. CheckScheduleValueMinMax(UnitarySystem(UnitarySysNum)%FanOpModeSchedPtr,'>=',0.0d0,'<=',0.0d0)) THEN
!           set air flow control mode:
!             UseCompressorOnFlow = operate at last cooling or heating air flow requested when compressor is off
!             UseCompressorOffFlow = operate at value specified by user
!           AirFlowControl only valid IF fan opmode = ContFanCycComp
            IF (UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlow .EQ. 0.0d0) THEN
              UnitarySystem(UnitarySysNum)%AirFlowControl = UseCompressorOnFlow
            ELSE
              UnitarySystem(UnitarySysNum)%AirFlowControl = UseCompressorOffFlow
            END IF
          END IF
        END IF

        !Set minimum OAT for heat pump compressor operation
        ! get from coil module
        ErrFlag=.FALSE.
        IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingAirToAirVariableSpeed) THEN
            UnitarySystem(UnitarySysNum)%MinOATCompressor = GetVSCoilMinOATCompressor(HeatingCoilName,ErrFlag)
        ELSEIF(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_HeatingEmpirical .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating) THEN
            UnitarySystem(UnitarySysNum)%MinOATCompressor =    &
               GetMinOATDXCoilCompressor(HeatingCoilType,HeatingCoilName,ErrFlag)
!       ELSEIF  ***... make sure we catch all possbile coil types here ...***
        ELSE
            UnitarySystem(UnitarySysNum)%MinOATCompressor = -1000.0d0
        END IF
        IF (ErrFlag) THEN
          CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          ErrorsFound=.TRUE.
        END IF


!       Mine heatpump Outdoor condenser node from DX coil object
        ErrFlag=.FALSE.
        IF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingSingleSpeed) THEN
          UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
            GetDXCoilCondenserInletNode(CoolingCoilType,CoolingCoilName,ErrFlag)
        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed) THEN
          UnitarySystem(UnitarySysNum)%CondenserNodeNum = GetVSCoilCondenserInletNode(CoolingCoilName,ErrFlag)
        ELSEIF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_CoolingHXAssisted) THEN
          UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
            GetDXCoilCondenserInletNode('Coil:Cooling:DX:SingleSpeed', &
            GetHXDXCoilName(CoolingCoilType,CoolingCoilName,ErrFlag), &
            ErrFlag)
        ELSE
          IF(.NOT. lAlphaBlanks(iCondenserNodeAlphaNum))THEN
            UnitarySystem(UnitarySysNum)%CondenserNodeNum = &
               GetOnlySingleNode(Alphas(iCondenserNodeAlphaNum),ErrFlag,CurrentModuleObject,Alphas(1), &
                            NodeType_Air,NodeConnectionType_Inlet,1,ObjectIsParent)
          ELSE
            ! do nothing?
          END IF
        END IF
        IF (ErrFlag) THEN
          CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
          ErrorsFound=.TRUE.
        END IF

        !Set the heatpump cycling rate
        UnitarySystem(UnitarySysNum)%MaxONOFFCyclesperHour = Numbers(iMaxONOFFCycPerHourNumericNum)
        IF(NumNumbers .LT. iMaxONOFFCycPerHourNumericNum)THEN
          UnitarySystem(UnitarySysNum)%MaxONOFFCyclesperHour = 2.5d0
        END IF

        !Set the heat pump time constant
        UnitarySystem(UnitarySysNum)%HPTimeConstant = Numbers(iHPTimeConstantNumericNum)
        IF(NumNumbers .LT. iHPTimeConstantNumericNum)THEN
          UnitarySystem(UnitarySysNum)%HPTimeConstant = 60.0d0
        END IF

        !Set the heat pump on-cycle power use fraction
        UnitarySystem(UnitarySysNum)%OnCyclePowerFraction = Numbers (iOnCyclePowerFracNumericNum)
        IF(NumNumbers .LT. iOnCyclePowerFracNumericNum)THEN
          UnitarySystem(UnitarySysNum)%OnCyclePowerFraction = 0.01d0
        END IF

        !Set the heat pump fan delay time
        UnitarySystem(UnitarySysNum)%FanDelayTime = Numbers(iFanDelayTimeNumericNum)
        IF(NumNumbers .LT. iFanDelayTimeNumericNum)THEN
          UnitarySystem(UnitarySysNum)%FanDelayTime = 60.0d0
        END IF

        UnitarySystem(UnitarySysNum)%AncillaryOnPower  = Numbers(iAncillaryOnPowerNumericNum)
        UnitarySystem(UnitarySysNum)%AncillaryOffPower = Numbers(iAncillaryOffPowerNumericNum)

        UnitarySystem(UnitarySysNum)%DesignHRWaterVolumeFlow = Numbers(iDesignHRWaterVolFlowNumericNum)
        UnitarySystem(UnitarySysNum)%MaxHROutletWaterTemp = Numbers(iMaxHROutletWaterTempNumericNum)

        IF(UnitarySystem(UnitarySysNum)%DesignHRWaterVolumeFlow .GT. 0.0d0)THEN
          UnitarySystem(UnitarySysNum)%HeatRecActive = .TRUE.
          ErrFlag=.FALSE.
          IF(.NOT. lAlphaBlanks(iHRWaterInletNodeAlphaNum) .AND. .NOT. lAlphaBlanks(iHRWaterOutletNodeAlphaNum))THEN
            UnitarySystem(UnitarySysNum)%HeatRecoveryInletNodeNum = &
              GetOnlySingleNode(Alphas(iHRWaterInletNodeAlphaNum),ErrFlag,'Unitary System Heat receovery',Alphas(iNameAlphaNum), &
                NodeType_Water,NodeConnectionType_Inlet,3,ObjectIsParent)
            UnitarySystem(UnitarySysNum)%HeatRecoveryOutletNodeNum = &
              GetOnlySingleNode(Alphas(iHRWaterOutletNodeAlphaNum),ErrFlag,'Unitary System Heat receovery',Alphas(iNameAlphaNum), &
                NodeType_Water,NodeConnectionType_Inlet,3,ObjectIsParent)

            CALL TestCompSet(CurrentModuleObject,Alphas(iNameAlphaNum),Alphas(iHRWaterInletNodeAlphaNum), &
                             Alphas(iHRWaterOutletNodeAlphaNum), 'Unitary System Heat receovery Nodes')

            IF (ErrFlag) THEN
              CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
              ErrorsFound=.TRUE.
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHRWaterInletNodeAlphaNum))//' = '// &
                                   TRIM(Alphas(iHRWaterInletNodeAlphaNum)))
            CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(iHRWaterOutletNodeAlphaNum))//' = '// &
                                   TRIM(Alphas(iHRWaterOutletNodeAlphaNum)))
            CALL ShowContinueError('... heat recovery nodes must be specified when ' &
                                   //TRIM(cNumericFields(iDesignHRWaterVolFlowNumericNum))//' is greater than 0.')
            CALL ShowContinueError('... '//TRIM(cNumericFields(iDesignHRWaterVolFlowNumericNum))//' = '// &
                                   TRIM(TrimSigDigits(UnitarySystem(UnitarySysNum)%DesignHRWaterVolumeFlow,7)))
            ErrorsFound=.TRUE.
          END IF
        END IF

        IF(.NOT. lAlphaBlanks(iDesignSpecMSHPTypeAlphaNum) .AND. .NOT. lAlphaBlanks(iDesignSpecMSHPNameAlphaNum))THEN
          UnitarySystem(UnitarySysNum)%DesignSpecMultispeedHPType = Alphas(iDesignSpecMSHPTypeAlphaNum)
          UnitarySystem(UnitarySysNum)%DesignSpecMultispeedHPName = Alphas(iDesignSpecMSHPNameAlphaNum)

          UnitarySystem(UnitarySysNum)%DesignSpecMSHPIndex = &
            FindItemInList(UnitarySystem(UnitarySysNum)%DesignSpecMultispeedHPName,DesignSpecMSHP%Name,NumDesignSpecMultiSpeedHP)
          DesignSpecNum = UnitarySystem(UnitarySysNum)%DesignSpecMSHPIndex

          IF(DesignSpecNum .GT. 0)THEN

            IF (UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingElectric_MultiStage .OR. &
                UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas_MultiStage) THEN
              UnitarySystem(UnitarySysNum)%NumOfSpeedHeating = DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating
              ALLOCATE(UnitarySystem(UnitarySysNum)%HeatMassFlowRate(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating))
              ALLOCATE(UnitarySystem(UnitarySysNum)%HeatVolumeFlowRate(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating))
              ALLOCATE(UnitarySystem(UnitarySysNum)%MSHeatingSpeedRatio(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedHeating))
              UnitarySystem(UnitarySysNum)%MSHeatingSpeedRatio = 1.0d0
            END IF

            IF (UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_MultiSpeedCooling) THEN
              UnitarySystem(UnitarySysNum)%NumOfSpeedCooling = DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling
              ALLOCATE(UnitarySystem(UnitarySysNum)%CoolMassFlowRate(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling))
              ALLOCATE(UnitarySystem(UnitarySysNum)%CoolVolumeFlowRate(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling))
              ALLOCATE(UnitarySystem(UnitarySysNum)%MSCoolingSpeedRatio(DesignSpecMSHP(DesignSpecNum)%NumOfSpeedCooling))
              UnitarySystem(UnitarySysNum)%MSCoolingSpeedRatio = 1.0d0
            END IF
          ELSE
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('... one or both of the following inputs are invalid.')
            CALL ShowContinueError('Field '//TRIM(cAlphaFields(iDesignSpecMSHPTypeAlphaNum))//' = '// &
                                   TRIM(Alphas(iDesignSpecMSHPTypeAlphaNum)))
            CALL ShowContinueError('Field '//TRIM(cAlphaFields(iDesignSpecMSHPNameAlphaNum))//' = '// &
                                   TRIM(Alphas(iDesignSpecMSHPNameAlphaNum)))
            ErrorsFound = .TRUE.
          END IF
        ELSEIF(lAlphaBlanks(iDesignSpecMSHPTypeAlphaNum) .AND. .NOT. lAlphaBlanks(iDesignSpecMSHPNameAlphaNum) .OR. &
                .NOT. lAlphaBlanks(iDesignSpecMSHPTypeAlphaNum) .AND. lAlphaBlanks(iDesignSpecMSHPNameAlphaNum))THEN
            CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
            CALL ShowContinueError('... one or both of the following inputs are invalid.')
            CALL ShowContinueError('Field '//TRIM(cAlphaFields(iDesignSpecMSHPTypeAlphaNum))//' = '// &
                                   TRIM(Alphas(iDesignSpecMSHPTypeAlphaNum)))
            CALL ShowContinueError('Field '//TRIM(cAlphaFields(iDesignSpecMSHPNameAlphaNum))//' = '// &
                                   TRIM(Alphas(iDesignSpecMSHPNameAlphaNum)))
            ErrorsFound = .TRUE.
        ELSEIF(UnitarySystem(UnitarySysNum)%NumOfSpeedHeating .GT. 0)THEN
          NumOfSpeedHeating = UnitarySystem(UnitarySysNum)%NumOfSpeedHeating

          ALLOCATE(UnitarySystem(UnitarySysNum)%HeatMassFlowRate(NumOfSpeedHeating))
          ALLOCATE(UnitarySystem(UnitarySysNum)%HeatVolumeFlowRate(NumOfSpeedHeating))
          ALLOCATE(UnitarySystem(UnitarySysNum)%MSHeatingSpeedRatio(NumOfSpeedHeating))
          UnitarySystem(UnitarySysNum)%MSHeatingSpeedRatio = 1.0d0

        ELSEIF(UnitarySystem(UnitarySysNum)%NumOfSpeedCooling .GT. 0)THEN
          NumOfSpeedCooling = UnitarySystem(UnitarySysNum)%NumOfSpeedCooling

          ALLOCATE(UnitarySystem(UnitarySysNum)%CoolMassFlowRate(NumOfSpeedCooling))
          ALLOCATE(UnitarySystem(UnitarySysNum)%CoolVolumeFlowRate(NumOfSpeedCooling))
          ALLOCATE(UnitarySystem(UnitarySysNum)%MSCoolingSpeedRatio(NumOfSpeedCooling))
          UnitarySystem(UnitarySysNum)%MSCoolingSpeedRatio = 1.0d0

        END IF

        IF(UnitarySystem(UnitarySysNum)%MultiSpeedCoolingCoil) THEN

           Index = UnitarySystem(UnitarySysNum)%DesignSpecMSHPIndex
           IF(Index .GT. 0) &
             UnitarySystem(UnitarySysNum)%NumOfSpeedCooling = DesignSpecMSHP(Index)%NumOfSpeedCooling

           IF (UnitarySystem(UnitarySysNum)%NumOfSpeedCooling == 0) THEN
             CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
             CALL ShowContinueError('... Cooling coil object type requires valid number of speeds for cooling to be specified')
            ErrorsFound = .TRUE.
           END IF
        END IF
        IF(UnitarySystem(UnitarySysNum)%MultiSpeedHeatingCoil) THEN

           Index = UnitarySystem(UnitarySysNum)%DesignSpecMSHPIndex
           IF(Index .GT. 0) &
             UnitarySystem(UnitarySysNum)%NumOfSpeedHeating = DesignSpecMSHP(Index)%NumOfSpeedHeating

           IF (UnitarySystem(UnitarySysNum)%NumOfSpeedHeating == 0) THEN
             CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(UnitarySystem(UnitarySysNum)%Name))
             CALL ShowContinueError('... Heating coil object type requires valid number of speeds for heating to be specified')
            ErrorsFound = .TRUE.
           END IF
        END IF

        ! set global logicals that denote coil type
        IF (UnitarySystem(UnitarySysNum)%MultiSpeedHeatingCoil .OR. UnitarySystem(UnitarySysNum)%VarSpeedHeatingCoil) THEN
          MultiOrVarSpeedHeatCoil(UnitarySysNum) = .TRUE.
        END IF
        IF (UnitarySystem(UnitarySysNum)%MultiSpeedCoolingCoil .OR. UnitarySystem(UnitarySysNum)%VarSpeedCoolingCoil) THEN
          MultiOrVarSpeedCoolCoil(UnitarySysNum) = .TRUE.
        END IF

      END DO  !End of the Unitary System Loop

      IF (ErrorsFound) THEN
          CALL ShowFatalError(RoutineName//'Errors found in input.  Program terminates.')
      END IF

      ! Setup Report variables for the Unitary System that are not reported in the components themselves
      DO UnitarySysNum=1,NumUnitarySystem
        CALL SetupOutputVariable('Unitary System Part Load Ratio []',UnitarySystem(UnitarySysNum)%PartLoadFrac, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Total Cooling Rate [W]',UnitarySystem(UnitarySysNum)%TotCoolEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Sensible Cooling Rate [W]',UnitarySystem(UnitarySysNum)%SensCoolEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Latent Cooling Rate [W]',UnitarySystem(UnitarySysNum)%LatCoolEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Total Heating Rate [W]',UnitarySystem(UnitarySysNum)%TotHeatEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Sensible Heating Rate [W]',UnitarySystem(UnitarySysNum)%SensHeatEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Latent Heating Rate [W]',UnitarySystem(UnitarySysNum)%LatHeatEnergyRate, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        CALL SetupOutputVariable('Unitary System Ancillary Electric Power [W]', &
                              UnitarySystem(UnitarySysNum)%TotalAuxElecPower, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)

!        IF(UnitarySystem(UnitarySysNum)%DehumidControlType_Num .EQ. DehumidControl_CoolReheat)THEN
          CALL SetupOutputVariable('Unitary System Dehumidification Induced Heating Demand Rate [W]', &
                                   UnitarySystem(UnitarySysNum)%DehumidInducedHeatingDemandRate, 'System','Average', &
                                   UnitarySystem(UnitarySysNum)%Name)
!        END IF

        IF(UnitarySystem(UnitarySysNum)%FanExists)THEN
          CALL SetupOutputVariable('Unitary System Fan Part Load Ratio []',UnitarySystem(UnitarySysNum)%FanPartLoadRatio, &
                             'System','Average',UnitarySystem(UnitarySysNum)%Name)
        END IF

        CALL SetupOutputVariable('Unitary System Compressor Part Load Ratio []', &
                                 UnitarySystem(UnitarySysNum)%CompPartLoadRatio, &
                                 'System','Average',UnitarySystem(UnitarySysNum)%Name)

        CALL SetupOutputVariable('Unitary System Frost Control Status []',UnitarySystem(UnitarySysNum)%FrostControlStatus, &
                                 'System','Average',UnitarySystem(UnitarySysNum)%Name)

        IF(UnitarySystem(UnitarySysNum)%HeatCoilExists)THEN
          CALL SetupOutputVariable('Unitary System Heating Ancillary Electric Energy [J]', &
                  UnitarySystem(UnitarySysNum)%HeatingAuxElecConsumption,'System','Sum',UnitarySystem(UnitarySysNum)%Name, &
                  ResourceTypeKey='Electric',EndUseKey='Heating',GroupKey='System')
        END IF

        SELECT CASE(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num)
          CASE(CoilDX_CoolingTwoSpeed)
            CALL SetupOutputVariable('Unitary System Cycling Ratio []',UnitarySystem(UnitarySysNum)%CycRatio, &
                                'System','Average',UnitarySystem(UnitarySysNum)%Name)
            CALL SetupOutputVariable('Unitary System Compressor Speed Ratio []',UnitarySystem(UnitarySysNum)%SpeedRatio, &
                                'System','Average',UnitarySystem(UnitarySysNum)%Name)
          CASE(CoilDX_MultiSpeedCooling)
            CALL SetupOutputVariable('Unitary System Cooling Ancillary Electric Energy [J]', &
                     UnitarySystem(UnitarySysNum)%CoolingAuxElecConsumption,'System','Sum',UnitarySystem(UnitarySysNum)%Name, &
                     ResourceTypeKey='Electric',EndUseKey='Cooling',GroupKey='System')
            CALL SetupOutputVariable('Unitary System Electric Power [W]',UnitarySystem(UnitarySysNum)%ElecPower,&
                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
            CALL SetupOutputVariable('Unitary System Electric Energy [J]',UnitarySystem(UnitarySysNum)%ElecPowerConsumption, &
                                     'System','Sum',UnitarySystem(UnitarySysNum)%Name)
!            CALL SetupOutputVariable('Unitary System Cooling Coil Cycling Ratio []',UnitarySystem(UnitarySysNum)%CoolingCycRatio, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
!            CALL SetupOutputVariable('Unitary System Cooling Coil Speed Ratio []',UnitarySystem(UnitarySysNum)%CoolingSpeedRatio, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
!            CALL SetupOutputVariable('Unitary System Cooling Coil Speed Level []',UnitarySystem(UnitarySysNum)%CoolingSpeedNum, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
            IF (UnitarySystem(UnitarySysNum)%HeatRecActive) THEN
              CALL SetupOutputVariable('Unitary System Heat Recovery Rate [W]',UnitarySystem(UnitarySysNum)%HeatRecoveryRate, &
                      'System','Average',UnitarySystem(UnitarySysNum)%Name)
              CALL SetupOutputVariable('Unitary System Heat Recovery Inlet Temperature [C]', &
                      UnitarySystem(UnitarySysNum)%HeatRecoveryInletTemp,'System','Average',UnitarySystem(UnitarySysNum)%Name)
              CALL SetupOutputVariable('Unitary System Heat Recovery Outlet Temperature [C]', &
                      UnitarySystem(UnitarySysNum)%HeatRecoveryOutletTemp,'System','Average',UnitarySystem(UnitarySysNum)%Name)
              CALL SetupOutputVariable('Unitary System Heat Recovery Fluid Mass Flow Rate [kg/s]', &
                      UnitarySystem(UnitarySysNum)%HeatRecoveryMassFlowRate,'System','Average',UnitarySystem(UnitarySysNum)%Name)
              CALL SetupOutputVariable('Unitary System Heat Recovery Energy [J]', &
                      UnitarySystem(UnitarySysNum)%HeatRecoveryEnergy,'System','Sum',UnitarySystem(UnitarySysNum)%Name)
            END IF
          CASE (Coil_CoolingAirToAirVariableSpeed, Coil_CoolingWaterToAirHPVSEquationFit, &
                Coil_CoolingWaterToAirHPSimple, Coil_CoolingWaterToAirHP)
            CALL SetupOutputVariable('Unitary System Requested Sensible Cooling Rate [W]', &
                                  UnitarySystem(UnitarySysNum)%CoolingCoilSensDemand, &
                                  'System','Average',UnitarySystem(UnitarySysNum)%Name)
            CALL SetupOutputVariable('Unitary System Requested Latent Cooling Rate [W]', &
                                  UnitarySystem(UnitarySysNum)%CoolingCoilLatentDemand, &
                                  'System','Average',UnitarySystem(UnitarySysNum)%Name)
          CASE DEFAULT
        END SELECT

        SELECT CASE(UnitarySystem(UnitarySysNum)%HeatingCoilType_Num)
          CASE(CoilDX_MultiSpeedHeating, Coil_HeatingElectric_MultiStage, Coil_HeatingGas_MultiStage)
!            CALL SetupOutputVariable('Unitary System Heating Coil Cycling Ratio []', &
!                                      UnitarySystem(UnitarySysNum)%HeatingCycRatio, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
!            CALL SetupOutputVariable('Unitary System Heating Coil Speed Ratio []', &
!                                      UnitarySystem(UnitarySysNum)%HeatingSpeedRatio, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
!            CALL SetupOutputVariable('Unitary System Heating Coil Speed Level []', &
!                                      UnitarySystem(UnitarySysNum)%HeatingSpeedNum, &
!                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
          CASE (Coil_HeatingAirToAirVariableSpeed, Coil_HeatingWaterToAirHPVSEquationFit, &
                Coil_HeatingWaterToAirHPSimple, Coil_HeatingWaterToAirHP)
            CALL SetupOutputVariable('Unitary System Requested Heating Rate [W]', &
                                      UnitarySystem(UnitarySysNum)%HeatingCoilSensDemand, &
                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
          CASE DEFAULT
        END SELECT

        IF(UnitarySystem(UnitarySysNum)%CoolingCoilType_Num == CoilDX_MultiSpeedCooling .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == CoilDX_MultiSpeedHeating .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingElectric_MultiStage .OR. &
           UnitarySystem(UnitarySysNum)%HeatingCoilType_Num == Coil_HeatingGas_MultiStage) THEN
            CALL SetupOutputVariable('Unitary System DX Coil Cycling Ratio []',UnitarySystem(UnitarySysNum)%CycRatio, &
                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
            CALL SetupOutputVariable('Unitary System DX Coil Speed Ratio []',UnitarySystem(UnitarySysNum)%SpeedRatio, &
                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
            CALL SetupOutputVariable('Unitary System DX Coil Speed Level []',UnitarySystem(UnitarySysNum)%SpeedNum, &
                                     'System','Average',UnitarySystem(UnitarySysNum)%Name)
        END IF

        IF (AnyEnergyManagementSystemInModel) THEN
          CALL SetupEMSActuator('AirLoopHVAC:UnitarySystem', UnitarySystem(UnitarySysNum)%Name,   &
                                'Autosized Supply Air Flow Rate', '[m3/s]',                          &
                                UnitarySystem(UnitarySysNum)%DesignFanVolFlowRateEMSOverrideOn,   &
                                UnitarySystem(UnitarySysNum)%DesignFanVolFlowRateEMSOverrideValue )
          CALL SetupEMSActuator('AirLoopHVAC:UnitarySystem', UnitarySystem(UnitarySysNum)%Name,   &
                                'Autosized Supply Air Flow Rate During Cooling Operation', '[m3/s]', &
                                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlowEMSOverrideOn,      &
                                UnitarySystem(UnitarySysNum)%MaxCoolAirVolFlowEMSOverrideValue )
          CALL SetupEMSActuator('AirLoopHVAC:UnitarySystem', UnitarySystem(UnitarySysNum)%Name,   &
                                'Autosized Supply Air Flow Rate During Heating Operation', '[m3/s]', &
                                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlowEMSOverrideOn,      &
                                UnitarySystem(UnitarySysNum)%MaxHeatAirVolFlowEMSOverrideValue )
          CALL SetupEMSActuator('AirLoopHVAC:UnitarySystem', UnitarySystem(UnitarySysNum)%Name,   &
                                'Autosized Supply Air Flow Rate During No Heating or Cooling Operation', '[m3/s]', &
                                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlowEMSOverrideOn, &
                                UnitarySystem(UnitarySysNum)%MaxNoCoolHeatAirVolFlowEMSOverrideValue )
        END IF

      END DO

      DEALLOCATE(Alphas)
      DEALLOCATE(cAlphaFields)
      DEALLOCATE(cNumericFields)
      DEALLOCATE(Numbers)
      DEALLOCATE(lAlphaBlanks)
      DEALLOCATE(lNumericBlanks)

      IF (AnyEnergyManagementSystemInModel) THEN
        DO UnitarySysNum = 1, NumUnitarySystem
          CALL SetupEMSInternalVariable('Unitary HVAC Design Heating Capacity', UnitarySystem(UnitarySysNum)%Name, '[W]', &
                        UnitarySystem(UnitarySysNum)%DesignHeatingCapacity  )
          CALL SetupEMSInternalVariable('Unitary HVAC Design Cooling Capacity', UnitarySystem(UnitarySysNum)%Name, '[W]', &
                        UnitarySystem(UnitarySysNum)%DesignCoolingCapacity  )
          CALL SetupEMSActuator('Unitary HVAC', UnitarySystem(UnitarySysNum)%Name, 'Sensible Load Request' , '[W]', &
                        UnitarySystem(UnitarySysNum)%EMSOverrideSensZoneLoadRequest, &
                        UnitarySystem(UnitarySysNum)%EMSSensibleZoneLoadValue )
          CALL SetupEMSActuator('Unitary HVAC', UnitarySystem(UnitarySysNum)%Name, 'Moisture Load Request' , '[W]', &
                        UnitarySystem(UnitarySysNum)%EMSOverrideMoistZoneLoadRequest, &
                        UnitarySystem(UnitarySysNum)%EMSMoistureZoneLoadValue )

        END DO
      END IF

      CALL ManageEMS(emsCALLFromComponentGetInput)


  RETURN

END SUBROUTINE GetUnitarySystemInput


AbortEnergyPlus AbsoluteAirMass ActivateDemandManagers ActivateEMSControls AddBlankKeys addChargesToOperand AddCompSizeTableEntry AddEndUseSubcategory AddError addFootNoteSubTable AddInstruction AddMeter addMonthlyCharge AddMonthlyFieldSetInput AddMonthlyReport AddNeighborInformation AddObjectDefandParse addOperand AddRecordFromSection AddRecordToOutputVariableStructure AddSectionDef AddShadowRelateTableEntry AddSQLiteComponentSizingRecord AddSQLiteComponentSizingRecord AddSQLiteSystemSizingRecord AddSQLiteSystemSizingRecord AddSQLiteZoneSizingRecord AddSQLiteZoneSizingRecord AddTOCEntry AddTOCZoneLoadComponentTable AddToOutputVariableList AddVariablesForMonthlyReport AddVariableSlatBlind AddWindow AdjustAirSetpointsforOpTempCntrl AdjustCBF AdjustCBF AdjustChangeInLoadByEMSControls AdjustChangeInLoadByHowServed AdjustChangeInLoadForLastStageUpperRangeLimit AdjustCoolingSetPointforTempAndHumidityControl adjusthhat AdjustPumpFlowRequestByEMSControls AdjustReportingHourAndMinutes AdjustVBGap AdvanceRootFinder AFECFR AFECOI AFECPD AFECPF AFEDMP AFEDOP AFEDWC AFEELR AFEEXF AFEFAN AFEHEX AFEHOP AFEPLR AFESCR AFESEL AFESOP AFETMU AirflowNetworkVentingControl AirMass AIRMOV AllocateAirflowNetworkData AllocateAirHeatBalArrays AllocateAndInitData AllocateAndSetUpVentReports AllocateCFSStateHourlyData AllocateForCFSRefPointsGeometry AllocateForCFSRefPointsState AllocateHeatBalArrays AllocateLoadComponentArrays AllocateModuleArrays AllocateModuleArrays AllocateSurfaceHeatBalArrays AllocateWeatherData angle_2dvector AnisoSkyViewFactors AnyPlantLoopSidesNeedSim AnyPlantSplitterMixerLacksContinuity AreaPolygon ArgCheck array_to_vector ASHRAETauModel ASHWAT_OffNormalProperties ASHWAT_Solar ASHWAT_Thermal ASSIGNMENT (=) AssignNodeNumber AssignReportNumber AssignResourceTypeNum AssignReverseConstructionNumber AssignVariablePt AttachCustomMeters AttachMeters AuditBranches AUTOTDMA BaseThermalPropertySet_Diffusivity BeginEnvrnInitializeRuntimeLanguage BetweenDates BetweenGlassForcedFlow BetweenGlassShadeForcedFlow BetweenGlassShadeNaturalFlow BisectionMethod BlindBeamBeamTrans BlindOpticsBeam BlindOpticsDiffuse BoreholeResistance BoundValueToNodeMinMaxAvail BoundValueToWithinTwoValues BracketRoot BranchPressureDrop BrentMethod BuildGap BuildKeyVarList Calc4PipeFanCoil Calc_EN673 Calc_ISO15099 CalcActiveTranspiredCollector CalcAggregateLoad CalcAirflowNetworkAirBalance CalcAirflowNetworkCO2Balance CalcAirflowNetworkGCBalance CalcAirflowNetworkHeatBalance CalcAirflowNetworkMoisBalance CalcAirFlowSimple CalcAirLoopSplitter CalcAirMixer CalcAirToAirGenericHeatExch CalcAirToAirPlateHeatExch CalcAirZoneReturnPlenum CalcAirZoneSupplyPlenum CalcAlamdariHammondStableHorizontal CalcAlamdariHammondUnstableHorizontal CalcAlamdariHammondVerticalWall CalcAngleFactorMRT CalcApproximateViewFactors CalcASHRAEDetailedIntConvCoeff CalcASHRAESimpExtConvectCoeff CalcASHRAESimpleIntConvCoeff CalcASHRAEVerticalWall CalcATMixer CalcAwbiHattonHeatedFloor CalcAwbiHattonHeatedWall CalcBasinHeaterPower CalcBasinHeaterPowerForMultiModeDXCoil CalcBeamSolarOnWinRevealSurface CalcBeamSolDiffuseReflFactors CalcBeamSolSpecularReflFactors CalcBeausoleilMorrisonMixedAssistedWall CalcBeausoleilMorrisonMixedOpposingWall CalcBeausoleilMorrisonMixedStableCeiling CalcBeausoleilMorrisonMixedStableFloor CalcBeausoleilMorrisonMixedUnstableCeiling CalcBeausoleilMorrisonMixedUnstableFloor CalcBLASTAbsorberModel CalcBlockenWindward CalcBoilerModel CalcBoilerModel CalcBottomFluxCoefficents CalcBottomSurfTemp CalcBuriedPipeSoil CalcCBF CalcCBF CalcCBVAV CalcCeilingDiffuserInletCorr CalcCeilingDiffuserIntConvCoeff CalcChillerHeaterModel CalcChillerIPLV CalcChillerModel CalcClearRoof CalcCoilUAbyEffectNTU CalcColdestSetPoint CalcComplexWindowOverlap CalcComplexWindowThermal CalcCompSuctionTempResidual CalcCondEntSetPoint CalcConnectionsDrainTemp CalcConnectionsFlowRates CalcConnectionsHeatRecovery CalcConstCOPChillerModel CalcConvCoeffAbsPlateAndWater CalcConvCoeffBetweenPlates CalcCoolBeam CalcCoolTower CalcCoordinateTransformation CalcCoPlanarNess CalcCostEstimate CalcCTGeneratorModel CalcDayltgCoefficients CalcDayltgCoeffsMapPoints CalcDayltgCoeffsRefMapPoints CalcDayltgCoeffsRefPoints CalcDesiccantBalancedHeatExch CalcDesignSpecificationOutdoorAir CalcDesuperheaterHeatingCoil CalcDesuperheaterWaterHeater CalcDetailedHcInForDVModel CalcDetailedSystem CalcDetailedTransSystem CalcDetailFlatFinCoolingCoil CalcDetIceStorLMTDstar CalcDiffTSysAvailMgr CalcDirectAir CalcDirectEvapCooler CalcDirectResearchSpecialEvapCooler CalcDoe2DXCoil CalcDOE2Leeward CalcDOE2Windward CalcDryFinEffCoef CalcDryIndirectEvapCooler CalcDuct CalcDXCoilStandardRating CalcDXHeatingCoil CalcEarthTube CalcEcoRoof CalcEffectiveness CalcEffectiveSHR CalcEffectiveSHR CalcEffectiveSHR CalcEffectiveSHR CalcElecSteamHumidifier CalcElectricBaseboard CalcElectricChillerHeatRecovery CalcElectricChillerModel CalcElectricEIRChillerModel CalcElectricHeatingCoil CalcEmmelRoof CalcEmmelVertical CalcEngineChillerHeatRec CalcEngineDrivenChillerModel CalcEQLOpticalProperty CalcEQLWindowOpticalProperty CalcEQLWindowSHGCAndTransNormal CalcEQLWindowStandardRatings CalcEQLWindowUvalue CalcEquipmentDrainTemp CalcEquipmentFlowRates CalcExhaustAbsorberChillerModel CalcExhaustAbsorberHeaterModel CalcExteriorVentedCavity CalcFisherPedersenCeilDiffuserCeiling CalcFisherPedersenCeilDiffuserFloor CalcFisherPedersenCeilDiffuserWalls CalcFluidHeatExchanger CalcFohannoPolidoriVerticalWall CalcFollowOATempSetPoint CalcFollowSysNodeTempSetPoint CalcFourPipeIndUnit CalcFrameDividerShadow CalcFuelCellAuxHeater CalcFuelCellGeneratorModel CalcFuelCellGenHeatRecovery CalcFurnaceOutput CalcFurnaceResidual CalcGasAbsorberChillerModel CalcGasAbsorberHeaterModel CalcGasCooler CalcGasHeatingCoil CalcGenericDesiccantDehumidifier CalcGoldsteinNovoselacCeilingDiffuserFloor CalcGoldsteinNovoselacCeilingDiffuserWall CalcGoldsteinNovoselacCeilingDiffuserWindow CalcGroundTempSetPoint CalcGroundwaterWell CalcGshpModel CalcGshpModel CalcGTChillerModel CalcHeatBalanceAir CalcHeatBalanceInsideSurf CalcHeatBalanceInsideSurf CalcHeatBalanceOutsideSurf CalcHeatBalanceOutsideSurf CalcHeatBalFiniteDiff CalcHeatBalHAMT CalcHeatPumpWaterHeater CalcHeatTransCoeffAndCoverTemp CalcHfExteriorSparrow CalcHighTempRadiantSystem CalcHighTempRadiantSystemSP CalcHiTurnOffSysAvailMgr CalcHiTurnOnSysAvailMgr CalcHnASHRAETARPExterior CalcHPCoolingSimple CalcHPHeatingSimple CalcHPWHDXCoil CalcHWBaseboard CalcHXAssistedCoolingCoil CalcHXEffectTerm CalcHybridVentSysAvailMgr CalcIBesselFunc CalcICEngineGeneratorModel CalcICEngineGenHeatRecovery CalcIceStorageCapacity CalcIceStorageCharge CalcIceStorageDischarge CalcIceStorageDormant CalcICSSolarCollector CalcIdealCondEntSetPoint CalcIfSetpointMet CalcIndirectAbsorberModel CalcIndirectResearchSpecialEvapCooler CalcInteriorRadExchange CalcInteriorSolarDistribution CalcInteriorSolarOverlaps CalcInteriorWinTransDifSolInitialDistribution CalcISO15099WindowIntConvCoeff CalcKaradagChilledCeiling CalcKBesselFunc CalcKhalifaEq3WallAwayFromHeat CalcKhalifaEq4CeilingAwayFromHeat CalcKhalifaEq5WallsNearHeat CalcKhalifaEq6NonHeatedWalls CalcKhalifaEq7Ceiling CalcLoadCenterThermalLoad CalcLoTurnOffSysAvailMgr CalcLoTurnOnSysAvailMgr CalcLowTempCFloRadiantSystem CalcLowTempCFloRadSysComps CalcLowTempElecRadiantSystem CalcLowTempHydrRadiantSystem CalcLowTempHydrRadSysComps CalcMatrixInverse CalcMcAdams CalcMerkelVariableSpeedTower CalcMicroCHPNoNormalizeGeneratorModel CalcMinIntWinSolidAngs CalcMitchell CalcMixedAirSetPoint CalcMoistureBalanceEMPD CalcMoreNodeInfo CalcMoWITTLeeward CalcMoWITTWindward CalcMSHeatPump CalcMTGeneratorModel CalcMultiSpeedDXCoil CalcMultiSpeedDXCoilCooling CalcMultiSpeedDXCoilHeating CalcMultiStageElectricHeatingCoil CalcMultiStageGasHeatingCoil CalcMultiZoneAverageCoolingSetPoint CalcMultiZoneAverageHeatingSetPoint CalcMultiZoneAverageMaxHumSetPoint CalcMultiZoneAverageMinHumSetPoint CalcMultiZoneMaxHumSetPoint CalcMultiZoneMinHumSetPoint CalcMundtModel CalcNCycSysAvailMgr CalcNewZoneHeatCoolFlowRates CalcNewZoneHeatOnlyFlowRates CalcNodeMassFlows CalcNominalWindowCond CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNonDXHeatingCoils CalcNusselt CalcNusseltJurges CalcNVentSysAvailMgr CalcOAController CalcOAMassFlow CalcOAMassFlow CalcOAMixer CalcOAOnlyMassFlow CalcOAPretreatSetPoint CalcOAUnitCoilComps CalcObstrMultiplier CalcOptStartSysAvailMgr CalcOtherSideDemand CalcOutdoorAirUnit CalcOutsideAirSetPoint CalcOutsideSurfTemp CalcParallelPIU CalcPassiveExteriorBaffleGap CalcPassiveSystem CalcPassiveTranspiredCollector CalcPerSolarBeam CalcPipeHeatTransCoef CalcPipesHeatTransfer CalcPipeTransBeam CalcPlantValves CalcPollution CalcPolyhedronVolume CalcPolynomCoef CalcPondGroundHeatExchanger CalcPredictedHumidityRatio CalcPredictedSystemLoad CalcPTUnit CalcPumps CalcPurchAirLoads CalcPurchAirMinOAMassFlow CalcPurchAirMixedAir CalcPVTcollectors CalcQiceChargeMaxByChiller CalcQiceChargeMaxByITS CalcQiceDischageMax CalcRABFlowSetPoint CalcRackSystem CalcRadSysHXEffectTerm CalcRadTemp CalcRainCollector CalcReformEIRChillerModel CalcResearchSpecialPartLoad CalcReturnAirPath CalcRfFlrCoordinateTransformation CalcSandiaPV CalcSatVapPressFromTemp CalcSchedOffSysAvailMgr CalcSchedOnSysAvailMgr CalcSchedSysAvailMgr CalcScheduledDualSetPoint CalcScheduledSetPoint CalcScreenTransmittance CalcScriptF CalcSeriesPIU CalcSetpointTempTarget CalcSHRUserDefinedCurves CalcSimpleController CalcSimpleHeatingCoil CalcSimplePV CalcSingleSpeedEvapFluidCooler CalcSingleSpeedTower CalcSingZoneClSetPoint CalcSingZoneHtSetPoint CalcSingZoneMaxHumSetPoint CalcSingZoneMinHumSetPoint CalcSingZoneRhSetPoint CalcSkySolDiffuseReflFactors CalcSolarCollector CalcSolarFlux CalcSolidDesiccantDehumidifier CalcSourceFlux CalcSourceTempCoefficents CalcSparrowLeeward CalcSparrowWindward CalcSpecialDayTypes CalcStandAloneERV CalcStandardRatings CalcStaticProperties CalcSteamAirCoil CalcSteamBaseboard CalcSurfaceCentroid CalcSurfaceGroundHeatExchanger CalcSystemEnergyUse CalcSZOneStageCoolingSetPt CalcSZOneStageHeatingSetPt CalcTankTemp CalcTDDTransSolAniso CalcTDDTransSolHorizon CalcTDDTransSolIso CalcTempDistModel CalcTempIntegral CalcTESCoilChargeOnlyMode CalcTESCoilCoolingAndChargeMode CalcTESCoilCoolingAndDischargeMode CalcTESCoilCoolingOnlyMode CalcTESCoilDischargeOnlyMode CalcTESCoilOffMode CalcTESIceStorageTank CalcTESWaterStorageTank CalcThermalChimney CalcThermalComfortAdaptiveASH55 CalcThermalComfortAdaptiveCEN15251 CalcThermalComfortFanger CalcThermalComfortKSU CalcThermalComfortPierce CalcThermalComfortSimpleASH55 CalcTimeNeeded CalcTopFluxCoefficents CalcTopSurfTemp CalcTotalFLux CalcTotCapSHR CalcTotCapSHR_VSWSHP CalcTransAbsorProduct CalcTransRefAbsOfCover CalcTRNSYSPV CalcTrombeWallIntConvCoeff CalcTwoSpeedDXCoilIEERResidual CalcTwoSpeedDXCoilStandardRating CalcTwoSpeedEvapFluidCooler CalcTwoSpeedTower CalcUAIce CalcUCSDCV CalcUCSDDV CalcUCSDUE CalcUCSDUI CalculateAirChillerSets CalculateBasisLength CalculateCase CalculateCoil CalculateCompressors CalculateCondensers CalculateCTFs CalculateDailySolarCoeffs CalculateDayOfWeek CalculateEpsFromNTUandZ CalculateExponentialMatrix CalculateFuncResults CalculateGammas CalculateInverseMatrix CalculateMoodyFrictionFactor CalculateNTUfromEpsAndZ CalculatePollution CalculateSecondary CalculateSubcoolers CalculateSunDirectionCosines CalculateTransCompressors CalculateWalkIn CalculateWaterUseage CalculateWaterUseage CalculateWindowBeamProperties CalculateZoneMRT CalculateZoneVolume CalcUnitaryCoolingSystem CalcUnitaryHeatingSystem CalcUnitarySuppHeatingSystem CalcUnitarySuppSystemtoSP CalcUnitarySystemLoadResidual CalcUnitarySystemToLoad CalcUnitHeater CalcUnitHeaterComponents CalcUnitVentilator CalcUnitVentilatorComponents CalcUnmetPlantDemand CalcUpdateHeatRecovery CalcUpdateHeatRecovery CalcUserDefinedInsideHcModel CalcUserDefinedOutsideHcModel CalcVariableSpeedTower CalcVarSpeedCoilCooling CalcVarSpeedCoilHeating CalcVarSpeedHeatPump CalcVarSpeedHeatPump CalcVAVVS CalcVentilatedSlab CalcVentilatedSlabComps CalcVentilatedSlabRadComps CalcVentSlabHXEffectTerm CalcVerticalGroundHeatExchanger CalcViewFactorToShelf CalcVRF CalcVRFCondenser CalcVRFCoolingCoil CalcVSTowerApproach CalcWallCoordinateTransformation CalcWaltonStableHorizontalOrTilt CalcWaltonUnstableHorizontalOrTilt CalcWarmestSetPoint CalcWarmestSetPointTempFlow CalcWaterMainsTemp CalcWaterSource CalcWaterStorageTank CalcWaterThermalTankMixed CalcWaterThermalTankStratified CalcWaterThermalTankZoneGains CalcWaterToAirHeatpump CalcWatertoAirHPCooling CalcWatertoAirHPHeating CalcWaterToAirResidual CalcWatertoWaterHPCooling CalcWatertoWaterHPHeating CalcWaterUseZoneGains CalcWetIndirectEvapCooler CalcWindowACOutput CalcWindowBlindProperties CalcWindowHeatBalance CalcWindowProfileAngles CalcWindowScreenProperties CalcWindowStaticProperties CalcWindPressure CalcWindPressureCoeffs CalcWindTurbine CalcWinFrameAndDividerTemps CalcWinTransDifSolInitialDistribution CalcWrapperModel CalcZoneAirComfortSetpoints CalcZoneAirTempSetpoints CalcZoneComponentLoadSums CalcZoneDehumidifier CalcZoneEvaporativeCoolerUnit CalcZoneLeavingConditions CalcZoneMassBalance CalcZonePipesHeatGain CalcZoneSums CartesianPipeCellInformation_ctor CellType_IsFieldCell CFSHasControlledShade CFSNGlz CFSRefPointPosFactor CFSRefPointSolidAngle CFSShadeAndBeamInitialization CFSUFactor cGetCoilAirOutletNode cGetCoilSteamInletNode cGetCoilSteamOutletNode CharPreDefTableEntry CheckActuatorNode CheckAndAddAirNodeNumber CheckAndFixCFSLayer CheckAndReadCustomSprectrumData CheckAndReadFaults CheckAndSetConstructionProperties CheckBracketRoundOff CheckBranchForOASys CheckCachedIPErrors CheckCFSStates CheckCoilWaterInletNode CheckControllerListOrder CheckControllerLists CheckConvexity CheckCostEstimateInput CheckCreatedZoneItemName CheckCurveLimitsForIPLV CheckCurveLimitsForStandardRatings CheckDayScheduleValueMinMax CheckDXCoolingCoilInOASysExists CheckFDSurfaceTempLimits CheckFFSchedule CheckFluidPropertyName CheckForActualFileName CheckForBalancedFlow CheckForControllerWaterCoil CheckForGeometricTransform CheckForGeometricTransform CheckForMisMatchedEnvironmentSpecifications CheckForOutOfRangeTempResult CheckForOutOfRangeTemps CheckForRequestedReporting CheckForRunawayPlantTemps CheckForSensorAndSetpointNode CheckGasCoefs CheckHeatingCoilSchedule CheckHXAssistedCoolingCoilSchedule CheckIFAnyEMS CheckIFAnyIdealCondEntSetPoint CheckIfAnyPlant CheckIfNodeSetpointManagedByEMS CheckIncrementRoundOff CheckInternalConsistency CheckLightsReplaceableMinMaxForZone CheckLocationValidity CheckLoopExitNode CheckLowerUpperBracket CheckMarkedNodes CheckMaxActiveController CheckMaxConstraint CheckMicroCHPThermalBalance CheckMinActiveController CheckMinConstraint checkMinimumMonthlyCharge CheckMinMaxCurveBoundaries CheckMinMaxRange CheckModelBoundOutput_HumRat CheckModelBoundOutput_Temp CheckModelBounds CheckModelBoundsHumRatEq CheckModelBoundsRH_HumRatEq CheckModelBoundsRH_TempEq CheckModelBoundsTempEq CheckNodeConnections CheckNodeSetPoint CheckNonSingularity CheckOAControllerName CheckOutAirNodeNumber CheckPlantConvergence CheckPlantMixerSplitterConsistency CheckPlantOnAbort CheckPollutionMeterReporting CheckRefrigerationInput CheckReportVariable CheckRootFinderCandidate CheckRootFinderConvergence CheckScheduledSurfaceGains CheckScheduleValue CheckScheduleValueMinMax Checksetpoints CheckSimpleController CheckSlope CheckSteamCoilSchedule CheckSubSurfaceMiscellaneous CheckSysSizing CheckSystemBranchFlow CheckTDDsAndLightShelvesInDaylitZones CheckThisAirSystemForSizing CheckThisZoneForSizing CheckThreading CheckUniqueNodes CheckUnitarySysCoilInOASysExists CheckUsedConstructions CheckValidSimulationObjects CheckWarmupConvergence CheckWaterCoilSchedule CheckWeatherFileValidity CheckWindowShadingControlFrameDivider CheckZoneEquipmentList CheckZoneSizing CHKBKS CHKGSS CHKSBS CLIP CLIPPOLY CloseDFSFile CloseMiscOpenFiles CloseMoistureBalanceEMPD CloseOutOpenFiles CloseOutputFiles CloseOutputTabularFile CloseReportIllumMaps CloseSocket CloseWeatherFile CoilAreaFracIter CoilCompletelyDry CoilCompletelyWet CoilOutletStreamCondition CoilPartWetPartDry COMMAND_ARGUMENT_COUNT CompactObjectsCheck CompareTwoVectors ComplexFenestrationLuminances ComputeDelayedComponents ComputeDifSolExcZonesWIZWindows ComputeIntSolarAbsorpFactors ComputeIntSWAbsorpFactors ComputeIntThermalAbsorpFactors ComputeLifeCycleCostAndReport ComputeLoadComponentDecayCurve ComputeNominalUwithConvCoeffs ComputePresentValue ComputeTariff ComputeTaxAndDepreciation ComputeWinShadeAbsorpFactors CondOutTempResidual ConstructBasis ControlCBVAVOutput ControlCompOutput ControlCompOutput ControlCoolBeam ControlCoolingSystem ControlCycWindACOutput ControlDesiccantDehumidifier ControlDXHeatingSystem ControlDXSystem ControlFluidHeatExchanger ControlHeatingSystem ControlHumidifier ControlMSHPOutput ControlPTUnitOutput ControlPVTcollector ControlReformEIRChillerModel ControlSuppHeatSystem ControlUnitarySystemOutput ControlUnitarySystemtoLoad ControlUnitarySystemtoSP ControlVRF ControlVSEvapUnitToMeetLoad ControlVSHPOutput ControlVSHPOutput ConvectionFactor ConvertCasetoLower ConvertCasetoUpper ConvertIP ConvertIPdelta ConvertToElementTag ConvertToEscaped CoolBeamResidual CoolingCoil CoolWaterHumRatResidual CoolWaterTempResidual CoolWatertoAirHPHumRatResidual CoolWatertoAirHPTempResidual CorrectZoneAirTemp CorrectZoneContaminants CorrectZoneHumRat CostInfoOut CPCW CPHW CreateBoundaryList CreateBoundaryListCount CreateCategoryNativeVariables CreateCellArray CreateCurrentDateTimeString CreateDefaultComputation CreateEnergyReportStructure CreateFCfactorConstructions CreateHVACStepFullString CreateHVACTimeIntervalString CreateHVACTimeString CreateNewellAreaVector CreateNewellSurfaceNormalVector CreatePartitionCenterList CreatePartitionRegionList CreatePredefinedMonthlyReports CreateRegionList CreateRegionListCount CreateShadedWindowConstruction CreateSQLiteConstructionsTable CreateSQLiteConstructionsTable CreateSQLiteDatabase CreateSQLiteDatabase CreateSQLiteDaylightMap CreateSQLiteDaylightMap CreateSQLiteDaylightMapTitle CreateSQLiteDaylightMapTitle CreateSQLiteEnvironmentPeriodRecord CreateSQLiteEnvironmentPeriodRecord CreateSQLiteErrorRecord CreateSQLiteErrorRecord CreateSQLiteInfiltrationTable CreateSQLiteInfiltrationTable CreateSQLiteMaterialsTable CreateSQLiteMaterialsTable CreateSQLiteMeterDictionaryRecord CreateSQLiteMeterDictionaryRecord CreateSQLiteMeterRecord CreateSQLiteMeterRecord CreateSQLiteNominalBaseboardHeatTable CreateSQLiteNominalBaseboardHeatTable CreateSQLiteNominalElectricEquipmentTable CreateSQLiteNominalElectricEquipmentTable CreateSQLiteNominalGasEquipmentTable CreateSQLiteNominalGasEquipmentTable CreateSQLiteNominalHotWaterEquipmentTable CreateSQLiteNominalHotWaterEquipmentTable CreateSQLiteNominalLightingTable CreateSQLiteNominalLightingTable CreateSQLiteNominalOtherEquipmentTable CreateSQLiteNominalOtherEquipmentTable CreateSQLiteNominalPeopleTable CreateSQLiteNominalPeopleTable CreateSQLiteNominalSteamEquipmentTable CreateSQLiteNominalSteamEquipmentTable CreateSQLiteReportVariableDataRecord CreateSQLiteReportVariableDataRecord CreateSQLiteReportVariableDictionaryRecord CreateSQLiteReportVariableDictionaryRecord CreateSQLiteRoomAirModelTable CreateSQLiteRoomAirModelTable CreateSQLiteSchedulesTable CreateSQLiteSimulationsRecord CreateSQLiteSimulationsRecord CreateSQLiteStringTableRecord CreateSQLiteSurfacesTable CreateSQLiteSurfacesTable CreateSQLiteTabularDataRecords CreateSQLiteTabularDataRecords CreateSQLiteTimeIndexRecord CreateSQLiteTimeIndexRecord CreateSQLiteVentilationTable CreateSQLiteVentilationTable CreateSQLiteZoneGroupTable CreateSQLiteZoneGroupTable CreateSQLiteZoneListTable CreateSQLiteZoneListTable CreateSQLiteZoneTable CreateSQLiteZoneTable CreateStormWindowConstructions CreateSysTimeIntervalString CreateTCConstructions CreateTimeIntervalString CreateTimeString CreatExtBooundCondName CreateZoneExtendedOutput CreateZoneExtendedOutput CrossProduct CrossProduct cSurfaceClass CTRANS CurveValue DateToString DateToStringWithMonth DaylghtAltAndAzimuth DayltgAveInteriorReflectance DayltgClosestObstruction DayltgCrossProduct DayltgCurrentExtHorizIllum DayltgDirectIllumComplexFenestration DayltgDirectSunDiskComplexFenestration DayltgElecLightingControl DayltgExtHorizIllum DayltgGlare DayltgGlarePositionFactor DayltgGlareWithIntWins DayltgHitBetWinObstruction DayltgHitInteriorObstruction DayltgHitObstruction DayltgInteriorIllum DayltgInteriorMapIllum DayltgInteriorTDDIllum DayltgInterReflectedIllum DayltgInterReflectedIllumComplexFenestration DayltgInterReflIllFrIntWins DayltgLuminousEfficacy DayltgPierceSurface DayltgSetupAdjZoneListsAndPointers DayltgSkyLuminance DayltgSurfaceLumFromSun dCheckScheduleValueMinMax1 dCheckScheduleValueMinMax2 DeallocateLoadComponentArrays DebugRootFinder DecodeHHMMField DecodeMonDayHrMin DeflectionTemperatures DeflectionWidths DegradF DElightDaylightCoefficients DElightDaylightCoefficients DElightElecLtgCtrl DElightElecLtgCtrl DElightFreeMemory DElightFreeMemory DElightInputGenerator DElightInputGenerator DElightOutputGenerator DElightOutputGenerator DensityCFSFillGas Depth DERIV DetailsForSurfaces DetectOscillatingZoneTemp DetermineAzimuthAndTilt DetermineBranchFlowRequest DetermineBuildingFloorArea DetermineDateTokens DetermineFrequency DetermineIndexGroupFromMeterGroup DetermineIndexGroupKeyFromMeterName DetermineMaxBackSurfaces DetermineMeterIPUnits DetermineMinuteForReporting DeterminePolygonOverlap DetermineShadowingCombinations DetermineSunUpDown DevelopMesh DiffuseAverage DiffuseAverageProfAngGnd DiffuseAverageProfAngSky DisplayMaterialRoughness DisplayNumberandString DisplaySimDaysProgress DisplayString distance DistributeBBElecRadGains DistributeBBRadGains DistributeBBSteamRadGains DistributeHTRadGains DistributePlantLoad DistributePressureOnBranch DistributeTDDAbsorbedSolar DistributeUserDefinedPlantLoad DL_RES_r2 DLAG DOE2DXCoilHumRatResidual DOE2DXCoilHumRatResidual DOE2DXCoilResidual DOE2DXCoilResidual DOE2DXCoilResidual DoEndOfIterationOperations DomainRectangle_Contains DOMakeUPPERCase DoOneTimeInitializations DOSameString DoShadeControl DoStartOfTimeStepInitializations DownInterpolate4HistoryValues DumpAirLoopStatistics DumpCurrentLineBuffer DUMPVD DUMPVR DXCoilCyclingHumRatResidual DXCoilCyclingHumRatResidual DXCoilCyclingResidual DXCoilCyclingResidual DXCoilVarSpeedHumRatResidual DXCoilVarSpeedHumRatResidual DXCoilVarSpeedResidual DXCoilVarSpeedResidual DXFOut DXFOutLines DXFOutWireFrame DXHeatingCoilResidual DXHeatingCoilResidual DXHeatingCoilResidual DynamicClothingModel DynamicExtConvSurfaceClassification DynamicIntConvSurfaceClassification EchoOutActuatorKeyChoices EchoOutInternalVariableChoices EffectiveEPSLB EffectiveEPSLF EIRChillerHeatRecovery EN673ISO10292 EncodeMonDayHrMin EndEnergyPlus EndUniqueNodeCheck EnthalpyResidual epElapsedTime epGetTimeUsed epGetTimeUsedperCall epStartTime epStopTime epSummaryTimes eptime EQLWindowInsideEffectiveEmiss EQLWindowOutsideEffectiveEmiss EQLWindowSurfaceHeatBalance EquationsSolver ERF EstimateHEXSurfaceArea EvalInsideMovableInsulation EvalOutsideMovableInsulation EvaluateAdiabaticSurfaceTemperature EvaluateBasementCellTemperature EvaluateCellNeighborDirections evaluateChargeBlock evaluateChargeSimple EvaluateExpression EvaluateExtHcModels EvaluateFarfieldBoundaryTemperature EvaluateFarfieldCharacteristics EvaluateFieldCellTemperature EvaluateGroundSurfaceTemperature EvaluateIntHcModels EvaluateLoopSetPointLoad EvaluateNeighborCharacteristics evaluateQualify evaluateRatchet EvaluateSoilRhoCp EvaluateStack EvolveParaUCSDCV ExitCalcController ExpandComplexState ExpressAsCashFlows ExtendObjectDefinition ExteriorBCEqns ExternalInterfaceExchangeVariables ExternalInterfaceInitializeErlVariable ExternalInterfaceSetErlVariable ExternalInterfaceSetSchedule ExtOrIntShadeNaturalFlow Fabric_EstimateDiffuseProps FACSKY FalsePositionMethod FEQX FI FigureACAncillaries FigureAirEnthalpy FigureAirHeatCap FigureAuxilHeatGasHeatCap FigureBeamSolDiffuseReflFactors FigureBeamSolSpecularReflFactors FigureConstGradPattern FigureDayltgCoeffsAtPointsForSunPosition FigureDayltgCoeffsAtPointsForWindowElements FigureDayltgCoeffsAtPointsSetupForWindow FigureElectricalStorageZoneGains FigureFuelCellZoneGains FigureFuelEnthalpy FigureFuelHeatCap FigureGaseousWaterEnthalpy FigureHeightPattern FigureHXleavingGasHeatCap FigureInverterZoneGains FigureLHVofFuel FigureLiquidWaterEnthalpy FigureLiquidWaterHeatCap FigureMapPointDayltgFactorsToAddIllums FigureMicroCHPZoneGains FigureNDheightInZone FigurePowerConditioningLosses FigureProductGasesEnthalpy FigureProductGasHeatCap FigureRefPointDayltgFactorsToAddIllums FigureRefrigerationZoneGains FigureSolarBeamAtTimestep FigureSunCosines FigureSurfMapPattern FigureTDDZoneGains FigureTransformerZoneGains FigureTransientConstraints FigureTwoGradInterpPattern FILJAC FillBasisElement FillDefaultsSWP FillRemainingPredefinedEntries FillWeatherPredefinedEntries film filmg filmi filmPillar FILSKY FinalizeCFS FinalizeCFSLAYER FinalRateCoils FindAirLoopBranchConnection FindAirPlantCondenserLoopFromBranchList FindAllNumbersinList FindArrayIndex FindCompSPInput FindCompSPLoad FindCondenserLoopBranchConnection FindControlledZoneIndexFromSystemNodeNumberForZone FindDeltaTempRangeInput FindDemandSideMatch FindEMSVariable FindFirstLastPtr FindFirstRecord FindGlycol FindHXDemandSideLoopFlow FindInBasis FindItem FindIteminList FindIteminSortedList FindItemInVariableList FindLoopSideInCallingOrder FindNextRecord FindNonSpace FindNumberinList FindOAMixerMatchForOASystem FindPlantLoopBranchConnection FindRangeBasedOrUncontrolledInput FindRangeVariable FindRefrigerant FindRootSimpleController FindStratifiedTankSensedTemp FindTariffIndex FindTDDPipe FindUnitNumber FinishDebugOutputFiles FixViewFactors FluidCellInformation_ctor FM_BEAM FM_DIFF FM_F FNU forcedventilation FourPipeInductionUnitHasMixer FourPipeIUCoolingResidual FourPipeIUHeatingResidual FRA FrostControl FrostControlSetPointLimit FrostControlSetPointLimit FuelCellProductGasEnthResidual FUN FuncDetermineCoolantWaterExitTemp FuncDetermineCWMdotForInternalFlowControl FuncDetermineEngineTemp FV GasElecHeatingCoilResidual GASSES90 GassesLow GatherBEPSResultsForTimestep GatherBinResultsForTimestep GatherComponentLoadsHVAC GatherComponentLoadsIntGain GatherComponentLoadsSurfAbsFact GatherComponentLoadsSurface GatherForEconomics GatherForPredefinedReport GatherHeatGainReport GatherMonthlyResultsForTimestep GatherPeakDemandForTimestep GatherSourceEnergyEndUseResultsForTimestep GaussElimination generate_ears GenerateDElightDaylightCoefficients GenerateDElightDaylightCoefficients GeneratorPowerOutput GenericCrack GenOutputVariablesAuditReport Get2DMatrix Get2DMatrixDimensions GET_COMMAND GET_COMMAND_ARGUMENT Get_Environment_Variable GetActualDXCoilIndex GetAirBranchIndex GetAirFlowFlag GetAirflowNetworkInput GetAirHeatBalanceInput GetAirLoopAvailabilityManager GetAirModelDatas GetAirNodeData GetAirPathData GetAngleFactorList GetATMixer GetATMixerOutNode GetATMixerPriNode GetATMixers GetATMixerSecNode GetAttShdSurfaceData GetAverageTempByType GetBaseboardInput GetBaseboardInput GetBasementFloorHeatFlux GetBasementWallHeatFlux GetBLASTAbsorberInput GetBoilerInput GetBoilerInput GetBranchData GetBranchFanTypeName GetBranchFlow GetBranchInput GetBranchList GetBranchListInput GetBuildingData GetCBVAV GetCellWidths GetCellWidthsCount GetChildrenData GetChillerheaterInput GetCoilAirFlowRate GetCoilAirFlowRateVariableSpeed GetCoilAirInletNode GetCoilAirOutletNode GetCoilAvailScheduleIndex GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacity GetCoilCapacityByIndexType GetCoilCapacityVariableSpeed GetCoilCondenserInletNode GetCoilControlNodeNum GetCoilGroupTypeNum GetCoilIndex GetCoilIndex GetCoilIndex GetCoilIndexVariableSpeed GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNode GetCoilInletNodeVariableSpeed GetCoilMaxSteamFlowRate GetCoilMaxWaterFlowRate GetCoilMaxWaterFlowRate GetCoilMaxWaterFlowRate GetCoilObjectTypeNum GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNode GetCoilOutletNodeVariableSpeed GetCoilSteamInletNode GetCoilSteamOutletNode GetCoilTypeNum GetCoilWaterInletNode GetCoilWaterInletNode GetCoilWaterOutletNode GetColumnUsingTabs GetComfortSetpoints GetComponentData GetCondFDInput GetConductivityGlycol GetConnectorList GetConnectorListInput GetConstCOPChillerInput GetConstructData GetControlledZoneIndex GetControllerActuatorNodeNum GetControllerInput GetCoolBeams GetCoolingCoilTypeNameAndIndex GetCooltower GetCostEstimateInput GetCrossVentData GetCTGeneratorInput GetCTGeneratorResults GetCurrentHVACTime GetCurrentMeterValue GetCurrentScheduleValue GetCurveCheck GetCurveIndex GetCurveInput GetCurveMinMaxValues GetCurveName GetCurveObjectTypeNum GetCurveType GetCustomMeterInput GetDaylightingParametersDetaild GetDaylightingParametersInput GetDayScheduleIndex GetDemandManagerInput GetDemandManagerListInput GetDensityGlycol GetDesiccantDehumidifierInput GetDesignDayData GetDesignLightingLevelForZone GetDetShdSurfaceData GetDirectAirInput GetDisplacementVentData GetDSTData GetDualDuctInput GetDualDuctOutdoorAirRecircUse GetDuctInput GetDXCoilAirFlow GetDXCoilAvailSchPtr GetDXCoilBypassedFlowFrac GetDXCoilCapFTCurveIndex GetDXCoilIndex GetDXCoilNumberOfSpeeds GetDXCoils GetDXCoolingSystemInput GetDXHeatPumpSystemInput GetEarthTube GetElecReformEIRChillerInput GetElectricBaseboardInput GetElectricChillerInput GetElectricEIRChillerInput GetEMSInput GetEngineDrivenChillerInput GetEnvironmentalImpactFactorInfo GetEvapFluidCoolerInput GetEvapInput GetExhaustAbsorberInput GetExhaustAirInletNode GetExteriorEnergyUseInput GetExtVentedCavityIndex GetExtVentedCavityIndex GetExtVentedCavityTsColl GetExtVentedCavityTsColl GetFanAvailSchPtr GetFanCoilIndex GetFanCoilInletAirNode GetFanCoilMixedAirNode GetFanCoilOutAirNode GetFanCoilReturnAirNode GetFanCoilUnits GetFanCoilZoneInletAirNode GetFanDesignVolumeFlowRate GetFanIndex GetFanIndexForTwoSpeedCoil GetFanInletNode GetFanInput GetFanOutletNode GetFanPower GetFanSpeedRatioCurveIndex GetFanType GetFanVolFlow GetFarfieldTemp GetFirstBranchInletNodeName GetFluidCoolerInput GetFluidDensityTemperatureLimits GetFluidHeatExchangerInput GetFluidPropertiesData GetFluidSpecificHeatTemperatureLimits GetFrameAndDividerData GetFuelCellGeneratorInput GetFuelCellGeneratorResults GetFuelFactorInfo GetFurnaceInput GetGasAbsorberInput GetGeneratorFuelSupplyInput GetGeometryParameters GetGlycolNameByIndex GetGroundheatExchangerInput GetGroundReflectances GetGroundTemps GetGshpInput GetGshpInput GetGTChillerInput GetHeatBalanceInput GetHeatBalHAMTInput GetHeatExchangerObjectTypeNum GetHeatingCoilIndex GetHeatingCoilInput GetHeatingCoilNumberOfStages GetHeatingCoilPLFCurveIndex GetHeatingCoilTypeNum GetHeatReclaimSourceIndex GetHeatRecoveryInput GetHighTempRadiantSystem GetHPCoolingCoilIndex GetHTSubSurfaceData GetHTSurfaceData GetHTSurfExtVentedCavityData GetHumidifierInput GetHVACSingleDuctSysIndex GetHWBaseboardInput GetHXAssistedCoolingCoilInput GetHXCoilAirFlowRate GetHXCoilType GetHXCoilTypeAndName GetHXDXCoilIndex GetHXDXCoilName GetHybridVentilationControlStatus GetHybridVentilationInputs GetICEGeneratorResults GetICEngineGeneratorInput GetIceStorageInput GetIDFRecordsStats GetIndirectAbsorberInput GetIndUnits GetInputEconomicsChargeBlock GetInputEconomicsChargeSimple GetInputEconomicsComputation GetInputEconomicsCurrencyType GetInputEconomicsQualify GetInputEconomicsRatchet GetInputEconomicsTariff GetInputEconomicsVariable GetInputForLifeCycleCost GetInputFuelAndPollutionFactors GetInputLifeCycleCostNonrecurringCost GetInputLifeCycleCostParameters GetInputLifeCycleCostRecurringCosts GetInputLifeCycleCostUseAdjustment GetInputLifeCycleCostUsePriceEscalation GetInputTabularMonthly GetInputTabularPredefined GetInputTabularStyle GetInputTabularTimeBins GetInputViewFactors GetInputViewFactorsbyName GetInputZoneEvaporativeCoolerUnit GetInstantMeterValue GetInternalBranchData GetInternalHeatGainsInput GetInternalVariableValue GetInternalVariableValue GetInternalVariableValueExternalInterface GetInternalVariableValueExternalInterface GetInterpolatedSatProp GetInterpValue GetIntMassSurfaceData GetLastBranchOutletNodeName GetLastWord GetLightWellData GetListOfObjectsInIDD GetListofSectionsinInput GetLocationInfo GetLoopMixer GetLoopSidePumpIndex GetLoopSplitter GetLowTempRadiantSystem GetMaterialData GetMatrixInput getMaxAndSum GetMeteredVariables GetMeterIndex GetMeterResourceType GetMicroCHPGeneratorInput GetMicroCHPGeneratorResults GetMinOATCompressor GetMixerInput GetMixerInput GetMoistureBalanceEMPDInput GetMonthlyCostForResource GetMovableInsulationData GetMSHeatPumpInput GetMTGeneratorExhaustNode GetMTGeneratorInput GetMTGeneratorResults GetMundtData GetNewUnitNumber GetNextEnvironment GetNodeConnectionType GetNodeList GetNodeListsInput GetNodeNums GetNTUforCrossFlowBothUnmixed GetNumberOfSchedules GetNumberOfSurfaceLists GetNumberOfSurfListVentSlab GetNumChildren GetNumMeteredVariables GetNumOAControllers GetNumOAMixers GetNumOASystems GetNumObjectsFound GetNumObjectsInIDD GetNumRangeCheckErrorsFound GetNumSectionsFound GetNumSectionsinInput GetNumSegmentsForHorizontalTrenches GetNumSplitterMixerInConntrList GetOACompListNumber GetOACompName GetOACompType GetOACompTypeNum GetOAControllerInputs GetOAMixerIndex GetOAMixerInletNodeNumber GetOAMixerInputs GetOAMixerMixedNodeNumber GetOAMixerNodeNumbers GetOAMixerReliefNodeNumber GetOAMixerReturnNodeNumber GetOARequirements GetOASysControllerListIndex GetOASysNumCoolingCoils GetOASysNumHeatingCoils GetOASysNumSimpControllers GetOASystemNumber GetObjectDefInIDD GetObjectDefMaxArgs GetObjectItem GetObjectItemfromFile GetObjectItemNum GetOnlySingleNode GetOperationSchemeInput GetOSCData GetOSCMData GetOutAirNodesInput GetOutdoorAirUnitInputs GetOutdoorAirUnitOutAirNode GetOutdoorAirUnitReturnAirNode GetOutdoorAirUnitZoneInletNode GetOutsideAirSysInputs GetOutsideEnergySourcesInput GetParentData GetPipeInput GetPipesHeatTransfer GetPipingSystemsInput GetPIUs GetPlantAvailabilityManager GetPlantInput GetPlantLoopData GetPlantOperationInput GetPlantProfileInput GetPlantSizingInput GetPlantValvesInput GetPollutionFactorInput GetPondGroundHeatExchanger GetPowerManagerInput GetPressureCurveTypeAndIndex GetPressureSystemInput GetPreviousHVACTime GetProjectControlData GetProjectData GetPTUnit GetPTUnitMixedAirNode GetPTUnitOutAirNode GetPTUnitReturnAirNode GetPTUnitZoneInletAirNode GetPumpInput GetPurchasedAir GetPurchasedAirMixedAirHumRat GetPurchasedAirMixedAirTemp GetPurchasedAirOutAirMassFlow GetPurchasedAirReturnAirNode GetPurchasedAirZoneInletAirNode GetPVGeneratorResults GetPVInput GetPVTcollectorsInput GetPVTThermalPowerProduction GetQualityRefrig GetRecordLocations GetRectDetShdSurfaceData GetRectSubSurfaces GetRectSurfaces GetRefrigeratedRackIndex GetRefrigerationInput GetReportVariableInput GetRequiredMassFlowRate GetResidCrossFlowBothUnmixed GetResourceTypeChar GetReturnAirNodeForZone GetReturnAirPathInput GetRoomAirModelParameters GetRunPeriodData GetRunPeriodDesignData GetRuntimeLanguageUserInput GetSatDensityRefrig GetSatEnthalpyRefrig GetSatPressureRefrig GetSatSpecificHeatRefrig GetSatTemperatureRefrig GetScheduledSurfaceGains GetScheduleIndex GetScheduleMaxValue GetScheduleMinValue GetScheduleName GetScheduleType GetScheduleValuesForDay GetSecondaryInletNode GetSecondaryOutletNode GetSetPointManagerInputs GetShadingSurfReflectanceData GetShadowingInput GetShelfInput GetSimpleAirModelInputs GetSimpleShdSurfaceData GetSimpleWatertoAirHPInput GetSingleDayScheduleValues GetSiteAtmosphereData GetSizingParams GetSnowGroundRefModifiers GetSolarCollectorInput GetSpecialDayPeriodData GetSpecificHeatGlycol getSpecificUnitDivider getSpecificUnitIndex getSpecificUnitMultiplier GetSplitterInput GetSplitterInput GetSplitterNodeNumbers GetSplitterOutletNumber GetStandAloneERV GetStandAloneERVNodes GetStandAloneERVOutAirNode GetStandAloneERVReturnAirNode GetStandAloneERVZoneInletAirNode GetStandardMeterResourceType GetSteamBaseboardInput GetSteamCoilAvailScheduleIndex GetSteamCoilControlNodeNum GetSteamCoilIndex GetSteamCoilInput GetSTM GetStormWindowData GetSupHeatDensityRefrig GetSupHeatEnthalpyRefrig GetSupHeatPressureRefrig GetSupplyAirFlowRate GetSupplyAirFlowRate GetSupplyAirInletNode GetSupplyInletNode GetSupplyOutletNode GetSurfaceCountForOSCM GetSurfaceData GetSurfaceGroundHeatExchanger GetSurfaceHeatTransferAlgorithmOverrides GetSurfaceIndecesForOSCM GetSurfaceListsInputs GetSurfHBDataForMundtModel GetSurfHBDataForTempDistModel GetSysAvailManagerInputs GetSysAvailManagerListInputs GetSysInput GetSystemNodeNumberForZone GetSystemSizingInput GetTDDInput GetTESCoilIndex GetTESCoilInput GetThermalChimney GetTowerInput GetTranspiredCollectorIndex GetTranspiredCollectorInput GetTypeOfCoil GetUFADZoneData GetUnitarySystemDXCoolingCoilIndex GetUnitarySystemInput GetUnitarySystemOAHeatCoolCoil GetUnitConversion GetUnitHeaterInput GetUnitsString GetUnitSubString GetUnitVentilatorInput GetUnitVentilatorMixedAirNode GetUnitVentilatorOutAirNode GetUnitVentilatorReturnAirNode GetUnitVentilatorZoneInletAirNode GetUserConvectionCoefficients GetUserDefinedComponents GetUserDefinedOpSchemeInput GetUserDefinedPatternData GetUTSCTsColl GetVariableKeyCountandType GetVariableKeyCountandType GetVariableKeys GetVariableKeys GetVariableTypeAndIndex GetVariableUnitsString GetVarSpeedCoilInput GetVentilatedSlabInput GetVertices GetViscosityGlycol GetVRFInput GetVSCoilCondenserInletNode GetVSCoilMinOATCompressor GetVSCoilNumOfSpeeds GetWaterCoilAvailScheduleIndex GetWaterCoilCapacity GetWaterCoilIndex GetWaterCoilInput GetWaterMainsTemperatures GetWaterManagerInput GetWaterSource GetWaterThermalTankInput GetWatertoAirHPInput GetWatertoWaterHPInput GetWaterUseInput GetWeatherProperties GetWeatherStation GetWindowAC GetWindowACMixedAirNode GetWindowACOutAirNode GetWindowACReturnAirNode GetWindowACZoneInletAirNode GetWindowGapAirflowControlData GetWindowGlassSpectralData GetWindowShadingControlData GetWindTurbineInput GetWrapperInput GetWTGeneratorResults GetZoneAirDistribution GetZoneAirLoopEquipment GetZoneAirSetpoints GetZoneAndZoneListNames GetZoneContaminanInputs GetZoneContaminanSetpoints GetZoneData GetZoneDehumidifierInput GetZoneDehumidifierNodeNumber GetZoneEqAvailabilityManager GetZoneEquipment GetZoneEquipmentData GetZoneEquipmentData1 GetZoneInfilAirChangeRate GetZoneLoads GetZonePlenumInput GetZoneSizingInput GLtoAMB GoAhead guess HasFractionalScheduleValue hatter HCInWindowStandardRatings HConvGap HcUCSDCV HcUCSDDV HcUCSDUF HeatingCoilVarSpeedCycResidual HeatingCoilVarSpeedResidual HeatPumpRunFrac HeatPumpRunFrac HeatPumpRunFrac HeatWatertoAirHPTempResidual Height HEMINT HIC_ASHRAE HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterCoilResidual HotWaterHeatingCoilResidual HRadPar HTRANS HTRANS0 HTRANS1 HWBaseboardUAResidual HXAssistDXCoilResidual HXAssistedCoolCoilHRResidual HXAssistedCoolCoilHRResidual HXAssistedCoolCoilTempResidual HXAssistedCoolCoilTempResidual HXDemandSideLoopFlowResidual HybridVentilationControl IAM iCheckScheduleValue ICSCollectorAnalyticalSoluton iGetCoilAirOutletNode iGetCoilSteamInletNode iGetCoilSteamOutletNode INCLOS incrementEconVar IncrementInstMeterCache incrementSteps incrementTableEntry InitAirflowNetwork InitAirflowNetworkData InitAirHeatBalance InitAirLoops InitAirLoopSplitter InitAirMixer InitAirTerminalUserDefined InitAirZoneReturnPlenum InitAirZoneSupplyPlenum InitATMixer InitBaseboard InitBaseboard InitBLASTAbsorberModel InitBoiler InitBoiler InitBoreholeHXSimVars InitBSDFWindows InitCBVAV InitCoilUserDefined InitComplexWindows InitComponentNodes InitConductionTransferFunctions InitConnections InitConstCOPChiller InitController InitCoolBeam InitCTGenerators InitCurveReporting InitDaylightingDevices InitDemandManagers InitDesiccantDehumidifier InitDetailedIceStorage InitDirectAir InitDualDuct InitDuct InitDXCoil InitDXCoolingSystem InitDXHeatPumpSystem InitElecReformEIRChiller InitElectricBaseboard InitElectricChiller InitElectricEIRChiller InitEMS InitEMSControlledConstructions InitEMSControlledSurfaceProperties InitEnergyReports InitEngineDrivenChiller InitEquivalentLayerWindowCalculations InitEvapCooler InitEvapFluidCooler InitExhaustAbsorber InitExteriorConvectionCoeff InitFan InitFanCoilUnits InitFluidCooler InitFluidHeatExchanger InitFuelCellGenerators InitFurnace InitGasAbsorber InitGlassOpticalCalculations InitGshp InitGshp InitGTChiller InitHeatBalance InitHeatBalFiniteDiff InitHeatBalHAMT InitHeatingCoil InitHeatRecovery InitHighTempRadiantSystem InitHumidifier InitHWBaseboard InitHXAssistedCoolingCoil InitHybridVentSysAvailMgr InitialInitHeatBalFiniteDiff InitializeCFSDaylighting InitializeCFSStateData InitializeComponentSizingTable InitializeConstructionsTables InitializeDaylightMapTables InitializeEnvironmentPeriodsTable InitializeErrorsTable InitializeGlycolTempLimits InitializeHeatTransferPipes InitializeIndexes InitializeIndexes InitializeLoops InitializeMaterialsTable InitializeMeters initializeMonetaryUnit InitializeNominalBaseboardHeatTable InitializeNominalElectricEquipmentTable InitializeNominalGasEquipmentTable InitializeNominalHotWaterEquipmentTable InitializeNominalInfiltrationTable InitializeNominalLightingTable InitializeNominalOtherEquipmentTable InitializeNominalPeopleTable InitializeNominalSteamEquipmentTable InitializeNominalVentilationTable InitializeOperatingMode InitializeOutput InitializePipes InitializePredefinedMonthlyTitles InitializePsychRoutines InitializePumps InitializeRefrigerantLimits InitializeReportMeterDataDictionaryTable InitializeReportMeterDataTables InitializeReportVariableDataDictionaryTable InitializeReportVariableDataTables InitializeRoomAirModelTable InitializeRootFinder InitializeRuntimeLanguage InitializeSchedulesTable InitializeSimulationsTable InitializeSQLiteTables InitializeSurfacesTable InitializeSystemSizingTable InitializeTabularDataTable InitializeTabularDataTable InitializeTabularDataView InitializeTabularDataView InitializeTabularMonthly InitializeTimeIndicesTable InitializeViews InitializeWeather InitializeZoneGroupTable InitializeZoneInfoTable InitializeZoneListTable InitializeZoneSizingTable InitICEngineGenerators InitIndirectAbsorpChiller InitIndUnit InitInteriorConvectionCoeffs InitInteriorRadExchange InitInternalHeatGains InitIntSolarDistribution InitLoadBasedControl InitLoadDistribution InitLowTempRadiantSystem InitMicroCHPNoNormalizeGenerators InitMoistureBalanceEMPD InitMSHeatPump InitMTGenerators InitMundtModel InitOAController InitOAMixer InitOneTimePlantSizingInfo InitOutAirNodes InitOutdoorAirUnit InitOutsideAirSys InitPipesHeatTransfer InitPipingSystems InitPIU InitPlantProfile InitPlantUserComponent InitPlantValves InitPollutionMeterReporting InitPondGroundHeatExchanger InitPressureDrop InitPTUnit InitPurchasedAir InitPVTcollectors InitRefrigeration InitRefrigerationPlantConnections InitReturnAirPath InitSecretObjects InitSetPointManagers InitSimpleIceStorage InitSimpleMixingConvectiveHeatGains InitSimpleWatertoAirHP InitSimVars InitSimVars InitSimVars InitSimVars InitSolarCalculations InitSolarCollector InitSolarHeatGains InitSolReflRecSurf InitStandAloneERV InitSteamBaseboard InitSteamCoil InitSurfaceGroundHeatExchanger InitSurfaceHeatBalance InitSys InitSysAvailManagers InitSystemOutputRequired InitTempDistModel InitTESCoil InitThermalAndFluxHistories InitThermalComfort InitTower InitTranspiredCollector InitTRNSYSPV InitUCSDCV InitUCSDDV InitUCSDUF InitUniqueNodeCheck InitUnitarySystems InitUnitHeater InitUnitVentilator InitVarSpeedCoil InitVentilatedSlab InitVRF InitWaterCoil InitWaterSource InitWaterThermalTank InitWatertoAirHP InitWatertoWaterHP InitWindowAC InitWindTurbine InitWrapper InitZoneAirLoopEquipment InitZoneAirSetpoints InitZoneAirUserDefined InitZoneContSetpoints InitZoneDehumidifier InitZoneEquipment InitZoneEvaporativeCoolerUnit InPolygon InsertCurrencySymbol int_times_vector INTCPT Integer_IsInRange IntegerIsWithinTwoValues IntegerToString InterConnectTwoPlantLoopSides InteriorBCEqns InteriorNodeEqns InternalRangeCheck InternalSetupTankDemandComponent InternalSetupTankSupplyComponent interp INTERP InterpBlind InterpDefValuesForGlycolConc Interpolate Interpolate_Lagrange InterpolateBetweenFourValues InterpolateBetweenTwoValues InterpolatePipeTransBeam InterpProfAng InterpProfSlatAng InterpretWeatherDataLine InterpSlatAng InterpSw InterpValuesForGlycolConc IntInterfaceNodeEqns IntPreDefTableEntry IntToStr Invert3By3Matrix InvertMatrix InvJulianDay IPTrimSigDigits iRoundSigDigits IS_BEAM IS_DIFF IS_DSRATIO IS_F IS_LWP IS_OPENNESS IS_SWP isCompLoadRepReq IsControlledShade IsConverged_CurrentToPrevIteration IsConverged_PipeCurrentToPrevIteration IsCurveInputTypeValid IsCurveOutputTypeValid isExternalInterfaceErlVariable IsGlazeLayerX IsGZSLayer isInQuadrilateral IsInRange isInTriangle IsLeapYear IsNodeOnSetPtManager IsParentObject IsParentObjectCompSet IsShadingLayer IssueSevereAlphaInputFieldError IssueSevereInputFieldError IssueSevereRealInputFieldError IsValidConnectionType IsVBLayer isWithinRange ITERATE IterateRootFinder iTrimSigDigits JGDate JulianDay LClimb LDSumMax LDSumMean LEEDtariffReporting LimitCoilCapacity LimitController LimitTUCapacity LinesOut linint LoadEquipList LoadInterface LogicalToInteger LogicalToInteger LogPlantConvergencePoints lookupOperator LookUpScheduleValue LookUpSeason LookupSItoIP lubksb LUBKSB ludcmp LUDCMP LUdecomposition LUsolution MakeAnchorName MakeHVACTimeIntervalString MakeMirrorSurface MakeRectangularVertices MakeRelativeRectangularVertices MakeTransition MakeUPPERCase ManageAirflowNetworkBalance ManageAirHeatBalance ManageAirLoops ManageAirModel ManageBranchInput ManageControllers ManageCoolTower ManageDemand ManageEarthTube ManageElectCenterStorageInteractions ManageElectricLoadCenters ManageElectStorInteractions ManageEMS ManageExteriorEnergyUse ManageGeneratorControlState ManageGeneratorFuelFlow ManageHeatBalance ManageHeatBalFiniteDiff ManageHeatBalHAMT ManageHVAC ManageHybridVentilation ManageInsideAdaptiveConvectionAlgo ManageInternalHeatGains ManageInverter ManageMundtModel ManageNonZoneEquipment ManageOutsideAdaptiveConvectionAlgo ManageOutsideAirSystem ManagePlantLoadDistribution ManagePlantLoops ManageRefrigeratedCaseRacks ManageSetPoints ManageSimulation ManageSingleCommonPipe ManageSizing ManageSurfaceHeatBalance ManageSystemAvailability ManageThermalChimney ManageThermalComfort ManageTransformers ManageTwoWayCommonPipe ManageUCSDCVModel ManageUCSDDVModel ManageUCSDUFModels ManageUserDefinedPatterns ManageWater ManageWaterInits ManageWeather ManageZoneAirLoopEquipment ManageZoneAirUpdates ManageZoneContaminanUpdates ManageZoneEquipment MapExtConvClassificationToHcModels MapIntConvClassificationToHcModels MarkNode MatchAndSetColorTextString MatchPlantSys MatrixIndex matrixQBalance MeshPartition_CompareByDimension MeshPartition_SelectionSort MeshPartitionArray_Contains MinePlantStructForInfo MixedAirControlTempResidual ModifyWindow Modulus MonthToMonthNumber MovingAvg MRXINV MSHPCyclingResidual MSHPHeatRecovery MSHPVarSpeedResidual MultiModeDXCoilHumRatResidual MultiModeDXCoilHumRatResidual MultiModeDXCoilResidual MultiModeDXCoilResidual MultiModeDXCoilResidual MultiSpeedDXCoolingCoilStandardRatings MultiSpeedDXHeatingCoilStandardRatings MULTOL MyPlantSizingIndex NeighborInformationArray_Value NETRAD NewEMSVariable NewExpression newPreDefColumn newPreDefReport newPreDefSubTable NEWTON NodeHasSPMCtrlVarType NormalArea NumBranchesInBranchList NumCompsInBranch nusselt NusseltNumber OpenEPlusWeatherFile OPENNESS_LW OpenOutputFiles OpenOutputTabularFile OpenWeatherFile OPERATOR (*) OPERATOR (+) OPERATOR (-) OPERATOR (.dot.) OPERATOR (.twodcross.) OPERATOR (.twoddot.) OPERATOR (/) ORDER OutBaroPressAt OutDewPointTempAt OutDryBulbTempAt OutsidePipeHeatTransCoef OutWetBulbTempAt P01 PanesDeflection ParametricObjectsCheck parseComputeLine ParseExpression ParseStack ParseTime PartLoadFactor PassiveGapNusseltNumber PassPressureAcrossInterface PassPressureAcrossMixer PassPressureAcrossSplitter PD_BEAM PD_BEAM_CASE_I PD_BEAM_CASE_II PD_BEAM_CASE_III PD_BEAM_CASE_IV PD_BEAM_CASE_V PD_BEAM_CASE_VI PD_DIFF PD_LW PD_LWP PD_SWP PerformanceCurveObject PerformanceTableObject PerformIterationLoop PerformPipeCellSimulation PerformPipeCircuitSimulation PerformSolarCalculations PerformTemperatureFieldUpdate PierceSurface PierceSurfaceVector PipeCircuitInfo_InitInOutCells PipeSegmentInfo_InitPipeCells PIUInducesPlenumAir PIUnitHasMixer PlaneEquation PlantHalfLoopSolver PlantMassFlowRatesFunc PLRResidual PLRResidual PLRResidualMixedTank PLRResidualStratifiedTank PMVResidual POLY1F POLY2F POLYF polygon_contains_point_2d popStack pos PostIPProcessing POWER PreDefTableEntry PredictSystemLoads PredictZoneContaminants PreparePipeCircuitSimulation PrepDebugFilesAndVariables PreProcessorCheck PrepVariablesISO15099 PreScanReportingVariables PresProfile PressureCurveValue ProcessDataDicFile ProcessDateString ProcessEMSInput ProcessEPWHeader ProcessForDayTypes ProcessInput ProcessInputDataFile ProcessIntervalFields ProcessMinMaxDefLine ProcessNumber ProcessScheduleInput ProcessSurfaceVertices ProcessTokens ProduceMinMaxString ProduceMinMaxStringWStartMinute ProduceRDDMDD ProfileAngle PropagateResolvedFlow PStack PsyCpAirFnWTdb PsyHfgAirFnWTdb PsyHFnTdbRhPb PsyHFnTdbW PsyHgAirFnWTdb PsyPsatFnTemp PsyPsatFnTemp_raw PsyRhFnTdbRhov PsyRhFnTdbRhovLBnd0C PsyRhFnTdbWPb PsyRhoAirFnPbTdbW PsyRhovFnTdbRh PsyRhovFnTdbRhLBnd0C PsyRhovFnTdbWPb PsyTdbFnHW PsyTdpFnTdbTwbPb PsyTdpFnWPb PsyTsatFnHPb PsyTsatFnPb PsyTwbFnTdbWPb PsyTwbFnTdbWPb_raw PsyVFnTdbWPb PsyWFnTdbH PsyWFnTdbRhPb PsyWFnTdbTwbPb PsyWFnTdpPb psz Pt2Plane PullCompInterconnectTrigger PumpDataForTable PushBranchFlowCharacteristics PushInnerTimeStepArrays pushStack PushSystemTimestepHistories PushSystemTimestepHistories PushZoneTimestepHistories PushZoneTimestepHistories QsortC QsortPartition RadialCellInfo_XY_CrossSectArea RadialCellInformation_ctor RadialSizing_Thickness Rainflow RangeCheck RB_BEAM RB_DIFF RB_F RB_LWP RB_SWP rCheckDayScheduleValueMinMax rCheckScheduleValue rCheckScheduleValueMinMax1 rCheckScheduleValueMinMax2 ReadEnergyMeters ReadEPlusWeatherForDay ReadGeneralDomainInputs ReadHorizontalTrenchInputs ReadINIFile ReadInputLine ReadPipeCircuitInputs ReadPipeSegmentInputs ReadTableData ReadUserWeatherInput ReadWeatherForDay Real_ConstrainTo Real_IsInRange real_times_vector ReAllocateAndPreserveOutputVariablesForSimulation ReallocateIntegerArray ReallocateIVar ReallocateRealArray ReallocateRVar RealPreDefTableEntry RealToStr RecKeepHeatBalance RecordOutput RectangleF_Contains ReformEIRChillerCondInletTempResidual ReformEIRChillerHeatRecovery RegisterNodeConnection RegisterPlantCompDesignFlow RegulateCondenserCompFlowReqOp ReInitPlantLoopsAtFirstHVACIteration RemoveSpaces RemoveTrailingZeros reorder ReplaceBlanksWithUnderscores ReplaceBlanksWithUnderscores ReportAirflowNetwork ReportAirHeatBalance ReportAirLoopConnections ReportAirTerminalUserDefined ReportAndTestGlycols ReportAndTestRefrigerants ReportBaseboard ReportBaseboard ReportCBVAV ReportChillerIPLV ReportCoilUserDefined ReportCompSetMeterVariables ReportController ReportCoolBeam ReportCoolTower ReportCTFs ReportCWTankInits ReportDemandManagerList ReportDesiccantDehumidifier ReportDetailedIceStorage ReportDirectAir ReportDualDuct ReportDualDuctConnections ReportDuct ReportDXCoil ReportDXCoilRating ReportDYMeters ReportEarthTube ReportEconomicVariable ReportElectricBaseboard ReportEMS ReportEvapCooler ReportEvapFluidCooler ReportExteriorEnergyUse ReportFan ReportFanCoilUnit ReportFatalGlycolErrors ReportFatalRefrigerantErrors ReportFiniteDiffInits ReportFluidCooler ReportFluidHeatExchanger ReportForTabularReports ReportFurnace ReportGlass ReportHeatBalance ReportHeatingCoil ReportHeatRecovery ReportHighTempRadiantSystem ReportHRMeters ReportHumidifier ReportHWBaseboard ReportIllumMap ReportingFreqName ReportingThisVariable ReportInternalHeatGains ReportLoopConnections ReportLowTempRadiantSystem ReportMaxVentilationLoads ReportMeterDetails ReportMissing_RangeData ReportMixer ReportMNMeters ReportMoistureBalanceEMPD ReportMSHeatPump ReportNodeConnections ReportOAController ReportOAMixer ReportOrphanFluids ReportOrphanRecordObjects ReportOrphanSchedules ReportOutdoorAirUnit ReportOutputFileHeaders ReportParentChildren ReportPipesHeatTransfer ReportPIU ReportPlantProfile ReportPlantUserComponent ReportPlantValves ReportPondGroundHeatExchanger ReportPTUnit ReportPumps ReportPurchasedAir ReportPV ReportRackSystem ReportRefrigerationComponents ReportReturnAirPath ReportRuntimeLanguage ReportScheduleDetails ReportScheduleValues ReportSizingOutput ReportSMMeters ReportSolarCollector ReportSplitter ReportStandAloneERV ReportStandAloneWaterUse ReportSteamBaseboard ReportSteamCoil ReportSurfaceErrors ReportSurfaceGroundHeatExchngr ReportSurfaceHeatBalance ReportSurfaces ReportSurfaceShading ReportSys ReportSysSizing ReportSystemEnergyUse ReportThermalChimney ReportTowers ReportTSMeters ReportUnitarySystem ReportUnitHeater ReportUnitVentilator ReportVentilatedSlab ReportVRFCondenser ReportVRFTerminalUnit ReportWarmupConvergence ReportWaterCoil ReportWaterManager ReportWaterThermalTank ReportWaterUse ReportWeatherAndTimeInformation ReportWindowAC ReportWindTurbine ReportZoneAirLoopEquipment ReportZoneAirUserDefined ReportZoneDehumidifier ReportZoneEquipment ReportZoneEvaporativeCoolerUnit ReportZoneMeanAirTemp ReportZoneReturnPlenum ReportZoneSizing ReportZoneSupplyPlenum ResetAllPlantInterConnectFlags ResetController ResetEnvironmentCounter ResetHVACControl ResetNodeData ResetPerformanceCurveOutput ResetRootFinder ResetTerminalUnitFlowLimits ResetWeekDaysByMonth Resimulate resist ReSolveAirLoopControllers ResolveAirLoopFlowLimits ResolveLocationInformation ResolveLockoutFlags ResolveLoopFlowVsPressure ResolveParallelFlows ResolveSysFlow ReverseAndRecalculate RevertZoneTimestepHistories RevertZoneTimestepHistories RevisePlantCallingOrder RezeroZoneSizingArrays RhoH2O RHtoVP RKG RoundSigDigits rRoundSigDigits rTrimSigDigits SafeCopyPlantNode SafeDiv SafeDivide SameString SandiaCellTemperature SandiaEffectiveIrradiance SandiaF1 SandiaF2 SandiaImp SandiaIsc SandiaIx SandiaIxx SandiaModuleTemperature SandiaTcellFromTmodule SandiaVmp SandiaVoc SaveSimpleController ScanForReports ScanPlantLoopsForNodeNum ScanPlantLoopsForObject sCheckDayScheduleValueMinMax ScheduleAverageHoursPerWeek SEARCH SearchAscTable SearchWindow5DataFile SecantFormula SecantMethod selectTariff SetActuatedBranchFlowRate SetAdditionalNeighborData SetAllFlowLocks SetAllPlantSimFlagsToValue SetATMixerPriFlow SetATMixerPriFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetAverageAirFlow SetCoilDesFlow SetCoilSystemCoolingData SetCoilSystemHeatingDXFlag SetCompFlowRate SetComponentFlowRate SetCurrentWeather SetCurveOutputMinMaxValues SetDSTDateRanges SetDXCoilTypeData SetDXCoolingCoilData SetEquivalentLayerWindowProperties SetErlValueNumber SetExtConvectionCoeff SetFanData SetHeatExchangerData SetHeatToReturnAirFlag SetInitialMeterReportingAndOutputNames SetIntConvectionCoeff SetInternalVariableValue SetMinMax setNativeVariables SetNodeResult SetOAControllerData SetOnOffMassFlowRate SetOnOffMassFlowRate SetOnOffMassFlowRate SetOnOffMassFlowRateVSCoil SetOnOffMassFlowRateVSCoil SetOutAirNodes SetOutBulbTempAt SetPredefinedTables SetSimpleWSHPData SETSKY SetSpecialDayDates SetSpeedVariables SetStormWindowControl SetSurfHBDataForMundtModel SetSurfHBDataForTempDistModel SetSurfTmeanAir SETUP4x4_A SetupAdaptiveConvectionRadiantSurfaceData SetupAdaptiveConvectionStaticMetaData SetupAirLoopControllersTracer SetupAllOutputVariables SetUpAndSort SetupBranchControlTypes SetupCellNeighbors SetupCommonPipes SetupComplexFenestrationMaterialInput SetupComplexFenestrationStateInput SetupComplexWindowStateGeometry SetUpCompSets SetupDElightOutput4EPlus SetupDElightOutput4EPlus SetUpDesignDay SetupEMSActuator SetupEMSIntegerActuator SetupEMSIntegerInternalVariable SetupEMSInternalVariable SetupEMSLogicalActuator SetupEMSRealActuator SetupEMSRealInternalVariable SetupEnvironmentTypes SetupFuelConstituentData SetupGeneratorControlStateManager SetupIndividualControllerTracer SetupInitialPlantCallingOrder SetupIntegerOutputVariable SetupInterpolationValues SetupLoopFlowRequest SetupMeteredVarsForSetPt SetupMundtModel SetupNodeSetpointsAsActuators SetupNodeVarsForReporting SetupOutputVariable SetupPipeCircuitInOutCells SetupPlantEMSActuators SetupPollutionCalculations SetupPollutionMeterReporting SetupPossibleOperators SetupPrimaryAirSystemAvailMgrAsActuators SetupPumpMinMaxFlows SetupRealOutputVariable SetupRealOutputVariable_IntKey SetupReportInput SetupReports SetupRootFinder SetUpSchemeColors SetupShadeSurfacesForSolarCalcs SetupSimpleWindowGlazingSystem SetupSimulation SetupStratifiedNodes SetupSurfaceConstructionActuators SetupSurfaceConvectionActuators SetupSurfaceOutdoorBoundaryConditionActuators SetUpSysSizingArrays SetupTankDemandComponent SetupTankSupplyComponent SetupThermostatActuators SetupTimePointers SetupUnitConversions SetupWeekDaysByMonth SetupWindowShadingControlActuators SetupZoneEquipmentForConvectionFlowRegime SetupZoneGeometry SetupZoneInfoAsInternalDataAvail SetupZoneInternalGain SetupZoneInternalGain SetupZoneSizing SetUpZoneSizingArrays SetUTSCQdotSource SetVarSpeedCoilData SetVentedModuleQdotSource SetVSHPAirFlow SetVSHPAirFlow SetWindSpeedAt SetZoneEquipSimOrder shading shadingedge shadingin SHADOW SharedDVCVUFDataInit SHDBKS SHDGSS SHDRVL SHDSBS shift ShiftPipeTemperaturesForNewIteration ShiftPlantLoopSideCallingOrder ShiftTemperaturesForNewIteration ShiftTemperaturesForNewTimeStep ShowAuditErrorMessage ShowBranchesOnLoop ShowContinueError ShowContinueError ShowContinueErrorTimeStamp ShowContinueErrorTimeStamp ShowErrorMessage ShowErrorMessage ShowFatalError ShowFatalError ShowMessage ShowMessage ShowPsychrometricSummary ShowRecurringContinueErrorAtEnd ShowRecurringContinueErrorAtEnd ShowRecurringErrors ShowRecurringSevereErrorAtEnd ShowRecurringSevereErrorAtEnd ShowRecurringWarningErrorAtEnd ShowRecurringWarningErrorAtEnd ShowSevereError ShowSevereError ShowSevereMessage ShowSevereMessage ShowWarningError ShowWarningError ShowWarningMessage ShowWarningMessage showWarningsBasedOnTotal Sim4PipeFanCoil SimAirChillerSet SimAirLoop SimAirLoopComponent SimAirLoopComponents SimAirLoops SimAirLoopSplitter SimAirMixer SimAirTerminalUserDefined SimAirZonePlenum SimATMixer SimBaseboard SimBLASTAbsorber SimBoiler SimCBVAV SimCBVAV SimCentralGroundSourceHeatPump SimChiller SimCoilUserDefined SimComponentModelFan SimConstVol SimCoolBeam SimCostEstimate SimCTGenerator SimCTPlantHeatRecovery SimCyclingWindowAC SimDesiccantDehumidifier SimDetailedIceStorage SimDirectAir SimDistrictEnergy SimDualDuctConstVol SimDualDuctVarVol SimDualDuctVAVOutdoorAir SimDuct SimDXCoil SimDXCoilMultiMode SimDXCoilMultiSpeed SimDXCoolingSystem SimDXHeatPumpSystem SimElecBaseBoard SimElectricBaseBoard SimElectricConvective SimElectricEIRChiller SimEvapCooler SimEvapFluidCoolers SimExhaustAbsorber SimFanCoilUnit SimFluidCoolers SimFluidHeatExchanger SimFourPipeIndUnit SimFuelCellGenerator SimFuelCellPlantHeatRecovery SimFurnace SimGasAbsorber SimGroundHeatExchangers SimHeatPumpWaterHeater SimHeatRecovery SimHighTempRadiantSystem SimHPWatertoWaterCOOLING SimHPWatertoWaterHEATING SimHPWatertoWaterSimple SimHumidifier SimHVAC SimHWBaseboard SimHWConvective SimHXAssistedCoolingCoil SimICEngineGenerator SimICEPlantHeatRecovery SimIceStorage SimIndirectAbsorber SimIndUnit SimLowTempRadiantSystem SimMicroCHPGenerator SimMicroCHPPlantHeatRecovery SimMSHeatPump SimMSHP SimMTGenerator SimMTPlantHeatRecovery SimMultiSpeedCoils SimOAComponent SimOAController SimOAMixer SimOnOffFan SimOutdoorAirEquipComps SimOutdoorAirUnit SimOutsideAirSys SimOutsideEnergy SimPackagedTerminalUnit SimPipes SimPipesHeatTransfer SimPipingSystemCircuit SimPIU SimPlantEquip SimPlantValves SimpleCoolingCoilUAResidual SimpleEvapFluidCoolerUAResidual SimpleFluidCoolerUAResidual SimpleHeatingCoilUAResidual SimpleTowerApproachResidual SimpleTowerTrResidual SimpleTowerUAResidual SimPondGroundHeatExchanger SimPressureDropSystem SimPTUnit SimPumps SimPurchasedAir SimPVGenerator SimPVTcollectors SimReformulatedEIRChiller SimRefrigCondenser SimReturnAirPath SimSelectedEquipment SimSetPointManagers SimSimpleEvapFluidCooler SimSimpleFan SimSimpleFluidCooler SimSimpleTower SimSolarCollector SimStandAloneERV SimSteamBaseboard SimSteamBoiler SimSteamCoils SimSurfaceGroundHeatExchanger SimSysAvailManager SimTESCoil SimTowers SimTranspiredCollector SimulateAllInteriorRadialSoilSlices SimulateAllLoopSideBranches SimulateAllLoopSidePumps SimulateDemandManagerList SimulateDetailedRefrigerationSystems SimulateDetailedTransRefrigSystems SimulateDualDuct SimulateFanComponents SimulateFluidCell SimulateHeatingCoilComponents SimulateInnerMostRadialSoilSlice SimulateLoopSideBranchGroup SimulateOuterMostRadialSoilSlice SimulatePlantProfile SimulateRadialInsulationCell SimulateRadialPipeCell SimulateRadialToCartesianInterface SimulateSingleDuct SimulateSteamCoilComponents SimulateVRF SimulateWaterCoilComponents SimulateWaterHeaterStandAlone SimulateWaterUse SimulateWaterUseConnection SimUnitaryBypassVAV SimUnitarySystem SimUnitHeater SimUnitVentilator SimUnitVentOAMixer SimUserDefinedPlantComponent SimVariableSpeedCoils SimVariableSpeedHP SimVariableSpeedHP SimVariableTower SimVariableVolumeFan SimVAV SimVAVVS SimVentilatedSlab SimVentSlabOAMixer SimVRF SimVRFCondenserPlant SimWaterCoils SimWaterSource SimWaterThermalTank SimWatertoAirHP SimWatertoAirHPSimple SimWindowAC SimWindTurbine SimZoneAirLoopEquipment SimZoneAirUserDefined SimZoneDehumidifier SimZoneEquipment SimZoneEvaporativeCoolerUnit SimZoneExhaustFan SimZoneOutAirUnitComps SingelSpeedDXCoolingCoilStandardRatings SingleSpeedDXHeatingCoilStandardRatings SingleSpeedFluidCooler SizeAbsorpChiller SizeAirLoopBranches SizeAirLoops SizeBaseboard SizeBoiler SizeBoiler SizeCBVAV SizeConstCOPChiller SizeController SizeCoolBeam SizeDemandSidePlantConnections SizeDirectAir SizeDualDuct SizeDXCoil SizeElecReformEIRChiller SizeElectricBaseboard SizeElectricBaseboard SizeElectricChiller SizeElectricEIRChiller SizeEngineDrivenChiller SizeEvapCooler SizeEvapFluidCooler SizeExhaustAbsorber SizeFan SizeFanCoilUnit SizeFluidCooler SizeFluidHeatExchanger SizeFurnace SizeGasAbsorber SizeGTChiller SizeHeatingCoil SizeHeatRecovery SizeHighTempRadiantSystem SizeHumidifier SizeHVACWaterToAir SizeHWBaseboard SizeIndirectAbsorpChiller SizeIndUnit SizeLowTempRadiantSystem SizeMSHeatPump SizeOAController SizeOutdoorAirUnit SizePIU SizePlantLoop SizePTUnit SizePump SizePurchasedAir SizePVT SizeStandAloneERV SizeStandAloneWaterHeater SizeSteamBaseboard SizeSteamCoil SizeSupplySidePlantConnections SizeSys SizeTankForDemandSide SizeTankForSupplySide SizeTESCoil SizeTower SizeUCSDUF SizeUnitarySystem SizeUnitHeater SizeUnitVentilator SizeVarSpeedCoil SizeVentilatedSlab SizeVRF SizeVRFCondenser SizeVSMerkelTower SizeWaterCoil SizeWaterManager SizeWaterSource SizeWindowAC SizeWrapper SizeZoneDehumidifier SizeZoneEquipment SizeZoneEvaporativeCoolerUnit SkipEPlusWFHeader SkyDifSolarShading SkyGndWeight SkyWeight SLtoAMB SLtoGL SLVSKY solar_EN673 solarISO15099 SolarSprectrumAverage SOLMATS SolveAirLoopControllers SolveForWindowTemperatures SolveRegression SolveRegulaFalsi SolverMoistureBalanceEMPD SOLVZP SortHistory Specular_Adjust Specular_EstimateDiffuseProps Specular_F Specular_OffNormal Specular_RATDiff Specular_SWP SQLiteBegin SQLiteBegin SQLiteBindDouble SQLiteBindInteger SQLiteBindLogicalMacro SQLiteBindNULL SQLiteBindText SQLiteBindTextMacro SQLiteClearBindings SQLiteCloseDatabase SQLiteColumnInt SQLiteColumnIntMacro SQLiteCommit SQLiteCommit SQLiteExecuteCommand SQLiteExecuteCommandMacro SQLiteFinalizeCommand SQLiteOpenDatabase SQLiteOpenDatabaseMacro SQLitePrepareStatement SQLitePrepareStatementMacro SQLiteResetCommand SQLiteStepCommand SQLiteWriteMessage SQLiteWriteMessageMacro SQLiteWriteMessageMacro StandardIndexTypeKey StandardVariableTypeKey StartingWindowTemps StartingWinTempsForNominalCond SteamHeatingCoilResidual StorageType StoreAPumpOnCurrentTempLoop storeIterationResults StoreRecurringErrorMessage StringValue StrToReal SumAllInternalCO2Gains SumAllInternalConvectionGains SumAllInternalGenericContamGains SumAllInternalLatentGains SumAllInternalRadiationGains SumAllReturnAirConvectionGains SumAllReturnAirLatentGains SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumHATsurf SumInternalCO2GainsByTypes SumInternalConvectionGainsByTypes SumInternalLatentGainsByTypes SumInternalRadiationGainsByTypes SummarizeErrors SumReturnAirConvectionGainsByTypes SumZoneImpacts SUN3 SUN4 SupSATResidual SurfaceScheduledSolarInc SurveyDemandManagers SystemPropertiesAtLambdaAndPhi SystemSpectralPropertiesAtPhi TableLookupObject TARCOG90 TBND TdbFnHRhPb TDMA TDMA_R TellMeHowManyObjectItemArgs TemperaturesFromEnergy TempIPtoSI TempSItoIP terpld TESCoilHumRatResidual TESCoilResidual TestAirPathIntegrity TestBranchIntegrity TestCompSet TestCompSetInletOutletNodes TestInletOutletNodes TestReturnAirPathIntegrity TestSupplyAirPathIntegrity therm1d TightenNodeMinMaxAvails TimestepInitComplexFenestration TimestepTypeName TraceAirLoopController TraceAirLoopControllers TraceIndividualController TraceIterationStamp TrackAirLoopController TrackAirLoopControllers TRadC TransAndReflAtPhi TransformVertsByAspect TransTDD Triangulate TrimSigDigits TurnOffLoopEquipment TurnOffLoopSideEquipment TurnOffReportRangeCheckErrors TurnOnPlantLoopPipes TurnOnReportRangeCheckErrors TwoSpeedFluidCooler UnitarySystemHeatRecovery UpdateAbsorberChillerComponentGeneratorSide UpdateAirflowNetwork UpdateAirMixer UpdateAirSysCompPtrArray UpdateAirSysSubCompPtrArray UpdateAirSysSubSubCompPtrArray UpdateAirZoneReturnPlenum UpdateAirZoneSupplyPlenum UpdateAnyLoopDemandAlterations UpdateATMixer UpdateBaseboard UpdateBaseboardPlantConnection UpdateBasementSurfaceTemperatures UpdateBBElecRadSourceValAvg UpdateBBRadSourceValAvg UpdateBBSteamRadSourceValAvg UpdateBLASTAbsorberRecords UpdateBoilerRecords UpdateBoilerRecords UpdateBracket UpdateBranchConnections UpdateChillerComponentCondenserSide UpdateChillerheaterRecords UpdateChillerRecords UpdateColdWeatherProtection UpdateCommonPipe UpdateComplexWindows UpdateComponentHeatRecoverySide UpdateConstCOPChillerRecords UpdateController UpdateCoolBeam UpdateCoolTower UpdateCTGeneratorRecords UpdateDataandReport UpdateDemandManagers UpdateDesiccantDehumidifier UpdateDetailedIceStorage UpdateDualDuct UpdateDuct UpdateDXCoil UpdateElectricBaseboard UpdateElectricChillerRecords UpdateElectricEIRChillerRecords UpdateEMSTrendVariables UpdateEngineDrivenChiller UpdateEvapCooler UpdateEvapFluidCooler UpdateEvaporativeCondenserBasinHeater UpdateEvaporativeCondenserWaterUse UpdateExhaustAbsorberCoolRecords UpdateExhaustAbsorberHeatRecords UpdateExhaustAirFlows UpdateFan UpdateFinalSurfaceHeatBalance UpdateFluidCooler UpdateFluidHeatExchanger UpdateFuelCellGeneratorRecords UpdateGasAbsorberCoolRecords UpdateGasAbsorberHeatRecords UpdateGSHPRecords UpdateGSHPRecords UpdateGSHPRecords UpdateGTChillerRecords UpdateHalfLoopInletTemp UpdateHeatBalHAMT UpdateHeatingCoil UpdateHeatRecovery UpdateHighTempRadiantSystem UpdateHistories UpdateHistory UpdateHTRadSourceValAvg UpdateHumidifier UpdateHVACInterface UpdateHWBaseboard UpdateHWBaseboardPlantConnection UpdateIceFractions UpdateICEngineGeneratorRecords UpdateIndirectAbsorberRecords UpdateInternalGainValues UpdateIrrigation UpdateLoadCenterRecords UpdateLoopSideReportVars UpdateLowTempRadiantSystem UpdateMeterReporting UpdateMeters UpdateMeterValues UpdateMicroCHPGeneratorRecords UpdateMinMax UpdateMixedAirSetPoints UpdateMoistureBalanceEMPD UpdateMoistureBalanceFD UpdateMSHeatPump UpdateMTGeneratorRecords UpdateNode UpdateNodeThermalHistory UpdateOAController UpdateOAMixer UpdateOAPretreatSetPoints UpdatePipesHeatTransfer UpdatePipingSystems UpdatePlantLoopInterface UpdatePlantMixer UpdatePlantProfile UpdatePlantSplitter UpdatePlantValves UpdatePondGroundHeatExchanger UpdatePrecipitation UpdatePressureDrop UpdatePurchasedAir UpdatePVTcollectors UpdateRadSysSourceValAvg UpdateRecords UpdateReformEIRChillerRecords UpdateRefrigCondenser UpdateReportWaterSystem UpdateRootFinder UpdateScheduleValues UpdateSetPointManagers UpdateSimpleWatertoAirHP UpdateSoilProps UpdateSolarCollector UpdateSplitter UpdateSQLiteErrorRecord UpdateSQLiteErrorRecord UpdateSQLiteSimulationRecord UpdateSQLiteSimulationRecord UpdateSteamBaseboard UpdateSteamBaseboardPlantConnection UpdateSteamCoil UpdateSurfaceGroundHeatExchngr UpdateSys UpdateSysSizing UpdateSystemOutputRequired UpdateTabularReports UpdateTEStorage UpdateThermalHistories UpdateTowers UpdateTranspiredCollector UpdateUnitarySystemControl UpdateUtilityBills UpdateVarSpeedCoil UpdateVentilatedSlab UpdateVerticalGroundHeatExchanger UpdateVRFCondenser UpdateWaterCoil UpdateWaterConnections UpdateWaterManager UpdateWaterSource UpdateWaterThermalTank UpdateWaterToAirCoilPlantConnection UpdateWatertoAirHP UpdateWeatherData UpdateWholeBuildingRecords UpdateZoneAirLoopEquipment UpdateZoneCompPtrArray UpdateZoneDehumidifier UpdateZoneEquipment UpdateZoneInletConvergenceLog UpdateZoneListAndGroupLoads UpdateZoneSizing UpdateZoneSubCompPtrArray UpdateZoneSubSubCompPtrArray ValidateAndSetSysAvailabilityManagerType ValidateComponent ValidateDistributionSystem ValidateEMSProgramName ValidateEMSVariableName ValidateExhaustFanInput ValidateFlowControlPaths ValidateFuelType ValidateIndexType ValidateMaterialRoughness ValidateMonthDay ValidateNStandardizeMeterTitles ValidateObjectandParse ValidatePipeConstruction ValidatePLFCurve ValidateSection ValidateSectionsInput ValidateVariableType value_to_vector ValueToString VAVVSCoolingResidual VAVVSHCFanOnResidual VAVVSHWFanOnResidual VAVVSHWNoFanResidual VB_CriticalSlatAngle VB_DIFF VB_LWP VB_ShadeControl VB_SLAT_RADIUS_RATIO VB_SOL4 VB_SOL46_CURVE VB_SOL6 VB_SWP vec2d_cross_product vec2d_dot_product vec_cross_product vec_dot_product VecLength VecNegate VecNormalize VecRound VecSquaredLength vector_add vector_div_int vector_div_real vector_subtract vector_times_int vector_times_real vector_to_array VerifyControlledZoneForThermostat VerifyCustomMetersElecPowerMgr VerifyHeatExchangerParent VerifyName VerifySetPointManagers VerifyThermostatInZone VerifyUniqueBaseboardName VerifyUniqueBoilerName VerifyUniqueChillerName VerifyUniqueCoilName ViewFac VisibleSprectrumAverage Volume VRMLOut VSCoilCyclingHumResidual VSCoilCyclingResidual VSCoilCyclingResidual VSCoilSpeedHumResidual VSCoilSpeedResidual VSCoilSpeedResidual VSEvapUnitLoadResidual VSHPCyclingResidual VSHPCyclingResidual VSHPSpeedResidual VSHPSpeedResidual VSMerkelResidual W5InitGlassParameters W5LsqFit W5LsqFit2 W6CoordsFromWorldVect warnIfNativeVarname WetCoilOutletCondition WhichCompSet WhichParentCompSet WhichParentSet Width WindowGapAirflowControl WindowGasConductance WindowGasPropertiesAtTemp WindowHeatBalanceEquations WindowScheduledSolarAbs WindowShadingManager WindowTempsForNominalCond WindSpeedAt Windward WorldVectFromW6 WriteAdaptiveComfortTable WriteAirLoopStatistics WriteBEPSTable WriteCompCostTable WriteComponentSizing WriteCumulativeReportMeterData WriteDaylightMapTitle WriteDemandEndUseSummary WriteInputArguments WriteIntegerData WriteIntegerVariableOutput WriteMeterDictionaryItem WriteModifiedArguments WriteMonthlyTables WriteOutputArguments WriteOutputEN673 WritePoint WritePredefinedTables WriteRealData WriteRealVariableOutput WriteReportHeaders WriteReportIntegerData WriteReportMeterData WriteReportRealData WriteReportVariableDictionaryItem WriteRootFinderStatus WriteRootFinderTrace WriteRootFinderTraceHeader WriteSourceEnergyEndUseSummary writeSubtitle WriteSurfaceShadowing WriteTable WriteTableOfContents WriteTabularLifeCycleCostReport WriteTabularReports WriteTabularTariffReports WriteTARCOGInputFile writeTextLine WriteTimeBinTables WriteTimeStampFormatData WriteTrace WriteVeriSumTable WriteZoneLoadComponentTable WVDC XNormalArea XYRectangle XZRectangle YNormalArea YZRectangle ZeroHVACValues ZNormalArea