PlantLoadProfile.f90 Source File

This File Depends On

sourcefile~~plantloadprofile.f90~~EfferentGraph sourcefile~plantloadprofile.f90 PlantLoadProfile.f90 sourcefile~schedulemanager.f90 ScheduleManager.f90 sourcefile~schedulemanager.f90->sourcefile~plantloadprofile.f90 sourcefile~nodeinputmanager.f90 NodeInputManager.f90 sourcefile~schedulemanager.f90->sourcefile~nodeinputmanager.f90 sourcefile~outputprocessor.f90 OutputProcessor.f90 sourcefile~schedulemanager.f90->sourcefile~outputprocessor.f90 sourcefile~sqlitefortranroutines.f90 SQLiteFortranRoutines.f90 sourcefile~schedulemanager.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~dataloopnode.f90 DataLoopNode.f90 sourcefile~dataloopnode.f90->sourcefile~plantloadprofile.f90 sourcefile~dataplant.f90 DataPlant.f90 sourcefile~dataloopnode.f90->sourcefile~dataplant.f90 sourcefile~plantutilities.f90 PlantUtilities.f90 sourcefile~dataloopnode.f90->sourcefile~plantutilities.f90 sourcefile~dataloopnode.f90->sourcefile~nodeinputmanager.f90 sourcefile~branchnodeconnections.f90 BranchNodeConnections.f90 sourcefile~dataloopnode.f90->sourcefile~branchnodeconnections.f90 sourcefile~branchinputmanager.f90 BranchInputManager.f90 sourcefile~dataloopnode.f90->sourcefile~branchinputmanager.f90 sourcefile~curvemanager.f90 CurveManager.f90 sourcefile~dataloopnode.f90->sourcefile~curvemanager.f90 sourcefile~fluidproperties.f90 FluidProperties.f90 sourcefile~fluidproperties.f90->sourcefile~plantloadprofile.f90 sourcefile~fluidproperties.f90->sourcefile~plantutilities.f90 sourcefile~fluidproperties.f90->sourcefile~nodeinputmanager.f90 sourcefile~datahvacglobals.f90 DataHVACGlobals.f90 sourcefile~datahvacglobals.f90->sourcefile~plantloadprofile.f90 sourcefile~general.f90 General.f90 sourcefile~datahvacglobals.f90->sourcefile~general.f90 sourcefile~datahvacglobals.f90->sourcefile~branchinputmanager.f90 sourcefile~dataplant.f90->sourcefile~plantloadprofile.f90 sourcefile~dataplant.f90->sourcefile~plantutilities.f90 sourcefile~dataprecisionglobals.f90 DataPrecisionGlobals.f90 sourcefile~dataprecisionglobals.f90->sourcefile~plantloadprofile.f90 sourcefile~dataprecisionglobals.f90->sourcefile~schedulemanager.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataloopnode.f90 sourcefile~dataprecisionglobals.f90->sourcefile~fluidproperties.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datahvacglobals.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataplant.f90 sourcefile~dataglobals.f90 DataGlobals.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataglobals.f90 sourcefile~dataprecisionglobals.f90->sourcefile~plantutilities.f90 sourcefile~dataprecisionglobals.f90->sourcefile~nodeinputmanager.f90 sourcefile~dataipshortcuts.f90 DataIPShortCuts.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataipshortcuts.f90 sourcefile~datainterfaces.f90 DataInterfaces.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datainterfaces.f90 sourcefile~inputprocessor.f90 InputProcessor.f90 sourcefile~dataprecisionglobals.f90->sourcefile~inputprocessor.f90 sourcefile~dataprecisionglobals.f90->sourcefile~general.f90 sourcefile~datasystemvariables.f90 DataSystemVariables.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datasystemvariables.f90 sourcefile~dataenvironment.f90 DataEnvironment.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataenvironment.f90 sourcefile~datasurfaces.f90 DataSurfaces.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datasurfaces.f90 sourcefile~dataruntimelanguage.f90 DataRuntimeLanguage.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataruntimelanguage.f90 sourcefile~datavectortypes.f90 DataVectorTypes.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datavectortypes.f90 sourcefile~databsdfwindow.f90 DataBSDFWindow.f90 sourcefile~dataprecisionglobals.f90->sourcefile~databsdfwindow.f90 sourcefile~dataprecisionglobals.f90->sourcefile~branchinputmanager.f90 sourcefile~datasizing.f90 DataSizing.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datasizing.f90 sourcefile~dataprecisionglobals.f90->sourcefile~curvemanager.f90 sourcefile~dataerrortracking.f90 DataErrorTracking.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataerrortracking.f90 sourcefile~databranchairloopplant.f90 DataBranchAirLoopPlant.f90 sourcefile~dataprecisionglobals.f90->sourcefile~databranchairloopplant.f90 sourcefile~dataprecisionglobals.f90->sourcefile~outputprocessor.f90 sourcefile~datacontaminantbalance.f90 DataContaminantBalance.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datacontaminantbalance.f90 sourcefile~psychroutines.f90 PsychRoutines.f90 sourcefile~dataprecisionglobals.f90->sourcefile~psychroutines.f90 sourcefile~dataprecisionglobals.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~outputreportpredefined.f90 OutputReportPredefined.f90 sourcefile~dataprecisionglobals.f90->sourcefile~outputreportpredefined.f90 sourcefile~dataheatbalance.f90 DataHeatBalance.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataheatbalance.f90 sourcefile~dataroomair.f90 DataRoomAir.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataroomair.f90 sourcefile~datacomplexfenestration.f90 DataComplexFenestration.f90 sourcefile~dataprecisionglobals.f90->sourcefile~datacomplexfenestration.f90 sourcefile~dataequivalentlayerwindow.f90 DataEquivalentLayerWindow.f90 sourcefile~dataprecisionglobals.f90->sourcefile~dataequivalentlayerwindow.f90 sourcefile~dataglobals.f90->sourcefile~plantloadprofile.f90 sourcefile~dataglobals.f90->sourcefile~schedulemanager.f90 sourcefile~dataglobals.f90->sourcefile~dataloopnode.f90 sourcefile~dataglobals.f90->sourcefile~fluidproperties.f90 sourcefile~dataglobals.f90->sourcefile~datahvacglobals.f90 sourcefile~dataglobals.f90->sourcefile~dataplant.f90 sourcefile~dataglobals.f90->sourcefile~plantutilities.f90 sourcefile~dataglobals.f90->sourcefile~nodeinputmanager.f90 sourcefile~dataglobals.f90->sourcefile~dataipshortcuts.f90 sourcefile~dataglobals.f90->sourcefile~branchnodeconnections.f90 sourcefile~dataglobals.f90->sourcefile~inputprocessor.f90 sourcefile~dataglobals.f90->sourcefile~general.f90 sourcefile~dataglobals.f90->sourcefile~dataenvironment.f90 sourcefile~dataglobals.f90->sourcefile~datasurfaces.f90 sourcefile~dataglobals.f90->sourcefile~dataruntimelanguage.f90 sourcefile~dataglobals.f90->sourcefile~databsdfwindow.f90 sourcefile~dataglobals.f90->sourcefile~branchinputmanager.f90 sourcefile~dataglobals.f90->sourcefile~datasizing.f90 sourcefile~dataglobals.f90->sourcefile~curvemanager.f90 sourcefile~dataglobals.f90->sourcefile~databranchairloopplant.f90 sourcefile~dataglobals.f90->sourcefile~outputprocessor.f90 sourcefile~dataglobals.f90->sourcefile~datacontaminantbalance.f90 sourcefile~dataglobals.f90->sourcefile~psychroutines.f90 sourcefile~sortandstringutilities.f90 SortAndStringUtilities.f90 sourcefile~dataglobals.f90->sourcefile~sortandstringutilities.f90 sourcefile~dataoutputs.f90 DataOutputs.f90 sourcefile~dataglobals.f90->sourcefile~dataoutputs.f90 sourcefile~dataglobals.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~dataglobalconstants.f90 DataGlobalConstants.f90 sourcefile~dataglobals.f90->sourcefile~dataglobalconstants.f90 sourcefile~dataglobals.f90->sourcefile~outputreportpredefined.f90 sourcefile~dataglobals.f90->sourcefile~dataheatbalance.f90 sourcefile~dataglobals.f90->sourcefile~dataroomair.f90 sourcefile~dataglobals.f90->sourcefile~datacomplexfenestration.f90 sourcefile~dataglobals.f90->sourcefile~dataequivalentlayerwindow.f90 sourcefile~databranchnodeconnections.f90 DataBranchNodeConnections.f90 sourcefile~dataglobals.f90->sourcefile~databranchnodeconnections.f90 sourcefile~plantutilities.f90->sourcefile~plantloadprofile.f90 sourcefile~nodeinputmanager.f90->sourcefile~plantloadprofile.f90 sourcefile~nodeinputmanager.f90->sourcefile~branchinputmanager.f90 sourcefile~dataipshortcuts.f90->sourcefile~plantloadprofile.f90 sourcefile~dataipshortcuts.f90->sourcefile~schedulemanager.f90 sourcefile~dataipshortcuts.f90->sourcefile~inputprocessor.f90 sourcefile~dataipshortcuts.f90->sourcefile~general.f90 sourcefile~dataipshortcuts.f90->sourcefile~curvemanager.f90 sourcefile~dataipshortcuts.f90->sourcefile~outputprocessor.f90 sourcefile~datainterfaces.f90->sourcefile~plantloadprofile.f90 sourcefile~datainterfaces.f90->sourcefile~schedulemanager.f90 sourcefile~datainterfaces.f90->sourcefile~fluidproperties.f90 sourcefile~datainterfaces.f90->sourcefile~dataplant.f90 sourcefile~datainterfaces.f90->sourcefile~plantutilities.f90 sourcefile~datainterfaces.f90->sourcefile~nodeinputmanager.f90 sourcefile~datainterfaces.f90->sourcefile~branchnodeconnections.f90 sourcefile~datainterfaces.f90->sourcefile~inputprocessor.f90 sourcefile~datainterfaces.f90->sourcefile~general.f90 sourcefile~datainterfaces.f90->sourcefile~dataenvironment.f90 sourcefile~datainterfaces.f90->sourcefile~dataruntimelanguage.f90 sourcefile~datainterfaces.f90->sourcefile~branchinputmanager.f90 sourcefile~datainterfaces.f90->sourcefile~curvemanager.f90 sourcefile~datainterfaces.f90->sourcefile~outputprocessor.f90 sourcefile~datainterfaces.f90->sourcefile~psychroutines.f90 sourcefile~datainterfaces.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~datainterfaces.f90->sourcefile~dataheatbalance.f90 sourcefile~branchnodeconnections.f90->sourcefile~plantloadprofile.f90 sourcefile~branchnodeconnections.f90->sourcefile~nodeinputmanager.f90 sourcefile~branchnodeconnections.f90->sourcefile~branchinputmanager.f90 sourcefile~inputprocessor.f90->sourcefile~plantloadprofile.f90 sourcefile~inputprocessor.f90->sourcefile~schedulemanager.f90 sourcefile~inputprocessor.f90->sourcefile~fluidproperties.f90 sourcefile~inputprocessor.f90->sourcefile~dataplant.f90 sourcefile~inputprocessor.f90->sourcefile~nodeinputmanager.f90 sourcefile~inputprocessor.f90->sourcefile~branchnodeconnections.f90 sourcefile~inputprocessor.f90->sourcefile~general.f90 sourcefile~inputprocessor.f90->sourcefile~branchinputmanager.f90 sourcefile~inputprocessor.f90->sourcefile~curvemanager.f90 sourcefile~inputprocessor.f90->sourcefile~outputprocessor.f90 sourcefile~inputprocessor.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~inputprocessor.f90->sourcefile~dataglobalconstants.f90 sourcefile~inputprocessor.f90->sourcefile~dataheatbalance.f90 sourcefile~datastringglobals.f90 DataStringGlobals.f90 sourcefile~datastringglobals.f90->sourcefile~schedulemanager.f90 sourcefile~datastringglobals.f90->sourcefile~inputprocessor.f90 sourcefile~datastringglobals.f90->sourcefile~general.f90 sourcefile~datastringglobals.f90->sourcefile~datasystemvariables.f90 sourcefile~datastringglobals.f90->sourcefile~outputprocessor.f90 sourcefile~datastringglobals.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~general.f90->sourcefile~schedulemanager.f90 sourcefile~general.f90->sourcefile~fluidproperties.f90 sourcefile~general.f90->sourcefile~dataplant.f90 sourcefile~general.f90->sourcefile~plantutilities.f90 sourcefile~general.f90->sourcefile~nodeinputmanager.f90 sourcefile~general.f90->sourcefile~branchnodeconnections.f90 sourcefile~general.f90->sourcefile~dataenvironment.f90 sourcefile~general.f90->sourcefile~branchinputmanager.f90 sourcefile~general.f90->sourcefile~curvemanager.f90 sourcefile~general.f90->sourcefile~outputprocessor.f90 sourcefile~general.f90->sourcefile~psychroutines.f90 sourcefile~general.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~general.f90->sourcefile~dataheatbalance.f90 sourcefile~datasystemvariables.f90->sourcefile~schedulemanager.f90 sourcefile~datasystemvariables.f90->sourcefile~inputprocessor.f90 sourcefile~datasystemvariables.f90->sourcefile~curvemanager.f90 sourcefile~datasystemvariables.f90->sourcefile~outputprocessor.f90 sourcefile~datasystemvariables.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~dataenvironment.f90->sourcefile~schedulemanager.f90 sourcefile~dataenvironment.f90->sourcefile~nodeinputmanager.f90 sourcefile~dataenvironment.f90->sourcefile~outputprocessor.f90 sourcefile~dataenvironment.f90->sourcefile~psychroutines.f90 sourcefile~dataenvironment.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~dataenvironment.f90->sourcefile~dataheatbalance.f90 sourcefile~datasurfaces.f90->sourcefile~general.f90 sourcefile~datasurfaces.f90->sourcefile~datacontaminantbalance.f90 sourcefile~datasurfaces.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~datasurfaces.f90->sourcefile~dataheatbalance.f90 sourcefile~dataruntimelanguage.f90->sourcefile~general.f90 sourcefile~datavectortypes.f90->sourcefile~datasurfaces.f90 sourcefile~datavectortypes.f90->sourcefile~databsdfwindow.f90 sourcefile~datavectortypes.f90->sourcefile~dataheatbalance.f90 sourcefile~databsdfwindow.f90->sourcefile~datasurfaces.f90 sourcefile~databsdfwindow.f90->sourcefile~dataheatbalance.f90 sourcefile~branchinputmanager.f90->sourcefile~dataplant.f90 sourcefile~datasizing.f90->sourcefile~dataplant.f90 sourcefile~datasizing.f90->sourcefile~plantutilities.f90 sourcefile~datasizing.f90->sourcefile~inputprocessor.f90 sourcefile~datasizing.f90->sourcefile~branchinputmanager.f90 sourcefile~curvemanager.f90->sourcefile~branchinputmanager.f90 sourcefile~dataerrortracking.f90->sourcefile~nodeinputmanager.f90 sourcefile~dataerrortracking.f90->sourcefile~branchinputmanager.f90 sourcefile~databranchairloopplant.f90->sourcefile~plantutilities.f90 sourcefile~databranchairloopplant.f90->sourcefile~branchinputmanager.f90 sourcefile~databranchairloopplant.f90->sourcefile~curvemanager.f90 sourcefile~outputprocessor.f90->sourcefile~nodeinputmanager.f90 sourcefile~datacontaminantbalance.f90->sourcefile~nodeinputmanager.f90 sourcefile~psychroutines.f90->sourcefile~nodeinputmanager.f90 sourcefile~sortandstringutilities.f90->sourcefile~inputprocessor.f90 sourcefile~sortandstringutilities.f90->sourcefile~outputprocessor.f90 sourcefile~dataoutputs.f90->sourcefile~inputprocessor.f90 sourcefile~dataoutputs.f90->sourcefile~outputprocessor.f90 sourcefile~sqlitefortranroutines.f90->sourcefile~outputprocessor.f90 sourcefile~dataglobalconstants.f90->sourcefile~outputprocessor.f90 sourcefile~outputreportpredefined.f90->sourcefile~outputprocessor.f90 sourcefile~dataheatbalance.f90->sourcefile~outputprocessor.f90 sourcefile~dataheatbalance.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~dataroomair.f90->sourcefile~sqlitefortranroutines.f90 sourcefile~datacomplexfenestration.f90->sourcefile~dataheatbalance.f90 sourcefile~dataequivalentlayerwindow.f90->sourcefile~dataheatbalance.f90 sourcefile~databranchnodeconnections.f90->sourcefile~branchnodeconnections.f90
Help

Files Dependent On This One

sourcefile~~plantloadprofile.f90~~AfferentGraph sourcefile~plantloadprofile.f90 PlantLoadProfile.f90 sourcefile~plantloopequipment.f90 PlantLoopEquipment.f90 sourcefile~plantloadprofile.f90->sourcefile~plantloopequipment.f90 sourcefile~plantmanager.f90 PlantManager.f90 sourcefile~plantloopequipment.f90->sourcefile~plantmanager.f90 sourcefile~plantloopsolver.f90 PlantLoopSolver.f90 sourcefile~plantloopequipment.f90->sourcefile~plantloopsolver.f90 sourcefile~simulationmanager.f90 SimulationManager.f90 sourcefile~plantmanager.f90->sourcefile~simulationmanager.f90 sourcefile~utilityroutines.f90 UtilityRoutines.f90 sourcefile~plantmanager.f90->sourcefile~utilityroutines.f90 sourcefile~hvacmanager.f90 HVACManager.f90 sourcefile~plantmanager.f90->sourcefile~hvacmanager.f90 sourcefile~plantloopsolver.f90->sourcefile~plantmanager.f90 sourcefile~simulationmanager.f90->sourcefile~utilityroutines.f90 sourcefile~energyplus.f90 EnergyPlus.f90 sourcefile~simulationmanager.f90->sourcefile~energyplus.f90 sourcefile~hvacmanager.f90->sourcefile~simulationmanager.f90 sourcefile~heatbalanceairmanager.f90 HeatBalanceAirManager.f90 sourcefile~hvacmanager.f90->sourcefile~heatbalanceairmanager.f90 sourcefile~heatbalanceairmanager.f90->sourcefile~simulationmanager.f90 sourcefile~heatbalancesurfacemanager.f90 HeatBalanceSurfaceManager.f90 sourcefile~heatbalanceairmanager.f90->sourcefile~heatbalancesurfacemanager.f90 sourcefile~heatbalancesurfacemanager.f90->sourcefile~simulationmanager.f90 sourcefile~heatbalancemanager.f90 HeatBalanceManager.f90 sourcefile~heatbalancesurfacemanager.f90->sourcefile~heatbalancemanager.f90 sourcefile~heatbalancemanager.f90->sourcefile~simulationmanager.f90 sourcefile~sizingmanager.f90 SizingManager.f90 sourcefile~heatbalancemanager.f90->sourcefile~sizingmanager.f90 sourcefile~sizingmanager.f90->sourcefile~simulationmanager.f90
Help

Source Code


Source Code

MODULE PlantLoadProfile

          ! MODULE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       Brent Griffith, plant rewrite, general fluid types
          !                      allow flow requests with out load requests
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS MODULE:
          ! This module simulates a scheduled load profile on the demand side of the plant loop.

          ! METHODOLOGY EMPLOYED:
          ! The plant load profile object provides a scheduled load on the plant loop.  Unlike most plant equipment
          ! on the demand side, i.e. zone equipment, this object does not have a zone associated with it.
          ! For this reason the plant load profile can only be called for simulation by the non-zone equipment
          ! manager (see NonZoneEquipmentManager.f90).

          ! USE STATEMENTS:
USE DataPrecisionGlobals
USE DataGlobals, ONLY: MaxNameLength, BeginEnvrnFlag, InitConvTemp
USE DataInterfaces, ONLY: ShowWarningError, ShowFatalError, ShowSevereError, ShowContinueError, SetupOutputVariable
USE DataPlant  ,    ONLY: PlantLoop, TypeOf_PlantLoadProfile, ScanPlantLoopsForObject
USE PlantUtilities, ONLY: SetComponentFlowRate, InitComponentNodes

IMPLICIT NONE ! Enforce explicit typing of all variables

PRIVATE ! Everything private unless explicitly made public

          ! DERIVED TYPE DEFINITIONS:
TYPE PlantProfileData
  CHARACTER(len=MaxNameLength) :: Name = ''                ! Name of Plant Load Profile object
  INTEGER                      :: TypeNum                  ! Plant Side Connection: 'TypeOf_Num' assigned in DataPlant  !DSU
  INTEGER                      :: WLoopNum     = 0         ! water plant loop index number                      !DSU
  INTEGER                      :: WLoopSideNum = 0         ! water plant loop side index                        !DSU
  INTEGER                      :: WLoopBranchNum   = 0     ! water plant loop branch index                      !DSU
  INTEGER                      :: WLoopCompNum     = 0     ! water plant loop component index                   !DSU
  LOGICAL                      :: Init = .TRUE.            ! Flag for initialization:  TRUE means do the init
  LOGICAL                      :: InitSizing = .TRUE.      ! Flag for initialization of plant sizing
  INTEGER                      :: InletNode = 0
  REAL(r64)                    :: InletTemp = 0.0d0          ! Inlet temperature (C)
  INTEGER                      :: OutletNode = 0
  REAL(r64)                    :: OutletTemp = 0.0d0         ! Outlet temperature (C)
  INTEGER                      :: LoadSchedule = 0         ! Pointer to schedule object
  LOGICAL                      :: EMSOverridePower  = .FALSE. ! if true, then EMS is calling to override power level
  REAL(r64)                    :: EMSPowerValue  = 0.0D0  ! value EMS is directing to use for power [W]
  REAL(r64)                    :: PeakVolFlowRate = 0.0d0    ! Peak volumetric flow rate, also water consumption rate (m3/s)
  INTEGER                      :: FlowRateFracSchedule = 0 ! Pointer to schedule object
  REAL(r64)                    :: VolFlowRate = 0.0d0        ! Volumetric flow rate (m3/s)
  REAL(r64)                    :: MassFlowRate = 0.0d0       ! Mass flow rate (kg/s)
  LOGICAL                      :: EMSOverrideMassFlow = .FALSE. !
  REAL(r64)                    :: EMSMassFlowValue    = 0.0D0 !

  ! Report variables
  REAL(r64)                    :: Power = 0.0d0              ! Power required to meet the load (W)
  REAL(r64)                    :: Energy = 0.0d0             ! Energy required to meet the load (J)
  REAL(r64)                    :: HeatingEnergy = 0.0d0      ! Heating Energy required to meet the load (J)
  REAL(r64)                    :: CoolingEnergy = 0.0d0      ! Cooling Energy required to meet the load (J)
  LOGICAL                      :: SetLoopIndexFlag = .TRUE.
END TYPE PlantProfileData

          ! MODULE VARIABLE TYPE DECLARATIONS:
TYPE (PlantProfileData), ALLOCATABLE, DIMENSION(:) :: PlantProfile

          ! MODULE VARIABLE DECLARATIONS:
INTEGER :: NumOfPlantProfile

          ! SUBROUTINE SPECIFICATIONS:
PUBLIC SimulatePlantProfile
PRIVATE GetPlantProfileInput
PRIVATE InitPlantProfile
PRIVATE UpdatePlantProfile
PRIVATE ReportPlantProfile

CONTAINS

          ! MODULE SUBROUTINES:

SUBROUTINE SimulatePlantProfile(EquipTypeName,EquipName,EquipTypeNum,ProfileNum, FirstHVACIteration,InitLoopEquip )

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       Brent Griffith, generalize fluid cp
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Simulates the plant load profile object.

          ! METHODOLOGY EMPLOYED:
          ! This is a very simple simulation.  InitPlantProfile does the work of getting the scheduled load and flow rate.
          ! Flow is requested and the actual available flow is set.  The outlet temperature is calculated.

          ! USE STATEMENTS:

  USE FluidProperties, ONLY: GetSpecificHeatGlycol
  USE DataInterfaces, ONLY: ShowFatalError
  USE InputProcessor, ONLY: FindItemInList

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
  CHARACTER(len=*), INTENT(IN) :: EquipTypeName  ! description of model (not used until different types of profiles)
  CHARACTER(len=*), INTENT(IN) :: EquipName ! the user-defined name
  INTEGER, INTENT(IN)          :: EquipTypeNum ! the plant parameter ID for equipment model
  INTEGER, INTENT(INOUT)       :: ProfileNum ! the index for specific load profile
  LOGICAL, INTENT(IN)          :: FirstHVACIteration
  LOGICAL, INTENT(IN)          :: InitLoopEquip ! flag indicating if called in special initialization mode.


          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  REAL(r64) :: DeltaTemp
  LOGICAL, SAVE :: GetInput = .TRUE.
  REAL(r64) :: Cp ! local fluid specific heat

          ! FLOW:
  IF (GetInput) THEN
    CALL GetPlantProfileInput
    GetInput = .FALSE.
  END IF

  IF (InitLoopEquip) THEN
    ProfileNum = FindItemInList(EquipName, PlantProfile%Name, NumOfPlantProfile)
    IF (ProfileNum /= 0) THEN
      CALL InitPlantProfile(ProfileNum)
      RETURN
    ENDIF

  ENDIF

  IF (ProfileNum /= 0) THEN

    CALL InitPlantProfile(ProfileNum)

    IF (PlantProfile(ProfileNum)%MassFlowRate > 0.d0) THEN

      Cp = GetSpecificHeatGlycol(PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidName,  &
                                 PlantProfile(ProfileNum)%InletTemp,                      &
                                 PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidIndex, &
                                 'SimulatePlantProfile')

      DeltaTemp = PlantProfile(ProfileNum)%Power &
                    / (PlantProfile(ProfileNum)%MassFlowRate * Cp)
    ELSE
      PlantProfile(ProfileNum)%Power = 0.d0
      DeltaTemp = 0.d0
    END IF

    PlantProfile(ProfileNum)%OutletTemp = PlantProfile(ProfileNum)%InletTemp - DeltaTemp

    CALL UpdatePlantProfile(ProfileNum)
    CALL ReportPlantProfile(ProfileNum)

  ELSE
    CALL ShowFatalError('SimulatePlantProfile: plant load profile not found ='//Trim(EquipName))

  ENDIF


  RETURN

END SUBROUTINE SimulatePlantProfile


SUBROUTINE GetPlantProfileInput

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       na
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Gets the plant load profile input from the input file and sets up the objects.

          ! METHODOLOGY EMPLOYED:
          ! Standard EnergyPlus methodology.

          ! USE STATEMENTS:
  USE InputProcessor,        ONLY: GetNumObjectsFound, GetObjectItem, VerifyName, SameString
  USE ScheduleManager,       ONLY: GetScheduleIndex
  USE NodeInputManager,      ONLY: GetOnlySingleNode
  USE BranchNodeConnections, ONLY: TestCompSet
  USE DataGlobals,           ONLY: AnyEnergyManagementSystemInModel
  USE DataInterfaces,        ONLY: SetupEMSActuator
  USE DataLoopNode
  USE DataIPShortCuts  ! Data for field names, blank numerics

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

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  LOGICAL                        :: ErrorsFound = .FALSE. ! Set to true if errors in input, fatal at end of routine
  INTEGER                        :: IOStatus              ! Used in GetObjectItem
  LOGICAL                        :: IsBlank               ! TRUE if the name is blank
  LOGICAL                        :: IsNotOk               ! TRUE if there was a problem with a list name
  INTEGER                        :: NumAlphas             ! Number of Alphas for each GetObjectItem call
  INTEGER                        :: NumNumbers            ! Number of Numbers for each GetObjectItem call
  INTEGER                        :: ProfileNum            ! PLANT LOAD PROFILE (PlantProfile) object number
!  CHARACTER(len=MaxNameLength)   :: FoundBranchName
!  INTEGER                        :: BranchControlType

          ! FLOW:
  cCurrentModuleObject = 'LoadProfile:Plant'
  NumOfPlantProfile = GetNumObjectsFound(cCurrentModuleObject)

  IF (NumOfPlantProfile > 0) THEN
    ALLOCATE(PlantProfile(NumOfPlantProfile))

    DO ProfileNum = 1, NumOfPlantProfile
      CALL GetObjectItem(cCurrentModuleObject,ProfileNum,cAlphaArgs,NumAlphas,rNumericArgs,NumNumbers,IOStatus,    &
                NumBlank=lNumericFieldBlanks,AlphaFieldnames=cAlphaFieldNames,NumericFieldNames=cNumericFieldNames)

      ! PlantProfile name
      IsNotOK = .FALSE.
      IsBlank = .FALSE.
      CALL VerifyName(cAlphaArgs(1),PlantProfile%Name,ProfileNum-1,IsNotOK,IsBlank,TRIM(cCurrentModuleObject))
      IF (IsNotOK) THEN
        ErrorsFound = .TRUE.
        IF (IsBlank) cAlphaArgs(1) = 'xxxxx'
      END IF
      PlantProfile(ProfileNum)%Name = cAlphaArgs(1)
      PlantProfile(ProfileNum)%TypeNum = TypeOf_PlantLoadProfile    ! parameter assigned in DataPlant !DSU

      PlantProfile(ProfileNum)%InletNode = GetOnlySingleNode(cAlphaArgs(2),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
               NodeType_Water,NodeConnectionType_Inlet, 1, ObjectIsNotParent)
      PlantProfile(ProfileNum)%OutletNode = GetOnlySingleNode(cAlphaArgs(3),ErrorsFound,TRIM(cCurrentModuleObject),cAlphaArgs(1), &
               NodeType_Water,NodeConnectionType_Outlet, 1, ObjectIsNotParent)

      PlantProfile(ProfileNum)%LoadSchedule = GetScheduleIndex(cAlphaArgs(4))

      IF (PlantProfile(ProfileNum)%LoadSchedule == 0) THEN
        CALL ShowSevereError(TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
          '"  The Schedule for '//Trim(cAlphaFieldNames(4))//' called '//Trim(cAlphaArgs(4))//' was not found.')
        ErrorsFound = .TRUE.
      END IF

      PlantProfile(ProfileNum)%PeakVolFlowRate = rNumericArgs(1)

      PlantProfile(ProfileNum)%FlowRateFracSchedule = GetScheduleIndex(cAlphaArgs(5))

      IF (PlantProfile(ProfileNum)%FlowRateFracSchedule == 0) THEN
        CALL ShowSevereError(TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// &
          '"  The Schedule for '//Trim(cAlphaFieldNames(5))//' called '//Trim(cAlphaArgs(5))//' was not found.')

        ErrorsFound = .TRUE.
      END IF

      ! Check plant connections
      CALL TestCompSet(TRIM(cCurrentModuleObject),cAlphaArgs(1),cAlphaArgs(2),cAlphaArgs(3),TRIM(cCurrentModuleObject)//' Nodes')

      ! Setup report variables
      CALL SetupOutputVariable('Plant Load Profile Mass Flow Rate [kg/s]', PlantProfile(ProfileNum)%MassFlowRate, &
                               'System','Average',PlantProfile(ProfileNum)%Name)

      CALL SetupOutputVariable('Plant Load Profile Heat Transfer Rate [W]', PlantProfile(ProfileNum)%Power, &
                               'System','Average',PlantProfile(ProfileNum)%Name)

      CALL SetupOutputVariable('Plant Load Profile Heat Transfer Energy [J]', PlantProfile(ProfileNum)%Energy, &
                               'System','Sum',PlantProfile(ProfileNum)%Name, &
                                ResourceTypeKey='ENERGYTRANSFER',EndUseKey='Heating',GroupKey='Plant')  ! is EndUseKey right?

      CALL SetupOutputVariable('Plant Load Profile Heating Energy [J]', PlantProfile(ProfileNum)%HeatingEnergy, &
                               'System','Sum',PlantProfile(ProfileNum)%Name, &
                                ResourceTypeKey='PLANTLOOPHEATINGDEMAND',EndUseKey='Heating',GroupKey='Plant')

      CALL SetupOutputVariable('Plant Load Profile Cooling Energy [J]', PlantProfile(ProfileNum)%CoolingEnergy, &
                               'System','Sum',PlantProfile(ProfileNum)%Name, &
                                ResourceTypeKey='PLANTLOOPCOOLINGDEMAND',EndUseKey='Cooling',GroupKey='Plant')

      IF (AnyEnergyManagementSystemInModel) THEN
        CALL SetupEMSActuator('Plant Load Profile', PlantProfile(ProfileNum)%Name, 'Mass Flow Rate' , '[kg/s]', &
                 PlantProfile(ProfileNum)%EMSOverrideMassFlow, PlantProfile(ProfileNum)%EMSMassFlowValue )
        CALL SetupEMSActuator('Plant Load Profile', PlantProfile(ProfileNum)%Name, 'Power' , '[W]', &
                 PlantProfile(ProfileNum)%EMSOverridePower, PlantProfile(ProfileNum)%EMSPowerValue )
      ENDIF

      IF (ErrorsFound) CALL ShowFatalError('Errors in '//TRIM(cCurrentModuleObject)//' input.')

    END DO ! ProfileNum
  END IF

  RETURN

END SUBROUTINE GetPlantProfileInput


SUBROUTINE InitPlantProfile(ProfileNum )

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       na
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Initializes the plant load profile object during the plant simulation.

          ! METHODOLOGY EMPLOYED:
          ! Inlet and outlet nodes are initialized.  The scheduled load and flow rate is obtained, flow is requested, and the
          ! actual available flow is set.

          ! USE STATEMENTS:
  USE DataGlobals, ONLY: SysSizingCalc
  USE PlantUtilities, ONLY: RegisterPlantCompDesignFlow
  USE DataLoopNode, ONLY: Node
  USE ScheduleManager, ONLY: GetCurrentScheduleValue, GetScheduleMaxValue
  USE FluidProperties, ONLY: GetDensityGlycol

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER, INTENT(IN) :: ProfileNum

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER :: InletNode
  INTEGER :: OutletNode
  REAL(r64) :: MaxFlowMultiplier
  REAL(R64) :: FluidDensityInit
  LOGICAL   :: errFlag

          ! FLOW:

  ! Do the one time initializations
  IF(PlantProfile(ProfileNum)%SetLoopIndexFlag)THEN
    IF(ALLOCATED(PlantLoop))THEN
      errFlag=.false.
      CALL ScanPlantLoopsForObject(PlantProfile(ProfileNum)%Name, &
                                   PlantProfile(ProfileNum)%TypeNum, &
                                   PlantProfile(ProfileNum)%WLoopNum, &
                                   PlantProfile(ProfileNum)%WLoopSideNum, &
                                   PlantProfile(ProfileNum)%WLoopBranchNum, &
                                   PlantProfile(ProfileNum)%WLoopCompNum,   &
                                   errFlag=errFlag)
      IF (errFlag) THEN
        CALL ShowFatalError('InitPlantProfile: Program terminated for previous conditions.')
      ENDIF

      PlantProfile(ProfileNum)%SetLoopIndexFlag = .FALSE.
    ENDIF
  ENDIF

          ! FLOW:
  InletNode  = PlantProfile(ProfileNum)%InletNode
  OutletNode = PlantProfile(ProfileNum)%OutletNode

  IF (.NOT. SysSizingCalc .AND. PlantProfile(ProfileNum)%InitSizing) THEN
    CALL RegisterPlantCompDesignFlow(InletNode, PlantProfile(ProfileNum)%PeakVolFlowRate)
    PlantProfile(ProfileNum)%InitSizing = .FALSE.
  END IF

  IF (BeginEnvrnFlag .AND. PlantProfile(ProfileNum)%Init) THEN
    ! Clear node initial conditions
    !DSU? can we centralize these temperature inits
!    Node(InletNode)%Temp = 0.0
    Node(OutletNode)%Temp = 0.0d0

    FluidDensityInit = GetDensityGlycol(PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidName,  &
                                  InitConvTemp, &
                                  PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidIndex,'InitPlantProfile')

    MaxFlowMultiplier = GetScheduleMaxValue(PlantProfile(ProfileNum)%FlowRateFracSchedule)

    CALL InitComponentNodes(0.d0, PlantProfile(ProfileNum)%PeakVolFlowRate*FluidDensityInit*MaxFlowMultiplier,  &
                            InletNode,OutletNode, &
                            PlantProfile(ProfileNum)%WLoopNum,PlantProfile(ProfileNum)%WLoopSideNum, &
                            PlantProfile(ProfileNum)%WLoopBranchNum, PlantProfile(ProfileNum)%WLoopCompNum)

    PlantProfile(ProfileNum)%EMSOverrideMassFlow = .FALSE.
    PlantProfile(ProfileNum)%EMSMassFlowValue    = 0.d0
    PlantProfile(ProfileNum)%EMSOverridePower    = .FALSE.
    PlantProfile(ProfileNum)%EMSPowerValue       = 0.d0
    PlantProfile(ProfileNum)%Init = .FALSE.

  END IF

  IF (.NOT. BeginEnvrnFlag) PlantProfile(ProfileNum)%Init = .TRUE.

  PlantProfile(ProfileNum)%InletTemp = Node(InletNode)%Temp
  PlantProfile(ProfileNum)%Power = GetCurrentScheduleValue(PlantProfile(ProfileNum)%LoadSchedule)

  IF (PlantProfile(ProfileNum)%EMSOverridePower) PlantProfile(ProfileNum)%Power = PlantProfile(ProfileNum)%EMSPowerValue

  FluidDensityInit = GetDensityGlycol(PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidName,  &
                                  PlantProfile(ProfileNum)%InletTemp, &
                                  PlantLoop(PlantProfile(ProfileNum)%WLoopNum)%FluidIndex,'InitPlantProfile')

  ! Get the scheduled mass flow rate
  PlantProfile(ProfileNum)%VolFlowRate = PlantProfile(ProfileNum)%PeakVolFlowRate *   &
                                         GetCurrentScheduleValue(PlantProfile(ProfileNum)%FlowRateFracSchedule)


  PlantProfile(ProfileNum)%MassFlowRate = PlantProfile(ProfileNum)%VolFlowRate * FluidDensityInit

  IF (PlantProfile(ProfileNum)%EMSOverrideMassFlow) &
           PlantProfile(ProfileNum)%MassFlowRate =  PlantProfile(ProfileNum)%EMSMassFlowValue

    ! Request the mass flow rate from the plant component flow utility routine
  CALL SetComponentFlowRate(PlantProfile(ProfileNum)%MassFlowRate,InletNode,OutletNode, &
            PlantProfile(ProfileNum)%WLoopNum,PlantProfile(ProfileNum)%WLoopSideNum, &
            PlantProfile(ProfileNum)%WLoopBranchNum, PlantProfile(ProfileNum)%WLoopCompNum)

  PlantProfile(ProfileNum)%VolFlowRate = PlantProfile(ProfileNum)%MassFlowRate / FluidDensityInit

  RETURN

END SUBROUTINE InitPlantProfile


SUBROUTINE UpdatePlantProfile(ProfileNum)

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       na
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Updates the node variables with local variables.

          ! METHODOLOGY EMPLOYED:
          ! Standard EnergyPlus methodology.

          ! USE STATEMENTS:
  USE DataLoopNode, ONLY: Node

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER, INTENT(IN) :: ProfileNum

          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER :: OutletNode

          ! FLOW:

  OutletNode = PlantProfile(ProfileNum)%OutletNode

  ! Set outlet node variables that are possibly changed
  Node(OutletNode)%Temp = PlantProfile(ProfileNum)%OutletTemp

  !DSU? enthalpy? quality etc? central routine? given inlet node, fluid type, delta T, properly fill all node vars?

  RETURN

END SUBROUTINE UpdatePlantProfile


SUBROUTINE ReportPlantProfile(ProfileNum)

          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   January 2004
          !       MODIFIED       na
          !       RE-ENGINEERED  na

          ! PURPOSE OF THIS SUBROUTINE:
          ! Calculates report variables.

          ! METHODOLOGY EMPLOYED:
          ! Standard EnergyPlus methodology.

          ! USE STATEMENTS:
  USE DataGlobals, ONLY: SecInHour
  Use DataHVACGlobals, ONLY: TimeStepSys

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

          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER, INTENT(IN) :: ProfileNum

          ! FLOW:
  PlantProfile(ProfileNum)%Energy = PlantProfile(ProfileNum)%Power * TimeStepSys * SecInHour

  IF (PlantProfile(ProfileNum)%Energy .GE. 0.0d0) THEN
    PlantProfile(ProfileNum)%HeatingEnergy = PlantProfile(ProfileNum)%Energy
    PlantProfile(ProfileNum)%CoolingEnergy = 0.0d0
  ELSE
    PlantProfile(ProfileNum)%HeatingEnergy = 0.0d0
    PlantProfile(ProfileNum)%CoolingEnergy = ABS(PlantProfile(ProfileNum)%Energy)
  ENDIF

  RETURN

END SUBROUTINE ReportPlantProfile

!     NOTICE
!
!     Copyright © 1996-2013 The Board of Trustees of the University of Illinois
!     and The Regents of the University of California through Ernest Orlando Lawrence
!     Berkeley National Laboratory.  All rights reserved.
!
!     Portions of the EnergyPlus software package have been developed and copyrighted
!     by other individuals, companies and institutions.  These portions have been
!     incorporated into the EnergyPlus software package under license.   For a complete
!     list of contributors, see "Notice" located in EnergyPlus.f90.
!
!     NOTICE: The U.S. Government is granted for itself and others acting on its
!     behalf a paid-up, nonexclusive, irrevocable, worldwide license in this data to
!     reproduce, prepare derivative works, and perform publicly and display publicly.
!     Beginning five (5) years after permission to assert copyright is granted,
!     subject to two possible five year renewals, the U.S. Government is granted for
!     itself and others acting on its behalf a paid-up, non-exclusive, irrevocable
!     worldwide license in this data to reproduce, prepare derivative works,
!     distribute copies to the public, perform publicly and display publicly, and to
!     permit others to do so.
!
!     TRADEMARKS: EnergyPlus is a trademark of the US Department of Energy.
!

END MODULE PlantLoadProfile

AirflowNetworkBalanceManager.f90 AirflowNetworkSolver.f90 BaseboardRadiator.f90 BaseboardRadiatorElectric.f90 BaseboardRadiatorSteam.f90 BaseboardRadiatorWater.f90 BranchInputManager.f90 BranchNodeConnections.f90 ConductionTransferFunctionCalc.f90 CoolTower.f90 CostEstimateManager.f90 CurveManager.f90 CVFOnlyRoutines.f90 DataAirflowNetwork.f90 DataAirLoop.f90 DataAirSystems.f90 DataBranchAirLoopPlant.f90 DataBranchNodeConnections.f90 DataBSDFWindow.f90 DataComplexFenestration.f90 DataContaminantBalance.f90 DataConvergParams.f90 DataConversions.f90 DataCostEstimate.f90 DataDaylighting.f90 DataDaylightingDevices.f90 Datadefineequip.f90 DataDElight.f90 DataEnvironment.f90 DataEquivalentLayerWindow.f90 DataErrorTracking.f90 DataGenerators.f90 DataGlobalConstants.f90 DataGlobals.f90 DataHeatBalance.f90 DataHeatBalFanSys.f90 DataHeatBalSurface.f90 DataHVACControllers.f90 DataHVACGlobals.f90 DataInterfaces.f90 DataIPShortCuts.f90 DataLoopNode.f90 DataMoistureBalance.f90 DataMoistureBalanceEMPD.f90 DataOutputs.f90 DataPhotovoltaics.f90 DataPlant.f90 DataPlantPipingSystems.f90 DataPrecisionGlobals.f90 DataReportingFlags.f90 DataRoomAir.f90 DataRootFinder.f90 DataRuntimeLanguage.f90 DataShadowingCombinations.f90 DataSizing.f90 DataStringGlobals.f90 DataSurfaceColors.f90 DataSurfaceLists.f90 DataSurfaces.f90 DataSystemVariables.f90 DataTimings.f90 DataUCSDSharedData.f90 DataVectorTypes.f90 DataViewFactorInformation.f90 DataWater.f90 DataZoneControls.f90 DataZoneEnergyDemands.f90 DataZoneEquipment.f90 DaylightingDevices.f90 DaylightingManager.f90 DElightManagerF.f90 DElightManagerF_NO.f90 DemandManager.f90 DesiccantDehumidifiers.f90 DirectAir.f90 DisplayRoutines.f90 DXCoil.f90 EarthTube.f90 EconomicLifeCycleCost.f90 EconomicTariff.f90 EcoRoof.f90 ElectricPowerGenerators.f90 ElectricPowerManager.f90 EMSManager.f90 EnergyPlus.f90 ExteriorEnergyUseManager.f90 ExternalInterface_NO.f90 FanCoilUnits.f90 FaultsManager.f90 FluidProperties.f90 General.f90 GeneralRoutines.f90 GlobalNames.f90 HeatBalanceAirManager.f90 HeatBalanceConvectionCoeffs.f90 HeatBalanceHAMTManager.f90 HeatBalanceInternalHeatGains.f90 HeatBalanceIntRadExchange.f90 HeatBalanceManager.f90 HeatBalanceMovableInsulation.f90 HeatBalanceSurfaceManager.f90 HeatBalFiniteDifferenceManager.f90 HeatRecovery.f90 Humidifiers.f90 HVACControllers.f90 HVACCooledBeam.f90 HVACDualDuctSystem.f90 HVACDuct.f90 HVACDXSystem.f90 HVACEvapComponent.f90 HVACFanComponent.f90 HVACFurnace.f90 HVACHeatingCoils.f90 HVACHXAssistedCoolingCoil.f90 HVACInterfaceManager.f90 HVACManager.f90 HVACMixerComponent.f90 HVACMultiSpeedHeatPump.f90 HVACSingleDuctInduc.f90 HVACSingleDuctSystem.f90 HVACSplitterComponent.f90 HVACStandAloneERV.f90 HVACSteamCoilComponent.f90 HVACTranspiredCollector.f90 HVACUnitaryBypassVAV.f90 HVACUnitarySystem.f90 HVACVariableRefrigerantFlow.f90 HVACWaterCoilComponent.f90 HVACWatertoAir.f90 HVACWatertoAirMultiSpeedHP.f90 InputProcessor.f90 MatrixDataManager.f90 MixedAir.f90 MoistureBalanceEMPDManager.f90 NodeInputManager.f90 NonZoneEquipmentManager.f90 OutAirNodeManager.f90 OutdoorAirUnit.f90 OutputProcessor.f90 OutputReportPredefined.f90 OutputReports.f90 OutputReportTabular.f90 PackagedTerminalHeatPump.f90 PackagedThermalStorageCoil.f90 Photovoltaics.f90 PhotovoltaicThermalCollectors.f90 PlantAbsorptionChillers.f90 PlantBoilers.f90 PlantBoilersSteam.f90 PlantCentralGSHP.f90 PlantChillers.f90 PlantCondLoopOperation.f90 PlantCondLoopTowers.f90 PlantEIRChillers.f90 PlantEvapFluidCoolers.f90 PlantExhaustAbsorptionChiller.f90 PlantFluidCoolers.f90 PlantGasAbsorptionChiller.f90 PlantGroundHeatExchangers.f90 PlantHeatExchanger.f90 PlantIceThermalStorage.f90 PlantLoadProfile.f90 PlantLoopEquipment.f90 PlantLoopSolver.f90 PlantManager.f90 PlantOutsideEnergySources.f90 PlantPipeHeatTransfer.f90 PlantPipes.f90 PlantPipingSystemManager.f90 PlantPondGroundHeatExchanger.f90 PlantPressureSystem.f90 PlantPumps.f90 PlantSolarCollectors.f90 PlantSurfaceGroundHeatExchanger.f90 PlantUtilities.f90 PlantValves.f90 PlantWaterSources.f90 PlantWaterThermalTank.f90 PlantWatertoWaterGSHP.f90 PlantWaterUse.f90 PollutionAnalysisModule.f90 PoweredInductionUnits.f90 PsychRoutines.f90 Purchasedairmanager.f90 RadiantSystemHighTemp.f90 RadiantSystemLowTemp.f90 RefrigeratedCase.f90 ReportSizingManager.f90 ReturnAirPath.f90 RoomAirManager.f90 RoomAirModelCrossVent.f90 RoomAirModelDisplacementVent.f90 RoomAirModelMundt.f90 RoomAirModelUFAD.f90 RoomAirModelUserTempPattern.f90 RootFinder.f90 RuntimeLanguageProcessor.f90 ScheduleManager.f90 SetPointManager.f90 SimAirServingZones.f90 SimulationManager.f90 SizingManager.f90 SolarReflectionManager.f90 SolarShading.f90 SortAndStringUtilities.f90 sqlite3.c SQLiteCRoutines.c SQLiteFortranRoutines.f90 SQLiteFortranRoutines_NO.f90 StandardRatings.f90 SurfaceGeometry.f90 SystemAvailabilityManager.f90 SystemReports.f90 TarcogComplexFenestration.f90 ThermalChimney.f90 ThermalComfort.f90 UnitHeater.f90 UnitVentilator.f90 UserDefinedComponents.f90 UtilityRoutines.f90 VectorUtilities.f90 VentilatedSlab.f90 WaterManager.f90 WeatherManager.f90 WindowAC.f90 WindowComplexManager.f90 WindowEquivalentLayer.f90 WindowManager.f90 WindTurbine.f90 Zoneairloopequipmentmanager.f90 ZoneContaminantPredictorCorrector.f90 ZoneDehumidifier.f90 Zoneequipmentmanager.f90 ZonePlenumComponent.f90 ZoneTempPredictorCorrector.f90