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) | :: | reportingInterval | |||
integer, | intent(in) | :: | storeType | |||
integer, | intent(in) | :: | reportID | |||
integer, | intent(in) | :: | indexGroupKey | |||
character(len=*), | intent(in) | :: | indexGroup | |||
character(len=*), | intent(in) | :: | reportIDChr | |||
character(len=*), | intent(in) | :: | keyedValue | |||
character(len=*), | intent(in) | :: | variableName | |||
integer, | intent(in) | :: | indexType | |||
character(len=*), | intent(in) | :: | unitsString | |||
character(len=*), | intent(in), | optional | :: | scheduleName |
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 WriteReportVariableDictionaryItem (reportingInterval, storeType, reportID, indexGroupKey, &
indexGroup, reportIDChr, keyedValue, variableName, indexType, unitsString, scheduleName)
! SUBROUTINE INFORMATION:
! AUTHOR Greg Stark
! DATE WRITTEN August 2008
! MODIFIED April 2011; Linda Lawrie
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine writes the ESO data dictionary information to the output files
! and the SQL database
! METHODOLOGY EMPLOYED:
!
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: OutputFileStandard
USE SQLiteProcedures
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: reportingInterval ! The reporting interval (e.g., hourly, daily)
INTEGER, INTENT(IN) :: storeType
INTEGER, INTENT(IN) :: reportID ! The reporting ID for the data
INTEGER, INTENT(IN) :: indexGroupKey ! The reporting group (e.g., Zone, Plant Loop, etc.)
CHARACTER(len=*), INTENT(IN) :: indexGroup ! The reporting group (e.g., Zone, Plant Loop, etc.)
CHARACTER(len=*), INTENT(IN) :: reportIDChr ! The reporting ID for the data
CHARACTER(len=*), INTENT(IN) :: keyedValue ! The key name for the data
CHARACTER(len=*), INTENT(IN) :: variableName ! The variable's actual name
INTEGER, INTENT(IN) :: indexType
CHARACTER(len=*), INTENT(IN) :: unitsString ! The variables units
CHARACTER(len=*), INTENT(IN), OPTIONAL :: scheduleName
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
CHARACTER(len=120) FreqString
FreqString = FreqNotice (reportingInterval, storeType)
IF (PRESENT(scheduleName)) THEN
FreqString = TRIM(FreqString)//','//TRIM(scheduleName)
ENDIF
SELECT CASE (reportingInterval)
CASE (ReportEach, ReportTimeStep)
WRITE(OutputFileStandard, fmta) TRIM(reportIDChr)//',1,'// &
TRIM(keyedValue)//','//TRIM(variableName)//' ['//trim(unitsString)//']'//TRIM(FreqString)
CASE (ReportHourly)
TrackingHourlyVariables=.true.
WRITE(OutputFileStandard, fmta) TRIM(reportIDChr)//',1,'// &
TRIM(keyedValue)//','//TRIM(variableName)//' ['//trim(unitsString)//']'//TRIM(FreqString)
CASE (ReportDaily)
TrackingDailyVariables=.true.
WRITE(OutputFileStandard, fmta) TRIM(reportIDChr)//',7,'// &
TRIM(keyedValue)//','//TRIM(variableName)//' ['//trim(unitsString)//']'//TRIM(FreqString)
CASE (ReportMonthly)
TrackingMonthlyVariables=.true.
WRITE(OutputFileStandard, fmta) TRIM(reportIDChr)//',9,'// &
TRIM(keyedValue)//','//TRIM(variableName)//' ['//trim(unitsString)//']'//TRIM(FreqString)
CASE (ReportSim)
TrackingRunPeriodVariables=.true.
WRITE(OutputFileStandard, fmta) TRIM(reportIDChr)//',11,'// &
TRIM(keyedValue)//','//TRIM(variableName)//' ['//trim(unitsString)//']'//TRIM(FreqString)
END SELECT
IF (WriteOutputToSQLite) THEN
IF (.not. PRESENT(scheduleName)) THEN
CALL CreateSQLiteReportVariableDictionaryRecord (reportID, storeType, indexGroup, &
keyedValue, variableName, indexType, unitsString, reportingInterval)
ELSE
CALL CreateSQLiteReportVariableDictionaryRecord (reportID, storeType, indexGroup, &
keyedValue, variableName, indexType, unitsString, reportingInterval, scheduleName)
END IF
END IF
RETURN
END SUBROUTINE WriteReportVariableDictionaryItem