Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unitConvIndex | |||
real(kind=r64), | intent(out) | :: | multiplier | |||
real(kind=r64), | intent(out) | :: | offset | |||
character(len=MaxNameLength), | intent(out) | :: | IPunit |
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 GetUnitConversion(unitConvIndex,multiplier,offset,IPunit)
! SUBROUTINE INFORMATION:
! AUTHOR Jason Glazer of GARD Analytics, Inc.
! DATE WRITTEN February 13, 2009
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Return of the multiplier and adder for the given
! SI to IP unit conversion.
!
! SI = (IP * multipier) + offset
!
! This function could be replaced by referencing the
! array directly but does include some checking of the
! bounds of the array.
! 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(OUT) :: multiplier
REAL(r64), INTENT(OUT) :: offset
CHARACTER(len=MaxNameLength), INTENT(OUT) :: IPunit
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
IF ((unitConvIndex .GT. 0) .AND. (unitConvIndex .LE. UnitConvSize)) THEN
multiplier = UnitConv(unitConvIndex)%mult
offset = UnitConv(unitConvIndex)%offset
IPunit = TRIM(UnitConv(unitConvIndex)%ipName)
ELSE
multiplier = 0.0d0
offset = 0.0d0
IPunit = ''
END IF
END SUBROUTINE GetUnitConversion