| 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