| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | curTariff | 
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 checkMinimumMonthlyCharge(curTariff)
          ! SUBROUTINE INFORMATION:
          !    AUTHOR         Jason Glazer of GARD Analytics, Inc.
          !    DATE WRITTEN   August 2008
          !    MODIFIED       na
          !    RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          !    Check if the total is as big as the minimum monthly charge
          ! METHODOLOGY EMPLOYED:
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: curTariff
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS
          ! na
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: iMonth
INTEGER :: totalVar
INTEGER :: minMonVar
totalVar = tariff(curTariff)%ptTotal
minMonVar = tariff(curTariff)%minMonthChgPt
! if a variable is defined use that
IF (minMonVar .NE. 0) THEN
  DO iMonth = 1, MaxNumMonths
    IF (econVar(totalVar)%values(iMonth) .LT. econVar(minMonVar)%values(iMonth)) THEN
      econVar(totalVar)%values(iMonth) = econVar(minMonVar)%values(iMonth)
    END IF
  END DO
ELSE !use the constant value
  DO iMonth = 1, MaxNumMonths
    IF (econVar(totalVar)%values(iMonth) .LT. tariff(curTariff)%minMonthChgVal) THEN
      econVar(totalVar)%values(iMonth) = tariff(curTariff)%minMonthChgVal
    END IF
  END DO
END IF
END SUBROUTINE checkMinimumMonthlyCharge