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 UpdateWeatherData
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Rick Strand
          !       DATE WRITTEN   June 1997
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! This subroutine updates all of the daily weather data in the local
          ! module level variables and the global variables.
          ! This subroutine will temporarily transfer the weather data for the
          ! current day to the old data structure contained in envdat.inc until
          ! enough reengineering has taken place to eliminate the need for this
          ! include.
          ! METHODOLOGY EMPLOYED:
          ! na
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
          ! na
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
          ! na
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
          ! na
          ! FLOW:
!unused          integer :: myhr
  TodayVariables=TomorrowVariables          ! Transfer Tomorrow's Daily Weather Variables to Today
  IF (BeginEnvrnFlag) THEN
    PreviousHour=24
  ENDIF
  TodayIsRain = TomorrowIsRain
  TodayIsSnow = TomorrowIsSnow
  TodayOutDryBulbTemp = TomorrowOutDryBulbTemp
  TodayOutDewPointTemp = TomorrowOutDewPointTemp
  TodayOutBaroPress = TomorrowOutBaroPress
  TodayOutRelHum = TomorrowOutRelHum
  TodayWindSpeed = TomorrowWindSpeed
  TodayWindDir = TomorrowWindDir
  TodaySkyTemp = TomorrowSkyTemp
  TodayHorizIRSky = TomorrowHorizIRSky
  TodayBeamSolarRad = TomorrowBeamSolarRad
  TodayDifSolarRad = TomorrowDifSolarRad
  TodayLiquidPrecip = TomorrowLiquidPrecip
          ! Update Global Data
  DayOfYear = TodayVariables%DayOfYear
  Year = TodayVariables%Year
  Month = TodayVariables%Month
  DayOfMonth = TodayVariables%DayOfMonth
  DayOfWeek = TodayVariables%DayOfWeek
!  WeekDayCount(DayOfWeek)=WeekDayCount(DayOfWeek)+1
  HolidayIndex = TodayVariables%HolidayIndex
  IF (HolidayIndex > 0) THEN
    RptDayType=7+HolidayIndex
  ELSE
    RptDayType=DayOfWeek
  ENDIF
  DSTIndicator = TodayVariables%DaylightSavingIndex
  EquationOfTime=TodayVariables%EquationOfTime
  CosSolarDeclinAngle=TodayVariables%CosSolarDeclinAngle
  SinSolarDeclinAngle=TodayVariables%SinSolarDeclinAngle
  RETURN
END SUBROUTINE UpdateWeatherData