Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unitConvIndex | |||
real(kind=r64), | intent(in) | :: | SIvalue |
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.
REAL(r64) FUNCTION ConvertIP(unitConvIndex,SIvalue)
! SUBROUTINE INFORMATION:
! AUTHOR Jason Glazer of GARD Analytics, Inc.
! DATE WRITTEN February 13, 2009
! MODIFIED September 2012
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Apply the selected unit conversion to the input value
! expressed in SI units to result in IP units.
! If zero is provided as unit index, return the original
! value (no conversion)
! METHODOLOGY EMPLOYED:
! REFERENCES:
! na
! USE STATEMENTS:
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER,INTENT(IN) :: unitConvIndex
REAL(r64), INTENT(IN) :: SIvalue
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
IF (unitConvIndex .EQ. 0) THEN
ConvertIP = SIvalue
ELSEIF ((unitConvIndex .GT. 0) .AND. (unitConvIndex .LE. UnitConvSize)) THEN
ConvertIP = (SIvalue * UnitConv(unitConvIndex)%mult) + UnitConv(unitConvIndex)%offset
ELSE
ConvertIP = 0.0d0
END IF
END FUNCTION ConvertIP