Previous Chapter: 12 BLOS Methodologies
Page 122
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

CHAPTER 13

Rural Highway Example Calculations

This chapter presents the calculation results for a hypothetical rural highway facility, one that contains all the component segment types except for an arterial.

The HCM-CALC file, “TestHighway.xhf ”, for this example is available on the National Academies Press website (nap.nationalacademies.org) by searching for NCHRP Research Report 1102: Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide.

The facility segmentation and corresponding input data are summarized in Table 13.1.

Page 123
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

Table 13.1. Example rural highway segmentation and input data.

Segment ID From/To Hwy Segment Type Two-Lane Segment Type # Directional Lanes Length (ft) Length (mi) Grade (%) Terrain Vertical Align Class Posted Speed (mi/h) Directional Volume (veh/h) Directional Truck % Opposing Volume (veh/h) Opposing Truck % PHF
1 Maple St - Oak St MultilaneHwy 2 5,280 1.0000 2 Level NA 55 1,100 0 NA NA 0.95
2 MultilaneHwy 2 5,280 1.0000 1 Level NA 55 1,100 2 NA NA 0.95
3 Main SigIntersection 2 1,750 0.3314 0 NA NA 35 960 0 NA NA 1.00
4 Third St - Fourth St TwoLaneHwy PassingConstrained 1 3,960 0.7500 3 NA 2 55 700 3 400 2.5 0.95
5 TwoLaneHwy PassingLane 2 5,280 1.0000 3 NA 2 55 700 3 400 2.5 0.95
6 TwoLaneHwy PassingConstrained 1 6,600 1.2500 0 NA 1 55 700 0 400 0.0 0.95
7 TwoLaneHwy PassingZone 1 7,920 1.5000 0 NA 1 55 700 0 400 0.0 0.95
8 Broadway SigIntersection 2 2,000 0.3788 0 NA NA 40 740 2 NA NA 1.00
9 MultilaneHwy 2 10,560 2.0000 2 Level NA 55 1,040 0 NA NA 0.95
10 MultilaneHwy 2 15,840 3.0000 0 Level NA 55 1,040 5 NA NA 0.95
11 Oak St SigIntersection 2 1,000 0.1894 0 NA NA 35 865 5 NA NA 1.00
12 TwoLaneHwy PassingConstrained 1 5,280 1.0000 2 NA 1 55 720 5 400 0.0 0.95
13 First Ave Roundabout 1 1,000 0.1894 0 NA NA 35 720 5 475 5.0 0.95
14 TwoLaneHwy PassingZone 1 10,560 2.0000 2 NA 1 55 600 5 450 0.0 0.95
15 SecondAve AWSCIntersection 1 1,000 0.1894 0 NA NA 35 600 3 385 3.0 0.95
16 TwoLaneHwy PassingConstrained 1 7,920 1.5000 2 NA 1 55 650 5 550 0.0 0.95
Page 124
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

NumSegments <- 16
SegResultsDataList <- list()
SegInputDataList <- list()
InfluenceAreaUpStream <- vector()
InfluenceAreaDownStream <- vector()
InfluenceAreaList <- list()
InfluenceAreaTotalList <- list()
AdjustedLength <- vector()
FeetInMiles <- 5280
SecondsPerHour <- 3600

13.1 Segment Input Data

#Segment 1: Multilane Highway

SegInputDataList[[1]] <- list("SegmentType" = "MultilaneHwy", "SegmentLengthM i" = 1.0, "SegmentLengthFt" = 5280, "DirVolume" = 1100, "OppVolume" = 0, "Lef tTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "Pea kHourFactor" = 0.95, "PercentHeavyVehicles" = 0, "HVPropMultiplierFL" = 0, "T errain" = "Level", "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "ShoulderWidth" = 6, "RightSideLateralClearance" = 6, "LeftSideLateralC learance" = 6, "MedianType" = "Divided", "AccessPointDensity" = 4, "VertAlign mentClass" = 0, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenT ime" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Conver gence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTim e14" = 0)

#Segment 2: Multilane Highway

SegInputDataList[[2]] <- list("SegmentType" = "MultilaneHwy", "SegmentLengthM i" = 1.0, "SegmentLengthFt" = 5280, "DirVolume" = 1100, "OppVolume" = 0, "Lef tTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "Pea kHourFactor" = 0.95, "PercentHeavyVehicles" = 5.0, "HVPropMultiplierFL" = 0, "Terrain" = "Level", "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth " = 12, "ShoulderWidth" = 0, "RightSideLateralClearance" = 6, "LeftSideLatera lClearance" = 6, "MedianType" = "Divided", "AccessPointDensity" = 4, "VertAli gnmentClass" = 0, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGree nTime" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Conv ergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpT ime14" = 0)

#For intersections, "DirVolume" is the through movement volume

#Segment 3: Signalized Intersection

SegInputDataList[[3]] <- list("SegmentType" = "SignalizedInt", "SegmentLength Mi" = 0.3314, "SegmentLengthFt" = 1750, "DirVolume" = 960, "OppVolume" = 0, " LeftTurnVolume" = 100, "RightTurnVolume" = 80, "NBVolume" = 0, "SBVolume" = 0 , "PeakHourFactor" = 1.0, "PercentHeavyVehicles" = 0, "HVPropMultiplierFL" = 0, "Terrain" = 0, "NumberofLanes" = 2, "PostedSpeedLimit" = 35, "LaneWidth" = 12, "ShoulderWidth" = 0, "RightSideLateralClearance" = 0, "LeftSideLateralCle arance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 0, "BaseSatFlowRate" = 1900, "CycleLengthSec" = 120, "EffectiveGreenTime" = 48, "ArrivalType" = 4, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0, "GeometricUpstreamDistFt" = 750, "GeometricDownstreamDistFt" = 1000)

#Segment 4: Two-Lane Highway, Passing Constrained

SegInputDataList[[4]] <- list("SegmentType" = "NPZ", "SegmentLengthMi" = 0.65 38787, "SegmentLengthFt" = 3960, "DirVolume" = 700, "OppVolume" = 1500, "Left TurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "Peak HourFactor" = 0.95, "PercentHeavyVehicles" = 3, "HVPropMultiplierFL" = 0, "Te rrain" = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 55, "LaneWidth" = 12, " ShoulderWidth" = 6, "RightSideLateralClearance" = 6, "LeftSideLateralClearanc e" = 6, "MedianType" = "Divided", "AccessPointDensity" = 0, "VertAlignmentCla ss" = 2, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

Page 125
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

#Segment 5: Two-Lane Highway, Passing Lane

SegInputDataList[[5]] <- list("SegmentType" = "PL", "SegmentLengthMi" = 1, "S egmentLengthFt" = 5280, "DirVolume" = 700, "OppVolume" = 0, "LeftTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHourFactor" = 0.95, "PercentHeavyVehicles" = 3, "HVPropMultiplierFL" = 0.4, "Terrain" = 0 , "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "ShoulderWi dth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "M edianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 2, "BaseSatF lowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "ConvergenceCr iteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

#Segment 6: Two-Lane Highway, Passing Constrained

SegInputDataList[[6]] <- list("SegmentType" = "NPZ", "SegmentLengthMi" = 1.25 , "SegmentLengthFt" = 6600, "DirVolume" = 700, "OppVolume" = 1500, "LeftTurnV olume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHourF actor" = 0.95, "PercentHeavyVehicles" = 0, "HVPropMultiplierFL" = 0, "Terrain " = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "Shoul derWidth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 1, "Bas eSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalTy pe" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "Converg enceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

#Segment 7: Two-Lane Highway, Passing Zone

SegInputDataList[[7]] <- list("SegmentType" = "PZ", "SegmentLengthMi" = 1.490 6, "SegmentLengthFt" = 7920, "DirVolume" = 700, "OppVolume" = 400, "LeftTurnV olume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHourF actor" = 0.95, "PercentHeavyVehicles" = 0, "HVPropMultiplierFL" = 0, "Terrain " = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "Shoul derWidth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 1, "Bas eSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalTy pe" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "Converg enceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

#Segment 8: Signalized Intersection

SegInputDataList[[8]] <- list("SegmentType" = "SignalizedInt", "SegmentLength Mi" = 0.3788, "SegmentLengthFt" = 2000, "DirVolume" = 740, "OppVolume" = 0, " LeftTurnVolume" = 40, "RightTurnVolume" = 40, "NBVolume" = 0, "SBVolume" = 0, "PeakHourFactor" = 1.0, "PercentHeavyVehicles" = 2, "HVPropMultiplierFL" = 0, "Terrain" = 0, "NumberofLanes" = 2, "PostedSpeedLimit" = 40, "LaneWidth" = 12 , "ShoulderWidth" = 0, "RightSideLateralClearance" = 0, "LeftSideLateralClear ance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 0, "BaseSatFlowRate" = 1900, "CycleLengthSec" = 120, "EffectiveGreenTime" = 4 8, "ArrivalType" = 4, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0, "GeometricUpstreamDistFt" = 800, "GeometricDownstreamDistFt" = 1200)

#Segment 9: Multilane Highway

SegInputDataList[[9]] <- list("SegmentType" = "MultilaneHwy", "SegmentLengthM i" = 2, "SegmentLengthFt" = 10560, "DirVolume" = 1040, "OppVolume" = 0, "Left TurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "Peak HourFactor" = 0.95, "PercentHeavyVehicles" = 0, "HVPropMultiplierFL" = 0, "Te rrain" = "Level", "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "ShoulderWidth" = 6, "RightSideLateralClearance" = 6, "LeftSideLateralCle arance" = 6, "MedianType" = "Divided", "AccessPointDensity" = 2, "VertAlignme ntClass" = 0, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTim e" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Converge nce" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime1 4" = 0)

#Segment 10: Multilane Highway

SegInputDataList[[10]] <- list("SegmentType" = "MultilaneHwy", "SegmentLength Mi" = 3, "SegmentLengthFt" = 15840, "DirVolume" = 1040, "OppVolume" = 0, "Lef tTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "Pea kHourFactor" = 0.95, "PercentHeavyVehicles" = 5.0, "HVPropMultiplierFL" = 0, "Terrain" = "Level", "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth " = 12, "ShoulderWidth" = 6, "RightSideLateralClearance" = 6, "LeftSideLatera lClearance" = 6, "MedianType" = "Divided", "AccessPointDensity" = 3, "VertAli

Page 126
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

gnmentClass" = 0, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGree nTime" = 0, "ArrivalType" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Conv ergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpT ime14" = 0)

#Segment 11: Signalized Intersection

SegInputDataList[[11]] <- list("SegmentType" = "SignalizedInt", "SegmentLengt hMi" = 0.1894, "SegmentLengthFt" = 1000, "DirVolume" = 865, "OppVolume" = 0, "LeftTurnVolume" = 175, "RightTurnVolume" = 145, "NBVolume" = 0, "SBVolume" = 0, "PeakHourFactor" = 1.0, "PercentHeavyVehicles" = 5, "HVPropMultiplierFL" = 0, "Terrain" = 0, "NumberofLanes" = 2, "PostedSpeedLimit" = 35, "LaneWidth" = 12, "ShoulderWidth" = 0, "RightSideLateralClearance" = 0, "LeftSideLateralCle arance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 0, "BaseSatFlowRate" = 1900, "CycleLengthSec" = 120, "EffectiveGreenTime" = 48, "ArrivalType" = 4, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "ConvergenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0, "GeometricUpstreamDistFt" = 450, "GeometricDownstreamDistFt" = 550)

#Segment 12: Two-Lane Highway, Passing Constrained

SegInputDataList[[12]] <- list("SegmentType" = "NPZ", "SegmentLengthMi" = 0.7 631, "SegmentLengthFt" = 5280, "DirVolume" = 720, "OppVolume" = 1500, "LeftTu rnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHo urFactor" = 0.95, "PercentHeavyVehicles" = 5, "HVPropMultiplierFL" = 0, "Terr ain" = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "Sh oulderWidth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 1, "B aseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "Arrival Type" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "Conve rgenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

#Segment 13: Roundabout Intersection

SegInputDataList[[13]] <- list("SegmentType" = "Roundabout", "SegmentLengthMi " = 0.1894, "SegmentLengthFt" = 1000, "DirVolume" = c(70, 600, 50), "OppVolum e" = c(50, 350, 75), "LeftTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = c(50, 350, 75), "SBVolume" = c(50, 275, 175), "PeakHourFactor" = 0.95, "Per centHeavyVehicles" = 0.05, "HVPropMultiplierFL" = 0.4, "Terrain" = 0, "Number ofLanes" = 1, "PostedSpeedLimit" = 35, "LaneWidth" = 12, "ShoulderWidth" = 0, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 0, "BaseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalType" = 0, "Vehicl eType" = "Heavy Vehicle", "BaseSatHeadway" = 0, "Convergence" = 0, "Convergen ceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0, "GeometricUp streamDistFt" = 500, "GeometricDownstreamDistFt" = 500)

#Segment 14: Two-Lane Highway, Passing Zone

SegInputDataList[[14]] <- list("SegmentType" = "PZ", "SegmentLengthMi" = 1.71 37, "SegmentLengthFt" = 10560, "DirVolume" = 600, "OppVolume" = 450, "LeftTur nVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHou rFactor" = 0.95, "PercentHeavyVehicles" = 5, "HVPropMultiplierFL" = 0, "Terra in" = 0, "NumberofLanes" = 2, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "Sho ulderWidth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 1, "B aseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "Arrival Type" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "Conve rgenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

#Segment 15: All-Way-Stop-Controlled Intersection

SegInputDataList[[15]] <- list("SegmentType" = "AWSC", "SegmentLengthMi" = 0. 1894, "SegmentLengthFt" = 1000, "DirVolume" = c(60, 500, 40), "OppVolume" = c (40, 300, 45), "LeftTurnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = c(35 , 75, 25), "SBVolume" = c(30, 60, 20), "PeakHourFactor" = 0.95, "PercentHeavy Vehicles" = c(0.03, 0.02, 0.03, 0.02), "HVPropMultiplierFL" = 0.4, "Terrain" = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 35, "LaneWidth" = 12, "Shoulde rWidth" = 0, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 0, "BaseSa tFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "ArrivalType" = 0, "VehicleType" = "Heavy Vehicle", "BaseSatHeadway" = c(3.9, 4.7, 5.8, 7.0 , 9.6), "Convergence" = FALSE, "ConvergenceCriteria" = 0.01, "DepartureHeadwa yLast" = c(3.2, 3.2, 3.2, 3.2), "MoveUpTime14" = 2, "GeometricUpstreamDistFt" = 400, "GeometricDownstreamDistFt" = 600)

Page 127
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

#Segment 16: Two-Lane Highway, Passing Constrained

SegInputDataList[[16]] <- list("SegmentType" = "NPZ", "SegmentLengthMi" = 1.2 970, "SegmentLengthFt" = 7920, "DirVolume" = 650, "OppVolume" = 1500, "LeftTu rnVolume" = 0, "RightTurnVolume" = 0, "NBVolume" = 0, "SBVolume" = 0, "PeakHo urFactor" = 0.95, "PercentHeavyVehicles" = 5, "HVPropMultiplierFL" = 0, "Terr ain" = 0, "NumberofLanes" = 1, "PostedSpeedLimit" = 55, "LaneWidth" = 12, "Sh oulderWidth" = 6, "RightSideLateralClearance" = 0, "LeftSideLateralClearance" = 0, "MedianType" = 0, "AccessPointDensity" = 0, "VertAlignmentClass" = 1, "B aseSatFlowRate" = 0, "CycleLengthSec" = 0, "EffectiveGreenTime" = 0, "Arrival Type" = 0, "VehicleType" = 0, "BaseSatHeadway" = 0, "Convergence" = 0, "Conve rgenceCriteria" = 0, "DepartureHeadwayLast" = 0, "MoveUpTime14" = 0)

13.2 Segment LOS Calculations

13.2.1 First Iteration Uses Input Segment Lengths

Segment 1: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[1]]$PostedSpeedLimit, SegInput DataList[[1]]$LaneWidth, SegInputDataList[[1]]$RightSideLateralClearance , Se gInputDataList[[1]]$LeftSideLateralClearance, SegInputDataList[[1]]$NumberofL anes, SegInputDataList[[1]]$MedianType, SegInputDataList[[1]]$AccessPointDens ity, SegInputDataList[[1]]$Terrain, SegInputDataList[[1]]$PercentHeavyVehicle s, SegInputDataList[[1]]$DirVolume, SegInputDataList[[1]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 1.0
## FFS = 59.0 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 0.00
## Heavy vehicle factor = 1.000
## Analysis flow rate = 578.9 pc/h/ln
## Breakpoint = 1640.0 pc/h/ln
## Average Speed = 59.0 mi/h
## Density = 9.8 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8920607

SegResultsDataList[[1]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[1]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[1]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[1]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[1]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Segment 2: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[2]]$PostedSpeedLimit, SegInput DataList[[2]]$LaneWidth, SegInputDataList[[2]]$RightSideLateralClearance , Se gInputDataList[[2]]$LeftSideLateralClearance, SegInputDataList[[2]]$NumberofL anes, SegInputDataList[[2]]$MedianType, SegInputDataList[[2]]$AccessPointDens ity, SegInputDataList[[2]]$Terrain, SegInputDataList[[2]]$PercentHeavyVehicle s, SegInputDataList[[2]]$DirVolume, SegInputDataList[[2]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 1.0
## FFS = 59.0 mi/h

Page 128
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 5.00
## Heavy vehicle factor = 0.952
## Analysis flow rate = 607.9 pc/h/ln
## Breakpoint = 1640.0 pc/h/ln
## Average Speed = 59.0 mi/h
## Density = 10.3 pc/mi/ln
## LOS is B
## LOS numeric value = 0.9366637

SegResultsDataList[[2]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[2]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[2]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[2]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[2]]$NumberofLanes,"LOSNumber" = ReturnedResults[3])

Segment 3: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[3]]$LeftTurnVolume, SegInp utDataList[[3]]$DirVolume, SegInputDataList[[3]]$RightTurnVolume, SegInputDat aList[[3]]$PeakHourFactor, SegInputDataList[[3]]$PercentHeavyVehicles, SegInp utDataList[[3]]$BaseSatFlowRate, SegInputDataList[[3]]$NumberofLanes, SegInpu tDataList[[3]]$EffectiveGreenTime, SegInputDataList[[3]]$CycleLengthSec, SegI nputDataList[[3]]$ArrivalType)

## Analysis Flow Rate = 1040.0 veh/h
## Adjusted Saturation Flow Rate = 1880.0 veh/h
## Capacity = 1504.0 veh/h
## v/c Ratio = 0.691
## Thru Delay = 25.2 s
## LOS is C
## LOS numeric value = 2.348607

SegResultsDataList[[3]] <- list("Segment Free Flow Speed (mi/h)" = SegInputDa taList[[3]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = Seg InputDataList[[3]]$SegmentLengthFt/(ReturnedResults[1]+(SegInputDataList[[3]] $SegmentLengthFt/SegInputDataList[[3]]$PostedSpeedLimit*1.1)), "Segment Poste d Speed Limit (mi/h)" = SegInputDataList[[3]]$PostedSpeedLimit, "Segment Leng th (mi)" = SegInputDataList[[3]]$SegmentLengthFt/FeetInMiles, "Segment Percen t HV" = SegInputDataList[[3]]$PercentHeavyVehicles, "Number of Lanes" = SegIn putDataList[[3]]$NumberofLanes, "LOSNumber" = ReturnedResults[2])

Segment 4: Two-Lane Highway, Passing Constrained

IsPassingLaneUpStream <- FALSE
UpstreamSegResults <- as.numeric(ReturnedResults)

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[4]]$SegmentType, SegInput DataList[[4]]$DirVolume, SegInputDataList[[4]]$OppVolume, SegInputDataList[[4 ]]$PeakHourFactor, SegInputDataList[[4]]$PercentHeavyVehicles, SegInputDataLi st[[4]]$PostedSpeedLimit, SegInputDataList[[4]]$SegmentLengthMi, SegInputData List[[4]]$AccessPointDensity, SegInputDataList[[4]]$LaneWidth, SegInputDataLi st[[4]]$ShoulderWidth, SegInputDataList[[4]]$VertAlignmentClass, UpstreamSegR esults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.090
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.4 mi/h
## m = 3.932
## p = 0.457
## Average Speed = 59.2 mi/h
## Percent Followers at Capacity = 86.77 %

Page 129
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## Percent Followers at 25% Capacity = 51.32 %
## PF_m = -1.360
## PF_p = 0.745
## Percent Followers = 66.1 %
## Follower Density = 8.228 followers/mi/ln
## LOS is D
## LOS numeric value = 3.057103

SegResultsDataList[[4]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[4]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[4]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[4]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[4]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 5: Two-Lane Highway, Passing Lane

UpstreamSegResults <- as.numeric(ReturnedResults)

EffectiveLengthPL <- PassingLaneEffectiveLengthFcn(UpstreamSegResults[6], Ups treamSegResults[2], UpstreamSegResults[3], UpstreamSegResults[4], SegInputDat aList[[5]]$SegmentLengthMi)

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[5]]$SegmentType, SegInput DataList[[5]]$DirVolume, SegInputDataList[[5]]$OppVolume, SegInputDataList[[5 ]]$PeakHourFactor, SegInputDataList[[5]]$PercentHeavyVehicles, SegInputDataLi st[[5]]$PostedSpeedLimit, SegInputDataList[[5]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[5]]$LaneWidth, SegInputDataLi st[[5]]$ShoulderWidth, SegInputDataList[[5]]$VertAlignmentClass, UpstreamSegR esults, FALSE, 0, 0, 0)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.075
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.5 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h
## NumHV = 22 veh
## PropFlowRate_FL = 0.584
## FlowRate_FL = 430 veh/h
## FlowRate_SL = 307 veh/h
## HV%_FL = 1.2 %
## NumHV_SL = 17 veh
## HV%_SL = 5.5 %
## AvgSpeedDiffAdj = 3.28 mi/h
## S_init_FL = 60.74 mi/h
## S_PLmid_FL = 62.38 mi/h
## S_init_SL = 61.34 mi/h
## S_PLmid_SL = 59.71 mi/h
## S_PLMid = 61.27 mi/h
## PF_PLmid_FL = 44.41 %
## PF_PLmid_SL = 33.60 %
## PF_PLMid = 39.91 %
## FD_PLmid = 2.394 followers/mi/ln
## Follower Density = 2.394 followers/mi/ln
## LOS is B
## LOS numeric value = 1.197096
## Effective Length = 8.0 mi

SegResultsDataList[[5]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[5]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[5]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[5]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[5]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Page 130
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 6: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[6]]$SegmentType, SegInput DataList[[6]]$DirVolume, SegInputDataList[[6]]$OppVolume, SegInputDataList[[6 ]]$PeakHourFactor, SegInputDataList[[6]]$PercentHeavyVehicles, SegInputDataLi st[[6]]$PostedSpeedLimit, SegInputDataList[[6]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[6]]$LaneWidth, SegInputDataLi st[[6]]$ShoulderWidth, SegInputDataList[[6]]$VertAlignmentClass, UpstreamSegR esults, TRUE, SegInputDataList[[5]]$SegmentLengthMi, SegInputDataList[[5]]$Se gmentLengthMi+SegInputDataList[[6]]$SegmentLengthMi, EffectiveLengthPL)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.7 mi/h
## m = 3.971
## p = 0.417
## Average Speed = 59.4 mi/h
## Percent Followers at Capacity = 85.11 %
## Percent Followers at 25% Capacity = 48.36 %
## PF_m = -1.268
## PF_p = 0.764
## Percent Followers = 63.4 %
## Follower Density = 6.469 followers/mi/ln
## LOS is C
## LOS numeric value = 2.617298

SegResultsDataList[[6]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[6]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[6]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[6]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[6]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 7: Two-Lane Highway, Passing Zone

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[7]]$SegmentType, SegInput DataList[[7]]$DirVolume, SegInputDataList[[7]]$OppVolume, SegInputDataList[[7 ]]$PeakHourFactor, SegInputDataList[[7]]$PercentHeavyVehicles, SegInputDataLi st[[7]]$PostedSpeedLimit, SegInputDataList[[7]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[7]]$LaneWidth, SegInputDataLi st[[7]]$ShoulderWidth, SegInputDataList[[7]]$VertAlignmentClass, UpstreamSegR esults, TRUE, SegInputDataList[[5]]$SegmentLengthMi, SegInputDataList[[5]]$Se gmentLengthMi+SegInputDataList[[6]]$SegmentLengthMi+SegInputDataList[[7]]$Seg mentLengthMi, EffectiveLengthPL)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 2 mi
## Free-Flow Speed = 62.7 mi/h
## m = 3.787
## p = 0.497
## Average Speed = 59.7 mi/h
## Percent Followers at Capacity = 84.60 %
## Percent Followers at 25% Capacity = 46.29 %
## PF_m = -1.227
## PF_p = 0.796
## Percent Followers = 61.8 %
## Follower Density = 6.691 followers/mi/ln
## LOS is C
## LOS numeric value = 2.672675

Page 131
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

SegResultsDataList[[7]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[7]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[7]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[7]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[7]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 8: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[8]]$LeftTurnVolume, SegInp utDataList[[8]]$DirVolume, SegInputDataList[[8]]$RightTurnVolume, SegInputDat aList[[8]]$PeakHourFactor, SegInputDataList[[8]]$PercentHeavyVehicles, SegInp utDataList[[8]]$BaseSatFlowRate, SegInputDataList[[8]]$NumberofLanes, SegInpu tDataList[[8]]$EffectiveGreenTime, SegInputDataList[[8]]$CycleLengthSec, SegI nputDataList[[8]]$ArrivalType)

## Analysis Flow Rate = 780.0 veh/h
## Adjusted Saturation Flow Rate = 1838.3 veh/h
## Capacity = 1470.6 veh/h
## v/c Ratio = 0.530
## Thru Delay = 22.1 s
## LOS is C
## LOS numeric value = 2.140303

SegResultsDataList[[8]] <- list("Segment Free Flow Speed (mi/h)" = SegInputDa taList[[8]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = Seg InputDataList[[8]]$SegmentLengthFt/(ReturnedResults[1]+(SegInputDataList[[8]] $SegmentLengthFt/SegInputDataList[[8]]$PostedSpeedLimit*1.1)), "Segment Poste d Speed Limit (mi/h)" = SegInputDataList[[8]]$PostedSpeedLimit, "Segment Leng th (mi)" = SegInputDataList[[8]]$SegmentLengthFt/FeetInMiles, "Segment Percen t HV" = SegInputDataList[[8]]$PercentHeavyVehicles, "Number of Lanes" = SegIn putDataList[[8]]$NumberofLanes, "LOSNumber" = ReturnedResults[2], "AvgSpeedCa lc" = (ReturnedResults[1]+(SegInputDataList[[8]]$SegmentLengthFt/SegInputData List[[8]]$PostedSpeedLimit*1.1)))

Segment 9: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[9]]$PostedSpeedLimit, SegInput DataList[[9]]$LaneWidth, SegInputDataList[[9]]$RightSideLateralClearance, Seg InputDataList[[9]]$LeftSideLateralClearance, SegInputDataList[[9]]$NumberofLa nes, SegInputDataList[[9]]$MedianType, SegInputDataList[[9]]$AccessPointDensi ty, SegInputDataList[[9]]$Terrain, SegInputDataList[[9]]$PercentHeavyVehicles , SegInputDataList[[9]]$DirVolume, SegInputDataList[[9]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 0.5
## FFS = 59.5 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 0.00
## Heavy vehicle factor = 1.000
## Analysis flow rate = 547.4 pc/h/ln
## Breakpoint = 1620.0 pc/h/ln
## Average Speed = 59.5 mi/h
## Density = 9.2 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8363154

SegResultsDataList[[9]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[9]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[9]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[9]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[9]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Page 132
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 10: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[10]]$PostedSpeedLimit, SegInpu tDataList[[10]]$LaneWidth, SegInputDataList[[10]]$RightSideLateralClearance , SegInputDataList[[10]]$LeftSideLateralClearance, SegInputDataList[[10]]$Numbe rofLanes, SegInputDataList[[10]]$MedianType, SegInputDataList[[10]]$AccessPoi ntDensity, SegInputDataList[[10]]$Terrain, SegInputDataList[[10]]$PercentHeav yVehicles, SegInputDataList[[10]]$DirVolume, SegInputDataList[[10]]$PeakHourF actor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 0.8
## FFS = 59.2 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 5.00
## Heavy vehicle factor = 0.952
## Analysis flow rate = 574.7 pc/h/ln
## Breakpoint = 1630.0 pc/h/ln
## Average Speed = 59.2 mi/h
## Density = 9.7 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8818364

SegResultsDataList[[10]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[10]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[10]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[10]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[10]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Segment 11: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[11]]$LeftTurnVolume, SegIn putDataList[[11]]$DirVolume, SegInputDataList[[11]]$RightTurnVolume, SegInput DataList[[11]]$PeakHourFactor, SegInputDataList[[11]]$PercentHeavyVehicles, S egInputDataList[[11]]$BaseSatFlowRate, SegInputDataList[[11]]$NumberofLanes, SegInputDataList[[11]]$EffectiveGreenTime, SegInputDataList[[11]]$CycleLength Sec, SegInputDataList[[11]]$ArrivalType)

## Analysis Flow Rate = 1010.0 veh/h
## Adjusted Saturation Flow Rate = 1751.3 veh/h
## Capacity = 1401.0 veh/h
## v/c Ratio = 0.721
## Thru Delay = 26.2 s
## LOS is C
## LOS numeric value = 2.415539

SegResultsDataList[[11]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[11]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = S egInputDataList[[11]]$SegmentLengthFt/(ReturnedResults[1]+(SegInputDataList[[ 11]]$SegmentLengthFt/SegInputDataList[[11]]$PostedSpeedLimit*1.1)), "Segment Posted Speed Limit (mi/h)" = SegInputDataList[[11]]$PostedSpeedLimit, "Segmen t Length (mi)" = SegInputDataList[[11]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[11]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[11]]$NumberofLanes, "LOSNumber" = ReturnedResults[2], "Av gSpeedCalc" = (ReturnedResults[1]+(SegInputDataList[[11]]$SegmentLengthFt/Seg InputDataList[[11]]$PostedSpeedLimit*1.1)))

Page 133
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 12: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[12]]$SegmentType, SegInpu tDataList[[12]]$DirVolume, SegInputDataList[[12]]$OppVolume, SegInputDataList [[12]]$PeakHourFactor, SegInputDataList[[12]]$PercentHeavyVehicles, SegInputD ataList[[12]]$PostedSpeedLimit, SegInputDataList[[12]]$SegmentLengthMi, SegIn putDataList[[12]]$AccessPointDensity, SegInputDataList[[12]]$LaneWidth, SegIn putDataList[[12]]$ShoulderWidth, SegInputDataList[[12]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 757.9 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h
## m = 3.936
## p = 0.417
## Average Speed = 59.2 mi/h
## Percent Followers at Capacity = 85.58 %
## Percent Followers at 25% Capacity = 48.79 %
## PF_m = -1.288
## PF_p = 0.767
## Percent Followers = 64.7 %
## Follower Density = 8.279 followers/mi/ln
## LOS is D
## LOS numeric value = 3.069697

SegResultsDataList[[12]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[12]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[12]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[12]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[12]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 13: Roundabout Intersection

ReturnedResults <- vector(length = 2)

ReturnedResults <- RoundaboutMainFcn(SegInputDataList[[13]]$VehicleType, SegI nputDataList[[13]]$PercentHeavyVehicles, SegInputDataList[[13]]$PeakHourFacto r, SegInputDataList[[13]]$DirVolume[2], SegInputDataList[[13]]$DirVolume[1], SegInputDataList[[13]]$DirVolume[3], SegInputDataList[[13]]$NBVolume[2], SegI nputDataList[[13]]$NBVolume[1], SegInputDataList[[13]]$NBVolume[3], SegInputD ataList[[13]]$OppVolume[2], SegInputDataList[[13]]$OppVolume[1], SegInputData List[[13]]$OppVolume[3], SegInputDataList[[13]]$SBVolume[2], SegInputDataList [[13]]$SBVolume[1], SegInputDataList[[13]]$SBVolume[3])

## Demand Flow Rate = 720.0 veh/h
## Heavy Vehicle Adjustment Factor = 0.952 veh/h
## Demand Flow Rate = 663.2 pce/h
## Eastbound Circulating Flow Rate = 414.5 pce/h
## Eastbound Entry Lane Capacity = 904.2 pce/h
## Eastbound v/c Ratio = 0.880
## Eastbound Control Delay = 30.4 s/veh
## LOS = D
## LOS numeric value = 3.54212

SegResultsDataList[[13]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[13]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = S egInputDataList[[13]]$SegmentLengthFt/(ReturnedResults[1]+(SegInputDataList[[ 13]]$SegmentLengthFt/SegInputDataList[[13]]$PostedSpeedLimit*1.1)), "Segment Posted Speed Limit (mi/h)" = SegInputDataList[[13]]$PostedSpeedLimit, "Segmen t Length (mi)" = SegInputDataList[[13]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[13]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[13]]$NumberofLanes, "LOSNumber" = ReturnedResults[2], "Av gSpeedCalc" = (ReturnedResults[1]+(SegInputDataList[[13]]$SegmentLengthFt/Seg InputDataList[[13]]$PostedSpeedLimit*1.1)))

Page 134
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 14: Two-Lane Highway, Passing Zone

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[14]]$SegmentType, SegInpu tDataList[[14]]$DirVolume, SegInputDataList[[14]]$OppVolume, SegInputDataList [[14]]$PeakHourFactor, SegInputDataList[[14]]$PercentHeavyVehicles, SegInputD ataList[[14]]$PostedSpeedLimit, SegInputDataList[[14]]$SegmentLengthMi, SegIn putDataList[[14]]$AccessPointDensity, SegInputDataList[[14]]$LaneWidth, SegIn putDataList[[14]]$ShoulderWidth, SegInputDataList[[14]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 631.6 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 2 mi
## Free-Flow Speed = 62.5 mi/h
## m = 3.800
## p = 0.489
## Average Speed = 59.7 mi/h
## Percent Followers at Capacity = 84.70 %
## Percent Followers at 25% Capacity = 46.86 %
## PF_m = -1.237
## PF_p = 0.786
## Percent Followers = 57.8 %
## Follower Density = 6.106 followers/mi/ln
## LOS is C
## LOS numeric value = 2.526593

SegResultsDataList[[14]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[14]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[14]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[14]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[14]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 15: All-Way-Stop-Controlled Intersection

ReturnedResults <- vector(length = 2)

ReturnedResults <- AWSCMainFunction(SegInputDataList[[15]]$PeakHourFactor, Se gInputDataList[[15]]$DirVolume[2], SegInputDataList[[15]]$DirVolume[1], SegIn putDataList[[15]]$DirVolume[3], SegInputDataList[[15]]$NBVolume[2], SegInputD ataList[[15]]$NBVolume[1], SegInputDataList[[15]]$NBVolume[3], SegInputDataLi st[[15]]$OppVolume[2], SegInputDataList[[15]]$OppVolume[1], SegInputDataList[ [15]]$OppVolume[3], SegInputDataList[[15]]$SBVolume[2], SegInputDataList[[15] ]$SBVolume[1], SegInputDataList[[15]]$SBVolume[3], SegInputDataList[[15]]$Bas eSatHeadway, SegInputDataList[[15]]$Convergence, SegInputDataList[[15]]$Conve rgenceCriteria, SegInputDataList[[15]]$DepartureHeadwayLast, SegInputDataList [[15]]$PercentHeavyVehicles[1], SegInputDataList[[15]]$PercentHeavyVehicles[2 ], SegInputDataList[[15]]$PercentHeavyVehicles[3], SegInputDataList[[15]]$Per centHeavyVehicles[4], SegInputDataList[[15]]$MoveUpTime14)

## Eastbound Total Volume = 600.0 veh/h
## Eastbound Adjusted Headway = 0.0310 s
## Degree of Utilization = 0.972
## Eastbound Departure Headway = 5.5 s
## Eastbound Control Delay = 51.9 s
## LOS = F
## LOS numeric value = 5

SegResultsDataList[[15]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[15]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = S egInputDataList[[15]]$SegmentLengthFt/(ReturnedResults[1]+(SegInputDataList[[ 15]]$SegmentLengthFt/SegInputDataList[[15]]$PostedSpeedLimit*1.1)), "Segment Posted Speed Limit (mi/h)" = SegInputDataList[[15]]$PostedSpeedLimit, "Segmen t Length (mi)" = SegInputDataList[[15]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[15]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[15]]$NumberofLanes, "LOSNumber" = ReturnedResults[2], "Av gSpeedCalc" = SegInputDataList[[15]]$SegmentLengthFt/(ReturnedResults[1]+(Seg InputDataList[[15]]$SegmentLengthFt/(SegInputDataList[[15]]$PostedSpeedLimit* 1.1))))

Page 135
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 16: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[16]]$SegmentType, SegInpu tDataList[[16]]$DirVolume, SegInputDataList[[16]]$OppVolume, SegInputDataList [[16]]$PeakHourFactor, SegInputDataList[[16]]$PercentHeavyVehicles, SegInputD ataList[[16]]$PostedSpeedLimit, SegInputDataList[[16]]$SegmentLengthMi, SegIn putDataList[[16]]$AccessPointDensity, SegInputDataList[[16]]$LaneWidth, SegIn putDataList[[16]]$ShoulderWidth, SegInputDataList[[16]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 684.2 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h
## m = 3.964
## p = 0.417
## Average Speed = 59.4 mi/h
## Percent Followers at Capacity = 85.11 %
## Percent Followers at 25% Capacity = 48.39 %
## PF_m = -1.269
## PF_p = 0.763
## Percent Followers = 61.3 %
## Follower Density = 7.067 followers/mi/ln
## LOS is C
## LOS numeric value = 2.766835

SegResultsDataList[[16]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[16]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[16]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[16]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[16]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

13.3 Influence Area Calculations

InfluenceAreaUpStream[3] <- InfAreaSignalUSFcn(SegResultsDataList[[2]]$`Segme nt Average Travel Speed (mi/h)`, SegResultsDataList[[3]]$`Segment Percent HV` , SegResultsDataList[[2]]$`Number of Lanes`)

InfluenceAreaDownStream[3] <- InfAreaSignalDSFcn(SegResultsDataList[[4]]$`Seg ment Average Travel Speed (mi/h)`, SegResultsDataList[[3]]$`Segment Percent H V`, SegResultsDataList[[4]]$`Number of Lanes`)

InfluenceAreaUpStream[8] <- InfAreaSignalUSFcn(SegResultsDataList[[7]]$`Segme nt Average Travel Speed (mi/h)`, SegResultsDataList[[8]]$`Segment Percent HV` , SegResultsDataList[[7]]$`Number of Lanes`)

InfluenceAreaDownStream[8] <- InfAreaSignalDSFcn(SegResultsDataList[[9]]$`Seg ment Average Travel Speed (mi/h)`, SegResultsDataList[[8]]$`Segment Percent H V`, SegResultsDataList[[9]]$`Number of Lanes`)

InfluenceAreaUpStream[11] <- InfAreaSignalUSFcn(SegResultsDataList[[10]]$`Seg ment Average Travel Speed (mi/h)`, SegResultsDataList[[11]]$`Segment Percent HV`, SegResultsDataList[[10]]$`Number of Lanes`)

InfluenceAreaDownStream[11] <- InfAreaSignalDSFcn(SegResultsDataList[[12]]$`S egment Average Travel Speed (mi/h)`, SegResultsDataList[[11]]$`Segment Percen t HV`, SegResultsDataList[[12]]$`Number of Lanes`)

InfluenceAreaUpStream[13] <- InfAreaRoundaboutUSFcn(SegResultsDataList[[12]]$ `Segment Average Travel Speed (mi/h)`)

InfluenceAreaDownStream[13] <- InfAreaRoundaboutDSFcn(SegResultsDataList[[14] ]$`Segment Average Travel Speed (mi/h)`)

InfluenceAreaUpStream[15] <- InfAreaAWSCUSFcn(SegResultsDataList[[14]]$`Segme nt Average Travel Speed (mi/h)`)

InfluenceAreaDownStream[15] <- InfAreaAWSCDSFcn(SegResultsDataList[[16]]$`Seg ment Average Travel Speed (mi/h)`)

Page 136
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

InfluenceAreaList[[1]] <- list("Segment3UpStreamInfluenceArea" = InfluenceAre aUpStream[3]/FeetInMiles, "Segment3DownStreamInfluenceArea" = InfluenceAreaDo wnStream[3]/FeetInMiles)

InfluenceAreaTotalList[[1]] <- list("Segment3 Influence Area (mi)" = Differen ceInAreaFcn(InfluenceAreaList[[1]]$Segment3UpStreamInfluenceArea,InfluenceAre aList[[1]]$Segment3DownStreamInfluenceArea))

InfluenceAreaList[[2]] <- list("Segment8UpstreamInfluenceArea" = InfluenceAre aUpStream[8]/FeetInMiles, "Segment8DownStreamInfluenceArea" = InfluenceAreaDo wnStream[8]/FeetInMiles)

InfluenceAreaTotalList[[2]] <- list("Segment 8 Influence Area (mi)" = Differe nceInAreaFcn(InfluenceAreaList[[2]]$Segment8UpstreamInfluenceArea,InfluenceAr eaList[[2]]$Segment8DownStreamInfluenceArea))

InfluenceAreaList[[3]] <- list("Segment11UpstreamInfluenceArea" = InfluenceAr eaUpStream[11]/FeetInMiles, "Segment11DownStreamInfluenceArea" = InfluenceAre aDownStream[11]/FeetInMiles)

InfluenceAreaTotalList[[3]] <- list("Segment 11 Influence Area (mi)" = Differ enceInAreaFcn(InfluenceAreaList[[3]]$Segment11UpstreamInfluenceArea,Influence AreaList[[3]]$Segment11DownStreamInfluenceArea))

InfluenceAreaList[[4]] <- list("Segment13UpstreamInfluenceArea" = InfluenceAr eaUpStream[13]/FeetInMiles, "Segment13DownStreamInfluenceArea" = InfluenceAre aDownStream[13]/FeetInMiles)

InfluenceAreaTotalList[[4]] <- list("Segment 13 Influence Area (mi)" = Differ enceInAreaFcn(InfluenceAreaList[[4]]$Segment13UpstreamInfluenceArea,Influence AreaList[[4]]$Segment13DownStreamInfluenceArea))

InfluenceAreaList[[5]] <- list("Segment15UpstreamInfluenceArea" = InfluenceAr eaUpStream[15]/FeetInMiles, "Segment15DownStreamInfluenceArea" = InfluenceAre aDownStream[15]/FeetInMiles)

InfluenceAreaTotalList[[5]] <- list("Segment 15 Influence Area (mi)" = Differ enceInAreaFcn(InfluenceAreaList[[5]]$Segment15UpstreamInfluenceArea,Influence AreaList[[5]]$Segment15DownStreamInfluenceArea))

13.4 Adjusted Segment Length Calculations

AdjustedLength[1] <- SegInputDataList[[1]]$SegmentLengthMi

AdjustedLength[2] <- ((SegInputDataList[[2]]$SegmentLengthFt)-(InfluenceAreaU pStream[3]-SegInputDataList[[3]]$GeometricUpstreamDistFt))/FeetInMiles

AdjustedLength[3] <- IntAdjustedLengthFcn(InfluenceAreaUpStream[3], Influence AreaDownStream[3])

AdjustedLength[4] <- ((SegInputDataList[[4]]$SegmentLengthFt)-(InfluenceAreaD ownStream[3]-SegInputDataList[[3]]$GeometricDownstreamDistFt))/FeetInMiles

AdjustedLength[5] <- SegInputDataList[[5]]$SegmentLengthMi

AdjustedLength[6] <- SegInputDataList[[6]]$SegmentLengthMi

AdjustedLength[7] <- ((SegInputDataList[[7]]$SegmentLengthFt)-(InfluenceAreaU pStream[8]-SegInputDataList[[8]]$GeometricUpstreamDistFt))/FeetInMiles

AdjustedLength[8] <- IntAdjustedLengthFcn(InfluenceAreaUpStream[8], Influence AreaDownStream[8])

AdjustedLength[9] <- ((SegInputDataList[[9]]$SegmentLengthFt)-(InfluenceAreaD ownStream[8]-SegInputDataList[[8]]$GeometricDownstreamDistFt))/FeetInMiles

AdjustedLength[10] <- ((SegInputDataList[[10]]$SegmentLengthFt)- (InfluenceAr eaUpStream[11]-SegInputDataList[[11]]$GeometricUpstreamDistFt))/FeetInMiles

AdjustedLength[11] <- IntAdjustedLengthFcn(InfluenceAreaUpStream[11], Influen ceAreaDownStream[11])

AdjustedLength[12] <- ((SegInputDataList[[12]]$SegmentLengthFt) - (InfluenceA reaDownStream[11]-SegInputDataList[[11]]$GeometricDownstreamDistFt) - (Influe

nceAreaUpStream[13] - SegInputDataList[[13]]$GeometricUpstreamDistFt))/FeetIn Miles

AdjustedLength[13] <- IntAdjustedLengthFcn(InfluenceAreaUpStream[13], Influen ceAreaDownStream[13])

AdjustedLength[14] <- ((SegInputDataList[[14]]$SegmentLengthFt) - (InfluenceA reaDownStream[13] - SegInputDataList[[13]]$GeometricDownstreamDistFt) - (Infl uenceAreaUpStream[15] - SegInputDataList[[15]]$GeometricUpstreamDistFt))/Feet InMiles

AdjustedLength[15] <- IntAdjustedLengthFcn(InfluenceAreaUpStream[15], Influen ceAreaDownStream[15])

AdjustedLength[16] <- ((SegInputDataList[[16]]$SegmentLengthFt)-(InfluenceAre aDownStream[15] - SegInputDataList[[15]]$GeometricDownstreamDistFt))/FeetInMi les

Page 137
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

13.5 Segment LOS Calculations

13.5.1 Second Iteration Uses Adjusted Segment Lengths

Segment 1: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[1]]$PostedSpeedLimit, SegInput DataList[[1]]$LaneWidth, SegInputDataList[[1]]$RightSideLateralClearance , Se gInputDataList[[1]]$LeftSideLateralClearance, SegInputDataList[[1]]$NumberofL anes, SegInputDataList[[1]]$MedianType, SegInputDataList[[1]]$AccessPointDens ity, SegInputDataList[[1]]$Terrain, SegInputDataList[[1]]$PercentHeavyVehicle s, SegInputDataList[[1]]$DirVolume, SegInputDataList[[1]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 1.0
## FFS = 59.0 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 0.00
## Heavy vehicle factor = 1.000
## Analysis flow rate = 578.9 pc/h/ln
## Breakpoint = 1640.0 pc/h/ln
## Average Speed = 59.0 mi/h
## Density = 9.8 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8920607

SegResultsDataList[[1]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[1]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[1]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[1]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[1]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Segment 2: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[2]]$PostedSpeedLimit, SegInput DataList[[2]]$LaneWidth, SegInputDataList[[2]]$RightSideLateralClearance , Se gInputDataList[[2]]$LeftSideLateralClearance, SegInputDataList[[2]]$NumberofL anes, SegInputDataList[[2]]$MedianType, SegInputDataList[[2]]$AccessPointDens ity, SegInputDataList[[2]]$Terrain, SegInputDataList[[2]]$PercentHeavyVehicle s, SegInputDataList[[2]]$DirVolume, SegInputDataList[[2]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 1.0
## FFS = 59.0 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 5.00
## Heavy vehicle factor = 0.952
## Analysis flow rate = 607.9 pc/h/ln
## Breakpoint = 1640.0 pc/h/ln
## Average Speed = 59.0 mi/h
## Density = 10.3 pc/mi/ln
## LOS is B
## LOS numeric value = 0.9366637

SegResultsDataList[[2]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[2]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[2]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[2]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[2]]$NumberofLanes,"LOSNumber" = ReturnedResults[3])

Page 138
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 3: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[3]]$LeftTurnVolume, SegInp utDataList[[3]]$DirVolume, SegInputDataList[[3]]$RightTurnVolume, SegInputDat aList[[3]]$PeakHourFactor, SegInputDataList[[3]]$PercentHeavyVehicles, SegInp utDataList[[3]]$BaseSatFlowRate, SegInputDataList[[3]]$NumberofLanes, SegInpu tDataList[[3]]$EffectiveGreenTime, SegInputDataList[[3]]$CycleLengthSec, SegI nputDataList[[3]]$ArrivalType)

## Analysis Flow Rate = 1040.0 veh/h
## Adjusted Saturation Flow Rate = 1880.0 veh/h
## Capacity = 1504.0 veh/h
## v/c Ratio = 0.691
## Thru Delay = 25.2 s
## LOS is C
## LOS numeric value = 2.348607

SegResultsDataList[[3]] <- list("Segment Free Flow Speed (mi/h)" = SegInputDa taList[[3]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = Adj ustedLength[3]/((ReturnedResults[1]/SecondsPerHour)+(AdjustedLength[3]/(SegIn putDataList[[3]]$PostedSpeedLimit*1.1))), "Segment Posted Speed Limit (mi/h)" = SegInputDataList[[3]]$PostedSpeedLimit, "Segment Length (mi)" = SegInputDat aList[[3]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataLi st[[3]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[3]]$Numbe rofLanes, "LOSNumber" = ReturnedResults[2])

Segment 4: Two-Lane Highway, Passing Constrained

IsPassingLaneUpStream <- FALSE

UpstreamSegResults <- as.numeric(ReturnedResults)

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[4]]$SegmentType, SegInput DataList[[4]]$DirVolume, SegInputDataList[[4]]$OppVolume, SegInputDataList[[4 ]]$PeakHourFactor, SegInputDataList[[4]]$PercentHeavyVehicles, SegInputDataLi st[[4]]$PostedSpeedLimit, SegInputDataList[[4]]$SegmentLengthMi, SegInputData List[[4]]$AccessPointDensity, SegInputDataList[[4]]$LaneWidth, SegInputDataLi st[[4]]$ShoulderWidth, SegInputDataList[[4]]$VertAlignmentClass, UpstreamSegR esults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.090
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.4 mi/h
## m = 3.932
## p = 0.457
## Average Speed = 59.2 mi/h
## Percent Followers at Capacity = 86.77 %
## Percent Followers at 25% Capacity = 51.32 %
## PF_m = -1.360
## PF_p = 0.745
## Percent Followers = 66.1 %
## Follower Density = 8.228 followers/mi/ln
## LOS is D
## LOS numeric value = 3.057103

SegResultsDataList[[4]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[4]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[4]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[4]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[4]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Page 139
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 5: Two-Lane Highway, Passing Lane

UpstreamSegResults <- as.numeric(ReturnedResults)

EffectiveLengthPL <- PassingLaneEffectiveLengthFcn(UpstreamSegResults[6], Ups treamSegResults[2], UpstreamSegResults[3], UpstreamSegResults[4], SegInputDat aList[[5]]$SegmentLengthMi)

#cat("Effective Length =", format(round(EffectiveLengthPL, 1), nsmall=1), "\n ")

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[5]]$SegmentType, SegInput DataList[[5]]$DirVolume, SegInputDataList[[5]]$OppVolume, SegInputDataList[[5 ]]$PeakHourFactor, SegInputDataList[[5]]$PercentHeavyVehicles, SegInputDataLi st[[5]]$PostedSpeedLimit, SegInputDataList[[5]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[5]]$LaneWidth, SegInputDataLi st[[5]]$ShoulderWidth, SegInputDataList[[5]]$VertAlignmentClass, UpstreamSegR esults, FALSE, 0, 0, 0)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.075
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.5 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h
## NumHV = 22 veh
## PropFlowRate_FL = 0.584
## FlowRate_FL = 430 veh/h
## FlowRate_SL = 307 veh/h
## HV%_FL = 1.2 %
## NumHV_SL = 17 veh
## HV%_SL = 5.5 %
## AvgSpeedDiffAdj = 3.28 mi/h
## S_init_FL = 60.74 mi/h
## S_PLmid_FL = 62.38 mi/h
## S_init_SL = 61.34 mi/h
## S_PLmid_SL = 59.71 mi/h
## S_PLMid = 61.27 mi/h
## PF_PLmid_FL = 44.41 %
## PF_PLmid_SL = 33.60 %
## PF_PLMid = 39.91 %
## FD_PLmid = 2.394 followers/mi/ln
## Follower Density = 2.394 followers/mi/ln
## LOS is B
## LOS numeric value = 1.197096
## Effective Length = 8.0 mi

SegResultsDataList[[5]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[5]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[5]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[5]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[5]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 6: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[6]]$SegmentType, SegInput DataList[[6]]$DirVolume, SegInputDataList[[6]]$OppVolume, SegInputDataList[[6 ]]$PeakHourFactor, SegInputDataList[[6]]$PercentHeavyVehicles, SegInputDataLi st[[6]]$PostedSpeedLimit, SegInputDataList[[6]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[6]]$LaneWidth, SegInputDataLi st[[6]]$ShoulderWidth, SegInputDataList[[6]]$VertAlignmentClass, UpstreamSegR esults, TRUE, SegInputDataList[[5]]$SegmentLengthMi, SegInputDataList[[5]]$Se gmentLengthMi+SegInputDataList[[6]]$SegmentLengthMi, EffectiveLengthPL)

Page 140
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.7 mi/h
## m = 3.971
## p = 0.417
## Average Speed = 59.4 mi/h
## Percent Followers at Capacity = 85.11 %
## Percent Followers at 25% Capacity = 48.36 %
## PF_m = -1.268
## PF_p = 0.764
## Percent Followers = 63.4 %
## Follower Density = 6.469 followers/mi/ln
## LOS is C
## LOS numeric value = 2.617298

SegResultsDataList[[6]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[6]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[6]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[6]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[6]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 7: Two-Lane Highway, Passing Zone

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[7]]$SegmentType, SegInput DataList[[7]]$DirVolume, SegInputDataList[[7]]$OppVolume, SegInputDataList[[7 ]]$PeakHourFactor, SegInputDataList[[7]]$PercentHeavyVehicles, SegInputDataLi st[[7]]$PostedSpeedLimit, SegInputDataList[[7]]$SegmentLengthMi, SegInputData List[[5]]$AccessPointDensity, SegInputDataList[[7]]$LaneWidth, SegInputDataLi st[[7]]$ShoulderWidth, SegInputDataList[[7]]$VertAlignmentClass, UpstreamSegR esults, TRUE, SegInputDataList[[5]]$SegmentLengthMi, SegInputDataList[[5]]$Se gmentLengthMi+SegInputDataList[[6]]$SegmentLengthMi+SegInputDataList[[7]]$Seg mentLengthMi, EffectiveLengthPL)

## The peak 15-min flow rate = 736.8 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 2 mi
## Free-Flow Speed = 62.7 mi/h
## m = 3.787
## p = 0.497
## Average Speed = 59.7 mi/h
## Percent Followers at Capacity = 84.60 %
## Percent Followers at 25% Capacity = 46.29 %
## PF_m = -1.227
## PF_p = 0.796
## Percent Followers = 61.8 %
## Follower Density = 6.691 followers/mi/ln
## LOS is C
## LOS numeric value = 2.672675

SegResultsDataList[[7]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[7]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[7]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[7]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[7]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Page 141
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Segment 8: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[8]]$LeftTurnVolume, SegInp utDataList[[8]]$DirVolume, SegInputDataList[[8]]$RightTurnVolume, SegInputDat aList[[8]]$PeakHourFactor, SegInputDataList[[8]]$PercentHeavyVehicles, SegInp utDataList[[8]]$BaseSatFlowRate, SegInputDataList[[8]]$NumberofLanes, SegInpu tDataList[[8]]$EffectiveGreenTime, SegInputDataList[[8]]$CycleLengthSec, SegI nputDataList[[8]]$ArrivalType)

## Analysis Flow Rate = 780.0 veh/h
## Adjusted Saturation Flow Rate = 1838.3 veh/h
## Capacity = 1470.6 veh/h
## v/c Ratio = 0.530
## Thru Delay = 22.1 s
## LOS is C
## LOS numeric value = 2.140303

SegResultsDataList[[8]] <- list("Segment Free Flow Speed (mi/h)" = SegInputDa taList[[8]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = Adj ustedLength[8]/((ReturnedResults[1]/SecondsPerHour)+(AdjustedLength[8]/(SegIn putDataList[[8]]$PostedSpeedLimit*1.1))), "Segment Posted Speed Limit (mi/h)" = SegInputDataList[[8]]$PostedSpeedLimit, "Segment Length (mi)" = SegInputDat aList[[8]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataLi st[[8]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[8]]$Numbe rofLanes, "LOSNumber" = ReturnedResults[2])

Segment 9: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[9]]$PostedSpeedLimit, SegInput DataList[[9]]$LaneWidth, SegInputDataList[[9]]$RightSideLateralClearance , Se gInputDataList[[9]]$LeftSideLateralClearance, SegInputDataList[[9]]$NumberofL anes, SegInputDataList[[9]]$MedianType, SegInputDataList[[9]]$AccessPointDens ity, SegInputDataList[[9]]$Terrain, SegInputDataList[[9]]$PercentHeavyVehicle s, SegInputDataList[[9]]$DirVolume, SegInputDataList[[9]]$PeakHourFactor)

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 0.5
## FFS = 59.5 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 0.00
## Heavy vehicle factor = 1.000
## Analysis flow rate = 547.4 pc/h/ln
## Breakpoint = 1620.0 pc/h/ln
## Average Speed = 59.5 mi/h
## Density = 9.2 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8363154

SegResultsDataList[[9]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedRe sults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segmen t Posted Speed Limit (mi/h)" = SegInputDataList[[9]]$PostedSpeedLimit, "Segme nt Length (mi)" = SegInputDataList[[9]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInputDataList[[9]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[9]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Segment 10: Multilane Highway

ReturnedResults <- vector(length = 3)

ReturnedResults <- MLMainFcn(SegInputDataList[[10]]$PostedSpeedLimit, SegInpu tDataList[[10]]$LaneWidth, SegInputDataList[[10]]$RightSideLateralClearance , SegInputDataList[[10]]$LeftSideLateralClearance, SegInputDataList[[10]]$Numbe rofLanes, SegInputDataList[[10]]$MedianType, SegInputDataList[[10]]$AccessPoi ntDensity, SegInputDataList[[10]]$Terrain, SegInputDataList[[10]]$PercentHeav yVehicles, SegInputDataList[[10]]$DirVolume, SegInputDataList[[10]]$PeakHourF actor)

Page 142
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## BFFS = 60.0
## Lane Width Adjustment Factor Value = 0.0
## Total Lateral Clearance = 12.0 ft
## Total Lateral Clearance Adjustment Factor Value = 0.0
## Median Type Adjustment Factor Value = 0.0
## Access Point Density Adjustment Factor Value = 0.8
## FFS = 59.2 mi/h
## Capacity = 1700.00 pc/h/ln
## E_T = 2.0
## P_T = 5.00
## Heavy vehicle factor = 0.952
## Analysis flow rate = 574.7 pc/h/ln
## Breakpoint = 1630.0 pc/h/ln
## Average Speed = 59.2 mi/h
## Density = 9.7 pc/mi/ln
## LOS is A
## LOS numeric value = 0.8818364

SegResultsDataList[[10]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[10]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[10]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[10]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[10]]$NumberofLanes, "LOSNumber" = ReturnedResults[3])

Segment 11: Signalized Intersection

ReturnedResults <- vector(length=2)

ReturnedResults <- SignalMainFcn(SegInputDataList[[11]]$LeftTurnVolume, SegIn putDataList[[11]]$DirVolume, SegInputDataList[[11]]$RightTurnVolume, SegInput DataList[[11]]$PeakHourFactor, SegInputDataList[[11]]$PercentHeavyVehicles, S egInputDataList[[11]]$BaseSatFlowRate, SegInputDataList[[11]]$NumberofLanes, SegInputDataList[[11]]$EffectiveGreenTime, SegInputDataList[[11]]$CycleLength Sec, SegInputDataList[[11]]$ArrivalType)

## Analysis Flow Rate = 1010.0 veh/h
## Adjusted Saturation Flow Rate = 1751.3 veh/h
## Capacity = 1401.0 veh/h
## v/c Ratio = 0.721
## Thru Delay = 26.2 s
## LOS is C
## LOS numeric value = 2.415539

SegResultsDataList[[11]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[11]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = A djustedLength[11]/((ReturnedResults[1]/SecondsPerHour)+(AdjustedLength[11]/(S egInputDataList[[11]]$PostedSpeedLimit*1.1))), "Segment Posted Speed Limit (m i/h)" = SegInputDataList[[11]]$PostedSpeedLimit, "Segment Length (mi)" = SegI nputDataList[[11]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInp utDataList[[11]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[ 11]]$NumberofLanes, "LOSNumber" = ReturnedResults[2])

Segment 12: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[12]]$SegmentType, SegInpu tDataList[[12]]$DirVolume, SegInputDataList[[12]]$OppVolume, SegInputDataList [[12]]$PeakHourFactor, SegInputDataList[[12]]$PercentHeavyVehicles, SegInputD ataList[[12]]$PostedSpeedLimit, SegInputDataList[[12]]$SegmentLengthMi, SegIn putDataList[[12]]$AccessPointDensity, SegInputDataList[[12]]$LaneWidth, SegIn putDataList[[12]]$ShoulderWidth, SegInputDataList[[12]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 757.9 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h

Page 143
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## m = 3.936
## p = 0.417
## Average Speed = 59.2 mi/h
## Percent Followers at Capacity = 85.58 %
## Percent Followers at 25% Capacity = 48.79 %
## PF_m = -1.288
## PF_p = 0.767
## Percent Followers = 64.7 %
## Follower Density = 8.279 followers/mi/ln
## LOS is D
## LOS numeric value = 3.069697

SegResultsDataList[[12]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[12]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[12]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[12]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[12]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 13: Roundabout Intersection

ReturnedResults <- vector(length = 2)

ReturnedResults <- RoundaboutMainFcn(SegInputDataList[[13]]$VehicleType, SegI nputDataList[[13]]$PercentHeavyVehicles, SegInputDataList[[13]]$PeakHourFacto r, SegInputDataList[[13]]$DirVolume[2], SegInputDataList[[13]]$DirVolume[1], SegInputDataList[[13]]$DirVolume[3], SegInputDataList[[13]]$NBVolume[2], SegI nputDataList[[13]]$NBVolume[1], SegInputDataList[[13]]$NBVolume[3], SegInputD ataList[[13]]$OppVolume[2], SegInputDataList[[13]]$OppVolume[1], SegInputData List[[13]]$OppVolume[3], SegInputDataList[[13]]$SBVolume[2], SegInputDataList [[13]]$SBVolume[1], SegInputDataList[[13]]$SBVolume[3])

## Demand Flow Rate = 720.0 veh/h
## Heavy Vehicle Adjustment Factor = 0.952 veh/h
## Demand Flow Rate = 663.2 pce/h
## Eastbound Circulating Flow Rate = 414.5 pce/h
## Eastbound Entry Lane Capacity = 904.2 pce/h
## Eastbound v/c Ratio = 0.880
## Eastbound Control Delay = 30.4 s/veh
## LOS = D
## LOS numeric value = 3.54212

SegResultsDataList[[13]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[13]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = A djustedLength[13]/((ReturnedResults[1]/SecondsPerHour)+(AdjustedLength[13]/(S egInputDataList[[13]]$PostedSpeedLimit*1.1))), "Segment Posted Speed Limit (m i/h)" = SegInputDataList[[13]]$PostedSpeedLimit, "Segment Length (mi)" = SegI nputDataList[[13]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInp utDataList[[13]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[ 13]]$NumberofLanes, "LOSNumber" = ReturnedResults[2])

Segment 14: Two-Lane Highway, Passing Zone

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[14]]$SegmentType, SegInpu tDataList[[14]]$DirVolume, SegInputDataList[[14]]$OppVolume, SegInputDataList [[14]]$PeakHourFactor, SegInputDataList[[14]]$PercentHeavyVehicles, SegInputD ataList[[14]]$PostedSpeedLimit, SegInputDataList[[14]]$SegmentLengthMi, SegIn putDataList[[14]]$AccessPointDensity, SegInputDataList[[14]]$LaneWidth, SegIn putDataList[[14]]$ShoulderWidth, SegInputDataList[[14]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 631.6 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 2 mi
## Free-Flow Speed = 62.5 mi/h
## m = 3.800
## p = 0.489

Page 144
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## Average Speed = 59.7 mi/h
## Percent Followers at Capacity = 84.70 %
## Percent Followers at 25% Capacity = 46.86 %
## PF_m = -1.237
## PF_p = 0.786
## Percent Followers = 57.8 %
## Follower Density = 6.106 followers/mi/ln
## LOS is C
## LOS numeric value = 2.526593

SegResultsDataList[[14]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[14]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[14]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[14]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[14]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

Segment 15: All-Way-Stop-Controlled Intersection

ReturnedResults <- vector(length = 2)

ReturnedResults <- AWSCMainFunction(SegInputDataList[[15]]$PeakHourFactor, Se gInputDataList[[15]]$DirVolume[2], SegInputDataList[[15]]$DirVolume[1], SegIn putDataList[[15]]$DirVolume[3], SegInputDataList[[15]]$NBVolume[2], SegInputD ataList[[15]]$NBVolume[1], SegInputDataList[[15]]$NBVolume[3], SegInputDataLi st[[15]]$OppVolume[2], SegInputDataList[[15]]$OppVolume[1], SegInputDataList[ [15]]$OppVolume[3], SegInputDataList[[15]]$SBVolume[2], SegInputDataList[[15] ]$SBVolume[1], SegInputDataList[[15]]$SBVolume[3], SegInputDataList[[15]]$Bas eSatHeadway, SegInputDataList[[15]]$Convergence, SegInputDataList[[15]]$Conve rgenceCriteria, SegInputDataList[[15]]$DepartureHeadwayLast, SegInputDataList [[15]]$PercentHeavyVehicles[1], SegInputDataList[[15]]$PercentHeavyVehicles[2 ], SegInputDataList[[15]]$PercentHeavyVehicles[3], SegInputDataList[[15]]$Per centHeavyVehicles[4], SegInputDataList[[15]]$MoveUpTime14)

## Eastbound Total Volume = 600.0 veh/h
## Eastbound Adjusted Headway = 0.0310 s
## Degree of Utilization = 0.972
## Eastbound Departure Headway = 5.5 s
## Eastbound Control Delay = 51.9 s
## LOS = F
## LOS numeric value = 5

SegResultsDataList[[15]] <- list("Segment Free Flow Speed (mi/h)" = SegInputD ataList[[15]]$PostedSpeedLimit*1.1, "Segment Average Travel Speed (mi/h)" = A djustedLength[15]/((ReturnedResults[1]/SecondsPerHour)+(AdjustedLength[15]/(S egInputDataList[[15]]$PostedSpeedLimit*1.1))), "Segment Posted Speed Limit (m i/h)" = SegInputDataList[[15]]$PostedSpeedLimit, "Segment Length (mi)" = SegI nputDataList[[15]]$SegmentLengthFt/FeetInMiles, "Segment Percent HV" = SegInp utDataList[[15]]$PercentHeavyVehicles, "Number of Lanes" = SegInputDataList[[ 15]]$NumberofLanes, "LOSNumber" = ReturnedResults[2])

Segment 16: Two-Lane Highway, Passing Constrained

ReturnedResults <- vector(length = 7)

ReturnedResults <- TwoLaneMainFcn(SegInputDataList[[16]]$SegmentType, SegInpu tDataList[[16]]$DirVolume, SegInputDataList[[16]]$OppVolume, SegInputDataList [[16]]$PeakHourFactor, SegInputDataList[[16]]$PercentHeavyVehicles, SegInputD ataList[[16]]$PostedSpeedLimit, SegInputDataList[[16]]$SegmentLengthMi, SegIn putDataList[[16]]$AccessPointDensity, SegInputDataList[[16]]$LaneWidth, SegIn putDataList[[16]]$ShoulderWidth, SegInputDataList[[16]]$VertAlignmentClass, U pstreamSegResults, IsPassingLaneUpStream, 0, 0, 0)

## The peak 15-min flow rate = 684.2 veh/h
## BFFS = 62.7 mi/h
## a = 0.033
## Lane and Shoulder Adjustment = 0.0 mi/h
## Access Point Adjustment = 0.0 mi/h
## Minimum Segment Length = 0.25 mi, Maximum Segment Length = 3 mi
## Free-Flow Speed = 62.5 mi/h
## m = 3.964
## p = 0.417

Page 145
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

## Average Speed = 59.4 mi/h
## Percent Followers at Capacity = 85.11 %
## Percent Followers at 25% Capacity = 48.39 %
## PF_m = -1.269
## PF_p = 0.763
## Percent Followers = 61.3 %
## Follower Density = 7.067 followers/mi/ln
## LOS is C
## LOS numeric value = 2.766835

SegResultsDataList[[16]] <- list("Segment Free Flow Speed (mi/h)" = ReturnedR esults[1], "Segment Average Travel Speed (mi/h)" = ReturnedResults[2], "Segme nt Posted Speed Limit (mi/h)" = SegInputDataList[[16]]$PostedSpeedLimit, "Seg ment Length (mi)" = SegInputDataList[[16]]$SegmentLengthFt/FeetInMiles, "Segm ent Percent HV" = SegInputDataList[[16]]$PercentHeavyVehicles, "Number of Lan es" = SegInputDataList[[16]]$NumberofLanes, "LOSNumber" = ReturnedResults[6])

13.6 Facility Calculations

13.6.1 Posted Speed Travel Time (s)

T T P S L = L e n g t h S P S L

PostedTravelTimeSec <- vector()

PostedTotalTravTime <- 0

for(i in 1:NumSegments){

PostedTravelTimeSec[i] <- AdjustedLength[i]/SegResultsDataList[[i]]$`Segmen t Posted Speed Limit (mi/h)` * SecondsPerHour

PostedTotalTravTime <- PostedTotalTravTime+PostedTravelTimeSec[i]

}

cat("Posted speed travel time (s) =", format(round(PostedTotalTravTime, 1), n small=1))

## Posted speed travel time (s) = 1212.6

13.6.2 Free-Flow Travel Time (s)

T T F F S = L e n g t h S F F S

FFTravelTimeSec <- vector()

TotalFFTravTime <- 0

for(i in 1:NumSegments){

FFTravelTimeSec[i] <- AdjustedLength[i]/SegResultsDataList[[i]]$`Segment Fr ee Flow Speed (mi/h)` * SecondsPerHour

TotalFFTravTime <- TotalFFTravTime+FFTravelTimeSec[i]

}

cat("Free-flow travel time (s) =", format(round(TotalFFTravTime, 1), nsmall=1

))

## Free-flow travel time (s) = 1095.1

13.6.3 Average Travel Time (s)

T T A v g = L e n g t h S A v g

AvgTravelTimeSec <- vector()

TotalAvgTravTime <- 0

for(i in 1:NumSegments){

AvgTravelTimeSec[i] <- (AdjustedLength[i])/SegResultsDataList[[i]]$`Segment

Page 146
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

Average Travel Speed (mi/h)` * SecondsPerHour

TotalAvgTravTime <- TotalAvgTravTime+AvgTravelTimeSec[i]

}

cat("Average travel time (s) =", format(round(TotalAvgTravTime, 1), nsmall=1)

)

## Average travel time (s) = 1273.2

13.6.4 Travel Time Segment Weights

TravelTimeWeight <- vector()

WeightingSum <- 0

for(i in 1:NumSegments){

TravelTimeWeight[i] <- AvgTravelTimeSec[i]/TotalAvgTravTime

WeightingSum <- WeightingSum+TravelTimeWeight[i]

}

print(TravelTimeWeight)

## [1] 0.04792414 0.04727662 0.05403695 0.03002672 0.04615003 0.05949174
## [7] 0.06728744 0.05068009 0.09220284 0.13967276 0.05553678 0.03505678
## [13] 0.05191117 0.08113675 0.07888820 0.06272100

cat("WeightingSum =", format(round(WeightingSum, 2), nsmall=2))

## WeightingSum = 1.00

13.6.5 Adjusted Demand Volumes

DirDemandVol <- 0

DirDemandVolAdj <- vector()

for(i in 1:NumSegments){

if(i==13 || i==15){ #Roundabout and AWSC intersections include L/T/R volume s in array

DirDemandVol <- SegInputDataList[[i]]$DirVolume[1] + SegInputDataList[[i] ]$DirVolume[2] + SegInputDataList[[i]]$DirVolume[3]

DirDemandVolAdj[i] <- DirDemandVol/SegInputDataList[[i]]$PeakHourFactor } else{

DirDemandVol <- SegInputDataList[[i]]$DirVolume+SegInputDataList[[i]]$Lef tTurnVolume+SegInputDataList[[i]]$RightTurnVolume

DirDemandVolAdj[i] <- DirDemandVol/SegInputDataList[[i]]$PeakHourFactor

}

}

13.6.6 Vehicle Hours Traveled (veh-h)

V H T = i = 1 n ( T T A v g i × V )

VehilceHoursTraveled <- vector()

TotalVHT <- 0

for(i in 1:NumSegments){

VehilceHoursTraveled[i] <- (AvgTravelTimeSec[i]/SecondsPerHour)*DirDemandVo lAdj[i]

TotalVHT <- TotalVHT+VehilceHoursTraveled[i]

#print(VehilceHoursTraveled[i])

}

cat("Vehicle hours traveled (veh-h) =", format(round(TotalVHT, 1), nsmall=1))

## Vehicle hours traveled (veh-h) = 315.6

Page 147
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

13.6.7 Total Delay (veh-h)

V H T = i = 1 n ( ( T T A v g i T T F F S ) × V )

VehilceHoursDelayed <- vector()

TotalVHD <- 0

for(i in 1:NumSegments){

VehilceHoursDelayed[i] <- (AvgTravelTimeSec[i]-FFTravelTimeSec[i])*DirDeman dVolAdj[i]/SecondsPerHour

TotalVHD <- TotalVHD+VehilceHoursDelayed[i]

}

cat("Vehicle hours delayed (veh-h) =", format(round(TotalVHD, 1), nsmall=1))

## Vehicle hours delayed (veh-h) = 41.5

13.6.8 Vehicle Miles Traveled (veh-mi)

V M T = i = 1 n ( V i × L e n g t h i )

VehicleMilesTraveled <- vector()

TotalVMT <- 0

for(i in 1:NumSegments){

VehicleMilesTraveled[i] <- DirDemandVolAdj[i]*AdjustedLength[i]

TotalVMT <- TotalVMT+VehicleMilesTraveled[i]

}

cat("Vehicle miles traveled (veh-mi) =", format(round(TotalVMT, 1), nsmall=1)

)

## Vehicle miles traveled (veh-mi) = 15473.0

13.6.9 Space Mean Speed (mi/h)

S A v g = V M T V H T

SpaceMeanSpeed <- TotalVMT/TotalVHT

cat("Average speed (mi/h) =", format(round(SpaceMeanSpeed, 1), nsmall=1))

## Average speed (mi/h) = 49.0

13.6.10 FFS Delay (s/veh)

DelayFFS = TTAvgTTFFS

AvgFFSDelay <- vector()

TotalFFSDelay <- 0

for (i in 1:NumSegments){

AvgFFSDelay[i] <- AvgTravelTimeSec[i]-FFTravelTimeSec[i]

TotalFFSDelay <- TotalFFSDelay+AvgFFSDelay[i]

}

cat("Average FFS delay (s/veh) =", format(round(TotalFFSDelay, 1), nsmall=1))

## Average FFS delay (s/veh) = 178.1

Page 148
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

13.6.11 Threshold Delay (s/veh)

DelayThreshold = TTAvgTTPSL

AvgThreshDelay <- vector()

TotalThreshDelay <- 0

for (i in 1:NumSegments){

AvgThreshDelay[i] <- max(AvgTravelTimeSec[i]-PostedTravelTimeSec[i],0)

TotalThreshDelay <- TotalThreshDelay+AvgThreshDelay[i]

}

cat("Average threshold delay (s/veh) =", format(round(TotalThreshDelay, 1), n small=1))

## Average threshold delay (s/veh) = 134.5

SegLOSWeighted <- vector()

FacilityLOSScore <- 0

for(i in 1:16){

SegLOSWeighted[i] <- SegResultsDataList[[i]]$LOSNumber*TravelTimeWeight[i]

FacilityLOSScore <- FacilityLOSScore+SegLOSWeighted[i]

}

cat("LOS Score, weighted by travel time =", format(round(FacilityLOSScore, 3) , nsmall=3))

## LOS Score, weighted by travel time = 2.204

13.6.12 LOS Constancy

LOSconst <- 0

CumulativeLOSscoreDiff <- 0

PrevLOSscore <- SegResultsDataList[[1]]$LOSNumber

for (i in 2:NumSegments){

CumulativeLOSscoreDiff <- CumulativeLOSscoreDiff + abs(SegResultsDataList[[ i]]$LOSNumber-PrevLOSscore)

PrevLOSscore <- SegResultsDataList[[i]]$LOSNumber

}

LOSconst <- CumulativeLOSscoreDiff/(NumSegments-1)

cat("LOS Constancy =", format(round(LOSconst, 3), nsmall=3))

## LOS Constancy = 1.051

13.6.13 LOS Adjustment Factor

LOSadjFact <- 0

if(LOSconst<=0.2){

LOSadjFact <- 1.0

}else if(LOSconst>=1.2){

LOSadjFact <- 1.2

}else{

LOSadjFact <- 0.96+0.2*LOSconst

}

cat("LOS Adjustment Factor =", format(round(LOSadjFact, 3), nsmall=3))

## LOS Adjustment Factor = 1.170

13.6.14 Final LOS Score

cat("LOS Score Adjusted =", format(round(FacilityLOSScore*LOSadjFact, 3), nsm all=3))

## LOS Score Adjusted = 2.579

Page 149
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.

13.6.15 Variable Definitions

Length = segment length (mi).
SPSL = posted speed limit (mi/h).
SFFS = free-flow speed (mi/h).
SAvg = average speed (mi/h).
TTPSL = posted speed limit travel time (s).
TTFFS = free-flow travel time (s).
TTAvg = average travel time (s).
V = traffic demand volume (veh/h).
VHT = vehicle hours traveled (veh-h).
VHD = vehicle hours delayed (veh-h).
VMT = vehicle miles traveled (veh-mi).
DelayFFS = free-flow speed delay (s/veh).
DelayThreshold = threshold delay (s/veh).
Page 122
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 122
Page 123
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 123
Page 124
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 124
Page 125
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 125
Page 126
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 126
Page 127
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 127
Page 128
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 128
Page 129
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 129
Page 130
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 130
Page 131
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 131
Page 132
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 132
Page 133
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 133
Page 134
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 134
Page 135
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 135
Page 136
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 136
Page 137
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 137
Page 138
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 138
Page 139
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 139
Page 140
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 140
Page 141
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 141
Page 142
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 142
Page 143
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 143
Page 144
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 144
Page 145
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 145
Page 146
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 146
Page 147
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 147
Page 148
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 148
Page 149
Suggested Citation: "13 Rural Highway Example Calculations." National Academies of Sciences, Engineering, and Medicine. 2024. Reliability and Quality of Service Evaluation Methods for Rural Highways: A Guide. Washington, DC: The National Academies Press. doi: 10.17226/27895.
Page 149
Next Chapter: 14 Computational Engine Overview
Subscribe to Email from the National Academies
Keep up with all of the activities, publications, and events by subscribing to free updates by email.