Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | TestValue | |||
integer, | intent(in) | :: | TimeStamp | |||
real(kind=r64), | intent(inout) | :: | CurMaxValue | |||
integer, | intent(inout) | :: | CurMaxValDate | |||
real(kind=r64), | intent(inout) | :: | CurMinValue | |||
integer, | intent(inout) | :: | CurMinValDate |
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 SetMinMax(TestValue,TimeStamp,CurMaxValue,CurMaxValDate,CurMinValue,CurMinValDate)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN January 2001
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine looks at the current value, comparing against the current max and
! min for this meter/variable and resets along with a timestamp if applicable.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: TestValue ! Candidate new value
INTEGER, INTENT(IN) :: TimeStamp ! TimeStamp to be stored if applicable
REAL(r64), INTENT(INOUT) :: CurMaxValue ! Current Maximum Value
INTEGER, INTENT(INOUT) :: CurMaxValDate ! Current Maximum Value Date Stamp
REAL(r64), INTENT(INOUT) :: CurMinValue ! Current Minimum Value
INTEGER, INTENT(INOUT) :: CurMinValDate ! Current Minimum Value Date Stamp
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
IF (TestValue > CurMaxValue) THEN
CurMaxValue=TestValue
CurMaxValDate=TimeStamp
ENDIF
IF (TestValue < CurMinValue) THEN
CurMinValue=TestValue
CurMinValDate=TimeStamp
ENDIF
RETURN
END SUBROUTINE SetMinMax