Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | reportID | |||
| character(len=*), | intent(in) | :: | creportID | |||
| integer, | intent(in) | :: | timeIndex | |||
| real(kind=r64), | intent(in) | :: | repValue | 
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.
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 WriteRealData (reportID, creportID, timeIndex, repValue)
    ! SUBROUTINE INFORMATION:
    !       AUTHOR         Greg Stark
    !       DATE WRITTEN   July 2008
    !       MODIFIED       na
    !       RE-ENGINEERED  na
    ! PURPOSE OF THIS SUBROUTINE:
    ! This subroutine writes real data to the output files and
    ! SQL database. It supports the WriteRealVariableOutput subroutine.
    ! Much of the code here was an included in earlier versions
    ! of the UpdateDataandReport subroutine. The code was moved to facilitate
    ! easier maintenance and writing of data to the SQL database.
    ! METHODOLOGY EMPLOYED:
    ! na
    ! REFERENCES:
    ! na
    ! USE STATEMENTS:
    USE DataGlobals, ONLY: OutputFileStandard
    USE General, ONLY: RemoveTrailingZeros
    USE DataSystemVariables, ONLY: ReportDuringWarmup, UpdateDataDuringWarmupExternalInterface
    USE SQLiteProcedures
    IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
    ! SUBROUTINE ARGUMENT DEFINITIONS:
    INTEGER, INTENT(IN) :: reportID  ! The variable's reporting ID
    CHARACTER(len=*), INTENT(IN) :: creportID  ! variable ID in characters
    INTEGER, INTENT(IN) :: timeIndex ! An index that points to the timestamp for the variable
    REAL(r64), INTENT(IN) :: repValue   ! The variable's value
    ! SUBROUTINE PARAMETER DEFINITIONS:
    ! na
    ! INTERFACE BLOCK SPECIFICATIONS:
    ! na
    ! DERIVED TYPE DEFINITIONS:
    ! na
    ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    CHARACTER(len=32) :: NumberOut       ! Character for producing "number out"
    IF (UpdateDataDuringWarmupExternalInterface .and. .not. ReportDuringWarmup) RETURN
    IF (repValue == 0.0d0) THEN
        NumberOut = '0.0'
    ELSE
        WRITE(NumberOut,*) repValue
        NumberOut = ADJUSTL(NumberOut)
        NumberOut = RemoveTrailingZeros(NumberOut)
    ENDIF
    IF (WriteOutputToSQLite) THEN
        CALL CreateSQLiteReportVariableDataRecord(reportID, TimeIndex, repValue)
    END IF
    WRITE(OutputFileStandard, fmta) TRIM(creportID)//','//TRIM(NumberOut)
    RETURN
END SUBROUTINE WriteRealData