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