SUBROUTINE GetCurveMinMaxValues(CurveIndex,Var1Min,Var1Max,Var2Min,Var2Max, Var3Min, Var3Max)
          ! FUNCTION INFORMATION:
          !       AUTHOR         Lixing Gu
          !       DATE WRITTEN   July 2006
          !       MODIFIED       B. Griffith Aug 2006 add third independent variable
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS FUNCTION:
          ! Given the curve index, returns the minimum and maximum values specified in the input
          ! for the independent variables of the performance curve.
          ! METHODOLOGY EMPLOYED:
          ! na
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! FUNCTION ARGUMENT DEFINITIONS:
  INTEGER, INTENT (IN)           :: CurveIndex  ! index of curve in curve array
  REAL(r64), INTENT (OUT)             :: Var1Min     ! Minimum values of 1st independent variable
  REAL(r64), INTENT (OUT)             :: Var1Max     ! Maximum values of 1st independent variable
  REAL(r64), INTENT (OUT), OPTIONAL   :: Var2Min     ! Minimum values of 2nd independent variable
  REAL(r64), INTENT (OUT), OPTIONAL   :: Var2Max     ! Maximum values of 2nd independent variable
  REAL(r64), INTENT (OUT), OPTIONAL   :: Var3Min     ! Minimum values of 2nd independent variable
  REAL(r64), INTENT (OUT), OPTIONAL   :: Var3Max     ! Maximum values of 2nd independent variable
          ! FUNCTION PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS
          ! na
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! FUNCTION LOCAL VARIABLE DECLARATIONS:
  Var1Min = PerfCurve(CurveIndex)%Var1Min
  Var1Max = PerfCurve(CurveIndex)%Var1Max
  If (PRESENT(Var2Min)) Var2Min = PerfCurve(CurveIndex)%Var2Min
  If (PRESENT(Var2Max)) Var2Max = PerfCurve(CurveIndex)%Var2Max
  IF (PRESENT(Var3Min)) Var3Min = PerfCurve(CurveIndex)%Var3Min
  IF (PRESENT(Var3Max)) Var3Max = PerfCurve(CurveIndex)%Var3Max
RETURN
END SUBROUTINE GetCurveMinMaxValues