GetPTUnit Subroutine

private subroutine GetPTUnit()

proc~~getptunit~~UsesGraph proc~getptunit GetPTUnit module~general General module~general->proc~getptunit module~variablespeedcoils VariableSpeedCoils module~general->module~variablespeedcoils module~nodeinputmanager NodeInputManager module~general->module~nodeinputmanager module~fluidproperties FluidProperties module~general->module~fluidproperties module~psychrometrics Psychrometrics module~general->module~psychrometrics module~watercoils WaterCoils module~watercoils->proc~getptunit module~inputprocessor InputProcessor module~inputprocessor->proc~getptunit module~inputprocessor->module~nodeinputmanager module~faultsmanager FaultsManager module~inputprocessor->module~faultsmanager module~fans Fans module~fans->proc~getptunit module~outairnodemanager OutAirNodeManager module~outairnodemanager->proc~getptunit module~mixedair MixedAir module~mixedair->proc~getptunit module~variablespeedcoils->proc~getptunit module~steamcoils SteamCoils module~steamcoils->proc~getptunit module~datahvacglobals DataHVACGlobals module~datahvacglobals->proc~getptunit module~datahvacglobals->module~watercoils module~datahvacglobals->module~fans module~datahvacglobals->module~mixedair module~datahvacglobals->module~variablespeedcoils module~datahvacglobals->module~steamcoils module~watertoairheatpump WatertoAirHeatPump module~datahvacglobals->module~watertoairheatpump module~watertoairheatpumpsimple WatertoAirHeatPumpSimple module~datahvacglobals->module~watertoairheatpumpsimple module~dxcoils DXCoils module~datahvacglobals->module~dxcoils module~hvachxassistedcoolingcoil HVACHXAssistedCoolingCoil module~datahvacglobals->module~hvachxassistedcoolingcoil module~heatingcoils HeatingCoils module~datahvacglobals->module~heatingcoils module~refrigeratedcase RefrigeratedCase module~datahvacglobals->module~refrigeratedcase module~nodeinputmanager->proc~getptunit module~fluidproperties->proc~getptunit module~fluidproperties->module~watercoils module~fluidproperties->module~steamcoils module~fluidproperties->module~refrigeratedcase module~watertoairheatpump->proc~getptunit module~watertoairheatpumpsimple->proc~getptunit module~dxcoils->proc~getptunit module~dxcoils->module~heatingcoils module~datazoneequipment DataZoneEquipment module~datazoneequipment->proc~getptunit module~hvachxassistedcoolingcoil->proc~getptunit module~branchnodeconnections BranchNodeConnections module~branchnodeconnections->proc~getptunit module~branchnodeconnections->module~nodeinputmanager module~heatingcoils->proc~getptunit module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~general module~dataprecisionglobals->module~watercoils module~dataprecisionglobals->module~inputprocessor module~dataprecisionglobals->module~fans module~dataprecisionglobals->module~outairnodemanager module~dataprecisionglobals->module~mixedair module~dataprecisionglobals->module~variablespeedcoils module~dataprecisionglobals->module~steamcoils module~dataprecisionglobals->module~datahvacglobals module~dataprecisionglobals->module~nodeinputmanager module~dataprecisionglobals->module~fluidproperties module~dataprecisionglobals->module~watertoairheatpump module~dataprecisionglobals->module~watertoairheatpumpsimple module~dataprecisionglobals->module~dxcoils module~dataprecisionglobals->module~datazoneequipment module~dataprecisionglobals->module~hvachxassistedcoolingcoil module~dataprecisionglobals->module~heatingcoils module~dataglobals DataGlobals module~dataprecisionglobals->module~dataglobals module~schedulemanager ScheduleManager module~dataprecisionglobals->module~schedulemanager module~dataenvironment DataEnvironment module~dataprecisionglobals->module~dataenvironment module~dataplant DataPlant module~dataprecisionglobals->module~dataplant module~dataprecisionglobals->module~psychrometrics module~dataloopnode DataLoopNode module~dataprecisionglobals->module~dataloopnode module~datainterfaces DataInterfaces module~dataprecisionglobals->module~datainterfaces module~dataipshortcuts DataIPShortCuts module~dataprecisionglobals->module~dataipshortcuts module~datasystemvariables DataSystemVariables module~dataprecisionglobals->module~datasystemvariables module~datasizing DataSizing module~dataprecisionglobals->module~datasizing module~emsmanager EMSManager module~dataprecisionglobals->module~emsmanager module~dataruntimelanguage DataRuntimeLanguage module~dataprecisionglobals->module~dataruntimelanguage module~datacontaminantbalance DataContaminantBalance module~dataprecisionglobals->module~datacontaminantbalance module~datasurfaces DataSurfaces module~dataprecisionglobals->module~datasurfaces module~databsdfwindow DataBSDFWindow module~dataprecisionglobals->module~databsdfwindow module~datavectortypes DataVectorTypes module~dataprecisionglobals->module~datavectortypes module~dataprecisionglobals->module~faultsmanager module~dataairloop DataAirLoop module~dataprecisionglobals->module~dataairloop module~dataheatbalance DataHeatBalance module~dataprecisionglobals->module~dataheatbalance module~datawindowequivalentlayer DataWindowEquivalentLayer module~dataprecisionglobals->module~datawindowequivalentlayer module~datacomplexfenestration DataComplexFenestration module~dataprecisionglobals->module~datacomplexfenestration module~dataprecisionglobals->module~refrigeratedcase module~dataglobals->module~watercoils module~dataglobals->module~inputprocessor module~dataglobals->module~fans module~dataglobals->module~outairnodemanager module~dataglobals->module~mixedair module~dataglobals->module~variablespeedcoils module~dataglobals->module~steamcoils module~dataglobals->module~datahvacglobals module~dataglobals->module~nodeinputmanager module~dataglobals->module~fluidproperties module~dataglobals->module~watertoairheatpump module~dataglobals->module~watertoairheatpumpsimple module~dataglobals->module~dxcoils module~dataglobals->module~datazoneequipment module~dataglobals->module~hvachxassistedcoolingcoil module~dataglobals->module~branchnodeconnections module~dataglobals->module~heatingcoils module~dataglobals->module~schedulemanager module~dataglobals->module~dataenvironment module~dataglobals->module~dataplant module~dataglobals->module~psychrometrics module~dataglobals->module~dataloopnode module~dataglobals->module~dataipshortcuts module~dataglobals->module~datasizing module~dataglobals->module~emsmanager module~dataglobals->module~dataruntimelanguage module~dataglobals->module~datacontaminantbalance module~dataglobals->module~datasurfaces module~dataglobals->module~databsdfwindow module~dataglobals->module~faultsmanager module~dataglobals->module~dataairloop module~dataglobals->module~dataheatbalance module~dataglobals->module~datawindowequivalentlayer module~dataglobals->module~datacomplexfenestration module~databranchnodeconnections DataBranchNodeConnections module~dataglobals->module~databranchnodeconnections module~dataglobals->module~refrigeratedcase module~schedulemanager->module~watercoils module~schedulemanager->module~fans module~schedulemanager->module~mixedair module~schedulemanager->module~steamcoils module~schedulemanager->module~dxcoils module~schedulemanager->module~heatingcoils module~schedulemanager->module~refrigeratedcase module~dataenvironment->module~watercoils module~dataenvironment->module~fans module~dataenvironment->module~outairnodemanager module~dataenvironment->module~mixedair module~dataenvironment->module~variablespeedcoils module~dataenvironment->module~steamcoils module~dataenvironment->module~watertoairheatpumpsimple module~dataenvironment->module~dxcoils module~dataenvironment->module~heatingcoils module~dataenvironment->module~schedulemanager module~dataenvironment->module~psychrometrics module~dataenvironment->module~refrigeratedcase module~dataplant->module~watercoils module~dataplant->module~variablespeedcoils module~dataplant->module~steamcoils module~dataplant->module~watertoairheatpump module~dataplant->module~watertoairheatpumpsimple module~psychrometrics->module~watercoils module~psychrometrics->module~fans module~psychrometrics->module~variablespeedcoils module~psychrometrics->module~steamcoils module~psychrometrics->module~dxcoils module~psychrometrics->module~heatingcoils module~dataloopnode->module~watercoils module~dataloopnode->module~fans module~dataloopnode->module~outairnodemanager module~dataloopnode->module~mixedair module~dataloopnode->module~variablespeedcoils module~dataloopnode->module~steamcoils module~dataloopnode->module~nodeinputmanager module~dataloopnode->module~watertoairheatpump module~dataloopnode->module~watertoairheatpumpsimple module~dataloopnode->module~dxcoils module~dataloopnode->module~hvachxassistedcoolingcoil module~dataloopnode->module~branchnodeconnections module~dataloopnode->module~heatingcoils module~dataloopnode->module~dataplant module~dataloopnode->module~refrigeratedcase module~datainterfaces->module~watercoils module~datainterfaces->module~inputprocessor module~datainterfaces->module~fans module~datainterfaces->module~outairnodemanager module~datainterfaces->module~mixedair module~datainterfaces->module~variablespeedcoils module~datainterfaces->module~steamcoils module~datainterfaces->module~nodeinputmanager module~datainterfaces->module~fluidproperties module~datainterfaces->module~watertoairheatpump module~datainterfaces->module~watertoairheatpumpsimple module~datainterfaces->module~dxcoils module~datainterfaces->module~hvachxassistedcoolingcoil module~datainterfaces->module~branchnodeconnections module~datainterfaces->module~heatingcoils module~datainterfaces->module~schedulemanager module~datainterfaces->module~psychrometrics module~datainterfaces->module~emsmanager module~datainterfaces->module~faultsmanager module~datainterfaces->module~refrigeratedcase module~datastringglobals DataStringGlobals module~datastringglobals->module~inputprocessor module~datastringglobals->module~datasystemvariables module~dataipshortcuts->module~inputprocessor module~datasystemvariables->module~inputprocessor module~datasizing->module~inputprocessor module~datasizing->module~mixedair module~datasizing->module~variablespeedcoils module~datasizing->module~watertoairheatpumpsimple module~emsmanager->module~fans module~dataruntimelanguage->module~emsmanager module~datacontaminantbalance->module~outairnodemanager module~datacontaminantbalance->module~mixedair module~datasurfaces->module~datacontaminantbalance module~datasurfaces->module~dataheatbalance module~databsdfwindow->module~datasurfaces module~databsdfwindow->module~dataheatbalance module~datavectortypes->module~datasurfaces module~datavectortypes->module~databsdfwindow module~datavectortypes->module~dataheatbalance module~faultsmanager->module~mixedair module~dataairloop->module~mixedair module~dataheatbalance->module~dxcoils module~dataheatbalance->module~heatingcoils module~dataheatbalance->module~refrigeratedcase module~datawindowequivalentlayer->module~dataheatbalance module~datacomplexfenestration->module~dataheatbalance module~databranchnodeconnections->module~branchnodeconnections module~refrigeratedcase->module~heatingcoils
Help

Arguments

None

Calls

proc~~getptunit~~CallsGraph proc~getptunit GetPTUnit getoamixernodenumbers getoamixernodenumbers proc~getptunit->getoamixernodenumbers getfanavailschptr getfanavailschptr proc~getptunit->getfanavailschptr verifyname verifyname proc~getptunit->verifyname nodeid nodeid proc~getptunit->nodeid getonlysinglenode getonlysinglenode proc~getptunit->getonlysinglenode getfanvolflow getfanvolflow proc~getptunit->getfanvolflow zonecomp zonecomp proc~getptunit->zonecomp getheatingcoilindex getheatingcoilindex proc~getptunit->getheatingcoilindex getheatingcoilcapacity getheatingcoilcapacity proc~getptunit->getheatingcoilcapacity roundsigdigits roundsigdigits proc~getptunit->roundsigdigits getfantype getfantype proc~getptunit->getfantype getcoilindexvariablespeed getcoilindexvariablespeed proc~getptunit->getcoilindexvariablespeed getfaninletnode getfaninletnode proc~getptunit->getfaninletnode gettypeofcoil gettypeofcoil proc~getptunit->gettypeofcoil samestring samestring proc~getptunit->samestring getdxcoilinletnode getdxcoilinletnode proc~getptunit->getdxcoilinletnode getheatingcoiloutletnode getheatingcoiloutletnode proc~getptunit->getheatingcoiloutletnode interface~showcontinueerror ShowContinueError proc~getptunit->interface~showcontinueerror interface~setupoutputvariable SetupOutputVariable proc~getptunit->interface~setupoutputvariable getfanoutletnode getfanoutletnode proc~getptunit->getfanoutletnode trimsigdigits trimsigdigits proc~getptunit->trimsigdigits getdxcoiloutletnode getdxcoiloutletnode proc~getptunit->getdxcoiloutletnode getvscoilcondenserinletnode getvscoilcondenserinletnode proc~getptunit->getvscoilcondenserinletnode interface~showwarningerror ShowWarningError proc~getptunit->interface~showwarningerror getcoilwaterinletnode getcoilwaterinletnode proc~getptunit->getcoilwaterinletnode getwtoahpcoilcapacity getwtoahpcoilcapacity proc~getptunit->getwtoahpcoilcapacity getheatingcoilinletnode getheatingcoilinletnode proc~getptunit->getheatingcoilinletnode zoneequipconfig zoneequipconfig proc~getptunit->zoneequipconfig getcoilcondenserinletnode getcoilcondenserinletnode proc~getptunit->getcoilcondenserinletnode gethxdxcoilinletnode gethxdxcoilinletnode proc~getptunit->gethxdxcoilinletnode interface~showsevereerror ShowSevereError proc~getptunit->interface~showsevereerror gethxdxcoilname gethxdxcoilname proc~getptunit->gethxdxcoilname interface~showfatalerror ShowFatalError proc~getptunit->interface~showfatalerror getfanindex getfanindex proc~getptunit->getfanindex getcoilcapacityvariablespeed getcoilcapacityvariablespeed proc~getptunit->getcoilcapacityvariablespeed getcoilinletnodevariablespeed getcoilinletnodevariablespeed proc~getptunit->getcoilinletnodevariablespeed getwatercoilinletnode getwatercoilinletnode proc~getptunit->getwatercoilinletnode getdxcoolcoilindex getdxcoolcoilindex proc~getptunit->getdxcoolcoilindex setvarspeedcoildata setvarspeedcoildata proc~getptunit->setvarspeedcoildata getsteamcoilindex getsteamcoilindex proc~getptunit->getsteamcoilindex getcoiloutletnodevariablespeed getcoiloutletnodevariablespeed proc~getptunit->getcoiloutletnodevariablespeed getcoilmaxwaterflowrate getcoilmaxwaterflowrate proc~getptunit->getcoilmaxwaterflowrate getwatercoiloutletnode getwatercoiloutletnode proc~getptunit->getwatercoiloutletnode checkoutairnodenumber checkoutairnodenumber proc~getptunit->checkoutairnodenumber getnumobjectsfound getnumobjectsfound proc~getptunit->getnumobjectsfound getobjectitem getobjectitem proc~getptunit->getobjectitem getcoilmaxsteamflowrate getcoilmaxsteamflowrate proc~getptunit->getcoilmaxsteamflowrate getwtoahpsimplecoilindex getwtoahpsimplecoilindex proc~getptunit->getwtoahpsimplecoilindex proc~getscheduleindex GetScheduleIndex proc~getptunit->proc~getscheduleindex getsteamcoilsteaminletnode getsteamcoilsteaminletnode proc~getptunit->getsteamcoilsteaminletnode getobjectdefmaxargs getobjectdefmaxargs proc~getptunit->getobjectdefmaxargs getsteamcoilairinletnode getsteamcoilairinletnode proc~getptunit->getsteamcoilairinletnode getwtoahpsimplecoilinletnode getwtoahpsimplecoilinletnode proc~getptunit->getwtoahpsimplecoilinletnode setupcompsets setupcompsets proc~getptunit->setupcompsets setsimplewshpdata setsimplewshpdata proc~getptunit->setsimplewshpdata proc~validatecomponent ValidateComponent proc~getptunit->proc~validatecomponent getwtoahpsimplecoiloutletnode getwtoahpsimplecoiloutletnode proc~getptunit->getwtoahpsimplecoiloutletnode getsteamcoilairoutletnode getsteamcoilairoutletnode proc~getptunit->getsteamcoilairoutletnode interface~checkschedulevalueminmax CheckScheduleValueMinMax proc~getptunit->interface~checkschedulevalueminmax getwtoahpsimplecoilcapacity getwtoahpsimplecoilcapacity proc~getptunit->getwtoahpsimplecoilcapacity gethxdxcoiloutletnode gethxdxcoiloutletnode proc~getptunit->gethxdxcoiloutletnode getsatdensityrefrig getsatdensityrefrig proc~getptunit->getsatdensityrefrig proc~processscheduleinput ProcessScheduleInput proc~getscheduleindex->proc~processscheduleinput finditeminlist finditeminlist proc~getscheduleindex->finditeminlist proc~showcontinueerror ShowContinueError proc~validatecomponent->proc~showcontinueerror proc~showsevereerror ShowSevereError proc~validatecomponent->proc~showsevereerror 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~processscheduleinput->verifyname proc~processscheduleinput->roundsigdigits proc~processscheduleinput->samestring proc~processscheduleinput->trimsigdigits proc~processscheduleinput->getnumobjectsfound proc~processscheduleinput->getobjectitem proc~processscheduleinput->getobjectdefmaxargs proc~processscheduleinput->interface~checkschedulevalueminmax proc~processscheduleinput->finditeminlist proc~processscheduleinput->proc~showcontinueerror proc~showfatalerror ShowFatalError proc~processscheduleinput->proc~showfatalerror proc~processintervalfields ProcessIntervalFields proc~processscheduleinput->proc~processintervalfields processdatestring processdatestring proc~processscheduleinput->processdatestring proc~showwarningerror ShowWarningError proc~processscheduleinput->proc~showwarningerror setupemsactuator setupemsactuator proc~processscheduleinput->setupemsactuator proc~displaystring DisplayString proc~processscheduleinput->proc~displaystring proc~processfordaytypes ProcessForDayTypes proc~processscheduleinput->proc~processfordaytypes julianday julianday proc~processscheduleinput->julianday proc~externalinterfacesetschedule ExternalInterfaceSetSchedule proc~processscheduleinput->proc~externalinterfacesetschedule finditem finditem proc~processscheduleinput->finditem proc~processscheduleinput->proc~showsevereerror processnumber processnumber proc~processscheduleinput->processnumber checkforactualfilename checkforactualfilename proc~processscheduleinput->checkforactualfilename proc~reportscheduledetails ReportScheduleDetails proc~processscheduleinput->proc~reportscheduledetails proc~showerrormessage ShowErrorMessage proc~showcontinueerror->proc~showerrormessage updatesqliteerrorrecord updatesqliteerrorrecord proc~showcontinueerror->updatesqliteerrorrecord proc~showfatalerror->roundsigdigits proc~showfatalerror->proc~displaystring proc~showfatalerror->proc~showerrormessage proc~abortenergyplus AbortEnergyPlus proc~showfatalerror->proc~abortenergyplus createsqliteerrorrecord createsqliteerrorrecord proc~showfatalerror->createsqliteerrorrecord proc~processintervalfields->proc~showcontinueerror proc~processintervalfields->proc~showwarningerror proc~processintervalfields->proc~showsevereerror proc~decodehhmmfield DecodeHHMMField proc~processintervalfields->proc~decodehhmmfield proc~showwarningerror->proc~showerrormessage proc~showwarningerror->createsqliteerrorrecord matchcounts matchcounts proc~showwarningerror->matchcounts messagesearch messagesearch proc~showwarningerror->messagesearch proc~processfordaytypes->proc~showsevereerror proc~showsevereerror->proc~showerrormessage proc~showsevereerror->createsqliteerrorrecord proc~showsevereerror->matchcounts proc~showsevereerror->messagesearch proc~reportscheduledetails->roundsigdigits invjulianday invjulianday proc~reportscheduledetails->invjulianday proc~showerrormessage->proc~showfatalerror proc~showerrormessage->proc~displaystring proc~abortenergyplus->roundsigdigits proc~abortenergyplus->proc~displaystring 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~showcontinueerror proc~testairpathintegrity->proc~showsevereerror airtozonenodeinfo airtozonenodeinfo proc~testairpathintegrity->airtozonenodeinfo proc~showrecurringerrors->roundsigdigits proc~showrecurringerrors->updatesqliteerrorrecord proc~showrecurringerrors->createsqliteerrorrecord proc~showrecurringerrors->proc~showmessage removetrailingzeros removetrailingzeros proc~showrecurringerrors->removetrailingzeros recurringerrors recurringerrors proc~showrecurringerrors->recurringerrors proc~summarizeerrors->proc~showmessage proc~summarizeerrors->matchcounts summaries summaries proc~summarizeerrors->summaries moredetails moredetails proc~summarizeerrors->moredetails closedfsfile closedfsfile proc~closemiscopenfiles->closedfsfile closereportillummaps closereportillummaps proc~closemiscopenfiles->closereportillummaps proc~reportsurfaces->proc~showwarningerror 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~dxfout DXFOut proc~reportsurfaces->proc~dxfout proc~epstoptime->proc~showfatalerror tstop tstop proc~epstoptime->tstop proc~epsummarytimes->roundsigdigits proc~showmessage->proc~showerrormessage proc~detailsforsurfaces->roundsigdigits proc~detailsforsurfaces->trimsigdigits getschedulename getschedulename proc~detailsforsurfaces->getschedulename oscm oscm proc~detailsforsurfaces->oscm nominalu nominalu proc~detailsforsurfaces->nominalu zone zone proc~detailsforsurfaces->zone 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->getobjectitem proc~setupschemecolors->getobjectdefmaxargs proc~setupschemecolors->proc~showwarningerror proc~setupschemecolors->getobjectitemnum proc~matchandsetcolortextstring MatchAndSetColorTextString proc~setupschemecolors->proc~matchandsetcolortextstring proc~vrmlout->proc~showcontinueerror proc~vrmlout->proc~showfatalerror proc~vrmlout->proc~showwarningerror proc~vrmlout->zone proc~vrmlout->surface proc~triangulate Triangulate proc~vrmlout->proc~triangulate proc~getnewunitnumber GetNewUnitNumber proc~vrmlout->proc~getnewunitnumber proc~dxfoutwireframe->trimsigdigits proc~dxfoutwireframe->proc~showfatalerror proc~dxfoutwireframe->zone 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->roundsigdigits proc~linesout->proc~showcontinueerror proc~linesout->proc~showfatalerror proc~linesout->proc~showwarningerror proc~linesout->proc~csurfaceclass proc~linesout->surface proc~linesout->proc~getnewunitnumber proc~dxfout->trimsigdigits proc~dxfout->proc~showcontinueerror proc~dxfout->proc~showfatalerror proc~dxfout->proc~showwarningerror proc~dxfout->zone 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 proc~matchandsetcolortextstring->finditem proc~triangulate->roundsigdigits proc~triangulate->proc~showcontinueerror proc~triangulate->proc~showwarningerror proc~triangulate->proc~showmessage 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~decodehhmmfield->proc~showcontinueerror proc~decodehhmmfield->proc~showwarningerror proc~decodehhmmfield->proc~showsevereerror proc~dcheckschedulevalueminmax2->proc~showfatalerror proc~rcheckschedulevalueminmax1->proc~showfatalerror proc~rcheckschedulevalueminmax2->proc~showfatalerror proc~dcheckschedulevalueminmax1->proc~showfatalerror
Help

Called By

proc~~getptunit~~CalledByGraph proc~getptunit GetPTUnit proc~getptunitoutairnode GetPTUnitOutAirNode proc~getptunitoutairnode->proc~getptunit proc~simpackagedterminalunit SimPackagedTerminalUnit proc~simpackagedterminalunit->proc~getptunit proc~getptunitreturnairnode GetPTUnitReturnAirNode proc~getptunitreturnairnode->proc~getptunit proc~getptunitmixedairnode GetPTUnitMixedAirNode proc~getptunitmixedairnode->proc~getptunit proc~getptunitzoneinletairnode GetPTUnitZoneInletAirNode proc~getptunitzoneinletairnode->proc~getptunit
Help

Source Code


Source Code

SUBROUTINE GetPTUnit

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Richard Raustad
          !       DATE WRITTEN   July 2005
          !       MODIFIED       Chandan Sharma, FSEC, March 2011: Added ZoneHVAC sys avail manager
          !                      Bereket Nigusse, FSEC, April 2011: added OA Mixer object type
          !       MODIFIED       Bo Shen, ORNL, March 2012, added variable-speed water-source heat pump
          !       MODIFIED       Bo Shen, July 2012, added variable-speed air-source heat pump
          !
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Obtains input data for packaged terminal units and stores it in PTUnit data structures

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

          ! REFERENCES:
          ! na

          ! USE STATEMENTS:
  USE Fans,                  ONLY: GetFanType, GetFanIndex, GetFanVolFlow, GetFanInletNode, GetFanOutletNode, GetFanAvailSchPtr
  USE MixedAir,              ONLY: GetOAMixerNodeNumbers
  USE General,               ONLY: TrimSigDigits, RoundSigDigits
  USE DXCoils,               ONLY: GetDXCoolCoilIndex=>GetDXCoilIndex, &
                                   GetDXCoilInletNode=>GetCoilInletNode, GetDXCoilOutletNode=>GetCoilOutletNode, &
                                   GetCoilCondenserInletNode
  USE HVACHXAssistedCoolingCoil,  ONLY: GetHXDXCoilName, GetHXDXCoilInletNode=>GetCoilInletNode, &
                                        GetHXDXCoilOutletNode=>GetCoilOutletNode
  USE HeatingCoils,          ONLY: GetHeatingCoilIndex=>GetCoilIndex, HeatingCoil, SimulateHeatingCoilComponents, &
                                   GetHeatingCoilInletNode=>GetCoilInletNode, GetHeatingCoilOutletNode=>GetCoilOutletNode, &
                                   GetHeatingCoilCapacity=>GetCoilCapacity, GetHeatingCoilTypeNum
  USE SteamCoils,            ONLY: GetSteamCoilAirInletNode=>GetCoilAirInletNode, GetSteamCoilIndex, &
                                   GetSteamCoilAirOutletNode=>GetCoilAirOutletNode, &
                                   GetSteamCoilSteamInletNode=>GetCoilSteamInletNode, &
                                   GetCoilMaxSteamFlowRate=>GetCoilMaxSteamFlowRate, GetTypeOfCoil, ZoneLoadControl
  USE WaterCoils,            ONLY: GetCoilWaterInletNode, GetCoilMaxWaterFlowRate, &
                                   GetWaterCoilInletNode=>GetCoilInletNode,GetWaterCoilOutletNode=>GetCoilOutletNode
  USE InputProcessor,        ONLY: GetNumObjectsFound, GetObjectItem, VerifyName, SameString, GetObjectDefMaxArgs
  USE NodeInputManager,      ONLY: GetOnlySingleNode
  USE BranchNodeConnections, ONLY: SetUpCompSets
  USE FluidProperties,       ONLY: GetSatDensityRefrig
  USE WaterToAirHeatPump,    ONLY: GetWtoAHPCoilCapacity=>GetCoilCapacity, &
                                   GetWtoAHPCoilInletNode=>GetCoilInletNode, &
                                   GetWtoAHPCoilOutletNode=>GetCoilOutletNode,GetWtoAHPCoilIndex=>GetCoilIndex
  USE WaterToAirHeatPumpSimple, ONLY: GetWtoAHPSimpleCoilCapacity=>GetCoilCapacity,  &
                                      GetWtoAHPSimpleCoilInletNode=>GetCoilInletNode, &
                                      GetWtoAHPSimpleCoilOutletNode=>GetCoilOutletNode,GetWtoAHPSimpleCoilIndex=>GetCoilIndex, &
                                      SetSimpleWSHPData
  USE VariableSpeedCoils,    ONLY: GetCoilCapacityVariableSpeed, &
                                          GetCoilInletNodeVariableSpeed, &
                                          GetCoilOutletNodeVariableSpeed, &
                                          GetCoilIndexVariableSpeed, &
                                          SetVarSpeedCoilData, GetVSCoilCondenserInletNode
  USE OutAirNodeManager, ONLY: CheckOutAirNodeNumber
  USE DataZoneEquipment, ONLY: ZoneEquipConfig, PkgTermHPAirToAir_Num, PkgTermHPWaterToAir_Num, PkgTermACAirToAir_Num
  USE DataHVACGlobals,   ONLY: WaterCycling, WaterConstant, WaterConstantOnDemand

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
          ! na

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


          ! INTERFACE BLOCK SPECIFICATIONS
          ! na

          ! DERIVED TYPE DEFINITIONS
          ! na

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER                        :: PTUnitIndex  ! loop index
  INTEGER                        :: PTUnitNum    ! current packaged terminal unit number
  CHARACTER(len=MaxNameLength), &
                   ALLOCATABLE, DIMENSION(:) :: Alphas     ! Alpha items for object
  REAL(r64), ALLOCATABLE, DIMENSION(:)       :: Numbers    ! Numeric items for object
  INTEGER, DIMENSION(4)          :: OANodeNums  ! Node numbers of OA mixer (OA, EA, RA, MA)
  INTEGER                        :: FanInletNodeNum ! Fan inlet node number
  INTEGER                        :: FanOutletNodeNum ! Fan outlet node number
  INTEGER                        :: SuppHeatInletNodeNum !Supplemental heating coil inlet node number
  INTEGER                        :: SuppHeatOutletNodeNum !Supplemental heating coil outlet node number
  INTEGER                        :: CoolCoilInletNodeNum ! cooling coil inlet node number
  INTEGER                        :: CoolCoilOutletNodeNum ! cooling coil outlet node number
  CHARACTER(len=MaxNameLength)   :: ACHeatCoilName ! name of heating coil
  INTEGER                        :: HeatCoilInletNodeNum ! heating coil inlet node number
  INTEGER                        :: HeatCoilOutletNodeNum ! heating coil outlet node number
  INTEGER                        :: SuppHeatHWInletNodeNum  !Supplemental heating coil Hot Water inlet node number
  INTEGER                        :: SuppHeatHWOutletNodeNum !Supplemental heating coil Hot Water outlet node number
  CHARACTER(len=MaxNameLength)   :: CompSetFanInlet, CompSetCoolInlet, CompSetFanOutlet, CompSetCoolOutlet
  CHARACTER(len=MaxNameLength)   :: CompSetHeatInlet, CompSetHeatOutlet, CompSetSupHeatInlet, CompSetSupHeatOutlet
  INTEGER                        :: NumAlphas  ! Number of Alphas for each GetObjectItem call
  INTEGER                        :: NumNumbers ! Number of Numbers for each GetObjectItem call
  INTEGER                        :: MaxAlphas     ! Maximum number of alpha fields in all objects
  INTEGER                        :: MaxNumbers    ! Maximum number of numeric fields in all objects
  INTEGER                        :: NumFields     ! Total number of fields in object
  INTEGER                        :: IOStatus   ! Used in GetObjectItem
  LOGICAL                        :: ErrorsFound=.FALSE.  ! Set to true if errors in input, fatal at end of routine
  LOGICAL                        :: IsNotOK    ! Flag to verify name
  LOGICAL                        :: IsBlank    ! Flag for blank name
  CHARACTER(len=MaxNameLength)   :: CurrentModuleObject ! Object type for getting and error messages
  LOGICAL                        :: ErrFlag = .FALSE. ! Error flag returned during CALL to mining functions
  REAL(r64)                      :: FanVolFlow ! maximum supply air volumetric flow rate of fan
  INTEGER                        :: TempNodeNum ! dummy variable to set up HW coil water inlet node
  INTEGER                        :: SteamIndex  ! dummy variable to set up steam coil steam inlet density
  CHARACTER(len=MaxNameLength)   :: SuppHeatCoilType ! type of supplemental heating coil
  CHARACTER(len=MaxNameLength)   :: SuppHeatCoilName ! name of supplemental heating coil
  INTEGER                        :: CtrlZone    ! index to loop counter
  INTEGER                        :: NodeNum     ! index to loop counter
  LOGICAL                        :: ZoneNodeNotFound ! used in error checking

  CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cAlphaFields   ! Alpha field names
  CHARACTER(len=MaxNameLength), ALLOCATABLE, DIMENSION(:) :: cNumericFields ! Numeric field names
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lAlphaBlanks     ! Logical array, alpha field input BLANK = .true.
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lNumericBlanks   ! Logical array, numeric field input BLANK = .true.

  MaxNumbers = 0
  MaxAlphas  = 0

  ! find the number of each type of packaged terminal unit
  CurrentModuleObject = 'ZoneHVAC:PackagedTerminalHeatPump'
  NumPTHP = GetNumObjectsFound(CurrentModuleObject)
  CALL GetObjectDefMaxArgs(CurrentModuleObject,NumFields,NumAlphas,NumNumbers)
  MaxNumbers=MAX(MaxNumbers,NumNumbers)
  MaxAlphas=MAX(MaxAlphas,NumAlphas)

  CurrentModuleObject = 'ZoneHVAC:PackagedTerminalAirConditioner'
  NumPTAC = GetNumObjectsFound(CurrentModuleObject)
  CALL GetObjectDefMaxArgs(CurrentModuleObject,NumFields,NumAlphas,NumNumbers)
  MaxNumbers=MAX(MaxNumbers,NumNumbers)
  MaxAlphas=MAX(MaxAlphas,NumAlphas)

  CurrentModuleObject = 'ZoneHVAC:WaterToAirHeatPump'
  NumPTWSHP = GetNumObjectsFound(CurrentModuleObject)
  CALL GetObjectDefMaxArgs(CurrentModuleObject,NumFields,NumAlphas,NumNumbers)
  MaxNumbers=MAX(MaxNumbers,NumNumbers)
  MaxAlphas=MAX(MaxAlphas,NumAlphas)

  ALLOCATE(Alphas(MaxAlphas))
  Alphas=' '
  ALLOCATE(Numbers(MaxNumbers))
  Numbers=0.0d0
  ALLOCATE(cAlphaFields(MaxAlphas))
  cAlphaFields=' '
  ALLOCATE(cNumericFields(MaxNumbers))
  cNumericFields=' '
  ALLOCATE(lAlphaBlanks(MaxAlphas))
  lAlphaBlanks=.TRUE.
  ALLOCATE(lNumericBlanks(MaxNumbers))
  lNumericBlanks=.TRUE.
  NumPTUs = NumPTHP + NumPTAC + NumPTWSHP

  ! allocate the data structures
  IF (NumPTUs .GT. 0) THEN
    ALLOCATE(PTUnit(NumPTUs))
    ALLOCATE(CheckEquipName(NumPTUs))
  ENDIF
  CheckEquipName=.true.

  ! loop over PTHP units; get and load the input data
  DO PTUnitIndex = 1,NumPTHP

    FanInletNodeNum       = 0
    FanOutletNodeNum      = 0
    SuppHeatInletNodeNum   = 0
    SuppHeatOutletNodeNum  = 0
    CoolCoilInletNodeNum  = 0
    CoolCoilOutletNodeNum = 0
    HeatCoilInletNodeNum  = 0
    HeatCoilOutletNodeNum = 0
    SuppHeatHWInletNodeNum = 0
    SuppHeatHWOutletNodeNum = 0
    OANodeNums = 0

    CurrentModuleObject = 'ZoneHVAC:PackagedTerminalHeatPump'
    CALL GetObjectItem(CurrentModuleObject,PTUnitIndex,Alphas,NumAlphas,Numbers,NumNumbers,IOStatus, &
                       NumBlank=lNumericBlanks,AlphaBlank=lAlphaBlanks, &
                       AlphaFieldNames=cAlphaFields,NumericFieldNames=cNumericFields)

    PTUnitNum = PTUnitIndex
    IsNotOK=.FALSE.
    IsBlank=.FALSE.
    CALL VerifyName(Alphas(1),PTUnit%Name,PTUnitNum-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    PTUnit(PTUnitNum)%PTObjectIndex = PTUnitIndex
    IF (IsNotOK) THEN
      ErrorsFound=.TRUE.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    PTUnit(PTUnitNum)%Name = Alphas(1)
    PTUnit(PTUnitNum)%UnitType = CurrentModuleObject
    PTUnit(PTUnitNum)%UnitType_Num = PTHPUnit
    PTUnit(PTUnitNum)%ZoneEquipType = PkgTermHPAirToAir_Num
    IF (lAlphaBlanks(2)) THEN
      PTUnit(PTUnitNum)%SchedPtr = ScheduleAlwaysOn
    ELSE
      PTUnit(PTUnitNum)%SchedPtr = GetScheduleIndex(Alphas(2))  ! convert schedule name to pointer (index number)
      IF (PTUnit(PTUnitNum)%SchedPtr .EQ. 0) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'" invalid data.')
        CALL ShowContinueError('invalid-not found '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//'".')
        ErrorsFound=.TRUE.
      ENDIF
    END IF

    PTUnit(PTUnitNum)%AirInNode = &
               GetOnlySingleNode(Alphas(3),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Inlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%AirOutNode = &
               GetOnlySingleNode(Alphas(4),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Outlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%OAMixType = Alphas(5)
    PTUnit(PTUnitNum)%OAMixName = Alphas(6)

    ErrFlag = .false.
    CALL ValidateComponent(PTUnit(PTUnitNum)%OAMixType,PTUnit(PTUnitNum)%OAMixName,ErrFlag,TRIM(CurrentModuleObject))
    IF (ErrFlag) THEN
       CALL ShowContinueError('specified in '//TRIM(CurrentModuleObject)//' = "'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
       ErrorsFound = .TRUE.
    ELSE
       ! OANodeNums = outside air mixer node numbers, OANodeNums(4) = outside air mixer mixed air node
       OANodeNums = GetOAMixerNodeNumbers(PTUnit(PTUnitNum)%OAMixName, ErrFlag)
       IF(ErrFlag) THEN
         CALL ShowContinueError('that was specified in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
         CALL ShowContinueError('..OutdoorAir:Mixer is required. Enter an OutdoorAir:Mixer object with this name.')
         ErrorsFound=.true.
       ELSE
         !  Set connection type to 'Inlet', because this is not necessarily directly come from
         !  outside air.  Outside Air Inlet Node List will set the connection to outside air
         PTUnit(PTUnitNum)%OutsideAirNode = OANodeNums(1)
         PTUnit(PTUnitNum)%AirReliefNode = OANodeNums(2)
      ENDIF
    ENDIF

    PTUnit(PTUnitNum)%MaxCoolAirVolFlow       = Numbers(1)
    IF (PTUnit(PTUnitNum)%MaxCoolAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(1))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(1),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxHeatAirVolFlow       = Numbers(2)
    IF (PTUnit(PTUnitNum)%MaxHeatAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(2))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(2),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow = Numbers(3)
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(3))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(3),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%CoolOutAirVolFlow       = Numbers(4)
    IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(4))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(4),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

!   only check that SA flow in cooling is >= OA flow in cooling when either or both are not autosized
    IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .AND. &
        PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' '//TRIM(cNumericFields(4))//' cannot be greater than '// &
                           TRIM(cNumericFields(1)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%HeatOutAirVolFlow       = Numbers(5)
    IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%HeatOutAirVolFlow.NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(5))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(5),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

!   only check that SA flow in heating is >= OA flow in heating when either or both are not autosized
    IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .AND. &
        PTUnit(PTUnitNum)%HeatOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' '//TRIM(cNumericFields(5))//' cannot be greater than '// &
                           TRIM(cNumericFields(2)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow = Numbers(6)
    IF (PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(6))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(6),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF
!   only check that SA flow when compressor is OFF is >= OA flow when compressor is OFF after fan mode is read in

    PTUnit(PTUnitNum)%FanType = Alphas(7)
    PTUnit(PTUnitNum)%FanName = Alphas(8)
    ErrFlag = .FALSE.
    CALL GetFanType(PTUnit(PTUnitNum)%FanName,PTUnit(PTUnitNum)%FanType_Num,ErrFlag,CurrentModuleObject,PTUnit(PTUnitNum)%Name)
    FanVolFlow = 0.d0
    IF(ErrFlag)THEN
      CALL ShowContinueError('specified in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    ELSE
      CALL GetFanIndex(PTUnit(PTUnitNum)%FanName,PTUnit(PTUnitNum)%FanIndex,ErrFlag,CurrentModuleObject)
      FanInletNodeNum = GetFanInletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
      FanOutletNodeNum = GetFanOutletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
      CALL GetFanVolFlow(PTUnit(PTUnitNum)%FanIndex,FanVolFlow)
      PTUnit(PTUnitNum)%ActualFanVolFlowRate = FanVolFlow
      ! Get the fan's availability schedule
      PTUnit(PTUnitNum)%FanAvailSchedPtr = GetFanAvailSchPtr(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
      IF (ErrFlag) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
        ErrorsFound=.TRUE.
      ENDIF
    ENDIF

    IF(FanVolFlow .NE. AutoSize)THEN
      IF(FanVolFlow .LT. MAX(PTUnit(PTUnitNum)%MaxCoolAirVolFlow, &
                             PTUnit(PTUnitNum)%MaxHeatAirVolFlow, &
                             PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'", invalid air flow rate')
        CALL ShowContinueError('air flow rate = '//TRIM(TrimSigDigits(FanVolFlow,7))// &
                 ' in fan object '//TRIM(PTUnit(PTUnitNum)%FanName)//' is less than the maximum PTHP supply air flow rate.')
        CALL ShowContinueError(' The fan flow rate must be greater than the PTHP maximum supply air flow rate.')
        ErrorsFound = .TRUE.
      END IF
    END IF

    PTUnit(PTUnitNum)%DXHeatCoilName = Alphas(10)
    IF(SameString(Alphas(9),'Coil:Heating:DX:SingleSpeed')) THEN
       PTUnit(PTUnitNum)%DXHeatCoilType = Alphas(9)
!       PTUnit(PTUnitNum)%DXHeatCoilType_Num = CoilDX_HeatingEmpirical
       ErrFlag = .FALSE.
       CALL GetDXCoolCoilIndex(PTUnit(PTUnitNum)%DXHeatCoilName,PTUnit(PTUnitNum)%DXHeatCoilIndexNum, &
                               ErrFlag, PTUnit(PTUnitNum)%DXHeatCoilType)
       HeatCoilInletNodeNum = GetDXCoilInletNode(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
       HeatCoilOutletNodeNum = GetDXCoilOutletNode(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
       IF(ErrFlag)CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                         ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
    ELSE IF (SameString(Alphas(9),'COIL:HEATING:DX:VARIABLESPEED' ))THEN
      PTUnit(PTUnitNum)%DXHeatCoilType = Alphas(9)
      PTUnit(PTUnitNum)%DXHeatCoilType_Num = Coil_HeatingAirToAirVariableSpeed
      PTUnit(PTUnitNum)%DXHeatCoilName = Alphas(10)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXHeatCoilIndex = GetCoilIndexVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                                     PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        HeatCoilInletNodeNum=GetCoilInletNodeVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                          PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        HeatCoilOutletNodeNum=GetCoilOutletNodeVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                            PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
      ENDIF
    ELSE
      CALL ShowSevereError(TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'", invalid field')
      CALL ShowContinueError(' illegal '//TRIM(cAlphaFields(9))//' = '//TRIM(Alphas(9)))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%HeatConvergenceTol      = Numbers(7)
    PTUnit(PTUnitNum)%MinOATCompressor        = Numbers(8)
    PTUnit(PTUnitNum)%DXCoolCoilName          = Alphas(12)
    PTUnit(PTUnitNum)%CoolConvergenceTol      = Numbers(9)

    IF(SameString(Alphas(11),'Coil:Cooling:DX:SingleSpeed') .OR. &
       SameString(Alphas(11),'CoilSystem:Cooling:DX:HeatExchangerAssisted')) THEN
       PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
       IF (SameString(Alphas(11),'Coil:Cooling:DX:SingleSpeed')) THEN
         PTUnit(PTUnitNum)%DXCoolCoilType_Num = CoilDX_CoolingSingleSpeed
         ErrFlag = .FALSE.
         CALL GetDXCoolCoilIndex(PTUnit(PTUnitNum)%DXCoolCoilName,PTUnit(PTUnitNum)%DXCoolCoilIndexNum, &
                                 ErrFlag, PTUnit(PTUnitNum)%DXCoolCoilType)
         CoolCoilInletNodeNum = GetDXCoilInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         CoolCoilOutletNodeNum = GetDXCoilOutletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         PTUnit(PTUnitNum)%CondenserNodeNum = &
                         GetCoilCondenserInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         IF(ErrFlag)CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                           ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
       ELSEIF (SameString(Alphas(11),'CoilSystem:Cooling:DX:HeatExchangerAssisted')) THEN
         PTUnit(PTUnitNum)%DXCoolCoilType_Num = CoilDX_CoolingHXAssisted
         ErrFlag = .FALSE.
         CALL GetDXCoolCoilIndex( &
               GetHXDXCoilName(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag), &
               PTUnit(PTUnitNum)%DXCoolCoilIndexNum, ErrFlag, 'Coil:Cooling:DX:SingleSpeed')
         CoolCoilInletNodeNum = GetHXDXCoilInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         CoolCoilOutletNodeNum = GetHXDXCoilOutletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         PTUnit(PTUnitNum)%CondenserNodeNum = GetCoilCondenserInletNode('Coil:Cooling:DX:SingleSpeed', &
                        GetHXDXCoilName(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag),ErrFlag)
         IF(ErrFlag)CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                           ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
       END IF
    ELSE IF (SameString(Alphas(11), 'COIL:COOLING:DX:VARIABLESPEED') )THEN
      PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
      PTUnit(PTUnitNum)%DXCoolCoilType_Num = Coil_CoolingAirToAirVariableSpeed
      PTUnit(PTUnitNum)%DXCoolCoilName = Alphas(12)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXCoolCoilIndexNum = GetCoilIndexVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        CoolCoilInletNodeNum=GetCoilInletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                          PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        CoolCoilOutletNodeNum=GetCoilOutletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                            PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        PTUnit(PTUnitNum)%CondenserNodeNum = GetVSCoilCondenserInletNode(PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)

        IF(ErrFlag)CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                           ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')

      ENDIF
    ELSE
      CALL ShowWarningError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(11))//' = '//TRIM(Alphas(11)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    IF (Alphas(9) == 'COIL:HEATING:DX:VARIABLESPEED' .AND.   &
        Alphas(11) == 'COIL:COOLING:DX:VARIABLESPEED') THEN
      IF(PTUnit(PTUnitNum)%DXHeatCoilIndex .GT. 0 .AND. PTUnit(PTUnitNum)%DXCoolCoilIndexNum .GT. 0)THEN
         CALL SetVarSpeedCoilData(PTUnit(PTUnitNum)%DXCoolCoilIndexNum,ErrorsFound, &
                                CompanionHeatingCoilNum=PTUnit(PTUnitNum)%DXHeatCoilIndex)
      END IF
    END IF

    SuppHeatCoilType                           = Alphas(13)
    SuppHeatCoilName                           = Alphas(14)
    PTUnit(PTUnitNum)%SuppHeatCoilName         = SuppHeatCoilName
    IF (SameString(Alphas(13),'Coil:Heating:Gas')      .OR. &
        SameString(Alphas(13),'Coil:Heating:Electric') .OR. &
        SameString(Alphas(13),'Coil:Heating:Water')    .OR. &
        SameString(Alphas(13),'Coil:Heating:Steam')) THEN
        PTUnit(PTUnitNum)%SuppHeatCoilType=SuppHeatCoilType
       IF (SameString(Alphas(13),'Coil:Heating:Gas') .OR. SameString(Alphas(13),'Coil:Heating:Electric')) THEN
         IF (SameString(Alphas(13),'Coil:Heating:Gas')) THEN
            PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingGas
         ELSEIF (SameString(Alphas(13),'Coil:Heating:Electric')) THEN
            PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingElectric
         ENDIF
         ErrFlag = .FALSE.
         CALL ValidateComponent(SuppHeatCoilType,SuppHeatCoilName,ErrFlag,  &
                                TRIM(CurrentModuleObject))
         IF (ErrFlag) THEN
           CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
           ErrorsFound=.TRUE.
         ELSE
           CALL GetHeatingCoilIndex(SuppHeatCoilName,PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag)
           ! Get the Supplemental Heating Coil Node Numbers
           SuppHeatInletNodeNum = &
               GetHeatingCoilInletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
           SuppHeatOutletNodeNum = &
               GetHeatingCoilOutletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
           IF (ErrFlag) THEN
             CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
             ErrorsFound=.TRUE.
           ENDIF
        ENDIF
       ELSEIF (SameString(Alphas(13),'Coil:Heating:Water')) THEN
         PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingWater
         ErrFlag = .FALSE.
         SuppHeatHWInletNodeNum = GetCoilWaterInletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HotWaterControlNode = SuppHeatHWInletNodeNum
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
         PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxWaterFlowRate(SuppHeatCoilType,  &
                                                  PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow .GT. 0.0d0)THEN
            PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxWaterFlowRate(SuppHeatCoilType,  &
                                                     PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         END IF
         ErrFlag = .FALSE.
         SuppHeatInletNodeNum =  GetWaterCoilInletNode('Coil:Heating:Water',PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%SupCoilAirInletNode = SuppHeatInletNodeNum
         SuppHeatOutletNodeNum = GetWaterCoilOutletNode('Coil:Heating:Water', &
                                                        PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF

       ELSEIF (SameString(Alphas(13),'Coil:Heating:Steam')) THEN
         PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingSteam
         ErrFlag = .FALSE.
         PTUnit(PTUnitNum)%SuppHeatCoilIndex = GetSTeamCoilIndex(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF (PTUnit(PTUnitNum)%SuppHeatCoilIndex .EQ. 0) THEN
             CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(14))//' = ' &
                           //TRIM(PTUnit(PTUnitNum)%SuppHeatCoilName))
             CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
             ErrorsFound = .TRUE.
         END IF
         !IF(ErrFlag)CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
         ErrFlag = .FALSE.
         SuppHeatHWInletNodeNum = GetSteamCoilSteamInletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HWCoilSteamInletNode = SuppHeatHWInletNodeNum
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
         PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag)
         IF(PTUnit(PTUnitNum)%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,'GetPackagedTerminalHeatPumpInput')
            PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = &
                              GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag) * SteamDensity
         END IF
         ErrFlag = .FALSE.
         SuppHeatInletNodeNum = &
            GetSteamCoilAirInletNode(PTUnit(PTUnitNum)%SuppHeatCoilIndex,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%SupCoilAirInletNode = SuppHeatInletNodeNum
         SuppHeatOutletNodeNum = GetSteamCoilAirOutletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
       END IF

    ELSE
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(13))//' = '//TRIM(Alphas(13)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxSATSupHeat           = Numbers(10)
    PTUnit(PTUnitNum)%MaxOATSupHeat           = Numbers(11)
    IF(PTUnit(PTUnitNum)%MaxOATSupHeat .GT. 21.0d0) THEN
      CALL ShowWarningError(TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name)//&
                            ': '//TRIM(cNumericFields(11))//' should be <= to 21.')
      CALL ShowContinueError('...'//TRIM(cNumericFields(11))//' = '//TRIM(TrimSigDigits(Numbers(11),1)))
    END IF

    IF (SameString(Alphas(15),'BlowThrough'))  PTUnit(PTUnitNum)%FanPlace = BlowThru
    IF (SameString(Alphas(15),'DrawThrough'))  PTUnit(PTUnitNum)%FanPlace = DrawThru
    IF (PTUnit(PTUnitNum)%FanPlace .EQ. 0) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(15))//' = '//TRIM(Alphas(15)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    ! Check component placement
    IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! PTUnit inlet node must be the same as a zone exhaust node and the OA Mixer return node
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heat Pumps air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check OA Mixer return node
      IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" PTUnit air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
        CALL ShowContinueError('..PTUnit air inlet node name            = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
        ErrorsFound=.TRUE.
      END IF
      ! Fan inlet node name must be the same as the heat pump's OA mixer mixed air node name
      IF (OANodeNums(4) /= FanInletNodeNum) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" Fan inlet node name must be the same as the heat pumps')
        CALL ShowContinueError('OutdoorAir:Mixer mixed air node name when blow through '// &
                                TRIM(cAlphaFields(15))//' is specified.')
        CALL ShowContinueError('..Fan inlet node name                   = '//TRIM(NodeID(FanInletNodeNum)))
        CALL ShowContinueError('..OutdoorAir:Mixer mixed air node name = '//TRIM(NodeID(OANodeNums(4))))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilInletNodeNum /= FanOutletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" Fan outlet node name must be the same as the cooling coil')
        CALL ShowContinueError(' inlet node name when blow through '//TRIM(cAlphaFields(15))//' is specified.')
        CALL ShowContinueError('..Fan outlet node name         = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Cooling coil inlet node name = '//TRIM(NodeID(CoolCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" 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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= SuppHeatInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heating coil outlet node name must be the same as the supplemental heating coil inlet')
        CALL ShowContinueError(' node name when blow through '//TRIM(cAlphaFields(14))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name              = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Supplemental heating coil inlet node name  = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(SuppHeatOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Supplemental heating coil outlet node name must be the same as the heat pumps outlet node name.')
        CALL ShowContinueError('..Supplemental heating coil outlet node name = '//TRIM(NodeID(SuppHeatOutletNodeNum)))
        CALL ShowContinueError('..Heat pumps outlet node name                   = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heat Pumps air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ELSE ! draw through fan from IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heat Pumps air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check OA Mixer return node
      IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" PTUnit air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
        CALL ShowContinueError('..PTUnit air inlet node name            = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
        ErrorsFound=.TRUE.
      END IF
      ! Fan outlet node name must be the same as the supplemental heating coil inlet node name
      IF(CoolCoilInletNodeNum /= OANodeNums(4))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" OutdoorAir:Mixer mixed air node name must be the same as the cooling coil')
        CALL ShowContinueError(' inlet node name when draw through '//TRIM(cAlphaFields(15))//' is specified.')
        CALL ShowContinueError('..OutdoorAir:Mixer mixed air name = '//TRIM(NodeID(OANodeNums(4))))
        CALL ShowContinueError('..Cooling coil inlet node name     = '//TRIM(NodeID(CoolCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" 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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= FanInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heating coil outlet node name must be the same as the fan inlet node name')
        CALL ShowContinueError(' when draw through '//TRIM(cAlphaFields(15))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Fan inlet node name           = '//TRIM(NodeID(FanInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF (SuppHeatInletNodeNum /= FanOutletNodeNum) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" Fan outlet node name must be the same')
        CALL ShowContinueError('as the supplemental heating coil inlet node name when draw through '// &
                                TRIM(cAlphaFields(15))//' is specified.')
        CALL ShowContinueError('..Fan outlet node = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Supplemental heating coil inlet node = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(SuppHeatOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Supplemental heating coil outlet node name must be the same as the heat pumps outlet node name.')
        CALL ShowContinueError('..Supplemental heating coil outlet node name = '//TRIM(NodeID(SuppHeatOutletNodeNum)))
        CALL ShowContinueError('..Heat pumps outlet node name                = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heat Pumps air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ENDIF ! IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN

    PTUnit(PTUnitNum)%FanSchedPtr     = GetScheduleIndex(Alphas(16))
    IF (.NOT. lAlphaBlanks(16) .AND. PTUnit(PTUnitNum)%FanSchedPtr == 0) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" '//TRIM(cAlphaFields(16))//' not found: '//TRIM(Alphas(16)))
      ErrorsFound=.TRUE.
    ELSEIF (lAlphaBlanks(16)) THEN
!     default to cycling fan if not specified in input
      PTUnit(PTUnitNum)%OpMode = CycFanCycCoil
    ENDIF

    IF (.NOT. lAlphaBlanks(17)) THEN
      PTUnit(PTUnitNum)%AvailManagerListName = Alphas(17)
      ZoneComp(PkgTermHPAirToAir_Num)%ZoneCompAvailMgrs(PTUnitNum)%AvailManagerListName  = Alphas(17)
    ENDIF

!   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 = ContFanCycCoil
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .EQ. 0.0d0) THEN
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOnFlow
    ELSE
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOffFlow
    END IF

!   Initialize last mode of compressor operation
    PTUnit(PTUnitNum)%LastMode = HeatingMode

    IF (SameString(PTUnit(PTUnitNum)%FanType, 'Fan:OnOff') .OR. &
        SameString(PTUnit(PTUnitNum)%FanType, 'Fan:ConstantVolume'))THEN
      IF(PTUnit(PTUnitNum)%FanSchedPtr .GT. 0 .AND. SameString(PTUnit(PTUnitNum)%FanType,'Fan:ConstantVolume'))THEN
        IF (.NOT. CheckScheduleValueMinMax(PTUnit(PTUnitNum)%FanSchedPtr,'>',0.0d0,'<=',1.0d0)) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('Fan operating mode must be continuous (fan operating mode schedule values > 0)'//&
                                 ' for supply fan type Fan:ConstantVolume.')
          CALL ShowContinueError('Error found in '//TRIM(cAlphaFields(16))//' = '//TRIM(Alphas(16)))
          CALL ShowContinueError('schedule values must be (>0., <=1.)')
          ErrorsFound=.TRUE.
        ELSEIF(PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .AND. &
          PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .NE. AutoSize .AND.   &
          PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize .AND. &
          PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. 0.0d0) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('Outdoor air flow rate when compressor is off cannot be greater than ' &
                                 //'supply air flow rate when compressor is off')
          ErrorsFound = .TRUE.
        END IF
      END IF
    ELSE
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      CALL ShowContinueError(TRIM(cAlphaFields(8))//' "'//TRIM(PTUnit(PTUnitNum)%FanName)//&
                             '" must be type Fan:OnOff or Fan:ConstantVolume.')
      ErrorsFound=.TRUE.
    END IF

    IF (PTUnit(PTUnitNum)%DXHeatCoilType_Num == Coil_HeatingAirToAirVariableSpeed) THEN
      ErrFlag=.FALSE.
      PTUnit(PTUnitNum)%DesignHeatingCapacity =   &
         GetCoilCapacityVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                                        PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
      IF (ErrFlag) THEN
        CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
        ErrorsFound=.TRUE.
      ENDIF
    ENDIF

    IF (PTUnit(PTUnitNum)%DXCoolCoilType_Num == Coil_CoolingAirToAirVariableSpeed) THEN
      ErrFlag=.FALSE.
      PTUnit(PTUnitNum)%DesignCoolingCapacity =   &
         GetCoilCapacityVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
      IF (ErrFlag) THEN
        CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
        ErrorsFound=.TRUE.
      ENDIF
    ENDIF

    CompSetFanInlet   = NodeID(FanInletNodeNum)
    CompSetFanOutlet  = NodeID(FanOutletNodeNum)
    CompSetCoolInlet  = NodeID(CoolCoilInletNodeNum)
    CompSetCoolOutlet = NodeID(CoolCoilOutletNodeNum)
    CompSetHeatInlet  = NodeID(HeatCoilInletNodeNum)
    CompSetHeatOutlet = NodeID(HeatCoilOutletNodeNum)
    CompSetSupHeatInlet  = NodeID(SuppHeatInletNodeNum)
    CompSetSupHeatOutlet = NodeID(SuppHeatOutletNodeNum)

    ! Add fan to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,CompSetFanInlet,CompSetFanOutlet)

    ! Add cooling coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,CompSetCoolInlet,CompSetCoolOutlet)

    ! Add heating coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,CompSetHeatInlet,CompSetHeatOutlet)

    ! Add supplemental heating coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,CompSetSupHeatInlet,CompSetSupHeatOutlet)

    IF(PTUnit(PTUnitNum)%UnitType_Num .EQ. PTHPUnit)THEN
      IF (PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingWater) THEN
        ! Add heating coil water inlet node as actuator node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HotWaterControlNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                              PTUnit(PTUnitNum)%Name,NodeType_Water,NodeConnectionType_Actuator,1,ObjectIsParent)
      ELSEIF (PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingSteam) THEN
        ! Add heating coil steam inlet node as actualtor node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HWCoilSteamInletNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                             PTUnit(PTUnitNum)%Name, NodeType_Steam,NodeConnectionType_Actuator,1,ObjectIsParent)
      END IF
    END IF
    ! Set up component set for OA mixer - use OA node and Mixed air node
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                       PTUnit(PTUnitNum)%OAMixType, PTUnit(PTUnitNum)%OAMixName,NodeID(OANodeNums(1)),NodeID(OANodeNums(4)))
  END DO

  ! loop over PTAC units; get and load the input data
  DO PTUnitIndex = 1,NumPTAC

    FanInletNodeNum       = 0
    FanOutletNodeNum      = 0
    CoolCoilInletNodeNum  = 0
    CoolCoilOutletNodeNum = 0
    HeatCoilInletNodeNum  = 0
    HeatCoilOutletNodeNum = 0
    SuppHeatInletNodeNum   = 0

    CurrentModuleObject = 'ZoneHVAC:PackagedTerminalAirConditioner'
    CALL GetObjectItem(CurrentModuleObject,PTUnitIndex,Alphas,NumAlphas,Numbers,NumNumbers,IOStatus, &
                       NumBlank=lNumericBlanks,AlphaBlank=lAlphaBlanks, &
                       AlphaFieldNames=cAlphaFields,NumericFieldNames=cNumericFields)

    PTUnitNum = PTUnitIndex + NumPTHP
    IsNotOK=.FALSE.
    IsBlank=.FALSE.
    CALL VerifyName(Alphas(1),PTUnit%Name,PTUnitNum-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    PTUnit(PTUnitNum)%PTObjectIndex = PTUnitIndex
    IF (IsNotOK) THEN
      ErrorsFound=.TRUE.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    PTUnit(PTUnitNum)%Name = Alphas(1)
    PTUnit(PTUnitNum)%UnitType = CurrentModuleObject
    PTUnit(PTUnitNum)%UnitType_Num = PTACUnit
    PTUnit(PTUnitNum)%ZoneEquipType = PkgTermACAirToAir_Num
    IF (lAlphaBlanks(2)) THEN
      PTUnit(PTUnitNum)%SchedPtr = ScheduleAlwaysOn
    ELSE
      PTUnit(PTUnitNum)%SchedPtr = GetScheduleIndex(Alphas(2))  ! convert schedule name to pointer (index number)
      IF (PTUnit(PTUnitNum)%SchedPtr .EQ. 0) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'" invalid data.')
        CALL ShowContinueError('invalid-not found '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//'".')
        ErrorsFound=.TRUE.
      ENDIF
    END IF

    PTUnit(PTUnitNum)%AirInNode = &
               GetOnlySingleNode(Alphas(3),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Inlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%AirOutNode = &
               GetOnlySingleNode(Alphas(4),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Outlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%OAMixType = Alphas(5)
    PTUnit(PTUnitNum)%OAMixName = Alphas(6)

    ErrFlag = .false.
    CALL ValidateComponent(PTUnit(PTUnitNum)%OAMixType,PTUnit(PTUnitNum)%OAMixName,ErrFlag,TRIM(CurrentModuleObject))
    IF (ErrFlag) THEN
       CALL ShowContinueError('specified in '//TRIM(CurrentModuleObject)//' = "'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
       ErrorsFound = .TRUE.
    ELSE
       ! OANodeNums = outside air mixer node numbers, OANodeNums(4) = outside air mixer mixed air node
       OANodeNums = GetOAMixerNodeNumbers(PTUnit(PTUnitNum)%OAMixName, ErrFlag)
       IF(ErrFlag) THEN
         CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
         CALL ShowContinueError('..OutdoorAir:Mixer is required. Enter an OutdoorAir:Mixer object with this name.')
         ErrorsFound=.true.
       ELSE
         !  Set connection type to 'Inlet', because this is not necessarily directly come from
         !  outside air.  Outside Air Inlet Node List will set the connection to outside air
         PTUnit(PTUnitNum)%OutsideAirNode = OANodeNums(1)
         PTUnit(PTUnitNum)%AirReliefNode = OANodeNums(2)
       ENDIF
    ENDIF

    PTUnit(PTUnitNum)%MaxCoolAirVolFlow       = Numbers(1)
    IF (PTUnit(PTUnitNum)%MaxCoolAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(1))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(1),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxHeatAirVolFlow       = Numbers(2)
    IF (PTUnit(PTUnitNum)%MaxHeatAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(2))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(2),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow = Numbers(3)
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(3))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(3),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%CoolOutAirVolFlow       = Numbers(4)
    IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(4))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(4),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

!   only check that SA flow in cooling is >= OA flow in cooling when either or both are not autosized
    IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .AND. &
        PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' '//TRIM(cNumericFields(4))//' cannot be greater than '// &
                           TRIM(cNumericFields(1)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%HeatOutAirVolFlow       = Numbers(5)
    IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%HeatOutAirVolFlow.NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(5))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(5),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

!   only check that SA flow in heating is >= OA flow in heating when either or both are not autosized
    IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .AND. &
        PTUnit(PTUnitNum)%HeatOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' '//TRIM(cNumericFields(5))//' cannot be greater than '// &
                           TRIM(cNumericFields(2)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow = Numbers(6)
    IF (PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cNumericFields(6))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(6),7)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    !set minimum OA to something low because its not an input for PTACs
    PTUnit(PTUnitNum)%MinOATCompressor = -100.0D0

!   only check that SA flow when compressor is OFF is >= OA flow when compressor is OFF after fan mode is read in

    PTUnit(PTUnitNum)%FanType                 = Alphas(7)
    PTUnit(PTUnitNum)%FanName                 = Alphas(8)

    ! Get the fan's availabitlity schedule
    ErrFlag=.FALSE.
    PTUnit(PTUnitNum)%FanAvailSchedPtr = GetFanAvailSchPtr(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
    IF (ErrFlag) THEN
      CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound=.TRUE.
    ENDIF

    CALL ValidateComponent(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,IsNotOK,TRIM(CurrentModuleObject))
    IF (IsNotOK) THEN
      CALL ShowContinueError('In '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound=.TRUE.
    ENDIF
    ErrFlag = .FALSE.
    CALL GetFanType(PTUnit(PTUnitNum)%FanName,PTUnit(PTUnitNum)%FanType_Num,ErrFlag,CurrentModuleObject,PTUnit(PTUnitNum)%Name)
    FanVolFlow = 0.d0
    IF(ErrFlag)THEN
      CALL ShowContinueError('...specified in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                        ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      ErrorsFound = .TRUE.
    ELSE
      CALL GetFanIndex(PTUnit(PTUnitNum)%FanName,PTUnit(PTUnitNum)%FanIndex,ErrFlag,CurrentModuleObject)
      FanInletNodeNum = GetFanInletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
      FanOutletNodeNum = GetFanOutletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
      CALL GetFanVolFlow(PTUnit(PTUnitNum)%FanIndex,FanVolFlow)
      PTUnit(PTUnitNum)%ActualFanVolFlowRate = FanVolFlow
    END IF

    IF(FanVolFlow .NE. AutoSize)THEN
      IF(FanVolFlow .LT. MAX(PTUnit(PTUnitNum)%MaxCoolAirVolFlow, &
                             PTUnit(PTUnitNum)%MaxHeatAirVolFlow, &
                             PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow))THEN
        CALL ShowWarningError(TRIM(CurrentModuleObject)//' - air flow rate = '//TRIM(TrimSigDigits(FanVolFlow,7))// &
              ' in fan object '//TRIM(PTUnit(PTUnitNum)%FanName)//' is less than the maximum PTHP supply air flow rate.')
        CALL ShowContinueError(' The fan flow rate must be greater than the PTHP maximum supply air flow rate.')
        CALL ShowContinueError(' Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
        ErrorsFound = .TRUE.
      END IF
    END IF

!   Name is currently used in CALL to Sim routines, can't get rid of the character string at this time.
    PTUnit(PTUnitNum)%ACHeatCoilName = Alphas(10)
    ACHeatCoilName                   = Alphas(10)


    IF (SameString(Alphas(9),'Coil:Heating:Gas') .OR. &
       SameString(Alphas(9),'Coil:Heating:Electric') .OR. &
       SameString(Alphas(9),'Coil:Heating:Water') .OR. &
       SameString(Alphas(9),'Coil:Heating:Steam') ) THEN
       PTUnit(PTUnitNum)%ACHeatCoilType = Alphas(9)
       IF (SameString(Alphas(9),'Coil:Heating:Gas') .OR. SameString(Alphas(9),'Coil:Heating:Electric')) THEN
         IF(SameString(Alphas(9),'Coil:Heating:Gas'))PTUnit(PTUnitNum)%ACHeatCoilType_Num = Coil_HeatingGas
         IF(SameString(Alphas(9),'Coil:Heating:Electric'))PTUnit(PTUnitNum)%ACHeatCoilType_Num = Coil_HeatingElectric
         PTUnit(PTUnitNum)%ACHeatCoilCap = GetHeatingCoilCapacity(PTUnit(PTUnitNum)%ACHeatCoilType,ACHeatCoilName,ErrorsFound)
         ErrFlag = .FALSE.
         HeatCoilInletNodeNum = GetHeatingCoilInletNode(PTUnit(PTUnitNum)%ACHeatCoilType,ACHeatCoilName,ErrFlag)
         HeatCoilOutletNodeNum = GetHeatingCoilOutletNode(PTUnit(PTUnitNum)%ACHeatCoilType,ACHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
           ErrorsFound = .TRUE.
         END IF
       ELSEIF (SameString(Alphas(9),'Coil:Heating:Water')) THEN
         PTUnit(PTUnitNum)%ACHeatCoilType_Num = Coil_HeatingWater
         ErrFlag = .FALSE.
         PTUnit(PTUnitNum)%HotWaterControlNode = GetCoilWaterInletNode('Coil:Heating:Water',  &
                                                 ACHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow = GetCoilMaxWaterFlowRate('Coil:Heating:Water',  &
                                                 ACHeatCoilName,ErrFlag)
         IF(PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow .GT. 0.0d0)THEN
           PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow = GetCoilMaxWaterFlowRate('Coil:Heating:Water',  &
                                                    ACHeatCoilName,ErrFlag)
         END IF
         HeatCoilInletNodeNum = GetWaterCoilInletNode('Coil:Heating:Water',ACHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HWCoilAirInletNode = HeatCoilInletNodeNum
         HeatCoilOutletNodeNum = GetWaterCoilOutletNode('Coil:Heating:Water', &
                                                         PTUnit(PTUnitNum)%ACHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
           ErrorsFound = .TRUE.
         END IF
       ELSEIF (SameString(Alphas(9),'Coil:Heating:Steam')) THEN
         PTUnit(PTUnitNum)%ACHeatCoilType_Num = Coil_HeatingSteam
         ErrFlag = .FALSE.
         PTUnit(PTUnitNum)%ACHeatCoilIndex      = GetSTeamCoilIndex(Alphas(9),ACHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HWCoilAirInletNode   = GetSteamCoilAirInletNode(PTUnit(PTUnitNum)%ACHeatCoilIndex,ACHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HWCoilSteamInletNode = GetSteamCoilSteamInletNode(PTUnit(PTUnitNum)%ACHeatCoilIndex,ACHeatCoilName, &
                                                  ErrFlag)
         PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow = GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%ACHeatCoilIndex,ErrFlag)
         SteamIndex = 0 ! Function GetSatDensityRefrig will look up steam index if 0 is passed
         SteamDensity=GetSatDensityRefrig("STEAM",TempSteamIn,1.0d0,SteamIndex,'GetPackagedTerminalHeatPumpInput')
         IF(PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow .GT. 0.0d0)THEN
           PTUnit(PTUnitNum)%MaxHeatCoilFluidFlow = &
                              GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%ACHeatCoilIndex,ErrFlag) * SteamDensity
         END IF
         HeatCoilInletNodeNum = PTUnit(PTUnitNum)%HWCoilAirInletNode
         HeatCoilOutletNodeNum = GetSteamCoilAirOutletNode(PTUnit(PTUnitNum)%ACHeatCoilIndex,ACHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
           ErrorsFound = .TRUE.
         END IF
         IF(GetTypeOfCoil(PTUnit(PTUnitNum)%ACHeatCoilIndex,ACHeatCoilName,ErrFlag) /= ZoneLoadControl)THEN
           IF(ErrFlag)THEN
             CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
             ErrorsFound = .TRUE.
           END IF
           CALL ShowSevereError(TRIM(CurrentModuleObject)//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Steam coil type of control must be set to ZoneLoadControl in the heating coil = ' &
                           //'Coil:Heating:Steam "'//TRIM(ACHeatCoilName)//'"')
           ErrorsFound=.TRUE.
         END IF
       END IF
    ELSE
      CALL ShowWarningError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(9))//' = '//TRIM(Alphas(9)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%HeatConvergenceTol      = 0.001d0
    PTUnit(PTUnitNum)%DXCoolCoilName          = Alphas(12)

    IF(SameString(Alphas(11),'Coil:Cooling:DX:SingleSpeed') .OR. &
       SameString(Alphas(11),'CoilSystem:Cooling:DX:HeatExchangerAssisted')) THEN
       PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
       IF (SameString(Alphas(11),'Coil:Cooling:DX:SingleSpeed')) THEN
         PTUnit(PTUnitNum)%DXCoolCoilType_Num = CoilDX_CoolingSingleSpeed
         ErrFlag = .FALSE.
         CALL GetDXCoolCoilIndex(PTUnit(PTUnitNum)%DXCoolCoilName,PTUnit(PTUnitNum)%DXCoolCoilIndexNum, &
                              ErrFlag, PTUnit(PTUnitNum)%DXCoolCoilType)
         CoolCoilInletNodeNum = GetDXCoilInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         CoolCoilOutletNodeNum = GetDXCoilOutletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         PTUnit(PTUnitNum)%CondenserNodeNum = &
                         GetCoilCondenserInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
           ErrorsFound = .TRUE.
         END IF
       ELSEIF (SameString(Alphas(11),'CoilSystem:Cooling:DX:HeatExchangerAssisted')) THEN
         PTUnit(PTUnitNum)%DXCoolCoilType_Num = CoilDX_CoolingHXAssisted
         ErrFlag = .FALSE.
         CALL GetDXCoolCoilIndex( &
               GetHXDXCoilName(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag), &
               PTUnit(PTUnitNum)%DXCoolCoilIndexNum, ErrFlag, 'Coil:Cooling:DX:SingleSpeed')
         CoolCoilInletNodeNum = GetHXDXCoilInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         CoolCoilOutletNodeNum = GetHXDXCoilOutletNode(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
         PTUnit(PTUnitNum)%CondenserNodeNum = GetCoilCondenserInletNode('Coil:Cooling:DX:SingleSpeed', &
                        GetHXDXCoilName(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag),ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                             ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
           ErrorsFound = .TRUE.
         END IF
       END IF
   ELSE IF (SameString(Alphas(11), 'COIL:COOLING:DX:VARIABLESPEED') )THEN
      PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
      PTUnit(PTUnitNum)%DXCoolCoilType_Num = Coil_CoolingAirToAirVariableSpeed
      PTUnit(PTUnitNum)%DXCoolCoilName = Alphas(12)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXCoolCoilIndexNum = GetCoilIndexVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        CoolCoilInletNodeNum=GetCoilInletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                          PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        CoolCoilOutletNodeNum=GetCoilOutletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                            PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        PTUnit(PTUnitNum)%CondenserNodeNum = GetVSCoilCondenserInletNode(PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)

        IF(ErrFlag)CALL ShowContinueError('...occurs in '//TRIM(PTUnit(PTUnitNum)%UnitType)// &
                                           ' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      ENDIF
    ELSE
      CALL ShowWarningError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(11))//' = '//TRIM(Alphas(11)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    IF (SameString(Alphas(13),'BlowThrough'))  PTUnit(PTUnitNum)%FanPlace = BlowThru
    IF (SameString(Alphas(13),'DrawThrough'))  PTUnit(PTUnitNum)%FanPlace = DrawThru
!   default to draw through if not specified in input
    IF (lAlphaBlanks(13))           PTUnit(PTUnitNum)%FanPlace = DrawThru
    IF (PTUnit(PTUnitNum)%FanPlace .EQ. 0) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(13))//' = '//TRIM(Alphas(13)))
      CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
      ErrorsFound = .TRUE.
    END IF

    ! Check component placement
    IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! PTUnit inlet node must be the same as a zone exhaust node and the OA Mixer return node
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Air Conditioners air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Air Conditioners inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check OA Mixer return node
      IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                       '" Air Conditioners air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
        CALL ShowContinueError('..PTUnit air inlet node name            = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
        ErrorsFound=.TRUE.
      END IF
      ! Fan inlet node name must be the same as the heat pump's OA mixer mixed air node name
      IF (OANodeNums(4) /= FanInletNodeNum) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                             '" Fan inlet node name must be the same as the air conditioners')
        CALL ShowContinueError('OutdoorAir:Mixer mixed air node name when blow through '// &
                               TRIM(cAlphaFields(13))//' is specified.')
        CALL ShowContinueError('..Fan inlet node name                   = '//TRIM(NodeID(FanInletNodeNum)))
        CALL ShowContinueError('..OutdoorAir:Mixer mixed air node name = '//TRIM(NodeID(OANodeNums(4))))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilInletNodeNum /= FanOutletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Fan outlet node name must be the same as the cooling coil')
        CALL ShowContinueError(' inlet node name when blow through '//TRIM(cAlphaFields(12))//' is specified.')
        CALL ShowContinueError('..Fan outlet node name         = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Cooling coil inlet node name = '//TRIM(NodeID(CoolCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" 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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heating coil outlet node name must be the same as the air conditioners outlet')
        CALL ShowContinueError(' node name when blow through '//TRIM(cAlphaFields(12))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name      = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Air conditioners outlet node name  = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Air Conditioners air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Air Conditioners outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ELSE ! draw through fan from IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! PTUnit inlet node must be the same as a zone exhaust node and the OA Mixer return node
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Air Conditioners air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Air Conditioners inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check OA Mixer return node
      IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                      '" Air Conditioners air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
        CALL ShowContinueError('..Air Conditioner air inlet node name   = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
        ErrorsFound=.TRUE.
      END IF
      ! cooling coil inlet node name must be the same as the OA mixers mixed air node name
      IF(CoolCoilInletNodeNum /= OANodeNums(4))THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" OutdoorAir:Mixer mixed air node name must be the same as the cooling coil')
        CALL ShowContinueError(' inlet node name when draw through '//TRIM(cAlphaFields(13))//' is specified.')
        CALL ShowContinueError('..OutdoorAir:Mixer mixed air name = '//TRIM(NodeID(OANodeNums(4))))
        CALL ShowContinueError('..Cooling coil inlet node name     = '//TRIM(NodeID(CoolCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" 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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= FanInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Heating coil outlet node name must be the same as the fan inlet node name')
        CALL ShowContinueError(' when blow through '//TRIM(cAlphaFields(13))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Fan inlet node name           = '//TRIM(NodeID(FanInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF (FanOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Fan outlet node name must be the same')
        CALL ShowContinueError('as the air conditioners outlet node name when draw through '// &
                               TRIM(cAlphaFields(13))//' is specified.')
        CALL ShowContinueError('..Fan outlet node  name             = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Air conditioners outlet node name = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" Air Conditionerss air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Air Conditioners outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ENDIF ! IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN

    PTUnit(PTUnitNum)%FanSchedPtr     = GetScheduleIndex(Alphas(14))
    IF (.NOT. lAlphaBlanks(14) .AND. PTUnit(PTUnitNum)%FanSchedPtr == 0) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" '//TRIM(cAlphaFields(14))//' not found: '//TRIM(Alphas(14)))
      ErrorsFound=.TRUE.
    ELSEIF (lAlphaBlanks(14)) THEN
!     default to cycling fan if not specified in input
      PTUnit(PTUnitNum)%OpMode = CycFanCycCoil
    ENDIF

    IF (.NOT. lAlphaBlanks(15)) THEN
      PTUnit(PTUnitNum)%AvailManagerListName = Alphas(15)
      ZoneComp(PkgTermACAirToAir_Num)%ZoneCompAvailMgrs(PTUnitNum)%AvailManagerListName  = Alphas(15)
    ENDIF
!   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 = ContFanCycCoil
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .EQ. 0.0d0) THEN
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOnFlow
    ELSE
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOffFlow
    END IF

!   Initialize last mode of compressor operation
    PTUnit(PTUnitNum)%LastMode = HeatingMode

    IF (SameString(PTUnit(PTUnitNum)%FanType, 'Fan:OnOff') .OR. &
        SameString(PTUnit(PTUnitNum)%FanType, 'Fan:ConstantVolume'))THEN
      IF(PTUnit(PTUnitNum)%FanSchedPtr .GT. 0 .AND. SameString(PTUnit(PTUnitNum)%FanType,'Fan:ConstantVolume'))THEN
        IF (.NOT. CheckScheduleValueMinMax(PTUnit(PTUnitNum)%FanSchedPtr,'>',0.0d0,'<=',1.0d0)) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('Fan operating mode must be continuous (fan operating mode schedule values > 0)'//&
                                 ' for supply fan type Fan:ConstantVolume.')
          CALL ShowContinueError('Error found in '//TRIM(cAlphaFields(14))//' = '//TRIM(Alphas(14)))
          CALL ShowContinueError('schedule values must be (>0., <=1.)')
          ErrorsFound=.TRUE.
        ELSEIF(PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .AND. &
          PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .NE. AutoSize .AND.   &
          PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize .AND. &
          PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. 0.0d0) THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('Outdoor air flow rate when compressor is off cannot be greater than ' &
                         //'supply air flow rate when compressor is off')
          ErrorsFound = .TRUE.
        END IF
      END IF
    ELSE
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      CALL ShowContinueError(TRIM(cAlphaFields(8))//' "'//TRIM(PTUnit(PTUnitNum)%FanName)//&
                    '" must be type Fan:OnOff or Fan:ConstantVolume.')
      ErrorsFound=.TRUE.
    END IF

    IF (PTUnit(PTUnitNum)%DXCoolCoilType_Num == Coil_CoolingAirToAirVariableSpeed) THEN
      ErrFlag=.FALSE.
      PTUnit(PTUnitNum)%DesignCoolingCapacity =   &
         GetCoilCapacityVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
      IF (ErrFlag) THEN
        CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
        ErrorsFound=.TRUE.
      ENDIF
    ENDIF

    CompSetFanInlet   = NodeID(FanInletNodeNum)
    CompSetFanOutlet  = NodeID(FanOutletNodeNum)
    CompSetCoolInlet  = NodeID(CoolCoilInletNodeNum)
    CompSetCoolOutlet = NodeID(CoolCoilOutletNodeNum)
    CompSetHeatInlet  = NodeID(HeatCoilInletNodeNum)
    CompSetHeatOutlet = NodeID(HeatCoilOutletNodeNum)

    ! Add fan to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                       PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName, &
                       NodeID(FanInletNodeNum),NodeID(FanOutletNodeNum))

    ! Add cooling coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                       PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName, &
                       NodeID(CoolCoilInletNodeNum),NodeID(CoolCoilOutletNodeNum))

    ! Add heating coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                       PTUnit(PTUnitNum)%ACHeatCoilType,ACHeatCoilName, &
                       NodeID(HeatCoilInletNodeNum),NodeID(HeatCoilOutletNodeNum))

    IF(PTUnit(PTUnitNum)%UnitType_Num .EQ. PTACUnit)THEN
      IF (PTUnit(PTUnitNum)%ACHeatCoilType_Num == Coil_HeatingWater) THEN
        ! Add heating coil water inlet node as actuator node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HotWaterControlNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                              PTUnit(PTUnitNum)%Name,NodeType_Water,NodeConnectionType_Actuator,1,ObjectIsParent)
      ELSEIF (PTUnit(PTUnitNum)%ACHeatCoilType_Num == Coil_HeatingSteam) THEN
        ! Add heating coil steam inlet node as actualtor node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HWCoilSteamInletNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                             PTUnit(PTUnitNum)%Name, NodeType_Steam,NodeConnectionType_Actuator,1,ObjectIsParent)
      END IF
    END IF

    ! Set up component set for OA mixer - use OA node and Mixed air node
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                       PTUnit(PTUnitNum)%OAMixType,PTUnit(PTUnitNum)%OAMixName,NodeID(OANodeNums(1)),NodeID(OANodeNums(4)))
  END DO


!***********************************************************************************


  DO PTUnitIndex = 1,NumPTWSHP

    FanInletNodeNum       = 0
    FanOutletNodeNum      = 0
    CoolCoilInletNodeNum  = 0
    CoolCoilOutletNodeNum = 0
    HeatCoilInletNodeNum  = 0
    HeatCoilOutletNodeNum = 0
    SuppHeatInletNodeNum  = 0
    SuppHeatOutletNodeNum = 0
    SuppHeatHWInletNodeNum = 0
    SuppHeatHWOutletNodeNum = 0
    OANodeNums = 0

    CurrentModuleObject = 'ZoneHVAC:WaterToAirHeatPump'
    CALL GetObjectItem(CurrentModuleObject,PTUnitIndex,Alphas,NumAlphas,Numbers,NumNumbers,IOStatus, &
                       NumBlank=lNumericBlanks,AlphaBlank=lAlphaBlanks, &
                       AlphaFieldNames=cAlphaFields,NumericFieldNames=cNumericFields)

    PTUnitNum = PTUnitIndex + NumPTHP + NumPTAC
    IsNotOK=.FALSE.
    IsBlank=.FALSE.
    CALL VerifyName(Alphas(1),PTUnit%Name,PTUnitNum-1,IsNotOK,IsBlank,TRIM(CurrentModuleObject)//' Name')
    PTUnit(PTUnitNum)%PTObjectIndex = PTUnitIndex
    IF (IsNotOK) THEN
      ErrorsFound=.TRUE.
      IF (IsBlank) Alphas(1)='xxxxx'
    ENDIF
    PTUnit(PTUnitNum)%Name = Alphas(1)
    PTUnit(PTUnitNum)%UnitType = CurrentModuleObject
    PTUnit(PTUnitNum)%UnitType_Num = PTWSHPUnit
    PTUnit(PTUnitNum)%ZoneEquipType = PkgTermHPWaterToAir_Num
    IF (lAlphaBlanks(2)) THEN
      PTUnit(PTUnitNum)%SchedPtr     = ScheduleAlwaysOn
    ELSE
      PTUnit(PTUnitNum)%SchedPtr     = GetScheduleIndex(Alphas(2))
      IF (PTUnit(PTUnitNum)%SchedPtr == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'" invalid data.')
        CALL ShowContinueError('invalid-not found '//TRIM(cAlphaFields(2))//'="'//TRIM(Alphas(2))//'".')
        ErrorsFound=.TRUE.
      ENDIF
    ENDIF


    PTUnit(PTUnitNum)%AirInNode = &
               GetOnlySingleNode(Alphas(3),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Inlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%AirOutNode = &
               GetOnlySingleNode(Alphas(4),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                            NodeType_Air,NodeConnectionType_Outlet,1,ObjectIsParent)

    PTUnit(PTUnitNum)%OAMixType = Alphas(5)
    PTUnit(PTUnitNum)%OAMixName  = Alphas(6)

    ErrFlag = .false.
    CALL ValidateComponent(PTUnit(PTUnitNum)%OAMixType,PTUnit(PTUnitNum)%OAMixName,ErrFlag,TRIM(CurrentModuleObject))
    IF (ErrFlag) THEN
       CALL ShowContinueError('specified in '//TRIM(CurrentModuleObject)//' = "'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
       ErrorsFound = .TRUE.
    ELSE
      ! OANodeNums = outside air mixer node numbers, OANodeNums(4) = outside air mixer mixed air node
      OANodeNums = GetOAMixerNodeNumbers(PTUnit(PTUnitNum)%OAMixName, ErrFlag)
      IF(ErrFlag) THEN
        CALL ShowContinueError('that was specified in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
        CALL ShowContinueError('..OutdoorAir:Mixer is required. Enter an OutdoorAir:Mixer object with this name.')
        ErrorsFound=.true.
      ELSE
           !  Set connection type to 'Inlet', because this is not necessarily directly come from
           !  outside air.  Outside Air Inlet Node List will set the connection to outside air
        PTUnit(PTUnitNum)%OutsideAirNode = OANodeNums(1)
        PTUnit(PTUnitNum)%AirReliefNode = OANodeNums(2)
      ENDIF
    END IF

    !Get fan data
    PTUnit(PTUnitNum)%FanType = Alphas(7)
    PTUnit(PTUnitNum)%FanName = Alphas(8)
    ErrFlag=.FALSE.
    CALL GetFanType(TRIM(PTUnit(PTUnitNum)%FanName), PTUnit(PTUnitNum)%FanType_Num, ErrFlag, CurrentModuleObject,Alphas(1))
    FanVolFlow = 0.d0
    IF (ErrFlag) THEN
      CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
      ErrorsFound=.TRUE.
    END IF

    IF (PTUnit(PTUnitNum)%FanType_Num == FanType_SimpleOnOff)THEN
      CALL ValidateComponent(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,IsNotOK, TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag=.FALSE.
        CALL GetFanIndex(PTUnit(PTUnitNum)%FanName, PTUnit(PTUnitNum)%FanIndex, ErrFlag)
        IF (ErrFlag) THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        ENDIF
        ErrFlag=.FALSE.
        FanInletNodeNum  = GetFanInletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
        IF (ErrFlag) THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        ENDIF
        ErrFlag=.FALSE.
        FanOutletNodeNum = GetFanOutletNode(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
        IF (ErrFlag) THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        ELSE
          CALL GetFanVolFlow(PTUnit(PTUnitNum)%FanIndex,FanVolFlow)
          PTUnit(PTUnitNum)%ActualFanVolFlowRate = FanVolFlow
        ENDIF
        ErrFlag=.FALSE.
        PTUnit(PTUnitNum)%FanAvailSchedPtr = GetFanAvailSchPtr(PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,ErrFlag)
        IF (ErrFlag) THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
    ELSE
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(7))//'="'//TRIM(Alphas(7))//'".')
      ErrorsFound=.TRUE.
    END IF


    !Get heating coil type and name data
    IF (Alphas(9) == 'COIL:HEATING:WATERTOAIRHEATPUMP:EQUATIONFIT' )THEN
      PTUnit(PTUnitNum)%DXHeatCoilType = Alphas(9)
      PTUnit(PTUnitNum)%DXHeatCoilType_Num = Coil_HeatingWaterToAirHPSimple
      PTUnit(PTUnitNum)%DXHeatCoilName = Alphas(10)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXHeatCoilIndex = GetWtoAHPSimpleCoilIndex(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                                     PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        HeatCoilInletNodeNum=GetWtoAHPSimpleCoilInletNode(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                          PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        HeatCoilOutletNodeNum=GetWtoAHPSimpleCoilOutletNode(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                            PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
      ENDIF
    ELSE IF (Alphas(9) == 'COIL:HEATING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT' )THEN
      PTUnit(PTUnitNum)%DXHeatCoilType = Alphas(9)
      PTUnit(PTUnitNum)%DXHeatCoilType_Num = Coil_HeatingWaterToAirHPVSEquationFit
      PTUnit(PTUnitNum)%DXHeatCoilName = Alphas(10)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXHeatCoilIndex = GetCoilIndexVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                                     PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        HeatCoilInletNodeNum=GetCoilInletNodeVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                          PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
        HeatCoilOutletNodeNum=GetCoilOutletNodeVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType, &
                                                            PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
      ENDIF
    ELSE
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(9))//' = '//TRIM(Alphas(9)))
      ErrorsFound=.TRUE.
    END IF

    ! Get Cooling Coil Information if available
    IF (Alphas(11) == 'COIL:COOLING:WATERTOAIRHEATPUMP:EQUATIONFIT' )THEN
      PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
      PTUnit(PTUnitNum)%DXCoolCoilType_Num = Coil_CoolingWaterToAirHPSimple
      PTUnit(PTUnitNum)%DXCoolCoilName = Alphas(12)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXCoolCoilIndexNum = GetWtoAHPSimpleCoilIndex(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        CoolCoilInletNodeNum=GetWtoAHPSimpleCoilInletNode(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                          PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        CoolCoilOutletNodeNum=GetWtoAHPSimpleCoilOutletNode(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                            PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
      ENDIF
    ELSE IF (Alphas(11) == 'COIL:COOLING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT' )THEN
      PTUnit(PTUnitNum)%DXCoolCoilType = Alphas(11)
      PTUnit(PTUnitNum)%DXCoolCoilType_Num = Coil_CoolingWaterToAirHPVSEquationFit
      PTUnit(PTUnitNum)%DXCoolCoilName = Alphas(12)
      CALL ValidateComponent(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,IsNotOK,  &
                             TRIM(CurrentModuleObject))
      IF (IsNotOK) THEN
        CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
        ErrorsFound=.TRUE.
      ELSE
        ErrFlag = .FALSE.
        PTUnit(PTUnitNum)%DXCoolCoilIndexNum = GetCoilIndexVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType, &
                                                                        PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        IF(ErrFlag)THEN
          CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'".')
          ErrorsFound=.TRUE.
        END IF
        CoolCoilInletNodeNum=GetCoilInletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                          PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
        CoolCoilOutletNodeNum=GetCoilOutletNodeVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,  &
                                                            PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
      ENDIF
    ELSE
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(11))//'="'//TRIM(Alphas(11))//'".')
      ErrorsFound=.TRUE.
    END IF

    IF (NumAlphas >= 19) THEN
      ! get water flow mode info before calling SetSimpleWSHPData
      IF (SameString(Alphas(19),'Constant')) PTUnit(PTUnitNum)%WaterCyclingMode = WaterConstant
      IF (SameString(Alphas(19),'Cycling')) PTUnit(PTUnitNum)%WaterCyclingMode = WaterCycling
      IF (SameString(Alphas(19),'ConstantOnDemand'))   PTUnit(PTUnitNum)%WaterCyclingMode = WaterConstantOnDemand
         !default to draw through if not specified in input
      IF (lAlphaBlanks(19))           PTUnit(PTUnitNum)%WaterCyclingMode = WaterCycling
      IF (PTUnit(PTUnitNum)%WaterCyclingMode .EQ. 0) THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(19))//' = '//TRIM(Alphas(19)))
        CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
        ErrorsFound = .TRUE.
      END IF
    ELSE
      PTUnit(PTUnitNum)%WaterCyclingMode = WaterCycling
    ENDIF

      ! end get water flow mode info
    IF (Alphas(9) == 'COIL:HEATING:WATERTOAIRHEATPUMP:EQUATIONFIT' .AND.   &
        Alphas(11) == 'COIL:COOLING:WATERTOAIRHEATPUMP:EQUATIONFIT') THEN
      IF(PTUnit(PTUnitNum)%DXHeatCoilIndex .GT. 0 .AND. PTUnit(PTUnitNum)%DXCoolCoilIndexNum .GT. 0)THEN
         CALL SetSimpleWSHPData(PTUnit(PTUnitNum)%DXCoolCoilIndexNum,ErrorsFound,PTUnit(PTUnitNum)%WaterCyclingMode,  &
                                CompanionHeatingCoilNum=PTUnit(PTUnitNum)%DXHeatCoilIndex)
!         CALL SetSimpleWSHPData(PTUnit(PTUnitNum)%WaterCyclingMode, PTUnit(PTUnitNum)%DXHeatCoilIndex,ErrorsFound, &
!                                CompanionCoolingCoilNum=PTUnit(PTUnitNum)%DXCoolCoilIndexNum)
      END IF
    ELSE IF (Alphas(9) == 'COIL:HEATING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT' .AND.   &
        Alphas(11) == 'COIL:COOLING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT') THEN
      IF(PTUnit(PTUnitNum)%DXHeatCoilIndex .GT. 0 .AND. PTUnit(PTUnitNum)%DXCoolCoilIndexNum .GT. 0)THEN
         CALL SetVarSpeedCoilData(PTUnit(PTUnitNum)%DXCoolCoilIndexNum,ErrorsFound, &
                                CompanionHeatingCoilNum=PTUnit(PTUnitNum)%DXHeatCoilIndex)
      END IF
    ELSE
      CALL ShowContinueError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
      CALL ShowContinueError('Cooling coil and heating coil should use the equation fit model and be of same general type')
      ErrorsFound = .TRUE.
    END IF

    ! Get supplemental heating coil information

    SuppHeatCoilType = Alphas(13)
    SuppHeatCoilName = Alphas(14)
    PTUnit(PTUnitNum)%SuppHeatCoilName     = SuppHeatCoilName
    IF (SameString(Alphas(13),'Coil:Heating:Gas')      .OR. &
        SameString(Alphas(13),'Coil:Heating:Electric') .OR. &
        SameString(Alphas(13),'Coil:Heating:Water')    .OR. &
        SameString(Alphas(13),'Coil:Heating:Steam')) THEN
        PTUnit(PTUnitNum)%SuppHeatCoilType=SuppHeatCoilType
       IF (SameString(Alphas(13),'Coil:Heating:Gas') .OR. SameString(Alphas(13),'Coil:Heating:Electric')) THEN
         IF (SameString(Alphas(13),'Coil:Heating:Gas')) THEN
            PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingGas
         ELSEIF (SameString(Alphas(13),'Coil:Heating:Electric')) THEN
            PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingElectric
         ENDIF
         ErrFlag = .FALSE.
         CALL ValidateComponent(SuppHeatCoilType,SuppHeatCoilName,ErrFlag,  &
                                TRIM(CurrentModuleObject))
         IF (ErrFlag) THEN
           CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
           ErrorsFound=.TRUE.
         ELSE
           CALL GetHeatingCoilIndex(SuppHeatCoilName,PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag)
           ! Get the Supplemental Heating Coil Node Numbers
           SuppHeatInletNodeNum = &
               GetHeatingCoilInletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
           SuppHeatOutletNodeNum = &
               GetHeatingCoilOutletNode(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
           IF (ErrFlag) THEN
             CALL ShowContinueError('...specified in '//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'".')
             ErrorsFound=.TRUE.
           ENDIF
        ENDIF
       ELSEIF (SameString(Alphas(13),'Coil:Heating:Water')) THEN
         PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingWater
         ErrFlag = .FALSE.
         SuppHeatHWInletNodeNum = GetCoilWaterInletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HotWaterControlNode = SuppHeatHWInletNodeNum
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
         PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxWaterFlowRate(SuppHeatCoilType,  &
                                                  PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow .GT. 0.0d0)THEN
            PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxWaterFlowRate(SuppHeatCoilType,  &
                                                     PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         END IF
         ErrFlag = .FALSE.
         SuppHeatInletNodeNum =  GetWaterCoilInletNode('Coil:Heating:Water',PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%SupCoilAirInletNode = SuppHeatInletNodeNum
         SuppHeatOutletNodeNum = GetWaterCoilOutletNode('Coil:Heating:Water', &
                                                        PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF

       ELSEIF (SameString(Alphas(13),'Coil:Heating:Steam')) THEN
         PTUnit(PTUnitNum)%SuppHeatCoilType_Num = Coil_HeatingSteam
         ErrFlag = .FALSE.
         PTUnit(PTUnitNum)%SuppHeatCoilIndex = GetSTeamCoilIndex(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF (PTUnit(PTUnitNum)%SuppHeatCoilIndex .EQ. 0) THEN
             CALL ShowSevereError(TRIM(CurrentModuleObject)//' illegal '//TRIM(cAlphaFields(14))//' = ' &
                           //TRIM(PTUnit(PTUnitNum)%SuppHeatCoilName))
             CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
             ErrorsFound = .TRUE.
         END IF
         ErrFlag = .FALSE.
         SuppHeatHWInletNodeNum = GetSteamCoilSteamInletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%HWCoilSteamInletNode = SuppHeatHWInletNodeNum
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
         PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag)
         IF(PTUnit(PTUnitNum)%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,'GetPackagedTerminalHeatPumpInput')
            PTUnit(PTUnitNum)%MaxSuppCoilFluidFlow = &
                              GetCoilMaxSteamFlowRate(PTUnit(PTUnitNum)%SuppHeatCoilIndex,ErrFlag) * SteamDensity
         END IF
         ErrFlag = .FALSE.
         SuppHeatInletNodeNum = &
            GetSteamCoilAirInletNode(PTUnit(PTUnitNum)%SuppHeatCoilIndex,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         PTUnit(PTUnitNum)%SupCoilAirInletNode = SuppHeatInletNodeNum
         SuppHeatOutletNodeNum = GetSteamCoilAirOutletNode(SuppHeatCoilType,PTUnit(PTUnitNum)%SuppHeatCoilName,ErrFlag)
         IF(ErrFlag)THEN
           CALL ShowContinueError('Occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(PTUnit(PTUnitNum)%Name))
           ErrorsFound = .TRUE.
         END IF
       END IF
    ELSE
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(13))//' = '//TRIM(Alphas(13)))
      ErrorsFound=.TRUE.
    END IF

    IF (lAlphaBlanks(15)) THEN
      PTUnit(PTUnitNum)%CondenserNodeNum = 0
    ELSE
      PTUnit(PTUnitNum)%CondenserNodeNum = &
              GetOnlySingleNode(Alphas(15),ErrorsFound,TRIM(CurrentModuleObject),Alphas(1), &
                                NodeType_Air,NodeConnectionType_OutsideAirReference,1,ObjectIsNotParent)
     ! need better verification.
     IF (.not. CheckOutAirNodeNumber(PTUnit(PTUnitNum)%CondenserNodeNum)) THEN
       CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
       CALL ShowContinueError(' Node name of outdoor dry-bulb temperature sensor not valid outdoor air node="'//  &
          TRIM(Alphas(15))//'"')
       CALL ShowContinueError('...does not appear in an OutdoorAir:NodeList or as an OutdoorAir:Node.')
       ErrorsFound=.TRUE.
     END IF
    ENDIF

    IF (SameString(Alphas(16),'BlowThrough'))  PTUnit(PTUnitNum)%FanPlace = BlowThru
    IF (SameString(Alphas(16),'DrawThrough'))  PTUnit(PTUnitNum)%FanPlace = DrawThru
    IF (PTUnit(PTUnitNum)%FanPlace .EQ.0) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(Alphas(1))//'"')
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(16))//'="'//TRIM(Alphas(16))//'".')
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%FanSchedPtr     = GetScheduleIndex(Alphas(17))
    IF (.NOT. lAlphaBlanks(17) .AND. PTUnit(PTUnitNum)%FanSchedPtr == 0) THEN
      CALL ShowSevereError(TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
      CALL ShowContinueError('Illegal '//TRIM(cAlphaFields(17))//' = '//TRIM(Alphas(17)))
      ErrorsFound=.TRUE.
    ELSEIF (lAlphaBlanks(17)) THEN
      PTUnit(PTUnitNum)%OpMode = CycFanCycCoil
    ENDIF

    IF (.NOT. lAlphaBlanks(18)) THEN
      PTUnit(PTUnitNum)%AvailManagerListName = Alphas(18)
      ZoneComp(PkgTermHPWaterToAir_Num)%ZoneCompAvailMgrs(PTUnitNum)%AvailManagerListName  = Alphas(18)
    ENDIF

    ! Check component placement
    IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heat Pumps air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      IF(OANodeNums(4) == 0)THEN
       ! Fan inlet node name must be the same as the heat pump's inlet air node name
        IF (PTUnit(PTUnitNum)%AirInNode /= FanInletNodeNum) THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('..Fan inlet node name must be the same as the heat pumps inlet air node name')
          CALL ShowContinueError('..when blow through '// &
                                TRIM(cAlphaFields(16))//' is specified and an outdoor air mixer is not used.')
          CALL ShowContinueError('..Fan inlet node name           = '//TRIM(NodeID(FanInletNodeNum)))
          CALL ShowContinueError('..Heat pump air inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
          ErrorsFound=.TRUE.
        END IF
      ELSE
        ! Fan inlet node name must be the same as the heat pump's OA mixer mixed air node name
        IF (OANodeNums(4) /= FanInletNodeNum) THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('..Fan inlet node name must be the same as the heat pumps OutdoorAir:Mixer mixed air node name')
          CALL ShowContinueError('..when blow through '// &
                                TRIM(cAlphaFields(16))//' is specified.')
          CALL ShowContinueError('..Fan inlet node name                   = '//TRIM(NodeID(FanInletNodeNum)))
          CALL ShowContinueError('..OutdoorAir:Mixer mixed air node name = '//TRIM(NodeID(OANodeNums(4))))
          ErrorsFound=.TRUE.
        END IF
        ! check OA Mixer return node
        IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('..Heat Pump air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
          CALL ShowContinueError('..Heat Pump air inlet node name         = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
          CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
          ErrorsFound=.TRUE.
        END IF
      END IF
      IF(CoolCoilInletNodeNum /= FanOutletNodeNum)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Fan outlet node name must be the same as the cooling coil inlet node name')
        CALL ShowContinueError('..when blow through '//TRIM(cAlphaFields(16))//' is specified.')
        CALL ShowContinueError('..Fan outlet node name         = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Cooling coil inlet node name = '//TRIM(NodeID(CoolCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" 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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= SuppHeatInletNodeNum)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heating coil outlet node name must be the same as the supplemental heating coil inlet node name')
        CALL ShowContinueError('..when blow through '//TRIM(cAlphaFields(16))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name              = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Supplemental heating coil inlet node name  = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(SuppHeatOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Supplemental heating coil outlet node name must be the same as the heat pumps outlet node name.')
        CALL ShowContinueError('..Supplemental heating coil outlet node name = '//TRIM(NodeID(SuppHeatOutletNodeNum)))
        CALL ShowContinueError('..Heat pumps outlet node name                   = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heat Pumps air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ELSE ! draw through fan from IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN
      ! check that PTUnit inlet node is a zone exhaust node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumExhaustNodes
          IF (PTUnit(PTUnitNum)%AirInNode .EQ. ZoneEquipConfig(CtrlZone)%ExhaustNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heat Pumps air inlet node name must be the same as a zone exhaust node name.')
        CALL ShowContinueError('..Zone exhaust node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
        ErrorsFound=.TRUE.
      END IF
      IF(OANodeNums(4) == 0)THEN
        ! Cooling coil inlet node name must be the same as heat pump's air inlet node name
        IF(CoolCoilInletNodeNum /= PTUnit(PTUnitNum)%AirInNode)THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('..Heat pump air inlet node name must be the same as the cooling coil inlet node name')
          CALL ShowContinueError('..when draw through '//TRIM(cAlphaFields(16))// &
                                 ' is specified and an outdoor air mixer is not used.')
          CALL ShowContinueError('..Heat pump air inlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
          CALL ShowContinueError('..Cooling coil inlet node name  = '//TRIM(NodeID(CoolCoilInletNodeNum)))
          ErrorsFound=.TRUE.
        END IF
      ELSE
        ! Cooling coil inlet node name must be the same as the OA mixers mixed air node name
        IF(CoolCoilInletNodeNum /= OANodeNums(4))THEN
          CALL ShowSevereError(TRIM(CurrentModuleObject)//' "'//TRIM(PTUnit(PTUnitNum)%Name)//&
                           '" OutdoorAir:Mixer mixed air node name must be the same as the cooling coil')
          CALL ShowContinueError(' inlet node name when draw through '//TRIM(cAlphaFields(16))//' is specified.')
          CALL ShowContinueError('..OutdoorAir:Mixer mixed air name = '//TRIM(NodeID(OANodeNums(4))))
          CALL ShowContinueError('..Cooling coil inlet node name    = '//TRIM(NodeID(CoolCoilInletNodeNum)))
          ErrorsFound=.TRUE.
        END IF
      ! check OA Mixer return node
        IF(PTUnit(PTUnitNum)%AirInNode /= OANodeNums(3))THEN
          CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
          CALL ShowContinueError('..Heat Pump air inlet node name must be the same as the OutdoorAir:Mixer return air node name.')
          CALL ShowContinueError('..Heat Pump air inlet node name         = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirInNode)))
          CALL ShowContinueError('..OutdoorAir:Mixer return air node name = '//TRIM(NodeID(OANodeNums(3))))
          ErrorsFound=.TRUE.
        END IF
      END IF
      IF(CoolCoilOutletNodeNum /= HeatCoilInletNodeNum)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..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(CoolCoilOutletNodeNum)))
        CALL ShowContinueError('..Heating coil inlet node name  = '//TRIM(NodeID(HeatCoilInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(HeatCoilOutletNodeNum /= FanInletNodeNum)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heating coil outlet node name must be the same as the fan inlet node name')
        CALL ShowContinueError('..when draw through '//TRIM(cAlphaFields(16))//' is specified.')
        CALL ShowContinueError('..Heating coil outlet node name = '//TRIM(NodeID(HeatCoilOutletNodeNum)))
        CALL ShowContinueError('..Fan inlet node name           = '//TRIM(NodeID(FanInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF (SuppHeatInletNodeNum /= FanOutletNodeNum) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Fan outlet node name must be the same as the supplemental heating coil inlet node name ')
        CALL ShowContinueError('..when draw through '//TRIM(cAlphaFields(16))//' is specified.')
        CALL ShowContinueError('..Fan outlet node = '//TRIM(NodeID(FanOutletNodeNum)))
        CALL ShowContinueError('..Supplemental heating coil inlet node = '//TRIM(NodeID(SuppHeatInletNodeNum)))
        ErrorsFound=.TRUE.
      END IF
      IF(SuppHeatOutletNodeNum /= PTUnit(PTUnitNum)%AirOutNode)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Supplemental heating coil outlet node name must be the same as the heat pumps outlet node name.')
        CALL ShowContinueError('..Supplemental heating coil outlet node name = '//TRIM(NodeID(SuppHeatOutletNodeNum)))
        CALL ShowContinueError('..Heat pumps outlet node name                = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
      ! check that PTUnit outlet node is a zone inlet node.
      ZoneNodeNotFound = .TRUE.
      DO CtrlZone = 1,NumOfZones
        IF (.not. ZoneEquipConfig(CtrlZone)%IsControlled) CYCLE
        DO NodeNum = 1,ZoneEquipConfig(CtrlZone)%NumInletNodes
          IF (PTUnit(PTUnitNum)%AirOutNode .EQ. ZoneEquipConfig(CtrlZone)%InletNode(NodeNum)) THEN
            ZoneNodeNotFound = .FALSE.
            EXIT
          END IF
        END DO
      END DO
      IF(ZoneNodeNotFound)THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..Heat Pumps air outlet node name must be the same as a zone inlet node name.')
        CALL ShowContinueError('..Zone inlet node name is specified in ZoneHVAC:EquipmentConnections object.')
        CALL ShowContinueError('..Heat pumps outlet node name = '//TRIM(NodeID(PTUnit(PTUnitNum)%AirOutNode)))
        ErrorsFound=.TRUE.
      END IF
    ENDIF ! IF (PTUnit(PTUnitNum)%FanPlace == BlowThru) THEN

    CompSetFanInlet   = NodeID(FanInletNodeNum)
    CompSetFanOutlet  = NodeID(FanOutletNodeNum)
    CompSetCoolInlet  = NodeID(CoolCoilInletNodeNum)
    CompSetCoolOutlet = NodeID(CoolCoilOutletNodeNum)
    CompSetHeatInlet  = NodeID(HeatCoilInletNodeNum)
    CompSetHeatOutlet = NodeID(HeatCoilOutletNodeNum)
    CompSetSupHeatInlet  = NodeID(SuppHeatInletNodeNum)
    CompSetSupHeatOutlet = NodeID(SuppHeatOutletNodeNum)

    ! Add fan to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%FanType,PTUnit(PTUnitNum)%FanName,CompSetFanInlet,CompSetFanOutlet)

    ! Add cooling coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,CompSetCoolInlet,CompSetCoolOutlet)

    ! Add heating coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,CompSetHeatInlet,CompSetHeatOutlet)

    ! Add supplemental heating coil to component sets array
    CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                   SuppHeatCoilType,SuppHeatCoilName,CompSetSupHeatInlet,CompSetSupHeatOutlet)

    IF(PTUnit(PTUnitNum)%UnitType_Num .EQ. PTWSHPUnit)THEN
      IF (PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingWater) THEN
        ! Add heating coil water inlet node as actuator node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HotWaterControlNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                              PTUnit(PTUnitNum)%Name,NodeType_Water,NodeConnectionType_Actuator,1,ObjectIsParent)
      ELSEIF (PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingSteam) THEN
        ! Add heating coil steam inlet node as actualtor node for coil
        TempNodeNum  = GetOnlySingleNode(NodeID(PTUnit(PTUnitNum)%HWCoilSteamInletNode),ErrorsFound,PTUnit(PTUnitNum)%UnitType, &
                             PTUnit(PTUnitNum)%Name, NodeType_Steam,NodeConnectionType_Actuator,1,ObjectIsParent)
      END IF
    END IF
    IF(OANodeNums(1) .GT. 0)THEN
    ! Set up component set for OA mixer - use OA node and Mixed air node
      CALL SetUpCompSets(PTUnit(PTUnitNum)%UnitType, PTUnit(PTUnitNum)%Name, &
                        PTUnit(PTUnitNum)%OAMixType,PTUnit(PTUnitNum)%OAMixName,NodeID(OANodeNums(1)),NodeID(OANodeNums(4)))
    END IF

     !Set the Design Fan Volume Flow Rate
     ErrFlag=.FALSE.
     CALL GetFanVolFlow(PTUnit(PTUnitNum)%FanIndex,FanVolFlow)
     PTUnit(PTUnitNum)%ActualFanVolFlowRate = FanVolFlow
     IF (ErrFlag) THEN
       CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
       ErrorsFound=.TRUE.
     ENDIF
!     PTUnit(PTUnitNum)%ActualFanVolFlowRate = MAX(Numbers(1),Numbers(2),Numbers(3))
     IF (FanVolFlow /= AutoSize .and. PTUnit(PTUnitNum)%ActualFanVolFlowRate /= AutoSize) THEN
       IF (PTUnit(PTUnitNum)%ActualFanVolFlowRate > FanVolFlow) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         CALL ShowContinueError('... has a Design Fan Flow Rate > Max Fan Volume Flow Rate, should be <=.')
         CALL ShowContinueError('... Entered value='//TRIM(RoundSigDigits(PTUnit(PTUnitNum)%ActualFanVolFlowRate,2))//  &
             '... Fan ['//TRIM(PTUnit(PTUnitNum)%FanType)//':'//TRIM(PTUnit(PTUnitNum)%FanName)//  &
             '] Max Value='//TRIM(RoundSigDigits(FanVolFlow,2)))
       ENDIF
       IF (PTUnit(PTUnitNum)%ActualFanVolFlowRate <= 0.0d0) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         CALL ShowContinueError('... has a Design Fan Flow Rate <= 0.0, it must be >0.0')
         CALL ShowContinueError('... Entered value='//TRIM(RoundSigDigits(PTUnit(PTUnitNum)%ActualFanVolFlowRate,2)))
         ErrorsFound=.TRUE.
       ENDIF
     ENDIF

    PTUnit(PTUnitNum)%MaxCoolAirVolFlow       = Numbers(1)
    IF (PTUnit(PTUnitNum)%MaxCoolAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      CALL ShowContinueError(' illegal value '//TRIM(cNumericFields(1))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(1),7)))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxHeatAirVolFlow       = Numbers(2)
    IF (PTUnit(PTUnitNum)%MaxHeatAirVolFlow .LE. 0 .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      CALL ShowContinueError(' illegal '//TRIM(cNumericFields(2))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(2),7)))
      ErrorsFound = .TRUE.
    END IF

    PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow = Numbers(3)
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .NE. AutoSize) THEN
      CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
      CALL ShowContinueError(' illegal '//TRIM(cNumericFields(3))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(3),7)))
      ErrorsFound = .TRUE.
    END IF

!   AirFlowControl only valid if fan opmode = ContFanCycCoil
    IF (PTUnit(PTUnitNum)%MaxNoCoolHeatAirVolFlow .EQ. 0.0d0) THEN
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOnFlow
    ELSE
      PTUnit(PTUnitNum)%AirFlowControl = UseCompressorOffFlow
    END IF

    IF(OANodeNums(1) .GT. 0)THEN
      PTUnit(PTUnitNum)%CoolOutAirVolFlow       = Numbers(4)
      IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError(' illegal '//TRIM(cNumericFields(4))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(4),7)))
        ErrorsFound = .TRUE.
      END IF

!     only check that SA flow in cooling is >= OA flow in cooling when either or both are not autosized
      IF (PTUnit(PTUnitNum)%CoolOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .AND. &
          PTUnit(PTUnitNum)%CoolOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxCoolAirVolFlow .NE. AutoSize) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..'//TRIM(cNumericFields(4))//' cannot be greater than '// &
                           TRIM(cNumericFields(1)))
        CALL ShowContinueError('..'//TRIM(cNumericFields(1))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(1),7)))
        CALL ShowContinueError('..'//TRIM(cNumericFields(4))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(4),7)))
        ErrorsFound = .TRUE.
      END IF

      PTUnit(PTUnitNum)%HeatOutAirVolFlow       = Numbers(5)
      IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%HeatOutAirVolFlow.NE. AutoSize) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError(' illegal '//TRIM(cNumericFields(5))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(5),7)))
        ErrorsFound = .TRUE.
      END IF

!     only check that SA flow in heating is >= OA flow in heating when either or both are not autosized
      IF (PTUnit(PTUnitNum)%HeatOutAirVolFlow .GT. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .AND. &
          PTUnit(PTUnitNum)%HeatOutAirVolFlow .NE. AutoSize .AND. PTUnit(PTUnitNum)%MaxHeatAirVolFlow .NE. AutoSize) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError('..'//TRIM(cNumericFields(5))//' cannot be greater than '// &
                             TRIM(cNumericFields(2)))
        CALL ShowContinueError('..'//TRIM(cNumericFields(2))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(2),7)))
        CALL ShowContinueError('..'//TRIM(cNumericFields(5))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(5),7)))
        ErrorsFound = .TRUE.
      END IF

      PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow = Numbers(6)
      IF (PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .LT. 0 .AND. PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow .NE. AutoSize) THEN
        CALL ShowSevereError(RoutineName//TRIM(CurrentModuleObject)//'="'//TRIM(PTUnit(PTUnitNum)%Name)//'"')
        CALL ShowContinueError(' illegal '//TRIM(cNumericFields(6))//' = ' &
                           //TRIM(TrimSigDigits(Numbers(6),7)))
        ErrorsFound = .TRUE.
      END IF
    ELSE
      PTUnit(PTUnitNum)%CoolOutAirVolFlow = 0.0d0
      PTUnit(PTUnitNum)%HeatOutAirVolFlow = 0.0d0
      PTUnit(PTUnitNum)%NoCoolHeatOutAirVolFlow = 0.0d0
      IF(.NOT. lNumericBlanks(4) .OR. .NOT. lNumericBlanks(5) .OR. .NOT. lNumericBlanks(6))THEN
      ! user entered values for OA with no outdoor air mixer name specified
        PTUnit(PTUnitNum)%CoolOutAirVolFlow = 0.0d0
      END IF
    END IF

     !Set the heat pump heating coil capacity
     !  Get from coil module.
     IF (PTUnit(PTUnitNum)%DXHeatCoilType_Num  == Coil_HeatingWaterToAirHP) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignHeatingCapacity =   &
          GetWtoAHPCoilCapacity(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)

       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         ErrorsFound=.TRUE.
       ENDIF
     ELSEIF (PTUnit(PTUnitNum)%DXHeatCoilType_Num == Coil_HeatingWaterToAirHPSimple) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignHeatingCapacity =   &
             GetWtoAHPSimpleCoilCapacity(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
            ErrorsFound=.TRUE.
       ENDIF
    ELSEIF (PTUnit(PTUnitNum)%DXHeatCoilType_Num == Coil_HeatingWaterToAirHPVSEquationFit) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignHeatingCapacity =   &
             GetCoilCapacityVariableSpeed(PTUnit(PTUnitNum)%DXHeatCoilType,PTUnit(PTUnitNum)%DXHeatCoilName,ErrFlag)
       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
            ErrorsFound=.TRUE.
       ENDIF
     ENDIF
     !Set the heat pump heating coil convergence
     PTUnit(PTUnitNum)%HeatConvergenceTol = 0.001d0
     !Set the heat pump cooling coil capacity (Total capacity)
     !  Get from coil module.
     IF (PTUnit(PTUnitNum)%DXCoolCoilType_Num  == Coil_CoolingWaterToAirHP) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignCoolingCapacity =   &
          GetWtoAHPCoilCapacity(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         ErrorsFound=.TRUE.
       ENDIF
     ELSEIF (PTUnit(PTUnitNum)%DXCoolCoilType_Num == Coil_CoolingWaterToAirHPSimple) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignCoolingCapacity =   &
          GetWtoAHPSimpleCoilCapacity(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         ErrorsFound=.TRUE.
       ENDIF
     ELSEIF (PTUnit(PTUnitNum)%DXCoolCoilType_Num == Coil_CoolingWaterToAirHPVSEquationFit) THEN
       ErrFlag=.FALSE.
       PTUnit(PTUnitNum)%DesignCoolingCapacity =   &
          GetCoilCapacityVariableSpeed(PTUnit(PTUnitNum)%DXCoolCoilType,PTUnit(PTUnitNum)%DXCoolCoilName,ErrFlag)
       IF (ErrFlag) THEN
         CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
         ErrorsFound=.TRUE.
       ENDIF
     ENDIF
     !Set the heat pump cooling coil convergence
     PTUnit(PTUnitNum)%CoolConvergenceTol = 0.001d0
     !Set the heatpump cycling rate
     PTUnit(PTUnitNum)%MaxONOFFCyclesperHour = Numbers(7)

     !Set the heat pump time constant
     PTUnit(PTUnitNum)%HPTimeConstant = Numbers(8)

     !Set the heat pump on-cycle power use fraction
     PTUnit(PTUnitNum)%OnCyclePowerFraction = Numbers (9)

     !Set the heat pump fan delay time
     PTUnit(PTUnitNum)%FanDelayTime = Numbers(10)

     !Set the heatpump design supplemental heating capacity
     !  Get from coil module.
     IF(PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingGas .OR. &
        PTUnit(PTUnitNum)%SuppHeatCoilType_Num == Coil_HeatingElectric)THEN
         ErrFlag=.FALSE.
         PTUnit(PTUnitNum)%DesignSuppHeatingCapacity =   &
            GetHeatingCoilCapacity(SuppHeatCoilType,SuppHeatCoilName,ErrFlag)
         IF (ErrFlag) THEN
           CALL ShowContinueError('...occurs in '//TRIM(CurrentModuleObject)//' = '//TRIM(Alphas(1)))
           ErrorsFound=.TRUE.
         ENDIF
     ENDIF

     !Set the max outlet temperature for supplemental heating coil
     PTUnit(PTUnitNum)%MaxSATSupHeat = Numbers(11)

     !Set maximum supply air temperature for supplemental heating coil
     PTUnit(PTUnitNum)%MaxOATSupHeat = Numbers(12)

     !set minimum OA temp for WSHP compressor to large negative number (field not used for a WSHP)
     PTUnit(PTUnitNum)%MinOATCompressor = -99999.0d0

   END DO  !End of the WatertoAirHeatPump Loop


!***********************************************************************************


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


  IF (ErrorsFound) THEN
    CALL ShowFatalError(RoutineName//'Errors found in getting input.')
    CALL ShowContinueError('... Preceding condition causes termination.')
  END IF

  DO PTUnitNum=1,NumPTHP
    ! Setup Report variables for the Packaged Terminal Heat Psmps,   CurrentModuleObject = 'ZoneHVAC:PackagedTerminalHeatPump'
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Total Heating Rate [W]',PTUnit(PTUnitNum)%TotHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Total Heating Energy [J]',PTUnit(PTUnitNum)%TotHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Total Cooling Rate [W]',PTUnit(PTUnitNum)%TotCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Total Cooling Energy [J]',PTUnit(PTUnitNum)%TotCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Sensible Heating Rate [W]',PTUnit(PTUnitNum)%SensHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Sensible Heating Energy [J]',PTUnit(PTUnitNum)%SensHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Sensible Cooling Rate [W]',PTUnit(PTUnitNum)%SensCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Sensible Cooling Energy [J]',PTUnit(PTUnitNum)%SensCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Latent Heating Rate [W]',PTUnit(PTUnitNum)%LatHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Latent Heating Energy [J]',PTUnit(PTUnitNum)%LatHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Latent Cooling Rate [W]',PTUnit(PTUnitNum)%LatCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Latent Cooling Energy [J]',PTUnit(PTUnitNum)%LatCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Electric Power [W]',PTUnit(PTUnitNum)%ElecPower,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Electric Energy [J]',PTUnit(PTUnitNum)%ElecConsumption,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Fan Part Load Ratio []',PTUnit(PTUnitNum)%FanPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Compressor Part Load Ratio []',PTUnit(PTUnitNum)%CompPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Heat Pump Fan Availability Status []',PTUnit(PTUnitNum)%AvailStatus,&
                               'System','Average',PTUnit(PTUnitNum)%Name)
  END DO


  DO PTUnitNum=1+NumPTHP,NumPTHP+NumPTAC
    ! Setup Report variables for the Packaged Terminal Air Conditioners,
    ! CurrentModuleObject = 'ZoneHVAC:PackagedTerminalAirConditioner'
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Total Heating Rate [W]',PTUnit(PTUnitNum)%TotHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Total Heating Energy [J]',PTUnit(PTUnitNum)%TotHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Total Cooling Rate [W]',PTUnit(PTUnitNum)%TotCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Total Cooling Energy [J]',PTUnit(PTUnitNum)%TotCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Sensible Heating Rate [W]',  &
                              PTUnit(PTUnitNum)%SensHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Sensible Heating Energy [J]',PTUnit(PTUnitNum)%SensHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Sensible Cooling Rate [W]',  &
                              PTUnit(PTUnitNum)%SensCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Sensible Cooling Energy [J]',PTUnit(PTUnitNum)%SensCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Latent Heating Rate [W]',PTUnit(PTUnitNum)%LatHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Latent Heating Energy [J]',PTUnit(PTUnitNum)%LatHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Latent Cooling Rate [W]',PTUnit(PTUnitNum)%LatCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Latent Cooling Energy [J]',PTUnit(PTUnitNum)%LatCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Electric Power [W]',PTUnit(PTUnitNum)%ElecPower,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Electric Energy [J]',PTUnit(PTUnitNum)%ElecConsumption,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Fan Part Load Ratio []',PTUnit(PTUnitNum)%FanPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Compressor Part Load Ratio []',&
                              PTUnit(PTUnitNum)%CompPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Packaged Terminal Air Conditioner Fan Availability Status []',PTUnit(PTUnitNum)%AvailStatus,&
                               'System','Average',PTUnit(PTUnitNum)%Name)
  END DO

  DO PTUnitNum=1+NumPTHP+NumPTAC,NumPTUs
    ! Setup Report variables for the Zone Water Source Heat Pumps, CurrentModuleObject='ZoneHVAC:WaterToAirHeatPump'
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Total Heating Rate [W]',PTUnit(PTUnitNum)%TotHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Total Heating Energy [J]',PTUnit(PTUnitNum)%TotHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Total Cooling Rate [W]',PTUnit(PTUnitNum)%TotCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Total Cooling Energy [J]',PTUnit(PTUnitNum)%TotCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Sensible Heating Rate [W]',PTUnit(PTUnitNum)%SensHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Sensible Heating Energy [J]',PTUnit(PTUnitNum)%SensHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Sensible Cooling Rate [W]',PTUnit(PTUnitNum)%SensCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Sensible Cooling Energy [J]',PTUnit(PTUnitNum)%SensCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Latent Heating Rate [W]',PTUnit(PTUnitNum)%LatHeatEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Latent Heating Energy [J]',PTUnit(PTUnitNum)%LatHeatEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Latent Cooling Rate [W]',PTUnit(PTUnitNum)%LatCoolEnergyRate,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Latent Cooling Energy [J]',PTUnit(PTUnitNum)%LatCoolEnergy,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Electric Power [W]',PTUnit(PTUnitNum)%ElecPower,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Electric Energy [J]',PTUnit(PTUnitNum)%ElecConsumption,&
                             'System','Sum',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Fan Part Load Ratio []',PTUnit(PTUnitNum)%FanPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Compressor Part Load Ratio []',PTUnit(PTUnitNum)%CompPartLoadRatio,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
    CALL SetupOutputVariable('Zone Water to Air Heat Pump Fan Availability Status []',PTUnit(PTUnitNum)%AvailStatus,&
                             'System','Average',PTUnit(PTUnitNum)%Name)
  END DO
  RETURN
END SUBROUTINE GetPTUnit


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