GetSimpleAirModelInputs Subroutine

private subroutine GetSimpleAirModelInputs(ErrorsFound)

proc~~getsimpleairmodelinputs~~UsesGraph proc~getsimpleairmodelinputs GetSimpleAirModelInputs module~general General module~general->proc~getsimpleairmodelinputs module~inputprocessor InputProcessor module~inputprocessor->proc~getsimpleairmodelinputs module~systemavailabilitymanager SystemAvailabilityManager module~systemavailabilitymanager->proc~getsimpleairmodelinputs module~schedulemanager ScheduleManager module~schedulemanager->proc~getsimpleairmodelinputs module~schedulemanager->module~systemavailabilitymanager module~dataprecisionglobals DataPrecisionGlobals module~dataprecisionglobals->module~general module~dataprecisionglobals->module~inputprocessor module~dataprecisionglobals->module~systemavailabilitymanager module~dataprecisionglobals->module~schedulemanager module~dataglobals DataGlobals module~dataprecisionglobals->module~dataglobals module~dataipshortcuts DataIPShortCuts module~dataprecisionglobals->module~dataipshortcuts module~datasystemvariables DataSystemVariables module~dataprecisionglobals->module~datasystemvariables module~datasizing DataSizing module~dataprecisionglobals->module~datasizing module~datainterfaces DataInterfaces module~dataprecisionglobals->module~datainterfaces module~datahvacglobals DataHVACGlobals module~dataprecisionglobals->module~datahvacglobals module~dataheatbalance DataHeatBalance module~dataprecisionglobals->module~dataheatbalance module~dataairsystems DataAirSystems module~dataprecisionglobals->module~dataairsystems 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~dataplant DataPlant module~dataprecisionglobals->module~dataplant module~dataloopnode DataLoopNode module~dataprecisionglobals->module~dataloopnode module~dataenvironment DataEnvironment module~dataprecisionglobals->module~dataenvironment module~datastringglobals DataStringGlobals module~datastringglobals->module~inputprocessor module~datastringglobals->module~datasystemvariables module~dataglobals->module~inputprocessor module~dataglobals->module~systemavailabilitymanager module~dataglobals->module~schedulemanager module~dataglobals->module~dataipshortcuts module~dataglobals->module~datasizing module~dataglobals->module~datahvacglobals module~dataglobals->module~dataheatbalance module~dataglobals->module~dataairsystems module~dataglobals->module~datawindowequivalentlayer module~dataglobals->module~databsdfwindow module~dataglobals->module~datacomplexfenestration module~dataglobals->module~datasurfaces module~dataglobals->module~dataplant module~dataglobals->module~dataloopnode module~dataglobals->module~dataenvironment module~dataipshortcuts->module~inputprocessor module~datasystemvariables->module~inputprocessor module~datasizing->module~inputprocessor module~datainterfaces->module~inputprocessor module~datainterfaces->module~systemavailabilitymanager module~datainterfaces->module~schedulemanager module~datahvacglobals->module~systemavailabilitymanager module~dataheatbalance->module~systemavailabilitymanager module~dataairsystems->module~systemavailabilitymanager 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~dataplant->module~dataairsystems module~dataloopnode->module~dataplant module~dataenvironment->module~schedulemanager
Help

Arguments

Type IntentOptional AttributesName
logical, intent(inout) :: ErrorsFound

Calls

proc~~getsimpleairmodelinputs~~CallsGraph proc~getsimpleairmodelinputs GetSimpleAirModelInputs znairrpt znairrpt proc~getsimpleairmodelinputs->znairrpt finditeminlist finditeminlist proc~getsimpleairmodelinputs->finditeminlist zoneairbalance zoneairbalance proc~getsimpleairmodelinputs->zoneairbalance verifyname verifyname proc~getsimpleairmodelinputs->verifyname roundsigdigits roundsigdigits proc~getsimpleairmodelinputs->roundsigdigits checkschedulevalueminmax checkschedulevalueminmax proc~getsimpleairmodelinputs->checkschedulevalueminmax interface~setupemsactuator SetupEMSActuator proc~getsimpleairmodelinputs->interface~setupemsactuator interface~setupoutputvariable SetupOutputVariable proc~getsimpleairmodelinputs->interface~setupoutputvariable infiltrationobjects infiltrationobjects proc~getsimpleairmodelinputs->infiltrationobjects refdoormixing refdoormixing proc~getsimpleairmodelinputs->refdoormixing gethybridventilationcontrolstatus gethybridventilationcontrolstatus proc~getsimpleairmodelinputs->gethybridventilationcontrolstatus crossmixing crossmixing proc~getsimpleairmodelinputs->crossmixing interface~showcontinueerror ShowContinueError proc~getsimpleairmodelinputs->interface~showcontinueerror getschedulevaluesforday getschedulevaluesforday proc~getsimpleairmodelinputs->getschedulevaluesforday zonelist zonelist proc~getsimpleairmodelinputs->zonelist interface~showwarningerror ShowWarningError proc~getsimpleairmodelinputs->interface~showwarningerror ventilationobjects ventilationobjects proc~getsimpleairmodelinputs->ventilationobjects interface~showsevereerror ShowSevereError proc~getsimpleairmodelinputs->interface~showsevereerror mixing mixing proc~getsimpleairmodelinputs->mixing checkcreatedzoneitemname checkcreatedzoneitemname proc~getsimpleairmodelinputs->checkcreatedzoneitemname ventilation ventilation proc~getsimpleairmodelinputs->ventilation getscheduleindex getscheduleindex proc~getsimpleairmodelinputs->getscheduleindex getobjectitem getobjectitem proc~getsimpleairmodelinputs->getobjectitem getnumobjectsfound getnumobjectsfound proc~getsimpleairmodelinputs->getnumobjectsfound getscheduleminvalue getscheduleminvalue proc~getsimpleairmodelinputs->getscheduleminvalue infiltration infiltration proc~getsimpleairmodelinputs->infiltration getobjectdefmaxargs getobjectdefmaxargs proc~getsimpleairmodelinputs->getobjectdefmaxargs getschedulename getschedulename proc~getsimpleairmodelinputs->getschedulename zone zone proc~getsimpleairmodelinputs->zone
Help

Called By

proc~~getsimpleairmodelinputs~~CalledByGraph proc~getsimpleairmodelinputs GetSimpleAirModelInputs proc~getairflowflag GetAirFlowFlag proc~getairflowflag->proc~getsimpleairmodelinputs proc~getairheatbalanceinput GetAirHeatBalanceInput proc~getairheatbalanceinput->proc~getairflowflag proc~manageairheatbalance ManageAirHeatBalance proc~manageairheatbalance->proc~getairheatbalanceinput
Help


Source Code

SUBROUTINE GetSimpleAirModelInputs(ErrorsFound)

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Linda Lawrie
          !       DATE WRITTEN   July 2000
          !       MODIFIED       Oct 2003,FCW: change "Infiltration-Air Change Rate" from Sum to State
          !       MODIFIED       Jan 2008,LG: Allow multiple infiltration and ventilation objects per zone
          !                      May 2009, BG: added calls to setup for possible EMS override
          !                      August 2011, TKS: added refrigeration door mixing
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! This subroutine gets the input for the "simple" air flow model.

          ! METHODOLOGY EMPLOYED:
          ! na

          ! REFERENCES:
          ! IDD Statements
          ! INFILTRATION,A1 [Zone Name],A2 [SCHEDULE Name],N1 [Design level KW],
          !     N2 [Constant Term Coefficient], N3 [Temperature Term Coefficient],
          !     N4 [Velocity Term Coefficient], N5 [Velocity Squared Term Coefficient];
          ! MIXING,A1 [Zone Name],A2 [SCHEDULE Name],N1 [Design Level], A3 [Source Zone Name],
          !     N2 [Delta Temperature delta C];
          ! CROSS MIXING,A1 [Zone Name],A2 [SCHEDULE Name],N1 [Design Level],
          !     A3 [Source Zone Name], N2 [Delta Temperature delta C];
          ! REFRIGERATION DOOR MIXING,A1 [Zone Name],A2 [Mate Zone Name],N1 [Design Level],
          !     A3 [Source Zone Name], N2 [Delta Temperature delta C];

          ! USE STATEMENTS:
  USE InputProcessor,  ONLY: GetNumObjectsFound,GetObjectItem,FindItemInList,VerifyName,GetObjectDefMaxArgs
  USE ScheduleManager, ONLY: GetScheduleIndex,GetScheduleValuesForDay,CheckScheduleValueMinMax,GetScheduleMinValue,GetScheduleName
  USE General,         ONLY: RoundSigDigits,CheckCreatedZoneItemName
!  USE DataIPShortCuts
  USE SystemAvailabilityManager, ONLY: GetHybridVentilationControlStatus

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
  LOGICAL, INTENT(INOUT) :: ErrorsFound ! IF errors found in input

          ! SUBROUTINE PARAMETER DEFINITIONS:
  CHARACTER(len=*), PARAMETER :: Blank=' '
  CHARACTER(len=*), PARAMETER :: fmta='(A)'
  REAL(r64),        PARAMETER :: VentilTempLimit = 100.d0 ! degrees Celsius
  REAL(r64),        PARAMETER :: MixingTempLimit = 100.d0 ! degrees Celsius
  REAL(r64),        PARAMETER :: VentilWSLimit = 40.d0 ! m/s
  CHARACTER(len=*), PARAMETER :: RoutineName='GetSimpleAirModelInputs: ' ! include trailing blank space
  ! Refrigeration Door Mixing Protection types, factors used to moderate mixing flow.
  REAL(r64), PARAMETER :: RefDoorNone = 0.0d0
  REAL(r64), PARAMETER :: RefDoorAirCurtain = 0.5d0
  REAL(r64), PARAMETER :: RefDoorStripCurtain =0.9d0
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na

          ! DERIVED TYPE DEFINITIONS:
          ! na

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  REAL(r64), ALLOCATABLE, DIMENSION(:,:) :: SVals1
  REAL(r64), ALLOCATABLE, DIMENSION(:,:) :: SVals2
  INTEGER :: NumAlpha                ! Number of Alphas for each GetobjectItem call
  INTEGER :: NumNumber               ! Number of Numbers for each GetobjectItem call
  INTEGER :: maxAlpha                ! max of Alphas for allocation
  INTEGER :: maxNumber               ! max of Numbers for allocation
  INTEGER :: NumArgs
  INTEGER :: IOStat
  CHARACTER(len=MaxNameLength),ALLOCATABLE, DIMENSION(:) :: cAlphaFieldNames
  CHARACTER(len=MaxNameLength),ALLOCATABLE, DIMENSION(:) :: cNumericFieldNames
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lNumericFieldBlanks
  LOGICAL, ALLOCATABLE, DIMENSION(:) :: lAlphaFieldBlanks
  CHARACTER(len=MaxNameLength),ALLOCATABLE, DIMENSION(:) :: cAlphaArgs
  REAL(r64),ALLOCATABLE, DIMENSION(:) :: rNumericArgs
  CHARACTER(len=MaxNameLength) :: cCurrentModuleObject

  INTEGER                         :: i
  INTEGER                         :: Loop
  INTEGER                         :: Loop1
  INTEGER                         :: JDay
  INTEGER                         :: Hr
  LOGICAL, DIMENSION(:), ALLOCATABLE :: RepVarSet
  LOGICAL, DIMENSION(:), ALLOCATABLE :: OverLap
  INTEGER TS
  LOGICAL :: IsNotOK
  LOGICAL :: IsBlank
  INTEGER :: ZoneNum
  CHARACTER(len=MaxNameLength+50) :: StringOut
  CHARACTER(len=MaxNameLength) :: NameThisObject
  INTEGER :: InfiltCount
  INTEGER :: VentiCount
  LOGICAL :: ControlFlag
  INTEGER :: Item
  INTEGER :: Item1
  LOGICAL :: ErrFlag
  INTEGER :: ZLItem
  REAL(r64), ALLOCATABLE, DIMENSION(:) :: TotInfilVentFlow
  REAL(r64), ALLOCATABLE, DIMENSION(:) :: TotMixingFlow
  INTEGER :: ConnectTest
  INTEGER :: ConnectionNumber
  INTEGER :: NumbNum
  INTEGER :: AlphaNum
  INTEGER :: Zone1Num
  INTEGER :: Zone2Num
  INTEGER :: ZoneNumA
  INTEGER :: ZoneNumB

  ALLOCATE(RepVarSet(NumOfZones))
  RepVarSet=.TRUE.

  ! Following used for reporting
  ALLOCATE(ZnAirRpt(NumOfZones))

  DO Loop=1,NumOfZones
    ! CurrentModuleObject='Zone'
    CALL SetupOutputVariable('Zone Mean Air Temperature [C]',ZnAirRpt(Loop)%MeanAirTemp,  &
       'Zone','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Operative Temperature [C]',ZnAirRpt(Loop)%OperativeTemp,  &
       'Zone','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Mean Air Dewpoint Temperature [C]',ZnAirRpt(Loop)%MeanAirDewpointTemp,  &
       'Zone','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Mean Air Humidity Ratio [kgWater/kgDryAir]',ZnAirRpt(Loop)%MeanAirHumRat,  &
       'Zone','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance Internal Convective Heat Gain Rate [W]',ZnAirRpt(Loop)%SumIntGains,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance Surface Convection Rate [W]',ZnAirRpt(Loop)%SumHADTsurfs,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance Interzone Air Transfer Rate [W]',ZnAirRpt(Loop)%SumMCpDTzones,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance Outdoor Air Transfer Rate [W]',ZnAirRpt(Loop)%SumMCpDtInfil,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance System Air Transfer Rate [W]',ZnAirRpt(Loop)%SumMCpDTsystem,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance System Convective Heat Gain Rate [W]',ZnAirRpt(Loop)%SumNonAirSystem,  &
       'System','Average',Zone(Loop)%Name)
    CALL SetupOutputVariable('Zone Air Heat Balance Air Energy Storage Rate [W]',ZnAirRpt(Loop)%CzdTdt,  &
       'System','Average',Zone(Loop)%Name)
    IF (DisplayAdvancedReportVariables) THEN
      CALL SetupOutputVariable('Zone Air Heat Balance Deviation Rate [W]',ZnAirRpt(Loop)%imBalance,  &
         'System','Average',Zone(Loop)%Name)
    ENDIF
  END DO

  cCurrentModuleObject='ZoneAirBalance:OutdoorAir'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=NumAlpha
  maxNumber=NumNumber
  cCurrentModuleObject='ZoneInfiltration:EffectiveLeakageArea'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneInfiltration:FlowCoefficient'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneInfiltration:DesignFlowRate'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneVentilation:DesignFlowRate'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneVentilation:WindandStackOpenArea'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneMixing'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneCrossMixing'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)
  cCurrentModuleObject='ZoneRefrigerationDoorMixing'
  CALL GetObjectDefMaxArgs(cCurrentModuleObject,NumArgs,NumAlpha,NumNumber)
  maxAlpha=MAX(NumAlpha,maxAlpha)
  maxNumber=MAX(NumNumber,maxNumber)

  ALLOCATE(cAlphaArgs(maxAlpha))
  cAlphaArgs=' '
  ALLOCATE(cAlphaFieldNames(maxAlpha))
  cAlphaFieldNames=' '
  ALLOCATE(cNumericFieldNames(maxNumber))
  cNumericFieldNames=' '
  ALLOCATE(rNumericArgs(maxNumber))
  rNumericArgs=0.0d0
  ALLOCATE(lAlphaFieldBlanks(maxAlpha))
  lAlphaFieldBlanks=.true.
  ALLOCATE(lNumericFieldBlanks(maxNumber))
  lNumericFieldBlanks=.true.

  cCurrentModuleObject='ZoneAirBalance:OutdoorAir'
  TotZoneAirBalance=GetNumObjectsFound(cCurrentModuleObject)

  ALLOCATE(ZoneAirBalance(TotZoneAirBalance))

  DO Loop=1,TotZoneAirBalance
    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)
    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    CALL VerifyName(cAlphaArgs(1),ZoneAirBalance%Name,Loop-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    ZoneAirBalance(Loop)%Name = cAlphaArgs(1)
    ZoneAirBalance(Loop)%ZoneName = cAlphaArgs(2)
    ZoneAirBalance(Loop)%ZonePtr=FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (ZoneAirBalance(Loop)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound=.TRUE.
    ENDIF
    CALL VerifyName(cAlphaArgs(2),ZoneAirBalance%ZoneName,Loop-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", a duplicated object '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'" is found.')
      CALL ShowContinueError('A zone can only have one '//TRIM(cCurrentModuleObject)//' object.')
      ErrorsFound = .TRUE.
    END IF

    SELECT CASE (cAlphaArgs(3))  ! Aie balance method type character input-->convert to integer
      CASE ('QUADRATURE')
        ZoneAirBalance(Loop)%BalanceMethod = AirBalanceQuadrature
      CASE ('NONE')
        ZoneAirBalance(Loop)%BalanceMethod = AirBalanceNone
      CASE DEFAULT
        ZoneAirBalance(Loop)%BalanceMethod = AirBalanceNone
        CALL ShowWarningError(RoutineName//TRIM(cAlphaFieldNames(3))//' = '//TRIM(cAlphaArgs(3))//  &
           ' not valid choice for '//TRIM(cCurrentModuleObject)//'='//TRIM(cAlphaArgs(1)))
        CALL ShowContinueError('The dafualt choice "NONE" is assigned')
    END SELECT

    ZoneAirBalance(Loop)%InducedAirRate = rNumericArgs(1)
    If (rNumericArgs(1) < 0.0d0) Then
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
        '", invalid Induced Outdoor Air Due to Duct Leakage Unbalance specification [<0.0]='//   &
        TRIM(RoundSigDigits(rNumericArgs(1),3)))
      ErrorsFound=.TRUE.
    End If

    ZoneAirBalance(Loop)%InducedAirSchedPtr=GetScheduleIndex(cAlphaArgs(4))
    IF (ZoneAirBalance(Loop)%InducedAirSchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(4)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(4))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(4))//'="'//trim(cAlphaArgs(4))//'".')
      END IF
      ErrorsFound=.TRUE.
    ENDIF
    IF (.NOT. CheckScheduleValueMinMax(ZoneAirBalance(Loop)%InducedAirSchedPtr,'>=',0.0d0,'<=',1.0d0)) THEN
      CALL ShowSevereError(TRIM(cCurrentModuleObject)//' = '//TRIM(ZoneAirBalance(Loop)%Name)//&
           ':  Error found in '//TRIM(cAlphaFieldNames(4))//' = '//TRIM(cAlphaArgs(4)))
      CALL ShowContinueError('Schedule values must be (>=0., <=1.)')
      ErrorsFound=.true.
    END IF

    ! Check whether this zone is also controleld by hybrid ventilation object with ventilation control option or not
    ControlFlag = GetHybridVentilationControlStatus(ZoneAirBalance(Loop)%ZonePtr)
    If (ControlFlag .AND. ZoneAirBalance(Loop)%BalanceMethod == AirBalanceQuadrature) Then
      ZoneAirBalance(Loop)%BalanceMethod = AirBalanceNone
      CALL ShowWarningError(TRIM(cCurrentModuleObject)//' = '//TRIM(ZoneAirBalance(Loop)%Name)//': This Zone ('// &
        TRIM(cAlphaArgs(2))//') is controlled by AvailabilityManager:HybridVentilation with Simple Airflow Control Type option.')
      CALL ShowContinueError('Air balance method type QUADRATURE and Simple Airflow Control Type cannot co-exist. ' &
        //'The NONE method is assigned')
    End If

    IF (ZoneAirBalance(Loop)%BalanceMethod == AirBalanceQuadrature) THEN
      CALL SetupOutputVariable('Zone Combined Outdoor Air Sensible Heat Loss Energy [J]',  &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceHeatLoss,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Sensible Heat Gain Energy [J]',  &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceHeatGain,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Latent Heat Loss Energy [J]',  &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceLatentLoss,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Latent Heat Gain Energy [J]', &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceLatentGain,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Total Heat Loss Energy [J]', &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceTotalLoss,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Total Heat Gain Energy [J]',  &
          ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceTotalGain,'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Current Density Volume Flow Rate [m3/s]',  &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceVdotCurDensity,   &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Standard Density Volume Flow Rate [m3/s]', &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceVdotStdDensity,   &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Current Density Volume [m3]',              &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceVolumeCurDensity, &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Standard Density Volume [m3]',             &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceVolumeStdDensity, &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Mass [kg]',ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceMass,  &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Changes per Hour [ach]',                   &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceAirChangeRate,   &
                                 'System','Average',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name)
      CALL SetupOutputVariable('Zone Combined Outdoor Air Fan Electric Energy [J]',     &
                                  ZnAirRpt(ZoneAirBalance(Loop)%ZonePtr)%OABalanceFanElec,  &
                                 'System','Sum',Zone(ZoneAirBalance(Loop)%ZonePtr)%Name, &
                                  ResourceTypeKey='Electricity',GroupKey='Building', &
                                  ZoneKey=Zone(ZoneAirBalance(Loop)%ZonePtr)%Name, &
                                  EndUseKey='Fans', EndUseSubKey='Ventilation (simple)')
   END IF

  END DO

  cCurrentModuleObject='ZoneInfiltration:EffectiveLeakageArea'
  TotShermGrimsInfiltration=GetNumObjectsFound(cCurrentModuleObject)

  cCurrentModuleObject='ZoneInfiltration:FlowCoefficient'
  TotAIM2Infiltration=GetNumObjectsFound(cCurrentModuleObject)

  cCurrentModuleObject='ZoneInfiltration:DesignFlowRate'
  NumInfiltrationStatements=GetNumObjectsFound(cCurrentModuleObject)

  ALLOCATE(InfiltrationObjects(NumInfiltrationStatements))

  TotDesignFlowInfiltration=0
  ErrFlag=.false.
  DO Item=1,NumInfiltrationStatements
    CALL GetObjectItem(cCurrentModuleObject,Item,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)
    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    CALL VerifyName(cAlphaArgs(1),InfiltrationObjects%Name,Item-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      ErrFlag=.true.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    InfiltrationObjects(Item)%Name = cAlphaArgs(1)
    Item1=FindItemInList(cAlphaArgs(2),Zone%Name,NumOfZones)
    ZLItem=0
    IF (Item1 == 0 .and. NumOfZoneLists > 0) &
        ZLItem=FindItemInList(cAlphaArgs(2),ZoneList%Name,NumOfZoneLists)
    IF (Item1 > 0) THEN
      InfiltrationObjects(Item)%StartPtr=TotDesignFlowInfiltration+1
      TotDesignFlowInfiltration=TotDesignFlowInfiltration+1
      InfiltrationObjects(Item)%NumOfZones=1
      InfiltrationObjects(Item)%ZoneListActive=.false.
      InfiltrationObjects(Item)%ZoneOrZoneListPtr=Item1
    ELSEIF (ZLItem > 0) THEN
      InfiltrationObjects(Item)%StartPtr=TotDesignFlowInfiltration+1
      TotDesignFlowInfiltration=TotDesignFlowInfiltration+ZoneList(ZLItem)%NumOfZones
      InfiltrationObjects(Item)%NumOfZones=ZoneList(ZLItem)%NumOfZones
      InfiltrationObjects(Item)%ZoneListActive=.true.
      InfiltrationObjects(Item)%ZoneOrZoneListPtr=ZLItem
    ELSE
      CALL ShowSevereError(trim(cCurrentModuleObject)//'="'//trim(cAlphaArgs(1))//'" invalid '//  &
           trim(cAlphaFieldNames(2))//'="'//trim(cAlphaArgs(2))//'" not found.')
      ErrorsFound=.true.
      ErrFlag=.true.
    ENDIF
  ENDDO

  IF (ErrFlag) THEN
    CALL ShowSevereError(RoutineName//'Errors with invalid names in '//trim(cCurrentModuleObject)//  &
       ' objects.')
    CALL ShowContinueError('...These will not be read in.  Other errors may occur.')
    TotDesignFlowInfiltration=0
  ENDIF

  TotInfiltration = TotDesignFlowInfiltration + TotShermGrimsInfiltration + TotAIM2Infiltration

  ALLOCATE(Infiltration(TotInfiltration))

  IF (TotDesignFlowInfiltration > 0) THEN
    Loop=0
    cCurrentModuleObject='ZoneInfiltration:DesignFlowRate'
    DO Item = 1, NumInfiltrationStatements

      CALL GetObjectItem(cCurrentModuleObject,Item,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

      DO Item1=1,InfiltrationObjects(Item)%NumOfZones
        Loop=Loop+1
        IF (.not. InfiltrationObjects(Item)%ZoneListActive) THEN
          Infiltration(Loop)%Name = cAlphaArgs(1)
          Infiltration(Loop)%ZonePtr = InfiltrationObjects(Item)%ZoneOrZoneListPtr
        ELSE
          CALL CheckCreatedZoneItemName(RoutineName,cCurrentModuleObject,  &
                                        Zone(ZoneList(InfiltrationObjects(Item)%ZoneOrZoneListPtr)%Zone(Item1))%Name,  &
                                        ZoneList(InfiltrationObjects(Item)%ZoneOrZoneListPtr)%MaxZoneNameLength,  &
                                        InfiltrationObjects(Item)%Name,     &
                                        Infiltration%Name,           &
                                        Loop-1,                       &
                                        Infiltration(Loop)%Name,            &
                                        ErrFlag)
          Infiltration(Loop)%ZonePtr = ZoneList(InfiltrationObjects(Item)%ZoneOrZoneListPtr)%Zone(Item1)
          IF (ErrFlag) ErrorsFound=.true.
        ENDIF

        Infiltration(Loop)%ModelType = InfiltrationDesignFlowRate
        Infiltration(Loop)%SchedPtr=GetScheduleIndex(cAlphaArgs(3))
        IF (Infiltration(Loop)%SchedPtr == 0) THEN
          IF (Item1 == 1) THEN
            IF (lAlphaFieldBlanks(3)) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                   TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
            ELSE
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                   ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
            END IF
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF

        ! setup a flag if the outdoor air balance method is applied
        IF (Infiltration(Loop)%ZonePtr > 0 .AND. TotZoneAirBalance > 0) Then
          DO I=1,TotZoneAirBalance
            IF (Infiltration(Loop)%ZonePtr == ZoneAirBalance(i)%ZonePtr) THEN
              IF (ZoneAirBalance(i)%BalanceMethod == AirBalanceQuadrature) THEN
                Infiltration(Loop)%QuadratureSum = .TRUE.
                Infiltration(Loop)%OABalancePtr = I
                EXIT
              END IF
            END IF
          END DO
        End If

        ! Infiltration equipment design level calculation method.
        SELECT CASE (cAlphaArgs(4))
          CASE('FLOW','FLOW/ZONE')
            Infiltration(Loop)%DesignLevel=rNumericArgs(1)
            IF (lNumericFieldBlanks(1)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(1))//  &
                ', but that field is blank.  0 Infiltration will result.')
            ENDIF

          CASE('FLOW/AREA')
            IF (Infiltration(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(2) >= 0.0d0) THEN
                Infiltration(Loop)%DesignLevel=rNumericArgs(2)*Zone(Infiltration(Loop)%ZonePtr)%FloorArea
                IF (Infiltration(Loop)%ZonePtr > 0) THEN
                  IF (Zone(Infiltration(Loop)%ZonePtr)%FloorArea <= 0.0d0) THEN
                    CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                      '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                      ', but Zone Floor Area = 0.  0 Infiltration will result.')
                  ENDIF
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                                 '", invalid flow/area specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(2),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(2)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                ', but that field is blank.  0 Infiltration will result.')
            ENDIF

          CASE('FLOW/EXTERIORAREA')
            IF (Infiltration(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(3) >= 0.0d0) THEN
                Infiltration(Loop)%DesignLevel=rNumericArgs(3)*Zone(Infiltration(Loop)%ZonePtr)%ExteriorTotalSurfArea
                IF (Zone(Infiltration(Loop)%ZonePtr)%ExteriorTotalSurfArea <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                    ', but Exterior Surface Area = 0.  0 Infiltration will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = "'//TRIM(Infiltration(Loop)%Name)//  &
                                 '", invalid flow/exteriorarea specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(3),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(3)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                ', but that field is blank.  0 Infiltration will result.')
            ENDIF
          CASE('FLOW/EXTERIORWALLAREA')
            IF (Infiltration(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(3) >= 0.0d0) THEN
                Infiltration(Loop)%DesignLevel=rNumericArgs(3)*Zone(Infiltration(Loop)%ZonePtr)%ExtGrossWallArea
                IF (Zone(Infiltration(Loop)%ZonePtr)%ExtGrossWallArea <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                    ', but Exterior Wall Area = 0.  0 Infiltration will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = "'//TRIM(Infiltration(Loop)%Name)//  &
                                 '", invalid flow/exteriorwallarea specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(3),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(3)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                ', but that field is blank.  0 Infiltration will result.')
            ENDIF
          CASE('AIRCHANGES/HOUR')
            IF (Infiltration(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(4) >= 0.0d0) THEN
                Infiltration(Loop)%DesignLevel=rNumericArgs(4)*Zone(Infiltration(Loop)%ZonePtr)%Volume/SecInHour
                IF (Zone(Infiltration(Loop)%ZonePtr)%Volume <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                    ', but Zone Volume = 0.  0 Infiltration will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//'In '//TRIM(cCurrentModuleObject)//' = "'//TRIM(Infiltration(Loop)%Name)//  &
                                 '", invalid ACH (air changes per hour) specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(4),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(4)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Infiltration(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                ', but that field is blank.  0 Infiltration will result.')
            ENDIF

          CASE DEFAULT
            IF (Item1 == 1) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                                   '", invalid calculation method='//   &
                                   TRIM(cAlphaArgs(4)))
              ErrorsFound=.TRUE.
            ENDIF
        END SELECT

        IF (.not. lNumericFieldBlanks(5)) THEN
          Infiltration(Loop)%ConstantTermCoef=rNumericArgs(5)
        ELSE
          Infiltration(Loop)%ConstantTermCoef=1.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(6)) THEN
          Infiltration(Loop)%TemperatureTermCoef=rNumericArgs(6)
        ELSE
          Infiltration(Loop)%TemperatureTermCoef=0.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(7)) THEN
          Infiltration(Loop)%VelocityTermCoef=rNumericArgs(7)
        ELSE
          Infiltration(Loop)%VelocityTermCoef=0.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(8)) THEN
          Infiltration(Loop)%VelocitySQTermCoef=rNumericArgs(8)
        ELSE
          Infiltration(Loop)%VelocitySQTermCoef=0.0d0
        ENDIF

        IF (Infiltration(Loop)%ConstantTermCoef == 0.0d0 .and. Infiltration(Loop)%TemperatureTermCoef == 0.0d0 .and.  &
            Infiltration(Loop)%VelocityTermCoef == 0.0d0 .and. Infiltration(Loop)%VelocitySQTermCoef == 0.0d0)  THEN
            IF (Item1 == 1) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", in '// &
                                      TRIM(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
              CALL ShowContinueError('Infiltration Coefficients are all zero.  No Infiltration will be reported.')
            ENDIF
        ENDIF
      END DO
    END DO
  ENDIF

  cCurrentModuleObject='ZoneInfiltration:EffectiveLeakageArea'
  InfiltCount=TotDesignFlowInfiltration
  DO Loop=1,TotShermGrimsInfiltration
    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    InfiltCount = InfiltCount + 1
    CALL VerifyName(cAlphaArgs(1),Infiltration%Name,InfiltCount-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    Infiltration(InfiltCount)%Name =  cAlphaArgs(1)
    Infiltration(InfiltCount)%ModelType = InfiltrationShermanGrimsrud
    Infiltration(InfiltCount)%ZonePtr=FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (Infiltration(InfiltCount)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound=.TRUE.
    ENDIF

    ! setup a flag if the outdoor air balance method is applied
    IF (Infiltration(Loop)%ZonePtr > 0 .AND. TotZoneAirBalance > 0) Then
      DO I=1,TotZoneAirBalance
        IF (Infiltration(Loop)%ZonePtr == ZoneAirBalance(i)%ZonePtr) THEN
          IF (ZoneAirBalance(i)%BalanceMethod == AirBalanceQuadrature) THEN
            Infiltration(Loop)%QuadratureSum = .TRUE.
            Infiltration(Loop)%OABalancePtr = I
            EXIT
          END IF
        END IF
      END DO
    End If

    Infiltration(InfiltCount)%SchedPtr=GetScheduleIndex(cAlphaArgs(3))
    IF (Infiltration(InfiltCount)%SchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(3)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
      END IF
      ErrorsFound=.TRUE.
    ENDIF
    Infiltration(InfiltCount)%LeakageArea           = rNumericArgs(1)
    Infiltration(InfiltCount)%BasicStackCoefficient = rNumericArgs(2)
    Infiltration(InfiltCount)%BasicWindCoefficient  = rNumericArgs(3)

    !check if zone has exterior surfaces
    IF (Infiltration(InfiltCount)%ZonePtr > 0) THEN
      IF (Zone(Infiltration(InfiltCount)%ZonePtr)%ExteriorTotalSurfArea <= 0.0d0) THEN
        CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//   &
           '", '//trim(cAlphaFieldNames(2))//'="'//trim(cAlphaArgs(2))//'" does not have surfaces exposed to outdoors.')
        CALL ShowContinueError('Infiltration model is appropriate for exterior zones not interior zones, simulation continues.')
      ENDIF
    ENDIF
  ENDDO

  cCurrentModuleObject='ZoneInfiltration:FlowCoefficient'
  DO Loop=1,TotAIM2Infiltration
    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)
    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    InfiltCount = InfiltCount + 1
    CALL VerifyName(cAlphaArgs(1),Infiltration%Name,InfiltCount-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    Infiltration(InfiltCount)%Name =  cAlphaArgs(1)
    Infiltration(InfiltCount)%ModelType = InfiltrationAIM2
    Infiltration(InfiltCount)%ZonePtr=FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (Infiltration(InfiltCount)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound=.TRUE.
    ENDIF

    ! setup a flag if the outdoor air balance method is applied
    IF (Infiltration(Loop)%ZonePtr > 0 .AND. TotZoneAirBalance > 0) Then
      DO I=1,TotZoneAirBalance
        IF (Infiltration(Loop)%ZonePtr == ZoneAirBalance(i)%ZonePtr) THEN
          IF (ZoneAirBalance(i)%BalanceMethod == AirBalanceQuadrature) THEN
            Infiltration(Loop)%QuadratureSum = .TRUE.
            Infiltration(Loop)%OABalancePtr = I
            EXIT
          END IF
        END IF
      END DO
    End If

    Infiltration(InfiltCount)%SchedPtr=GetScheduleIndex(cAlphaArgs(3))
    IF (Infiltration(InfiltCount)%SchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(3)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
      END IF
      ErrorsFound=.TRUE.
    ENDIF
    Infiltration(InfiltCount)%FlowCoefficient      = rNumericArgs(1)
    Infiltration(InfiltCount)%AIM2StackCoefficient = rNumericArgs(2)
    Infiltration(InfiltCount)%PressureExponent     = rNumericArgs(3)
    Infiltration(InfiltCount)%AIM2WindCoefficient  = rNumericArgs(4)
    Infiltration(InfiltCount)%ShelterFactor        = rNumericArgs(5)

        !check if zone has exterior surfaces
    IF (Infiltration(InfiltCount)%ZonePtr > 0) THEN
      IF (Zone(Infiltration(InfiltCount)%ZonePtr)%ExteriorTotalSurfArea <= 0.0d0) THEN
        CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//   &
           '", '//trim(cAlphaFieldNames(2))//'="'//trim(cAlphaArgs(2))//'" does not have surfaces exposed to outdoors.')
        CALL ShowContinueError('Infiltration model is appropriate for exterior zones not interior zones, simulation continues.')
      ENDIF
    ENDIF

  ENDDO

  !setup zone-level infiltration reports
  DO Loop=1, TotInfiltration
    IF (Infiltration(Loop)%ZonePtr > 0 .AND. .NOT. Infiltration(Loop)%QuadratureSum) THEN
      IF (RepVarSet(Infiltration(Loop)%ZonePtr)) THEN
        RepVarSet(Infiltration(Loop)%ZonePtr)=.FALSE.
        CALL SetupOutputVariable('Zone Infiltration Sensible Heat Loss Energy [J]',  &
                                 ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilHeatLoss,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Sensible Heat Gain Energy [J]',  &
                                 ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilHeatGain,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Latent Heat Loss Energy [J]', &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilLatentLoss,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Latent Heat Gain Energy [J]', &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilLatentGain,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Total Heat Loss Energy [J]',  &
                                 ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilTotalLoss,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Total Heat Gain Energy [J]',  &
                                 ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilTotalGain,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Current Density Volume Flow Rate [m3/s]', &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilVdotCurDensity,  &
                                 'System','Average',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Standard Density Volume Flow Rate [m3/s]', &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilVdotStdDensity,  &
                                 'System','Average',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Current Density Volume [m3]',  &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilVolumeCurDensity,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Standard Density Volume [m3]', &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilVolumeStdDensity,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Mass [kg]',ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilMass,  &
                                 'System','Sum',Zone(Infiltration(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Infiltration Air Change Rate [ach]',  &
                                  ZnAirRpt(Infiltration(Loop)%ZonePtr)%InfilAirChangeRate,  &
                                 'System','Average',Zone(Infiltration(Loop)%ZonePtr)%Name)
      ENDIF
    ENDIF

    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('Zone Infiltration', Infiltration(Loop)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                Infiltration(Loop)%EMSOverrideOn  , Infiltration(Loop)%EMSAirFlowRateValue )
    ENDIF

  ENDDO
          ! VENTILATION Section: The following section is responsible for obtaining the simple ventilation
          ! from the user's input file.
  RepVarSet = .TRUE.

  cCurrentModuleObject='ZoneVentilation:DesignFlowRate'
  NumVentilationStatements=GetNumObjectsFound(cCurrentModuleObject)

  cCurrentModuleObject='ZoneVentilation:WindandStackOpenArea'
  TotWindAndStackVentilation=GetNumObjectsFound(cCurrentModuleObject)

  ALLOCATE(VentilationObjects(NumVentilationStatements))

  TotDesignFlowVentilation=0
  ErrFlag=.false.
  cCurrentModuleObject='ZoneVentilation:DesignFlowRate'
  DO Item=1,NumVentilationStatements
    CALL GetObjectItem(cCurrentModuleObject,Item,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)
    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    CALL VerifyName(cAlphaArgs(1),VentilationObjects%Name,Item-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      ErrFlag=.true.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    VentilationObjects(Item)%Name = cAlphaArgs(1)

    Item1=FindItemInList(cAlphaArgs(2),Zone%Name,NumOfZones)
    ZLItem=0
    IF (Item1 == 0 .and. NumOfZoneLists > 0) &
        ZLItem=FindItemInList(cAlphaArgs(2),ZoneList%Name,NumOfZoneLists)
    IF (Item1 > 0) THEN
      VentilationObjects(Item)%StartPtr=TotDesignFlowVentilation+1
      TotDesignFlowVentilation=TotDesignFlowVentilation+1
      VentilationObjects(Item)%NumOfZones=1
      VentilationObjects(Item)%ZoneListActive=.false.
      VentilationObjects(Item)%ZoneOrZoneListPtr=Item1
    ELSEIF (ZLItem > 0) THEN
      VentilationObjects(Item)%StartPtr=TotDesignFlowVentilation+1
      TotDesignFlowVentilation=TotDesignFlowVentilation+ZoneList(ZLItem)%NumOfZones
      VentilationObjects(Item)%NumOfZones=ZoneList(ZLItem)%NumOfZones
      VentilationObjects(Item)%ZoneListActive=.true.
      VentilationObjects(Item)%ZoneOrZoneListPtr=ZLItem
    ELSE
      CALL ShowSevereError(trim(cCurrentModuleObject)//'="'//trim(cAlphaArgs(1))//'" invalid '//  &
           trim(cAlphaFieldNames(2))//'="'//trim(cAlphaArgs(2))//'" not found.')
      ErrorsFound=.true.
      ErrFlag=.true.
    ENDIF
  ENDDO

  IF (ErrFlag) THEN
    CALL ShowSevereError(RoutineName//'Errors with invalid names in '//trim(cCurrentModuleObject)//  &
       ' objects.')
    CALL ShowContinueError('...These will not be read in.  Other errors may occur.')
    TotDesignFlowVentilation=0
  ENDIF

  TotVentilation = TotDesignFlowVentilation + TotWindAndStackVentilation
  ALLOCATE(Ventilation(TotVentilation))

  IF (TotDesignFlowVentilation > 0) THEN
    Loop=0
    cCurrentModuleObject='ZoneVentilation:DesignFlowRate'
    DO Item = 1, NumVentilationStatements

      CALL GetObjectItem(cCurrentModuleObject,Item,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

      DO Item1=1,VentilationObjects(Item)%NumOfZones
        Loop=Loop+1
        IF (.not. VentilationObjects(Item)%ZoneListActive) THEN
          Ventilation(Loop)%Name = cAlphaArgs(1)
          Ventilation(Loop)%ZonePtr = VentilationObjects(Item)%ZoneOrZoneListPtr
        ELSE
          CALL CheckCreatedZoneItemName(RoutineName,cCurrentModuleObject,  &
                                        Zone(ZoneList(VentilationObjects(Item)%ZoneOrZoneListPtr)%Zone(Item1))%Name,  &
                                        ZoneList(VentilationObjects(Item)%ZoneOrZoneListPtr)%MaxZoneNameLength,  &
                                        VentilationObjects(Item)%Name,     &
                                        Ventilation%Name,           &
                                        Loop-1,                       &
                                        Ventilation(Loop)%Name,            &
                                        ErrFlag)
          Ventilation(Loop)%ZonePtr = ZoneList(VentilationObjects(Item)%ZoneOrZoneListPtr)%Zone(Item1)
          IF (ErrFlag) ErrorsFound=.true.
        ENDIF

        ! setup a flag if the outdoor air balance method is applied
        IF (Ventilation(Loop)%ZonePtr > 0 .AND. TotZoneAirBalance > 0) Then
          DO I=1,TotZoneAirBalance
            IF (Ventilation(Loop)%ZonePtr == ZoneAirBalance(i)%ZonePtr) THEN
              IF (ZoneAirBalance(i)%BalanceMethod == AirBalanceQuadrature) THEN
                Ventilation(Loop)%QuadratureSum = .TRUE.
                Ventilation(Loop)%OABalancePtr = I
                EXIT
              END IF
            END IF
          END DO
        End If

        Ventilation(Loop)%ModelType = VentilationDesignFlowRate
        Ventilation(Loop)%SchedPtr  = GetScheduleIndex(cAlphaArgs(3))
        IF (Ventilation(Loop)%SchedPtr == 0) THEN
          IF (Item1 == 1) THEN
            IF (lAlphaFieldBlanks(3)) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                   TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
            ELSE
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                   ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
            ENDIF
          END IF
          ErrorsFound = .TRUE.
        ENDIF

        ! Ventilation equipment design level calculation method
        SELECT CASE (cAlphaArgs(4))
          CASE('FLOW','FLOW/ZONE')
            Ventilation(Loop)%DesignLevel = rNumericArgs(1)
            IF (lNumericFieldBlanks(1)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(1))//  &
                ', but that field is blank.  0 Ventilation will result.')
            ENDIF

          CASE('FLOW/AREA')
            IF (Ventilation(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(2) >= 0.0d0) THEN
                Ventilation(Loop)%DesignLevel=rNumericArgs(2)*Zone(Ventilation(Loop)%ZonePtr)%FloorArea
                IF (Zone(Ventilation(Loop)%ZonePtr)%FloorArea <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                    ', but Zone Floor Area = 0.  0 Ventilation will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                                 '", invalid flow/area specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(2),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(2)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                ', but that field is blank.  0 Ventilation will result.')
            ENDIF

          CASE('FLOW/PERSON')
            IF (Ventilation(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(3) >= 0.0d0) THEN
                Ventilation(Loop)%DesignLevel=rNumericArgs(3)*Zone(Ventilation(Loop)%ZonePtr)%TotOccupants
                IF (Zone(Ventilation(Loop)%ZonePtr)%TotOccupants <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                    ', but Zone Total Occupants = 0.  0 Ventilation will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                                 '", invalid flow/person specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(3),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(3)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//'specifies '//TRIM(cNumericFieldNames(3))//  &
                ', but that field is blank.  0 Ventilation will result.')
            ENDIF

          CASE('AIRCHANGES/HOUR')
            IF (Ventilation(Loop)%ZonePtr /= 0) THEN
              IF (rNumericArgs(4) >= 0.0d0) THEN
                Ventilation(Loop)%DesignLevel=rNumericArgs(4)*Zone(Ventilation(Loop)%ZonePtr)%Volume/SecInHour
                IF (Zone(Ventilation(Loop)%ZonePtr)%Volume <= 0.0d0) THEN
                  CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                    '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                    ', but Zone Volume = 0.  0 Ventilation will result.')
                ENDIF
              ELSE
                CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                                 '", invalid ACH (air changes per hour) specification [<0.0]='//   &
                                 TRIM(RoundSigDigits(rNumericArgs(5),3)))
                ErrorsFound=.TRUE.
              ENDIF
            ENDIF
            IF (lNumericFieldBlanks(4)) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                ', but that field is blank.  0 Ventilation will result.')
            ENDIF

          CASE DEFAULT
            IF (Item1 == 1) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                                   '", invalid calculation method='//   &
                                   TRIM(cAlphaArgs(4)))
              ErrorsFound=.TRUE.
            ENDIF
        END SELECT

        SELECT CASE (cAlphaArgs(5))  ! Fan type character input-->convert to integer
          CASE ('EXHAUST')
            Ventilation(Loop)%FanType = ExhaustVentilation
          CASE ('INTAKE')
            Ventilation(Loop)%FanType = IntakeVentilation
          CASE ('NATURAL','NONE',Blank)
            Ventilation(Loop)%FanType = NaturalVentilation
          CASE ('BALANCED')
            Ventilation(Loop)%FanType = BalancedVentilation
          CASE DEFAULT
            IF (Item1 == 1) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
                  '". invalid '//trim(cAlphaFieldNames(5))//'="'//TRIM(cAlphaArgs(5))//'".')
              ErrorsFound = .TRUE.
            ENDIF
        END SELECT

        Ventilation(Loop)%FanPressure   = rNumericArgs(5)
        IF (Ventilation(Loop)%FanPressure < 0.0d0) THEN
          IF (Item1 == 1) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
            '", '//trim(cNumericFieldNames(5))//' must be >=0')
            ErrorsFound = .TRUE.
          ENDIF
        END IF

        Ventilation(Loop)%FanEfficiency = rNumericArgs(6)
        IF ((Ventilation(Loop)%FanEfficiency <= 0.0d0) .OR. &
            (Ventilation(Loop)%FanEfficiency >  1.0d0)) THEN
          IF (Item1 == 1) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(Ventilation(Loop)%Name)//  &
               '",'//trim(cNumericFieldNames(6))//' must be in range >0 and <= 1')
            ErrorsFound = .TRUE.
          ENDIF
        END IF

              ! Override any user input for cases where natural ventilation is being used
        IF (Ventilation(Loop)%FanType == NaturalVentilation) THEN
          Ventilation(Loop)%FanPressure   = 0.0d0
          Ventilation(Loop)%FanEfficiency = 1.0d0
        END IF

        IF (.not. lNumericFieldBlanks(7)) THEN
          Ventilation(Loop)%ConstantTermCoef    = rNumericArgs(7)
        ELSE
          Ventilation(Loop)%ConstantTermCoef    = 1.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(8)) THEN
          Ventilation(Loop)%TemperatureTermCoef = rNumericArgs(8)
        ELSE
          Ventilation(Loop)%TemperatureTermCoef = 0.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(9)) THEN
          Ventilation(Loop)%VelocityTermCoef    = rNumericArgs(9)
        ELSE
          Ventilation(Loop)%VelocityTermCoef    = 0.0d0
        ENDIF
        IF (.not. lNumericFieldBlanks(10)) THEN
          Ventilation(Loop)%VelocitySQTermCoef  = rNumericArgs(10)
        ELSE
          Ventilation(Loop)%VelocitySQTermCoef  = 0.0d0
        ENDIF

        IF (Ventilation(Loop)%ConstantTermCoef == 0.0d0 .and. Ventilation(Loop)%TemperatureTermCoef == 0.0d0 .and.  &
            Ventilation(Loop)%VelocityTermCoef == 0.0d0 .and. Ventilation(Loop)%VelocitySQTermCoef == 0.0d0)  THEN
            IF (Item1 == 1) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", in '// &
                                      TRIM(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
              CALL ShowContinueError('Ventilation Coefficients are all zero.  No Ventilation will be reported.')
            ENDIF
        ENDIF

        IF (.not. lNumericFieldBlanks(11)) THEN
          Ventilation(Loop)%MinIndoorTemperature = rNumericArgs(11)
        ELSE
          Ventilation(Loop)%MinIndoorTemperature = -VentilTempLimit
        ENDIF
    !    Ventilation(Loop)%MinIndoorTemperature = rNumericArgs(11)
        IF ((Ventilation(Loop)%MinIndoorTemperature < -VentilTempLimit) .OR. &
            (Ventilation(Loop)%MinIndoorTemperature >  VentilTempLimit))  THEN
          IF (Item1 == 1) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1)) // &
                                  '" must have '//trim(cNumericFieldNames(11))//' between -100C and 100C.')
            CALL ShowContinueError('...value entered=['//trim(RoundSigDigits(rNumericArgs(11),2))//'].')
            ErrorsFound = .TRUE.
          ENDIF
        END IF

        Ventilation(Loop)%MinIndoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(6))
        IF (Ventilation(Loop)%MinIndoorTempSchedPtr > 0) THEN
          IF (Item1 == 1) THEN
            IF (.NOT. lNumericFieldBlanks(11)) &
              CALL ShowWarningError(RoutineName//'The Minimum Indoor Temperature value and schedule are provided.' &
                //' The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
            ! Check min and max values in the schedule to ensure both values are within the range
            IF (.NOT.CheckScheduleValueMinMax(Ventilation(Loop)%MinIndoorTempSchedPtr,'>=',-VentilTempLimit,  &
               '<=',VentilTempLimit)) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                      ' must have a minimum indoor temperature between -100C and 100C defined in the schedule = '//  &
                         TRIM(cAlphaArgs(6)))
              ErrorsFound = .TRUE.
            END IF
          ENDIF
        END IF
        IF (Ventilation(Loop)%MinIndoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(11).AND. (.NOT. lAlphaFieldBlanks(6))) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(11))//': '//  &
               'the value field is blank and schedule field is invalid. The default '// &
               'value will be used ('//TRIM(RoundSigDigits(-VentilTempLimit,1))//') ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
        ENDIF
        ! Check Minimum indoor temperature value and schedule fields
        IF (.NOT. lNumericFieldBlanks(11) .AND. (cAlphaArgs(6) .NE. Blank .AND. Ventilation(Loop)%MinIndoorTempSchedPtr == 0)) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(6))//' = '//TRIM(cAlphaArgs(6))//  &
                         ' is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(11),1))//  &
                         ' degrees C ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          ENDIF
        END IF

        IF (.not. lNumericFieldBlanks(12)) THEN
          Ventilation(Loop)%MaxIndoorTemperature = rNumericArgs(12)
        ELSE
          Ventilation(Loop)%MaxIndoorTemperature = VentilTempLimit
        ENDIF
        IF ((Ventilation(Loop)%MaxIndoorTemperature < -VentilTempLimit) .OR. &
            (Ventilation(Loop)%MaxIndoorTemperature >  VentilTempLimit))  THEN
          IF (Item1 == 1) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
                                  ' must have a maximum indoor temperature between -100C and 100C')
            ErrorsFound = .TRUE.
          ENDIF
        END IF

        Ventilation(Loop)%MaxIndoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(7))
        IF (Ventilation(Loop)%MaxIndoorTempSchedPtr > 0) THEN
          IF (Item1 == 1) THEN
            IF (.NOT. lNumericFieldBlanks(12)) &
              CALL ShowWarningError(RoutineName//'The Maximum Indoor Temperature value and schedule are provided. '//  &
               'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
            ! Check min and max values in the schedule to ensure both values are within the range
            IF (.NOT.CheckScheduleValueMinMax(Ventilation(Loop)%MaxIndoorTempSchedPtr,'>=',-VentilTempLimit,  &
                                                 '<=',VentilTempLimit)) THEN
              CALL ShowSevereError(TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
               ' must have a maximum indoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(7)))
              ErrorsFound = .TRUE.
            END IF
          ENDIF
        END IF
        IF (Ventilation(Loop)%MaxIndoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(12) .AND. (.NOT. lAlphaFieldBlanks(7))) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(12))//': '//  &
               'the value field is blank and schedule field is invalid. The default '// &
               'value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          ENDIF
        END IF
        ! Check Maximum indoor temperature value and schedule fields
        IF (.NOT. lNumericFieldBlanks(12) .AND. ((.NOT. lAlphaFieldBlanks(7))   &
            .AND. Ventilation(Loop)%MaxIndoorTempSchedPtr==0)) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(7))//' = '//  &
               TRIM(cAlphaArgs(7))//' is invalid. ' &
               //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(12),1))//' degrees C ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          ENDIF
        END IF

        IF (.not. lNumericFieldBlanks(13)) THEN
          Ventilation(Loop)%DelTemperature = rNumericArgs(13)
        ELSE
          Ventilation(Loop)%DelTemperature = -VentilTempLimit
        ENDIF
    !    Ventilation(Loop)%DelTemperature = rNumericArgs(13)  !  3/12/03  Negative del temp now allowed COP

        Ventilation(Loop)%DeltaTempSchedPtr  = GetScheduleIndex(cAlphaArgs(8))
        IF (Ventilation(Loop)%DeltaTempSchedPtr > 0) THEN
          IF (Item1 == 1) THEN
            IF (.NOT. lNumericFieldBlanks(13)) &
              CALL ShowWarningError(RoutineName//'The Delta Temperature value and schedule are provided. '//  &
                 'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
              ! Check min value in the schedule to ensure both values are within the range
            IF (GetScheduleMinValue(Ventilation(Loop)%DeltaTempSchedPtr) < -VentilTempLimit) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
               ' must have a delta temperature equal to or above -100C defined in the schedule = '//TRIM(cAlphaArgs(8)))
              ErrorsFound = .TRUE.
            END IF
          ENDIF
        END IF
        IF (Ventilation(Loop)%DeltaTempSchedPtr == 0 .AND. lNumericFieldBlanks(13) .AND. (.NOT. lAlphaFieldBlanks(8))) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(13))//  &
               ': the value field is blank and schedule field is invalid. ' &
                //'The default value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))//&
                                   ' and the simulation continues...')
          END IF
        ENDIF

        ! Check delta temperature value and schedule fields
    !    IF (lNumericFieldBlanks(13) .AND. cAlphaArgs(8) .EQ. Blank) THEN
    !      CALL ShowWarningError(RoutineName//'Both the delta temperature value and delta schedule are blank. ')
    !      CALL ShowContinueError('Will set the temperature to a constant value of '//TRIM(RoundSigDigits(-VentilTempLimit,1)) &
    !           //' degrees C ')
    !      CALL ShowContinueError('in the Ventilation object = '//TRIM(cAlphaArgs(1))//' and the simulation continues...')
    !    END IF
        IF (.NOT. lNumericFieldBlanks(13) .AND. ((.NOT. lAlphaFieldBlanks(8)) .AND. Ventilation(Loop)%DeltaTempSchedPtr == 0)) THEN
          IF (Item1 == 1) THEN
            CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(8))//' = '//TRIM(cAlphaArgs(8))//' is invalid. ' &
               //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(13),1))//' degrees C ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
        ENDIF

        IF (.not. lNumericFieldBlanks(14)) THEN
          Ventilation(Loop)%MinOutdoorTemperature = rNumericArgs(14)
        ELSE
          Ventilation(Loop)%MinOutdoorTemperature = -VentilTempLimit
        ENDIF
        IF ((Ventilation(Loop)%MinOutdoorTemperature < -VentilTempLimit) .OR. &
            (Ventilation(Loop)%MinOutdoorTemperature >  VentilTempLimit))  THEN
          IF (Item1 == 1) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                                  ' must have '//trim(cNumericFieldNames(14))//' between -100C and 100C')
            ErrorsFound = .TRUE.
          ENDIF
        END IF

        Ventilation(Loop)%MinOutdoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(9))
        IF (Item1 == 1) THEN
          IF (Ventilation(Loop)%MinOutdoorTempSchedPtr > 0) THEN
            IF (.not. lNumericFieldBlanks(14)) &
              CALL ShowWarningError(RoutineName//'The Minimum Outdoor Temperature value and schedule are provided. '//  &
                 'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
            ! Check min and max values in the schedule to ensure both values are within the range
            IF (.NOT.CheckScheduleValueMinMax(Ventilation(Loop)%MinOutdoorTempSchedPtr,  &
                                          '>=',-VentilTempLimit,'<=',VentilTempLimit)) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
               ' must have a minimum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(9)))
              ErrorsFound = .TRUE.
            END IF
          END IF
          IF (Ventilation(Loop)%MinOutdoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(14).AND. (.NOT. lAlphaFieldBlanks(9))) THEN
            CALL ShowWarningError(RoutineName//'Minimum Outdoor Temperature: '//  &
               'the value field is blank and schedule field is invalid. The default ' &
                //'value will be used ('//TRIM(RoundSigDigits(-VentilTempLimit,1))//') ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
          ! Check Minimum outdoor temperature value and schedule fields
          IF (.NOT. lNumericFieldBlanks(14) .AND.   &
             ((.NOT. lAlphaFieldBlanks(9)) .AND. Ventilation(Loop)%MinOutdoorTempSchedPtr==0)) THEN
            CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(9))//' = '//TRIM(cAlphaArgs(9))//  &
               ' is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(14),1))//' degrees C ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
        ENDIF

        IF (.not. lNumericFieldBlanks(15)) THEN
          Ventilation(Loop)%MaxOutdoorTemperature = rNumericArgs(15)
        ELSE
          Ventilation(Loop)%MaxOutdoorTemperature = VentilTempLimit
        ENDIF
        IF (Item1 == 1) THEN
          IF ((Ventilation(Loop)%MaxOutdoorTemperature < -VentilTempLimit) .OR. &
              (Ventilation(Loop)%MaxOutdoorTemperature >  VentilTempLimit))  THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                                  ' must have a '//TRIM(cNumericFieldNames(15))//' between -100C and 100C')
            ErrorsFound = .TRUE.
          END IF
        ENDIF

        Ventilation(Loop)%MaxOutdoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(10))
        IF (Item1 == 1) THEN
          IF (Ventilation(Loop)%MaxOutdoorTempSchedPtr > 0) THEN
            IF (.not. lNumericFieldBlanks(15)) &
            CALL ShowWarningError(RoutineName//'The Maximum Outdoor Temperature value and schedule are provided. '//  &
                'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
            IF (.NOT.CheckScheduleValueMinMax(Ventilation(Loop)%MaxOutdoorTempSchedPtr,  &
                                                '>=',-VentilTempLimit,'<=',VentilTempLimit)) THEN
              CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
               ' must have a maximum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(10)))
              ErrorsFound = .TRUE.
            END IF
          END IF
          IF (Ventilation(Loop)%MaxOutdoorTempSchedPtr == 0 .AND.   &
              lNumericFieldBlanks(15).AND. (.NOT. lAlphaFieldBlanks(10))) THEN
            CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(15))//': '//  &
               'the value field is blank and schedule field is invalid.'//  &
               ' The default value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
          ! Check Maximum outdoor temperature value and schedule fields
          IF (.NOT. lNumericFieldBlanks(15) .AND.   &
             ((.NOT. lAlphaFieldBlanks(10)) .AND. Ventilation(Loop)%MaxOutdoorTempSchedPtr==0)) THEN
            CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(10))//' = '//TRIM(cAlphaArgs(10))//  &
               'is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(15),1))//' degrees C ')
            CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                                   ' and the simulation continues...')
          END IF
        ENDIF

        IF (.not. lNumericFieldBlanks(16)) THEN
          Ventilation(Loop)%MaxWindSpeed = rNumericArgs(16)
        ELSE
          Ventilation(Loop)%MaxWindSpeed = VentilWSLimit
        ENDIF
        IF (Item1 == 1) THEN
          IF ((Ventilation(Loop)%MaxWindSpeed < -VentilWSLimit) .OR. &
              (Ventilation(Loop)%MaxWindSpeed >  VentilWSLimit))  THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                                  ' must have a maximum wind speed between -40 m/s and 40 m/s')
            ErrorsFound = .TRUE.
          END IF
        ENDIF

        ! Report variables should be added for individual VENTILATION objects, in addition to zone totals below

        IF (Ventilation(Loop)%ZonePtr > 0) THEN
          IF (RepVarSet(Ventilation(Loop)%ZonePtr) .AND. .NOT. Ventilation(Loop)%QuadratureSum) THEN
            RepVarSet(Ventilation(Loop)%ZonePtr)=.FALSE.
            CALL SetupOutputVariable('Zone Ventilation Sensible Heat Loss Energy [J]',  &
               ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilHeatLoss,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Sensible Heat Gain Energy [J]',  &
               ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilHeatGain,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Latent Heat Loss Energy [J]',  &
               ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilLatentLoss,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Latent Heat Gain Energy [J]',  &
               ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilLatentGain,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Total Heat Loss Energy [J]', &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilTotalLoss,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Total Heat Gain Energy [J]', &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilTotalGain,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Current Density Volume Flow Rate [m3/s]',  &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilVdotCurDensity,   &
                                     'System','Average',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Standard Density Volume Flow Rate [m3/s]', &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilVdotStdDensity,   &
                                     'System','Average',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Current Density Volume [m3]',              &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilVolumeCurDensity, &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Standard Density Volume [m3]',             &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilVolumeStdDensity, &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Mass [kg]',ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilMass,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Air Change Rate [ach]',                   &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilAirChangeRate,   &
                                     'System','Average',Zone(Ventilation(Loop)%ZonePtr)%Name)
            CALL SetupOutputVariable('Zone Ventilation Fan Electric Energy [J]',     &
                                      ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilFanElec,  &
                                     'System','Sum',Zone(Ventilation(Loop)%ZonePtr)%Name, &
                                      ResourceTypeKey='Electricity',GroupKey='Building', &
                                      ZoneKey=Zone(Ventilation(Loop)%ZonePtr)%Name, &
                                      EndUseKey='Fans', EndUseSubKey='Ventilation (simple)')
            CALL SetupOutputVariable('Zone Ventilation Air Inlet Temperature [C]', &
                                     ZnAirRpt(Ventilation(Loop)%ZonePtr)%VentilAirTemp, &
                                     'System','Average',Zone(Ventilation(Loop)%ZonePtr)%Name)
          END IF
        END IF

        IF (AnyEnergyManagementSystemInModel) THEN
          CALL SetupEMSActuator('Zone Ventilation', Ventilation(Loop)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                    Ventilation(Loop)%EMSSimpleVentOn  , Ventilation(Loop)%EMSimpleVentFlowRate )
        ENDIF

      END DO
    END DO
  ENDIF

  cCurrentModuleObject='ZoneVentilation:WindandStackOpenArea'
  VentiCount = TotDesignFlowVentilation
  DO Loop=1,TotWindAndStackVentilation

    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    VentiCount = TotDesignFlowVentilation + Loop
    CALL VerifyName(cAlphaArgs(1),Ventilation%Name,VentiCount-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    Ventilation(VentiCount)%Name = cAlphaArgs(1)
    Ventilation(VentiCount)%ModelType = VentilationWindAndStack

    Ventilation(VentiCount)%ZonePtr = FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (Ventilation(VentiCount)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound = .TRUE.
    ENDIF

    ! setup a flag if the outdoor air balance method is applied
    IF (Ventilation(VentiCount)%ZonePtr > 0 .AND. TotZoneAirBalance > 0) Then
      DO I=1,TotZoneAirBalance
        IF (Ventilation(VentiCount)%ZonePtr == ZoneAirBalance(i)%ZonePtr) THEN
          IF (ZoneAirBalance(i)%BalanceMethod == AirBalanceQuadrature) THEN
            Ventilation(VentiCount)%QuadratureSum = .TRUE.
            Ventilation(VentiCount)%OABalancePtr = I
            EXIT
          END IF
        END IF
      END DO
    End If

    Ventilation(VentiCount)%OpenArea   = rNumericArgs(1)
    IF (Ventilation(VentiCount)%OpenArea < 0.0d0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
                   trim(cNumericFieldNames(1))//' must be positive.')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%OpenAreaSchedPtr  = GetScheduleIndex(cAlphaArgs(3))
    IF (Ventilation(VentiCount)%OpenAreaSchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(3)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
             TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
      END IF
      ErrorsFound = .TRUE.
    ENDIF

    Ventilation(VentiCount)%OpenEff   = rNumericArgs(2)
    IF (Ventilation(VentiCount)%OpenEff /= AutoCalculate .and. &
       (Ventilation(VentiCount)%OpenEff < 0.0d0 .OR. Ventilation(VentiCount)%OpenEff > 1)) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
                       trim(cNumericFieldNames(2))//' must be between 0 and 1.')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%EffAngle   = rNumericArgs(3)
    IF (Ventilation(VentiCount)%EffAngle < 0.0d0 .OR. Ventilation(VentiCount)%EffAngle >= 360) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
                       trim(cNumericFieldNames(3))//' must be between 0 and 360.')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%DH   = rNumericArgs(4)
    IF (Ventilation(VentiCount)%DH < 0.0d0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
                       trim(cNumericFieldNames(4))//' must be positive.')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%DiscCoef   = rNumericArgs(5)
    IF (Ventilation(VentiCount)%DiscCoef /= AutoCalculate .and. &
       (Ventilation(VentiCount)%DiscCoef < 0.0d0 .OR. Ventilation(VentiCount)%DiscCoef > 1)) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//   &
                       trim(cNumericFieldNames(5))//' must be between 0 and 1.')
      ErrorsFound = .TRUE.
    END IF

    IF (.not. lNumericFieldBlanks(6)) THEN
      Ventilation(VentiCount)%MinIndoorTemperature = rNumericArgs(6)
    ELSE
      Ventilation(VentiCount)%MinIndoorTemperature = -VentilTempLimit
    ENDIF
    IF ((Ventilation(VentiCount)%MinIndoorTemperature < -VentilTempLimit) .OR. &
        (Ventilation(VentiCount)%MinIndoorTemperature >  VentilTempLimit))  THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                            ' must have '//trim(cNumericFieldNames(6))//' between -100C and 100C')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%MinIndoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(4))
    IF (Ventilation(VentiCount)%MinIndoorTempSchedPtr > 0) THEN
      IF (.NOT. lNumericFieldBlanks(6)) &
      CALL ShowWarningError(RoutineName//'The Minimum Indoor Temperature value and schedule are provided.' &
          //' The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
      ! Check min and max values in the schedule to ensure both values are within the range
      IF (.NOT.CheckScheduleValueMinMax(Ventilation(VentiCount)%MinIndoorTempSchedPtr,'>=', &
          -VentilTempLimit,'<=',VentilTempLimit)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                ' must have a minimum indoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(4)))
        ErrorsFound = .TRUE.
      END IF
    END IF
    IF (Ventilation(VentiCount)%MinIndoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(6).AND. (.NOT. lAlphaFieldBlanks(4))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(6))//': '//  &
         'the value field is blank and schedule field is invalid. The default '// &
         'value will be used ('//TRIM(RoundSigDigits(-VentilTempLimit,1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF
    ! Check Minimum indoor temperature value and schedule fields
    IF (.NOT. lNumericFieldBlanks(6) .AND. (cAlphaArgs(4).NE.Blank.AND.Ventilation(VentiCount)%MinIndoorTempSchedPtr == 0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(4))//' = '//TRIM(cAlphaArgs(4))//  &
                   ' is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(11),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (.not. lNumericFieldBlanks(7)) THEN
      Ventilation(VentiCount)%MaxIndoorTemperature = rNumericArgs(7)
    ELSE
      Ventilation(VentiCount)%MaxIndoorTemperature = VentilTempLimit
    ENDIF
    IF ((Ventilation(VentiCount)%MaxIndoorTemperature < -VentilTempLimit) .OR. &
        (Ventilation(VentiCount)%MaxIndoorTemperature >  VentilTempLimit))  THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1)) // &
                            '" must have a maximum indoor temperature between -100C and 100C')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%MaxIndoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(5))
    IF (Ventilation(VentiCount)%MaxIndoorTempSchedPtr > 0) THEN
      IF (.NOT. lNumericFieldBlanks(7)) &
      CALL ShowWarningError(RoutineName//'The Maximum Indoor Temperature value and schedule are provided. '//  &
         'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
      ! Check min and max values in the schedule to ensure both values are within the range
      IF (.NOT.CheckScheduleValueMinMax(Ventilation(VentiCount)%MaxIndoorTempSchedPtr,'>=', &
         -VentilTempLimit,'<=',VentilTempLimit)) THEN
        CALL ShowSevereError(TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
         ' must have a maximum indoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(5)))
        ErrorsFound = .TRUE.
      END IF
    END IF
    IF (Ventilation(VentiCount)%MaxIndoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(7) .AND. (.NOT. lAlphaFieldBlanks(5))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(7))//': '//  &
         'the value field is blank and schedule field is invalid. The default '// &
         'value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF
    ! Check Maximum indoor temperature value and schedule fields
    IF (.NOT. lNumericFieldBlanks(7) .AND. ((.NOT. lAlphaFieldBlanks(5)) .AND.  &
        Ventilation(VentiCount)%MaxIndoorTempSchedPtr==0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(7))//' = '//  &
         TRIM(cAlphaArgs(5))//' is invalid. ' &
         //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(7),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (.not. lNumericFieldBlanks(8)) THEN
      Ventilation(VentiCount)%DelTemperature = rNumericArgs(8)
    ELSE
      Ventilation(VentiCount)%DelTemperature = -VentilTempLimit
    ENDIF

    Ventilation(VentiCount)%DeltaTempSchedPtr  = GetScheduleIndex(cAlphaArgs(6))
    IF (Ventilation(VentiCount)%DeltaTempSchedPtr > 0) THEN
      IF (.NOT. lNumericFieldBlanks(8)) &
        CALL ShowWarningError(RoutineName//'The Delta Temperature value and schedule are provided. The scheduled temperature will'&
          //' be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
      ! Check min value in the schedule to ensure both values are within the range
      IF (GetScheduleMinValue(Ventilation(VentiCount)%DeltaTempSchedPtr) < -VentilTempLimit) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
         ' must have a delta temperature equal to or above -100C defined in the schedule = '//TRIM(cAlphaArgs(8)))
        ErrorsFound = .TRUE.
      END IF
    END IF
    IF (Ventilation(VentiCount)%DeltaTempSchedPtr == 0 .AND. lNumericFieldBlanks(8) .AND. (.NOT. lAlphaFieldBlanks(6))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(8))//': the value field is blank and schedule field is invalid. ' &
          //'The default value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))//&
                             ' and the simulation continues...')
    END IF
    IF (.NOT. lNumericFieldBlanks(8) .AND. ((.NOT.lAlphaFieldBlanks(6)).AND.Ventilation(VentiCount)%DeltaTempSchedPtr == 0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(6))//' = '//TRIM(cAlphaArgs(6))//' is invalid. ' &
         //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(8),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (.not. lNumericFieldBlanks(9)) THEN
      Ventilation(VentiCount)%MinOutdoorTemperature = rNumericArgs(9)
    ELSE
      Ventilation(VentiCount)%MinOutdoorTemperature = -VentilTempLimit
    ENDIF
    IF ((Ventilation(VentiCount)%MinOutdoorTemperature < -VentilTempLimit) .OR. &
        (Ventilation(VentiCount)%MinOutdoorTemperature >  VentilTempLimit))  THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                            ' must have '//trim(cNumericFieldNames(9))//' between -100C and 100C')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%MinOutdoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(7))
    IF (Ventilation(VentiCount)%MinOutdoorTempSchedPtr > 0) THEN
      IF (.not. lNumericFieldBlanks(9)) &
        CALL ShowWarningError(RoutineName//'The Minimum Outdoor Temperature value and schedule are provided. '//  &
         'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
      ! Check min and max values in the schedule to ensure both values are within the range
      IF (.NOT.CheckScheduleValueMinMax(Ventilation(VentiCount)%MinOutdoorTempSchedPtr,'>=', &
          -VentilTempLimit,'<=',VentilTempLimit)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
         ' must have a minimum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(7)))
        ErrorsFound = .TRUE.
      END IF
    END IF
    IF (Ventilation(VentiCount)%MinOutdoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(9).AND. (.NOT. lAlphaFieldBlanks(7))) THEN
      CALL ShowWarningError(RoutineName//'Minimum Outdoor Temperature: '//  &
         'the value field is blank and schedule field is invalid. The default ' &
          //'value will be used ('//TRIM(RoundSigDigits(-VentilTempLimit,1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF
    ! Check Minimum outdoor temperature value and schedule fields
    IF (.NOT. lNumericFieldBlanks(9) .AND. ((.NOT.lAlphaFieldBlanks(7)).AND.Ventilation(VentiCount)%MinOutdoorTempSchedPtr==0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(7))//' = '//TRIM(cAlphaArgs(7))//  &
         ' is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(14),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (.not. lNumericFieldBlanks(10)) THEN
      Ventilation(VentiCount)%MaxOutdoorTemperature = rNumericArgs(10)
    ELSE
      Ventilation(VentiCount)%MaxOutdoorTemperature = VentilTempLimit
    ENDIF
    IF ((Ventilation(VentiCount)%MaxOutdoorTemperature < -VentilTempLimit) .OR. &
        (Ventilation(VentiCount)%MaxOutdoorTemperature >  VentilTempLimit))  THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                            ' must have a '//TRIM(cNumericFieldNames(10))//' between -100C and 100C')
      ErrorsFound = .TRUE.
    END IF

    Ventilation(VentiCount)%MaxOutdoorTempSchedPtr  = GetScheduleIndex(cAlphaArgs(8))
    IF (Ventilation(VentiCount)%MaxOutdoorTempSchedPtr > 0) THEN
      IF (.not. lNumericFieldBlanks(10)) &
      CALL ShowWarningError(RoutineName//'The Maximum Outdoor Temperature value and schedule are provided. '//  &
          'The scheduled temperature will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
      IF (.NOT.CheckScheduleValueMinMax(Ventilation(VentiCount)%MaxOutdoorTempSchedPtr,'>=', &
          -VentilTempLimit,'<=',VentilTempLimit)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
         ' must have a maximum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(8)))
        ErrorsFound = .TRUE.
      END IF
    END IF
    IF (Ventilation(VentiCount)%MaxOutdoorTempSchedPtr == 0 .AND. lNumericFieldBlanks(10).AND. (.NOT. lAlphaFieldBlanks(8))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(10))//': '//  &
         'the value field is blank and schedule field is invalid.'//  &
         ' The default value will be used ('//TRIM(RoundSigDigits(VentilTempLimit,1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF
    ! Check Maximum outdoor temperature value and schedule fields
    IF (.NOT. lNumericFieldBlanks(10) .AND. ((.NOT. lAlphaFieldBlanks(8)) .AND. &
        Ventilation(VentiCount)%MaxOutdoorTempSchedPtr==0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(8))//' = '//TRIM(cAlphaArgs(8))//  &
         'is invalid. The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(10),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (.not. lNumericFieldBlanks(11)) THEN
      Ventilation(VentiCount)%MaxWindSpeed = rNumericArgs(11)
    ELSE
      Ventilation(VentiCount)%MaxWindSpeed = VentilWSLimit
    ENDIF
    IF ((Ventilation(VentiCount)%MaxWindSpeed < -VentilWSLimit) .OR. &
        (Ventilation(VentiCount)%MaxWindSpeed >  VentilWSLimit))  THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
                            ' must have a maximum wind speed between 0 m/s and 40 m/s')
      ErrorsFound = .TRUE.
    END IF

    ! Report variables should be added for individual VENTILATION objects, in addition to zone totals below

    IF (Ventilation(VentiCount)%ZonePtr > 0) THEN
      IF (RepVarSet(Ventilation(VentiCount)%ZonePtr) .AND. .NOT. Ventilation(Loop)%QuadratureSum) THEN
        RepVarSet(Ventilation(VentiCount)%ZonePtr)=.FALSE.
        CALL SetupOutputVariable('Zone Ventilation Sensible Heat Loss Energy [J]', &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilHeatLoss, 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Sensible Heat Gain Energy [J]', &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilHeatGain, 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Latent Heat Loss Energy [J]',  &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilLatentLoss,'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Latent Heat Gain Energy [J]', &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilLatentGain,'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Total Heat Loss Energy [J]',  &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilTotalLoss,'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Total Heat Gain Energy [J]',  &
             ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilTotalGain,'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Current Density Volume Flow Rate [m3/s]',  &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilVdotCurDensity,   &
                                 'System','Average',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Standard Density Volume Flow Rate [m3/s]', &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilVdotStdDensity,   &
                                 'System','Average',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Current Density Volume [m3]',              &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilVolumeCurDensity, &
                                 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Standard Density Volume [m3]',             &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilVolumeStdDensity, &
                                 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Mass [kg]',ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilMass,  &
                                 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Air Change Rate [ach]',                   &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilAirChangeRate,   &
                                 'System','Average',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Ventilation Fan Electric Energy [J]',     &
                                  ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilFanElec,  &
                                 'System','Sum',Zone(Ventilation(VentiCount)%ZonePtr)%Name, &
                                  ResourceTypeKey='Electricity',GroupKey='Building', &
                                  ZoneKey=Zone(Ventilation(VentiCount)%ZonePtr)%Name, &
                                  EndUseKey='Fans', EndUseSubKey='Ventilation (simple)')
        CALL SetupOutputVariable('Zone Ventilation Air Inlet Temperature [C]', &
                                 ZnAirRpt(Ventilation(VentiCount)%ZonePtr)%VentilAirTemp, &
                                 'System','Average',Zone(Ventilation(VentiCount)%ZonePtr)%Name)
      END IF
    END IF

    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('Zone Ventilation', Ventilation(VentiCount)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                Ventilation(VentiCount)%EMSSimpleVentOn  , Ventilation(VentiCount)%EMSimpleVentFlowRate )
    ENDIF

  END DO

  RepVarSet=.TRUE.

  cCurrentModuleObject='ZoneMixing'
  TotMixing=GetNumObjectsFound(cCurrentModuleObject)
  ALLOCATE(Mixing(TotMixing))

  DO Loop=1,TotMixing

    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    CALL VerifyName(cAlphaArgs(1),Mixing%Name,Loop-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    Mixing(Loop)%Name = cAlphaArgs(1)

    Mixing(Loop)%ZonePtr=FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (Mixing(Loop)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound=.TRUE.
    ENDIF

    Mixing(Loop)%SchedPtr=GetScheduleIndex(cAlphaArgs(3))

    IF (Mixing(Loop)%SchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(3)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
      END IF
      ErrorsFound = .TRUE.
    ENDIF

    ! Mixing equipment design level calculation method
    SELECT CASE (cAlphaArgs(4))
      CASE('FLOW/ZONE','FLOW')
        Mixing(Loop)%DesignLevel=rNumericArgs(1)
        IF (lNumericFieldBlanks(1)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(1))//  &
            ', but that field is blank.  0 Mixing will result.')
        ENDIF

      CASE('FLOW/AREA')
        IF (Mixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(2) >= 0.0d0) THEN
            Mixing(Loop)%DesignLevel=rNumericArgs(2)*Zone(Mixing(Loop)%ZonePtr)%FloorArea
            IF (Zone(Mixing(Loop)%ZonePtr)%FloorArea <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                ', but Zone Floor Area = 0.  0 Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(2),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
            ', but that field is blank.  0 Mixing will result.')
        ENDIF

      CASE('FLOW/PERSON')
        IF (Mixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(3) >= 0.0d0) THEN
            Mixing(Loop)%DesignLevel=rNumericArgs(3)*Zone(Mixing(Loop)%ZonePtr)%TotOccupants
            IF (Zone(Mixing(Loop)%ZonePtr)%TotOccupants <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                ', but Zone Total Occupants = 0.  0 Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(3),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(3)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
            ', but that field is blank.  0 Mixing will result.')
        ENDIF

      CASE('AIRCHANGES/HOUR')
        IF (Mixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(4) >= 0.0d0) THEN
            Mixing(Loop)%DesignLevel=rNumericArgs(4)*Zone(Mixing(Loop)%ZonePtr)%Volume/SecInHour
            IF (Zone(Mixing(Loop)%ZonePtr)%Volume <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                ', but Zone Volume = 0.  0 Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(4),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(4)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
            ', but that field is blank.  0 Mixing will result.')
        ENDIF

      CASE DEFAULT
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid calculation method='//   &
                             TRIM(cAlphaArgs(4)))
        ErrorsFound=.TRUE.
    END SELECT

    Mixing(Loop)%FromZone=FindIteminList(cAlphaArgs(5),Zone%Name,NumOfZones)
    IF (Mixing(Loop)%FromZone == 0) THEN
      CALL ShowSevereError(RoutineName//trim(cAlphaFieldNames(5))//' not found='//TRIM(cAlphaArgs(5))//' for '// &
                           TRIM(cCurrentModuleObject)//'='//TRIM(cAlphaArgs(1)))
      ErrorsFound=.TRUE.
    ENDIF
    Mixing(Loop)%DeltaTemperature=rNumericArgs(5)

    IF (NumAlpha > 5) THEN
      Mixing(Loop)%DeltaTempSchedPtr=GetScheduleIndex(cAlphaArgs(6))
      IF (Mixing(Loop)%DeltaTempSchedPtr > 0) THEN
        IF (.NOT. lNumericFieldBlanks(5)) &
        CALL ShowWarningError(RoutineName//'The Delta Temperature value and schedule are provided. The scheduled temperature'// &
                              ' will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
        IF (GetScheduleMinValue(Mixing(Loop)%DeltaTempSchedPtr) < -MixingTempLimit) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1))//' must have'// &
                               ' a delta temperature equal to or above -100C defined in the schedule = '//TRIM(cAlphaArgs(6)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF
    IF (Mixing(Loop)%DeltaTempSchedPtr == 0 .AND. lNumericFieldBlanks(5).AND. (.NOT. lAlphaFieldBlanks(6))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(5))//': the value field is blank and schedule field is invalid. '&
          //'The default value will be used ('//TRIM(RoundSigDigits(rNumericArgs(5),1))//') ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF
    IF (.NOT. lNumericFieldBlanks(5) .AND. ((.NOT. lAlphaFieldBlanks(6)) .AND. Mixing(Loop)%DeltaTempSchedPtr == 0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(6))//' = '//TRIM(cAlphaArgs(6))//' is invalid. ' &
         //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(5),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (NumAlpha > 6) THEN
      Mixing(Loop)%MinIndoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(7))
      IF (Mixing(Loop)%MinIndoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(7))) THEN
          CALL ShowSevereError(RoutineName//trim(cAlphaFieldNames(7))//' not found='//TRIM(cAlphaArgs(7))// &
                             ' for '//TRIM(cCurrentModuleObject)//'='//TRIM(cAlphaArgs(1)))
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MinIndoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MinIndoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement = '//TRIM(cAlphaArgs(1)) // &
           ' must have a minimum zone temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(7)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 7) THEN
      Mixing(Loop)%MaxIndoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(8))
      IF (Mixing(Loop)%MaxIndoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(8))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//  &
                          trim(cAlphaFieldNames(8))//' not found="'//TRIM(cAlphaArgs(8))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MaxIndoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MaxIndoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1)) // &
           '" must have a maximum zone temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(8)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 8) THEN
      Mixing(Loop)%MinSourceTempSchedPtr=GetScheduleIndex(cAlphaArgs(9))
      IF (Mixing(Loop)%MinSourceTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(9))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//  &
                             trim(cAlphaFieldNames(9))//' not found="'//TRIM(cAlphaArgs(9))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MinSourceTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MinSourceTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1)) // &
           '" must have a minimum source temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(9)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 9) THEN
      Mixing(Loop)%MaxSourceTempSchedPtr=GetScheduleIndex(cAlphaArgs(10))
      IF (Mixing(Loop)%MaxSourceTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(10))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//  &
                         trim(cAlphaFieldNames(10))//' not found="'//TRIM(cAlphaArgs(10))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MaxSourceTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MaxSourceTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' statement ="'//TRIM(cAlphaArgs(1)) // &
           '" must have a maximum source temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(10)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 10) THEN
      Mixing(Loop)%MinOutdoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(11))
      IF (Mixing(Loop)%MinOutdoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(11))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//  &
                         trim(cAlphaFieldNames(11))//' not found="'//TRIM(cAlphaArgs(11))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MinOutdoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MinOutdoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' ="'//TRIM(cAlphaArgs(1)) // &
           '" must have a minimum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(11)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 11) THEN
      Mixing(Loop)%MaxOutdoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(12))
      IF (Mixing(Loop)%MaxOutdoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(12))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'", '//  &
                        trim(cAlphaFieldNames(12))//' not found="'//TRIM(cAlphaArgs(12))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (Mixing(Loop)%MaxOutdoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(Mixing(Loop)%MaxOutdoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' ="'//TRIM(cAlphaArgs(1)) // &
           '" must have a maximum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(12)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (Mixing(Loop)%ZonePtr > 0) THEN
      IF (RepVarSet(Mixing(Loop)%ZonePtr)) THEN
        RepVarSet(Mixing(Loop)%ZonePtr)=.FALSE.
        CALL SetupOutputVariable('Zone Mixing Volume [m3]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixVolume,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Mass [kg]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixMass,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Loss Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixHeatLoss,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Gain Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixHeatGain,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Loss Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixLatentLoss,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Gain Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixLatentGain,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Loss Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixTotalLoss,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Gain Energy [J]',ZnAirRpt(Mixing(Loop)%ZonePtr)%MixTotalGain,  &
                                 'System','Sum',Zone(Mixing(Loop)%ZonePtr)%Name)
      ENDIF
    ENDIF
    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('ZoneMixing', Mixing(Loop)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                Mixing(Loop)%EMSSimpleMixingOn  , Mixing(Loop)%EMSimpleMixingFlowRate )
    ENDIF

  END DO

  cCurrentModuleObject='ZoneCrossMixing'
  TotCrossMixing=GetNumObjectsFound(cCurrentModuleObject)
  ALLOCATE(CrossMixing(TotCrossMixing))

  DO Loop=1,TotCrossMixing

    CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

    IsNotOK = .FALSE.
    IsBlank = .FALSE.
    CALL VerifyName(cAlphaArgs(1),CrossMixing%Name,Loop-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')

    IF (IsNotOK) THEN
      ErrorsFound = .TRUE.
      IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
    END IF
    CrossMixing(Loop)%Name = cAlphaArgs(1)

    CrossMixing(Loop)%ZonePtr=FindIteminList(cAlphaArgs(2),Zone%Name,NumOfZones)
    IF (CrossMixing(Loop)%ZonePtr == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(2))//'="'//TRIM(cAlphaArgs(2))//'".')
      ErrorsFound=.TRUE.
    ENDIF

    CrossMixing(Loop)%SchedPtr=GetScheduleIndex(cAlphaArgs(3))
    IF (CrossMixing(Loop)%SchedPtr == 0) THEN
      IF (lAlphaFieldBlanks(3)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(3))//' is required but field is blank.')
      ELSE
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(3))//'="'//trim(cAlphaArgs(3))//'".')
      END IF
      ErrorsFound=.TRUE.
    ENDIF

    ! Mixing equipment design level calculation method.
    SELECT CASE (cAlphaArgs(4))
      CASE('FLOW/ZONE','FLOW')
        CrossMixing(Loop)%DesignLevel=rNumericArgs(1)
        IF (lNumericFieldBlanks(1)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(1))//  &
            ', but that field is blank.  0 Cross Mixing will result.')
        ENDIF

      CASE('FLOW/AREA')
        IF (CrossMixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(2) >= 0.0d0) THEN
            CrossMixing(Loop)%DesignLevel=rNumericArgs(2)*Zone(CrossMixing(Loop)%ZonePtr)%FloorArea
            IF (Zone(CrossMixing(Loop)%ZonePtr)%FloorArea <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
                ', but Zone Floor Area = 0.  0 Cross Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(2),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(2)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(2))//  &
            ', but that field is blank.  0 Cross Mixing will result.')
        ENDIF

      CASE('FLOW/PERSON')
        IF (CrossMixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(3) >= 0.0d0) THEN
            CrossMixing(Loop)%DesignLevel=rNumericArgs(3)*Zone(CrossMixing(Loop)%ZonePtr)%TotOccupants
            IF (Zone(CrossMixing(Loop)%ZonePtr)%TotOccupants <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
                ', but Zone Total Occupants = 0.  0 Cross Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(3),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(3)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(3))//  &
            ', but that field is blank.  0 Cross Mixing will result.')
        ENDIF

      CASE('AIRCHANGES/HOUR')
        IF (CrossMixing(Loop)%ZonePtr /= 0) THEN
          IF (rNumericArgs(4) >= 0.0d0) THEN
            CrossMixing(Loop)%DesignLevel=rNumericArgs(4)*Zone(CrossMixing(Loop)%ZonePtr)%Volume/SecInHour
            IF (Zone(CrossMixing(Loop)%ZonePtr)%Volume <= 0.0d0) THEN
              CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
                ', but Zone Volume = 0.  0 Cross Mixing will result.')
            ENDIF
          ELSE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid flow/person specification [<0.0]='//   &
                             TRIM(RoundSigDigits(rNumericArgs(4),3)))
            ErrorsFound=.TRUE.
          ENDIF
        ENDIF
        IF (lNumericFieldBlanks(4)) THEN
          CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            '", '//trim(cAlphaFieldNames(4))//' specifies '//TRIM(cNumericFieldNames(4))//  &
            ', but that field is blank.  0 Cross Mixing will result.')
        ENDIF

      CASE DEFAULT
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid calculation method='//   &
                             TRIM(cAlphaArgs(4)))
        ErrorsFound=.TRUE.
    END SELECT

    CrossMixing(Loop)%FromZone=FindIteminList(cAlphaArgs(5),Zone%Name,NumOfZones)
    IF (CrossMixing(Loop)%FromZone == 0) THEN
      CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(5))//'="'//TRIM(cAlphaArgs(5))//'".')
      ErrorsFound=.TRUE.
    ENDIF
    CrossMixing(Loop)%DeltaTemperature=rNumericArgs(5)

    IF (NumAlpha > 5) THEN
      CrossMixing(Loop)%DeltaTempSchedPtr=GetScheduleIndex(cAlphaArgs(6))
      IF (CrossMixing(Loop)%DeltaTempSchedPtr > 0) THEN
        IF (.NOT. lNumericFieldBlanks(5)) &
        CALL ShowWarningError(RoutineName//'The Delta Temperature value and schedule are provided. The scheduled temperature ' &
                              //'will be used in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1)))
        IF (GetScheduleMinValue(CrossMixing(Loop)%DeltaTempSchedPtr) < 0.0d0) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
         ' must have a delta temperature equal to or above 0 C defined in the schedule = '//TRIM(cAlphaArgs(6)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF
    IF (CrossMixing(Loop)%DeltaTempSchedPtr == 0 .AND. lNumericFieldBlanks(5).AND. (.NOT. lAlphaFieldBlanks(6))) THEN
      CALL ShowWarningError(RoutineName//trim(cNumericFieldNames(5))//': the value field is blank and schedule field is invalid. ' &
          //'The default value will be used ('//TRIM(RoundSigDigits(rNumericArgs(5),1))//') ')
      CALL ShowContinueError('in '//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1))//' and the simulation continues...')
    END IF
    IF (.NOT. lNumericFieldBlanks(5) .AND. ((.NOT. lAlphaFieldBlanks(6)) .AND. CrossMixing(Loop)%DeltaTempSchedPtr == 0)) THEN
      CALL ShowWarningError(RoutineName//trim(cAlphaFieldNames(6))//' = '//TRIM(cAlphaArgs(6))//' is invalid. ' &
         //'The constant value will be used at '//TRIM(RoundSigDigits(rNumericArgs(5),1))//' degrees C ')
      CALL ShowContinueError('in the '//TRIM(cCurrentModuleObject)//' object = '//TRIM(cAlphaArgs(1))// &
                             ' and the simulation continues...')
    END IF

    IF (NumAlpha > 6) THEN
      CrossMixing(Loop)%MinIndoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(7))
      IF (CrossMixing(Loop)%MinIndoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(7))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                          trim(cAlphaFieldNames(7))//' not found='//TRIM(cAlphaArgs(7))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MinIndoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MinIndoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a minimum zone temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(7)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 7) THEN
      CrossMixing(Loop)%MaxIndoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(8))
      IF (CrossMixing(Loop)%MaxIndoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(8))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                           trim(cAlphaFieldNames(8))//' not found="'//TRIM(cAlphaArgs(8))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MaxIndoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MaxIndoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a maximum zone temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(8)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 8) THEN
      CrossMixing(Loop)%MinSourceTempSchedPtr=GetScheduleIndex(cAlphaArgs(9))
      IF (CrossMixing(Loop)%MinSourceTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(9))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                           trim(cAlphaFieldNames(9))//' not found="'//TRIM(cAlphaArgs(9))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MinSourceTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MinSourceTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a minimum source temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(9)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 9) THEN
      CrossMixing(Loop)%MaxSourceTempSchedPtr=GetScheduleIndex(cAlphaArgs(10))
      IF (CrossMixing(Loop)%MaxSourceTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(10))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                           trim(cAlphaFieldNames(10))//' not found="'//TRIM(cAlphaArgs(9))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MaxSourceTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MaxSourceTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit)) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a maximum source temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(10)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 10) THEN
      CrossMixing(Loop)%MinOutdoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(11))
      IF (CrossMixing(Loop)%MinOutdoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(11))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                           trim(cAlphaFieldNames(11))//' not found="'//TRIM(cAlphaArgs(9))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MinOutdoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MinOutdoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit))THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a minimum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(11)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (NumAlpha > 11) THEN
      CrossMixing(Loop)%MaxOutdoorTempSchedPtr=GetScheduleIndex(cAlphaArgs(12))
      IF (CrossMixing(Loop)%MaxOutdoorTempSchedPtr == 0) THEN
        IF ((.NOT. lAlphaFieldBlanks(12))) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                           trim(cAlphaFieldNames(12))//' not found="'//TRIM(cAlphaArgs(9))//'".')
          ErrorsFound=.TRUE.
        ENDIF
      ENDIF
      IF (CrossMixing(Loop)%MaxOutdoorTempSchedPtr > 0) THEN
        ! Check min and max values in the schedule to ensure both values are within the range
        IF (.NOT.CheckScheduleValueMinMax(CrossMixing(Loop)%MaxOutdoorTempSchedPtr,'>=',-MixingTempLimit,'<=',MixingTempLimit))THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a maximum outdoor temperature between -100C and 100C defined in the schedule = '//TRIM(cAlphaArgs(12)))
          ErrorsFound = .TRUE.
        END IF
      END IF
    END IF

    IF (CrossMixing(Loop)%ZonePtr > 0) THEN
      IF (RepVarSet(CrossMixing(Loop)%ZonePtr)) THEN
        RepVarSet(CrossMixing(Loop)%ZonePtr)=.FALSE.
        CALL SetupOutputVariable('Zone Mixing Volume [m3]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixVolume,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Mass [kg]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixMass,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Loss Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixHeatLoss,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Gain Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixHeatGain,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Loss Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixLatentLoss,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Gain Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixLatentGain,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Loss Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixTotalLoss,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Gain Energy [J]',ZnAirRpt(CrossMixing(Loop)%ZonePtr)%MixTotalGain,  &
                                 'System','Sum',Zone(CrossMixing(Loop)%ZonePtr)%Name)
      ENDIF
    ENDIF
    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('ZoneCrossMixing', CrossMixing(Loop)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                CrossMixing(Loop)%EMSSimpleMixingOn  , CrossMixing(Loop)%EMSimpleMixingFlowRate )
    ENDIF

  END DO

  ! Detect invalid Crossmixings
  IF (TotCrossMixing > 1 .and. .not. ErrorsFound) THEN
    ALLOCATE(SVals1(24,NumOfTimeStepInHour))
    SVals1=0.0d0
    ALLOCATE(SVals2(24,NumOfTimeStepInHour))
    SVals2=0.0d0
    ALLOCATE(OverLap(TotCrossMixing))
    OverLap = .FALSE.
    DO Loop=1,TotCrossMixing
      DO Loop1=1,TotCrossMixing

        IF (Loop == Loop1) CYCLE

        IF (CrossMixing(Loop)%ZonePtr == CrossMixing(Loop1)%FromZone .AND. &  ! Reciprocal cross mixing is OK
            CrossMixing(Loop)%FromZone == CrossMixing(Loop1)%ZonePtr) CYCLE

        IF ( .NOT. (CrossMixing(Loop)%ZonePtr == CrossMixing(Loop1)%ZonePtr .OR. &   ! Any other overlap is not OK
            CrossMixing(Loop)%ZonePtr == CrossMixing(Loop1)%FromZone .OR. &          ! if the schedules overlap
            CrossMixing(Loop)%FromZone == CrossMixing(Loop1)%FromZone .OR. &
            CrossMixing(Loop)%FromZone == CrossMixing(Loop1)%ZonePtr) ) CYCLE

        DO JDay=1,366
          CALL GetScheduleValuesForDay(CrossMixing(Loop)%SchedPtr,SVals1,JDay)
          IF (.not. ANY(SVals1>0.0d0)) CYCLE
          CALL GetScheduleValuesForDay(CrossMixing(Loop1)%SchedPtr,SVals2,JDay)
          IF (.not. ANY(SVals2>0.0d0)) CYCLE
          IF (OverLap(Loop) .AND. OverLap(Loop1)) CYCLE   ! Already problem for these Cross Mixings
  HrLoop: DO Hr=1,24
  TSLoop:   DO TS=1,NumOfTimeStepInHour
              IF (SVals1(Hr,TS) == 0.0d0 .or. SVals2(Hr,TS) == 0.0d0) CYCLE
              CALL ShowSevereError(RoutineName//'Overlapping Cross Mixings found')
              CALL ShowContinueError('Cross Mixing with receiving zone '// &
                                      TRIM(Zone(CrossMixing(Loop)%ZonePtr)%Name) // &
                                     ', source zone ' // TRIM(Zone(CrossMixing(Loop)%FromZone)%Name))
              CALL ShowContinueError('overlaps with Cross Mixing with receiving zone '// &
                                      TRIM(Zone(CrossMixing(Loop1)%ZonePtr)%Name) // &
                                     ', source zone ' // TRIM(Zone(CrossMixing(Loop1)%FromZone)%Name))
              OverLap(Loop) = .TRUE.
              OverLap(Loop1) = .TRUE.
              ErrorsFound=.TRUE.
              EXIT HrLoop
            ENDDO TSLoop
          ENDDO HrLoop
        ENDDO
      ENDDO
    ENDDO
    DEALLOCATE(SVals1)
    DEALLOCATE(SVals2)
    DEALLOCATE(OverLap)
  ENDIF

  cCurrentModuleObject='ZoneRefrigerationDoorMixing'
  TotRefDoorMixing=GetNumObjectsFound(cCurrentModuleObject)
  IF(TotRefDoorMixing > 0) THEN
    ALLOCATE(RefDoorMixing(NumofZones))
    RefDoorMixing%NumRefDoorConnections = 0

    DO Loop=1,TotRefDoorMixing

      CALL GetObjectItem(cCurrentModuleObject,Loop,cAlphaArgs,NumAlpha,rNumericArgs,NumNumber,IOStat, &
                       NumBlank=lNumericFieldBlanks,AlphaBlank=lAlphaFieldBlanks, &
                       AlphaFieldNames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

      IsNotOK = .FALSE.
      IsBlank = .FALSE.
      CALL VerifyName(cAlphaArgs(1),RefDoorMixing%Name,Loop-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject)//' Name')
      IF (IsNotOK) THEN
        ErrorsFound = .TRUE.
        IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
      END IF
      NameThisObject = cAlphaArgs(1)

      AlphaNum = 2
      Zone1Num=FindIteminList(cAlphaArgs(AlphaNum),Zone%Name,NumOfZones)
      IF (Zone1Num == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(AlphaNum))//'="'//TRIM(cAlphaArgs(AlphaNum))//'".')
        ErrorsFound=.TRUE.
      ENDIF

      AlphaNum = AlphaNum + 1  !3
      Zone2Num=FindIteminList(cAlphaArgs(AlphaNum),Zone%Name,NumOfZones)
      IF (Zone2Num == 0) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
           '", invalid (not found) '//trim(cAlphaFieldNames(AlphaNum))//'="'//TRIM(cAlphaArgs(AlphaNum))//'".')
        ErrorsFound=.TRUE.
      ENDIF
      IF(Zone1Num .EQ. Zone2Num)THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' The same zone name has been entered for both sides of a refrigerated door '// &
             TRIM(cAlphaFieldNames(AlphaNum))//'="'//trim(cAlphaArgs(AlphaNum))//'".')
        ErrorsFound=.TRUE.
      ELSE IF(zone1Num .LT. zone2Num)THEN !zone 1 will come first in soln loop, id zone 2 as mate zone
        ZoneNumA=Zone1Num
        ZoneNumB=Zone2Num
      ELSE IF(zone2Num .LT. zone1Num)THEN  !zone 2 will come first in soln loop, id zone 1 as mate zone
        ZoneNumA=Zone2Num
        ZoneNumB=Zone1Num
      END IF

      IF(.NOT. ALLOCATED(RefDoorMixing(ZoneNumA)%OpenSchedPtr)) THEN
        ALLOCATE(RefDoorMixing(ZoneNumA)%DoorMixingObjectName(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%OpenSchedPtr(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%DoorHeight(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%DoorArea(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%Protection(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%MateZonePtr(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%EMSRefDoorMixingOn(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%EMSRefDoorFlowRate(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%VolRefDoorFlowRate(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumA)%DoorProtTypeName(NumofZones))
        RefDoorMixing(ZoneNumA)%DoorMixingObjectName = " "
        RefDoorMixing(ZoneNumA)%OpenSchedPtr = 0
        RefDoorMixing(ZoneNumA)%DoorHeight = 0.0d0
        RefDoorMixing(ZoneNumA)%DoorArea = 0.0d0
        RefDoorMixing(ZoneNumA)%Protection = RefDoorNone
        RefDoorMixing(ZoneNumA)%MateZonePtr = 0
        RefDoorMixing(ZoneNumA)%EMSRefDoorMixingOn = .FALSE.
        RefDoorMixing(ZoneNumA)%EMSRefDoorFlowRate = 0.0D0
        RefDoorMixing(ZoneNumA)%VolRefDoorFlowRate = 0.0D0
        RefDoorMixing(ZoneNumA)%DoorProtTypeName = " "
      END IF !First refrigeration mixing in this zone

      IF(.NOT. ALLOCATED(RefDoorMixing(ZoneNumB)%OpenSchedPtr)) THEN
        ALLOCATE(RefDoorMixing(ZoneNumB)%DoorMixingObjectName(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%OpenSchedPtr(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%DoorHeight(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%DoorArea(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%Protection(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%MateZonePtr(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%EMSRefDoorMixingOn(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%EMSRefDoorFlowRate(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%VolRefDoorFlowRate(NumofZones))
        ALLOCATE(RefDoorMixing(ZoneNumB)%DoorProtTypeName(NumofZones))
        RefDoorMixing(ZoneNumB)%DoorMixingObjectName = " "
        RefDoorMixing(ZoneNumB)%OpenSchedPtr = 0
        RefDoorMixing(ZoneNumB)%DoorHeight = 0.0d0
        RefDoorMixing(ZoneNumB)%DoorArea = 0.0d0
        RefDoorMixing(ZoneNumB)%Protection = RefDoorNone
        RefDoorMixing(ZoneNumB)%MateZonePtr = 0
        RefDoorMixing(ZoneNumB)%EMSRefDoorMixingOn = .FALSE.
        RefDoorMixing(ZoneNumB)%EMSRefDoorFlowRate = 0.0D0
        RefDoorMixing(ZoneNumB)%VolRefDoorFlowRate = 0.0D0
        RefDoorMixing(ZoneNumB)%DoorProtTypeName = " "
      END IF !First refrigeration mixing in this zone

      ConnectionNumber = RefDoorMixing(ZoneNumA)%NumRefDoorConnections +1
      RefDoorMixing(ZoneNumA)%NumRefDoorConnections        = ConnectionNumber
      RefDoorMixing(ZoneNumA)%ZonePtr                      = ZoneNumA
      RefDoorMixing(ZoneNumA)%MateZonePtr(ConnectionNumber)= ZoneNumB
      RefDoorMixing(ZoneNumA)%DoorMixingObjectName(ConnectionNumber) = NameThisObject
      !need to make sure same pair of zones is only entered once.
      IF(RefDoorMixing(ZoneNumA)%RefDoorMixFlag .AND. RefDoorMixing(ZoneNumB)%RefDoorMixFlag) THEN
        IF(RefDoorMixing(ZoneNumA)%NumRefDoorConnections > 1) THEN
          DO ConnectTest = 1,(ConnectionNumber-1)
            IF(RefDoorMixing(ZoneNumA)%MateZonePtr(ConnectTest) .NE. &
               RefDoorMixing(ZoneNumA)%MateZonePtr(ConnectionNumber))CYCLE
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
                 ' and '//TRIM(RefDoorMixing(ZoneNumA)%DoorMixingObjectName(ConnectTest)))
            CALL ShowContinueError(' Share same pair of zones: "'//TRIM(Zone(ZoneNumA)%Name)//'" and "'// &
                 TRIM(Zone(ZoneNumB)%Name)// &
                 '". Only one RefrigerationDoorMixing object is allowed for any unique pair of zones.')
            ErrorsFound = .TRUE.
          END DO !ConnectTest
        END IF   !NumRefDoorconnections > 1
      ELSE       !Both zones need to be flagged with ref doors
        RefDoorMixing(ZoneNumA)%RefDoorMixFlag = .TRUE.
        RefDoorMixing(ZoneNumB)%RefDoorMixFlag = .TRUE.
      END IF     !Both zones already flagged with ref doors

      AlphaNum = AlphaNum + 1  !4
      IF (lAlphaFieldBlanks(AlphaNum)) THEN
        CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             TRIM(cAlphaFieldNames(AlphaNum))//' is required but field is blank.')
        ErrorsFound=.TRUE.
      ELSE !(lAlphaFieldBlanks(AlphaNum)) THEN
        RefDoorMixing(ZoneNumA)%OpenSchedPtr(ConnectionNumber)=GetScheduleIndex(cAlphaArgs(AlphaNum))
        IF (RefDoorMixing(ZoneNumA)%OpenSchedPtr(ConnectionNumber) == 0) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
             ' invalid (not found) '//TRIM(cAlphaFieldNames(AlphaNum))//'="'//trim(cAlphaArgs(AlphaNum))//'".')
          ErrorsFound=.TRUE.
        ELSE !OpenSchedPtr(ConnectionNumber) ne 0)
          IF (.NOT. CheckScheduleValueMinMax(RefDoorMixing(ZoneNumA)%OpenSchedPtr(ConnectionNumber),'>=',0.0d0,'<=',1.0d0)) THEN
            CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//'",'//   &
               TRIM(cAlphaFieldNames(AlphaNum))//'="'//trim(cAlphaArgs(AlphaNum))//'" has schedule values < 0 or > 1.')
            ErrorsFound=.TRUE.
          END IF ! check door opening schedule values between 0 and 1
        ENDIF !OpenSchedPtr(ConnectionNumber) == 0)
      ENDIF !(lAlphaFieldBlanks(AlphaNum)) THEN

      NumbNum = 1
      IF (lNumericFieldBlanks(NumbNum)) THEN
        RefDoorMixing(ZoneNumA)%DoorHeight(ConnectionNumber)= 3.0d0 ! default height of 3 meters
        CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            TRIM(cNumericFieldNames(NumbNum))//  &
            ' is blank and the default value of 3.0 will be used.')
      ELSE
        RefDoorMixing(ZoneNumA)%DoorHeight(ConnectionNumber)=rNumericArgs(NumbNum)
        IF ((RefDoorMixing(ZoneNumA)%DoorHeight(ConnectionNumber) < 0) .OR. &
          (RefDoorMixing(ZoneNumA)%DoorHeight(ConnectionNumber) > 50.0d0 )) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a door height between 0 and 50 meters. ')
          ErrorsFound = .TRUE.
        END IF
      END IF

      NumbNum = NumbNum + 1  !2
      IF (lNumericFieldBlanks(NumbNum)) THEN
        RefDoorMixing(ZoneNumA)%DoorArea(ConnectionNumber)=9.0d0 ! default area of 9 m2
        CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
            TRIM(cNumericFieldNames(NumbNum))//  &
            ' is blank and the default value of 9 m2 will be used.')
      ELSE
        RefDoorMixing(ZoneNumA)%DoorArea(ConnectionNumber)=rNumericArgs(NumbNum)
        IF ((RefDoorMixing(ZoneNumA)%DoorArea(ConnectionNumber) < 0) .OR. &
          (RefDoorMixing(ZoneNumA)%DoorArea(ConnectionNumber) > 400.0d0 )) THEN
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1)) // &
           ' must have a door height between 0 and 400 square meters. ')
          ErrorsFound = .TRUE.
        END IF
      END IF

      AlphaNum = AlphaNum + 1  !5
      ! Door protection type.
      IF (lAlphaFieldBlanks(AlphaNum)) THEN
        RefDoorMixing(ZoneNumA)%Protection(ConnectionNumber)=RefDoorNone !Default
        RefDoorMixing(ZoneNumA)%DoorProtTypeName(ConnectionNumber)="None" !Default
        CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
              '"  '//TRIM(cAlphaFieldNames(AlphaNum))//' is blank. Default of no door protection will be used')
      ELSE
        IF    (cAlphaArgs(AlphaNum) .EQ. 'NONE') THEN
            RefDoorMixing(ZoneNumA)%Protection(ConnectionNumber)=RefDoorNone
            RefDoorMixing(ZoneNumA)%DoorProtTypeName(ConnectionNumber)="None"
        ELSEIF(cAlphaArgs(AlphaNum) .EQ.'AIRCURTAIN') THEN
            RefDoorMixing(ZoneNumA)%Protection(ConnectionNumber)=RefDoorAirCurtain
            RefDoorMixing(ZoneNumA)%DoorProtTypeName(ConnectionNumber)="AirCurtain"
        ELSEIF(cAlphaArgs(AlphaNum) .EQ.'STRIPCURTAIN') THEN
            RefDoorMixing(ZoneNumA)%Protection(ConnectionNumber)=RefDoorStripCurtain
            RefDoorMixing(ZoneNumA)%DoorProtTypeName(ConnectionNumber)="StripCurtain"
        ELSE
          CALL ShowSevereError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))//  &
                             '", invalid calculation method='//   &
                             TRIM(cAlphaArgs(AlphaNum))//' with alphanum of 5: '// &
                             TRIM(cAlphaArgs(5)))
          ErrorsFound=.TRUE.
        END IF ! =none, etc.
       END IF !Blank

    IF (ZoneNumA > 0) THEN
      IF (RepVarSet(ZoneNumA)) THEN
        RepVarSet(ZoneNumA)=.FALSE.
        CALL SetupOutputVariable('Zone Mixing Volume [m3]',ZnAirRpt(ZoneNumA)%MixVolume,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Mass [kg]',ZnAirRpt(ZoneNumA)%MixMass,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Loss Energy [J]',ZnAirRpt(ZoneNumA)%MixHeatLoss,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Gain Energy [J]',ZnAirRpt(ZoneNumA)%MixHeatGain,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Loss Energy [J]',ZnAirRpt(ZoneNumA)%MixLatentLoss,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Gain Energy [J]',ZnAirRpt(ZoneNumA)%MixLatentGain,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Loss Energy [J]',ZnAirRpt(ZoneNumA)%MixTotalLoss,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Gain Energy [J]',ZnAirRpt(ZoneNumA)%MixTotalGain,  &
                                 'System','Sum',Zone(ZoneNumA)%Name)
      ENDIF
    ENDIF
    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('ZoneRefDoorMixing', RefDoorMixing(ZoneNumA)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                RefDoorMixing(ZoneNumA)%EMSRefDoorMixingOn(ConnectionNumber), &
                RefDoorMixing(ZoneNumA)%EMSRefDoorFlowRate(ConnectionNumber) )
    ENDIF

    IF (ZoneNumB > 0) THEN
      IF (RepVarSet(ZoneNumB)) THEN
        RepVarSet(ZoneNumB)=.FALSE.
        CALL SetupOutputVariable('Zone Mixing Volume [m3]',ZnAirRpt(ZoneNumB)%MixVolume,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Mass [kg]',ZnAirRpt(ZoneNumB)%MixMass,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Loss Energy [J]',ZnAirRpt(ZoneNumB)%MixHeatLoss,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Sensible Heat Gain Energy [J]',ZnAirRpt(ZoneNumB)%MixHeatGain,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Loss Energy [J]',ZnAirRpt(ZoneNumB)%MixLatentLoss,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Latent Heat Gain Energy [J]',ZnAirRpt(ZoneNumB)%MixLatentGain,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Loss Energy [J]',ZnAirRpt(ZoneNumB)%MixTotalLoss,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
        CALL SetupOutputVariable('Zone Mixing Total Heat Gain Energy [J]',ZnAirRpt(ZoneNumB)%MixTotalGain,  &
                                 'System','Sum',Zone(ZoneNumB)%Name)
      ENDIF
    ENDIF
    IF (AnyEnergyManagementSystemInModel) THEN
      CALL SetupEMSActuator('ZoneRefDoorMixing', RefDoorMixing(ZoneNumB)%Name, 'Air Exchange Flow Rate', '[m3/s]', &
                RefDoorMixing(ZoneNumA)%EMSRefDoorMixingOn(ConnectionNumber), &
                RefDoorMixing(ZoneNumA)%EMSRefDoorFlowRate(ConnectionNumber) )
    ENDIF

  END DO !DO Loop=1,TotRefDoorMixing
END IF !TotRefDoorMixing > 0)

  DEALLOCATE(RepVarSet)
  DEALLOCATE(cAlphaArgs)
  DEALLOCATE(cAlphaFieldNames)
  DEALLOCATE(cNumericFieldNames)
  DEALLOCATE(rNumericArgs)
  DEALLOCATE(lAlphaFieldBlanks)
  DEALLOCATE(lNumericFieldBlanks)


  ALLOCATE(TotInfilVentFlow(NumOfZones))
  TotInfilVentFlow=0.0d0

  DO Loop=1,TotInfiltration
    IF (Loop == 1) WRITE(OutputFileInits,721) 'Infiltration','Design Volume Flow Rate {m3/s},'//  &
       'Volume Flow Rate/Floor Area {m3/s/m2},Volume Flow Rate/Exterior Surface Area {m3/s/m2},'//  &
       'ACH - Air Changes per Hour,Equation A - Constant Term Coefficient {},'//   &
       'Equation B - Temperature Term Coefficient {1/C},'//  &
       'Equation C - Velocity Term Coefficient {s/m}, Equation D - Velocity Squared Term Coefficient {s2/m2}'

    ZoneNum=Infiltration(Loop)%ZonePtr
    IF (ZoneNum == 0) THEN
      WRITE(OutputFileInits,722) 'Infiltration-Illegal Zone specified',TRIM(Infiltration(Loop)%Name)
      CYCLE
    ENDIF
    TotInfilVentFlow(ZoneNum)=TotInfilVentFlow(ZoneNum)+Infiltration(Loop)%DesignLevel
    WRITE(OutputFileInits,720,advance='No') 'ZoneInfiltration',TRIM(Infiltration(Loop)%Name),  &
       TRIM(GetScheduleName(Infiltration(Loop)%SchedPtr)),  &
       TRIM(Zone(ZoneNum)%Name),TRIM(RoundSigDigits(Zone(ZoneNum)%FloorArea,2)),TRIM(RoundSigDigits(Zone(ZoneNum)%TotOccupants,1))
    StringOut=RoundSigDigits(Infiltration(Loop)%DesignLevel,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%FloorArea > 0.0d0) THEN
      StringOut=RoundSigDigits(Infiltration(Loop)%DesignLevel/Zone(ZoneNum)%FloorArea,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%ExteriorTotalSurfArea > 0.0d0) THEN
      StringOut=RoundSigDigits(Infiltration(Loop)%DesignLevel/Zone(ZoneNum)%ExteriorTotalSurfArea,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%Volume > 0.0d0) THEN
      StringOut=RoundSigDigits(Infiltration(Loop)%DesignLevel*SecInHour/Zone(ZoneNum)%Volume,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Infiltration(Loop)%ConstantTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Infiltration(Loop)%TemperatureTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Infiltration(Loop)%VelocityTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Infiltration(Loop)%VelocitySQTermCoef,3)
    WRITE(OutputFileInits,fmta) TRIM(StringOut)
  ENDDO

  DO Loop=1,TotVentilation
    IF (Loop == 1) WRITE(OutputFileInits,721) 'ZoneVentilation','Design Volume Flow Rate {m3/s},'//  &
       'Volume Flow Rate/Floor Area {m3/s/m2},Volume Flow Rate/person Area {m3/s/person},'//  &
       'ACH - Air Changes per Hour,Fan Type {Exhaust;Intake;Natural},Fan Pressure Rise {Pa},'//  &
       'Fan Efficiency {},Equation A - Constant Term Coefficient {},'//   &
       'Equation B - Temperature Term Coefficient {1/C},'//  &
       'Equation C - Velocity Term Coefficient {s/m}, Equation D - Velocity Squared Term Coefficient {s2/m2},'//  &
       'Minimum Indoor Temperature{C}/Schedule,Maximum Indoor Temperature{C}/Schedule,Delta Temperature{C}/Schedule,'//    &
       'Minimum Outdoor Temperature{C}/Schedule,Maximum Outdoor Temperature{C}/Schedule,Maximum WindSpeed{m/s}'

    ZoneNum=Ventilation(Loop)%ZonePtr
    IF (ZoneNum == 0) THEN
      WRITE(OutputFileInits,722) 'Ventilation-Illegal Zone specified',TRIM(Ventilation(Loop)%Name)
      CYCLE
    ENDIF
    TotInfilVentFlow(ZoneNum)=TotInfilVentFlow(ZoneNum)+Ventilation(Loop)%DesignLevel
    WRITE(OutputFileInits,720,advance='No') 'ZoneVentilation',TRIM(Ventilation(Loop)%Name),  &
       TRIM(GetScheduleName(Ventilation(Loop)%SchedPtr)),  &
       TRIM(Zone(ZoneNum)%Name),TRIM(RoundSigDigits(Zone(ZoneNum)%FloorArea,2)),TRIM(RoundSigDigits(Zone(ZoneNum)%TotOccupants,1))
    StringOut=RoundSigDigits(Ventilation(Loop)%DesignLevel,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%FloorArea > 0.0d0) THEN
      StringOut=RoundSigDigits(Ventilation(Loop)%DesignLevel/Zone(ZoneNum)%FloorArea,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%TotOccupants > 0.0d0) THEN
      StringOut=RoundSigDigits(Ventilation(Loop)%DesignLevel/(Zone(ZoneNum)%TotOccupants),3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%Volume > 0.0d0) THEN
      StringOut=RoundSigDigits(Ventilation(Loop)%DesignLevel*SecInHour/Zone(ZoneNum)%Volume,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%FanType == ExhaustVentilation) THEN
      StringOut='Exhaust'
    ELSEIF (Ventilation(Loop)%FanType == IntakeVentilation) THEN
      StringOut='Intake'
    ELSEIF (Ventilation(Loop)%FanType == NaturalVentilation) THEN
      StringOut='Natural'
    ELSEIF (Ventilation(Loop)%FanType == BalancedVentilation) THEN
      StringOut='Balanced'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%FanPressure,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%FanEfficiency,1)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%ConstantTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%TemperatureTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%VelocityTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%VelocitySQTermCoef,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%MinIndoorTempSchedPtr > 0) THEN
      StringOut=GetScheduleName(Ventilation(Loop)%MinIndoorTempSchedPtr)
    ELSE
      StringOut=RoundSigDigits(Ventilation(Loop)%MinIndoorTemperature,2)
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%MaxIndoorTempSchedPtr > 0) THEN
      StringOut='Schedule: '//GetScheduleName(Ventilation(Loop)%MaxIndoorTempSchedPtr)
    ELSE
      StringOut=RoundSigDigits(Ventilation(Loop)%MaxIndoorTemperature,2)
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%DeltaTempSchedPtr > 0) THEN
      StringOut='Schedule: '//GetScheduleName(Ventilation(Loop)%DeltaTempSchedPtr)
    ELSE
      StringOut=RoundSigDigits(Ventilation(Loop)%DelTemperature,2)
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%MinOutdoorTempSchedPtr > 0) THEN
      StringOut='Schedule: '//GetScheduleName(Ventilation(Loop)%MinOutdoorTempSchedPtr)
    ELSE
      StringOut=RoundSigDigits(Ventilation(Loop)%MinOutdoorTemperature,2)
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Ventilation(Loop)%MaxOutdoorTempSchedPtr > 0) THEN
      StringOut='Schedule: '//GetScheduleName(Ventilation(Loop)%MaxOutdoorTempSchedPtr)
    ELSE
      StringOut=RoundSigDigits(Ventilation(Loop)%MaxOutdoorTemperature,2)
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    StringOut=RoundSigDigits(Ventilation(Loop)%MaxWindSpeed,2)
    WRITE(OutputFileInits,fmta) TRIM(StringOut)
  ENDDO

  ALLOCATE(TotMixingFlow(NumOfZones))
  TotMixingFlow=0.0d0
  DO Loop=1,TotMixing
    IF (Loop == 1) WRITE(OutputFileInits,721) 'Mixing','Design Volume Flow Rate {m3/s},'//  &
       'Volume Flow Rate/Floor Area {m3/s/m2},Volume Flow Rate/person Area {m3/s/person},'//  &
       'ACH - Air Changes per Hour,From/Source Zone,Delta Temperature {C}'

    ZoneNum=Mixing(Loop)%ZonePtr
    IF (ZoneNum == 0) THEN
      WRITE(OutputFileInits,722) 'Mixing-Illegal Zone specified',TRIM(Mixing(Loop)%Name)
      CYCLE
    ENDIF
    TotMixingFlow(ZoneNum)=TotMixingFlow(ZoneNum)+Mixing(Loop)%DesignLevel
    WRITE(OutputFileInits,720,advance='No') 'Mixing',TRIM(Mixing(Loop)%Name),  &
       TRIM(GetScheduleName(Mixing(Loop)%SchedPtr)),  &
       TRIM(Zone(ZoneNum)%Name),TRIM(RoundSigDigits(Zone(ZoneNum)%FloorArea,2)),TRIM(RoundSigDigits(Zone(ZoneNum)%TotOccupants,1))
    StringOut=RoundSigDigits(Mixing(Loop)%DesignLevel,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%FloorArea > 0.0d0) THEN
      StringOut=RoundSigDigits(Mixing(Loop)%DesignLevel/Zone(ZoneNum)%FloorArea,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%TotOccupants > 0.0d0) THEN
      StringOut=RoundSigDigits(Mixing(Loop)%DesignLevel/(Zone(ZoneNum)%TotOccupants),3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%Volume > 0.0d0) THEN
      StringOut=RoundSigDigits(Mixing(Loop)%DesignLevel*SecInHour/Zone(ZoneNum)%Volume,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    WRITE(OutputFileInits,fmta,advance='No') TRIM(Zone(Mixing(Loop)%FromZone)%Name)//','
    StringOut=RoundSigDigits(Mixing(Loop)%DeltaTemperature,2)
    WRITE(OutputFileInits,fmta) TRIM(StringOut)
  ENDDO

  DO Loop=1,TotCrossMixing
    IF (Loop == 1) WRITE(OutputFileInits,721) 'CrossMixing','Design Volume Flow Rate {m3/s},'//  &
       'Volume Flow Rate/Floor Area {m3/s/m2},Volume Flow Rate/person Area {m3/s/person},'//  &
       'ACH - Air Changes per Hour,From/Source Zone,Delta Temperature {C}'

    ZoneNum=CrossMixing(Loop)%ZonePtr
    IF (ZoneNum == 0) THEN
      WRITE(OutputFileInits,722) 'CrossMixing-Illegal Zone specified',TRIM(CrossMixing(Loop)%Name)
      CYCLE
    ENDIF
    TotMixingFlow(ZoneNum)=TotMixingFlow(ZoneNum)+CrossMixing(Loop)%DesignLevel
    WRITE(OutputFileInits,720,advance='No') 'CrossMixing',TRIM(CrossMixing(Loop)%Name),  &
       TRIM(GetScheduleName(CrossMixing(Loop)%SchedPtr)),  &
       TRIM(Zone(ZoneNum)%Name),TRIM(RoundSigDigits(Zone(ZoneNum)%FloorArea,2)),TRIM(RoundSigDigits(Zone(ZoneNum)%TotOccupants,1))
    StringOut=RoundSigDigits(CrossMixing(Loop)%DesignLevel,3)
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%FloorArea > 0.0d0) THEN
      StringOut=RoundSigDigits(CrossMixing(Loop)%DesignLevel/Zone(ZoneNum)%FloorArea,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%TotOccupants > 0.0d0) THEN
      StringOut=RoundSigDigits(CrossMixing(Loop)%DesignLevel/(Zone(ZoneNum)%TotOccupants),3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    IF (Zone(ZoneNum)%Volume > 0.0d0) THEN
      StringOut=RoundSigDigits(CrossMixing(Loop)%DesignLevel*SecInHour/Zone(ZoneNum)%Volume,3)
    ELSE
      StringOut='N/A'
    ENDIF
    WRITE(OutputFileInits,fmta,advance='No') TRIM(StringOut)//','
    WRITE(OutputFileInits,fmta,advance='No') TRIM(Zone(CrossMixing(Loop)%FromZone)%Name)//','
    StringOut=RoundSigDigits(CrossMixing(Loop)%DeltaTemperature,2)
    WRITE(OutputFileInits,fmta) TRIM(StringOut)
  ENDDO

  IF (TotRefDoorMixing .GT. 0) THEN
    WRITE(OutputFileInits,724) 'RefrigerationDoorMixing ','Name, Zone 1 Name,'//  &
       'Zone 2 Name,Door Opening Schedule Name,'//  &
       'Door Height {m},Door Area {m2},Door Protection Type'
    DO ZoneNumA = 1,(NumOfZones - 1)
      IF(.NOT. RefDoorMixing(ZoneNumA)%RefDoorMixFlag)CYCLE
      DO ConnectionNumber=1,RefDoorMixing(ZoneNumA)%NumRefDoorConnections
        ZoneNumB=RefDoorMixing(ZoneNumA)%MateZonePtr(ConnectionNumber)
        !TotMixingFlow(ZoneNum)=TotMixingFlow(ZoneNum)+RefDoorMixing(Loop)%!DesignLevel
        WRITE(OutputFileInits,723) 'RefrigerationDoorMixing', &
              TRIM(RefDoorMixing(ZoneNumA)%DoorMixingObjectName(ConnectionNumber)),  &
              TRIM(Zone(ZoneNumA)%Name), TRIM(Zone(ZoneNumB)%Name), &
              TRIM(GetScheduleName(RefDoorMixing(ZoneNumA)%OpenSchedPtr(ConnectionNumber))),  &
              TRIM(RoundSigDigits(RefDoorMixing(ZoneNumA)%DoorHeight(ConnectionNumber),3)), &
              TRIM(RoundSigDigits(RefDoorMixing(ZoneNumA)%DoorArea(ConnectionNumber),3)), &
              TRIM(RefDoorMixing(ZoneNumA)%DoorProtTypeName(ConnectionNumber))
      END DO ! ConnectionNumber
    ENDDO ! ZoneNumA
  END IF !(TotRefDoorMixing .GT. 0)

  DO ZoneNum=1,NumOfZones
    Zone(ZoneNum)%NominalInfilVent=TotInfilVentFlow(ZoneNum)
    Zone(ZoneNum)%NominalMixing=TotMixingFlow(ZoneNum)
  ENDDO

  DEALLOCATE(TotInfilVentFlow)
  DEALLOCATE(TotMixingFlow)
720 FORMAT(' ',A,' Airflow Stats, ',A,',',A,',',A,',',A,',',A,',')
721 FORMAT('! <',A,' Airflow Stats - Nominal>,Name,Schedule Name,Zone Name, Zone Floor Area {m2}, # Zone Occupants,',A)
!           ' Area per Occupant {m2/person}, Occupant per Area {person/m2}, Interior Lighting {W/m2}, ',  &
!           'Electric Load {W/m2}, Gas Load {W/m2}, Other Load {W/m2}, Hot Water Eq {W/m2}, Outdoor Controlled Baseboard Heat')
722 FORMAT(' ',A,', ',A)
723 FORMAT(' ',A,' Airflow Stats, ',A,',',A,',',A,',',A,',',A,',',A,',',A)
724 FORMAT('! <',A,' Airflow Stats - Nominal>, ',A)

  RETURN

END SUBROUTINE GetSimpleAirModelInputs


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