Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
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 InitCurveReporting
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN October 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Setting up of curve output variables caused errors in some files. Thus, separating the setup
! from the getinput.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataInterfaces, ONLY:SetupOutputVariable
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 :: CurveIndex
DO CurveIndex = 1, NumCurves
SELECT CASE(PerfCurve(CurveIndex)%ObjectType)
! CurrentModuleObject='Table:MultiVariableLookup'
CASE(CurveType_TableMultiIV)
SELECT CASE(TableLookup(PerfCurve(CurveIndex)%TableIndex)%NumIndependentVars)
CASE(1) !- 1 independent variable
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(2) !- 2 independent variables
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(3) !- 3 independent variables
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PerfCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(4) !- 4 independent variables
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PerfCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 4 Value []',PerfCurve(CurveIndex)%CurveInput4, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(5) !- 5 independent variables
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PerfCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 4 Value []',PerfCurve(CurveIndex)%CurveInput4, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 5 Value []',PerfCurve(CurveIndex)%CurveInput5, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE DEFAULT
END SELECT
CASE(CurveType_TableOneIV)
! CurrentModuleObject='Table:OneIndependentVariable'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(CurveType_TableTwoIV)
! CurrentModuleObject='Table:TwoIndependentVariables'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE DEFAULT
SELECT CASE(PerfCurve(CurveIndex)%CurveType)
CASE(Linear, Quadratic, Cubic, Quartic, Exponent, FuncPressDrop)
! CurrentModuleObject='Curve:Linear/Quadratic/Cubic/Quartic/Exponent/Functional:PressureDrop'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(BiQuadratic, QuadraticLinear, BiCubic)
! CurrentModuleObject='Curve:BiQuadratic/QuadraticLinear/BiCubic'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(TriQuadratic)
! CurrentModuleObject='Curve:TriQuadratic'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PerfCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CASE(QuadLinear)
! CurrentModuleObject='Curve:QuadLinear'
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PerfCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PerfCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PerfCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 4 Value []',PerfCurve(CurveIndex)%CurveInput4, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
END SELECT
END SELECT
! set the output up last so it shows up after the input in the csv file
CALL SetupOutputVariable('Performance Curve Output Value []',PerfCurve(CurveIndex)%CurveOutput, &
'HVAC','Average',PerfCurve(CurveIndex)%Name)
END DO
DO CurveIndex = 1, NumPressureCurves
CALL SetupOutputVariable('Performance Curve Input Variable 1 Value []',PressureCurve(CurveIndex)%CurveInput1, &
'HVAC','Average',PressureCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 2 Value []',PressureCurve(CurveIndex)%CurveInput2, &
'HVAC','Average',PressureCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Input Variable 3 Value []',PressureCurve(CurveIndex)%CurveInput3, &
'HVAC','Average',PressureCurve(CurveIndex)%Name)
CALL SetupOutputVariable('Performance Curve Output Value []',PressureCurve(CurveIndex)%CurveOutput, &
'HVAC','Average',PressureCurve(CurveIndex)%Name)
ENDDO
IF (AnyEnergyManagementSystemInModel) Then ! provide hook for possible EMS control
DO CurveIndex = 1, NumCurves
CALL SetupEMSActuator('Curve', PerfCurve(CurveIndex)%Name , &
'Curve Result','[unknown]' ,&
PerfCurve(CurveIndex)%EMSOverrideOn , &
PerfCurve(CurveIndex)%EMSOverrideCurveValue)
ENDDO ! All performance curves
ENDIF
IF (AnyEnergyManagementSystemInModel) Then ! provide hook for possible EMS control
DO CurveIndex = 1, NumPressureCurves
CALL SetupEMSActuator('Curve', PressureCurve(CurveIndex)%Name , &
'Curve Result','[unknown]' ,&
PressureCurve(CurveIndex)%EMSOverrideOn , &
PressureCurve(CurveIndex)%EMSOverrideCurveValue)
ENDDO ! All pressure curves
ENDIF
RETURN
END SUBROUTINE InitCurveReporting