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 | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | StartMinute | |||
real(kind=r64), | intent(in) | :: | EndMinute | |||
logical, | intent(inout) | :: | PrintESOTimeStamp |
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 ReportTSMeters(StartMinute,EndMinute,PrintESOTimeStamp)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN January 2001
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This subroutine reports on the meters that have been requested for
! reporting on each time step.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE General, ONLY: RemoveTrailingZeros,TrimSigDigits
USE SQLiteProcedures, ONLY: SQLdbTimeIndex
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: StartMinute ! Start Minute for TimeStep
REAL(r64), INTENT(IN) :: EndMinute ! End Minute for TimeStep
LOGICAL, INTENT(INOUT) :: PrintESOTimeStamp ! True if the ESO Time Stamp also needs to be printed
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER Loop ! Loop Control
LOGICAL PrintTimeStamp
INTEGER CurDayType
REAL(r64) :: rDummy1=0.0d0
REAL(r64) :: rDummy2=0.0d0
INTEGER :: iDummy1=0
INTEGER :: iDummy2=0
CHARACTER(len=16) :: cReportID
PrintTimeStamp=.true.
DO Loop=1,NumEnergyMeters
EnergyMeters(Loop)%CurTSValue=EnergyMeters(Loop)%TSValue
IF (.not. EnergyMeters(Loop)%RptTS .and. .not. EnergyMeters(Loop)%RptAccTS) CYCLE
IF (PrintTimeStamp) THEN
CurDayType=DayOfWeek
IF (HolidayIndex > 0) THEN
CurDayType=7+HolidayIndex
ENDIF
SQLdbTimeIndex = WriteTimeStampFormatData (OutputFileMeters, ReportEach, TimeStepStampReportNbr, TimeStepStampReportChr, &
DayOfSim, DayOfSimChr, Month, DayOfMonth, HourOfDay, EndMinute, StartMinute, DSTIndicator, &
DayTypes(CurDayType))
PrintTimeStamp=.false.
ENDIF
IF (PrintESOTimeStamp .and. .not. EnergyMeters(Loop)%RptTSFO .and. .not. EnergyMeters(Loop)%RptAccTSFO) THEN
CurDayType=DayOfWeek
IF (HolidayIndex > 0) THEN
CurDayType=7+HolidayIndex
ENDIF
SQLdbTimeIndex = WriteTimeStampFormatData (OutputFileStandard, ReportEach, TimeStepStampReportNbr, TimeStepStampReportChr, &
DayOfSim, DayOfSimChr, Month, DayOfMonth, HourOfDay, EndMinute, StartMinute, DSTIndicator, &
DayTypes(CurDayType))
PrintESOTimeStamp=.false.
ENDIF
IF (EnergyMeters(Loop)%RptTS) THEN
CALL WriteReportMeterData (EnergyMeters(Loop)%TSRptNum, EnergyMeters(Loop)%TSRptNumChr, SQLdbTimeIndex, &
EnergyMeters(Loop)%TSValue, &
ReportTimeStep, &
rDummy1,iDummy1, &
rDummy2,iDummy2, &
EnergyMeters(Loop)%RptTSFO)
ENDIF
IF (EnergyMeters(Loop)%RptAccTS) THEN
WRITE(cReportID,*) EnergyMeters(Loop)%TSAccRptNum
cReportID=adjustl(cReportID)
CALL WriteCumulativeReportMeterData (EnergyMeters(Loop)%TSAccRptNum, cReportID, SQLdbTimeIndex, &
EnergyMeters(Loop)%SMValue, EnergyMeters(Loop)%RptAccTSFO)
ENDIF
ENDDO
IF (NumEnergyMeters > 0) THEN
EnergyMeters%TSValue=0.0d0
ENDIF
RETURN
END SUBROUTINE ReportTSMeters