CalcNewZoneHeatCoolFlowRates Subroutine

private subroutine CalcNewZoneHeatCoolFlowRates(FurnaceNum, FirstHVACIteration, CompOp, ZoneLoad, MoistureLoad, HeatCoilLoad, ReheatCoilLoad, OnOffAirFlowRatio, HXUnitOn)

proc~~calcnewzoneheatcoolflowrates~~UsesGraph proc~calcnewzoneheatcoolflowrates CalcNewZoneHeatCoolFlowRates module~general General module~general->proc~calcnewzoneheatcoolflowrates module~psychrometrics Psychrometrics module~general->module~psychrometrics module~fluidproperties FluidProperties module~general->module~fluidproperties module~schedulemanager ScheduleManager module~schedulemanager->proc~calcnewzoneheatcoolflowrates module~dxcoils DXCoils module~schedulemanager->module~dxcoils module~heatingcoils HeatingCoils module~schedulemanager->module~heatingcoils module~refrigeratedcase RefrigeratedCase module~schedulemanager->module~refrigeratedcase module~dataheatbalfansys DataHeatBalFanSys module~dataheatbalfansys->proc~calcnewzoneheatcoolflowrates module~datazoneenergydemands DataZoneEnergyDemands module~datazoneenergydemands->proc~calcnewzoneheatcoolflowrates module~dxcoils->proc~calcnewzoneheatcoolflowrates module~dxcoils->module~heatingcoils module~heatingcoils->proc~calcnewzoneheatcoolflowrates module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~general module~dataprecisionglobals->module~schedulemanager module~dataprecisionglobals->module~dataheatbalfansys module~dataprecisionglobals->module~datazoneenergydemands module~dataprecisionglobals->module~dxcoils module~dataprecisionglobals->module~heatingcoils module~dataenvironment DataEnvironment module~dataprecisionglobals->module~dataenvironment module~datainterfaces DataInterfaces module~dataprecisionglobals->module~datainterfaces module~dataglobals DataGlobals module~dataprecisionglobals->module~dataglobals module~datahvacglobals DataHVACGlobals module~dataprecisionglobals->module~datahvacglobals module~dataheatbalance DataHeatBalance module~dataprecisionglobals->module~dataheatbalance module~dataloopnode DataLoopNode module~dataprecisionglobals->module~dataloopnode module~dataprecisionglobals->module~psychrometrics module~datawindowequivalentlayer DataWindowEquivalentLayer module~dataprecisionglobals->module~datawindowequivalentlayer module~databsdfwindow DataBSDFWindow module~dataprecisionglobals->module~databsdfwindow module~datacomplexfenestration DataComplexFenestration module~dataprecisionglobals->module~datacomplexfenestration module~datavectortypes DataVectorTypes module~dataprecisionglobals->module~datavectortypes module~datasurfaces DataSurfaces module~dataprecisionglobals->module~datasurfaces module~dataprecisionglobals->module~refrigeratedcase module~dataprecisionglobals->module~fluidproperties module~dataenvironment->module~schedulemanager module~dataenvironment->module~dxcoils module~dataenvironment->module~heatingcoils module~dataenvironment->module~psychrometrics module~dataenvironment->module~refrigeratedcase module~datainterfaces->module~schedulemanager module~datainterfaces->module~dxcoils module~datainterfaces->module~heatingcoils module~datainterfaces->module~psychrometrics module~datainterfaces->module~refrigeratedcase module~datainterfaces->module~fluidproperties module~dataglobals->module~schedulemanager module~dataglobals->module~dxcoils module~dataglobals->module~heatingcoils module~dataglobals->module~dataenvironment module~dataglobals->module~datahvacglobals module~dataglobals->module~dataheatbalance module~dataglobals->module~dataloopnode module~dataglobals->module~psychrometrics module~dataglobals->module~datawindowequivalentlayer module~dataglobals->module~databsdfwindow module~dataglobals->module~datacomplexfenestration module~dataglobals->module~datasurfaces module~dataglobals->module~refrigeratedcase module~dataglobals->module~fluidproperties module~datahvacglobals->module~dxcoils module~datahvacglobals->module~heatingcoils module~datahvacglobals->module~refrigeratedcase module~dataheatbalance->module~dxcoils module~dataheatbalance->module~heatingcoils module~dataheatbalance->module~refrigeratedcase module~dataloopnode->module~dxcoils module~dataloopnode->module~heatingcoils module~dataloopnode->module~refrigeratedcase module~psychrometrics->module~dxcoils module~psychrometrics->module~heatingcoils module~datawindowequivalentlayer->module~dataheatbalance module~databsdfwindow->module~dataheatbalance module~databsdfwindow->module~datasurfaces module~datacomplexfenestration->module~dataheatbalance module~datavectortypes->module~dataheatbalance module~datavectortypes->module~databsdfwindow module~datavectortypes->module~datasurfaces module~datasurfaces->module~dataheatbalance module~refrigeratedcase->module~heatingcoils module~fluidproperties->module~refrigeratedcase
Help

!LKL discrepancy with < 0?

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: FurnaceNum
logical, intent(in) :: FirstHVACIteration
integer, intent(in) :: CompOp
real(kind=r64), intent(in) :: ZoneLoad
real(kind=r64), intent(in) :: MoistureLoad
real(kind=r64), intent(inout) :: HeatCoilLoad
real(kind=r64), intent(inout) :: ReheatCoilLoad
real(kind=r64), intent(inout) :: OnOffAirFlowRatio
logical, intent(inout) :: HXUnitOn

Calls

proc~~calcnewzoneheatcoolflowrates~~CallsGraph proc~calcnewzoneheatcoolflowrates CalcNewZoneHeatCoolFlowRates psycpairfnwtdb psycpairfnwtdb proc~calcnewzoneheatcoolflowrates->psycpairfnwtdb proc~getcurrentschedulevalue GetCurrentScheduleValue proc~calcnewzoneheatcoolflowrates->proc~getcurrentschedulevalue proc~calcfurnaceoutput CalcFurnaceOutput proc~calcnewzoneheatcoolflowrates->proc~calcfurnaceoutput interface~showrecurringwarningerroratend ShowRecurringWarningErrorAtEnd proc~calcnewzoneheatcoolflowrates->interface~showrecurringwarningerroratend node node proc~calcnewzoneheatcoolflowrates->node setback setback proc~calcnewzoneheatcoolflowrates->setback cfurnacetypes cfurnacetypes proc~calcnewzoneheatcoolflowrates->cfurnacetypes interface~showwarningmessage ShowWarningMessage proc~calcnewzoneheatcoolflowrates->interface~showwarningmessage dxcoilpartloadratio dxcoilpartloadratio proc~calcnewzoneheatcoolflowrates->dxcoilpartloadratio interface~showcontinueerror ShowContinueError proc~calcnewzoneheatcoolflowrates->interface~showcontinueerror solveregulafalsi solveregulafalsi proc~calcnewzoneheatcoolflowrates->solveregulafalsi zonesysenergydemand zonesysenergydemand proc~calcnewzoneheatcoolflowrates->zonesysenergydemand proc~setaverageairflow SetAverageAirFlow proc~calcnewzoneheatcoolflowrates->proc~setaverageairflow trimsigdigits trimsigdigits proc~calcnewzoneheatcoolflowrates->trimsigdigits interface~showcontinueerrortimestamp ShowContinueErrorTimeStamp proc~calcnewzoneheatcoolflowrates->interface~showcontinueerrortimestamp sequencedoutputrequiredtoheatingsp sequencedoutputrequiredtoheatingsp proc~calcnewzoneheatcoolflowrates->sequencedoutputrequiredtoheatingsp proc~showcontinueerror ShowContinueError proc~getcurrentschedulevalue->proc~showcontinueerror proc~showwarningerror ShowWarningError proc~getcurrentschedulevalue->proc~showwarningerror proc~calcfurnaceoutput->psycpairfnwtdb proc~calcfurnaceoutput->node proc~calcfurnaceoutput->proc~setaverageairflow simwatertoairhp simwatertoairhp proc~calcfurnaceoutput->simwatertoairhp simdxcoil simdxcoil proc~calcfurnaceoutput->simdxcoil psyhfntdbw psyhfntdbw proc~calcfurnaceoutput->psyhfntdbw simwatertoairhpsimple simwatertoairhpsimple proc~calcfurnaceoutput->simwatertoairhpsimple simulatefancomponents simulatefancomponents proc~calcfurnaceoutput->simulatefancomponents proc~calcnondxheatingcoils~2 CalcNonDXHeatingCoils proc~calcfurnaceoutput->proc~calcnondxheatingcoils~2 simulateheatingcoilcomponents simulateheatingcoilcomponents proc~calcfurnaceoutput->simulateheatingcoilcomponents simhxassistedcoolingcoil simhxassistedcoolingcoil proc~calcfurnaceoutput->simhxassistedcoolingcoil proc~setaverageairflow->proc~getcurrentschedulevalue proc~setaverageairflow->node proc~showerrormessage ShowErrorMessage proc~showcontinueerror->proc~showerrormessage updatesqliteerrorrecord updatesqliteerrorrecord proc~showcontinueerror->updatesqliteerrorrecord proc~showwarningerror->proc~showerrormessage createsqliteerrorrecord createsqliteerrorrecord proc~showwarningerror->createsqliteerrorrecord matchcounts matchcounts proc~showwarningerror->matchcounts messagesearch messagesearch proc~showwarningerror->messagesearch proc~displaystring DisplayString proc~showerrormessage->proc~displaystring proc~showfatalerror ShowFatalError proc~showerrormessage->proc~showfatalerror proc~showfatalerror->proc~showerrormessage proc~showfatalerror->proc~displaystring proc~abortenergyplus AbortEnergyPlus proc~showfatalerror->proc~abortenergyplus roundsigdigits roundsigdigits proc~showfatalerror->roundsigdigits proc~showfatalerror->createsqliteerrorrecord proc~abortenergyplus->proc~displaystring proc~abortenergyplus->roundsigdigits proc~testairpathintegrity TestAirPathIntegrity proc~abortenergyplus->proc~testairpathintegrity updatesqlitesimulationrecord updatesqlitesimulationrecord proc~abortenergyplus->updatesqlitesimulationrecord checkmarkednodes checkmarkednodes proc~abortenergyplus->checkmarkednodes reportairloopconnections reportairloopconnections proc~abortenergyplus->reportairloopconnections proc~showrecurringerrors ShowRecurringErrors proc~abortenergyplus->proc~showrecurringerrors testcompsetinletoutletnodes testcompsetinletoutletnodes proc~abortenergyplus->testcompsetinletoutletnodes proc~summarizeerrors SummarizeErrors proc~abortenergyplus->proc~summarizeerrors reportsurfaceerrors reportsurfaceerrors proc~abortenergyplus->reportsurfaceerrors reportloopconnections reportloopconnections proc~abortenergyplus->reportloopconnections proc~closemiscopenfiles CloseMiscOpenFiles proc~abortenergyplus->proc~closemiscopenfiles setupnodevarsforreporting setupnodevarsforreporting proc~abortenergyplus->setupnodevarsforreporting closesocket closesocket proc~abortenergyplus->closesocket proc~closeoutopenfiles CloseOutOpenFiles proc~abortenergyplus->proc~closeoutopenfiles proc~reportsurfaces ReportSurfaces proc~abortenergyplus->proc~reportsurfaces testbranchintegrity testbranchintegrity proc~abortenergyplus->testbranchintegrity checkplantonabort checkplantonabort proc~abortenergyplus->checkplantonabort proc~epelapsedtime epElapsedTime proc~abortenergyplus->proc~epelapsedtime proc~epstoptime epStopTime proc~abortenergyplus->proc~epstoptime proc~epsummarytimes epSummaryTimes proc~abortenergyplus->proc~epsummarytimes proc~showmessage ShowMessage proc~abortenergyplus->proc~showmessage checknodeconnections checknodeconnections proc~abortenergyplus->checknodeconnections proc~testairpathintegrity->proc~showcontinueerror proc~showsevereerror ShowSevereError proc~testairpathintegrity->proc~showsevereerror airtozonenodeinfo airtozonenodeinfo proc~testairpathintegrity->airtozonenodeinfo nodeid nodeid proc~testairpathintegrity->nodeid proc~showrecurringerrors->updatesqliteerrorrecord proc~showrecurringerrors->roundsigdigits 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~showsevereerror->proc~showerrormessage proc~showsevereerror->createsqliteerrorrecord proc~showsevereerror->matchcounts proc~showsevereerror->messagesearch proc~detailsforsurfaces->trimsigdigits proc~detailsforsurfaces->roundsigdigits 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->proc~showwarningerror getobjectitemnum getobjectitemnum proc~setupschemecolors->getobjectitemnum getobjectdefmaxargs getobjectdefmaxargs proc~setupschemecolors->getobjectdefmaxargs proc~matchandsetcolortextstring MatchAndSetColorTextString proc~setupschemecolors->proc~matchandsetcolortextstring getobjectitem getobjectitem proc~setupschemecolors->getobjectitem proc~vrmlout->proc~showcontinueerror proc~vrmlout->proc~showwarningerror proc~vrmlout->proc~showfatalerror 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->proc~showcontinueerror proc~linesout->proc~showwarningerror proc~linesout->proc~showfatalerror proc~linesout->roundsigdigits proc~linesout->proc~csurfaceclass proc~linesout->surface proc~linesout->proc~getnewunitnumber proc~dxfout->trimsigdigits proc~dxfout->proc~showcontinueerror proc~dxfout->proc~showwarningerror proc~dxfout->proc~showfatalerror 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 finditem finditem proc~matchandsetcolortextstring->finditem proc~triangulate->proc~showcontinueerror proc~triangulate->proc~showwarningerror proc~triangulate->roundsigdigits 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~calcnondxheatingcoils~2->interface~showrecurringwarningerroratend proc~calcnondxheatingcoils~2->cfurnacetypes proc~calcnondxheatingcoils~2->interface~showwarningmessage proc~calcnondxheatingcoils~2->interface~showcontinueerror proc~calcnondxheatingcoils~2->solveregulafalsi proc~calcnondxheatingcoils~2->interface~showcontinueerrortimestamp proc~calcnondxheatingcoils~2->roundsigdigits proc~calcnondxheatingcoils~2->simulateheatingcoilcomponents setcomponentflowrate setcomponentflowrate proc~calcnondxheatingcoils~2->setcomponentflowrate simulatesteamcoilcomponents simulatesteamcoilcomponents proc~calcnondxheatingcoils~2->simulatesteamcoilcomponents simulatewatercoilcomponents simulatewatercoilcomponents proc~calcnondxheatingcoils~2->simulatewatercoilcomponents
Help

Called By

proc~~calcnewzoneheatcoolflowrates~~CalledByGraph proc~calcnewzoneheatcoolflowrates CalcNewZoneHeatCoolFlowRates proc~simfurnace SimFurnace proc~simfurnace->proc~calcnewzoneheatcoolflowrates
Help


Source Code

SUBROUTINE CalcNewZoneHeatCoolFlowRates(FurnaceNum,FirstHVACIteration,CompOp,ZoneLoad,MoistureLoad,HeatCoilLoad,ReheatCoilLoad, &
                                        OnOffAirFlowRatio, HXUnitOn)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Richard Liesen
          !       DATE WRITTEN   Feb 2001
          !       MODIFIED       R. Raustad and D. Shirey, Feb/Mar/Sept/Oct/Dec 2001, Jan/Oct 2002
          !       RE-ENGINEERED  R. Raustad, Feb. 2005 (added RegulaFalsi for iteration technique)


          ! PURPOSE OF THIS SUBROUTINE:
          ! This subroutine updates the coil outlet nodes.


          ! METHODOLOGY EMPLOYED:
          ! Determine the operating PLR to meet the zone sensible load. If a humidistat is specified, determine
          ! the operating PLR (greater of the sensible and latent PLR) to meet the zone SENSIBLE load
          ! (Multimode dehumidification control) or zone LATENT load (CoolReheat dehumidification control).
          !
          ! For dehumidification control type COOLREHEAT, both a sensible and latent PLR may exist for a
          ! single time step (heating and dehumidificaiton can occur). For all other sytem types,
          ! only a single PLR is allowed for any given time step.
          !
          ! Order of simulation depends on dehumidification control option as described below.
          !
          ! Dehumidificaiton control options:
          !
          ! Dehumidification Control NONE:   Cooling performance is simulated first and then heating performance. If a HX
          !                                  assisted cooling coil is selected, the HX is always active.
          !
          ! Dehumidification Control COOLREHEAT: Continuous Fan Operation:
          !                                      For cooling operation, the sensible and latent capacities are calculated to
          !                                      meet the thermostat setpoint. If a HX assisted cooling coil is selected,
          !                                      the HX is always active. If the latent load is not met by operating the
          !                                      system at the sensible PLR, a new PLR is calculated to meet the humidistat
          !                                      setpoint. The reheat coil load is then calculated to meet the HEATING
          !                                      setpoint temperature.
          !
          !                                      Cycling Fan Operation:
          !                                      The heating part-load ratio is calculated first. Since the fan will be
          !                                      controlled at the higher of the heating or cooling PLR's, a ratio of the
          !                                      cooling to heating PLR is used to pass to the cooling coil (MAX=1). This allows
          !                                      the cooling coil to operate at the heating PLR when the heating PLR is
          !                                      higher than the cooling PLR. The sensible and latent capacities are then
          !                                      calculated to meet the thermostat setpoint.
          !                                      If a HX assisted cooling coil is selected, the HX is always active.
          !                                      If the latent load is not met by operating the system at the sensible PLR,
          !                                      a new PLR is calculated to meet the humidistat setpoint.
          !                                      The reheat coil load is then calculated to meet the HEATING setpoint temperature.
          !
          ! Dehumidification Control MULTIMODE: For cooling operation, the sensible and latent capacities are calculated to
          !                                     meet the thermostat setpoint. If a HX assisted cooling coil is selected,
          !                                     the HX is off for this calculation. If the latent load is not met by operating
          !                                     the system at the sensible PLR, a new PLR is calculated with the HX operating
          !                                     and the target is the thermostat setpoint. Humidity is not controlled in this
          !                                     mode. No reheat coil is used in this configuration.
          !
          !  Note: A supplemental heater augments the heating capacity for air-to-air heat pumps.
          !        A reheat coil is used for the HeatCool furnace/unitarysystem to offset the sensible cooling when the
          !        dehumidification control type is COOLREHEAT. Both the supplemental and reheat heating coil load is calculated
          !        in the Calc routines. The actual simulation of these coils is performed in the SimFurnace routine (i.e. the
          !        supplemental and reheat coil loads are passed as 0 to CalcFurnaceOutput).

          ! REFERENCES:
          ! na


          ! USE STATEMENTS:
  USE HeatingCoils,       ONLY: SimulateHeatingCoilComponents
  USE DataHeatBalFanSys,  ONLY: MAT
  USE ScheduleManager
  USE DataZoneEnergyDemands
  USE General,            ONLY: SolveRegulaFalsi, TrimSigDigits
  USE DXCoils,            ONLY: DXCoilPartLoadRatio

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


          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER,   Intent(IN)    :: FurnaceNum
  LOGICAL,   Intent(IN)    :: FirstHVACIteration
  INTEGER,   Intent(IN)    :: CompOp             ! compressor operation flag (1=On, 0=Off)
  REAL(r64), Intent(IN)    :: ZoneLoad           ! the control zone load (watts)
  REAL(r64), Intent(IN)    :: MoistureLoad       ! the control zone latent load (watts)
  REAL(r64), Intent(INOUT) :: HeatCoilLoad       ! Heating load to be met by heating coil ( excluding heat pump DX coil)
  REAL(r64), Intent(INOUT) :: ReheatCoilLoad     ! Heating load to be met by reheat coil using hstat (excluding HP DX coil)
  REAL(r64), Intent(INOUT) :: OnOffAirFlowRatio  ! Ratio of compressor ON air flow to AVERAGE air flow over time step
  LOGICAL,   Intent(INOUT) :: HXUnitOn           ! flag to control HX based on zone moisture load

          ! SUBROUTINE PARAMETER DEFINITIONS:
  INTEGER,   PARAMETER  ::  MaxIter = 100        ! maximum number of iterations
  REAL(r64), PARAMETER  ::  MinPLR  = 0.0d0        ! minimum part load ratio allowed

          ! INTERFACE BLOCK SPECIFICATIONS
          ! na


          ! DERIVED TYPE DEFINITIONS
          ! na


          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  REAL(r64)         :: SystemMoistureLoad   ! Total latent load to be removed by furnace/unitary system
  REAL(r64)         :: cpair                ! Heat capacity of air
  REAL(r64)         :: deltaT               ! Temperature rise across heating coil (C)
  REAL(r64)         :: TempOutHeatingCoil   ! Temperature leaving heating coil (C)
  REAL(r64)         :: FullSensibleOutput   ! Full sensible output of AC (W)
  REAL(r64)         :: FullLatentOutput     ! Full latent output of AC (W)
  REAL(r64)         :: NoCoolOutput         ! Sensible output of AC with no cooling allowed (W)
  REAL(r64)         :: NoHeatOutput         ! Sensible output of heater with no heating allowed (W)
  REAL(r64)         :: NoLatentOutput       ! Latent output of AC with no cooling allowed (W)
  INTEGER           :: FurnaceInletNode     ! Inlet node to furnace or unitary system
  INTEGER           :: FurnaceOutletNode    ! Outlet node of furnace or unitary system
  INTEGER           :: OpMode               ! Mode of Operation (fan cycling = 1 or fan continuous = 2)
  REAL(r64), SAVE   :: CoolCoilLoad         ! Negative value means cooling required
  REAL(r64), SAVE   :: SystemSensibleLoad   ! Positive value means heating required
  REAL(r64)         :: CoolErrorToler       ! Error tolerance in cooling mode
  REAL(r64)         :: HeatErrorToler       ! Error tolerance in heating mode
  REAL(r64)         :: ActualSensibleOutput ! Actual furnace sensible capacity
  REAL(r64)         :: ActualLatentOutput   ! Actual furnace latent capacity
  REAL(r64)         :: PartLoadRatio        ! Part load ratio (greater of sensible or latent part load ratio for cooling,
                                            ! or heating PLR)
  REAL(r64)         :: LatentPartLoadRatio  ! Part load ratio to meet dehumidification load
  REAL(r64)         :: TempCoolOutput       ! Temporary Sensible output of AC while iterating on PLR (W)
  REAL(r64)         :: TempHeatOutput       ! Temporary Sensible output of heating coil while iterating on PLR (W)
  REAL(r64)         :: TempLatentOutput     ! Temporary Latent output of AC at increasing PLR (W)
!                                           ! (Temp variables are used to find min PLR for positive latent removal)
  LOGICAL           :: HumControl = .FALSE. ! Logical flag signaling when dehumidification is required
  REAL(r64), DIMENSION(10) :: Par           ! parameters passed to RegulaFalsi function
  INTEGER           :: SolFlag              ! return flag from RegulaFalsi
  REAL(r64)         :: TempMinPLR           ! Temporary min latent PLR when hum control is required and iter is exceeded
  REAL(r64)         :: TempMinPLR2          ! Temporary min latent PLR when cyc fan hum control is required and iter is exceeded
  REAL(r64)         :: TempMaxPLR           ! Temporary max latent PLR when hum control is required and iter is exceeded
  REAL(r64)         :: QToHeatSetPt         ! Load required to meet heating setpoint temp (>0 is a heating load)
  REAL(r64)         :: CoolingHeatingPLRRatio ! ratio of cooling to heating PLR (MAX=1). Used in heating mode.
  REAL(r64)         :: HeatingSensibleOutput
  REAL(r64)         :: HeatingLatentOutput


  ! Set local variables
  FurnaceOutletNode = Furnace(FurnaceNum)%FurnaceOutletNodeNum
  FurnaceInletNode = Furnace(FurnaceNum)%FurnaceInletNodeNum
  OpMode = Furnace(FurnaceNum)%OpMode
!  Furnace(FurnaceNum)%MdotFurnace = Furnace(FurnaceNum)%DesignMassFlowRate
  HumControl = .FALSE.
  !Calculate the Cp Air for all conditions
  cpair = PsyCpAirFnWTdb(Node(FurnaceInletNode)%HumRat,Node(FurnaceInletNode)%Temp)
  NoHeatOutput       = 0.0d0
  SystemSensibleLoad = 0.0d0
  ReHeatCoilLoad     = 0.0d0
  HeatCoilLoad       = 0.0d0
  ReheatCoilLoad     = 0.0d0
  PartLoadRatio      = 0.0d0

  IF(FirstHVACIteration) THEN
  ! Set selected values during first HVAC iteration


    !Init for heating
    IF(HeatingLoad)THEN
      IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir .OR. &
          (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WatertoAir .AND. &
           Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple))THEN
        Furnace(FurnaceNum)%HeatPartLoadRatio = 1.0d0
        HeatCoilLoad = 0.0d0
        Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0
        Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
        Furnace(FurnaceNum)%CoolingCoilLatentDemand=0.0d0
      ELSE !for furnaces
        Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
        HeatCoilLoad = ZoneLoad
        Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace
        Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0
        Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
        Furnace(FurnaceNum)%CoolingCoilLatentDemand=0.0d0
      ENDIF
      ReheatCoilLoad = 0.0d0
      Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0


    !Init for cooling
    ELSEIF(CoolingLoad)THEN
       !air to air heat pumps
        Furnace(FurnaceNum)%CoolPartLoadRatio = 1.0d0
        Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
        HeatCoilLoad = 0.0d0
        ReheatCoilLoad = 0.0d0


    !Init for moisture load only
    ELSE
      Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
      Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
      HeatCoilLoad = 0.0d0
      ReheatCoilLoad = 0.0d0
      Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0
      Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
      Furnace(FurnaceNum)%CoolingCoilLatentDemand=0.0d0
    ENDIF

    CALL SetAverageAirFlow(FurnaceNum, &
        MAX(Furnace(FurnaceNum)%HeatPartLoadRatio,Furnace(FurnaceNum)%CoolPartLoadRatio), &
        OnOffAirFlowRatio)
    !  if dehumidification load exists (for heat pumps) turn on the supplmental heater
    IF (HPDehumidificationLoadFlag) HumControl = .TRUE.
  ELSE  !not FirstHVACIteration
    !Init for heating
    IF(HeatingLoad)THEN
      CoolCoilLoad = 0.0d0
      IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir .OR. &
          (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WatertoAir .AND. &
           Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple))THEN
        SystemSensibleLoad = ZoneLoad
        SystemMoistureLoad = 0.0d0
        HeatCoilLoad = 0.0d0
        Furnace(FurnaceNum)%HeatingCoilSensDemand=SystemSensibleLoad
        Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
        Furnace(FurnaceNum)%CoolingCoilLatentDemand=0.0d0
      ELSE
        SystemMoistureLoad = MoistureLoad
        HeatCoilLoad = ZoneLoad
      END IF


    !Init for cooling
    ELSEIF(CoolingLoad)THEN
      CoolCoilLoad = ZoneLoad
      SystemMoistureLoad = MoistureLoad
      HeatCoilLoad = 0.0d0
      Furnace(FurnaceNum)%CoolingCoilSensDemand=ABS(CoolCoilLoad)
      Furnace(FurnaceNum)%CoolingCoilLatentDemand=ABS(SystemMoistureLoad)
      Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0


    !Init for latent
    ELSE
      SystemMoistureLoad = MoistureLoad
      CoolCoilLoad = 0.0d0
      HeatCoilLoad = 0.0d0
      !set report variables
      Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
      Furnace(FurnaceNum)%CoolingCoilLatentDemand=SystemMoistureLoad
      Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0
    ENDIF
    HeatingSensibleOutput                 = 0.0d0
    HeatingLatentOutput                   = 0.0d0
    ReheatCoilLoad                        = 0.0d0
    Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
    Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
    Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
    Furnace(FurnaceNum)%DehumidInducedHeatingDemandRate = 0.0d0

! When humidity control is used with cycling fan control and a heating load exists, if a moisture load
! also exists, the heating PLR must be available for the cooling coil calculations.
!*********** Heating Section ************
    ! If Furnace runs with a heating load then set HeatCoilLoad on Heating Coil and the Mass Flow
    IF((GetCurrentScheduleValue(Furnace(FurnaceNum)%SchedPtr) .gt. 0.0d0) .and. &
!         (Node(FurnaceInletNode)%MassFlowRate .gt. 0.0) .and. &
          (HeatingLoad)) THEN

!    Heat pumps only calculate a single PLR each time step (i.e. only cooling or heating allowed in a single time step)
     IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir .OR. &
        (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WaterToAir .AND. &
          Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple )) THEN


      Node(FurnaceInletNode)%MassFlowRate=Furnace(FurnaceNum)%MdotFurnace


      ! Get no load result
      IF (OpMode .EQ. CycFanCycCoil) THEN
        Node(FurnaceInletNode)%MassFlowRate = 0.0d0
      END IF

!     Set the inlet mass flow rate based on user specified coil OFF flow rate
      PartLoadRatio = 0.0d0

      CALL SetAverageAirFlow(FurnaceNum, PartLoadRatio, OnOffAirFlowRatio)

         !Set the input parameters for CalcFurnaceOutput
      Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0    !compressor off
      Furnace(FurnaceNum)%WSHPRuntimeFrac = 0.0d0

      CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,0.0d0,minPLR,0.0d0,0.0d0,NoHeatOutput, NoLatentOutput, &
                             OnOffAirFlowRatio, .FALSE.)

      PartLoadRatio = 1.0d0
      Node(FurnaceInletNode)%MassFlowRate=Furnace(FurnaceNum)%MdotFurnace

      Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0    !compressor ON
      Furnace(FurnaceNum)%WSHPRuntimeFrac   = 1.0d0

      ! Set fan part-load fraction equal to 1 while getting full load result
      OnOffFanPartLoadFraction = 1.0d0
      OnOffAirFlowRatio = 1.0d0

      ! Get full load result
      CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,  &
                             0.0d0,PartLoadRatio,0.0d0,0.0d0,FullSensibleOutput, FullLatentOutput, &
                             OnOffAirFlowRatio, .FALSE.)

      ! Check that SystemSensibleLoad is between FullSensibleOutput and NoHeatOutput
      ! If so then calculate PartLoadRatio for the DX Heating coil
      IF(SystemSensibleLoad .LT. FullSensibleOutput .AND. SystemSensibleLoad .GT. NoHeatOutput)THEN

!       check bounds on sensible output prior to iteration using RegulaFalsi
        IF(FullSensibleOutput .LT. SystemSensibleLoad)THEN
          PartLoadRatio = 1.0d0
        ELSEIF(NoHeatOutput .GT. SystemSensibleLoad)THEN
          PartLoadRatio = 0.0d0
        ELSE

          ! Calculate the part load ratio through iteration
          HeatErrorToler = Furnace(FurnaceNum)%HeatingConvergenceTolerance !Error tolerance for convergence from input deck

          SolFlag = 0    ! # of iterations if positive, -1 means failed to converge, -2 means bounds are incorrect
          Par(1)  = REAL(FurnaceNum,r64)
          Par(2)  = 0.0d0  ! FLAG, if 1.0 then FirstHVACIteration equals TRUE, if 0.0 then FirstHVACIteration equals false
          IF(FirstHVACIteration)Par(2)=1.0d0
          Par(3)  = REAL(OpMode,r64)
          Par(4)  = REAL(CompOp,r64)
          Par(5)  = SystemSensibleLoad
          Par(6)  = 0.0d0 ! FLAG, 0.0 if heating load, 1.0 if cooling or moisture load
          Par(7)  = 1.0d0 ! FLAG, 0.0 if latent load, 1.0 if sensible load to be met
          Par(8)  = OnOffAirFlowRatio ! Ratio of compressor ON mass flow rate to AVERAGE mass flow rate over time step
          Par(9) = 0.0d0 ! HXUnitOn is always false for HX
          Par(10) = 0.0d0
!         HeatErrorToler is in fraction of load, MaxIter = 30, SolFalg = # of iterations or error as appropriate
          CALL SolveRegulaFalsi(HeatErrorToler, MaxIter, SolFlag, PartLoadRatio, CalcFurnaceResidual, 0.0d0, 1.0d0, Par)
!         OnOffAirFlowRatio is updated during the above iteration. Reset to correct value based on PLR.
          OnOffAirFlowRatio = OnOffAirFlowRatioSave
          IF (SolFlag == -1) THEN
            CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,0.0d0, &
                                   PartLoadRatio,0.0d0,0.0d0, TempHeatOutput, TempLatentOutput, OnOffAirFlowRatio, .FALSE.)
            IF(ABS(SystemSensibleLoad - TempHeatOutput) .GT. SmallLoad)THEN
              IF(Furnace(FurnaceNum)%DXHeatingMaxIterIndex == 0)THEN
                CALL ShowWarningMessage('Heating coil control failed to converge for ' &
                       //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                CALL ShowContinueError('  Iteration limit exceeded in calculating DX heating coil sensible part-load ratio.')
                CALL ShowContinueErrorTimeStamp('Sensible load to be met by DX heating coil = ' &
                     //TRIM(TrimSigDigits(SystemSensibleLoad,2))//' (watts), sensible output of DX heating coil = ' &
                     //TRIM(TrimSigDigits(TempHeatOutput,2))//' (watts), and the simulation continues.')
              END IF
              CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                  //TRIM(Furnace(FurnaceNum)%Name)//'" - Iteration limit exceeded in calculating'// &
                  ' DX sensible heating part-load ratio error continues. Sensible load statistics:' &
                  ,Furnace(FurnaceNum)%DXHeatingMaxIterIndex,SystemSensibleLoad,SystemSensibleLoad)
            END IF
          ELSE IF (SolFlag == -2) THEN
            IF(Furnace(FurnaceNum)%DXHeatingRegulaFalsiFailedIndex == 0)THEN
              CALL ShowWarningMessage('Heating coil control failed for ' &
                      //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
              CALL ShowContinueError('  DX sensible heating part-load ratio determined to be outside the range of 0-1.')
              CALL ShowContinueErrorTimeStamp('Sensible load to be met by DX heating coil = ' &
                   //TRIM(TrimSigDigits(SystemSensibleLoad,2))//' (watts), and the simulation continues.')
            END IF
            CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                //TRIM(Furnace(FurnaceNum)%Name)//'" - '// &
                ' DX sensible heating part-load ratio out of range error continues. Sensible load statistics:' &
                ,Furnace(FurnaceNum)%DXHeatingRegulaFalsiFailedIndex,SystemSensibleLoad,SystemSensibleLoad)
          END IF
        END IF

        Furnace(FurnaceNum)%HeatPartLoadRatio = PartLoadRatio
!       Check if Heat Pump compressor is allowed to run based on outdoor temperature
        IF (Furnace(FurnaceNum)%CondenserNodeNum > 0) THEN
          IF (Node(Furnace(FurnaceNum)%CondenserNodeNum)%Temp .GT. Furnace(FurnaceNum)%MinOATCompressor) THEN
            Furnace(FurnaceNum)%CompPartLoadRatio = PartLoadRatio
          ELSE
            Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
          END IF
        ELSE
          IF (OutDryBulbTemp .GT. Furnace(FurnaceNum)%MinOATCompressor) THEN
            Furnace(FurnaceNum)%CompPartLoadRatio = PartLoadRatio
          ELSE
            Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
          END IF
        ENDIF
      ELSEIF(SystemSensibleLoad .GT. FullSensibleOutput) THEN
!       SystemSensibleLoad is greater than full DX Heating coil output so heat pump runs entire
!       timestep and additional supplemental heating is required
        Furnace(FurnaceNum)%HeatPartLoadRatio = 1.0d0
        IF (Furnace(FurnaceNum)%CondenserNodeNum > 0) THEN
          IF(Node(Furnace(FurnaceNum)%CondenserNodeNum)%Temp .GT. Furnace(FurnaceNum)%MinOATCompressor) THEN
  !       Check to see if Heat Pump compressor was allowed to run based on outdoor temperature
            Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0
          ELSE
            Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
          END IF
        ELSE
          IF(OutDryBulbTemp .GT. Furnace(FurnaceNum)%MinOATCompressor) THEN
  !       Check to see if Heat Pump compressor was allowed to run based on outdoor temperature
            Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0
          ELSE
            Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
          END IF
        ENDIF
      ELSEIF(SystemSensibleLoad .LT. NoHeatOutput) THEN
!       SystemSensibleLoad is less than minimum DX Heating coil output so heat pump does not run and
!       the load will be met by the supplemental heater
        Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
        Furnace(FurnaceNum)%HeatPartLoadRatio = 1.0d0
      ENDIF
      IF (Furnace(FurnaceNum)%HeatPartLoadRatio .EQ. 1.0d0 ) THEN
!       Determine the load on the supplemental heating coil
        IF((SystemSensibleLoad - FullSensibleOutput) .GT. Furnace(FurnaceNum)%DesignSuppHeatingCapacity) THEN
          HeatCoilLoad = Furnace(FurnaceNum)%DesignSuppHeatingCapacity
          TempOutHeatingCoil = Node(FurnaceOutletNode)%Temp + HeatCoilLoad/(cpair*Furnace(FurnaceNum)%MdotFurnace)
        ELSEIF(SystemSensibleLoad .LT. NoHeatOutput) THEN
          HeatCoilLoad = MAX(0.0d0,SystemSensibleLoad)   !BG 10/22/2008 need a case for when its all suppl heat
          TempOutHeatingCoil = Node(FurnaceInletNode)%Temp + HeatCoilLoad/(cpair*Furnace(FurnaceNum)%MdotFurnace)
        ELSE
          HeatCoilLoad = MAX(0.0d0,(SystemSensibleLoad - FullSensibleOutput))
          TempOutHeatingCoil = Node(FurnaceOutletNode)%Temp + HeatCoilLoad/(cpair*Furnace(FurnaceNum)%MdotFurnace)
        END IF
        IF (Furnace(FurnaceNum)%CondenserNodeNum > 0) THEN
          IF(Node(Furnace(FurnaceNum)%CondenserNodeNum)%Temp .GT. Furnace(FurnaceNum)%MaxOATSuppHeat) THEN
             HeatCoilLoad = 0.0d0
             IF(SystemSensibleLoad .LT. NoHeatOutput) THEN
               TempOutHeatingCoil = Node(FurnaceInletNode)%Temp
             ELSE
               TempOutHeatingCoil = Node(FurnaceOutletNode)%Temp
             ENDIF
          ENDIF
        ELSE
          IF(OutDryBulbTemp .GT. Furnace(FurnaceNum)%MaxOATSuppHeat) THEN
            HeatCoilLoad = 0.0d0
             IF(SystemSensibleLoad .LT. NoHeatOutput) THEN
               TempOutHeatingCoil = Node(FurnaceInletNode)%Temp
             ELSE
               TempOutHeatingCoil = Node(FurnaceOutletNode)%Temp
             ENDIF
          ENDIF
        ENDIF
        cpair = PsyCpAirFnWTdb(Node(FurnaceInletNode)%HumRat,Node(FurnaceOutletNode)%Temp)
       ! TempOutHeatingCoil = Node(FurnaceOutletNode)%Temp + HeatCoilLoad/(cpair*Furnace(FurnaceNum)%MdotFurnace)
        IF((TempOutHeatingCoil .GT. Furnace(FurnaceNum)%DesignMaxOutletTemp) .AND. (HeatCoilLoad > 0.0D0) ) THEN
         ! deltaT = Furnace(FurnaceNum)%DesignMaxOutletTemp - Node(FurnaceOutletNode)%Temp
            !BG 10/22/2008 above made no sense if DX heat is off and its all supplemental,
            !  because Node(FurnaceOutletNode)%Temp will have been calc'd with full DX heat in last faux call to CalcFurnaceOutput

          deltaT = (Furnace(FurnaceNum)%DesignMaxOutletTemp - TempOutHeatingCoil)
          HeatCoilLoad = HeatCoilLoad - (Node(FurnaceInletNode)%MassFlowRate * cpair * deltaT)
          HeatCoilLoad = MAX(0.0D0, HeatCoilLoad)
        END IF
      ELSE
        HeatCoilLoad = 0.0d0
      END IF
      PartLoadRatio = 0.0d0

!   HeatCool systems can have both a sensible and latent PLR in a single time step
!   (i.e. both cooling and heating can occur in a single time step)
    ELSE  ! else not a heatpump DX coil

      Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace
      HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity
      SystemSensibleLoad = ZoneLoad


      ! Get no load result
      IF (OpMode .EQ. CycFanCycCoil) THEN
        Node(FurnaceInletNode)%MassFlowRate = 0.0d0
      END IF
      IF (OpMode .EQ. ContFanCycCoil) THEN
        OnOffFanPartLoadFraction = 1.0d0 ! The on/off fan will not cycle, so set part-load fraction = 1
      END IF

!     Set the inlet mass flow rate based on user specified coil OFF flow rate
      PartLoadRatio = 0.0d0
      CALL SetAverageAirFlow(FurnaceNum, PartLoadRatio, OnOffAirFlowRatio)

      CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,0.0d0,MinPLR,0.0d0,0.0d0,NoHeatOutput,NoLatentOutput, &
                             OnOffAirFlowRatio, .FALSE.)

      IF(NoHeatOutput .LT. SystemSensibleLoad)THEN
        Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace

        ! Set fan part-load fraction equal to 1 while getting full load result
        OnOffFanPartLoadFraction = 1.0d0
        OnOffAirFlowRatio        = 1.0d0

        ! Get full load result
        CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,0.0d0,1.0d0,HeatCoilLoad,0.0d0,  &
                               FullSensibleOutput,FullLatentOutput, OnOffAirFlowRatio, .FALSE.)
      ELSE
        FullSensibleOutput = NoHeatOutput + 0.000000001d0
      END IF

      ! Since we are heating, we expect FullSensibleOutput to be > 0 and FullSensibleOutput > NoSensibleOutput
      ! Check that this is the case; if not set PartLoadRatio = 0.0 (off) and return


      IF(FullSensibleOutput.GT.NoHeatOutput)THEN

!       check bounds on sensible output prior to iteration using RegulaFalsi
        IF(FullSensibleOutput .LE. SystemSensibleLoad)THEN
          PartLoadRatio = 1.0d0
!         save modified HeatCoilLoad in case it was reset because outlet temp > DesignMaxOutletTemp
          IF(ModifiedHeatCoilLoad .GT. 0.0d0)THEN
            HeatCoilLoad = ModifiedHeatCoilLoad
          ELSE
            HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity
          END IF
        ELSEIF(NoHeatOutput .GE. SystemSensibleLoad)THEN
          PartLoadRatio = 0.0d0
          HeatCoilLoad  = 0.0d0
        ELSE

          ! Calculate the part load ratio through iteration
          HeatErrorToler = Furnace(FurnaceNum)%HeatingConvergenceTolerance !Error tolerance for convergence from input deck

          SolFlag = 0    ! # of iterations if positive, -1 means failed to converge, -2 means bounds are incorrect
          Par(1)  = REAL(FurnaceNum,r64)
          Par(2)  = 0.0d0  ! FLAG, if 1.0 then FirstHVACIteration equals TRUE, if 0.0 then FirstHVACIteration equals false
          IF(FirstHVACIteration)Par(2)=1.0d0
          Par(3)  = REAL(OpMode,r64)
          Par(4)  = REAL(CompOp,r64)
          Par(5)  = SystemSensibleLoad
          Par(6)  = 0.0d0 ! FLAG, 0.0 if heating load, 1.0 if cooling or moisture load
          Par(7)  = 1.0d0 ! FLAG, 0.0 if latent load, 1.0 if sensible load to be met
          Par(8)  = OnOffAirFlowRatio ! Ratio of compressor ON mass flow rate to AVERAGE mass flow rate over time step
          Par(9)  = 0.0d0 ! HXUnitOn is always false for HX
          Par(10) = 0.0d0
!         HeatErrorToler is in fraction load, MaxIter = 30, SolFalg = # of iterations or error as appropriate
          CALL SolveRegulaFalsi(HeatErrorToler, MaxIter, SolFlag, PartLoadRatio, CalcFurnaceResidual, 0.0d0, 1.0d0, Par)
!         OnOffAirFlowRatio is updated during the above iteration. Reset to correct value based on PLR.
          OnOffAirFlowRatio = OnOffAirFlowRatioSave
!         Reset HeatCoilLoad calculated in CalcFurnaceResidual (in case it was reset because output temp > DesignMaxOutletTemp)
          IF(ModifiedHeatCoilLoad .GT. 0.0d0)THEN
            HeatCoilLoad = ModifiedHeatCoilLoad
          ELSE
            HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity * PartLoadRatio
          END IF
          IF (SolFlag == -1) THEN

!           RegulaFalsi may not find heating PLR when the maximum supply air temperature is exceeded.
!           If iteration limit is exceeded, find tighter boundary of solution and repeat RegulaFalsi
            TempMaxPLR = -0.1d0
            TempHeatOutput = NoHeatOutput
            DO WHILE((TempHeatOutput - SystemSensibleLoad) .LT. 0.0d0 .AND. TempMaxPLR .LT. 1.0d0)
!             find upper limit of HeatingPLR
              TempMaxPLR = TempMaxPLR + 0.1d0
              HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity * TempMaxPLR
              CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp, &
                   0.0d0, TempMaxPLR, HeatCoilLoad,0.0d0, TempHeatOutput, TempLatentOutput, OnOffAirFlowRatio, .FALSE.)
            END DO
            TempMinPLR = TempMaxPLR
            DO WHILE((TempHeatOutput - SystemSensibleLoad) .GT. 0.0d0 .AND. TempMinPLR .GT. 0.0d0)
!             pull upper limit of HeatingPLR down to last valid limit (i.e. heat output still exceeds SystemSensibleLoad)
              TempMaxPLR = TempMinPLR
!             find minimum limit of HeatingPLR
              TempMinPLR = TempMinPLR - 0.01d0

              HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity * TempMinPLR
              CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp, &
                   0.0d0, TempMinPLR, HeatCoilLoad,0.0d0, TempHeatOutput, TempLatentOutput, OnOffAirFlowRatio, .FALSE.)
            END DO
!           Now solve again with tighter PLR limits
            CALL SolveRegulaFalsi(HeatErrorToler,MaxIter,SolFlag,PartLoadRatio,CalcFurnaceResidual,TempMinPLR,TempMaxPLR,Par)
            IF(ModifiedHeatCoilLoad .GT. 0.0d0)THEN
              HeatCoilLoad = ModifiedHeatCoilLoad
            ELSE
              HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity * PartLoadRatio
            END IF
            CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp, &
                    0.0d0, PartLoadRatio, HeatCoilLoad,0.0d0, TempHeatOutput, TempLatentOutput, OnOffAirFlowRatio, .FALSE.)

!           After iterating with tighter boundaries, if still out of tolerance, show warning.
            IF(SolFlag == -1 .AND. ABS(SystemSensibleLoad - TempHeatOutput) .GT. SmallLoad)THEN
              IF(Furnace(FurnaceNum)%HeatingMaxIterIndex == 0)THEN
                CALL ShowWarningMessage('Heating coil control failed to converge for ' &
                      //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                CALL ShowContinueError('  Iteration limit exceeded in calculating heating coil sensible part-load ratio.')
                CALL ShowContinueErrorTimeStamp('Sensible load to be met by heating coil = ' &
                     //TRIM(TrimSigDigits(SystemSensibleLoad,2))//' (watts), sensible output of heating coil = ' &
                     //TRIM(TrimSigDigits(TempHeatOutput,2))//' (watts), and the simulation continues.')
              END IF
              CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                  //TRIM(Furnace(FurnaceNum)%Name)//'" - Iteration limit exceeded in calculating'// &
                  ' sensible heating part-load ratio error continues. Sensible load statistics:' &
                  ,Furnace(FurnaceNum)%HeatingMaxIterIndex,SystemSensibleLoad,SystemSensibleLoad)
            END IF
          ELSE IF (SolFlag == -2) THEN
            IF(Furnace(FurnaceNum)%HeatingRegulaFalsiFailedIndex == 0)THEN
              CALL ShowWarningMessage('Heating coil control failed for ' &
                  //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
              CALL ShowContinueError('  Sensible heating part-load ratio determined to be outside the range of 0-1.')
              CALL ShowContinueErrorTimeStamp('Sensible load to be met by heating coil = ' &
                   //TRIM(TrimSigDigits(SystemSensibleLoad,2))//' (watts), and the simulation continues.')
            END IF
            CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                //TRIM(Furnace(FurnaceNum)%Name)//'" - '// &
                ' Sensible heating part-load ratio out of range error continues. Sensible load statistics:' &
                ,Furnace(FurnaceNum)%HeatingRegulaFalsiFailedIndex,SystemSensibleLoad,SystemSensibleLoad)
          END IF
        END IF

      ELSE  !ELSE from IF(FullSensibleOutput.GT.NoSensibleOutput)THEN above
        ! Set part load ratio to 1 and run heater at design heating capacity
        PartLoadRatio = 1.0d0
        HeatCoilLoad = Furnace(FurnaceNum)%DesignHeatingCapacity
      END IF

    END IF !End of IF HeatPump

  END IF !End of IF for heating

! Non-heat pump systems do not set a heating PLR, set it here for use with the DX cooling coil calculations.
! Set this variable back to 0 for non-heat pump systems at the end of this routine.
  Furnace(FurnaceNum)%HeatPartLoadRatio = MAX(PartLoadRatio,Furnace(FurnaceNum)%HeatPartLoadRatio)
  CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,0.0d0, &
                         Furnace(FurnaceNum)%HeatPartLoadRatio,HeatCoilLoad,0.0d0,  &
                         HeatingSensibleOutput,HeatingLatentOutput, OnOffAirFlowRatio, .FALSE.)

  IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir  .OR. &
     (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WaterToAir  .AND. &
      Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple ) .AND. CoolingLoad) THEN
      HeatingSensibleOutput = 0.0d0
      HeatingLatentOutput = 0.0d0
  ENDIF
!***********Cooling Section*****************
! Simulate if scheduled ON and cooling load or if a moisture load exists when using a humidistat
! Check of HeatingLatentOutput is used to reduce overshoot during simultaneous heating and cooling
! Setback flag is used to avoid continued RH control when Tstat is setback (RH should float down)
    IF((GetCurrentScheduleValue(Furnace(FurnaceNum)%SchedPtr) .gt. 0.0d0 .and. CoolingLoad) .or. &
       (Furnace(FurnaceNum)%Humidistat .AND. &
        Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_CoolReheat .and. &
       (SystemMoistureLoad.lt.0.0d0 .OR. (SystemMoistureLoad .GE. 0.0d0 .AND. &
       HeatingLatentOutput .GT. SystemMoistureLoad .AND. .NOT. Setback(Furnace(FurnaceNum)%ControlZoneNum))))) THEN


!     For cooling operation, the first step is to set the HX operation flag in case a HX assisted coil is used.
!      (if a HX assisted coil is not used, this flag is not used. It's only used in the CALL to SimHXAssistedCoolingCoil)
!     Check the dehumidification control type:
!           For dehumidification control options CoolReheat and None, the HX is always active (locked ON).
!           For dehumidification control option Multimode, the system is operated first with the HX off.
!           If the moisture load is not met, the HX will then be turned on and the system is re-simulated.

      IF(Furnace(FurnaceNum)%DehumidControlType_Num .EQ. DehumidControl_CoolReheat .OR. &
         Furnace(FurnaceNum)%DehumidControlType_Num .EQ. DehumidControl_None) THEN
        HXUnitOn = .TRUE.
      ELSE
        HXUnitOn = .FALSE.
      END IF

!     The next step is to determine the system output at no load (PLR=0) and full load (PLR=1)

!     Set the inlet mass flow rate based on user specified coil OFF flow rate
      PartLoadRatio = 0.0d0

      Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0    !compressor off
      Furnace(FurnaceNum)%WSHPRuntimeFrac = 0.0d0

!     SetAverageAirFlow calculates the operating mass flow rate based on PLR and the user specified inputs
!     for MaxCoolAirMassFlow and MaxNoCoolHeatAirMassFlow.
!     Air flow rate is set according to max of cooling and heating PLR if heating and latent load exists.
      IF(OpMode .EQ. CycFanCycCoil .AND. &
         Furnace(FurnaceNum)%HeatPartLoadRatio .GT. 0.0d0 .AND. &
         Furnace(FurnaceNum)%Humidistat .AND. &
         Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_CoolReheat .AND. &
        (SystemMoistureLoad.lt.0.0d0 .OR. (SystemMoistureLoad .GE. 0.0d0 .AND. &
         HeatingLatentOutput .GT. SystemMoistureLoad .AND. .NOT. Setback(Furnace(FurnaceNum)%ControlZoneNum)))) THEN
         CoolingHeatingPLRRatio = MIN(1.0d0,PartLoadRatio/Furnace(FurnaceNum)%HeatPartLoadRatio)
        CALL SetAverageAirFlow(FurnaceNum, MAX(PartLoadRatio,Furnace(FurnaceNum)%HeatPartLoadRatio), OnOffAirFlowRatio)

      ELSE
        CoolingHeatingPLRRatio = 1.0d0
        CALL SetAverageAirFlow(FurnaceNum, PartLoadRatio, OnOffAirFlowRatio)

      END IF

      ! Get no load result (coils simulated OFF)
      CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,MinPLR,PartLoadRatio,0.0d0,0.0d0, &
                             NoCoolOutput, NoLatentOutput, OnOffAirFlowRatio, HXUnitOn, CoolingHeatingPLRRatio)

!     Don't calculate full load output if no load output can meet sensible load
      IF(NoCoolOutput .GE. CoolCoilLoad .AND. (CoolCoilLoad .NE. 0.0d0 .OR. HPDehumidificationLoadFlag))THEN
!       Set full mass flow rate for full load calculation
        Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace


        ! Set fan part-load fraction equal to 1 while getting full load result
        OnOffFanPartLoadFraction = 1.0d0
        OnOffAirFlowRatio        = 1.0d0
        PartLoadRatio            = 1.0d0
        Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0    !compressor ON
        Furnace(FurnaceNum)%WSHPRuntimeFrac   = 1.0d0

        ! Get full load result (coils simulated full ON)
        CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,PartLoadRatio,0.0d0,0.0d0,0.0d0, &
                               FullSensibleOutput, FullLatentOutput, OnOffAirFlowRatio, HXUnitOn)
      ELSE
        FullSensibleOutput = NoCoolOutput - 0.00000001d0
      END IF

!     The next step is to compare the results of the full load and no load results
!
!     1) Since we are cooling, we expect FullSensibleOutput < NoCoolOutput
!        Check that this is the case; if not set PartLoadRatio = 0.0 (off)
!     2) Verify that the load to be met is within the range of available output
!        (i.e. between FullSensibleOutput and NoCoolOutput)
!     3) Set PLR if load is out of range or RegulaFalsi on PLR if system can meet the load
!
      IF(FullSensibleOutput.LT.NoCoolOutput)THEN
        IF(CoolCoilLoad .NE. 0.0d0 .OR. HPDehumidificationLoadFlag)THEN

!           check bounds on sensible output prior to iteration using RegulaFalsi
!           Negative value represents cooling load, IF FullSensibleOutput .GT. CoolCoilLoad, load is greater than capacity
            IF(FullSensibleOutput .GE. CoolCoilLoad)THEN
              PartLoadRatio = 1.0d0
!           Likewise IF NoCoolOutput .LT. CoolCoilLoad, then load can be met using only the fan (constant fan mode only)
            ELSEIF(NoCoolOutput .LE. CoolCoilLoad)THEN
              PartLoadRatio = 0.0d0
!           ELSE load is between NoCoolOutput and FullSensibleOuput, find PLR required to meet load
            ELSE

            ! Calculate the sensible part load ratio through iteration
              CoolErrorToler = Furnace(FurnaceNum)%CoolingConvergenceTolerance !Error tolerance for convergence from input deck
              SolFlag = 0    ! # of iterations if positive, -1 means failed to converge, -2 means bounds are incorrect
              Par(1)  = REAL(FurnaceNum,r64)
              Par(2)  = 0.0d0  ! FLAG, if 1.0 then FirstHVACIteration equals TRUE, if 0.0 then FirstHVACIteration equals false
              IF(FirstHVACIteration)Par(2)=1.0d0
              Par(3)  = REAL(OpMode,r64)
              Par(4)  = REAL(CompOp,r64)
              Par(5)  = CoolCoilLoad
              Par(6)  = 1.0d0 ! FLAG, 0.0 if heating load, 1.0 if cooling or moisture load
              Par(7)  = 1.0d0 ! FLAG, 0.0 if latent load, 1.0 if sensible load to be met
              Par(8)  = OnOffAirFlowRatio ! Ratio of compressor ON mass flow rate to AVERAGE mass flow rate over time step
              IF(HXUnitOn)THEN
                Par(9) = 1.0d0
              ELSE
                Par(9) = 0.0d0
              END IF
!             Par(10) is the heating coil PLR, set this value to 0 for sensible PLR calculations.
              Par(10) = 0.0d0
!             CoolErrorToler is in fraction of load, MaxIter = 30, SolFalg = # of iterations or error as appropriate
              CALL SolveRegulaFalsi(CoolErrorToler, MaxIter, SolFlag, PartLoadRatio, CalcFurnaceResidual, 0.0d0, 1.0d0, Par)
!             OnOffAirFlowRatio is updated during the above iteration. Reset to correct value based on PLR.
              OnOffAirFlowRatio = OnOffAirFlowRatioSave
              IF (SolFlag == -1) THEN
                CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,PartLoadRatio, &
                               0.0d0,0.0d0,0.0d0, TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, HXUnitOn)
                IF(.NOT. WarmupFlag)THEN
                  IF(ABS(CoolCoilLoad - TempCoolOutput) .GT. SmallLoad)THEN
                    IF(Furnace(FurnaceNum)%SensibleMaxIterIndex == 0)THEN
                      CALL ShowWarningMessage('Cooling coil control failed to converge for ' &
                                //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                      CALL ShowContinueError('  Iteration limit exceeded in calculating DX cooling coil sensible part-load ratio.')
                      CALL ShowContinueErrorTimeStamp('Sensible load to be met by DX coil = ' &
                           //TRIM(TrimSigDigits(CoolCoilLoad,2))//' (watts), sensible output of DX coil = ' &
                           //TRIM(TrimSigDigits(TempCoolOutput,2))//' (watts), and the simulation continues.')
                    END IF
                    CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                        //TRIM(Furnace(FurnaceNum)%Name)//'" - Iteration limit exceeded in calculating'// &
                        ' sensible cooling part-load ratio error continues. Sensible load statistics:' &
                        ,Furnace(FurnaceNum)%SensibleMaxIterIndex,CoolCoilLoad,CoolCoilLoad)
                  END IF
                END IF
              ELSE IF (SolFlag == -2) THEN
                IF(.NOT. WarmupFlag)THEN
                  IF(Furnace(FurnaceNum)%SensibleRegulaFalsiFailedIndex == 0)THEN
                    CALL ShowWarningMessage('Cooling coil control failed for ' &
                            //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                    CALL ShowContinueError('  Cooling sensible part-load ratio determined to be outside the range of 0-1.')
                    CALL ShowContinueErrorTimeStamp('  Cooling sensible load = '//TRIM(TrimSigDigits(CoolCoilLoad,2)))
                  END IF
                  CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                      //TRIM(Furnace(FurnaceNum)%Name)//'" - Cooling sensible part-load ratio out of range'// &
                      ' error continues. Sensible cooling load statistics:' &
                      ,Furnace(FurnaceNum)%SensibleRegulaFalsiFailedIndex,CoolCoilLoad,CoolCoilLoad)
                END IF
              END IF
            END IF

        ELSE
          PartLoadRatio = 0.0d0
        END IF ! EndIf for IF(CoolCoilLoad.NE.0.0)

!       Calculate the delivered capacity from the PLR caculated above
        CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,PartLoadRatio,Furnace(FurnaceNum)%HeatPartLoadRatio, &
                               0.0d0,0.0d0, TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, HXUnitOn)

!       Calculate the latent part load ratio through iteration
!       Negative SystemMoistureLoad means dehumidification load is present
!
!       IF this furnace uses MultiMode control AND there is a moisture load AND the moisture load met by the furnace in
!       cooling only mode above is sufficient to meet the moisture demand OR there is no sensible load (PLR=0 from above)
!       then set LatentPartLoadRatio to 0 (no additional dehumidification is required).
        IF(Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_Multimode .AND. ((SystemMoistureLoad .LT. 0.0d0 .AND. &
           TempLatentOutput .LT. SystemMoistureLoad) .OR. PartLoadRatio .EQ. 0.0d0)) THEN
          LatentPartLoadRatio = 0.0d0
!       ELSE calculate a new PLR for valid dehumidification control types if a moisture load exists.
        ELSE IF(Furnace(FurnaceNum)%DehumidControlType_Num /= DehumidControl_None .AND. &
             (SystemMoistureLoad .LT. 0.0d0 .OR. (SystemMoistureLoad .GE. 0.0d0 .AND. TempLatentOutput .GT. SystemMoistureLoad &
             .AND. .NOT. Setback(Furnace(FurnaceNum)%ControlZoneNum))))THEN

!         IF the furnace uses dehumidification control MultiMode, turn on the HX and calculate the latent output with
!         the HX ON to compare to the moisture load predicted by the humidistat.
          IF(Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_Multimode)THEN
            HXUnitOn = .TRUE.
            Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace
            ! Set fan part-load fraction equal to 1 while getting full load result
            OnOffFanPartLoadFraction = 1.0d0
            OnOffAirFlowRatio        = 1.0d0
            ! Get full load result
            CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,1.0d0,0.0d0,0.0d0,0.0d0, TempCoolOutput, &
                             TempLatentOutput, OnOffAirFlowRatio, HXUnitOn)
          END IF

!         Set the global cooling to heating PLR ratio. CoolHeatPLRRat = MIN(1,CoolingPLR/HeatingPLR)
          CoolHeatPLRRat = 1.0d0 ! means cooling dominated operation (applies to cycling fan mode)

          IF(TempLatentOutput .GT. SystemMoistureLoad)THEN
!           Set full mass flow rate for full load calculation
            Node(FurnaceInletNode)%MassFlowRate = Furnace(FurnaceNum)%MdotFurnace


            ! Set fan part-load fraction equal to 1 while getting full load result
            OnOffFanPartLoadFraction = 1.0d0
            OnOffAirFlowRatio        = 1.0d0
            Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0    !compressor ON
            Furnace(FurnaceNum)%WSHPRuntimeFrac   = 1.0d0

            ! Get full load result (coils simulated full ON)
            CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,1.0d0,0.0d0,0.0d0,0.0d0, &
                                   TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, HXUnitOn)
          END IF

!         check bounds on latent output prior to iteration using RegulaFalsi
          IF(TempLatentOutput .GT. SystemMoistureLoad .OR. &
            (Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_Multimode .AND. TempCoolOutput.GT.CoolCoilLoad))THEN
            LatentPartLoadRatio = 1.0d0
          ELSEIF(NoLatentOutput .LT. SystemMoistureLoad .OR. HeatingLatentOutput .LT. SystemMoistureLoad)THEN
            LatentPartLoadRatio = 0.0d0
          ELSE

            CoolErrorToler = Furnace(FurnaceNum)%CoolingConvergenceTolerance !Error tolerance for convergence

            SolFlag = 0    ! # of iterations if positive, -1 means failed to converge, -2 means bounds are incorrect
            Par(1)  = REAL(FurnaceNum,r64)
            Par(2)  = 0.0d0  ! FLAG, if 1.0 then FirstHVACIteration equals TRUE, if 0.0 then FirstHVACIteration equals false
            IF(FirstHVACIteration)Par(2)=1.0d0
            Par(3)  = REAL(OpMode,r64)
            Par(4)  = REAL(CompOp,r64)
!           Multimode always controls to meet the SENSIBLE load (however, HXUnitOn is now TRUE)
            IF(Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_Multimode)THEN
              Par(5) = CoolCoilLoad
            ELSE
              Par(5) = SystemMoistureLoad
            END IF
            Par(6)  = 1.0d0 ! FLAG, 0.0 if heating load, 1.0 if cooling or moisture load
!           Multimode always controls to meet the SENSIBLE load (however, HXUnitOn is now TRUE)
            IF(Furnace(FurnaceNum)%DehumidControlType_Num == DehumidControl_Multimode)THEN
              Par(7) = 1.0d0 ! FLAG, 0.0 if latent load, 1.0 if sensible load to be met
            ELSE
              Par(7) = 0.0d0
            END IF
            Par(8)  = OnOffAirFlowRatio ! Ratio of compressor ON mass flow rate to AVERAGE mass flow rate over time step
            IF(HXUnitOn)THEN
              Par(9) = 1.0d0
            ELSE
              Par(9) = 0.0d0
            END IF
!           Par(10) used only with cycling fan.
!           Par(10) is the heating coil PLR, set this value only if there is a heating load (heating PLR > 0)
!           and the latent PLR is being calculated. Otherwise set Par(10) to 0.
            IF(OpMode .EQ. CycFanCycCoil .AND. Furnace(FurnaceNum)%HeatPartLoadRatio .GT. 0.0d0 .AND. Par(7) .EQ. 0.0d0)THEN
              Par(10) = Furnace(FurnaceNum)%HeatPartLoadRatio
            ELSE
              Par(10) = 0.0d0
            END IF
!           CoolErrorToler is in fraction of load, MaxIter = 30, SolFalg = # of iterations or error as appropriate
            CALL SolveRegulaFalsi(CoolErrorToler, MaxIter, SolFlag, LatentPartLoadRatio, CalcFurnaceResidual, 0.0d0, 1.0d0, Par)
!           OnOffAirFlowRatio is updated during the above iteration. Reset to correct value based on PLR.
            OnOffAirFlowRatio = OnOffAirFlowRatioSave
            IF (SolFlag == -1) THEN
!             RegulaFalsi may not find latent PLR when the latent degradation model is used.
!             If iteration limit is exceeded, find tighter boundary of solution and repeat RegulaFalsi
              TempMaxPLR = -0.1d0
              TempLatentOutput = NoLatentOutput
              DO WHILE((TempLatentOutput - SystemMoistureLoad) .GT. 0.0d0 .AND. TempMaxPLR .LT. 1.0d0)
!               find upper limit of LatentPLR
                TempMaxPLR = TempMaxPLR + 0.1d0

!               Same calculation as is done in Function CalcFurnaceResidual for latent PLR calculation.
!               Set cooling to heating PLR for use with Subroutine CalcFurnaceOutput. IF Par(10) = 0,
!               heating PLR = 0 so set the CoolingHeatingPLRRatio to 1 so the cooling PLR is used in the
!               DX cooling coil calculations.
                IF(Par(10) .GT. 0.0d0)THEN
!                 Par(10) = Furnace(FurnaceNum)%HeatPartLoadRatio
!                 OpMode = CycFan and Furnace(FurnaceNum)%HeatPartLoadRatio must be > 0 for Part(10) to be greater than 0
                  CoolingHeatingPLRRatio = MIN(1.0d0,TempMaxPLR/Furnace(FurnaceNum)%HeatPartLoadRatio)
                ELSE
                  CoolingHeatingPLRRatio = 1.0d0
                END IF

                CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,TempMaxPLR, &
                                       0.0d0,0.0d0,0.0d0, TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, &
                                       HXUnitOn, CoolingHeatingPLRRatio)
              END DO
              TempMinPLR = TempMaxPLR
              DO WHILE((TempLatentOutput - SystemMoistureLoad) .LT. 0.0d0 .AND. TempMinPLR .GT. 0.0d0)
!               pull upper limit of LatentPLR down to last valid limit (i.e. latent output still exceeds SystemMoisuterLoad)
!               CR7558 - relax final limits to allow HX assisted coils to converge
                TempMaxPLR = TempMinPLR + 0.001d0
!               find minimum limit of Latent PLR
                TempMinPLR = TempMinPLR - 0.001d0

!               Set cooling to heating PLR for use with Subroutine CalcFurnaceOutput.
                IF(Par(10) .GT. 0.0d0)THEN
!                 Par(10) = Furnace(FurnaceNum)%HeatPartLoadRatio
!                 OpMode = CycFan and Furnace(FurnaceNum)%HeatPartLoadRatio must be > 0 for Part(10) to be greater than 0
!                 Since the latent output of cycling fan systems is 0 at PLR=0, do not allow the PLR to be 0,
!                 otherwise RegulaFalsi can fail when a heating and moisture load exists and heating PLR > latent PLR.
                  TempMinPLR2 = MAX(0.0000000001d0,TempMinPLR)
                  CoolingHeatingPLRRatio = MIN(1.0d0,TempMinPLR2/Furnace(FurnaceNum)%HeatPartLoadRatio)
                ELSE
                  TempMinPLR2 = TempMinPLR
                  CoolingHeatingPLRRatio = 1.0d0
                END IF

                CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,TempMinPLR2, &
                                       0.0d0,0.0d0,0.0d0, TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, &
                                       HXUnitOn, CoolingHeatingPLRRatio)
              END DO
!             tighter boundary of solution has been found, call RegulaFalsi a second time
              CALL SolveRegulaFalsi(CoolErrorToler,MaxIter,SolFlag,LatentPartLoadRatio, &
                                    CalcFurnaceResidual,TempMinPLR2,TempMaxPLR,Par)
!             OnOffAirFlowRatio is updated during the above iteration. Reset to correct value based on PLR.
              OnOffAirFlowRatio = OnOffAirFlowRatioSave
              IF (SolFlag == -1) THEN

!               Set cooling to heating PLR for use with Subroutine CalcFurnaceOutput.
                IF(Par(10) .GT. 0.0d0)THEN
!                 Par(10) = Furnace(FurnaceNum)%HeatPartLoadRatio
!                 OpMode = CycFan and Furnace(FurnaceNum)%HeatPartLoadRatio must be > 0 for Part(10) to be greater than 0
                  CoolingHeatingPLRRatio = MIN(1.0d0,LatentPartLoadRatio/Furnace(FurnaceNum)%HeatPartLoadRatio)
                ELSE
                  CoolingHeatingPLRRatio = 1.0d0
                END IF

                CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,LatentPartLoadRatio, &
                                       0.0d0,0.0d0,0.0d0, TempCoolOutput, TempLatentOutput, OnOffAirFlowRatio, &
                                       HXUnitOn, CoolingHeatingPLRRatio)
                IF(ABS((SystemMoistureLoad - TempLatentOutput)/SystemMoistureLoad) .GT. CoolErrorToler .AND. &
                   ABS(SystemMoistureLoad - TempLatentOutput).GT. 10.0d0)THEN
                  IF(.NOT. WarmupFlag)THEN
                    IF(Furnace(FurnaceNum)%LatentMaxIterIndex == 0)THEN
                      CALL ShowWarningMessage('Cooling coil control failed to converge for ' &
                             //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                      CALL ShowContinueError('  Iteration limit exceeded in calculating cooling coil latent part-load ratio.')
                      CALL ShowContinueError('  Latent load convergence error (percent) = '// &
                                  TRIM(TrimSigDigits(100.0d0*ABS((SystemMoistureLoad - TempLatentOutput)/SystemMoistureLoad),2)))
                      CALL ShowContinueErrorTimeStamp('Moisture load to be met by DX coil = ' &
                           //TRIM(TrimSigDigits(SystemMoistureLoad,2))//' (watts), Latent output of DX coil = ' &
                           //TRIM(TrimSigDigits(TempLatentOutput,2))//' (watts), and the simulation continues.')
                    ENDIF
                    CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                        //TRIM(Furnace(FurnaceNum)%Name)//'" - Iteration limit exceeded in calculating'// &
                        ' latent part-load ratio error continues. Latent load convergence error (percent) statistics follow.' &
                        ,Furnace(FurnaceNum)%LatentMaxIterIndex, &
                            100.0d0*ABS((SystemMoistureLoad - TempLatentOutput)/SystemMoistureLoad), &
                            100.0d0*ABS((SystemMoistureLoad - TempLatentOutput)/SystemMoistureLoad))
                  END IF
                END IF
              ELSE IF (SolFlag == -2) THEN
                IF(Furnace(FurnaceNum)%LatentRegulaFalsiFailedIndex2 == 0)THEN
                  CALL ShowWarningMessage('Cooling coil control failed for ' &
                        //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                  CALL ShowContinueError('  Latent part-load ratio determined to be outside the range of ' &
                                       //TrimSigDigits(TempMinPLR,3)//' to '//TrimSigDigits(TempMaxPLR,3)//'.')
                  CALL ShowContinueErrorTimeStamp('A PLR of '//TRIM(TrimSigDigits(TempMinPLR,3))//' will be used and the ' &
                                                //'simulation continues.')
                ENDIF
                CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                    //TRIM(Furnace(FurnaceNum)%Name)//'" - Cooling sensible part-load ratio out of range'// &
                    ' error continues. System moisture load statistics:' &
                    ,Furnace(FurnaceNum)%LatentRegulaFalsiFailedIndex2,SystemMoistureLoad,SystemMoistureLoad)
                LatentPartLoadRatio = TempMinPLR
              END IF
            ELSE IF (SolFlag == -2) THEN
              IF(Furnace(FurnaceNum)%LatentRegulaFalsiFailedIndex == 0)THEN
                CALL ShowWarningMessage('Cooling coil control failed for ' &
                      //TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//':'//TRIM(Furnace(FurnaceNum)%Name))
                CALL ShowContinueError('  Latent part-load ratio determined to be outside the range of 0-1.')
                CALL ShowContinueErrorTimeStamp('A PLR of 0 will be used and the simulation continues.')
              ENDIF
              CALL ShowRecurringWarningErrorAtEnd(TRIM(cFurnaceTypes(Furnace(FurnaceNum)%FurnaceType_Num))//' "'&
                  //TRIM(Furnace(FurnaceNum)%Name)//'" - Latent part-load ratio out of range or 0-1'// &
                  ' error continues. System moisture load statistics:' &
                  ,Furnace(FurnaceNum)%LatentRegulaFalsiFailedIndex,SystemMoistureLoad,SystemMoistureLoad)
              LatentPartLoadRatio = 0.0d0
            END IF
          END IF

!         Cooling to heating PLR ratio is now known as CoolHeatPLRRat (Module level global set in CalcFurnaceOutput
!         This same variable is use in Subroutine SimFurnace for final calculations.
!         Get the actual output in case reheat needs to be calculated (HumControl=TRUE [latent PLR > sensible PLR])
          CALL CalcFurnaceOutput(FurnaceNum,FirstHVACIteration,OpMode,CompOp,LatentPartLoadRatio, &
                                0.0d0,0.0d0,0.0d0,ActualSensibleOutput, ActualLatentOutput, OnOffAirFlowRatio, &
                                HXUnitOn, CoolHeatPLRRat)

        ELSE
          LatentPartLoadRatio = 0.0d0
        END IF !ENDIF for valid dehumidification control types

!       IF a humidistat is used and there is a moisture load, check if the latent PLR is greater than the (sensible) PLR
!        IF(LatentPartLoadRatio .GT. PartLoadRatio .and. SystemMoistureLoad .lt. 0.0 .and. Furnace(FurnaceNum)%Humidistat) THEN
        IF(LatentPartLoadRatio .GT. PartLoadRatio .and. Furnace(FurnaceNum)%Humidistat) THEN
!         For dehumidification mode CoolReheat, compare the Sensible and Latent PLR values, if latentPLR is greater
!         than PLR (sensible), then overcooling is required and reheat will be activated using the HumControl flag.
          IF(Furnace(FurnaceNum)%DehumidControlType_Num .EQ. DehumidControl_CoolReheat)THEN
            PartLoadRatio = LatentPartLoadRatio
            HumControl = .TRUE.
          END IF
!         For dehumidification mode MultiMode, compare the Sensible and Latent PLR values, if latentPLR is
!         greater than PLR (sensible), then use the latent PLR to control the unit.
!         For MultiMode control, the latent PLR is found by enabling the HX and calculating a PLR required to meet the sensible
!         load. Overcooling is not required, and reheat will not be activated using the HumControl flag.
          IF(Furnace(FurnaceNum)%DehumidControlType_Num .EQ. DehumidControl_Multimode)THEN
            PartLoadRatio = LatentPartLoadRatio
          END IF
        END IF

        Furnace(FurnaceNum)%CoolPartLoadRatio = PartLoadRatio
        IF (CompOp == Off) THEN
          Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
        ELSE
          Furnace(FurnaceNum)%CompPartLoadRatio = PartLoadRatio
        END IF


      ELSE  !ELSE from IF(FullSensibleOutput.LT.NoCoolOutput)THEN above
      ! CR8679 - Unitary Heat Cool control problem, will not run to meeting cooling load
      ! underlying problem is that FullSensibleOutput is greater than 0 due to very high inlet temp, so the system should be on
      ! NoCoolOutput was 0 since the defect file is a cycling fan system and the system was turned off

      ! if FullSensibleOutput > NoCoolOutput, it means the system cannot meet the load and will run full out
      ! this same logic for WSHP does not seem to work (only the Unitary Heat Pump Compressor Part-Load Ratio report
      ! variable was affected in the HeatPumpWaterToAirRHControl.idf file while other variables showed very small diffs).
      ! The defect files meter.csv showed 2% diffs so this IF test is used to keep the results the same in that file.
      ! Additional logic is used here to make sure the coil actually turned on, e.g., if DX coil PLR > 0 then set to 1,
      ! otherwise 0 (to make sure coil is actually ON and not off due to schedule, OAT, or other reason).
      ! The global variable DXCoilPartLoadRatio(DXCoilNum) is not yet used for the WSHP to make the same check.
        IF(Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WaterToAir) THEN
          Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
          Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
        ELSE
          IF(Furnace(FurnaceNum)%CoolingCoilType_Num == CoilDX_CoolingHXAssisted)THEN
            IF(DXCoilPartLoadRatio(Furnace(FurnaceNum)%ActualDXCoilIndexforHXAssisted) .GT. 0.d0)THEN
              Furnace(FurnaceNum)%CoolPartLoadRatio = 1.0d0
              Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0
            ELSE
              Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
              Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
            END IF
          ELSE
            IF(DXCoilPartLoadRatio(Furnace(FurnaceNum)%CoolingCoilIndex) .GT. 0.d0)THEN
              Furnace(FurnaceNum)%CoolPartLoadRatio = 1.0d0
              Furnace(FurnaceNum)%CompPartLoadRatio = 1.0d0
            ELSE
              Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
              Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
            END IF
          END IF
        END IF
      ENDIF

!     Calculate the reheat coil output
      IF(HumControl)THEN ! HumControl = .TRUE. if a Humidistat is installed and dehumdification control type is CoolReheat
        IF (Furnace(FurnaceNum)%ZoneSequenceHeatingNum > 0) THEN
          QToHeatSetPt=(ZoneSysEnergyDemand(Furnace(FurnaceNum)%ControlZoneNum)% &
                         SequencedOutputRequiredToHeatingSP(Furnace(FurnaceNum)%ZoneSequenceHeatingNum) / &
                         Furnace(FurnaceNum)%ControlZoneMassFlowFrac)
        ELSE
          QToHeatSetPt=(ZoneSysEnergyDemand(Furnace(FurnaceNum)%ControlZoneNum)%OutputRequiredToHeatingSP / &
                      Furnace(FurnaceNum)%ControlZoneMassFlowFrac)
        ENDIF
!       Cooling mode or floating condition and dehumidification is required
        IF(QToHeatSetPt .LT. 0.0d0)THEN
!         Calculate the reheat coil load wrt the heating setpoint temperature. Reheat coil picks up
!         the entire excess sensible cooling (DX cooling coil and impact of outdoor air).
          ReheatCoilLoad = MAX(0.0d0,(QToHeatSetPt-ActualSensibleOutput))
          Furnace(FurnaceNum)%DehumidInducedHeatingDemandRate = ReheatCoilLoad
!       Heating mode and dehumidification is required
        ELSEIF(QToHeatSetPt .GE. 0.0d0)THEN
!         Calculate the reheat coil load as the sensible capacity of the DX cooling coil only. Let
!         the heating coil pick up the load due to outdoor air.
          ReheatCoilLoad = MAX(0.0d0,(ActualSensibleOutput-NoCoolOutput)*(-1.0d0))
!         Dehumidification is not required
          IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir .OR. &
             (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WaterToAir .AND. &
              Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple )) THEN
              ReheatCoilLoad = MAX(QToHeatSetPt,QToHeatSetPt-ActualSensibleOutput)
          ENDIF
          Furnace(FurnaceNum)%DehumidInducedHeatingDemandRate = MAX(0.0d0,ActualSensibleOutput*(-1.0d0))
        ELSE
          ReheatCoilLoad = 0.0d0
        END IF
      ELSE
!       No humidistat installed
        ReheatCoilLoad = 0.0d0
      END IF
    END IF !End of cooling section IF statement

    IF(NoHeatOutput .GT. SystemSensibleLoad .AND. ReHeatCoilLoad .GT. 0.0d0) THEN
    ! Reduce reheat coil load if you are controlling high humidity but outside air
    ! and/or the supply air fan is providing enough heat to meet the system sensible load.
    ! This will bring the zone temp closer to the heating setpoint temp.
      ReHeatCoilLoad = MAX(0.0d0,ReHeatCoilLoad-(NoHeatOutput-SystemSensibleLoad))
    END IF

    ! Set the final air flow. MdotFurnace will be used to set the fan part-load ratio in ReportFurnace
    IF(HumControl .AND. SystemMoistureLoad .LT. 0.0d0)THEN
      IF(OpMode .EQ. CycFanCycCoil)THEN
!       set the flow rate at the maximum of the cooling and heating PLR's
        CALL SetAverageAirFlow(FurnaceNum, &
          MAX(Furnace(FurnaceNum)%CoolPartLoadRatio,Furnace(FurnaceNum)%HeatPartLoadRatio), OnOffAirFlowRatio)
      ELSE
!       ELSE set the flow rate at the cooling PLR
        CALL SetAverageAirFlow(FurnaceNum, Furnace(FurnaceNum)%CoolPartLoadRatio, OnOffAirFlowRatio)
      END IF
    ELSE
      CALL SetAverageAirFlow(FurnaceNum, &
        MAX(Furnace(FurnaceNum)%CoolPartLoadRatio,Furnace(FurnaceNum)%HeatPartLoadRatio), OnOffAirFlowRatio)
    END IF
    Furnace(FurnaceNum)%MdotFurnace = Node(FurnaceInletNode)%MassFlowRate

    IF (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_AirToAir .OR. &
       (Furnace(FurnaceNum)%FurnaceType_Num == UnitarySys_HeatPump_WatertoAir .AND. &
        Furnace(FurnaceNum)%WatertoAirHPType == WatertoAir_Simple))THEN
    ELSE
    ! Non-HeatPump (non-DX) heating coils do not set PLR, reset to 0 here. This variable was set for non-DX
    ! coils to allow the SetAverageAirFlow CALL above to set the correct air mass flow rate. See this
    ! IF block above in heating section. HeatPLR is not set in the ELSE part of the IF (only HeatCoilLoad is set).
      Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
    END IF

!*********HVAC Scheduled OFF*************
    ! No heating or cooling or dehumidification
!!!LKL discrepancy with < 0?
    IF(GetCurrentScheduleValue(Furnace(FurnaceNum)%SchedPtr) .eq. 0.0d0 .OR. &
       Node(FurnaceInletNode)%MassFlowRate .eq. 0.0d0) THEN
      Furnace(FurnaceNum)%MdotFurnace = 0.0d0
      CoolCoilLoad = 0.0d0
      HeatCoilLoad = 0.0d0
      ReheatCoilLoad = 0.0d0
      OnOffFanPartLoadFraction = 1.0d0 ! System off, so set on/off fan part-load fraction = 1
      Furnace(FurnaceNum)%CoolPartLoadRatio = 0.0d0
      Furnace(FurnaceNum)%HeatPartLoadRatio = 0.0d0
      Furnace(FurnaceNum)%CompPartLoadRatio = 0.0d0
    !set report variables
      Furnace(FurnaceNum)%CoolingCoilSensDemand=0.0d0
      Furnace(FurnaceNum)%CoolingCoilLatentDemand=0.0d0
      Furnace(FurnaceNum)%HeatingCoilSensDemand=0.0d0
    END IF


  END IF   ! End of the FirstHVACIteration control of the mass flow If block


  ! Set the fan inlet node flow rates
    Node(FurnaceInletNode)%MassFlowRateMaxAvail = Furnace(FurnaceNum)%MdotFurnace
    Node(FurnaceInletNode)%MassFlowRate         = Furnace(FurnaceNum)%MdotFurnace
RETURN
END Subroutine CalcNewZoneHeatCoolFlowRates


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