Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE InitializeOutput
! SUBROUTINE INFORMATION:
! AUTHOR Linda K. Lawrie
! DATE WRITTEN December 1998
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine initializes the OutputProcessor data structures.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! INTEGER, EXTERNAL :: GetNewUnitNumber
ALLOCATE(RVariableTypes(RVarAllocInc))
ALLOCATE(RVar)
MaxRVariable=RVarAllocInc
ALLOCATE(IVariableTypes(IVarAllocInc))
ALLOCATE(IVar)
MaxIVariable=IVarAllocInc
! First index is the frequency designation (-1 = each call, etc)
! Second index is the variable type (1=Average, 2=Sum)
! Note, Meters always report like Average (with min/max, etc) for hourly and above
FreqNotice(-1,1)=' !Each Call'
FreqNotice(0,1)=' !TimeStep'
FreqNotice(1,1)=' !Hourly'
FreqNotice(2,1)=' !Daily [Value,Min,Hour,Minute,Max,Hour,Minute]'
FreqNotice(3,1)=' !Monthly [Value,Min,Day,Hour,Minute,Max,Day,Hour,Minute]'
FreqNotice(4,1)=' !RunPeriod [Value,Min,Month,Day,Hour,Minute,Max,Month,Day,Hour,Minute]'
FreqNotice(-1,2)=' !Each Call'
FreqNotice(0,2)=' !TimeStep'
FreqNotice(1,2)=' !Hourly'
FreqNotice(2,2)=' !Daily [Value,Min,Hour,Minute,Max,Hour,Minute]'
FreqNotice(3,2)=' !Monthly [Value,Min,Day,Hour,Minute,Max,Day,Hour,Minute]'
FreqNotice(4,2)=' !RunPeriod [Value,Min,Month,Day,Hour,Minute,Max,Month,Day,Hour,Minute]'
ALLOCATE(ReportList(500))
NumReportList=500
ReportList=0
NumExtraVars=0
! Initialize end use category names - the indices must match up with endUseNames in OutputReportTabular
ALLOCATE(EndUseCategory(NumEndUses))
EndUseCategory(endUseHeating)%Name = 'Heating'
EndUseCategory(endUseCooling)%Name = 'Cooling'
EndUseCategory(endUseInteriorLights)%Name = 'InteriorLights'
EndUseCategory(endUseExteriorLights)%Name = 'ExteriorLights'
EndUseCategory(endUseInteriorEquipment)%Name = 'InteriorEquipment'
EndUseCategory(endUseExteriorEquipment)%Name = 'ExteriorEquipment'
EndUseCategory(endUseFans)%Name = 'Fans'
EndUseCategory(endUsePumps)%Name = 'Pumps'
EndUseCategory(endUseHeatRejection)%Name = 'HeatRejection'
EndUseCategory(endUseHumidification)%Name = 'Humidifier'
EndUseCategory(endUseHeatRecovery)%Name = 'HeatRecovery'
EndUseCategory(endUseWaterSystem)%Name = 'WaterSystems'
EndUseCategory(endUseRefrigeration)%Name = 'Refrigeration'
EndUseCategory(endUseCogeneration)%Name = 'Cogeneration'
! Initialize display names for output table - this could go away if end use key names are changed to match
EndUseCategory(endUseHeating)%DisplayName = 'Heating'
EndUseCategory(endUseCooling)%DisplayName = 'Cooling'
EndUseCategory(endUseInteriorLights)%DisplayName = 'Interior Lighting'
EndUseCategory(endUseExteriorLights)%DisplayName = 'Exterior Lighting'
EndUseCategory(endUseInteriorEquipment)%DisplayName = 'Interior Equipment'
EndUseCategory(endUseExteriorEquipment)%DisplayName = 'Exterior Equipment'
EndUseCategory(endUseFans)%DisplayName = 'Fans'
EndUseCategory(endUsePumps)%DisplayName = 'Pumps'
EndUseCategory(endUseHeatRejection)%DisplayName = 'Heat Rejection'
EndUseCategory(endUseHumidification)%DisplayName = 'Humidification'
EndUseCategory(endUseHeatRecovery)%DisplayName = 'Heat Recovery'
EndUseCategory(endUseWaterSystem)%DisplayName = 'Water Systems'
EndUseCategory(endUseRefrigeration)%DisplayName = 'Refrigeration'
EndUseCategory(endUseCogeneration)%DisplayName = 'Generators'
OutputInitialized=.true.
SecondsPerTimeStep=REAL(MinutesPerTimeStep,r64)*60.0d0
CALL InitializeMeters
RETURN
END SUBROUTINE InitializeOutput