U.S. Department of 

Transportation 

Federal Railroad 

Administration

Development of an Adaptive Predictive Braking 

Enforcement Algorithm 

DOT/FRA/ORD-09/13 Final Report

 June 2009 

 

 

Office of Research 

and Development 

Washington, DC 20590 
NOTICE 

This document is disseminated under the sponsorship of the 

Department of Transportation in the interest of information 

exchange. The United States Government assumes no liability for 

its contents or use thereof. 

NOTICE 

The United States Government does not endorse products or 

manufacturers. Trade or manufacturers’ names appear herein 

solely because they are considered essential to the objective of this 

report. 

 
i

REPORT DOCUMENTATION PAGE Form Approved 

 OMB No. 0704-0188

Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503. 

1. AGENCY USE ONLY (Leave blank) 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED

June 2009 

4. TITLE AND SUBTITLE 5. FUNDING NUMBERS 

Development of an Adaptive Predictive Braking Enforcement Algorithm DTFR53-00-C-00012 

Task Order 230 6. AUTHOR(S)

Joseph Brosseau, Bill Moore Ede 

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION 

Transportation Technology Center, Inc. REPORT NUMBER

P.O. Box 11130 

Pueblo, CO 81001 

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/MONITORING 

U.S. Department of Transportation AGENCY REPORT NUMBER

Federal Railroad Administration 

Office of Research and Development FRA/DOT/ORD-9/13 Washington, DC 20590 

11. SUPPLEMENTARY NOTES 

COTR: 

12a. DISTRIBUTION/AVAILABILITY STATEMENT 12b. DISTRIBUTION CODE

This document is available to the public through the FRA Internet site at www.fra.gov 

13. ABSTRACT (Maximum 200 words)

Predictive enforcement braking is one of the key concepts behind positive train control (PTC) systems. If a train is on the verge of overrunning a 

target stopping location, such as an authority limit, the system enforces a brake application to stop the train safely short of the limit. The concept 

depends on an algorithm that can predict the stopping distance of the train. Errors in stopping distance prediction can result in target overruns, 

target underruns, or unnecessary enforcements, which can negatively impact railroad safety or operations. Due to the uncertainty of many 

parameters that affect stopping distance, PTC enforcement algorithms have traditionally used a target offset to ensure that no trains overshoot the 

target. But this can force the algorithm to be overly conservative, resulting in unnecessary or early warnings and enforcements. 

Federal Railroad Administration (FRA) contracted Transportation Technology Center, Inc. (TTCI) to research proof-of-concept techniques for 

improving the accuracy of PTC enforcement algorithms by adapting the algorithm to the characteristics of each specific train. The project 

included a parametric study of some of the key variables that can affect stopping distance, followed by the development and testing of the 

adaptive functions.

14. SUBJECT TERMS 15. NUMBER OF PAGES

Positive train control, Adaptive Enforcement Algorithm, North American Joint Positive Train 179 

Control program, Train Operations and Energy Simulator (TOESTM), Test Controller/Logger 16. PRICE CODE

(TCL), simulation 

17. SECURITY CLASSIFICATION 18. SECURITY CLASSIFICATION 19. SECURITY CLASSIFICATION 20. LIMITATION OF ABSTRACT

 OF REPORT OF THIS PAGE OF ABSTRACT

 Unclassified Unclassified Unclassified

SN 7540-01-280-5500 Standard Form 298 (Rev. 2-89) 

Prescribed by ANSI Std. 239-18 

298-102 

N
ii 

METRIC/ENGLISH CONVERSION FACTORS 

ENGLISH TO METRIC METRIC TO ENGLISH

LENGTH (APPROXIMATE) LENGTH (APPROXIMATE) 

1 inch (in) = 2.5 centimeters (cm) 1 millimeter (mm) = 0.04 inch (in) 

1 foot (ft) = 30 centimeters (cm) 1 centimeter (cm) = 0.4 inch (in) 

1 yard (yd) = 0.9 meter (m) 1 meter (m) = 3.3 feet (ft) 

1 mile (mi) = 1.6 kilometers (km) 1 meter (m) = 1.1 yards (yd) 

 1 kilometer (km) = 0.6 mile (mi)

AREA (APPROXIMATE) AREA (APPROXIMATE) 

1 square inch (sq in, in2) = 6.5 square centimeters (cm2) 1 square centimeter (cm2) = 0.16 square inch (sq in, in2) 

1 square foot (sq ft, ft2) = 0.09 square meter (m2) 1 square meter (m2) = 1.2 square yards (sq yd, yd2) 

1 square yard (sq yd, yd2) = 0.8 square meter (m2) 1 square kilometer (km2) = 0.4 square mile (sq mi, mi2) 

1 square mile (sq mi, mi2) = 2.6 square kilometers (km2) 10,000 square meters (m2) = 1 hectare (ha) = 2.5 acres 

1 acre = 0.4 hectare (he) = 4,000 square meters (m2) 

MASS - WEIGHT (APPROXIMATE) MASS - WEIGHT (APPROXIMATE) 

1 ounce (oz) = 28 grams (gm) 1 gram (gm) = 0.036 ounce (oz) 

1 pound (lb) = 0.45 kilogram (kg) 1 kilogram (kg) = 2.2 pounds (lb) 

1 short ton = 2,000 pounds 

(lb) 

= 0.9 tonne (t) 1 tonne (t) =

=

1,000 kilograms (kg) 

1.1 short tons

VOLUME (APPROXIMATE) VOLUME (APPROXIMATE) 

1 teaspoon (tsp) = 5 milliliters (ml) 1 milliliter (ml) = 0.03 fluid ounce (fl oz) 

1 tablespoon (tbsp) = 15 milliliters (ml) 1 liter (l) = 2.1 pints (pt) 

1 fluid ounce (fl oz) = 30 milliliters (ml) 1 liter (l) = 1.06 quarts (qt) 

1 cup (c) = 0.24 liter (l) 1 liter (l) = 0.26 gallon (gal) 

1 pint (pt) = 0.47 liter (l) 

 1 quart (qt) = 0.96 liter (l) 

1 gallon (gal) = 3.8 liters (l) 

1 cubic foot (cu ft, ft3) = 0.03 cubic meter (m3) 1 cubic meter (m3) = 36 cubic feet (cu ft, ft3) 

1 cubic yard (cu yd, yd3) = 0.76 cubic meter (m3) 1 cubic meter (m3) = 1.3 cubic yards (cu yd, yd3)

TEMPERATURE (EXACT) TEMPERATURE (EXACT) 

[(x-32)(5/9)] F = y C [(9/5) y + 32] C = x F

QUICK INCH - CENTIMETER LENGTH CONVERSION

0 1 2 34

Inches

Centimeters 01 3 2 6 4 5 7 1098 12

QUICK FAHRENHEIT - CELSIUS TEMPERATURE CONVERSION

 -40° -22° -4° 14° 32° 50° 68° 86° 104° 122° 140° 158° 176° 194° 212°

 

°F

 °C -40° -30° -20° -10° 0° 10° 20° 30° 40° 50° 60° 70° 80° 90° 100°

For more exact and or other conversion factors, see NIST Miscellaneous Publication 286, Units of Weights and 

Measures. Price $2.50 SD Catalog No. C13 10286 Updated 6/17/98

5

11 13
iii 

Contents 

Executive Summary........................................................................................................................ 1 

1. Introduction ................................................................................................................. 5 

1.1 Background ................................................................................................................. 5 

1.2 Objectives.................................................................................................................... 7 

1.3 Overall approach ......................................................................................................... 7 

1.4 Scope ........................................................................................................................... 8 

1.5 Organization of the Report .......................................................................................... 9 

2. Simulation Test Environment Development ............................................................. 11 

2.1 Test Controller and Logger ....................................................................................... 11 

2.2 Train Operations and Energy Simulator.................................................................... 14 

2.3 TCL and Enforcement Algorithm Interface .............................................................. 14 

3. Parametric Study of Variables Affecting Stopping Distance.................................... 17 

3.1 Parametric Study Objectives ..................................................................................... 17 

3.2 Parametric Study Scope............................................................................................. 17 

3.3 Parametric Study Methodology................................................................................. 17 

3.4 Parametric Study Results and Conclusions ............................................................... 23 

4. Base Case Enforcement Algorithm Development and Testing................................. 31 

4.1 Base Case Enforcement Algorithm Selection and Description................................. 31 

4.2 Implementation of the Base Case Enforcement Algorithm....................................... 33 

4.3 Base Case Enforcement Algorithm Testing .............................................................. 34 

5. Propagation Time Adaptive Algorithm Development and Testing........................... 43 

5.1 Development of the Propagation Time Adaptive Algorithm .................................... 44 

5.2 Propagation Time Adaptive Algorithm Definition ................................................... 47 

5.3 Propagation Time Adaptive Algorithm Testing........................................................ 48 

5.4 Operational Impact of Propagation Time Adaptive Enforcement Algorithm........... 55 

6. Train Weight Adaptive Algorithm Development and Testing.................................. 56 

6.1 Development of the Train Weight Adaptive Algorithm ........................................... 56 

6.2 Train Weight Adaptive Algorithm Definition........................................................... 59 

6.3 Train Weight Adaptive Algorithm Testing ............................................................... 62 

6.4 Operational Impact of the Train Weight Adaptive Enforcement Algorithm ............ 67 

7. Braking Efficiency Adaptive Algorithm Development and Testing......................... 68 

7.1 Development of the Braking Efficiency Adaptive Algorithm .................................. 68 

7.2 Braking Efficiency Adaptive Algorithm Definition.................................................. 71 

7.3 Braking Efficiency Adaptive Algorithm Testing ...................................................... 74 

7.4 Operational Impact of the Braking Efficiency Adaptive Enforcement Algorithm ... 77 

8. Conclusions ............................................................................................................... 78 

9. References ................................................................................................................. 80 

Appendix A. Test Controller/Logger – Enforcement Algorithm 

Communications Specification.................................................................................. 79 

Appendix B. Parametric Study Simulation Test Matrix .............................................................. 87 
iv 

Appendix C. Parametric Study Probability Density Curves...................................................... 107 

Appendix D. Parametric Study Standard Deviation Charts....................................................... 133 

Appendix E. Enforcement Algorithm Evaluation Simulation Test Matrix ............................... 139 

Appendix F. Enforcement Algorithm Evaluation Simulation Probability Density Curves....... 141 

Appendix G. Simulation Test Results for Enforcement Algorithm Evaluation ........................ 163 

Appendix H. Field Test Pictures................................................................................................ 175 

Abbreviations and Acronyms ..................................................................................................... 179 
v 

Figures 

Figure 1. Distribution of Stopping Locations for each of the Enforcement Algorithms Developed 

for a 75-car Loaded Unit Freight Train traveling 60 mph on Flat Grade ...................... 2 

Figure 2. Typical PTC Enforcement Braking Objectives.............................................................. 6 

Figure 3. Stopping Distance Distribution Generated from Simulations Performed as Part of the 

NAJPTC/IDOT Project for Freight Train Traveling 60 mph......................................... 7 

Figure 4. Overall Project Plan........................................................................................................ 8 

Figure 5. Block Diagram of TCL and TOESTM Running in Stop Distance Mode ...................... 12 

Figure 6. Block Diagram of TCL, TOES, TM and an Enforcement Algorithm Running in 

Enforcement Algorithm Evaluation Mode................................................................... 13 

Figure 7. Block Diagram of Communications Between an Enforcement Algorithm and the 

Simulation Test Environment ...................................................................................... 15 

Figure 8. Distribution of Vehicle Weights for Loaded 100-ton Cars Traveling Over 

Three WILD Sites Over a One-year Period ................................................................. 20 

Figure 9. Distribution of Vehicle Weights for Loaded 110-ton Cars Traveling Over a 

WILD Site Over a One-year Period............................................................................. 21 

Figure 10. Stopping Distance Distribution for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Brake Valve Type Varied .......................... 23 

Figure 11. Stopping Distance Distributions for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Various Parameters Varied ........................ 24 

Figure 12. Standard Deviations of Stopping Distance for a Long, Loaded, Mixed Freight 

Train for Various Test Scenarios............................................................................... 25 

Figure 13. Standard Deviations of Stopping Distance for a Short, Loaded Mixed Freight 

Train for Various Test Scenarios............................................................................... 26 

Figure 14. Histogram of Stopping Distances for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Piston Stroke Varied .................................. 27 

Figure 15. Comparison of Distribution of Stopping Distances against Histogram ..................... 28 

Figure 16. Comparison of Distribution of Stopping Distances Calculated Without 

Best-case and Worst-case to Distribution Calculated With Best-case and 

Worst-case and Histogram......................................................................................... 29 

Figure 17. Braking Force vs. Time as Modeled by the Base Case Enforcement Algorithm....... 32 

Figure 18. Field Test Configuration............................................................................................. 36 

Figure 19. Stopping Location Probability Density Curve for a 75-car Loaded Unit 

Freight Train Traveling 60 mph on Flat Grade ......................................................... 40 

Figure 20. Comparison of Brake Pipe Propagation Time Determined by the NAJPTC/IDOT 

Algorithm and the TOESTM Model............................................................................ 44 
vi 

Figure 21. Brake Pipe and Brake Cylinder Pressures for a 40-car Unit Freight Train 

Generated by the TOESTM Model.............................................................................. 45 

Figure 22. Brake Pipe Pressure during Brake Applications for a 40-car Unit Train 

Modeled by TOESTM ................................................................................................. 46 

Figure 23. Brake Pipe Pressure during Brake Applications for a 40-car Unit Train 

from Field Tests......................................................................................................... 47 

Figure 24. Stopping Location Probability Density Curves for 75-car Loaded Unit 

Freight Train Traveling 60 mph on Flat Grade ......................................................... 49 

Figure 25. EOT Data from 40-car Tests from September 2008 and October 2008 

Field Test Periods ...................................................................................................... 53 

Figure 26. EOT Data from 40-car Tests from February 2009 Field Test Period......................... 55 

Figure 27. Speed and Acceleration for a 40-car Loaded Unit Train Modeled by TOESTM ........ 58 

Figure 28. Stopping Location Probability Density Curves for a 75-car Unit Freight Train 

Traveling 60 mph on Flat Grade................................................................................ 63 

Figure 29. Brake Shoe Force as a Function of Brake Cylinder Pressure..................................... 70 

Figure 30. Stopping Location Probability Density Curves for a 75-car Loaded Unit 

Freight Train Traveling 60 mph on Flat Grade ......................................................... 75 
vii 

Tables 

Table 1. Parameters That Can Potentially Affect Train Stopping Distance ................................ 18 

Table 2. Parametric Study Test Variables.................................................................................... 19 

Table 3. Test Variables for Enforcement Algorithm Simulation Testing.................................... 35 

Table 4. Field Test Consists......................................................................................................... 37 

Table 5. Test Variables for Field Testing .................................................................................... 38 

Table 6. Original Field Test Scenarios ........................................................................................ 38 

Table 7. Final Field Test Scenarios.............................................................................................. 39 

Table 8. Base Case Algorithm Field Test Results from July 2008 Field Test............................. 42 

Table 9. Estimated and Actual Propagation Times from September 2008 and 

October 2008 Field Test Periods.................................................................................. 51 

Table 10. Propagation Time Algorithm Field Test Results from October 2008 Field Test ........ 51 

Table 11. Base Case Algorithm Field Test Results from October 2008 Field Test..................... 51 

Table 12. Estimated and Actual Propagation Times from February 2009 Field Test Period...... 53 

Table 13. Actual and Estimated Train Weights for February 2009 Field Test Period ................ 65 

Table 14. Train Weight Algorithm Field Test Results from February 2009 Field Test .............. 66 

Table 15. Propagation Time Algorithm Field Test Results from February 2009 Field Test....... 66 

Table 16. Base Case Algorithm Field Test Results from February 2009 Field Test................... 66 

Table 17. Braking Efficiency Algorithm Field Test Results from February 2009 Field Test..... 76 

Table 18. Train Weight Algorithm Field Test Results from February 2009 Field Test .............. 76 

Table 19. Propagation Time Algorithm Field Test Results from February 2009 Field Test....... 76 

Table 20. Base Case Algorithm Field Test Results from February 2009 Field Test................... 77 
viii 

(blank page) 
1 

Executive Summary 

Predictive enforcement braking is one of the key concepts behind positive train control (PTC) 

systems. If a train is on the verge of overrunning a target stopping location, such as an authority 

limit, the system enforces a brake application to stop the train safely short of the limit. The 

concept depends on an algorithm that can predict the stopping distance of the train. Errors in 

stopping distance prediction can result in target overruns, target underruns, or unnecessary 

enforcements, which can negatively impact railroad safety or operations. Due to the uncertainty 

of many parameters that affect stopping distance, PTC enforcement algorithms have traditionally 

used a target offset as a margin of safety to ensure that no trains overshoot the target. But this 

can force the algorithm to be overly conservative, resulting in unnecessary or early warnings and 

enforcements. 

The Federal Railroad Administration (FRA) contracted the Transportation Technology Center, 

Inc. (TTCI) to research proof-of-concept techniques for improving the accuracy of PTC 

enforcement algorithms by adapting the algorithm to the characteristics of each specific train. 

The project included a parametric study of some of the key variables that can affect stopping 

distance, followed by the development and testing of the adaptive functions. 

A simulation test environment was developed (funded internally by TTCI) to allow for stop 

distance testing and enforcement algorithm evaluation of a large number of test scenarios 

without the time and expense of field testing. The simulation test environment included 

modifications to TTCI’s Train Operations and Energy Simulator (TOESTM), as well as the 

development of a test controller and logger (TCL) application to generate and run the batches of 

simulations and to provide a communications interface between TOES and the enforcement 

algorithm under evaluation. 

During the parametric study, the simulation test environment was used to evaluate the sensitivity 

of stopping distance with respect to several different parameters for several test scenarios. Each 

parameter was allowed to vary individually using a Monte Carlo method, while the others were 

held constant, for each test scenario. The parametric study showed the relative impact of each of 

the parameters in relation to the other parameters for each test scenario. Plots of the resulting 

stopping distance distributions for each test scenario can be found in the report appendix. 

Analysis of the plots revealed that the parameter with the largest effect on stopping distance is 

dependent on the train type and the operating scenario. The results of the parametric study also 

illustrate how using worst-case assumptions can affect the performance of an enforcement 

algorithm. 

The adaptive algorithm development followed a progressively staged approach. In the first 

stage, a base case enforcement algorithm was implemented, and in each of the following stages a 

new adaptive function was developed and integrated with the algorithm and tested. The adaptive 

functions developed included a propagation time, a train weight, and a braking efficiency 

adaptive function. 

The propagation time adaptive algorithm was designed to measure the brake propagation time 

when a brake test is performed. This measurement was then used to determine the propagation 

time for a full-service brake application, which replaces the value assumed in the base case 

algorithm. 
2 

The concept behind the train weight adaptive algorithm is that acceleration and forces acting on a 

train can be estimated and used to solve for the train weight, using Newton’s second law of 

motion. This weight replaces the assumed weight used by the base case algorithm. 

The braking efficiency adaptive algorithm is based on the concept of estimating the deceleration 

and forces acting on a train during a service brake application and using them in Newton’s 

second law to solve for the brake force with the known service brake pipe pressure reduction. 

This is used to estimate the brake force for a full-service application, which replaces the value 

assumed by the base case algorithm. 

Each stage of development included evaluation of the enforcement algorithm with the addition of 

the new adaptive function in the simulation environment as well as on an actual train and was 

tested on track at the Transportation Technology Center (TTC). In each of the test environments, 

the algorithms were evaluated in several test scenarios representing a variety of trains, speeds, 

and track profiles. 

Figure 1 shows an example of the results of the simulation testing evaluation of the enforcement 

algorithms developed for a sample operating scenario. The figure shows the distribution of 

stopping locations for each of the four stages of enforcement algorithm development for a 75-car 

loaded unit freight train traveling 60 mph on flat grade, with a target stopping location of 40,000 

ft. 

0

0.0005

0.001

0.0015

0.002

0.0025

35000 35500 36000 36500 37000 37500 38000 38500 39000 39500 40000

Stopping Position (ft)

Probability Density

Stage 1 Stage 2 Stage 3 Stage 4

Figure 1. Distribution of Stopping Locations for each of the Enforcement Algorithms 

Developed for a 75-car Loaded Unit Freight Train traveling 60 mph on Flat Grade 
3 

Figure 1 shows that with each added adaptive feature, the stopping location distribution was 

tighter and the mean stopping location was closer to the target. This indicates a general positive 

effect on the performance of the enforcement algorithm for each of the adaptive enforcement 

algorithm developments. 

The results of the evaluation of the algorithms developed indicated a general improvement in the 

stopping distance prediction with the addition of the adaptive functions. However, potential 

improvements for each of the adaptive functions were also identified individually, as detailed in 

the report. The project concluded that the concept of adapting an enforcement algorithm to the 

characteristics of a specific train was proven feasible, and that it can have an appreciable positive 

effect on the performance of the enforcement algorithm. 

 

5

1. Introduction 

Enforcement braking is one of the essential underlying concepts of positive train control (PTC) 

technology, as it is the mechanism for preventing violation of limits, such as authorities or speed 

restrictions, in the event of human failure. For enforcement braking to be practical and effective, 

it must prevent a train from violating any limits, but must also be transparent to the locomotive 

crew when the train is being handled according to normal operating practices. Testing and use of 

prototype PTC systems has revealed that current enforcement algorithms have difficulty meeting 

these objectives. The Federal Railroad Administration (FRA) contracted the Transportation 

Technology Center, Inc. (TTCI) to research techniques for improving the accuracy of PTC 

enforcement algorithms. 

1.1 Background 

PTC is an emerging train control technology intended to enhance safety and potentially improve 

train performance and plant capacity. The underlying concept of the technology is that 

movement authorities are transmitted digitally to the controlling locomotive of each train. The 

locomotive tracks the location of the train with respect to its authority and speed limits and 

automatically applies brakes to prevent the train from violating any limit in the event of human 

failure. This is done by implementing a predictive enforcement braking algorithm that regularly 

predicts the stopping distance of the train, given the current conditions, and applies the brakes if 

the predicted stopping distance indicates that a limit will be violated if a penalty brake 

application is not initiated. Enforcement braking is an event of last recourse when the 

locomotive engineer has failed to take adequate action. A full-service penalty brake application 

is used for enforcement in current PTC systems. 

A typical requirement for enforcement braking, per the North American Joint Positive Train 

Control (NAJPTC)/Illinois Department of Transportation (IDOT) project,1

 is that the train must 

stop short of an authority limit with a 0.999995 certainty (the safety limit). Additionally, the 

train must stop within a distance not exceeding the greater of 500 feet (ft) or 15 percent of the 

initial distance to the enforced limit at the time predictive enforcement braking was invoked, 

with 90 percent probability when initial train speed is less than or equal to 30 mph; or within a 

distance not exceeding the greater of 1,000 ft or 15 percent of the initial distance to the enforced 

limit at the time predictive enforcement braking was invoked, with 90 percent probability, when 

initial train speed is greater than 30 mph (the performance limit). Figure 2 illustrates these 

objectives. 
6

Safety Objective

0.0005% probability 

of overshoot 

Performance Objective

5% probability 

of undershoot 

500 ft @ < 30 mph 

1,000 ft @ ≥ 30 mph Target

Distribution of 

Stopping Distances

Figure 2. Typical PTC Enforcement Braking Objectives 

Of the many variables that affect the braking distance, several are indeterminate and some are 

known to a degree but without the assurance required for fail-safe operation. Therefore, when 

assumed values are used, a wide variability can exist between actual braking distance and the 

computed predicted braking distance. Figure 3 shows a typical variance generated from 

computer simulations performed as part of the NAJPTC/IDOT project. In this example, the 

onboard system must establish a conservative target 1,762 ft short of the authority limit (offset 

by 1,762 ft of margin) so that the train achieves at least the 0.999995 certainty of not passing the 

actual target. However, achieving the safety limit results in the majority of the trains stopping 

outside of the performance target. The effect on operations is that the system will typically warn 

the crew and attempt to enforce the train to a stop considerably earlier than the crew would stop 

the train under normal handling, forcing the train crew to start braking sooner than necessary. 
7

Figure 3. Stopping Distance Distribution Generated from Simulations Performed as Part 

of the NAJPTC/IDOT Project for Freight Train Traveling 60 mph 

1.2 Objectives 

The project identified, developed and tested proof-of-concept methods to improve predictive 

enforcement braking algorithms to minimize the target offset required. 

1.3 Overall approach 

The project consisted of eight major tasks, with four tasks executed in a preparatory phase and 

the remaining four in a developmental phase. Figure 4 shows the overall project plan as a block 

diagram of the eight major tasks and associated subtasks. In the preparatory phase, the 

foundation was laid for using train operations and energy simulator (TOESTM) to evaluate any 

enforcement algorithm. Task 1 was the development of a test controller/logger (TCL) 

application to interface the TOESTM model with an enforcement algorithm, and Task 2 modified 

the standard TOESTM software. Both of these tasks were funded internally by TTCI. The 

preparatory phase also included a parametric study of the effect that various train characteristics 

have on stopping distance (Task 3) and writing a specification for the interface between the TCL 

and the enforcement algorithm (Task 4). 

The developmental phase consisted of the progressive development of an enforcement algorithm 

that can adapt to actual train characteristics. The developmental phase of the project was further 

broken into four stages, as Figure 4 shows. In the first stage, the performance of the base case 

enforcement algorithm was selected and evaluated under several test scenarios to define a 

baseline level of performance against which the subsequent adaptive improvements were 

compared (Task 5). Three stages of adaptive algorithm development followed, each building on 

the improvements from the previous stage. These stages included the development of an 

algorithm to measure and correct for the actual brake pipe propagation time (Task 6), actual train 
8

weight (Task 7), and actual braking efficiency (Task 8). In each stage of development, the new 

algorithm was designed and integrated into the algorithm from the previous stage. The new 

algorithm was then evaluated in the same test scenarios as for the base case algorithm using the 

TOESTM model and the software developed in the preparatory phase. Finally, the algorithm was 

tested on a subset of the simulation test scenarios in the field on an actual train. 

Test Controller/Logger 

Development 

TOES 

Modifications

Parametric 

Study 

Stage I: Base Case Enforcement 

Algorithm Development 

Algorithm 

Development

Simulation 

Testing

Field 

Testing

Stage II: Propagation Time Corrective 

Algorithm Development 

Algorithm 

Development 

Simulation 

Testing

Field 

Testing

Stage III: Train Weight Corrective 

Algorithm Development 

Algorithm 

Development 

Simulation 

Testing 

Field 

Testing

Stage IV: Brake Effectiveness Corrective 

Algorithm Development 

Algorithm 

Development 

Simulation 

Testing

Field 

Testing 

TCL/EA Interface 

Specification 

Figure 4. Overall Project Plan 

1.4 Scope 

This project researched the techniques discussed to determine their potential to reduce the target 

offset required without affecting the safety objectives of the enforcement algorithm. If these 

proof-of-concept techniques prove to be successful, a specification for an improved enforcement 

algorithm may be produced for use in both current and future PTC systems. Development of 

such a specification is, however, outside the project scope, and considered to be potential followon work. 

Additionally, this project focused on analyzing and developing techniques for adapting a generic 

enforcement algorithm to the specific characteristics of a given train. Other nonadaptive 

methods have been suggested for improving enforcement algorithms by reducing the target offset 

required, but these are not considered in the scope this effort. 
9

Finally, many types of railroad cars exist, each with significantly different braking 

characteristics. Although all car types may need to be considered in a braking enforcement 

algorithm implemented in a fully functional PTC system, the types of cars used in this proof-ofconcept investigation are limited. The enforcement algorithms were tested using a single unit 

test train for the field tests and a limited number of car types were used for the tests performed in 

a simulation environment. Testing and further developments necessary for car types not 

included in this study are considered to be potential future work. 

1.5 Organization of the Report 

This report is organized into eight sections. Section 1 is an introduction and provides a general 

overview of the background, objectives, approach, and scope of the project. 

Section 2 provides details of the simulation test environment developed for evaluating the effects 

of various braking parameters and enforcement algorithm performance. This includes 

development of the TCL software (Task 1), modifications to the TOESTM software (Task 2), and 

the interface to the enforcement algorithm (Task 4). 

Section 3 focuses on the parametric study of variables that affect train stopping distance (Task 

3). This includes the objectives, processes, and results of the study. 

Sections 4, 5, 6, and 7 discuss the implementation and testing of each stage of the enforcement 

algorithm development (Tasks 5, 6, 7, and 8). The objective, analysis, design, implementation, 

testing and results of each stage are presented within these sections. 

Finally, Section 8 summarizes the results from all stages of the project and provides conclusions 

and recommendations for future work. 

11

2 Simulation Test Environment Development 

Simulating train braking performance with the use of a model can significantly increase the 

number and range of tests that can be performed in a given time without the expense of testing in 

the field. TTCI’s TOESTM model was selected for such testing, because it can accurately model 

the complete brake system and train-level dynamics of any given train to determine the stopping 

distance, given any operating conditions and track profile. The TOESTM model can be used in 

two distinct ways in enforcement algorithm development: 

 To determine the effect of varying different input parameters on train stopping 

distance for a variety of trains and operating scenarios (grades, speeds, etc.) 

 To evaluate the performance of an enforcement algorithm under a variety of operating 

scenarios by simulating a train approaching a target, providing inputs to the 

algorithm, and responding to an enforcement command from the algorithm. 

To execute the number of simulations required efficiently, a front-end application was needed to 

generate the input files and execute the batches of simulations, as well as provide a 

communications interface between the TOESTM model and the enforcement algorithm. The TCL 

application details are described in subsection 2.1. Subsection 2.2 describes the TOESTM model 

and the modifications needed for enforcement algorithm testing, and subsection 2.3 discusses the 

interface between TCL and the enforcement algorithm. 

2.1 Test Controller and Logger 

The first project task was to develop a TCL software application that enables the use of the 

TOESTM model for stopping distance tests and enforcement algorithm evaluation. The TCL can 

operate in one of two modes. In the first mode, the TCL is used to evaluate the effect of varying 

different car characteristic parameters on train stopping distance. In the second mode, the TCL 

is used to evaluate an enforcement algorithm by testing it on a range of possible train consists. 

2.1.1 TCL Stop Distance Test Mode 

The conceptual block diagram shown in Figure 5 illustrates how the TCL controls TOESTM in 

stop distance test mode. In this mode, the user provides the TCL with a nominal train consist, a 

track profile, the desired parameter(s) to vary, the distribution and allowable variance for each of 

the given parameter(s), and the desired number of simulations. The TCL then generates a 

specific train consist for each of the given number of simulations. For the first consist generated, 

the TCL inputs nominal or mean values for each of the given varied parameters for each car. 

Best-case values are input for each car in the second consist generated and worst-case values are 

input for each car in the third consist generated. The TCL generates the remaining consists by 

allowing each of the given parameters to vary within its allowable range for each car in the 

consist. 

Once the specific train consists have been created, the TCL provides the TOESTM model with the 

first train consist, the track profile, the starting location, and the starting speed. The TCL sends 

the command for a full-service brake application followed by the command to continue until the 

train has come to a stop. The model runs with the given information and outputs a stopping 

distance. This process is then repeated for each of the train consists generated by the TCL to 

create a range of stopping distances. 
12

The nominal train consists can be made up of any type of car that is defined within the TOESTM

model. A large number of prebuilt vehicles are in the TOESTM library and custom vehicles can 

also be created. Likewise, custom track can be built for use in the TOESTM model. TCL allows 

for variance of car characteristics that affect braking distance, including brake valve type, brake 

cylinder piston stroke, brake shoe force, and vehicle weight. 

For a given parameter on a given car type, the user determines how the parameter is allowed to 

vary by choosing between a normal (Gaussian) distribution (with a given mean and standard 

deviation) or a flat distribution (with given minimum and maximum values). In the case of brake 

valve type, the user can specify the probability of each of the possible brake valve types being 

installed on a given car. The user can also choose a truncated normal distribution where the tails 

of the distribution are cut off. 

This flexibility in how the parameters are allowed to vary enables the user to determine the effect 

that each of the parameters has on stopping distances for any type of car and any type of train, 

individually or in combination with other parameters. 

TOES 

Creates range of 

possible train consists 

Test Controller and 

Logger 

Track profile 

Nominal train consist 

Parameter variances 

Specific train consist

Apply full service brake

Track 

Stopping 

Distance 

Figure 5. Block Diagram of TCL and TOESTM Running in Stop Distance Mode 

2.1.2 TCL Enforcement Algorithm Evaluation Mode 

Figure 6 shows a conceptual block diagram of TCL in the enforcement algorithm evaluation 

mode. In this mode, the user provides the TCL with a stopping target location in addition to the 

nominal train consist, track profile, parameter(s) and associated variance(s). 
13

As in the stop distance test mode, the TCL generates the specific consists and provides these, 

along with the track profile, to the TOESTM model. The TOESTM model advances one second of 

simulation time and then provides feedback to the TCL, including train speed and location, 

locomotive notch, head-end brake pipe pressure, and tail-end brake pipe pressure. The TCL 

passes this information along to the enforcement algorithm, which determines whether or not a 

penalty brake application is necessary. If the enforcement algorithm determines that no penalty 

is necessary, the TCL commands the TOESTM model to advance another second of simulation 

time. This process is repeated until the enforcement algorithm determines that a penalty 

application is necessary to prevent an overrun of the specified target. At this point, the 

enforcement algorithm sends a message to the TCL, which then sends a brake application 

command to the TOESTM model. The process continues until the train reaches a stop and a 

stopping location is determined. 

Enforcement 

Algorithm TOES 

 Track profile 

Stopping target 

Nominal train consist 

Speed, Notch, 

Location, 

BPP (HoT), 

BPP (EoT) 

Apply penalty brake, 

Apply emergency brake 

Creates range of 

possible train consists 

Test Controller and 

Logger 

Track profile 

Stopping target 

Nominal train consist 

Parameter variances 

Control settings 

Specific train consist

Apply penalty brake, 

Apply emergency brake Speed, Notch, 

Location, 

BPP (HoT), 

BPP (EoT) 

Track 

Stopping 

Location 

Figure 6. Block Diagram of TCL, TOESTM, and an Enforcement Algorithm Running in 

Enforcement Algorithm Evaluation Mode 

This entire process is repeated for each of the specified number of train consists, generating a 

range of stopping locations. This range of stopping distances can be compared against the target 

stopping location to determine how well the enforcement algorithm performed in the particular 

operating scenario. 
14

2.2 Train Operations and Energy Simulator 

TOESTM is a longitudinal train dynamics model, which means it simulates how a train reacts to 

different train handling scenarios over a track in the longitudinal dimension (i.e., down the track, 

as opposed to vertical, lateral, or other dimensions). 

TOESTM individually models every vehicle in the train and outputs the state of each vehicle at 

every time step (typically one second although user selectable) of the simulation. The outputs 

include (among others) location, velocity, acceleration, coupler forces, brake pipe pressures and 

brake cylinder pressures for every vehicle in the train, as well as averaged over the entire train. 

These outputs can be used for a variety of applications including incident investigations, train 

make-up studies, equipment evaluations, energy conservation studies, as well as stopping 

distance studies. 

The components that make up the TOESTM model include some of the most accurate and proven 

models currently available to the railroad industry. These include a variety of draft gear models, 

multiplatform vehicles, an aerodynamic drag routine, and a variety of user-customizable vehicle 

components. TOESTM also includes a theoretical fluid dynamics model of the air brake system. 

This model has been shown to be a significant improvement over similar models empirically 

derived from test data. The air brake model within TOESTM can simulate the automatic and 

independent air brakes, a range of brake valve and brake shoe types, any length of brake pipe, 

brake cylinder dimensions, and reservoir volumes. The capability of TOESTM to accurately 

model the braking performance for a variety of brake system arrangements on a variety of 

vehicle types makes it the ideal tool for enforcement algorithm development and testing. 

To use the model in the arrangement depicted in Figure 6, some minor software modifications 

were necessary. Typically, a TOESTM simulation is run in one of two ways: 

 Interactively—where the user enters commands one at a time into a command prompt 

and receives real-time feedback on the screen as the simulation progresses. 

 Automatically—where the user enters a series of commands into a command file and 

the software automatically executes each of the commands in sequence. 

For the test setup depicted in Figure 5, the TCL generates a command file for each simulation 

that includes the commands to start at a given speed and location, initiate a penalty brake 

application, and continue until the train is stopped. TOESTM is then run in an automated mode, 

executing the commands generated by the TCL for each simulation. 

For the test setup depicted in Figure 6, however, TOESTM must accept commands from the TCL, 

as opposed to the keyboard or command file, and must also send feedback to the TCL, as 

opposed to the screen. These modifications (which were funded by TTCI) enable the TCL to 

interact with TOESTM to evaluate any enforcement algorithm that is capable of interfacing with 

the TCL. 

2.3 TCL and Enforcement Algorithm Interface 

The final component of the test arrangement shown in Figure 6 is the enforcement algorithm 

under evaluation. Although the TCL development and modifications to the TOESTM software 

were completed To evaluate the enforcement algorithms developed for this project, this test setup 
15

could be used to evaluate any enforcement algorithm capable of interfacing the TCL software. 

To enable this type of testing, a communications interface specification was required. The 

communication between the TCL and enforcement algorithm is described briefly in this section. 

The complete technical communications specification can be found in Appendix A. 

Enforcement algorithms developed to date use brake pipe pressures at the head and tail end to 

determine the state of the brake system and estimate the current braking force at any given time. 

They use this information, along with the current speed and location of the train, and grade and 

curvature information from a track database, to determine the stopping distance of the train. In 

addition to these parameters, the adaptive enforcement algorithms developed in this project also 

use locomotive throttle and dynamic brake settings. All of these parameters must be provided to 

the enforcement algorithm once per second. Additionally, when the enforcement algorithm 

determines an enforcement brake application is necessary, there must be a method for 

communicating this to the train model. The communications interface between the TCL and the 

enforcement algorithm enables these functions. 

The TCL and enforcement algorithm communicate over a TCP/IP interface, as the diagram in 

Figure 7 shows. The TCL and TOESTM applications are run on a single computer and 

communicate using Windows API messages. The enforcement algorithm application can be run 

either on the same computer or on another computer connected by an Ethernet connection. If the 

enforcement algorithm is run on the same computer as the TCL and TOESTM, the TCL can 

automatically start the enforcement algorithm, allowing for automated testing of large batches of 

simulations. 

Personal Computer

Windows API 

Messages 

Personal Computer 

Enforcement 

Algorithm 

TCP/IP 

Test Controller and 

Logger (TCL) 

Train Operations 

and Energy 

Simulator 

(TOESTM) 

Figure 7. Block Diagram of Communications Between an Enforcement Algorithm and the 

Simulation Test Environment 

During normal simulation operation, the TCL sends a message containing train status 

information, as discussed above, to the enforcement algorithm once every second (simulation 

time). The TCL then waits for the enforcement algorithm to send back a message indicating the 

enforcement algorithm health status and potentially a request to initiate a brake application. If 

the message does not contain a brake application request, the TCL sends a command to the 

TOESTM application to advance the simulation by one second and waits for the TOESTM

application to respond. The parameters—returned to the TCL in the TOESTM response—are 

delivered to the enforcement algorithm in the next message. This process is repeated until a 

brake application request is sent by the enforcement algorithm. 
16

When the enforcement algorithm sends a message containing a request to initiate a brake 

application, the TCL sends a command to TOESTM to initiate the brake application in the model. 

The simulation is then carried on, with TOESTM continuing to update the TCL on train status 

information and the TCL forwarding this information on to the enforcement algorithm. This 

process is continued until the train comes to a stop. When the enforcement algorithm has 

completed running (i.e., train velocity is less than 0.5 mph), a final message is sent to the TCL 

indicating the enforcement algorithm has completed. 
17

3 Parametric Study of Variables Affecting Stopping Distance 

Numerous variables affect train stopping distance. In developing an enforcement algorithm that 

predicts train stopping distance, understanding the effects of these variables is important to 

determine which variables must be known, what level of accuracy is needed, and to compensate 

for unknown variables. A parametric study of some of the major contributors to stopping 

distance provided insight into the effects these variables have on stopping distance. This section 

describes the objectives, methodology and results from the parametric study. 

3.1 Parametric Study Objectives 

The high-level objective of the parametric study was to gain an understanding of the effects of 

some of the variables that affect stopping distance. Specifically, the parametric study sought to: 

 Determine the relative impact on stopping distance of certain variables to identify 

which variables have the most significant effect on stopping distance, 

 Determine the absolute range of stopping distances, based on the independent 

variation of certain variables, for different test scenarios, and 

 Analyze the potential impact on stopping distance prediction if worst-case 

assumptions are used for various parameters. 

3.2 Parametric Study Scope 

Due to the large number of possible freight car types, and the large number of variables that can 

affect stopping distance, a complete parametric study of variables that affect stopping distance 

would be a considerable effort. Although this may be ultimately necessary to develop an ideal 

enforcement algorithm, the purpose of this study was to provide a general understanding of some 

of the more significant parameters. Therefore, the train types investigated in this study were 

limited to unit and general freight trains as discussed in subsection 3.3.2, and the number of 

variables considered in detail was limited as discussed in subsection 3.3.1. 

3.3 Parametric Study Methodology 

The parametric study made use of the TCL operating in stop distance test mode, as described in 

subsection 2.1.1, to analyze the sensitivity of stopping distance to various train consist 

parameters. This section describes the process of selecting parameters to investigate, developing 

the test matrix, determining the variability of each parameter, running the tests, and analyzing the 

output data. 

3.3.1 Selection of Input Parameters 

To study the potential sources of variability in stopping distance, many potential parameters were 

investigated on a conceptual level. Table 1 shows a list of the potential parameters that was 

compiled based on experience and conversations with industry experts. 
18

Table 1. Parameters That Can Potentially Affect Train Stopping Distance 

Location Speed Track Grade 

Track curvature Initial Brake Pipe Pressure Brake Pipe Pressure Gradient 

Number and Order of Cars Train Length Weight/Locomotive 

Weight/Car Potential Braking Force/Car Potential Braking Force/Locomotive 

Brake Valve Type/Car Brake Pipe Length/Car Brake Rigging Type/Car 

Brake Shoe Type/Car Dimensions/Brake Cylinder/Car Piston Stroke/Brake Cylinder/Car 

Aerodynamic Drag/Car Bearing Friction Resistance/Car Rolling Resistance/Car 

Ambient Pressure Ambient Pressure Operative Brakes/Car 

For each of the parameters listed in the table, the following were considered on a conceptual 

level: 

 Accuracy to which the parameter is typically known in current PTC systems, 

 Accuracy to which the parameter could be known and difficulty in obtaining this 

level of accuracy, 

 Potential variability of the parameter from the assumed value, and 

 Effect that the variation of the parameter could have on stopping distance. 

Four of the parameters were selected for further investigation in this parametric study on the 

basis of the considerations listed above: 

 Weight/Car–the gross weight of the car. This is defined as the total weight of the car, 

including lading. 

 Brake Valve Type/Car–the brake valve type of the car. The brake valve is a device 

mounted on each car that compares the pressure in the train line brake pipe to the 

auxiliary reservoir on the car. Based on this comparison, the brake valve allows air to 

move between the various reservoirs to apply, release, or hold a brake application. 

 Piston Stroke/Brake Cylinder/Car–the distance the brake cylinder piston travels when 

a brake application is made. The brake cylinder piston pushes the brake shoes, 

through a system of lever rods, against the wheels when a brake application is made. 

 Potential Braking Force/Car–this is defined as the sum of the forces applied to the 

wheels by the brake shoes with 50 psi in the brake cylinder. 

3.3.2 Development of the Parametric Study Test Matrix 

The parameters listed above can have a varying effect on stopping distance based on the specific 

train operating scenario. For example, varying the brake valve type on every car of a 100-car 

train may have a significant impact on the stopping distance of the train, whereas varying the 

brake valve type on every car of a 10-car train may have very little impact. Therefore, testing the 

sensitivity of stopping distance to each of the parameters is necessary in a variety of operating 

scenarios. 
19

To develop the operating scenarios under which to test the various parameters, several test 

variables were selected and reasonable values for each of the test variables were determined. 

Table 2 shows the test variables and the values they can hold. The table is separated into two 

train types, general freight and unit freight. The general freight train was defined as a 

combination of 100-ton box cars, tank cars, hopper cars, gondolas, and single platform flat cars. 

The unit train was made up of 110-ton aluminum coal hoppers. Taking every combination of the 

test variables resulted in 96 test scenarios. 

Four tests were designed for each of the 96 test scenarios. In each of the four tests, one of the 

braking parameters listed above was allowed to vary within a specified range, while the other 

three were held constant at a nominal value. Thus, the stopping distance sensitivity to each of 

the four parameters was tested in each of the 96 test scenarios, resulting in a test matrix of 384 

tests. The complete test matrix by test ID, along with train definitions for each test scenario, is 

contained in Appendix B. 

Table 2. Parametric Study Test Variables 

Train Type Test Variable ID Value 

Short 10 cars 

Train Length Medium 40 cars 

Long 100 cars 

Loaded 263k/car Train Load 

Empty 64k/car 

Fast 60 mph* Train Speed General Freight Slow 10 mph 

Flat 0% 

Incline 1% 

Track Grade Decline -1% 

Crest 0.5% to -0.5% 

Trough -0.5% to 0.5% 

Train Power Head end 3 AC4400 (long), 2 SD40 (short, med) 

Train Length 125 cars 125 cars 

Loaded 286k/car Train Load 

Empty 45k/car 

Fast 60 mph* Train Speed 

Slow 10 mph 

Flat 0% Unit Freight 

Incline 1% 

Track Grade Decline -1% 

Crest 0.5% to -0.5% 

Trough -0.5% to 0.5% 

Head end 4 AC4400 Train Power 

Distributed 2 AC4400 at head, 2 AC4400 at rear 

* Fast speed = 40 mph for downgrades, max speed for inclines, and not used for unit freight on 1% incline
20

3.3.3 Determination of Variability of Input Parameters 

To accurately model the sensitivity of stopping distance to each of the selected parameters, the 

nominal value and variability of each parameter must be known for each car type considered. 

For the weight/car parameter, data from wheel impact load detector (WILD) sites in various parts 

of the country was used. 

For the general freight cars, the data set included 100-ton cars traveling over WILD sites in 

Bagdad, California (BNSF Railway), Millican, Texas (Union Pacific Railroad), and Mill Creek, 

Pennsylvania (Norfolk Southern Railway), over a 1-year period for a total of 221,311 cars. The 

gross weights for the sample of cars were sorted into a histogram, and the mean and sample 

standard deviation were used to fit the data to a normal distribution, which is overlaid on the 

histogram data, as Figure 8 shows. The data indicates that, for general freight cars, 

approximately 99.7 percent (3 standard deviations) fall within approximately +/- 10 percent of 

the mean weight. 

0%

5%

10%

15%

20%

25%

30%

205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290 295 300 305 310 315 320

Vehicle Weight (kips)

Percent of Sample

WILD Data Normal Dist Fit

Mean = 260,502 lbs

Standard Deviation = 8,872 lbs

 

Figure 8. Distribution of Vehicle Weights for Loaded 100-ton Cars Traveling Over Three 

WILD Sites Over a One-year Period 

For the unit train cars, the data set included 110-ton coal cars travelling over the WILD site at 

Martin Bay, Nebraska (UP) over a 1-year period for a total of 12,791 cars. As with the general 

freight data, the mean and sample standard deviation were calculated, and used to create a 

normal distribution, which was overlaid on a histogram of the original data, as Figure 9 shows. 
21

For unit coal cars, the data indicates that approximately 99.7 percent (three standard deviations) 

fall within approximately +/- 3.5 percent of the mean weight. 

0%

5%

10%

15%

20%

25%

276 278 280 282 284 286 288 290 292 294 296 298 300

Vehicle Weight (kips)

Percent of Sample

WILD Data Normal Dist Fit

Mean = 287,871 lbs

Standard Deviation = 3,353 lbs

Figure 9. Distribution of Vehicle Weights for Loaded 110-ton Cars Traveling Over a 

WILD Site Over a One-year Period 

or the brake valve type/car parameter, data was not readily available on the distribution of brake 

alve types for the various car types. Therefore, experience and conversations with industry 

xperts were used to identify a reasonable estimate of this distribution. For general freight cars it 

as assumed that, given a randomly selected car, a 40 percent probability exists that it will 

ontain an ABD (or similar) type brake valve, a 30 percent probability it will contain an ABDW 

or similar) type brake valve, and a 30 percent probability it will contain an ABDX (or similar) 

ype brake valve. For unit trains, a 50 percent probability was assumed that a randomly selected 

ar will be equipped with an ABDW (or similar) type brake valve, and a 50 percent probability it 

ill be equipped with an ABDX (or similar) type brake valve. 

or the final two parameters, piston stroke/brake cylinder/car and potential braking force/car, 

ata was again not readily available, but the AAR Manual of Standards and Recommended 

ractices and the Field Manual of the AAR Interchange Rules provide an indication of the 

llowable range for each of these parameters.2,3

F

v

e

w

c

(

t

c

w

F

d

P

a
22

For the piston stroke/brake valve/car parameter, Rule 3 in the Field Manual of the AAR 

Interchange Rules indicates initial set-up values and nominal piston travel for various types of 

brake cylinders.3 For this study, the assumptions were that general freight cars contain standard 

10- X 12-inch body mounted brake cylinders and that unit freight cars contain Wabco TMX 

truck-mounted brake cylinders. According to Rule 3, the piston stroke for the standard 10- X 12-

inch brake cylinder is set to 7-1/2 inches (in) with a tolerance of +/- 1⁄4 in and can nominally vary 

between 7 in and 9 in, and the piston stroke for the Wabco TMX brake cylinder is set to 2 in with 

a tolerance of +/- 1/8 in and can nominally vary between 1-1/2 in and 3 in. Recognizing that 

some cars may have brake cylinders with piston strokes outside the specified ranges, piston 

stroke was assumed to vary within a normal distribution about the initial set position, with the 

upper limit of the nominal variance assumed to be three standard deviations from the mean for 

each type of brake cylinder. 

To determine a reasonable range for the potential braking force/car parameter, section 4.1 of S401 in the AAR Manual of Standards and Recommended Practices was referenced.3

 This 

section indicates the allowable range of both loaded and empty braking ratios for cars built new, 

rebuilt, or converted from cast iron to composition brake shoes. The loaded braking ratio is 

defined as the net brake force with a 30-pound-per-square-inch (psi) brake pipe reduction from a 

nominal 90-psi brake pipe divided by the gross rail load (GRL) of the vehicle, while the empty 

braking ratio is defined as the net brake force with a 30-psi brake pipe reduction from a nominal 

90-psi brake pipe divided by the tare weight of the vehicle. 

In the case of general freight cars not equipped with empty/load equipment, the lowest allowable 

braking force is limited by the lower limit of the loaded braking ratio, 8.5 percent, while the 

highest allowable braking force is limited by the upper limit of the empty braking ratio, 38 

percent. For a vehicle with a 64,000-pound tare weight and 263,000-pound GRL, this results in 

a potential brake force/car range of 22,355 pounds of force (lbf) to 24,320 lbf. Recognizing that 

some cars may have braking ratios outside this range, it was assumed that the potential braking 

force/car for general freight cars is normally distributed about the center of this range (23,338 

lbf), with the limits of this range assumed to be three standard deviations from the mean. 

For unit coal cars equipped with empty/load equipment, the braking force for a loaded car and 

for an empty car must be determined separately. For new cars, the loaded braking ratio is 

specified to be between 11 percent and 14 percent. It was assumed from this data that the 

potential braking force/car for a loaded unit freight car with a 286,000-pound GRL would follow 

a normal distribution with a mean at the center of this range (12.5 percent or 35,750 lbf), with the 

limits of this range assumed to be three standard deviations from the mean. The empty braking 

ratio for new cars is specified to be between 15 percent and 32 percent. It was assumed from 

these figures that the potential braking force/car for an empty unit freight car with a 45,000-

pound tare weight would follow a normal distribution with a mean located at the center of this 

range (23.5 percent or 10575 lbf), with the limits of this range assumed to be three standard 

deviations from the mean. 

3.3.4 Execution of Parametric Study Tests 

Having identified the test scenarios, parameters of variation and their associated variances, the 

tests were executed individually using the TCL software, in conjunction with the TOESTM

model, as described in subsection 2.1.1. For each test, the track was selected and the nominal 
23

test consist was setup according to the test matrix described in subsection 3.3.2. The parameter of 

interest was then selected to vary according to the range specified in subsection 3.3.3. Each test 

was made up of 100 individual simulations, which defined the simulation set for that test. Each 

simulation within that simulation set was run with a unique consist, wherein each car had a 

different value for the parameter of interest, as described in subsection 2.1.1. 

3.4 Parametric Study Results and Conclusions 

The result of each of the simulations in the parametric study is a single stopping distance for the 

specific train generated by the TCL for the given speed and track profile. By grouping all of the 

simulations in a simulation set together, it is possible to generate a distribution of stopping 

distances for the nominal train, speed and track profile specified for that simulation set. Analysis 

of these stopping distance distributions can provide information about the effect of the varied 

parameters on stopping distance. 

To illustrate the distribution of stopping distances for a given simulation set, the mean and 

standard deviation of the stopping distances were calculated and used to plot the probability 

density. Figure 10 shows an example of stopping distance distribution for a long, loaded, mixed 

freight train traveling 60 mph on level grade with brake valve type as the varied parameter. 

0

0.0005

0.001

0.0015

0.002

0.0025

0.003

7000 7200 7400 7600 7800 8000 8200 8400 8600 8800 9000

Stopping Distance (ft)

Probability Density

Figure 10. Stopping Distance Distribution for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Brake Valve Type Varied 
24

By grouping simulation sets by test scenario and plotting each group on a single chart, 

comparison of the relative effect of each independent parameter is possible for the given test 

scenario. Figure 11 shows an example of the stopping distance distribution for each of the varied 

parameters for a long, loaded, mixed freight train traveling 60 mph on level grade. 

0

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

6500 7000 7500 8000 8500 9000 9500

Stopping Distance (feet)

Probability Density

All Parameters Varied

Piston Stroke Varied

Weight Varied

Net Brake Force Varied

Brake Valve Varied

Figure 11. Stopping Distance Distributions for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Various Parameters Varied 

For the four parameters investigated, Figure 11 shows that uncertainty in brake valve type had 

the largest effect on stopping distance in this operating scenario. Brake cylinder piston stroke 

also had a relatively significant effect, while weight and net brake force had relatively less 

impact on stopping distance. 

An interesting note about the chart in Figure 11 is that the stopping distance distribution 

generated by varying brake valve is centered on a different point than the others. This is due to 

the method of independent variation of the parameters. Brake valve type can only be one of 

three values, ABD, ABDW, or ABDX. If all else is held equal, the stopping distance of a train 

containing all ABDW brake valves will be between the stopping distance of the train if it 

contained all ABD brake valves or all ABDX brake valves, but it will not be centered directly 

between the two. This means that if brake valve type is allowed to vary, it will produce a mean 

value different from the value produced by assuming all brake valve types are of the nominal 

(ABDW) type. When the parameters are varied independently, nominal values are used for the 
25

parameters that are not being varied, including ABDW brake valve types. Therefore, when the 

brake valve parameter is allowed to vary, the mean is shifted. 

Appendix C contains charts similar to the one in Figure 11 for all of the operating scenarios from 

the parametric analysis. These charts are useful for quickly observing the relative effects of the 

various parameters for different operating scenarios. 

By further grouping the simulation sets into groups of similar test consists, trends can be 

observed within the data. To enable observation of more simulation sets together, it is useful to 

graph the standard deviation of the stopping distances of each simulation set together, rather than 

plotting the entire distribution. An example of this is shown in Figure 12 for a long, loaded, 

mixed freight train. In Figure 12, each column represents the standard deviation of the stopping 

distance for an individual simulation set. The columns are grouped by track profile and speed. 

0

50

100

150

200

250

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Figure 12. Standard Deviations of Stopping Distance for a Long, Loaded, Mixed Freight 

Train for Various Test Scenarios 

The data in Figure 12 indicates that, for all of the parameters, the effect on stopping distance is 

more pronounced on a decline, and relatively insignificant on an incline. This trend follows for 

other train types as well, indicating that stopping distance prediction is more difficult on a 

decline than on an incline. 

Figure 12 data also confirms that for this train type, brake valve had the largest effect on 

stopping distance. This trend, however, is not consistent for all train types. For example, Figure 

13 shows a similar column chart of standard deviations of stopping distances for the short, 
26

loaded, mixed freight train tests. This chart clearly indicates that brake valve type is the least 

significant parameter for this train type. To provide a logical explanation for this, an 

understanding of how brake valve type affects stopping distance is needed. Brake valve type 

affects the propagation time of the brake signal, which affects the time it takes for the braking 

force to build up. On a short train, this time is relatively short, and changing brake valve types 

has much less of an effect than on a long train, where propagation time is significant. 

Other similar trends can be observed by looking at column charts of standard deviations of 

stopping distances for all of the parametric study tests. All of these charts can be found in 

Appendix D. 

0

20

40

60

80

100

120

140

160

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Figure 13. Standard Deviations of Stopping Distance for a Short, Loaded Mixed Freight 

Train for Various Test Scenarios 

Observations from the data contained within the charts presented thus far reveal that the relative 

significance of the parameters tested is dependent on the specific operating scenario. This is 

important for enforcement algorithm development, as it illustrates the need to consider all 

parameters rather than focusing on one or two. The design of a method for determining a 

reasonable safety offset based on train type, speed, and track profile may also benefit from these 

observations. 

In addition to observing the effects of the various parameters relative to each other, another of 

the objectives of the parametric study was to determine the absolute range of stopping distances 
27

due to independently varying each of the given parameters. This can be done by looking at the 

simulations that contain all best-case values and the simulations that contain all worst-case 

values for each simulation set. For example, the simulation set for a long, loaded, mixed freight 

train traveling 60 mph on level grade with piston stroke as the varied parameter included one 

simulation where every car was assigned a 6-inch piston stroke and another where every car was 

assigned a 9-inch piston stroke. The stopping distance for each these simulations was 7,107 ft 

and 8,661 ft, respectively. This equates to an absolute range of stopping distances of 1,554 ft, 

due to the variation of piston stroke for this test scenario. 

Although this value, based on the assumption of best and worst case values for all cars in the 

train, indicates the possible range of stopping distances, it may not indicate the statistically 

realistic range of stopping distances. To illustrate this, Figure 14 shows a histogram of the 100 

simulations from this simulation set. It shows the bulk of the simulations resulted in stopping 

distances between 7,700 and 7,900 ft (i.e., a range of 200 ft), which is much tighter than the 

1,554-foot range of the absolute best and worst case simulations. 

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

7000 7100 7200 7300 7400 7500 7600 7700 7800 7900 8000 8100 8200 8300 8400 8500 8600 8700 8800 8900 9000

Stopping Distance (feet)

Probability Density

Figure 14. Histogram of Stopping Distances for a Long, Loaded, Mixed Freight Train 

Traveling 60 mph on Level Grade with Piston Stroke Varied 

A more statistically realistic range would be between points on the distribution that are three 

standard deviations on either side of the mean stopping distance. This is illustrated in Figure 15, 

where the distribution generated from the calculated mean and standard deviation has been 

overlaid on the histogram from Figure 14. The range between the points shown in Figure 15 is 
28

682 ft, which is significantly less than the 1,554-foot absolute range, but still a factor of 3 larger 

than the 200-foot range shown in the histogram. The reason for this is that the mean and 

standard deviation of the sample were calculated using all 100 simulations from the simulation 

set, which includes the nominal, best and worst case simulations. Including the extremes in the 

calculation of the standard deviation has a significant effect due to the relatively small sample 

size of 100 simulations. This can be seen in Figure 16, which shows the distribution generated 

from calculating the standard deviation without using results from the nominal, best case, and 

worst case simulations overlaid on the distribution and histogram from Figure 15. 

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

7000 7100 7200 7300 7400 7500 7600 7700 7800 7900 8000 8100 8200 8300 8400 8500 8600 8700 8800 8900 9000

Stopping Distance (feet)

Probability Density

Histogram Distribution

Figure 15. Comparison of Distribution of Stopping Distances against Histogram 

The distribution shown in Figure 16 has a range of 125 ft between the points located three 

standard deviations on either side of the mean, and, as the figure shows, lines up closely to the 

histogram. This indicates that when calculating standard deviations for determining a 

statistically realistic range of stopping distances for a given operating scenario, care should be 

taken to include only the randomly generated tests, and that an increased sample size may also be 

beneficial. 

Figure 16 also illustrates that, regardless which distribution is used, the best and worst case 

stopping distances should be considered extreme outliers from the distribution. Statistically 

speaking, the worst case is nearly six standard deviations from the mean if the wider distribution 

is considered and nearly 32 standard deviations from the mean if the narrower distribution is 

considered. While the exact number of standard deviations varies, this general theme is 
29

represented in all of the simulation sets, not just the example shown in Figure 16. The use of 

worst case assumptions can thus have a significant impact on the accuracy of stopping distance 

prediction, which can result in trains being enforced well before the train crew would normally 

take action, and stopping trains well short of the intended target. This conclusion is consistent 

with reports from PTC systems currently in use and under evaluation.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

7000 7100 7200 7300 7400 7500 7600 7700 7800 7900 8000 8100 8200 8300 8400 8500 8600 8700 8800 8900 9000

Stopping Distance (feet)

Probability Density

Histogram Dist w/ extremes Dist w/o extremes

Figure 16. Comparison of Distribution of Stopping Distances Calculated Without Best and 

Worst Case to Distribution Calculated With Best and Worst Case and Histogram 

If the narrower distribution from Figure 16 is considered, the effect of varying piston stroke on 

stopping distance appears to be somewhat insignificant with a standard deviation of only 21 ft. 

The reason for this is the method used to generate the trains for the simulations. By 

independently assigning a value for piston stroke to each car of a 100-car train based on a normal 

distribution, the mean of the values assigned will tend toward the mean of the normal distribution 

used to assign the values. Therefore, the mean piston strokes for each of the trains are 

approximately equal. 

In other words, despite the fact that the piston stroke on each individual car can vary widely, the 

net effect on the entire train will be nearly the same for every simulation. This becomes more 

pronounced as the number of cars in the train increases (i.e., “law of large numbers”). Although 

the example given is for the piston stroke parameter, the brake force/car and weight/car 

parameters also exhibit the same characteristics, because they were varied in the same manner. 
30

This understanding leads to several potential conclusions: 

 The effect of each of these parameters can have a significant effect on stopping 

distance, but because of the large sample of cars within a single train, it is statistically 

unlikely. 

 The assumption that each of these parameters varies within the constraints of a 

normal distribution is incorrect. 

 The assumption that each of these parameters is independent from car to car, and 

independent of each other is incorrect. For example, if a car has a long piston stroke, 

it may be more likely to have a lower brake force as well if the car has not been 

maintained recently. Similarly, if a block of cars within a train all contain the same 

commodity, they will likely all be loaded the same in relation to the GRL of the car. 

These types of interdependencies are not considered in the method used in this study. 

To identify which one or combination of these conclusions is accurate, additional research is 

needed. A more complete parametric study is recommended as a part of future work in this area. 

This study should include all (or as many as practical) of the variables listed in Table 1. The 

study should also use data collected from statistically random samples of revenue service trains 

whenever possible for determining accurate input distributions for each parameter. Finally, a 

more rigorous regression analysis needs to be performed to ensure that the interdependence of 

the parameters from car to car and from parameter to parameter is considered. 
31

4 Base Case Enforcement Algorithm Development and Testing 

The intent of this study was to develop methods for improving enforcement algorithm 

performance that could be implemented in any enforcement algorithm. However, to demonstrate 

the potential improvement from implementing the methods to be developed, an algorithm needed 

to be selected as a base case. The base case algorithm was tested unaltered to establish a 

baseline level of performance. The newly developed methods were then implemented in the 

base case algorithm and the algorithm was retested. The test results were compared to the 

baseline performance to provide an indication of the improvement due to the newly developed 

methods. This section describes the selection, implementation, and testing of the base case 

enforcement algorithm. 

4.1 Base Case Enforcement Algorithm Selection and Description 

The base case enforcement algorithm selected for this study is an algorithm designed by Wabtec 

Railway Electronics (WRE) and originally implemented by WRE with Lockheed Martin 

Corporation (LMC) for the IDOT PTC project, as part of the NAJPTC program. This algorithm 

is summarized in this section and more formally defined in “Braking and Prediction Algorithm 

Definition.”4 This algorithm is nonproprietary and has formed the basis for other PTC 

implementations, so it is considered to be a good baseline choice. 

The enforcement algorithm estimates a conservative stopping distance for the train assuming a 

penalty brake application is initiated under the conditions at the moment the calculation is made. 

This estimate is made using a numerical integration method based on a force-acceleration model 

of the train. The stopping distance is then biased using a safety offset determined by the speed of 

the train at the initial conditions, to ensure an acceptable probability of stopping short of the 

target. If the stopping location determined from this method is beyond the authority limit of the 

train, a penalty brake application is enforced. 

The components of the enforcement algorithm are grouped into five functional divisions: 

 Set Parameters, 

 Monitor Brake System, 

 Monitor Grade, 

 Calculate Braking Distance, and 

 Enforcement. 

The set parameters function establishes the parameters used in the stopping distance calculation. 

This includes externally defined parameters from the ground system (e.g., train length, train 

weight, number and types of cars), assumed parameters (e.g., car braking forces, brake valve 

types, percent operative brakes), and calculated or estimated parameters (e.g., brake application 

rate, train resistive forces). 

The monitor brake system function uses head- and tail-end brake pipe pressure data from the 

locomotive onboard system to estimate the current state of the brake system. This involves 

estimating the auxiliary reservoir pressures based on whether the brakes are released, applying, 

applied, or recharging. This information is used to estimate the available braking force for the 

braking distance calculation. 
32

The monitor grade function uses location data from the locomotive onboard system, along with 

data from the track database to estimate the track grade and curvature forces acting on the train at 

the current location for use in the braking distance calculation. The function assumes the train 

weight is distributed uniformly throughout the length of the train. A method for determining 

grade force on a train with a nonuniform mass distribution is described in the algorithm 

definition document but not currently implemented. 

The calculate braking distance function uses data from the other functions to make the braking 

distance calculation. The algorithm relates the acceleration of the train to the forces acting upon 

it by the equation of motion defined by Newton’s second law: 

F  FG  FB  FL  FR  mT a , 

where FG, FB, FL, and FR are, respectively, the grade force, braking force, locomotive tractive 

effort, and combined resistive forces, mT is the mass of the train and a is the acceleration of the 

train. 

The locomotive tractive effort in the above equation is assumed to be zero for a penalty brake 

situation. The grade force in the above equation is determined from the monitor grade function 

and is a function of the location of the train at each given time interval. 

The braking force is modeled as a two segment piecewise linear function of time, as illustrated in 

Figure 17. FB-max is the maximum available brake force for the train (determined from the 

monitor brake system function), FB0 is the brake force at the time of the penalty application (also 

determined from the monitor brake system function) and tappl is the brake propagation time (as 

estimated in the set parameters function based on the length of the train). 

(1) 

Figure 17. Braking Force vs. Time as Modeled by the Base Case Enforcement Algorithm 

The resistive forces are estimated for a group of cars or locomotives by using a modified version 

of the Davis equation: 

R  0.6w  20n  0.01wv  0.07Nv 2 , for freight cars and (2) 

R  0.6w  20n  0.01wv  0.294Nv 2 , for freight locomotives, (3) 
33

where R is the total resistive forces acting on the group of cars or locomotives, w is the weight of 

the group of cars or locomotives, in tons, n is the number of axles on the group of cars or 

locomotives, v is the velocity of the train, in mph, and N is the number of cars or locomotives in 

the group. 

The algorithm solves the stated equation of motion for acceleration and integrates once and twice 

with respect to time to determine the change in velocity, v, and position, x, for each time 

interval, t. This numerical integration process is continued until the velocity, v(t), is equal to 

zero, where the corresponding position, x(tfinal), is the calculated stopping position and x(tfinal)-

x(tinitial) is the calculated stopping distance. 

The enforcement function calculates the safety offset and triggers the penalty brake application 

as necessary. The safety offset is calculated based on the initial speed of the train: 

OFFSET  145  0.025v  0.5188v

2

 (

This offset is added to the previously calculated stopping location, and the result is compared to 

the authority limit of the train. If the predicted stopping location, with the safety offset included, 

is beyond the limit, the enforcement function triggers a penalty brake application. 

4.2 Implementation of the Base Case Enforcement Algorithm 

To test the performance of the enforcement algorithm and to enable the addition of the new 

adaptive methods, a functional software implementation of the algorithm was needed. The 

IDOT PTC implementation of the enforcement algorithm is embedded in the onboard computer 

software of the PTC system for which it was designed. Because of this, modifications were 

necessary to have the enforcement algorithm run as a standalone piece of software. 

The interfaces between the enforcement algorithm and the input sensors, as well as the interface 

between the enforcement algorithm and the brake system, were also embedded as part of the 

onboard system. Therefore, modifications were also needed to allow inputs from—and to allow 

sending brake commands to—an outside source, such as the TCL or the field test equipment. 

The IDOT PTC implementation also includes code necessary for the overall PTC system, but not 

necessary for independent enforcement algorithm performance testing. Therefore, modifications 

were also needed to simplify some of the code and eliminate some of the unnecessary functions. 

The TTCI base case implementation of the enforcement algorithm includes two other 

modifications, in addition to those mentioned above. The IDOT PTC implementation of the 

algorithm assumes a worst case value of 85 percent operative brakes, which is the minimum 

allowed. However, because the train crew has to manually cut out the brakes on cars in the train, 

discussions are ongoing whether or not the percent operative brakes can be input by the train 

crew at the time the brake is cut out. By assuming 100 percent operative brakes and performing 

all of the tests with 100-percent operative brakes, the stopping distance prediction was evaluated 

independently of this parameter. 

Additionally, the speed dependent safety offset described at the end of section 4.1 was removed 

in the TTCI implementation of the base case algorithm. The safety offset for a train traveling 60 

4) 
34

mph is over 2,000 ft. The impact of this safety offset on the performance of the algorithm is that 

very few trains will stop within the performance specification (1,000 ft short of the target), and in 

fact, the predicted stopping distance will not be within this specification. Although a safety 

offset of some type will ultimately be necessary, by eliminating this offset for this study, the 

accuracy and performance of the stopping distance prediction algorithm, both with and without 

the adaptive methods, can be evaluated more precisely. 

4.3 Base Case Enforcement Algorithm Testing 

The objective of testing the base case enforcement algorithm was to establish the performance 

characteristics of the algorithm. This was quantified by measuring the following parameters: 

 Proximity of stopping location to target stopping location. This value was measured 

and recorded for each test run. A mean value was then calculated for each test 

scenario from all of the test runs for that scenario. 

 Repeatability of stopping location. This was determined by using the mean stopping 

location from each test scenario to determine the standard deviation and maximum 

deviation from the mean of the individual test runs. 

 Probability of overshooting the target. This was calculated by dividing the number of 

runs where the stopping location was beyond the target location by the total number 

of test runs for each test scenario, expressed as a percent. 

 Probability of undershooting the target by less than 500 ft for test scenarios under 30 

mph, and by less than 1,000 ft for test scenarios above 30 mph. This was calculated 

by dividing the number of runs where the stopping location was less than the 

specified distance short of the target by the total number of test runs for each test 

scenario, expressed as a percent. 

4.3.1 Enforcement Algorithm Test Methodology 

To test the performance of the base case algorithm, a combination of simulation testing and field 

testing was used. The purpose of simulation testing was to test the enforcement algorithm using 

more test scenarios with a more statistically meaningful number of test trains than was practical 

with field testing. Therefore, the simulation testing was the basis for measuring performance and 

the field testing was used to validate the results of the simulation testing. In addition to the 

overall objective of evaluating the performance of the base case enforcement algorithm, the field 

test data was also used to validate the simulation testing and to develop the adaptive routines in 

the subsequent development tasks. 

4.3.1.1 Simulated Testing 

To develop the test matrix for simulation testing, several test variables were selected including 

train length, train load, initial train speed, and track profile. For each of these variables, several 

potential states were selected, and a value assigned to each state. Table 3 shows the test 

variables used to define the simulation test matrix. All the trains in the test matrix are defined as 

unit trains, which are made up of either aluminum or steel hopper cars, as defined in the table. A 

total of 70 test scenarios are defined by the possible combinations of variables in Table 3. Seven 

additional test scenarios were defined by the field test matrix and were also included in the 

simulation test matrix. Appendix E contains the complete enforcement algorithm evaluation 

simulation test matrix. 
35

Table 3. Test Variables for Enforcement Algorithm Simulation Testing 

Test Variable ID Value 

Short 75 cars Train Length 

Long 125 cars

Loaded Steel 286k/car 

Train Load Empty Steel 64k/car 

Empty Aluminum 45k/car 

Slow 10 mph Train Speed 

Fast 60 mph*

Flat 0%

1% Incline 1% 

1% Decline -1% Track Grade 

1⁄2% Decline -0.5% 

Crest 0.5% to -0.5% 

Trough -0.5% to 0.5%

* Fast speed = 40 mph for downgrades, max speed for inclines, and not 

used for loaded 1% incline 

Each of the 77 test scenarios was tested using the TCL in enforcement algorithm evaluation 

mode, as described in subsection 2.1.2. Each test was setup by selecting the track and nominal 

test consist according to the test matrix. One hundred test consists were generated for each test 

scenario specified in the test matrix. For each of these test consists, the variable parameters for 

each car, discussed in subsection 3.3, were all allowed to vary according to the ranges specified 

in subsection 3.3.3. 

Each test consist was started sufficiently far in advance of a target stopping location traveling at 

the initial speed indicated in the test matrix. The simulation was advanced one second at a time, 

with messages passed back and forth between the TOESTM model, the TCL, and the enforcement 

algorithm, as described in subsection 2.1.2. When the enforcement algorithm sent a message to 

initiate a penalty application, the brakes were applied in the model and the train came to a stop. 

The stopping location was recorded in the output data for the simulation to be used in the 

performance evaluation analysis. 

4.3.1.2 Field Testing 

The field test configuration is shown in Figure 18. A standard laptop personal computer (PC) 

containing the base case enforcement algorithm was placed in the lead locomotive of the test 

consist. The train control PC, normally used in testing at the Facility for Accelerated Service 

Testing (FAST), was used to provide input to the PC running the enforcement algorithm. This 

train control computer was also used to record speed, location, locomotive notch, and brake pipe 

pressure data throughout each test for use in determining when the brakes were applied, where 

the train stopped, and other characteristics of the test. 
36

GPS Antennae

EOT 

Device

Tail-End BPP

Speed/Location 

Loco Notch 

Head-End BPP

Train Control PC

Enforcement 

Algorithm PC 

Data

Full-Service 

Brake 

Application 

Full-Service Brake 

Application 

Figure 18. Field Test Configuration 

In addition to the instrumentation listed above, the test consist was instrumented to measure the 

following, collected by a separate data acquisition computer: 

The test consist was instrumented to measure the following, which were read into the train 

control computer and used by the enforcement algorithm: 

 Head-end brake pipe pressure using a pressure transducer located on the brake pipe 

on the lead locomotive. 

 Tail-end brake pipe pressure using a two-way end-of-train (EOT) device. The EOT 

transmits the brake pipe pressure at the tail end up to a head-end unit located on the 

lead locomotive. However, due to difficulties interfacing the train control computer 

with the head-end unit, a data acquisition computer was mounted on the last car that 

interfaces the EOT unit through a serial RS-232 interface and transmits the tail-end 

brake pipe pressure to the train control computer over a wireless 802.11 interface. 

 Train speed and location using a global positioning system (GPS) unit located on the 

lead locomotive. Train location was translated from the GPS coordinates into a 

footage referenced to the surveyed start point of the Transportation Technology 

Center (TTC) railroad test track (RTT) loop. 

 Locomotive notch from the locomotive control stand. 
37

 Tail-end brake pipe pressure using a pressure transducer. This was used as an 

independent method for verifying the accuracy of the EOT device. 

 Coupler force on the rear locomotive using an instrumented coupler. This data was 

collected for later use in the train weight adaptive enforcement algorithm 

development. 

 Periodic train location using an automatic location detector (ALD) tag reader and 

ALD tags surveyed at various points around the RTT. The ALD tag reader is a 

sensor mounted on the lead locomotive that is triggered when it moves over a 

reflective ALD tag. This was used as an independent method for verifying the 

accuracy of the GPS location. 

A track file loaded on the enforcement algorithm PC contained surveyed grade and curve data 

for the RTT and was accessed by the enforcement algorithm as needed for stopping distance 

prediction. The enforcement algorithm PC interfaced with the train control PC over an Ethernet 

connection to receive train status data and to enforce a full-service penalty application when 

necessary. 

The enforcement algorithm tests were run at various locations around the 13.5-mile RTT. Three 

test consists were used as Table 4 shows. The test consists were made up of cars used in the 

FAST train. The cars were a mix of steel and aluminum hoppers with a 315,000-pound rated 

GRL. The locomotive consists were made up of locomotives used in the FAST train and other 

locomotives available on site. The test consist was scaled to determine the exact weight of each 

car before the field testing. 

Table 4. Field Test Consists 

Consist ID Number Train Load Train Length 

1 Loaded Short (10 cars) 

2 Loaded Medium (40 cars) 

3 Loaded Long (80 cars) 

The testing consisted of seven different test scenarios that challenged the performance of the 

base case enforcement algorithm under a range of operating conditions including varying train 

lengths, speeds, and grades. To determine the test scenarios, several distinct possible states were 

selected for each of these three independent test variables, and values were assigned to each 

state. Table 5 displays the variables along with their potential states and the values of each state. 

The states designated with “(N)” represent the nominal state for that test variable. 
38

Table 5. Test Variables for Field Testing 

Test Variable ID Value 

Train Length 

Short 10 cars 

Medium 40 cars 

Long (N) 75 cars 

Train Speed 

Fast 60 mph

Medium (N) 40 mph 

Slow 10 mph 

Track Grade 

Flat (N) -0.026% 

Incline 1.01% 

Decline -1.47% 

Crest 0.79% to -0.62% 

Ideally, every combination of test variables would be field tested. However, this would require 

36 different test scenarios, which would take a considerable amount of time to field test. 

Therefore, a set of test scenarios was selected from the potential 36 that would test the extreme 

values of each test variable independently. 

To achieve this set of test scenarios, each test variable was first assigned a nominal state, 

indicated by “(N)” in Table 5. Each test scenario was then defined by varying the value of one 

of the test variables and using the nominal value for the other three test variables. This resulted 

in seven different test scenarios, which Table 6 shows. 

Table 6. Original Field Test Scenarios 

Variable Length Speed Grade 

Short Medium Flat Length 

Medium Medium Flat 

Long* Fast Flat Speed 

Long Slow Flat 

Long* Medium Incline 

Grade Long Medium Decline 

Long* Medium Crest 

Due to the time it takes to test loaded 75-car consists, some of the long consists were replaced 

with medium consists. The scenarios for which this was done are indicated in Table 6 with an 

asterisk in the length column. The test scenarios were then sorted by consist makeup and 

assigned a test ID number. Table 7 shows the final test scenarios along with their associated test 

ID numbers. 
39

Table 7. Final Field Test Scenarios 

Test ID Consist ID 

Number of 

Cars Speed Grade 

1 3 40 40 Flat

2 3 40 60 Flat

3 3 40 40 Incline

4 3 40 40 Crest

5 2 10 40 Flat

6 4 80 10 Flat

7 4 80 40 Decline

For each test scenario, a target stopping location was selected on the RTT that provided the 

proper track grade for the scenario. This location was entered into the enforcement algorithm, 

along with the generic consist information and other required inputs. An appropriate starting 

location was then determined, and the train was moved to this location to start each test run. 

Before each test run, a standing brake test was performed. To perform the brake test, a 15-psi 

brake pipe reduction was made by the locomotive engineer and the brake pipe pressures were 

recorded by the test control PC. When it was determined that the brake pipe reduction had 

reached the end of the test consist, the brakes were released to begin the test run. The brake pipe 

pressure data collected from this brake test was used later in the development of the adaptive 

enforcement algorithm. 

Following the brake test, the train was accelerated to the specified test speed. The train 

proceeded toward the target stopping location, with the enforcement algorithm monitoring the 

speed and location relative to the target. When the enforcement algorithm determined that an 

enforcement brake application was necessary to avoid overrunning the target, it signaled the 

control system to drop power, apply a full-service brake application, and bail the independent 

brake. The independent brake was bailed for all test scenarios, as the enforcement algorithm 

assumes the independent brake to be bailed for all trains except those less than nine cars in 

length. Once the train was stopped, the absolute stopping location was recorded and the location 

relative to the target was estimated and recorded before resetting the train for the next test run. 

Appendix H shows pictures from the field test. 

4.3.2 Results of Base Case Enforcement Algorithm Testing 

The output of any one enforcement algorithm test, whether run in a simulation or in the field, 

was a stopping location relative to the target stopping location. For the simulation tests, each test 

was repeated 100 times, with varying specific train characteristics. By looking at the relative 

stopping location of all 100 of these simulations together, it was possible to generate statistical 

data that provides an indication of the performance of the enforcement algorithm for the 

particular test scenario. 

For the field tests, each test was repeated three times, at most, and each time with the same test 

consist. This sample size is not sufficient for generating statistical data about the performance of 

the enforcement algorithm for the particular test scenario. However, the field data can be used to 
40

validate the results of the simulation tests, as well as provide a general indication of the 

performance of the enforcement algorithm although not a statistically justified one. 

4.3.2.1 Simulation Test Results 

The mean and standard deviations of the stopping location were calculated from the individual 

stopping locations of each of the simulations for a single test scenario. This data was used to 

generate the probability density curve for the test scenario. This provides a graphical 

representation of the performance of the enforcement algorithm for each test scenario. Figure 19 

shows an example of this for a 75-car loaded unit freight train traveling 60 mph on flat grade. 

The target stopping location for this example is 40,000 ft. This graph shows that the 

enforcement algorithm regularly stops the train well short of the target. 

The performance measures discussed at the beginning of section 4.3 were used to statistically 

describe the performance of the enforcement algorithm for each test scenario. The mean 

stopping location relative to the target for this example was 3,006 ft, with a standard deviation of 

303 feet. Zero percent of trains overshot the target, 1 percent of trains undershot the target by 

less than the specified 1,000 ft. 

Appendix F contains stopping location probability density curves for all of the test scenarios in 

the test matrix. Appendix G has a table of the statistical data for each of the test scenarios in the 

test matrix. In both of these appendices, three test scenarios occur with no data. For these three 

test scenarios, keeping the train under control through the use of dynamic brake alone was not 

possible. Use of air brakes to control the speed of the train was considered outside of the scope 

of this study. Therefore, these test scenarios were not executed. 

0

0.0002

0.0004

0.0006

0.0008

0.001

0.0012

0.0014

35000 35500 36000 36500 37000 37500 38000 38500 39000 39500 40000

Stopping Position (ft)

Probability Density

Figure 19. Stopping Location Probability Density Curve for a 75-car 

Loaded Unit Freight Train Traveling 60 mph on Flat Grade 
41

By observing the data in Appendices F and G for all of the test scenarios together, some general 

statements about the performance of the base case enforcement algorithm can be made. First, the 

data shows that, in general, the base case algorithm performed well from the standpoint of the 

safety objective of stopping short of the target. Although the worst case train overshot the target 

in many of the cases, the worst-case train is statistically very unlikely, as discussed in the 

parametric study results section. Only two test scenarios resulted in any of the randomly 

generated trains overshooting the target. Both of these test scenarios had empty aluminum trains 

moving 10 mph up a 1 percent incline. The significance of each of these characteristics is 

discussed in the following paragraphs. 

The data also indicates that the base case algorithm undershot the target by more than the 

specified amount in many cases. The empty aluminum test scenarios are one exception. This is 

primarily due to the empty/load devices present on aluminum hoppers. The empty/load device 

senses whether the vehicle is loaded or not, and limits the amount of pressure that is allowed to 

build in the brake cylinder if the vehicle is empty. This has the effect of limiting the amount of 

brake force produced by the vehicle, which prevents sliding the wheels on the lightweight 

aluminum cars. Because the base case enforcement algorithm has no knowledge of the 

empty/load device, it assumes a larger amount of braking force for these cars than is actually 

produced. This delayed the enforcement application more than would be the case if the actual 

brake force were known for trains made up of empty aluminum hoppers. This delayed 

enforcement had the effect of stopping some of the empty aluminum trains past the target in the 

1-percent incline cases, as discussed earlier. If the braking efficiency of the train were measured, 

the effect due to empty/load devices could be minimized. 

Another exception is the test scenarios on the 1-percent incline. Because a large amount of the 

retarding force on the train in these test scenarios is due to the grade, the enforcement algorithm 

can more accurately predict the stopping distance for these scenarios. This allowed the 

algorithm to be less conservative, which caused the trains to stop closer to the target. In the case 

of the empty aluminum trains, it also had the negative effect of stopping some of the trains past 

the target. Conversely, the enforcement algorithm was very conservative on the declined track, 

due to the difficulty in predicting stopping distance on a down grade, and therefore, many trains 

stopped well short of the target in these cases. 

The final generalization made from the simulation results for the base case enforcement 

algorithm evaluation is related to the speed of the train. In most cases, the enforcement 

algorithm stopped the slow (10 mph) trains within both the safety and the performance 

objectives. In many of these cases, the standard deviation of the stopping distances was less than 

50 ft, meaning that the enforcement algorithm could be conservative and still easily meet the 

performance objective of being less than 500 ft short of the target. The exception was on the 1-

percent decline cases. An important note about the slow cases is that, although the algorithm met 

the performance objective of stopping within 500 ft of the target, a train pulling into a siding that 

is nearly as long as it is may have difficulty clearing all the way in if the algorithm is enforcing a 

penalty several hundred feet short of the target. 

The results of the simulation testing are based on the assumptions for the parameters and their 

variances discussed in the parametric study section. The recommendation is that the actual 
42

parameters that can vary and their variances need to be examined more closely to provide a more 

accurate evaluation of the algorithm performance. 

4.3.2.2 Field Test Results 

The base case enforcement algorithm was initially field tested during the week of July 21, 2008. 

This test incorporated all the test scenarios described in the field test methodology, subsection 

4.3.1.2. Each test was repeated three times to evaluate the repeatability of stopping location, 

given the same test conditions. Table 8 summarizes the results from the field evaluation of the 

base case enforcement algorithm. 

Table 8. Base Case Algorithm Field Test Results from July 2008 Field Test 

Test 

Number 

of Cars 

Mean Speed 

(mph) 

Standard 

Deviation of 

Speed (mph) Grade 

Mean 

Distance to 

Target (ft) 

Standard 

Deviation of 

Distance to 

Target (ft) 

1 40 40.4 0.4 Flat 1,294 30 

2 40 58.5 2.0 Flat 1,673 299 

3 40 38.7 0.7 Incline 479 75 

4 40 40.2 0.6 Crest 923 38 

5 10 39.9 0.3 Flat 1,397 40 

6 75 9.9 0.2 Flat 146 15 

7 75 38.9 0.8 Decline 3,895 140 

In general, the field test results confirm the conclusions drawn from the simulation tests. For 

example, the decline was the most conservative, which stops the train nearly 4,000 ft short of the 

target. Also, the enforcement algorithm stopped all of the trains short of the target, but in four of 

the seven test scenarios, it undershot the target by more than the specified distance. The cases 

where it did stop within the specified distance short of the target were the incline, crest, and slow 

cases, which agree with the simulation results. 

As Table 8 shows, the standard deviation of the stopping location was relatively small in most 

cases. This indicates that the stopping distance for the exact same consist in relatively similar 

conditions is reasonably repeatable. This is particularly the case for scenarios 3 and 4, the 

incline and crest tests, and scenario 6, the slow speed test, which agrees with the conclusions 

drawn from the simulation testing. The largest standard deviation was on test scenario 2, the 60 

mph test. This is likely due to the difficulty in getting the speed exactly the same for each test 

run, which is indicated by the large standard deviation in speed for this test. 
43

5 Propagation Time Adaptive Algorithm Development and Testing 

The purpose of the first of the adaptive developments to the base case enforcement algorithm is 

to adapt to the specific brake propagation time of the train. The brake propagation time of a train 

is defined as the time between when the penalty brake is applied and when full brake cylinder 

pressure is reached on all cars in the train (except the locomotives that are bailed off). 

When the penalty brake is applied, air from the brake pipe on the locomotive is vented to the 

atmosphere, resulting in a pressure drop on the brake pipe. This pressure drop is sensed by the 

brake valve on each car, which then allows air to flow from the auxiliary reservoir into the brake 

cylinder on that car. The brake valve also vents additional air from the brake pipe, which helps 

to propagate the brake pipe pressure drop to the next car. The brake signal is propagated from 

car to car down the length of the train. 

The time that it takes for this brake signal to propagate through the train is primarily a function 

of the brake valve type on each car in the train, the length of brake pipe between each brake 

valve, and the rate that the air moves through the brake pipe, which is primarily a function of the 

ambient pressure and temperature. If an enforcement algorithm had data for these parameters, a 

reasonably accurate estimation of brake propagation time could be made. However, no method 

currently exists for an enforcement algorithm to easily obtain this data, so assumptions must be 

made. 

In the case of the IDOT PTC enforcement algorithm, the propagation time for a full-service 

brake application on a freight train is estimated from the following quadratic equation, which 

was empirically determined to provide a good fit: 

Tappl  12.22  0.0156LTRAIN  0.000000278L2

TRAIN , (5)

where Tappl is the brake propagation time and LTRAIN is the length of the train in feet. 

Figure 20 illustrates the potential error between estimated and actual propagation times. The 

graph compares propagation times estimated by the IDOT PTC enforcement algorithm against 

propagation times determined through TOESTM simulations assuming ABD brake valves on 

every car, and assuming ABDX brake valves on every car, for unit freight trains ranging in 

length from 10 cars (753 ft) to 150 cars (8,185 ft). As the graph shows, the potential error in 

propagation time is great when estimations are used. The graph also illustrates how drastically 

propagation time can vary based on brake valve type (in some cases by more than 90 percent 

between a train equipped with all ABD and one equipped with all ABDX brake valves). 
44

0

50

100

150

200

250

10 cars

(753 ft)

20 cars

(1284 ft)

30 cars

(1815 ft)

40 cars

(2345 ft)

50 cars

(2876 ft)

60 cars

(3407 ft)

70 cars

(3938 ft)

80 cars

(4469 ft)

90 cars

(5000 ft)

100

cars

(5531 ft)

110

cars

(6062 ft)

120

cars

(6592 ft)

130

cars

(7123 ft)

140

cars

(7654 ft)

150

cars

(8185 ft)

Brake Propagation Time (s)

ABD Brake Valves ABDX Brake Valves Estimated by NAJPTC/IDOT Algorithm

Figure 20. Comparison of Brake Pipe Propagation Time Determined by the 

NAJPTC/IDOT Algorithm and the TOESTM Model 

A method for measuring the actual propagation time of any given train has the potential to 

significantly reduce the error between the propagation time used in the algorithm and the actual 

propagation time at the moment the penalty brake is applied. This section describes the 

development of the propagation time adaptive method, defines the algorithm, and discusses the 

testing process and results. 

5.1 Development of the Propagation Time Adaptive Algorithm 

The basic concept behind the propagation time adaptive algorithm is to measure the brake 

propagation time when the air brakes are applied during a normal initial terminal brake test and 

use this data to determine the propagation time for a penalty brake application. The general 

procedure for an initial terminal brake test is to charge the brake system to the required air 

pressure (typically 90 psi) and then make a service brake pipe reduction (typically a 15- or 20-psi 

reduction). 

The propagation time must be measured using only the head-end and tail-end brake pipe 

pressure, as these are the only data sources available to the algorithm. Because the brake pipe 

propagation time is defined as the time between when the penalty brake is applied and when full 

brake cylinder pressure is reached on all cars in the train, the rear-end brake pipe pressure must 

be related to the brake cylinder pressure on the last car. 
45

Figure 21 shows both the brake pipe and brake cylinder pressures for the last car in a 40-car unit 

freight train generated by the TOESTM model. This graph indicates that the brake cylinder on the 

last car reaches full pressure at approximately the same time that the brake pipe pressure begins 

to level off. This suggests that the time from the point of brake application to the time the brake 

pipe pressure levels off can be approximated as the train brake propagation time. 

This approximation is valid for a service brake application, but not for a penalty application. 

This is because the brake pipe pressure for a penalty application does not level off until it reaches 

atmospheric pressure, while the brake cylinder pressure only increases until it equalizes with the 

pressure in the auxiliary reservoir. The brake pipe pressure does level off at this equalization 

pressure for a full-service application, and the brake cylinder pressure behaves exactly the same 

as for a penalty application. Therefore, for the purposes of the analysis and development of this 

algorithm, the penalty brake propagation time for a train was approximated as the time between 

when a full-service application is made to the time when the brake pipe levels off. 

0

10

20

30

40

50

60

70

80

90

100

0 20 40 60 80 100 120

Pressure (psi)

Time (s)

Brake Pipe Pressure Brake Cylinder Pressure

Figure 21. Brake Pipe and Brake Cylinder Pressures for a 40-car Unit Freight Train 

Generated by the TOESTM Model 

To determine the penalty brake application propagation time, a relationship between the initial 

terminal brake test propagation time and the penalty brake application time must be established. 

Data from TOESTM simulations and field data collected during the evaluation of the base case 

algorithm were used to establish this relationship. Tests performed using the TOESTM model 

included brake tests and full-service brake applications for 10-car, 40-car, 75-car, 100-car, and 
46

125-car unit and general freight trains. Tests performed in the field included brake tests and fullservice brake applications for 10-car, 40-car, and 75-car unit freight trains. 

Figure 22 shows the rear-end brake pipe pressure from the point of brake application for both a 

15 psi brake test and a full-service brake application generated by the TOESTM model for a 40-

car unit freight train. The figure shows that the brake pipe pressure remains constant for some 

time while the brake signal is propagated through the train for both the brake test and the fullservice brake application. The brake pipe pressure then begins to decline, nearly linearly until a 

point near the ultimate brake pipe pressure, where it begins to level off. TOESTM data from other 

length and other type trains follow the same pattern. 

60

65

70

75

80

85

90

95

0 20 40 60 80 100 120

Time (s)

Rear Brake Pipe Pressure (psi)

Brake Test Full Service

Figure 22. Brake Pipe Pressure during Brake Applications for a 40-car Unit Train 

Modeled by TOESTM

This data suggests that: 

 If the delay between the point of brake application and the point at which the rear end 

brake pipe pressure begins to decline is measured for a brake test, the same delay can 

be assumed for a full-service application, and 

 If the slope between the point at which the rear end brake pipe pressure begins to 

decline and the point at which the rear-end brake pipe pressure begins to level off is 

measured, the same slope can be assumed for a full-service application. 
47

Figure 23 shows EOT data from the base case enforcement algorithm field testing for several 

brake tests and several full-service applications for the same 40-car unit freight train. This chart 

shows that the data from the TOESTM model is consistent with data measured in the field, and 

thus validates the conclusions discussed above. 

60

65

70

75

80

85

90

95

0 20 40 60 80 100 120

Time (s)

Rear Brake Pipe Pressure (psi)

FS 1 FS 2 FS 3 FS 4 BT 1 BT 2 BT 3 BT 4

Figure 23. Brake Pipe Pressure during Brake Applications for a 40-car Unit Train from 

Field Tests 

Figure 23 also shows that the rear-end brake pipe pressure levels off at the end of the linear 

decline and remains steady for approximately 10 to 30 seconds (s) before the pressure drops 

again. This observation was consistent for the other length trains tested in the field, as well. 

This suggests that this criterion can be used to determine the time at which the brake pipe 

pressure has leveled off. 

By using the conclusions drawn from the data in Figures 21, 22, and 23 (and other similar 

graphs), it was possible to develop an algorithm that estimates the time from the point of brake 

application to the point at which the brake pipe pressure levels off for a full-service brake 

application, which can be used as an estimate of the train brake propagation time for a penalty 

application. This process is defined in the following section. 

5.2 Propagation Time Adaptive Algorithm Definition 

This algorithm assumes a brake pipe reduction (~15 psi) is made by the locomotive engineer 

after the locomotive onboard computer and EOT are set up and activated. Brake pipe pressure 
48

data at both the head end and rear end of the train are recorded by the onboard system and used 

to approximate the full-service brake pipe propagation time. 

When the brake pipe reduction is first made, the onboard system will report a drop in head-end 

brake pipe pressure. The enforcement algorithm records the rear-end brake pipe pressure at this 

point as p0, and also records the time as t0, and starts a timer. After some delay, the onboard 

system will report a drop in rear-end brake pipe pressure. The enforcement algorithm records the 

time at this point as t1, and the new rear-end brake pipe pressure as p1. 

The onboard computer will continue to send updates on the rear end brake pipe pressure as it 

drops. Each time a change in rear end brake pipe pressure is reported by the onboard system, the 

enforcement algorithm records the time and rear end brake pipe pressure, incrementing the 

subscripts (e.g., t2, t3, t4,...,tn). When no change occurs in rear-end brake pipe pressure for a 

period of 10 s, the timer is stopped. 

At this point, the enforcement algorithm calculates the slope of the drop in rear end brake pipe 

pressure, m, as: 

  pn  p

m  0 (   tn    t1 1

The projected penalty brake pipe propagation time, tappl, is then calculated, using the slope, m, 

and the full service brake pipe pressure reduction, which is 26psi: 

  26  tappl  t1     m  (7) 

This value for tappl replaces the default calculated value for tappl in the enforcement algorithm. 

5.3 Propagation Time Adaptive Algorithm Testing 

There were two objectives of testing the propagation time adaptive algorithm. One objective 

was to evaluate the accuracy with which the algorithm estimates the actual propagation time of 

each of the test consists. The other objective was to determine the effect of the addition of the 

propagation time adaptive feature on the enforcement algorithm performance. 

The propagation time adaptive algorithm was tested using the same methods as used for testing 

the base case enforcement algorithm, described in subsection 4.3.1. 

5.3.1 Simulation Test Results 

As with the base case enforcement algorithm simulation test results, discussed in subsection 

4.3.2.1, the results from each test scenario were used to determine the mean and standard 

deviation of the stopping location, which were then used to generate the probability density 

curve for the particular test scenario. Figure 24 shows the probability distribution curve for the 

same 75-car loaded unit freight train traveling 60 mph on flat grade example used in the base 

case enforcement algorithm simulation test results section. The curve is overlaid on the curve 

from the base case enforcement algorithm simulation testing for this test scenario, to show how 

the two relate. 

6) 
49

Figure 24 shows that the addition of the propagation time adaptive feature to the algorithm 

resulted in an improvement of the performance of the algorithm by bringing the mean stopping 

location closer to the target. It also shows that the standard deviation of the distribution was 

decreased, meaning that the enforcement algorithm more accurately predicted the stopping 

distance of each train for this test scenario. 

As with the base case enforcement algorithm simulation testing, the measures of performance 

discussed at the beginning of section 4.3 were used to statistically describe the performance of 

the enforcement algorithm for each test scenario. The mean stopping location relative to the 

target for the example in Figure 24 was 2,508 ft, nearly 500 feet closer to the target than with the 

base case enforcement algorithm, which had a mean stopping location relative to the target of 

2,006 ft. The standard deviation of this distance for the propagation time enforcement algorithm 

was 251 ft, as compared to the 303-foot standard deviation from the base case enforcement 

algorithm for this example. Despite these improvements, the percentage of trains that overshot 

the target was still 0 percent, while the percentage of trains that undershot the target by less than 

the specified 1,000 ft remained at 1 percent, the same as for the base case enforcement algorithm. 

0

0.0002

0.0004

0.0006

0.0008

0.001

0.0012

0.0014

0.0016

0.0018

35000 35500 36000 36500 37000 37500 38000 38500 39000 39500 40000

Stopping Position (ft)

Probability Density

Stage 1 Stage 2

Figure 24. Stopping Location Probability Density Curves for 75-car Loaded Unit Freight 

Train Traveling 60 mph on Flat Grade 

The probability density curves for all of the test scenarios are shown in Appendix F, and the 

statistical measures of performance for all test scenarios can be found in Appendix G. The data 

in these appendices shows that in every test scenario, the propagation time adaptive enforcement 
50

algorithm moved the mean stopping location closer to the target than the base case enforcement 

algorithm. In many cases, this had a positive effect on the performance of the enforcement 

algorithm as a whole, because enforcement started later, the trains stopped closer to the target, 

and still a very low percentage of trains overshot the targets. 

However, in some cases, particularly the empty aluminum cases, this had the negative effect of 

causing more trains to overshoot the targets. The base case enforcement algorithm has several 

assumptions, as discussed earlier. Depending on the specific scenario, some of the assumptions 

are overly conservative, but in other scenarios, the same assumptions may be much less 

conservative. In the case of the empty aluminum trains, the base case algorithm was already 

stopping many of the trains close to the target. When the propagation time adaptive algorithm 

took those cases and removed the conservative propagation time estimation, the enforcement 

algorithm allowed more trains to overshoot, even though the propagation time was more 

correctly estimated. This result shows that other parameters need to be measured and adapted to, 

in addition to the propagation time. 

5.3.2 Field Test Results 

The propagation time adaptive enforcement algorithm was initially tested in the field during the 

week of September 28, 2008. During this field test period, the propagation time algorithm 

estimated the penalty brake propagation time from the brake tests performed before each test run. 

However, due to an error in the software implementation, the calculated value was not entered 

into the enforcement algorithm properly, and the default propagation time from the base case 

algorithm was instead used for each of the test runs. This error was not identified until after the 

field testing was completed. Therefore, the data from the brake tests was valid to determine how 

accurately the algorithm estimated propagation time, but the test runs could not be used to 

determine the effect that the correction had on the enforcement algorithm performance. 

A correction was made in the software to allow for the calculated brake propagation time to be 

used in the enforcement algorithm tests. Because the test runs from the first field test period 

could not be used, the propagation time adaptive enforcement algorithm was retested, with the 

software correction for two of the field test scenarios on October 8, 2008. The two field test 

scenarios that were retested were test scenario 1 (40-car loaded train traveling 40 mph on flat 

grade) and test scenario 7 (75-car loaded train traveling 40 mph on -1.47% grade). Each of these 

test scenarios was repeated three times using the propagation time adaptive enforcement 

algorithm. To provide data for a more direct comparison between the base case enforcement 

algorithm and the propagation time adaptive algorithm under the same conditions, it was decided 

that one test run of the base case enforcement algorithm would also be run for each of the two 

test scenarios during this test period. 

Table 9 shows how the propagation time estimated by the adaptive algorithm and how the 

propagation time estimated by the base case algorithm compare to the actual propagation time 

for the three different length test consists during both the September 2008 and October 2008 

field test periods. The table shows the mean propagation time calculated by each of the 

algorithms for all the brake tests run, and the mean actual propagation time from all of the 

penalty applications made. As the table shows, the base case algorithm made a fair estimation of 

propagation time for the 40-car consist, but drastically overestimated the propagation time for the 
51

other two test consists. The propagation time adaptive algorithm estimated the propagation time 

reasonably accurately for all three test consists. 

Table 9. Estimated and Actual Propagation Times from September 2008 and October 2008 

Field Test Periods 

Stage 2 (Brake Propagation Time Stage 1 (Base Case Algorithm) Adaptive Algorithm) 

Mean Mean Number Calculated Percent Calculated Percent Brake Error Error of Cars Brake App Time Error Brake Apply Error Apply Time Time 

40 43.36 45.89 2.53 5.83% 41.13 -2.23 -5.14%

75 58.6 75.46 16.86 28.77% 56.05 -2.55 -4.35%

10 15 21.92 6.92 46.13% 15.68 0.68 4.53%

The algorithm performance results from the retest of the propagation time adaptive enforcement 

algorithm are presented in Table 10. The results from the base case enforcement algorithm tests 

performed as part of this retest are presented in Table 11. As with the base case enforcement 

algorithm testing, the results were highly repeatable as indicated by the standard deviation of the 

distance to the target in Table 10. The standard deviations were not calculated for the base case 

runs in Table 11, because there was only one run for each test scenario. 

Table 10. Propagation Time Algorithm Field Test Results from October 2008 Field Test 

Standard Standard Deviation 

Number Mean Speed Deviation of Mean Distance of Distance to 

Test of Cars (mph) Speed (mph) Grade to Target (ft) Target (ft) 

1 40 40.3 0.6 Flat 1,130 75 

7 75 40.6 0.2 Decline 3,641 172 

Table 11. Base Case Algorithm Field Test Results from October 2008 Field Test 

Standard Standard Deviation 

Test 

Number 

of Cars 

Mean Speed 

(mph) 

Deviation of 

Speed (mph) Grade 

Mean Distance 

to Target (ft) 

of Distance to Target 

(ft) 

1 40 40.2 N/A Flat 1,310 N/A 

7 75 39.4 N/A Decline 4,205 N/A 

If the mean distances to the targets from the propagation time adaptive algorithm tests in Table 

10 are compared to the mean distances to the targets from the base case algorithm tests in Table 

11, it is apparent that the propagation time algorithm had the effect of decreasing the distance to 

the target after stopping. This is consistent with the results from the simulation testing discussed 

in the previous section, and confirms the positive effect on the performance of the enforcement 

algorithm with the addition of the propagation time adaptive function. 
52

To provide a more direct comparison between each of the enforcement algorithm developments, 

the propagation time adaptive algorithm was also tested during the testing of the train weight and 

braking efficiency adaptive algorithms. The train weight and braking efficiency adaptive 

algorithms were both field tested during the week of February 9, 2009. During this test period, 

the propagation time algorithm performed significantly worse than during the September 2008 

and October 2008 test periods. 

Table 12 shows the accuracy of the propagation time estimates for the February 2009 field test 

period. The table shows that the propagation time adaptive algorithm significantly overestimated 

the propagation time for both the 40-car and 75-car test consists. To understand the reason for 

the error during the February 2009 test period, examining the EOT data used by the algorithm to 

estimate the propagation time is necessary. 
53

Table 12. Estimated and Actual Propagation Times from February 2009 Field Test Period 

Stage 2 (Brake Propagation Time Stage 1 (Base Case Algorithm) Adaptive Algorithm) 

Mean Mean Calculated Number Percent Calculated Percent Brake Brake Apply Error Error of Cars Error Brake Apply Error Apply Time Time Time 

40 44.54 45.89 1.35 3.03% 57.87 13.3 29.93%

75 70.91 75.46 4.55 6.42% 88.47 17.6 24.76%

10 15.14 21.92 6.78 44.78% 14.95 -0.19 -1.25%

Figure 25 shows the EOT data for both the brake tests and the full-service applications for the 

40-car tests from the September 2008 and October 2008 test periods. Figure 25 shows the same 

data for the February 2009 test period. In each of these charts, the brake test data is identified by 

the curves that level off around 75 psi, while the full-service applications level off at between 60 

and 65 psi. 

55

60

65

70

75

80

85

90

0 20 40 60 80 100 120

Time (s)

EOT Brake Pipe Pressure (psi)

40-1 40-2 40-3 40-4 40-5 40-6 40-7 40-8 40-9 t1r3 t4r3 rt1r2 rt1r3

rt1r4 rt1r5 rt1r6

Figure 25. EOT Data from 40-car Tests from September 2008 and October 2008 

Field Test Periods 

Both Figure 25 and Figure 26 show that the slope of the EOT brake pipe pressure drop was 

approximately the same for the brake tests and for the full-service applications. However, in 

Figure 25 the EOT pressure levels off and remains constant for a relatively long period of time 
54

(15–20 s). In Figure 26, the EOT pressure levels off for a relatively short period of time (<10 s) 

before dropping further. The propagation time adaptive algorithm uses a wait period of 10 s to 

identify the point at which the brake pipe pressure levels off and uses this point to determine the 

slope of the brake pipe pressure drop. In the case of the February 2009 test period, the point 

identified by this method is far past the actual level-off point. 

The most likely reason for this change in behavior is varying environmental conditions. The air 

in the brake system acts differently when the ambient pressure and temperature are different. 

Therefore, this issue was not identified in the original test periods. 

An alternate method for determining the slope of the brake pipe pressure drop is to calculate the 

slope between each data point and compare it to the slope calculated between the previous two 

data points. When the slope begins to level off dramatically, the brake pipe pressure has leveled. 

Because this issue was not identified until the final test period for the project, this method was 

not implemented and tested during this project, but it is recommended that this or another 

approach be implemented and tested in a variety of operating conditions in future work. 

If this issue can be resolved, the propagation time adaptive algorithm shows promise for 

providing a more accurate stopping distance prediction calculation to be used in enforcement 

algorithms. 
55

55

60

65

70

75

80

85

90

0 20 40 60 80 100 120

Time (s)

EOT Brake Pipe Pressure (psi)

40-1 40-2 40-3 40-4 40-5 40-6 40-7 t1r1 t1r2 t1r6 t1r7 t1r8 t1r9

Figure 26. EOT Data from 40-car Tests from February 2009 Field Test Period 

5.4 Operational Impact of Propagation Time Adaptive Enforcement Algorithm 

The measurement of propagation time can be performed during the standard brake test that is 

required before the train leaves its initial terminal and again after cars are set out or picked up 

enroute. However, in come cases, the motive power and the EOT device have not yet been 

coupled to the train when the brake test is made. Instead, air pressure from the yard air supply is 

used to charge the train in these cases. The only negative impact on current railroad operations is 

that, for these cases, the locomotives and EOT devices will need to be coupled to the train and 

the PTC system activated before the brake test is performed. 

Alternatively, the algorithm could use conservative estimates (e.g., from the base case algorithm) 

for propagation time until the first brake application is made on the road. This would allow yard 

air to be used for the initial brake pipe tests, but would eliminate the benefit of the propagation 

time adaptive algorithm until a brake application is made. 
56

6 Train Weight Adaptive Algorithm Development and Testing 

The second adaptive modification to the base case enforcement algorithm is to estimate the 

actual weight of the train on which the enforcement algorithm is running. The weight of the train 

is an essential parameter for the stopping distance prediction function of the enforcement 

algorithm. It is used to estimate the resistive forces acting on the train, to determine the grade 

and curve forces acting on the train, and to solve the equation of motion for the acceleration at 

each time step in the numerical integration process described in section 4.1. 

The accuracy of the train weight provided to the enforcement algorithm can have a significant 

effect on the accuracy of the stopping distance prediction. The base case enforcement algorithm 

is given a train weight at initialization. The source of this train weight information may vary 

based on the railroad it is operating on, the train type, the commodity being transported, the 

location where the train is assembled, and possibly other factors. In some cases, the weight 

provided may be an agreed weight used to calculate shipping costs. In other cases, the weight 

may be assumed to be the rated GRL of the vehicle. Quite often, the shippers provide the lading 

weights, which are frequently only rough estimates. In any case, some error associated with the 

weight provided to the enforcement algorithm by the ground system is highly likely. 

A method for measuring the actual weight of the train could significantly reduce the error in 

stopping distance prediction associated with the assumed weight provided to the enforcement 

algorithm. This section includes the development process, definition of, and testing of the train 

weight adaptive algorithm. 

6.1 Development of the Train Weight Adaptive Algorithm 

The train weight adaptive algorithm is based on the concept that the acceleration and forces 

acting on the train can be measured or estimated while the train is accelerating from its point of 

initiation and used in the equation of motion to solve for the actual weight of the train. 

Mathematically, this is expressed in the following equation: 

F  m a , (8) 

where F is the sum of the forces acting on the train, m is the train mass, and a is the 

acceleration of the train. The mass in this equation is independent of the force due to the 

gravitational pull of the Earth. The weight of the train is related to the mass by this gravitational 

force, generally accepted as approximately 32.2 ft/s2

. The train mass, m, in pounds, is therefore 

related to the weight of the train, W, in tons, by the following relationship: 

W  2000

m  32.2 (9) 

Substituting for the mass in the first equation leaves the following equation: 

 W  2000 F   a

32.2 (10) 
57

The forces acting on the train at any moment may include the tractive or dynamic brake effort 

produced by the locomotive(s), the bearing, rolling, and aerodynamic resistive forces acting on 

the train, the force due to the track grade, the resistance due to track curvature, and the force due 

to train braking. Assuming that no braking (dynamic or automatic air brakes) is underway at the 

time the weight calculation is performed, and substituting these forces into the previous equation, 

leaves the following: 

W  2000 FTE  FRES  FGRD  FCRV   a

32.2 , 

where FTE is the tractive effort, FRES is the combined resistive forces acting on the train, FGRD is 

the grade force, and FCRV is the curving resistance. 

The input data available to the algorithm consists of data from the onboard system including 

locomotive speed, throttle setting, and location; data input by the user including number and type 

of cars, number and type of locomotives, and total train length; and finally, data referenced from 

the track database. This data must be used to estimate all of the unknowns in the equation above 

to solve for train weight. 

To estimate the acceleration of the train at each time step, the speed of the lead locomotive over 

multiple time steps is used (for this project, the time step used was one second). Specifically: 

at  vt1  vt , 

where at is the acceleration of the train at the given time step, vt is the velocity of the train at the 

given time step, and vt+1 is the velocity of the train at the next time step. Several potential issues 

exist with this method of estimating train acceleration. 

First, by using the speed of the lead locomotive as the train speed, the algorithm assumes the 

train to be a single mass, accelerating as one. In actuality, a train is a chain of masses with the 

potential for relative motion between each mass. Therefore, for this assumption to be accurate, 

the relative motion between each car in the train must be minimal. When the train begins 

accelerating from a stop, the slack is pulled out of each car one by one, which sends force waves 

through the train. Similarly, when the locomotive throttle setting is changed, it sends a force 

wave through the train, which results in relative motion between the cars for some period of 

time. Therefore, the best time to collect data for the train weight corrective algorithm is when 

the train has been accelerating in a constant notch long enough to allow for the force waves to 

settle. 

Through both TOESTM simulation tests and instrumented coupler data from the base case 

enforcement algorithm field tests, it was determined that when the train is traveling at least 10 

mph and has remained in a constant notch for 20 s, the force waves are generally minimal. 

The second potential issue with this method of estimating train acceleration is the frequency of 

train speed measurement. In this implementation, the algorithm receives speed data from the 

onboard system once per second. Using speed data collected at 1 Hz results in very choppy 

acceleration data. This is illustrated in Figure 27, which shows the speed from a TOESTM

(11) 

(12) 
58

simulation of a 40-car loaded unit train accelerating in a constant notch, and the acceleration of 

the train as calculated from the speed data once per second. 

To provide more accurate train acceleration data, the acceleration must be filtered. Figure 27 

shows the acceleration data with a simple Butterworth filter applied. As the figure shows, this 

acceleration data is much smoother, and provides a better estimate for the train weight 

calculation. 

0

2

4

6

8

10

12

14

0 20 40 60 80 100

Time (s)

Speed (mph)

0

1

2

3

4

5

6

Acceleration (mph/min)

Speed Acceleration Filtered Acceleration

120

Figure 27. Speed and Acceleration for a 40-car Loaded Unit Train Modeled by TOESTM

To estimate the tractive effort produced by the locomotives, several different techniques may be 

employed. The most accurate method is to measure the voltage and current on each of the 

traction motors on each locomotive in the consist, and use the data to calculate the tractive effort 

produced at the rail for each traction motor. A simpler version of this method is to measure the 

voltage and current on just the second traction motor of each locomotive, and assume the other 

traction motors on each locomotive produce the same amount of tractive effort. The second 

traction motor is used in this method because it is not uncommon to have wheel slip on the first 

axle of the locomotive, which can produce erroneous tractive effort results. The major drawback 

to using this method is that it requires additional instrumentation on every locomotive, and also 

requires that the data be passed from trailing locomotives up to the onboard system operating on 

the lead locomotive. 
59

On many of the newer locomotives, the tractive effort is measured and displayed in the cab of the 

locomotive. It may be possible to tap into this measurement and provide the data to the 

enforcement algorithm. Also, this method may require additional instrumentation and a method 

for passing the data from trailing locomotives to the lead locomotive. This method was not 

investigated as part of this project, as the test locomotives available do not include this 

functionality. 

The simplest method for estimating tractive effort is to use tractive effort tables. These tables (or 

their associated tractive effort curves) are generated by the locomotive manufacturers for every 

locomotive produced. Each tractive effort lookup table consists of a column of speeds from 0–

70 mph in 1-mph increments and a column of tractive effort data for each of the eight throttle 

notches. The onboard system measures the speed and locomotive notch, which can be 

referenced to the tables to determine the tractive effort produced by each of the locomotives. 

The drawbacks to this method are that the tractive effort estimate is a theoretical tractive effort 

and does not take into account any degradation of the locomotive or if any of the traction motors 

are cut out. Additionally, tractive effort tables must be available for each of the locomotives in 

the test consist. Ultimately, for this project, this method of looking up tractive effort from 

available tractive effort tables was determined to be the most feasible method. 

The remaining forces on the train are estimated using generally accepted methods.5

 The resistive 

forces are estimated using the modified Davis equation. The grade force is estimated by 

assuming 20lbf/lb/percent grade, and the curve resistance is estimated by assuming 

0.8lbf/lb/degree of curvature. These methods are defined more explicitly in the following 

algorithm definition section. The methods for estimating grade and curve are designed with the 

assumption that the weight of the train is uniformly distributed throughout the length of the train. 

This method is sufficient for this study, as only unit train operations are considered, but a method 

for estimating these forces with a train of nonuniform mass distribution, such as the method 

defined in the base case enforcement algorithm definition document, would need to be applied to 

other train types. 

Using the methods described in this section to estimate train acceleration and the forces acting on 

the train, it is possible to develop an algorithm capable of estimating train weight. The weight 

calculation can be performed once per second of data. By averaging the weight calculated at 

each time step for many time steps, the error in individual weight calculations can be minimized. 

Tests performed in the development of the algorithm suggest that averaging 20 independent 

weight calculations provides a reasonably accurate weight estimation. 

6.2 Train Weight Adaptive Algorithm Definition 

The first step in determining the train weight is collecting a usable data set from the onboard 

system. When the train has been traveling in excess of 10 mph in a constant notch for 20 s, the 

algorithm will begin collecting location, speed, and notch information from the onboard system 

once per second. 

Once 20 samples have been collected, the algorithm calculates the train acceleration for each 

time step, using the following method: 
60

at  vt1  vt , (

where at is the acceleration at the given time step, vt is the velocity at the given time step, and vt+1

is the velocity at the next time step. The acceleration is then filtered using a fifth order low-pass 

Butterworth filter with a cutoff frequency of 1/16 Hz. 

To solve for the train weight, the algorithm starts with the equation of motion, for each time step: 

F  m a , (

where F is the sum of the forces acting on the train, m is the train mass, and a is the 

acceleration of the train, discussed above. The train mass, m, in pounds, is related to the weight 

of the train, W, in tons, by the following relationship: 

W  2000

m  32.2 (

Substituting for the mass in the first equation leaves the following equation: 

 W  2000 F   a

32.2 (

The sum of the forces acting on the train include the tractive effort produced by the 

locomotive(s), FTE; the resistive forces acting on the train, FRES; the force due to the track grade, 

FGRD; the force due to track curvature, FCRV; and the force due to train braking, FBRK. Assuming 

the brakes are not applied and substituting for F results in: 

W  2000 FTE  FRES  FGRD  FCRV   a

32.2 (

The tractive effort produced by the locomotive(s) is a function of the speed and throttle setting of 

the locomotive(s), and is independent of the weight of the train. This force is determined from 

tractive effort lookup tables for each of the locomotives. 

For each time step, the algorithm looks up the tractive effort produced by each locomotive (using 

the speed and throttle setting at that time step and the tractive effort lookup table for that 

locomotive) and sums them to determine the force on the train due to tractive effort for that time 

step. If the speed is between two entries in the lookup table, the algorithm performs a linear 

interpolation between the two boundary entries to determine the tractive effort at that time step. 

The resistive forces on the train are estimated using the modified Davis equation: 

FRES    0.6W  20 n 0.01W  v 0.07  N  v

2 , (18)

where n is the number of axles on the train, v is the velocity of the train, and N is the number of 

cars in the train. 

13) 

14) 

15) 

16) 

17) 
61

The force due to track grade is determined from the following equation: 

FGRD  20W G , (19) 

where G is the average percent grade under the train. The average percent grade under the train 

is determined by the following equation: 

  E  E G  HE TE *100

L , (20) 

Where EHE is the elevation at the head end of the train, ETE is the elevation at the tail end of the 

train, and L is the length of the train. The elevations are determined by referencing the head and 

tail-end positions with the data in the track database, where the tail-end position is the difference 

between the head-end position and the train length. It should be noted that this method of 

determining the resistance due to track grade is only accurate for trains with a uniform mass 

distribution, and therefore some error will be introduced by using this assumption. 

The force due to track curvature is determined from the following equation: 

FCRV  0.8W C , (21) 

where C is the average degree of curvature of the track under the train. To determine the average 

degree of curvature under the train, the algorithm looks at the track database between the head 

end and tail end of the train to determine the degree(s) of curvature under the train. The average 

degree of curvature is then determined from the following: 

 L1   L   L  C  C1            C 2    C n

  L 2 

T   L n

T   LT , (22) 

where C1, C2, ..., Cn are the various degrees of curvature under the length of the train, L1, L2, ..., 

Ln are the length of the train that is on the corresponding degree of curvature, and LT is the length 

of the entire train. If a portion of the train is on a spiral, the following formula is used to 

determine the value of C for the length of the train that is on the spiral: 

 C  C   end start   D  L  2  D1

 C  C spiral 

spiral start 

2 , (23) 

where Cstart is the degree of curvature at the start of the spiral, Cend is the degree of curvature at 

the end of the spiral, and Lspiral is the length of the spiral. D1 is the distance from the beginning 

of the spiral to the head end of the train, if the head end of the train is on the spiral. If the head 

end of the train is beyond the spiral, then D1 is equal to the length of the spiral. D2 is the distance 

from the beginning of the spiral to the tail end of the train, if the tail end of the train is on the 

spiral. If the tail end of the train has not yet reached the spiral, then D2 is equal to zero. 
62

It should be noted that this method of determining resistance due to track curvature, like the 

method for determining resistance due to track grade, is only accurate for trains with uniform 

mass distribution, and therefore some error will be introduced by using this assumption. 

Substituting the relationships discussed above in for FRES, FGRD, and FCRV, results in the 

following: 

FTE      0.6W  20 n   2000 W v W

   0.01  0.07  N  v

2     20W G  (0.8W C)   a

32.2

 (24) 

Solving for the train weight, W: 

FTE     

   W 2000  20 n  0.07  N  v

2    a    0.6W  0.01W  v 20W G  0.8W C  32.2 

 

FTE     2000 a   20 n    0.07  N  v

2  W     0.6  (0.01 v)    20G  0.8C  32  

FTE    20 n  0.07  N  v

2  W   2000 a      0.6   (0.01 v)    20G  0.8C  32   (25) 

Once the weight is calculated for each time step, the mean and the standard deviation of the 

calculated weight are determined for all the time steps. If the standard deviation is within 5 

percent of the mean value for calculated weight, then the mean is assumed to be the actual train 

weight and replaces the value entered by the ground system in the enforcement algorithm. 

6.3 Train Weight Adaptive Algorithm Testing 

The train weight adaptive enforcement algorithm was tested in the same manner as the previous 

two stages of enforcement algorithm testing. 

6.3.1 Simulation Test Results 

The simulation testing of the train weight adaptive algorithm resulted in the same type of results 

as for the simulation testing of the first two enforcement algorithms. Using the same example 

used in the previous simulation test results sections of a 75-car loaded unit freight train traveling 

60 mph on flat grade, a comparison of the performance of the base case enforcement algorithm, 

the propagation time adaptive enforcement algorithm, and the train weight adaptive enforcement 

algorithm can be made. Figure 28 shows the probability density curves for all three enforcement 

algorithms for this example. 


63

0

0.0005

0.001

0.0015

0.002

0.0025

35000 35500 36000 36500 37000 37500 38000 38500 39000 39500 40000

Stopping Position (ft)

Probability Density

Stage 1 Stage 2 Stage 3

Figure 28. Stopping Location Probability Density Curves for a 75-car Unit Freight Train 

Traveling 60 mph on Flat Grade 

The curves in Figure 28 indicate that the mean stopping location moved closer to the target with 

the addition of the train weight adaptive feature to the algorithm in this example. The standard 

deviation was also reduced, indicated by the tighter distribution. This example illustrates that the 

train weight adaptive feature had a positive effect on the performance of the enforcement 

algorithm. 

The train weight adaptive enforcement algorithm distribution shown in the figure was 

statistically described as having a mean stopping location relative to the target of 2,136 ft, with a 

standard deviation of 205 ft. Compared to the mean of 3,006 ft for the base case enforcement 

algorithm and the mean of 2,508 ft for the propagation time adaptive algorithm, the train weight 

adaptive algorithm displayed considerably better performance for this example. However, the 

percent of trains that overshot the target was 0 percent, and the percent that undershot by less 

than the 1,000-foot specification was 1 percent, indicating no change from the previous two 

algorithms for this example. 

The probability density curves for all of the test scenarios are shown in Appendix F, and the 

statistical measures of performance for all test scenarios can be found in Appendix G. Some 

general conclusions can be drawn from the data contained in these appendices. For the majority 

of the loaded train scenarios, the train weight adaptive enforcement algorithm moved the mean 
64

stopping location closer to the target without increasing the percent that overshot, indicating a 

general improvement in the performance of the enforcement algorithm. 

For the empty test scenarios, however, the train weight adaptive enforcement algorithm moved 

the mean stopping location further from the target. This indicates that the assumption of the 

weight of an empty car made by the base case enforcement algorithm was generally lighter than 

the actual weight of the empty cars. Therefore, when the weight was corrected, the algorithm 

stopped the train sooner than when the assumed train weight was used. 

6.3.2 Field Test Results 

The train weight adaptive enforcement algorithm was field tested during the week of February 9, 

2009. For this round of field testing, the base case enforcement algorithm and propagation time 

adaptive enforcement algorithm were each run once for each test scenario, to provide a more 

direct comparison to the train weight adaptive enforcement algorithm. The train weight 

enforcement algorithm was run twice for each test scenario to test the repeatability of the train 

weight algorithm under the same conditions. 

The field test matrix was also modified for this test period. Field test scenarios 3 and 4 were 

removed from the test matrix. These test scenarios were proven to be the least difficult for the 

enforcement algorithm to predict the stopping distance for the previous field test periods. In fact, 

the base case enforcement algorithm met both the safety and performance specifications for each 

of these test scenarios. Therefore, the decision was to spend the limited field test time on testing 

the previous algorithms for a more direct comparison of the performance of the algorithms 

developed. 

The actual weight of all of the cars in the test consist were measured on a scale for comparison 

against the weights measured by the train weight adaptive enforcement algorithm for each test 

consist. The train weight of each test consist was measured by the train weight adaptive 

algorithm before each test run. Therefore, the weight was measured by the algorithm for each 

test consist multiple times. Table 13 displays the mean, maximum, and minimum train weight 

measured by the train weight algorithm, along with the actual weight measured by the scale and 

the weight assumed by the base case enforcement algorithm, for each consist. 

As the data in Table 13 indicates, the weights of the test consists were very close to the weights 

assumed by the base case enforcement algorithm, because the cars used in the test consists were 

loaded very closely to their rated GRL. This is less likely to be the case for trains in revenue 

service. The accuracy of the data given to the enforcement algorithm may vary widely based on 

a variety of factors, as discussed previously. 
65

Table 13. Actual and Estimated Train Weights for February 2009 Field Test Period 

 

40-car Consist 75-car Consist 10-car Consist 

Weight 

(tons) Error 

Percent 

Error 

Weight 

(tons) Error 

Percent 

Error 

Weight 

(tons) Error 

Percent 

Error 

Actual 6,999 0 0% 12,532 0 0% 1,853 0 0%

Assumed 

(Base Case) 6,947 -52 -1% 12,460 -72 -1% 1,845 -8 0%

Mean 

(Calculated 

by Adaptive 

Algorithm) 7,864 865 12% 14,165 1,633 13% 1,751 -102 -6%

Maximum 9,447 2,447 35% 15,383 2,851 23% 2,339 486 26%

Minimum 6,390 -609 -9% 13,200 668 5% 1,364 -488 -26%

The data in Table 13 indicates that the train weight adaptive enforcement algorithm tended to 

overestimate the train weight for the longer consists. The short consist, however, had a mean 

train weight measurement that was closer to the actual weight with the minimum and maximum 

measurements equally spaced around the actual weight. This general difference in algorithm 

performance may be due to the locomotive consist, which was the same for both the 40-car and 

75-car test consists, but was different for the 10-car consist. It is possible that the tractive effort 

curves used for the 10-car locomotive consist were more representative of their actual 

performance than the tractive effort curves used for the longer locomotive consists. In 

simulation testing, the theoretical and actual tractive effort produced by the locomotives are 

identical, which explains why the algorithm did not tend to overestimate the weight in the 

simulation testing as it did in the field test cases mentioned. This highlights the importance of 

developing an accurate method for estimating the tractive effort produced by the locomotive 

consists. 

Table 13 also gives an indication of the range of weights estimated by the algorithm. This is 

likely not due to any one specific reason, but rather to a combination of errors in the estimation 

of each of the different forces acting on the train at different times. For this test, the 20 

individual measurements were averaged to determine the train weight for each test. A method 

for collecting more data and performing some filtering on the output could provide more 

accurate measurements. Conceivably, the algorithm could make an initial estimate of train 

weight, but then continue to refine this measurement as more data is available as the train 

continues to travel. This concept was not explored further as part of this work scope, but the 

recommendation is that it be considered for future studies or for developing an implementation 

of this algorithm for revenue service. 

Table 14 shows the results of the enforcement tests for the train weight adaptive enforcement 

algorithm. Table 15 shows the results of the propagation time adaptive enforcement algorithm 

test from this test period, and Table 16 shows the results of the base case enforcement algorithm 

test from this test period. Because each of these algorithms was only run once per test scenario, 

the standard deviation columns in Tables 15 and 16 display “N/A.” 
66

Table 14. Train Weight Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Deviation of 

Number Mean Speed Deviation of Mean Distance Distance to 

Test of Cars (mph) Speed (mph) Grade to Target (feet) Target (feet) 

1 40 40.2 0.4 Flat 1,695 777 

2 40 59.7 2.3 Flat 2,150 260 

5 10 40.1 0.1 Flat 1,224 863 

6 75 10.0 0.1 Flat 240 9 

7 75 40.1 0.0 Decline 5,387 56 

Table 15. Propagation Time Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Deviation of 

Number Mean Speed Deviation of Mean Distance Distance to 

Test of Cars (mph) Speed (mph) Grade to Target (feet) Target (feet) 

1 40 53.1 N/A Flat 1,677 N/A 

2 40 58.0 N/A Flat 2,609 N/A 

5 10 40.5 N/A Flat 1,152 N/A 

6 75 9.8 N/A Flat 194 N/A 

7 75 38.2 N/A Decline 4,980 N/A 

Table 16. Base Case Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Deviation of 

Number Mean Speed Deviation of Mean Distance 

Test of Cars (mph) Speed (mph) Grade Target (feet) 

1 40 40.1 N/A Flat 1,047 

2 40 56.1 N/A Flat 2,425 

5 10 40.0 N/A Flat 1,297 

6 75 10.1 N/A Flat 142 

7 75 38.0 N/A Decline 4,100 

to Distance to 

Target (feet) 

N/A 

N/A 

N/A 

N/A 

N/A 

If the mean distance to the target is compared for each of the three enforcement algorithms, from 

the data in Tables 14, 15, and 16, the base case enforcement algorithm was the closest to the 

target. During this test period, a flaw in the propagation time adaptive enforcement algorithm 

was identified that was causing the propagation time to be estimated much longer than the actual 

propagation time, which results in a negative impact on the performance of the enforcement 

algorithm, as discussed in subsection 5.3.2. 

The train weight adaptive enforcement algorithm had a further negative impact on the 

enforcement algorithm performance due to the overestimation of the train weight discussed 

above. The one exception to this is for test scenario 2, which was closer to the target on average 

for the train weight adaptive algorithm than for the propagation time adaptive algorithm. 
67

Although the specific reason for this is unknown, the fact that only one test run was performed 

for the propagation time algorithm suggests that this test run may not have been typical. 

The data in Table 14 also indicates a large standard deviation of the distance to the target for 

most of the test scenarios. This is due to the wide variation in the estimation of train weight 

discussed above. This large variation for train weight measurements of the same test consist has 

a significant impact on the performance of the enforcement algorithm. As discussed earlier, a 

method for minimizing this variation by using more data points and some filtering routines may 

enable better performance from the train weight adaptive enforcement algorithm. 

6.4 Operational Impact of the Train Weight Adaptive Enforcement Algorithm 

The train weight adaptive enforcement algorithm was designed to function when the train is 

accelerating to track speed. It requires that the train be traveling over 10 mph with a constant 

throttle setting for some time. In many cases, the locomotive engineer will increase the throttle 

setting of the locomotive to a certain setting and leave it there while the train accelerates to track 

speed. There is no negative impact on operations from the use of the train weight adaptive 

algorithm in this case. However, in cases where the locomotive engineer would normally not 

hold the throttle setting constant, the algorithm may cause a minimal impact if the locomotive 

engineer is required to hold the throttle constant for a given period of time. 

It may be possible, in future developments of the train weight adaptive algorithm, to make an 

accurate estimation of train weight without this requirement. Particularly, if the concept of 

constantly measuring and adapting the train weight throughout the trip is explored, the possibility 

exists of eliminating this requirement altogether, meaning there would be no negative operational 

impact. 
68

7 Braking Efficiency Adaptive Algorithm Development and Testing 

The final adaptive improvement to the base case algorithm adapts to the actual braking efficiency 

of the train. Braking efficiency is a term that refers generally to the braking capability of the 

train. It is related to the brake ratio, which is defined by the AAR standards as the net brake shoe 

force with a 30-psi reduction from a 90-psi brake pipe divided by the GRL.3

The braking efficiency of the train is an important parameter when performing stopping distance 

prediction calculations. During a penalty brake application, the largest two forces acting on the 

train are the force due to grade and the force due to train braking. A significant error in the 

estimation of braking force can result in a large error in stopping distance prediction. 

The base case enforcement algorithm estimates braking efficiency by assuming a certain amount 

of brake shoe force, defined as “braking power” in the algorithm definition document, with 50 

psi brake cylinder pressure, per car, based on the GRL of the car. Because the base case 

enforcement algorithm safety objective is of greatest importance, the brake shoe forces assumed 

by the algorithm are worst case. This assumption has a major impact on the performance of the 

enforcement algorithm. 

An algorithm capable of measuring the actual brake force produced by a given train has the 

potential to minimize the negative operational impact of the enforcement algorithm significantly, 

without negatively affecting the safety objective. The development of this algorithm is discussed 

in this section, followed by the algorithm definition and the testing of the algorithm. 

7.1 Development of the Braking Efficiency Adaptive Algorithm 

The braking efficiency adaptive algorithm concept is similar to that used by the train weight 

adaptive algorithm. In the case of the braking efficiency algorithm, however, the weight is 

assumed to be accurate, and the equation of motion is solved for the braking force acting on the 

train during a service brake application. This brake force can then be used to estimate what the 

braking force would be for a full-service or penalty brake application. 

The base case enforcement algorithm determines the nominal brake shoe force for the train, FBNOM by summing the assumed brake shoe force, or braking power, for all cars in the train. This 

nominal brake shoe force is used to determine the maximum available brake shoe force, FB-MAX, 

through the following relationship: 

 P  F  equ

BMAX   ,  FBNOM (26

 50 

where Pequ is the maximum available brake cylinder pressure for full service braking, determined 

from the monitor brake system function, discussed in section 4.1. The maximum available brake 

shoe force, FB-MAX, is used to determine the total brake shoe force for the entire train at any 

moment in the braking distance prediction. At each moment, the total braking force is equal to 

the brake shoe force at that moment multiplied by the coefficient of friction between the brake 

shoes and the wheels: 

FB,BCP  FSHOE,BCP COFSHOE,WHEEL (27

) 

) 
69

The coefficient of friction is a function of the velocity of the train, and therefore the actual 

braking force must be calculated using the brake shoe force at each time step of the prediction 

loop. The maximum brake shoe force is a function of the current state of the brake system, 

meaning that if the brake system is not fully charged due to a previous brake application, the 

maximum available brake shoe force will be less. The state of the brake system is determined at 

the moment the stopping distance calculation is made. Therefore, the most logical parameter to 

estimate for the braking efficiency algorithm is the nominal brake shoe force of the train with 50 

psi brake cylinder pressure, FB-NOM. 

The algorithm is designed to operate whenever a service brake application is made. The 

equation of motion relates the sum of the forces acting on the train to the acceleration of the train 

during the service brake application: 

W  2000 FTE  FDB  FRES  FGRD  FCRV  FB,BCP   a , (28) 32.2

where FTE is the tractive effort produced by the locomotive(s), FDB is the dynamic brake effort 

produced by the locomotive(s), FRES is the combined resistive forces acting on the train, FGRD is 

the force due to track grade, FCRV is the resistance due to track curvature, and FB,BCP is the 

resistance due to the train air brakes at the brake cylinder pressure resulting from the service 

brake application, which is defined as PBC. 

Solving this equation for the braking force at PBC, FB,BCP, results in the following relationship:

W  2000 FB,BCP  FTE  FDB  FRES  FGRD  FCRV   a (29) 32.2

The acceleration of the train and the forces in this equation are all estimated in the same manner 

as in the train weight adaptive algorithm, discussed in section 6.1. 

Once the braking force at PBC is solved for, the brake shoe force at PBC, FSHOE,BCP, can be 

estimated through the following relationship: 

F

F B

SHOE BCP  ,BCP, , (30) COFSHOE,WHEEL

where FSHOE,BCP is the force the brake shoe force at PBC and COFSHOE,WHEEL is the coefficient of 

friction between the brake shoes and the wheels. Field tests have been used to empirically derive 

the relationship between this coefficient of friction and the velocity of the train. A variety of 

different equations have been used to fit the data from these field tests. The following equation, 

used by the base case enforcement algorithm to determine the braking force for stopping distance 

prediction, is a reasonable estimation for coefficient of friction: 

1  0.0031v COFSHOE,WHEEL     .023  0.0092v 1   (31)  2.5  0.0833v 

where v is the velocity of the train, in mph. To determine the brake shoe force at 50 psi brake 

cylinder pressure, FB-NOM, from the brake shoe force at PBC, FSHOE,BCP, an equation must be 
70

developed to relate the two. To develop this relationship, it is necessary to understand the 

operation of the brake system. When air pressure builds in the brake cylinder, it pushes a piston 

out that drives the brake shoes against the wheels. When the pressure is released from the brake 

cylinder, a spring forces the piston back, which pulls the brake shoes away from the wheels. For 

the brakes to apply, enough pressure must build in the brake cylinder to overcome the force of 

this return spring. It takes approximately 10 psi brake cylinder pressure to overcome this force 

and drive the brake shoes against the wheels. 

At this point, the force from the brake cylinder pressure is enough to hold the brake shoes against 

the wheels, but not enough to generate any force against the wheel. As more brake cylinder 

pressure builds, the force against the wheels begins to increase and braking occurs. If it is 

assumed that after the brake cylinder pressure reaches 10 psi, the brake shoe force increases 

linearly as brake cylinder pressure increases, it is possible to relate the brake shoe force at any 

brake cylinder pressure, FSHOE,BCP, to the brake shoe force at 50 psi, FB-NOM, as a two-piece linear 

function. Figure 29 shows this relationship, which is expressed mathematically as: 

 0, if BCP  10 psi FSHOE,BCP  

  (32) 0.025 PBC  0.25  FSHOE,50 psi , if BCP  10 psi

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

0 10 20 30 40 50 60

Brake Cylinder Pressure (psi)

Ratio of Brake Shoe Force to Brake Shoe Force at 50 psi

70

Figure 29. Brake Shoe Force as a Function of Brake Cylinder Pressure 

It can be seen from this relationship that to estimate the brake shoe force at 50 psi, FB-NOM, the 

brake cylinder pressure, PBC, must be known. The brake cylinder pressure can be estimated from 

the brake pipe pressure reduction. When the brake pipe pressure is reduced, air in the auxiliary 
71

reservoir is allowed to move into the brake cylinder until the auxiliary reservoir pressure equals 

the pressure of the brake pipe. However, because the volume of the auxiliary reservoir is two 

and half times the volume of the brake cylinder, the air that is allowed to move from the 

auxiliary reservoir to the brake cylinder generates two and a half times the amount of pressure as 

it did in the auxiliary reservoir. The brake cylinder pressure can therefore be estimated as 

follows: 

PBC  2.5 PRED , (33) 

where PBC is the pressure in the brake cylinder and PRED is the amount of brake pipe pressure 

reduction for the current service application, which is determined by subtracting the current 

head-end brake pipe pressure from the initially charged brake pipe operating pressure. 

To accurately estimate the braking efficiency of the entire train, the algorithm must collect data 

from a brake application that has had enough time to propagate through the entire train. This 

ensures that the train is bunched and in-train forces are minimal, as well as ensuring that the 

brakes have had time to apply on all of the cars. 

The algorithm can determine when a brake application has been made and propagated through 

the train by monitoring the brake pipe pressures at the head and tail end of the train. When the 

head-end brake pipe pressure begins to drop, a brake application has been made. When the tail 

end-brake pipe pressure begins to drop, the brake signal has propagated through the train. When 

both head and tail-end brake pipe pressure remain constant for a period of 10 s, the brake 

application is assumed to be complete. 

The brake application must also be sufficiently large to ensure that the brakes will apply on all of 

the cars. If the brake application is not large enough, the pressure in the brake cylinder may not 

be enough to overcome the return spring and force the brake shoes against the wheels. A 10 psi 

brake pipe reduction is generally considered to be sufficient for applying the brakes on all the 

cars. 

The logic and equations described in this section were used to develop an algorithm capable of 

estimating the brake shoe force generated by the cars with 50 psi in each of the brake cylinders, 

which represents the braking efficiency of the train. This value is estimated at each time step 

that the brakes remain applied on all the cars in the train. These values are then averaged to 

minimize the error associated with any one individual measurement—similar to the averaging 

performed in the train weight adaptive algorithm. 

7.2 Braking Efficiency Adaptive Algorithm Definition 

The algorithm begins by monitoring the head-end brake pipe pressure to identify when a brake 

pipe pressure reduction of at least 10 psi has been made. If the head-end brake pipe pressure 

reaches a value that is at least 10 psi less than the initially charged brake pipe operating pressure, 

the algorithm will begin monitoring the tail-end brake pipe pressure. When both the tail-end 

brake pipe pressure and the head-end brake pipe pressure remain constant (within +/- 1 psi) for 

10 s, the propagation of the brake signal will be considered complete, and the algorithm will 

begin sampling data to determine the force due to this brake application. 
72

The period of data sampling will last for 20 s. If, however, at any point during the data sampling 

period, the head-end brake pipe pressure changes by more than 1psi, the sampling will stop. At 

this point, if at least five samples exist, the algorithm will proceed with estimating the braking 

efficiency. This is to ensure that a brake release or a deeper brake pipe reduction has not been 

made by the locomotive engineer. 

Once the algorithm has a data set of at least five samples, it will estimate the brake cylinder 

pressure for the data collected by using the following equation: 

PBC  2.5 PRED , (34) 

where PBC is the pressure in the brake cylinder and PRED is the amount of brake pipe pressure 

reduction for the current application, determined by subtracting the current head-end brake pipe 

pressure from the initially charged brake pipe operating pressure. 

The algorithm then calculates the train acceleration for each time step (for this project, a time 

step of one second was used), using the following method: 

at  vt1  vt , (35) 

where at is the acceleration at the given time step, vt is the velocity at the given time step, and vt+1

is the velocity at the next time step. The acceleration data is then filtered using a fifth order lowpass Butterworth filter with a cutoff frequency of 1/16 Hz. 

The algorithm uses the filtered acceleration in the following equation to estimate the brake force 

generated by the current brake application for each time step: 

W  2000 FB,BCP  FTE  FDB  FRES  FGRD  FCRV   a , (36) 32.2

where FTE is the tractive effort produced by the locomotive(s), FDB is the dynamic brake effort 

produced by the locomotive(s), FRES is the combined resistive forces acting on the train, FGRD is 

the force due to track grade, FCRV is the resistance due to track curvature, and FB,BCP is the 

resistance due to the train air brakes at each time step. 

The tractive effort produced by the locomotive(s) is a function of the speed and throttle setting of 

the locomotive(s), and is independent of the weight of the train. This force is determined from 

tractive effort lookup tables for each of the locomotives. 

For each time step, the algorithm looks up the tractive effort produced by each locomotive (using 

the speed and throttle setting at that time step and the tractive effort lookup table for that 

locomotive) and sums them to determine the force on the train due to tractive effort for that time 

step. If the speed is between two entries in the lookup table, the algorithm performs a linear 

interpolation between the two boundary entries to determine the tractive effort at that time step. 

The resistive forces on the train are estimated using the modified Davis equation: 

FRES    0.6W  20 n 0.01W  v 0.07 N  v

2 , (37) 
73

where n is the number of axles on the train, v is the velocity of the train, and N is the number of 

cars in the train. 

The force due to track grade is determined from the following equation: 

FGRD  20W G , (38

where G is the average percent grade under the train. The average percent grade under the train 

is determined by the following equation: 

  E  G HE E  TE *100

L , (39

Where EHE is the elevation at the head end of the train, ETE is the elevation at the tail end of the 

train, and L is the length of the train. The elevations are determined by referencing the head and 

tail-end positions with the data in the track database, where the tail-end position is the difference 

between the head-end position and the train length. It should be noted that this method of 

determining the resistance due to track grade is only accurate for trains with a uniform mass 

distribution, and therefore some error will be introduced by using this assumption. 

The force due to track curvature is determined from the following equation: 

FCRV  0.8W C , (40

where C is the average degree of curvature of the track under the train. To determine the average 

degree of curvature under the train, the algorithm looks at the track database between the head 

end and tail end of the train to determine the degree(s) of curvature under the train. The average 

degree of curvature is then determined from the following: 

 L1   L2   L     n  C          C1  C   C

L 2

T  L n    T   LT , (41

where C1, C2, ..., Cn are the various degrees of curvature under the length of the train, L1, L2, ..., 

Ln are the length of the train that is on the corresponding degree of curvature, and LT is the length 

of the entire train. If a portion of the train is on a spiral, the following formula is used to 

determine the value of C for the length of the train that is on the spiral: 

 C C   end  start   D2  D  L  1

  Cspiral  C spiral

start 

2 , (42

where Cstart is the degree of curvature at the start of the spiral, Cend is the degree of curvature at 

the end of the spiral, and Lspiral is the length of the spiral. D1 is the distance from the beginning 

of the spiral to the head end of the train, if the head end of the train is on the spiral. If the head 

end of the train is beyond the spiral, then D1 is equal to the length of the spiral. D2 is the distance 

from the beginning of the spiral to the tail end of the train, if the tail end of the train is on the 

spiral. If the tail end of the train has not yet reached the spiral, then D2 is equal to zero. 

) 

) 

) 

) 

) 
74

It should be noted that this method of determining resistance due to track curvature, similar to 

the method for determining resistance due to track grade, is only accurate for trains with uniform 

mass distribution, and therefore some error will be introduced by using this assumption. 

The brake force determined above is used to estimate the brake shoe force at each time step, 

from the following equation: 

F

FSHOE  B,BCP

,BCP 

  1.023  0.0031v  0.0092v 1     2.5  0.0833v 

The brake shoe force at 50 psi is then estimated using the following equation: 

F

F ,

,50  SHOE BCP

SHOE psi   0.025 PBC  0.25

where PBC is the brake cylinder pressure determined earlier, and FSHOE,50 psi is the brake shoe 

force at a brake cylinder pressure of 50 psi. Once FSHOE,50 psi is determined for each time step, the 

mean and the standard deviation will be determined for all the time steps in the data set. If the 

standard deviation is within 5 percent of the mean value, then the mean will be substituted in for 

FB-NOM in the enforcement algorithm. 

7.3 Braking Efficiency Adaptive Algorithm Testing 

The braking efficiency adaptive algorithm was tested using a combination of simulation testing 

and field testing as described in the test methodology section for the base case enforcement 

algorithm, subsection 4.3.1. 

7.3.1 Simulation Test Results 

The stopping location results for each simulation of each test scenario were used to generate a 

stopping location probability density curve in the same manner as the previous simulation tests. 

The simulation test results for each test scenario of the braking efficient adaptive enforcement 

algorithm test can be compared graphically to the results from the base case, propagation time 

adaptive, and train weight adaptive enforcement algorithms. Appendix F shows these graphical 

comparisons for each of the test scenarios. 

From the example used in the previous simulation test results sections, Figure 30 shows the 

probability density stopping location curves for each of the four stages of enforcement algorithm 

development for a 75-car loaded unit freight train traveling 60 mph on flat grade with a target 

stopping location of 40,000 ft. 

The figure shows that, with each added adaptive feature, the stopping location distribution was 

tighter and the mean stopping location was closer to the target. This indicates a general positive 

effect on the performance of the enforcement algorithm for each of the adaptive enforcement 

algorithm developments. 

(4

(4

3) 

4) 
75

The mean stopping location for the braking efficient adaptive enforcement algorithm was 1,465 

ft short of the target in this example, compared with 2,136 ft for the train weight adaptive 

enforcement algorithm, 2,508 ft for the propagation time adaptive enforcement algorithm, and 

3,006 ft for the base case enforcement algorithm. While 0 percent of the trains overshot the 

target in this case, still only 1 percent undershot the target by less than the specified 1,000 ft in 

this example. Appendix G contains the statistics for all of the test scenarios. 

0

0.0005

0.001

0.0015

0.002

0.0025

35000 35500 36000 36500 37000 37500 38000 38500 39000 39500 40000

Stopping Position (ft)

Probability Density

Stage 1 Stage 2 Stage 3 Stage 4

Figure 30. Stopping Location Probability Density Curves for a 75-car Loaded Unit Freight 

Train Traveling 60 mph on Flat Grade 

The data in these appendices make it apparent that the braking efficiency generally has a 

significantly positive effect on the performance of the enforcement algorithm. In most cases, the 

braking efficiency algorithm moved the mean stopping location closer to the target and increased 

the percent of trains that undershot the target by less than the specified distance without 

increasing the percent of trains that overshot the target. In other cases, the braking efficiency 

algorithm moved the mean stopping location further from the target, but in doing so, the percent 

of trains that overshot the target decreased. 

7.3.2 Field Test Results 

During the week of February 9, 2009, the braking efficiency adaptive enforcement algorithm and 

the train weight adaptive enforcement algorithm were both tested. Field testing included test 

runs with all four of the enforcement algorithms, in five of the original seven test scenarios. At 

least two test runs were completed for each test scenario for the braking efficiency adaptive 
76

enforcement algorithm to provide an indication of the repeatability of the algorithm stopping 

location. 

The braking efficiency adaptive enforcement algorithm estimates the total train brake shoe force 

with 50 psi brake cylinder pressure. Ideally, the test results would provide an indication of the 

accuracy of the estimation of this braking force. However, to test this would require that the 

brake shoe force be measured for every vehicle in the test consist. To measure the brake shoe 

force with 50 psi in the brake cylinder on a single car, load cells are placed between each brake 

shoe and wheel on the car. The brake system is then charged to 70 psi, and a 20 psi brake pipe 

reduction is made to generate 50 psi in the brake cylinder. The forces on the load cells are 

summed to determine the total brake shoe force for the car. This is an expensive and time 

consuming process, and outside of the scope of this project. Therefore, the performance of the 

braking efficiency adaptive algorithm was measured based solely on the stopping locations from 

the enforcement tests. 

Table 17 shows the results from the enforcement tests for the braking efficiency adaptive 

algorithm test runs. Tables 18, 19, and 20 show the results for, respectively, the train weight 

adaptive, propagation time adaptive, and base case enforcement algorithms for this test period. 

These tables are identical to Tables 14, 15 and 16 from subsection 6.3.2, but are repeated here for 

easier comparison. 

Table 17. Braking Efficiency Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Mean Deviation of 

Number Mean Speed Deviation of Distance to Distance to 

Test 

1 

2 

5 

6 

7 

of Cars 

40 

40 

10 

75 

75 

(mph) 

41.2 

62.8 

40.0 

10.0 

44.0 

Speed (mph) 

1.1 

0.2 

0.2 

0.1 

1.0 

Grade 

Flat 

Flat 

Flat 

Flat 

Decline 

Target (feet) 

516 

175 

194 

89 

682 

Target (feet) 

9 

121 

52 

19 

232 

Table 18. Train Weight Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Mean Deviation of 

Number Mean Speed Deviation of Distance to Distance to 

Test of Cars (mph) Speed (mph) Grade Target (feet) Target (feet) 

1 40 40.2 0.4 Flat 1,695 777 

2 40 59.7 2.3 Flat 2,150 260 

5 10 40.1 0.1 Flat 1,224 863 

6 75 10.0 0.1 Flat 240 9 

7 75 40.1 0.0 Decline 5,387 56 

Table 19. Propagation Time Algorithm Field Test Results from February 2009 Field Test 
77

Standard 

Standard Deviation of 

Number Mean Speed Deviation of Mean Distance Distance to 

Test of Cars (mph) Speed (mph) Grade to Target (feet) Target (feet) 

1 40 53.1 N/A Flat 1,677 N/A 

2 40 58.0 N/A Flat 2,609 N/A 

5 10 40.5 N/A Flat 1,152 N/A 

6 75 9.8 N/A Flat 194 N/A 

7 75 38.2 N/A Decline 4,980 N/A 

Table 20. Base Case Algorithm Field Test Results from February 2009 Field Test 

Standard 

Standard Deviation of 

Number Mean Speed Deviation of Mean Distance Distance to 

Test of Cars (mph) Speed (mph) Grade to Target (feet) Target (feet) 

1 40 40.1 N/A Flat 1,047 N/A 

2 40 56.1 N/A Flat 2,425 N/A 

5 10 40.0 N/A Flat 1,297 N/A 

6 75 10.1 N/A Flat 142 N/A 

7 75 38.0 N/A Decline 4,100 N/A 

The data in Table 17 indicates a major improvement in the performance of the enforcement 

algorithm with the addition of the braking efficiency adaptive functionality. The mean distance 

to the target was within the specified distance for all test scenarios. The standard deviation of the 

stopping distance to the target was also significantly lower for most of the test scenarios, due to 

the improved stopping distance prediction. 

An additional benefit realized by the braking efficiency adaptive enforcement algorithm is that it 

compensates for any error in train weight, either from the ground system or from the train weight 

adaptive enforcement algorithm. In some cases, the train weight adaptive algorithm 

overestimated the weight for one test run and underestimated the weight for another, and the 

stopping location remained consistent. This is because the train weight is used in the estimation 

of the braking efficiency. If the train weight is overestimated, the braking efficiency will also be 

overestimated and the net effect will be minimal. 

7.4 Operational Impact of the Braking Efficiency Adaptive Enforcement Algorithm 

The braking efficiency adaptive enforcement algorithm requires a service brake application to be 

made while the train is moving and held long enough to allow for the brakes to apply on all cars 

in the train to get a good set of data for measuring the braking force. Traditionally, railroads 

required that a running brake test be performed after leaving the initial terminal. This practice 

has gone away in recent history due to primarily to the unnecessary fuel cost. Use of the air 

brakes to control train speed has also been significantly reduced and replaced by the use of 

dynamic brakes. Because of this, it is very rare that service brake applications are made enroute. 

Therefore, a brake test may need to be required to realize the benefits of the braking efficiency 

adaptive algorithm. This will have a negative impact on operations that will manifest itself in 

additional trip time and fuel costs. 
78

8 Conclusions 

This study researched, developed, and tested proof-of-concept methods for converting a static 

enforcement algorithm into one which can adapt to the specific characteristics of a train. The 

concept was to identify and to prove the feasibility of these techniques. In general, the 

techniques developed during this project have proven that the concept of measuring the 

characteristics of the train can have an appreciable effect on the performance of the enforcement 

algorithm. Three adaptive routines were developed and tested in this project. 

The propagation time adaptive routine initially proved to be very accurate for estimating the 

actual penalty or full-service brake propagation time. However, as detailed in subsection 5.3.2, 

later field testing proved that some minor enhancements are needed to allow the algorithm to be 

as accurate in all operating conditions. Although the concept for how this enhancement might be 

implemented was discussed, no actual implementation or testing was performed as part of this 

study. For future work in this area, the recommendation is for this concept to be implemented 

and tested to prove the concept in all operating conditions. In addition, tests using EOTs with 

ranging ages and from various manufacturers should be performed to determine the effect they 

may have on the algorithm performance. Overall, the propagation time adaptive routine proved 

to have a significant effect on the performance of the base case enforcement algorithm used in 

this study as detailed in section 5.3. 

The train weight adaptive routine proved to be very accurate at predicting train weight for 

simulation tests, but this accuracy did not follow for the field testing. This is likely due to the 

large number of additional variables that are present in the field. For instance, the TOESTM

model uses the same tractive effort tables as the enforcement algorithm uses, which means the 

tractive effort estimation was quite accurate in the simulation environment. In the field, 

however, the method of using tractive effort tables proved to be somewhat insufficient and 

inaccurate. Another issue in the field testing of this algorithm was the large variance in 

calculated train weight. As discussed in subsection 6.3.2, by using a limited number of 

independent measurements to determine the train weight, wide variations can occur. A method 

for continually refining the train weight measurement through more data and filtering could have 

a significant impact on both the accuracy and variance of the train weight measurement. Future 

work should include researching this concept. 

The impact of the train weight adaptive routine on the performance of the enforcement algorithm 

is largely dependent on the accuracy of the train weight provided to the enforcement algorithm. 

For instance, unit train operations may provide more accurate weights than can be determined by 

the adaptive routine, while the accuracy of container weights on an intermodal train may vary 

widely in comparison to the accuracy provided by the train weight adaptive routine. Other 

options for determining more accurate train weight, such as transmitting vehicle weights in real 

time from data collected from WILD, could prove useful as well. Ultimately, the best method 

for determining an accurate train weight will likely be a combination of techniques. A method 

for determining the confidence in the train weight data could also be implemented and the 

enforcement algorithm safety offset could be a function of this confidence. While the concept of 

measuring train weight has been proven to be possible through this project, more research still 

needs to be performed in this area, and future studies should consider these concepts. 
79

The braking efficiency adaptive routine proved to have the most significant impact on the 

performance of the enforcement algorithm. As discussed in section 7.3, the braking efficiency 

enforcement algorithm had the lowest percentage of trains that overshot the target and also the 

lowest percentage of trains that undershot the target by more than the specified distance. 

Because the adaptive routines were built progressively, this impact is due to all three of the 

adaptive routines, but the performance was improved significantly between stage 3 (train weight) 

and stage 4 (braking efficiency) of the development process. The magnitude of the improvement 

due to the braking efficiency routine is likely due to the worst case assumptions of braking 

efficiency used by the base case enforcement algorithm. 

The assumptions on braking efficiency may also be improved without the use of the adaptive 

routine. For instance, if the enforcement algorithm were to have knowledge of the build dates of 

the cars in the consist, or the types of cars in the consist, less conservative assumptions on 

braking efficiency could likely be made. As with the train weight enforcement algorithm, a 

combination of these techniques will likely prove to be the best method, although perhaps not the 

most practical. 

Although the concept of measuring the characteristics of a train and using the data to improve the 

enforcement algorithm has been shown to be feasible in this project, continued research in this 

area is recommended. A more indepth parametric study could be performed to identify the 

impact of all the parameters that can affect stopping distance. This parametric study should also 

include more detailed research and input from the railroads to determine the most realistic values 

for the variability of each parameter. 

Development and testing of the enforcement algorithms developed in this project were focused 

on unit train operations. Research needs to be performed on other train types, because braking 

characteristics can vary based on different car types, particularly articulated intermodal cars. 

Although it is possible that no modifications are needed for these techniques to work on these 

train types, testing is needed to confirm this. 

Numerous other techniques, in addition to the adaptive techniques developed for this project, 

have been identified as having potential for improving enforcement algorithm performance. 

These techniques include using less conservative assumptions with an emergency brake backup 

in addition to consideration of dynamic brake and independent brake use. Finally, modifications 

to the enforcement algorithm to take into consideration train characteristics such as distributed 

power, empty/load devices, and electronically controlled pneumatic brakes could drastically 

improve the performance of the enforcement algorithm. 

Through the combination of improved adaptive techniques and these other techniques, the 

viability of developing an enforcement algorithm capable of meeting both the safety objective 

and performance objectives demanded by PTC systems in use today looks promising. At a 

minimum, these techniques will identify the enforcement algorithm performance level possible 

for these systems and will likely provide a performance level that will minimize the negative 

impact on the railroad operation while still meeting the safety objectives of a PTC system. 
80

9 References 

1. North American Joint Positive Train Control Program – IDOT PTC Project – System 

Specification, NAJPTC.2002.08.001, v3.3, November 12, 2004 

2. AAR Field Manual of the AAR Interchange Rules, Rule 3 – Testing of Air Brakes, 

January 1, 2009 

3. AAR Manual of Standards and Recommended Practices, Section E, Brakes and Brake 

Equipment, Standard S-401, August 1, 2007 

4. Wabtec Railway Electronics, “IDOT PTC Project Braking and Prediction Algorithm 

Definition,” Revision C, January 10, 2003 

5. Hay, William W., “Railroad Engineering,” Second Edition, Chapters 6, 9, John Wiley & 

Sons, Inc., 1982 
81
V3.2 TCL EA Interface Specification 

82

Appendix A. 

Test Controller/Logger 

Enforcement Algorithm Communications Specification 
V3.2 TCL EA Interface Specification 

83

Enforcement Algorithm Evaluation 

Test Controller/Logger – Enforcement Algorithm Communications 

Specification 

v3.2 

October 13, 2008 

Transportation Technology Center, Inc. 

A subsidiary of the Association of American Railroads
V3.2 TCL EA Interface Specification 

84

REVISION RECORD 

REV DESCRIPTION OF CHANGE DATE 

V1.0 Initial Release April 25, 2008 

V2.0 J. Bilodeau, changed data type integer to unsigned shorts, June 23, 2008 

added enumeration to STATUS field of EA/TCL message 

V3.0 J. Brosseau, added communication description section, added August 28, 2008 

02-complete field to STATUS enumeration. 

V3.1 J. Bilodeau, expanded document with system description Sept 29, 2008 

section 

V3.2 J. Brosseau, general edits to document October 13, 2008 

 

 

 
V3.2 TCL EA Interface Specification 

85

1. Introduction 

The purpose of this document is to define the communication specification between the Test 

Controller/Logger (TCL) application and a braking Enforcement Algorithm (EA) application. 

The purpose of this system is to test and evaluate braking enforcement algorithms using 

simulated trains. The trains are simulated by the Train Operations and Energy Simulator 

(TOESTM) application. The TCL application acts as bridge between the braking enforcement 

algorithm and TOESTM. 

2. System Description and Definitions 

The following figure is a schematic representation of the applications. 

Personal Computer

Windows API 

Messages 

Personal Computer 

Enforcement 

Algorithm 

TCP/IP 

Test Controller and 

Logger (TCL) 

Train Operations 

and Energy 

Simulator 

(TOESTM) 

Figure 1 – Application Diagram 

The TCL application and the TOESTM application must be run on the same computer. The EA 

can run either on the same computer running TCL and TOESTM or on a separate computer 

connected to the TCL/TOESTM computer by an Ethernet connection. 

2.1 Application Descriptions 

Train Operations and Energy Simulator (TOESTM) – TOESTM is a train action simulator 

developed by TTCI in Pueblo, CO. TOESTM uses inputs that define the train consist and track 

conditions to model the response of the train to different operational inputs. The TOESTM model 

simulates the response of the train to a full service brake enforcement command from the 

enforcement algorithm. The results from the TOESTM simulations are written to text files which 

are read to determine stopping distance, among other things. 

Test Controller/Logger (TCL) – This application is used to control the simulation process. It has 

the capability to generate and execute batches of enforcement algorithm evaluation simulations. 

The TCL application generates consist definitions and other inputs required by TOESTM and 

opens the TOESTM and EA applications to start each simulation. It then acts as a gateway 
V3.2 TCL EA Interface Specification 

86

between the two applications during each simulation. It receives messages containing train 

parameters such as location and velocity at one second (simulation time) intervals from TOESTM

and forwards them onto the enforcement algorithm, and receives status and brake application 

messages from the enforcement algorithm and forwards them to the TOESTM simulator. 

Enforcement Algorithm (EA) – This can be any braking enforcement algorithm that 

communicates with the TCL application via this communications specification. It receives 

TCP/IP packets from the TCL containing current train parameters (received from TOESTM) such 

as velocity and location. It also sends TCP/IP packets to the TCL application instructing the 

TCL when to command TOESTM to apply the brakes. 

3. Communications Overview 

The TCL and EA communicate using TCP/IP, running either on separate computers over a 

standard Ethernet connection or running on a single machine. In either case a client/server 

configuration is used. The TCL is the server and the EA is the client. The simulation process 

begins with the TCL waiting or listening for the EA to make a connection. 

9.1 IP Configuration 

The EA must have its own IP address if operating on a separate computer. This IP address must 

use the same subnet mask as the computer running the TCL application. 

The port must also be defined. This is a user configurable parameter in the TCL application, the 

default value is currently port 2525. 

3.2 EA Pre-Simulation Configuration 

It is assumed that any initialization data the algorithm uses (e.g. number of locos, number of cars, 

train weight, length, etc.) is loaded into the EA before starting the simulation (in the case of the 

TTCI AEA, this data is entered in an initialization file that is read by the EA upon starting). 

3.3 Starting Simulations 

The TCL application must be started before the EA. This ensures that the TCL (server) is up and 

waiting for an EA (client) connection. 

Once the EA makes a connection to the TCL, it sends a status message (MSG0002) to the TCL 

and waits for the first data message to be sent back. The simulation proceeds from this point 

until the train has stopped. 

The TCL has the ability to start the EA application, if it is running on the same computer. This 

feature enables automated running of large batches of simulations. If this feature is not used, the 

user must manually start the EA between every simulation. 
V3.2 TCL EA Interface Specification 

87

3.4 Normal Simulation Operation 

During normal simulation operation, the TCL sends a MSG0001 message to the EA once every 

second (simulation time) and then waits for the EA to send back a MSG0002 message. The TCL 

then takes the information in the MSG0002 message, forwards it on to the TOESTM application 

and waits for the TOESTM application to respond. The parameters given in the TOESTM response 

will be delivered to the EA in the next MSG0001 message. This process continues until the train 

comes to a stop. During normal operation, the STATUS field of the MSG0002 will be 00 

indicating normal operation. If an error has occurred in the EA, the status field should contain a 

01 (see MSG0002 format, below). 

The first time a MSG0002 message containing a command to initiate a brake application is sent 

by the EA, the TCL will initiate the brake application in TOES. TM Once the brake application is 

initiated, further commands by the EA will have no effect on the simulation (i.e. it is not 

necessary for the EA to continue sending brake application commands in the MSG0002 

messages after this point). 

When the EA has completed (train velocity is less then 0.5 mph) a MSG0002 will be sent to the 

TCL with the STATUS field set to 02 indicating the EA has completed. 

4. Message Formats 

4.1 TCL to EA message 

MSG0001 - TCL TO EA MESSAGE 

FIELD NAME DESCRIPTION DATA DATA LIMITS 

LENGTH TYPE 

TRN_LOC Current Train Location 4 bytes Double 2.3E-308 to 

(footage) 1.E307 

TRN_SPD Current Train Speed 4 bytes Double 2.3E-308 to 

(mph) 1.E307 

BPP_HEAD Current Brake Pipe 4 bytes Double 2.3E-308 to 

Pressure at Head of 1.E307 

train (psi) 

BPP_END Current Brake Pipe 4 bytes Double 2.3E-308 to 

Pressure at End of 1.E307 

Train (psi) 

NOTCH Current locomotive 4 bytes Double 0-8 

throttle position 
V3.2 TCL EA Interface Specification 

88

4.2 EA to TCL message 

MSG0002 - EA TO TCL MESSAGE 

FIELD NAME DESCRIPTION DATA DATA LIMITS 

LENGTH TYPE 

STATUS Health Status 2 bytes short 0-65536 

00 – OK 

01 – Error 

02 – Complete 

APPLY_BR Apply service brake 1 bit Boolean 0 or 1 

APPLY_EB Apply emergency brake 1 bit Boolean 0 or 1 
89

Appendix B.

Parametric Study Simulation Test Matrix 
90

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

000 Frei Manifest ght Load Short ed Fast Flat N/A We001 Frei Manifest ght Load Short ed Fast Flat N/A Bra002 Manifest reight Short Loaded F Fast Flat N/A Pist

003 Manifest Freight Short Loaded Fast Flat N/A Net 004 Manifest reight Short Loaded F Fast Incline N/A We

005 Manifest Freight Short Loaded Fast Incline N/A Bra

006 Manifest reight Short Loaded F Fast Incline N/A 

Pist

007 Manifest Freight Short Loaded Fast Incline N/A Net 

008 Manifest reight Short Loaded F Fast Decline N/A We009 Manifest Freight Short Loaded Fast Decline N/A Bra

010 Manifest reight Short Loaded F Fast Decline N/A 

Pist

011 Manifest Freight Short Loaded Fast Decline N/A Net 

012 Manifest reight Short Loaded F Fast Crest N/A We

013 Manifest Freight Short Loaded Fast Crest N/A Bra014 Manifest Freight Short Loaded Fast Crest N/A Pist015 Manifest Freight Short Loaded Fast Crest N/A Net 

016 Manifest reight Short Loaded F Fast Trough N/A We

017 Manifest Freight Short Loaded Fast Trough N/A Bra018 Manifest reight Short Loaded F Fast Trough N/A 

Pist

019 Manifest Freight Short Loaded Fast Trough N/A Net 020 Frei Manifest ght Load Short ed Slow Flat N/A We021 Frei Manifest ght Load Short ed Slow Flat N/A Bra

022 Frei Manifest ght Load Short ed Slow Flat N/A Pist023 Manifest Freight Short Loaded Slow Flat N/A Net 024 Manifest reight Short Loaded F Slow Incline N/A We

025 Manifest Freight Short Loaded Slow Incline N/A Bra026 Manifest Freight Short Loaded Slow Incline N/A Pist027 Manifest Freight Short Loaded Slow Incline N/A Net 

028 Manifest reight Short Loaded F Slow Decline N/A We029 Manifest Freight Short Loaded Slow Decline N/A Bra030 Manifest Freight Short Loaded Slow Decline N/A Pist031 Manifest Freight Short Loaded Slow Decline N/A Net 
91

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

032 Manifest reight Short Loaded F Slow Crest N/A We033 Manifest Freight Short Loaded Slow Crest N/A Bra034 Manifest Freight Short Loaded Slow Crest N/A Pist035 Manifest Freight Short Loaded Slow Crest N/A Net 

036 Manifest reight Short Loaded F Slow Trough N/A We037 Manifest Freight Short Loaded Slow Trough N/A Bra038 Manifest Freight Short Loaded Slow Trough N/A Pist039 Manifest Freight Short Loaded Slow Trough N/A Net 040 Frei Manifest ght Short Empty Fast Flat N/A We041 Frei Manifest ght Short Empty Fast Flat N/A Bra042 Manifest reight Short Empty F Fast Flat N/A Pist

043 Manifest Freight Short Empty Fast Flat N/A Net 

044 Manifest reight Short Empty F Fast Incline N/A We045 Manifest Freight Short Empty Fast Incline N/A Bra046 Manifest Freight Short Empty Fast Incline N/A Pist047 Manifest Freight Short Empty Fast Incline N/A Net 

048 Manifest reight Short Empty F Fast Decline N/A We

049 Manifest reight Short Empty F Fast Decline N/A Bra050 Manifest reight Short Empty F Fast Decline N/A 

Pist

051 Manifest Freight Short Empty Fast Decline N/A Net 052 Manifest reight Short Empty F Fast Crest N/A We053 Manifest Freight Short Empty Fast Crest N/A Bra054 Manifest Freight Short Empty Fast Crest N/A Pist055 Manifest Freight Short Empty Fast Crest N/A Net 

056 Manifest reight Short Empty F Fast Trough N/A We057 Manifest Freight Short Empty Fast Trough N/A Bra058 Manifest reight Short Empty F Fast Trough N/A 

Pist

059 Manifest Freight Short Empty Fast Trough N/A Net 060 Frei Manifest ght Short Empty Slow Flat N/A We061 Frei Manifest ght Short Empty Slow Flat N/A Bra062 Frei Manifest ght Short Empty Slow Flat N/A Pist

063 Manifest Freight Short Empty Slow Flat N/A Net 

064 Manifest reight Short Empty F Slow Incline N/A We
92

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

065 Manifest Freight Short Empty Slow Incline N/A Bra066 Manifest Freight Short Empty Slow Incline N/A Pist067 Manifest Freight Short Empty Slow Incline N/A Net 

068 Manifest reight Short Empty F Slow Decline N/A We069 Manifest Freight Short Empty Slow Decline N/A Bra070 Manifest Freight Short Empty Slow Decline N/A Pist071 Manifest Freight Short Empty Slow Decline N/A Net 

072 Manifest reight Short Empty F Slow Crest N/A We

073 Manifest Freight Short Empty Slow Crest N/A Bra074 Manifest Freight Short Empty Slow Crest N/A Pist075 Manifest Freight Short Empty Slow Crest N/A Net 

076 Manifest reight Short Empty F Slow Trough N/A We

077 Manifest Freight Short Empty Slow Trough N/A Bra078 Manifest Freight Short Empty Slow Trough N/A Pist079 Manifest Freight Short Empty Slow Trough N/A Net 

080 Manifest reight Short Partial F Uniform Fast Flat N/A We081 Manifest Freight Short Partial Uniform Fast Flat N/A Bra082 Manifest Freight Short Partial Uniform Fast Flat N/A Pist

083 Manifest Freight Short Partial Uniform Fast Flat N/A Net 084 Manifest Freight Short Partial Uniform Fast Incline N/A We085 Manifest Freight Short Partial Uniform Fast Incline N/A Bra086 Manifest Freight Short Partial Uniform Fast Incline N/A 

Pist

087 Manifest Freight Short Partial Uniform Fast Incline N/A Net 088 Manifest reight Short Partial F Uniform Fast Decline N/A We089 Manifest Freight Short Partial Uniform Fast Decline N/A Bra090 Manifest Freight Short Partial Uniform Fast Decline N/A 

Pist

091 Manifest Freight Short Partial Uniform Fast Decline N/A Net 092 Manifest Freight Short Partial Uniform Fast Crest N/A We093 Manifest Freight Short Partial Uniform Fast Crest N/A Bra094 Manifest Freight Short Partial Uniform Fast Crest N/A 

Pist

095 Manifest Freight Short Partial Uniform Fast Crest N/A Net 096 Manifest Freight Short Partial Uniform Fast Trough N/A We097 Manifest Freight Short Partial Uniform Fast Trough N/A Bra
93

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

098 Manifest Freight Short Partial Uniform Fast Trough N/A 

Pist

099 Manifest Freight Short Partial Uniform Fast Trough N/A Net 100 Manifest Freight Short Partial Uniform Slow Flat N/A We101 Manifest Freight Short Partial Uniform Slow Flat N/A Bra102 Manifest Freight Short Partial Uniform Slow Flat N/A Pist

103 Manifest Freight Short Partial Uniform Slow Flat N/A Net 104 Manifest Freight Short Partial Uniform Slow Incline N/A We105 Manifest Freight Short Partial Uniform Slow Incline N/A Bra106 Manifest Freight Short Partial Uniform Slow Incline N/A 

Pist

107 Manifest Freight Short Partial Uniform Slow Incline N/A Net 108 Manifest Freight Short Partial Uniform Slow Decline N/A We109 Manifest Freight Short Partial Uniform Slow Decline N/A Bra110 Manifest Freight Short Partial Uniform Slow Decline N/A 

Pist

111 Manifest Freight Short Partial Uniform Slow Decline N/A Net 112 Manifest Freight Short Partial Uniform Slow Crest N/A We113 Manifest Freight Short Partial Uniform Slow Crest N/A Bra114 Manifest Freight Short Partial Uniform Slow Crest N/A 

Pist

115 Manifest Freight Short Partial Uniform Slow Crest N/A Net 116 Manifest Freight Short Partial Uniform Slow Trough N/A We117 Manifest Freight Short Partial Uniform Slow Trough N/A Bra118 Manifest Freight Short Partial Uniform Slow Trough N/A 

Pist

119 Manifest Freight Short Partial Uniform Slow Trough N/A Net 120 Manifest Freight Short Partial Non-uniform Fast Flat N/A We121 Manifest Freight Short Partial Non-uniform Fast Flat N/A Bra122 Manifest Freight Short Partial Non-uniform Fast Flat N/A Pist123 Manifest Freight Short Partial Non-uniform Fast Flat N/A Net 124 Manifest Freight Short Partial Non-uniform Fast Incline N/A We125 Manifest Freight Short Partial Non-uniform Fast Incline N/A Bra126 Manifest Freight Short Partial Non-uniform Fast Incline N/A Pist127 Manifest Freight Short Partial Non-uniform Fast Incline N/A Net 128 Manifest Freight Short Partial Non-uniform Fast Decline N/A We129 Manifest Freight Short Partial Non-uniform Fast Decline N/A Bra130 Manifest Freight Short Partial Non-uniform Fast Decline N/A Pist
94

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

131 Manifest Freight Short Partial Non-uniform Fast Decline N/A Net 132 Manifest Freight Short Partial Non-uniform Fast Crest N/A We133 Manifest Freight Short Partial Non-uniform Fast Crest N/A Bra134 Manifest Freight Short Partial Non-uniform Fast Crest N/A Pist135 Manifest Freight Short Partial Non-uniform Fast Crest N/A Net 136 Manifest Freight Short Partial Non-uniform Fast Trough N/A We137 Manifest Freight Short Partial Non-uniform Fast Trough N/A Bra138 Manifest Freight Short Partial Non-uniform Fast Trough N/A Pist139 Manifest Freight Short Partial Non-uniform Fast Trough N/A Net 140 Manifest Freight Short Partial Non-uniform Slow Flat N/A We141 Manifest Freight Short Partial Non-uniform Slow Flat N/A Bra142 Manifest Freight Short Partial Non-uniform Slow Flat N/A Pist143 Manifest Freight Short Partial Non-uniform Slow Flat N/A Net 144 Manifest Freight Short Partial Non-uniform Slow Incline N/A We145 Manifest Freight Short Partial Non-uniform Slow Incline N/A Bra146 Manifest Freight Short Partial Non-uniform Slow Incline N/A Pist147 Manifest Freight Short Partial Non-uniform Slow Incline N/A Net 148 Manifest Freight Short Partial Non-uniform Slow Decline N/A We149 Manifest Freight Short Partial Non-uniform Slow Decline N/A Bra150 Manifest Freight Short Partial Non-uniform Slow Decline N/A Pist151 Manifest Freight Short Partial Non-uniform Slow Decline N/A Net 152 Manifest Freight Short Partial Non-uniform Slow Crest N/A We153 Manifest Freight Short Partial Non-uniform Slow Crest N/A Bra154 Manifest Freight Short Partial Non-uniform Slow Crest N/A Pist155 Manifest Freight Short Partial Non-uniform Slow Crest N/A Net 156 Manifest Freight Short Partial Non-uniform Slow Trough N/A We157 Manifest Freight Short Partial Non-uniform Slow Trough N/A Bra158 Manifest Freight Short Partial Non-uniform Slow Trough N/A Pist159 Manifest Freight Short Partial Non-uniform Slow Trough N/A Net 160 Frei Manifest ght Load Medium ed Fast Flat N/A We161 Manifest reight Medium Load F ed Fast Flat N/A Bra162 Manifest reight Medium Loaded F Fast Flat N/A Pist

163 Manifest Freight Medium Loaded Fast Flat N/A Net 
95

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

164 Manifest reight Medium Loaded F Fast Incline N/A We165 Manifest Freight Medium Loaded Fast Incline N/A Bra166 Manifest reight Medium Loaded F Fast Incline N/A 

Pist

167 Manifest Freight Medium Loaded Fast Incline N/A Net 

168 Manifest reight Medium Loaded F Fast Decline N/A We

169 Manifest reight Medium Loaded F Fast Decline N/A Bra170 Manifest reight Medium Loaded F Fast Decline N/A 

Pist

171 Manifest Freight Medium Loaded Fast Decline N/A Net 172 Manifest reight Medium Loaded F Fast Crest N/A We173 Manifest Freight Medium Loaded Fast Crest N/A Bra174 Manifest Freight Medium Loaded Fast Crest N/A Pist175 Manifest Freight Medium Loaded Fast Crest N/A Net 

176 Manifest reight Medium Loaded F Fast Trough N/A We177 Manifest Freight Medium Loaded Fast Trough N/A Bra178 Manifest reight Medium Loaded F Fast Trough N/A 

Pist

179 Manifest Freight Medium Loaded Fast Trough N/A Net 180 Frei Manifest ght Load Medium ed Slow Flat N/A We181 Frei Manifest ght Load Medium ed Slow Flat N/A Bra

182 Manifest reight Medium Loaded F Slow Flat N/A Pist

183 Manifest Freight Medium Loaded Slow Flat N/A Net 

184 Manifest reight Medium Loaded F Slow Incline N/A We185 Manifest Freight Medium Loaded Slow Incline N/A Bra186 Manifest Freight Medium Loaded Slow Incline N/A Pist187 Manifest Freight Medium Loaded Slow Incline N/A Net 188 Manifest reight Medium Loaded F Slow Decline N/A We189 Manifest Freight Medium Loaded Slow Decline N/A Bra190 Manifest Freight Medium Loaded Slow Decline N/A Pist191 Manifest Freight Medium Loaded Slow Decline N/A Net 

192 Manifest reight Medium Loaded F Slow Crest N/A We

193 Manifest Freight Medium Loaded Slow Crest N/A Bra194 Manifest Freight Medium Loaded Slow Crest N/A Pist195 Manifest Freight Medium Loaded Slow Crest N/A Net 

196 Manifest reight Medium Loaded F Slow Trough N/A We
96

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

197 Manifest Freight Medium Loaded Slow Trough N/A Bra198 Manifest Freight Medium Loaded Slow Trough N/A Pist199 Manifest Freight Medium Loaded Slow Trough N/A Net 200 Frei Manifest ght Medium Empty Fast Flat N/A We201 Frei Manifest ght Medium Empty Fast Flat N/A Bra202 Manifest reight Medium Empt F y Fast Flat N/A Pist

203 Manifest Freight Medium Empty Fast Flat N/A Net 204 Manifest reight Medium Empty F Fast Incline N/A We205 Manifest Freight Medium Empty Fast Incline N/A Bra

206 Manifest reight Medium Empty F Fast Incline N/A 

Pist

207 Manifest Freight Medium Empty Fast Incline N/A Net 208 Manifest reight Medium Empty F Fast Decline N/A We209 Manifest Freight Medium Empty Fast Decline N/A Bra210 Manifest reight Medium Empty F Fast Decline N/A 

Pist

211 Manifest Freight Medium Empty Fast Decline N/A Net 

212 Manifest reight Medium Empty F Fast Crest N/A We213 Manifest Freight Medium Empty Fast Crest N/A Bra214 Manifest Freight Medium Empty Fast Crest N/A Pist215 Manifest Freight Medium Empty Fast Crest N/A Net 216 Manifest reight Medium Empty F Fast Trough N/A We217 Manifest Freight Medium Empty Fast Trough N/A Bra218 Manifest reight Medium Empt F y Fast gh Pist

Trou N/A 

219 Manifest Freight Medium Empty Fast Trough N/A Net 220 Frei Manifest ght Medium Empty Slow Flat N/A We221 Frei Manifest ght Medium Empty Slow Flat N/A Bra

222 Frei Manifest ght Medium Empty Slow Flat N/A Pist

223 Manifest Freight Medium Empty Slow Flat N/A Net 224 Manifest reight Medium Empty F Slow Incline N/A We225 Manifest Freight Medium Empty Slow Incline N/A Bra226 Manifest Freight Medium Empty Slow Incline N/A Pist227 Manifest Freight Medium Empty Slow Incline N/A Net 228 Manifest reight Medium Empty F Slow Decline N/A We229 Manifest Freight Medium Empty Slow Decline N/A Bra
97

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

230 Manifest reight Medium Empty F Slow Decline N/A 

Pist

231 Manifest Freight Medium Empty Slow Decline N/A Net 

232 Manifest reight Medium Empty F Slow Crest N/A We233 Manifest Freight Medium Empty Slow Crest N/A Bra234 Manifest Freight Medium Empty Slow Crest N/A Pist235 Manifest Freight Medium Empty Slow Crest N/A Net 236 Manifest reight Medium Empty F Slow Trough N/A We237 Manifest Freight Medium Empty Slow Trough N/A Bra238 Manifest Freight Medium Empty Slow Trough N/A Pist239 Manifest Freight Medium Empty Slow Trough N/A Net 240 Manifest reight Medium Partia F Uniforl m Fast Flat N/A We

241 Manifest reight Medium Partial F Uniform Fast Flat N/A Bra242 Manifest Freight Medium Partial Uniform Fast Flat N/A Pist

243 Manifest Freight Medium Partial Uniform Fast Flat N/A Net 244 Manifest Freight Medium Partial Uniform Fast Incline N/A We245 Manifest Freight Medium Partial Uniform Fast Incline N/A Bra246 Manifest Freight Medium Partial Uniform Fast Incline N/A 

Pist

247 Manifest Freight Medium Partial Uniform Fast Incline N/A Net 

248 Manifest reight Medium Partial F Uniform Fast Decline N/A We

249 Manifest Freight Medium Partial Uniform Fast Decline N/A Bra250 Manifest Freight Medium Partial Uniform Fast Decline N/A 

Pist

251 Manifest Freight Medium Partial Uniform Fast Decline N/A Net 252 Manifest Freight Medium Partial Uniform Fast Crest N/A We

253 Manifest reight Medium Partial F Uniform Fast Crest N/A Bra

254 Manifest Freight Medium Partial Uniform Fast Crest N/A 

Pist

255 Manifest Freight Medium Partial Uniform Fast Crest N/A Net 

256 Manifest reight Medium Partia F l Uniform Fast Trough N/A We

257 Manifest reight Medium Partial F Uniform Fast Trough N/A Bra258 Manifest Freight Medium Partial Uniform Fast Trough N/A 

Pist

259 Manifest Freight Medium Partial Uniform Fast Trough N/A Net 260 Manifest Freight Medium Partial Uniform Slow Flat N/A We

261 Manifest reight Medium Partial F Uniform Slow Flat N/A Bra

262 Manifest Freight Medium Partial Uniform Slow Flat N/A Pist
98

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

263 Manifest Freight Medium Partial Uniform Slow Flat N/A Net 264 Manifest Freight Medium Partial Uniform Slow Incline N/A We265 Manifest Freight Medium Partial Uniform Slow Incline N/A Bra266 Manifest Freight Medium Partial Uniform Slow Incline N/A 

Pist

267 Manifest Freight Medium Partial Uniform Slow Incline N/A Net 268 Manifest Freight Medium Partial Uniform Slow Decline N/A We269 Manifest Freight Medium Partial Uniform Slow Decline N/A Bra270 Manifest Freight Medium Partial Uniform Slow Decline N/A 

Pist

271 Manifest Freight Medium Partial Uniform Slow Decline N/A Net 272 Manifest Freight Medium Partial Uniform Slow Crest N/A We273 Manifest Freight Medium Partial Uniform Slow Crest N/A Bra274 Manifest Freight Medium Partial Uniform Slow Crest N/A 

Pist

275 Manifest Freight Medium Partial Uniform Slow Crest N/A Net 276 Manifest Freight Medium Partial Uniform Slow Trough N/A We277 Manifest reight Medium Partial F Uniform Slow Trough N/A Bra278 Manifest Freight Medium Partial Uniform Slow Trough N/A 

Pist

279 Manifest Freight Medium Partial Uniform Slow Trough N/A Net 280 Manifest reight Medium Partial F Non-uniform Fast Flat N/A We281 Manifest Freight Medium Partial Non-uniform Fast Flat N/A Bra282 Manifest Freight Medium Partial Non-uniform Fast Flat N/A Pist283 Manifest Freight Medium Partial Non-uniform Fast Flat N/A Net 284 Manifest Freight Medium Partial Non-uniform Fast Incline N/A We285 Manifest Freight Medium Partial Non-uniform Fast Incline N/A Bra286 Manifest Freight Medium Partial Non-uniform Fast Incline N/A Pist287 Manifest Freight Medium Partial Non-uniform Fast Incline N/A Net 288 Manifest Freight Medium Partial Non-uniform Fast Decline N/A We289 Manifest Freight Medium Partial Non-uniform Fast Decline N/A Bra290 Manifest Freight Medium Partial Non-uniform Fast Decline N/A Pist291 Manifest Freight Medium Partial Non-uniform Fast Decline N/A Net 

292 Manifest reight Medium Partial F Non-uniform Fast Crest N/A We293 Manifest Freight Medium Partial Non-uniform Fast Crest N/A Bra294 Manifest Freight Medium Partial Non-uniform Fast Crest N/A Pist295 Manifest Freight Medium Partial Non-uniform Fast Crest N/A Net 
99

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

296 Manifest reight Medium Partial F Non-uniform Fast Trough N/A We297 Manifest Freight Medium Partial Non-uniform Fast Trough N/A Bra298 Manifest Freight Medium Partial Non-uniform Fast Trough N/A Pist299 Manifest Freight Medium Partial Non-uniform Fast Trough N/A Net 300 Manifest Freight Medium Partial Non-uniform Slow Flat N/A We301 Manifest Freight Medium Partial Non-uniform Slow Flat N/A Bra

302 Manifest Freight Medium Partial Non-uniform Slow Flat N/A Pist303 Manifest Freight Medium Partial Non-uniform Slow Flat N/A Net 304 Manifest Freight Medium Partial Non-uniform Slow Incline N/A We305 Manifest Freight Medium Partial Non-uniform Slow Incline N/A Bra306 Manifest Freight Medium Partial Non-uniform Slow Incline N/A Pist307 Manifest Freight Medium Partial Non-uniform Slow Incline N/A Net 308 Manifest Freight Medium Partial Non-uniform Slow Decline N/A We309 Manifest Freight Medium Partial Non-uniform Slow Decline N/A Bra310 Manifest Freight Medium Partial Non-uniform Slow Decline N/A Pist311 Manifest Freight Medium Partial Non-uniform Slow Decline N/A Net 312 Manifest Freight Medium Partial Non-uniform Slow Crest N/A We313 Manifest Freight Medium Partial Non-uniform Slow Crest N/A Bra314 Manifest Freight Medium Partial Non-uniform Slow Crest N/A Pist315 Manifest Freight Medium Partial Non-uniform Slow Crest N/A Net 316 Manifest Freight Medium Partial Non-uniform Slow Trough N/A We317 Manifest Freight Medium Partial Non-uniform Slow Trough N/A Bra318 Manifest Freight Medium Partial Non-uniform Slow Trough N/A Pist319 Manifest Freight Medium Partial Non-uniform Slow Trough N/A Net 320 Frei Manifest ght Long Loaded Fast Flat N/A We321 Frei Manifest ght Long Loaded Fast Flat N/A Bra

322 Manifest reight Long Loaded F Fast Flat N/A Pist

323 Manifest Freight Long Loaded Fast Flat N/A Net 

324 Manifest reight Long Loaded F Fast Incline N/A We325 Manifest Freight Long Loaded Fast Incline N/A Bra326 Manifest Freight Long Loaded Fast Incline N/A Pist327 Manifest Freight Long Loaded Fast Incline N/A Net 

328 Manifest reight Long Loaded F Fast Decline N/A We
100

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

329 Manifest Freight Long Loaded Fast Decline N/A Bra330 Manifest Freight Long Loaded Fast Decline N/A Pist331 Manifest Freight Long Loaded Fast Decline N/A Net 

332 Manifest reight Long Loaded F Fast Crest N/A We333 Manifest Freight Long Loaded Fast Crest N/A Bra334 Manifest Freight Long Loaded Fast Crest N/A Pist335 Manifest Freight Long Loaded Fast Crest N/A Net 336 Manifest reight Long Loaded F Fast Trough N/A We337 Manifest Freight Long Loaded Fast Trough N/A Bra338 Manifest Freight Long Loaded Fast Trough N/A Pist339 Manifest Freight Long Loaded Fast Trough N/A Net 340 Frei Manifest ght Long Loaded Slow Flat N/A We

341 Frei Manifest ght Long Loaded Slow Flat N/A Bra342 Frei Manifest ght Long Loaded Slow Flat N/A Pist

343 Manifest Freight Long Loaded Slow Flat N/A Net 

344 Manifest reight Long Loaded F Slow Incline N/A We

345 Manifest Freight Long Loaded Slow Incline N/A Bra346 Manifest Freight Long Loaded Slow Incline N/A Pist347 Manifest Freight Long Loaded Slow Incline N/A Net 348 Manifest reight Long Loaded F Slow Decline N/A We349 Manifest Freight Long Loaded Slow Decline N/A Bra350 Manifest Freight Long Loaded Slow Decline N/A Pist351 Manifest Freight Long Loaded Slow Decline N/A Net 

352 Manifest reight Long Loaded F Slow Crest N/A We353 Manifest Freight Long Loaded Slow Crest N/A Bra354 Manifest Freight Long Loaded Slow Crest N/A Pist355 Manifest Freight Long Loaded Slow Crest N/A Net 356 Manifest reight Long Loaded F Slow Trough N/A We357 Manifest Freight Long Loaded Slow Trough N/A Bra358 Manifest Freight Long Loaded Slow Trough N/A Pist359 Manifest Freight Long Loaded Slow Trough N/A Net 360 Frei Manifest ght Long Empty Fast Flat N/A We361 Frei Manifest ght Long Empty Fast Flat N/A Bra
101

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

362 Manifest reight Long Empty F Fast Flat N/A Pist

363 Manifest Freight Long Empty Fast Flat N/A Net 364 Manifest reight Long Empty F Fast Incline N/A We365 Manifest Freight Long Empty Fast Incline N/A Bra366 Manifest Freight Long Empty Fast Incline N/A Pist367 Manifest Freight Long Empty Fast Incline N/A Net 

368 Manifest reight Long Empty F Fast Decline N/A We

369 Manifest Freight Long Empty Fast Decline N/A Bra370 Manifest reight Long Empty F Fast Decline N/A 

Pist

371 Manifest Freight Long Empty Fast Decline N/A Net 

372 Manifest reight Long Empty F Fast Crest N/A We373 Manifest Freight Long Empty Fast Crest N/A Bra374 Manifest Freight Long Empty Fast Crest N/A Pist375 Manifest Freight Long Empty Fast Crest N/A Net 376 Manifest reight Long Empty F Fast Trough N/A We377 Manifest Freight Long Empty Fast Trough N/A Bra378 Manifest Freight Long Empty Fast Trough N/A Pist379 Manifest Freight Long Empty Fast Trough N/A Net 380 Frei Manifest ght Long Empty Slow Flat N/A We381 Frei Manifest ght Long Empty Slow Flat N/A Bra

382 Frei Manifest ght Long Empty Slow Flat N/A Pist

383 Manifest Freight Long Empty Slow Flat N/A Net 384 Manifest reight Long Empty F Slow Incline N/A We385 Manifest Freight Long Empty Slow Incline N/A Bra386 Manifest Freight Long Empty Slow Incline N/A Pist387 Manifest Freight Long Empty Slow Incline N/A Net 

388 Manifest reight Long Empty F Slow Decline N/A We

389 Manifest Freight Long Empty Slow Decline N/A Bra390 Manifest Freight Long Empty Slow Decline N/A Pist391 Manifest Freight Long Empty Slow Decline N/A Net 

392 Manifest reight Long Empty F Slow Crest N/A We

393 Manifest Freight Long Empty Slow Crest N/A Bra394 Manifest Freight Long Empty Slow Crest N/A Pist
102

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

395 Manifest Freight Long Empty Slow Crest N/A Net 396 Manifest reight Long Empty F Slow Trough N/A We397 Manifest Freight Long Empty Slow Trough N/A Bra398 Manifest Freight Long Empty Slow Trough N/A Pist399 Manifest Freight Long Empty Slow Trough N/A Net 400 Manifest Freight Long Partial Uniform Fast Flat N/A We401 Manifest Freight Long Partial Uniform Fast Flat N/A Bra402 Manifest Freight Long Partial Uniform Fast Flat N/A Pist

403 Manifest Freight Long Partial Uniform Fast Flat N/A Net 404 Manifest Freight Long Partial Uniform Fast Incline N/A We405 Manifest Freight Long Partial Uniform Fast Incline N/A Bra406 Manifest Freight Long Partial Uniform Fast Incline N/A 

Pist

407 Manifest Freight Long Partial Uniform Fast Incline N/A Net 408 Manifest Freight Long Partial Uniform Fast Decline N/A We409 Manifest Freight Long Partial Uniform Fast Decline N/A Bra410 Manifest Freight Long Partial Uniform Fast Decline N/A 

Pist

411 Manifest Freight Long Partial Uniform Fast Decline N/A Net 412 Manifest Freight Long Partial Uniform Fast Crest N/A We413 Manifest Freight Long Partial Uniform Fast Crest N/A Bra414 Manifest Freight Long Partial Uniform Fast Crest N/A 

Pist

415 Manifest Freight Long Partial Uniform Fast Crest N/A Net 416 Manifest Freight Long Partial Uniform Fast Trough N/A We417 Manifest Freight Long Partial Uniform Fast Trough N/A Bra418 Manifest Freight Long Partial Uniform Fast Trough N/A 

Pist

419 Manifest Freight Long Partial Uniform Fast Trough N/A Net 420 Manifest Freight Long Partial Uniform Slow Flat N/A We421 Manifest Freight Long Partial Uniform Slow Flat N/A Bra422 Manifest Freight Long Partial Uniform Slow Flat N/A Pist

423 Manifest Freight Long Partial Uniform Slow Flat N/A Net 424 Manifest Freight Long Partial Uniform Slow Incline N/A We425 Manifest Freight Long Partial Uniform Slow Incline N/A Bra426 Manifest Freight Long Partial Uniform Slow Incline N/A Pist427 Manifest Freight Long Partial Uniform Slow Incline N/A Net 
103

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

428 Manifest Freight Long Partial Uniform Slow Decline N/A We429 Manifest Freight Long Partial Uniform Slow Decline N/A Bra430 Manifest Freight Long Partial Uniform Slow Decline N/A 

Pist

431 Manifest Freight Long Partial Uniform Slow Decline N/A Net 432 Manifest Freight Long Partial Uniform Slow Crest N/A We433 Manifest Freight Long Partial Uniform Slow Crest N/A Bra434 Manifest Freight Long Partial Uniform Slow Crest N/A Pist435 Manifest Freight Long Partial Uniform Slow Crest N/A Net 436 Manifest Freight Long Partial Uniform Slow Trough N/A We437 Manifest Freight Long Partial Uniform Slow Trough N/A Bra438 Manifest Freight Long Partial Uniform Slow Trough N/A 

Pist

439 Manifest Freight Long Partial Uniform Slow Trough N/A Net 440 Manifest Freight Long Partial Non-uniform Fast Flat N/A We441 Manifest Freight Long Partial Non-uniform Fast Flat N/A Bra442 Manifest Freight Long Partial Non-uniform Fast Flat N/A Pist443 Manifest Freight Long Partial Non-uniform Fast Flat N/A Net 444 Manifest Freight Long Partial Non-uniform Fast Incline N/A We445 Manifest Freight Long Partial Non-uniform Fast Incline N/A Bra446 Manifest Freight Long Partial Non-uniform Fast Incline N/A Pist447 Manifest Freight Long Partial Non-uniform Fast Incline N/A Net 448 Manifest Freight Long Partial Non-uniform Fast Decline N/A We449 Manifest Freight Long Partial Non-uniform Fast Decline N/A Bra450 Manifest Freight Long Partial Non-uniform Fast Decline N/A Pist451 Manifest Freight Long Partial Non-uniform Fast Decline N/A Net 452 Manifest Freight Long Partial Non-uniform Fast Crest N/A We453 Manifest Freight Long Partial Non-uniform Fast Crest N/A Bra454 Manifest Freight Long Partial Non-uniform Fast Crest N/A Pist455 Manifest Freight Long Partial Non-uniform Fast Crest N/A Net 456 Manifest Freight Long Partial Non-uniform Fast Trough N/A We457 Manifest Freight Long Partial Non-uniform Fast Trough N/A Bra458 Manifest Freight Long Partial Non-uniform Fast Trough N/A Pist459 Manifest Freight Long Partial Non-uniform Fast Trough N/A Net 460 Manifest Freight Long Partial Non-uniform Slow Flat N/A We
104

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

461 Manifest Freight Long Partial Non-uniform Slow Flat N/A Bra462 Manifest Freight Long Partial Non-uniform Slow Flat N/A Pist463 Manifest Freight Long Partial Non-uniform Slow Flat N/A Net 464 Manifest Freight Long Partial Non-uniform Slow Incline N/A We465 Manifest Freight Long Partial Non-uniform Slow Incline N/A Bra466 Manifest Freight Long Partial Non-uniform Slow Incline N/A Pist467 Manifest Freight Long Partial Non-uniform Slow Incline N/A Net 468 Manifest Freight Long Partial Non-uniform Slow Decline N/A We469 Manifest Freight Long Partial Non-uniform Slow Decline N/A Bra470 Manifest Freight Long Partial Non-uniform Slow Decline N/A Pist471 Manifest Freight Long Partial Non-uniform Slow Decline N/A Net 472 Manifest Freight Long Partial Non-uniform Slow Crest N/A We473 Manifest Freight Long Partial Non-uniform Slow Crest N/A Bra474 Manifest Freight Long Partial Non-uniform Slow Crest N/A Pist475 Manifest Freight Long Partial Non-uniform Slow Crest N/A Net 476 Manifest Freight Long Partial Non-uniform Slow Trough N/A We477 Manifest Freight Long Partial Non-uniform Slow Trough N/A Bra478 Manifest Freight Long Partial Non-uniform Slow Trough N/A Pist479 Manifest Freight Long Partial Non-uniform Slow Trough N/A Net 480 Unit Train N/A Loaded Fast Flat Head End We481 Unit Train N/A Loaded Fast Flat Head End Bra482 Unit Train N/A Loaded Fast Flat Head End Pist483 Unit Train N/A Loaded Fast Flat Head End Net 484 Unit Train N/A Loaded Fast Flat Distributed We485 Unit Train N/A Loaded Fast Flat Distributed Bra486 Unit Train N/A Loaded Fast Flat Distributed 

Pist

487 Unit Train N/A Loaded Fast Flat Distributed Net 488 Unit Train N/A Loaded Fast Decline Head End We489 Unit Train N/A Loaded Fast Decline Head End Bra490 Unit Train N/A Loaded Fast Decline Head End Pist491 Unit Train N/A Loaded Fast Decline Head End Net 492 Unit Train N/A Loaded Fast Decline Distributed We493 Unit Train N/A Loaded Fast Decline Distributed Bra
105

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

494 Unit Train N/A Loaded Fast Decline Distributed 

Pist

495 Unit Train N/A Loaded Fast Decline Distributed Net 496 Unit Train N/A Loaded Fast Crest Head End We497 Unit Train N/A Loaded Fast Crest Head End Bra498 Unit Train N/A Loaded Fast Crest Head End Pist499 Unit Train N/A Loaded Fast Crest Head End Net 500 Unit Train N/A Loaded Fast Crest Distributed We501 Unit Train N/A Loaded Fast Crest Distributed Bra502 Unit Train N/A Loaded Fast Crest Distributed 

Pist

503 Unit Train N/A Loaded Fast Crest Distributed Net 504 Unit Train N/A Loaded Fast Trough Head End We505 Unit Train N/A Loaded Fast Trough Head End Bra506 Unit Train N/A Loaded Fast Trough Head End Pist507 Unit Train N/A Loaded Fast Trough Head End Net 508 Unit Train N/A Loaded Fast Trough Distributed We509 Unit Train N/A Loaded Fast Trough Distributed Bra510 Unit Train N/A Loaded Fast Trough Distributed 

Pist

511 Unit Train N/A Loaded Fast Trough Distributed Net 512 Unit Train N/A Loaded Slow Flat Head End We513 Unit Train N/A Loaded Slow Flat Head End Bra514 Unit Train N/A Loaded Slow Flat Head End Pist515 Unit Train N/A Loaded Slow Flat Head End Net 516 Unit Train N/A Loaded Slow Flat Distributed We517 Unit Train N/A Loaded Slow Flat Distributed Bra518 Unit Train N/A Loaded Slow Flat Distributed 

Pist

519 Unit Train N/A Loaded Slow Flat Distributed Net 520 Unit Train N/A Loaded Slow Incline Head End We521 Unit Train N/A Loaded Slow Incline Head End Bra522 Unit Train N/A Loaded Slow Incline Head End Pist523 Unit Train N/A Loaded Slow Incline Head End Net 524 Unit Train N/A Loaded Slow Incline Distributed We525 Unit Train N/A Loaded Slow Incline Distributed Bra526 Unit Train N/A Loaded Slow Incline Distributed Pist
106

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

527 Unit Train N/A Loaded Slow Incline Distributed Net 528 Unit Train N/A Loaded Slow Decline Head End We529 Unit Train N/A Loaded Slow Decline Head End Bra530 Unit Train N/A Loaded Slow Decline Head End Pist531 Unit Train N/A Loaded Slow Decline Head End Net 532 Unit Train N/A Loaded Slow Decline Distributed We533 Unit Train N/A Loaded Slow Decline Distributed Bra

534 Unit Train N/A Loaded Slow Decline Distributed 

Pist

535 Unit Train N/A Loaded Slow Decline Distributed Net 536 Unit Train N/A Loaded Slow Crest Head End We537 Unit Train N/A Loaded Slow Crest Head End Bra538 Unit Train N/A Loaded Slow Crest Head End Pist539 Unit Train N/A Loaded Slow Crest Head End Net 540 Unit Train N/A Loaded Slow Crest Distributed We541 Unit Train N/A Loaded Slow Crest Distributed Bra542 Unit Train N/A Loaded Slow Crest Distributed Pist543 Unit Train N/A Loaded Slow Crest Distributed Net 544 Unit Train N/A Loaded Slow Trough Head End We545 Unit Train N/A Loaded Slow Trough Head End Bra546 Unit Train N/A Loaded Slow Trough Head End Pist547 Unit Train N/A Loaded Slow Trough Head End Net 548 Unit Train N/A Loaded Slow Trough Distributed We549 Unit Train N/A Loaded Slow Trough Distributed Bra550 Unit Train N/A Loaded Slow Trough Distributed Pist551 Unit Train N/A Loaded Slow Trough Distributed Net 552 Unit Train N/A Empty Fast Flat Head End We553 Unit Train N/A Empty Fast Flat Head End Bra554 Unit Train N/A Empty Fast Flat Head End Pist555 Unit Train N/A Empty Fast Flat Head End Net 556 Unit Train N/A Empty Fast Flat Distributed We557 Unit Train N/A Empty Fast Flat Distributed Bra558 Unit Train N/A Empty Fast Flat Distributed 

Pist

559 Unit Train N/A Empty Fast Flat Distributed Net 
107

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

560 Unit Train N/A Empty Fast Decline Head End We561 Unit Train N/A Empty Fast Decline Head End Bra562 Unit Train N/A Empty Fast Decline Head End Pist563 Unit Train N/A Empty Fast Decline Head End Net 564 Unit Train N/A Empty Fast Decline Distributed We565 Unit Train N/A Empty Fast Decline Distributed Bra566 Unit Train N/A Empty Fast Decline Distributed 

Pist

567 Unit Train N/A Empty Fast Decline Distributed Net 568 Unit Train N/A Empty Fast Crest Head End We569 Unit Train N/A Empty Fast Crest Head End Bra570 Unit Train N/A Empty Fast Crest Head End Pist571 Unit Train N/A Empty Fast Crest Head End Net 572 Unit Train N/A Empty Fast Crest Distributed We573 Unit Train N/A Empty Fast Crest Distributed Bra

574 Unit Train N/A Empty Fast Crest Distributed 

Pist

575 Unit Train N/A Empty Fast Crest Distributed Net 576 Unit Train N/A Empty Fast Trough Head End We577 Unit Train N/A Empty Fast Trough Head End Bra578 Unit Train N/A Empty Fast Trough Head End Pist579 Unit Train N/A Empty Fast Trough Head End Net 580 Unit Train N/A Empty Fast Trough Distributed We581 Unit Train N/A Empty Fast Trough Distributed Bra

582 Unit Train N/A Empty Fast Trough Distributed 

Pist

583 Unit Train N/A Empty Fast Trough Distributed Net 584 Unit Train N/A Empty Slow Flat Head End We585 Unit Train N/A Empty Slow Flat Head End Bra586 Unit Train N/A Empty Slow Flat Head End Pist587 Unit Train N/A Empty Slow Flat Head End Net 588 Unit Train N/A Empty Slow Flat Distributed We589 Unit Train N/A Empty Slow Flat Distributed Bra

590 Unit Train N/A Empty Slow Flat Distributed 

Pist

591 Unit Train N/A Empty Slow Flat Distributed Net 592 Unit Train N/A Empty Slow Incline Head End We
108

Sim Set Train Train Track Train 

ID Type of Train Length Train Load Speed Grade Power Te

593 Unit Train N/A Empty Slow Incline Head End Bra594 Unit Train N/A Empty Slow Incline Head End Pist595 Unit Train N/A Empty Slow Incline Head End Net 596 Unit Train N/A Empty Slow Incline Distributed We597 Unit Train N/A Empty Slow Incline Distributed Bra598 Unit Train N/A Empty Slow Incline Distributed 

Pist

599 Unit Train N/A Empty Slow Incline Distributed Net 600 Unit Train N/A Empty Slow Decline Head End We601 Unit Train N/A Empty Slow Decline Head End Bra602 Unit Train N/A Empty Slow Decline Head End Pist603 Unit Train N/A Empty Slow Decline Head End Net 604 Unit Train N/A Empty Slow Decline Distributed We605 Unit Train N/A Empty Slow Decline Distributed Bra

606 Unit Train N/A Empty Slow Decline Distributed 

Pist

607 Unit Train N/A Empty Slow Decline Distributed Net 608 Unit Train N/A Empty Slow Crest Head End We609 Unit Train N/A Empty Slow Crest Head End Bra610 Unit Train N/A Empty Slow Crest Head End Pist611 Unit Train N/A Empty Slow Crest Head End Net 612 Unit Train N/A Empty Slow Crest Distributed We613 Unit Train N/A Empty Slow Crest Distributed Bra614 Unit Train N/A Empty Slow Crest Distributed 

Pist

615 Unit Train N/A Empty Slow Crest Distributed Net 616 Unit Train N/A Empty Slow Trough Head End We617 Unit Train N/A Empty Slow Trough Head End Bra618 Unit Train N/A Empty Slow Trough Head End Pist619 Unit Train N/A Empty Slow Trough Head End Net 620 Unit Train N/A Empty Slow Trough Distributed We621 Unit Train N/A Empty Slow Trough Distributed Bra622 Unit Train N/A Empty Slow Trough Distributed 

Pist

623 Unit Train N/A Empty Slow Trough Distributed Net 
109 

Appendix C. 

Parametric Study Probability Density Curves 
110 

(blank page) 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 

Appendix D. 

Parametric Study Standard Deviation Charts 
136 

0

50

100

150

200

250

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Long Loaded Manifest Freight Trains

0

20

40

60

80

100

120

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Long Empty Manifest Freight Trains
137 

0

20

40

60

80

100

120

140

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Medium Loaded Manifest Freight Trains

0

5

10

15

20

25

30

35

40

45

50

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Medium Empty Manifest Freight Trains
138 

0

20

40

60

80

100

120

140

160

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Short Loaded Manifest Freight Trains

0

10

20

30

40

50

60

Flat Incline Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Short Empty Manifest Freight Trains
139 

0

20

40

60

80

100

120

Flat Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Loaded Unit Trains with Head End Power

0

20

40

60

80

100

120

140

Flat Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Empty Unit Trains with Head End Power
140 

0

20

40

60

80

100

120

Flat Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Loaded Unit Trains with Distributed Power

0

10

20

30

40

50

60

70

80

90

100

Flat Decline Crest Trough Flat Incline Decline Crest Trough

Track Grade and Train Speed

Standard Deviation of Stopping Distance (ft)

Brake Valve Brake Force Piston Stroke Weight

Fast Slow

Standard Deviations of Stopping Distances for Empty Unit Trains with Distributed Power
141 

Appendix E. 

Enforcement Algorithm Evaluation Simulation Test Matrix 

Sim Set Train Train 

ID Length Train Load Speed Track Grade 

0 Short Loaded Fast Flat 

1 Short Loaded Fast 1% Decline 

2 Short Loaded Fast 0.5% Decline 

3 Short Loaded Fast Crest 

4 Short Loaded Fast Trough 

5 Short Loaded Slow Flat 

6 Short Loaded Slow 1% Incline 

7 Short Loaded Slow 1% Decline 

8 Short Loaded Slow 0.5% Decline 

9 Short Loaded Slow Crest 

10 Short Loaded Slow Trough 

11 Short Empty Steel Fast Flat 

12 Short Empty Steel Fast 1% Incline 

13 Short Empty Steel Fast 1% Decline 

14 Short Empty Steel Fast 0.5% Decline 

15 Short Empty Steel Fast Crest 

16 Short Empty Steel Fast Trough 

17 Short Empty Steel Slow Flat 

18 Short Empty Steel Slow 1% Incline 

19 Short Empty Steel Slow 1% Decline 

20 Short Empty Steel Slow 0.5% Decline 

21 Short Empty Steel Slow Crest 

22 Short Empty Steel Slow Trough 

23 Short Empty Aluminum Fast Flat 

24 Short Empty Aluminum Fast 1% Incline 

25 Short Empty Aluminum Fast 1% Decline 

26 Short Empty Aluminum Fast 0.5% Decline 

27 Short Empty Aluminum Fast Crest 

28 Short Empty Aluminum Fast Trough 

29 Short Empty Aluminum Slow Flat 

30 Short Empty Aluminum Slow 1% Incline 

31 Short Empty Aluminum Slow 1% Decline 

32 Short Empty Aluminum Slow 0.5% Decline 

33 Short Empty Aluminum Slow Crest 

34 Short Empty Aluminum Slow Trough 

35 Long Loaded Fast Flat 

36 Long Loaded Fast 1% Decline 

37 Long Loaded Fast 0.5% Decline 

38 Long Loaded Fast Crest 

39 Long Loaded Fast Trough 

40 Long Loaded Slow Flat 

41 Long Loaded Slow 1% Incline 

42 Long Loaded Slow 1% Decline 
142 

Sim Set Train Train 

ID Length Train Load Speed Track Grade 

43 Long Loaded Slow 0.5% Decline 

44 Long Loaded Slow Crest 

45 Long Loaded Slow Trough 

46 Long Empty Steel Fast Flat 

47 Long Empty Steel Fast 1% Incline 

48 Long Empty Steel Fast 1% Decline 

49 Long Empty Steel Fast 0.5% Decline 

50 Long Empty Steel Fast Crest 

51 Long Empty Steel Fast Trough 

52 Long Empty Steel Slow Flat 

53 Long Empty Steel Slow 1% Incline 

54 Long Empty Steel Slow 1% Decline 

55 Long Empty Steel Slow 0.5% Decline 

56 Long Empty Steel Slow Crest 

57 Long Empty Steel Slow Trough 

58 Long Empty Aluminum Fast Flat 

59 Long Empty Aluminum Fast 1% Incline 

60 Long Empty Aluminum Fast 1% Decline 

61 Long Empty Aluminum Fast 0.5% Decline 

62 Long Empty Aluminum Fast Crest 

63 Long Empty Aluminum Fast Trough 

64 Long Empty Aluminum Slow Flat 

65 Long Empty Aluminum Slow 1% Incline 

66 Long Empty Aluminum Slow 1% Decline 

67 Long Empty Aluminum Slow 0.5% Decline 

68 Long Empty Aluminum Slow Crest 

69 Long Empty Aluminum Slow Trough 

T1 40-car Loaded 40 mph Flat 

T2 40-car Loaded 60 mph Flat 

T3 40-car Loaded 40 mph Incline 

T4 40-car Loaded 40 mph Crest 

T5 10-car Loaded 40 mph Flat 

T6 75-car Loaded 10 mph Flat 

T7 75-car Loaded 40 mph Decline 
143 

Appendix F. 

Enforcement Algorithm Evaluation Simulation Probability Density Curves 
144 

(blank page) 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 

Appendix G. 

Simulation Test Results for Enforcement Algorithm Evaluation 
166 

(blank page) 
167 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

1 000 Short Loaded Fast Flat 3006 303 2565 

2 000 Short Loaded Fast Flat 2508 251 1980 

3 000 Short Loaded Fast Flat 2136 205 1607 

4 000 Short Loaded Fast Flat 1465 180 1520 

1 001 Short Loaded Fast 1% Decline N/A N/A N/A 

2 001 Short Loaded Fast 1% Decline N/A N/A N/A 

3 001 Short Loaded Fast 1% Decline N/A N/A N/A 

4 001 Short Loaded Fast 1% Decline N/A N/A N/A 

1 002 Short Loaded Fast 0.5% Decline 4836 479 4247 2 002 Short Loaded Fast 0.5% Decline 4167 409 3488 3 002 Short Loaded Fast 0.5% Decline 3740 330 2789 4 002 Short Loaded Fast 0.5% Decline 2152 352 3097 1 003 Short Loaded Fast Crest 1267 127 1064 2 003 Short Loaded Fast Crest 993 102 731 3 003 Short Loaded Fast Crest 850 87 588 4 003 Short Loaded Fast Crest 629 71 536 1 004 Short Loaded Fast Trough 3154 343 2820 2 004 Short Loaded Fast Trough 2595 274 2152 3 004 Short Loaded Fast Trough 2315 230 1762 4 004 Short Loaded Fast Trough 1388 402 3862 1 005 Short Loaded Slow Flat 214 19 141 2 005 Short Loaded Slow Flat 163 14 75 3 005 Short Loaded Slow Flat 150 12 61 4 005 Short Loaded Slow Flat 124 10 52 1 006 Short Loaded Slow 1% Incline 44 8 50 2 006 Short Loaded Slow 1% Incline 38 6 39 3 006 Short Loaded Slow 1% Incline 36 7 41 4 006 Short Loaded Slow 1% Incline 31 6 28 1 007 Short Loaded Slow 1% Decline 747 78 704 2 007 Short Loaded Slow 1% Decline 520 57 371 
168 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

3 007 Short Loaded Slow 1% Decline 516 45 285 4 007 Short Loaded Slow 1% Decline 335 98 907 1 008 Short Loaded Slow 0.5% Decline 425 35 272 2 008 Short Loaded Slow 0.5% Decline 304 26 149 3 008 Short Loaded Slow 0.5% Decline 285 25 152 4 008 Short Loaded Slow 0.5% Decline 216 37 299 1 009 Short Loaded Slow Crest 389 30 264 2 009 Short Loaded Slow Crest 281 23 132 3 009 Short Loaded Slow Crest 252 20 131 4 009 Short Loaded Slow Crest 203 24 181 1 010 Short Loaded Slow Trough 93 11 70 2 010 Short Loaded Slow Trough 77 7 55 3 010 Short Loaded Slow Trough 75 8 57 4 010 Short Loaded Slow Trough 62 3 18 1 011 Short Empty Steel Fast Flat 1820 123 991 2 011 Short Empty Steel Fast Flat 1412 94 496 3 011 Short Empty Steel Fast Flat 1501 77 397 4 011 Short Empty Steel Fast Flat 991 144 907 1 012 Short Empty Steel Fast 1% Incline 809 66 461 2 012 Short Empty Steel Fast 1% Incline 630 54 299 3 012 Short Empty Steel Fast 1% Incline 589 41 269 4 012 Short Empty Steel Fast 1% Incline 591 37 267 1 013 Short Empty Steel Fast 1% Decline 1727 105 876 2 013 Short Empty Steel Fast 1% Decline 1299 76 487 3 013 Short Empty Steel Fast 1% Decline 1669 69 461 4 013 Short Empty Steel Fast 1% Decline 876 101 817 1 014 Short Empty Steel Fast 0.5% Decline 2189 147 1179 2 014 Short Empty Steel Fast 0.5% Decline 1711 116 643 3 014 Short Empty Steel Fast 0.5% Decline 1968 90 556 4 014 Short Empty Steel Fast 0.5% Decline 1173 172 1254 
169 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

1 015 Short Empty Steel Fast Crest 1806 131 1106 2 015 Short Empty Steel Fast Crest 1414 95 608 3 015 Short Empty Steel Fast Crest 1439 88 447 4 015 Short Empty Steel Fast Crest 1443 82 443 1 016 Short Empty Steel Fast Trough 1750 115 924 2 016 Short Empty Steel Fast Trough 1331 88 495 3 016 Short Empty Steel Fast Trough 1502 77 474 4 016 Short Empty Steel Fast Trough 910 134 1023 1 017 Short Empty Steel Slow Flat 146 11 73 2 017 Short Empty Steel Slow Flat 114 7 40 3 017 Short Empty Steel Slow Flat 121 8 33 4 017 Short Empty Steel Slow Flat 91 11 63 

1 018 Short Empty Steel Slow 1% Incline 32 6 34 2 018 Short Empty Steel Slow 1% Incline 25 6 28 3 018 Short Empty Steel Slow 1% Incline 24 5 22 4 018 Short Empty Steel Slow 1% Incline 24 5 22 1 019 Short Empty Steel Slow 1% Decline 523 22 142 2 019 Short Empty Steel Slow 1% Decline 385 19 73 

3 019 Short Empty Steel Slow 1% Decline 462 27 177 4 019 Short Empty Steel Slow 1% Decline 283 40 356 1 020 Short Empty Steel Slow 0.5% Decline 273 11 69 2 020 Short Empty Steel Slow 0.5% Decline 206 9 38 

3 020 Short Empty Steel Slow 0.5% Decline 224 11 72 4 020 Short Empty Steel Slow 0.5% Decline 158 21 182 1 021 Short Empty Steel Slow Crest 252 14 107 2 021 Short Empty Steel Slow Crest 191 11 65 3 021 Short Empty Steel Slow Crest 193 11 62 4 021 Short Empty Steel Slow Crest 194 12 62 1 022 Short Empty Steel Slow Trough 75 7 52 2 022 Short Empty Steel Slow Trough 61 6 38 
170 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

3 022 Short Empty Steel Slow Trough 62 5 29 4 022 Short Empty Steel Slow Trough 48 5 44 1 023 Short Empty Aluminum Fast Flat 571 179 1445 2 023 Short Empty Aluminum Fast Flat 571 179 1445 3 023 Short Empty Aluminum Fast Flat 379 110 737 4 023 Short Empty Aluminum Fast Flat 1001 92 701 1 024 Short Empty Aluminum Fast 1% Incline 349 94 713 2 024 Short Empty Aluminum Fast 1% Incline 140 75 428 3 024 Short Empty Aluminum Fast 1% Incline 152 70 383 4 024 Short Empty Aluminum Fast 1% Incline 379 172 323 1 025 Short Empty Aluminum Fast 1% Decline 624 181 1619 

2 025 Short Empty Aluminum Fast 1% Decline 260 145 1187 

3 025 Short Empty Aluminum Fast 1% Decline 640 111 827 4 025 Short Empty Aluminum Fast 1% Decline 973 146 1292 1 026 Short Empty Aluminum Fast 0.5% Decline 700 234 2019 

2 026 Short Empty Aluminum Fast 0.5% Decline 220 187 1448 

3 026 Short Empty Aluminum Fast 0.5% Decline 575 150 1073 

4 026 Short Empty Aluminum Fast 0.5% Decline 1297 153 1305 1 027 Short Empty Aluminum Fast Crest 498 198 1685 2 027 Short Empty Aluminum Fast Crest 112 161 1190 3 027 Short Empty Aluminum Fast Crest 194 124 832 

4 027 Short Empty Aluminum Fast Crest 989 102 807 1 028 Short Empty Aluminum Fast Trough 665 155 1298 2 028 Short Empty Aluminum Fast Trough 306 119 870 3 028 Short Empty Aluminum Fast Trough 543 103 632 4 028 Short Empty Aluminum Fast Trough 1022 94 706 1 029 Short Empty Aluminum Slow Flat 75 12 91 2 029 Short Empty Aluminum Slow Flat 47 10 63 3 029 Short Empty Aluminum Slow Flat 58 8 45 4 029 Short Empty Aluminum Slow Flat 92 7 37 
171 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

1 030 Short Empty Aluminum Slow 1% Incline 7 5 27 2 030 Short Empty Aluminum Slow 1% Incline 3 6 27 3 030 Short Empty Aluminum Slow 1% Incline 3 5 27 4 030 Short Empty Aluminum Slow 1% Incline 9 6 21 1 031 Short Empty Aluminum Slow 1% Decline 265 49 462 2 031 Short Empty Aluminum Slow 1% Decline 149 35 314 3 031 Short Empty Aluminum Slow 1% Decline 244 22 159 4 031 Short Empty Aluminum Slow 1% Decline 323 51 471 1 032 Short Empty Aluminum Slow 0.5% Decline 156 26 232 2 032 Short Empty Aluminum Slow 0.5% Decline 92 18 145 3 032 Short Empty Aluminum Slow 0.5% Decline 124 13 81 

4 032 Short Empty Aluminum Slow 0.5% Decline 190 26 231 1 033 Short Empty Aluminum Slow Crest 133 20 169 

2 033 Short Empty Aluminum Slow Crest 80 15 99 3 033 Short Empty Aluminum Slow Crest 87 12 72 4 033 Short Empty Aluminum Slow Crest 164 17 137 

1 034 Short Empty Aluminum Slow Trough 32 7 52 

2 034 Short Empty Aluminum Slow Trough 19 7 41 3 034 Short Empty Aluminum Slow Trough 30 6 29 4 034 Short Empty Aluminum Slow Trough 43 5 16 1 035 Long Loaded Fast Flat 3064 391 3308 

2 035 Long Loaded Fast Flat 2449 510 2432 

3 035 Long Loaded Fast Flat 2108 498 2091 

4 035 Long Loaded Fast Flat 2384 531 2368 

1 036 Long Loaded Fast 1% Decline N/A N/A N/A 

2 036 Long Loaded Fast 1% Decline N/A N/A N/A 

3 036 Long Loaded Fast 1% Decline N/A N/A N/A 

4 036 Long Loaded Fast 1% Decline N/A N/A N/A 

1 037 Long Loaded Fast 0.5% Decline 5083 643 5725 2 037 Long Loaded Fast 0.5% Decline 4043 744 4232 
172 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

3 037 Long Loaded Fast 0.5% Decline 4014 744 4203 4 037 Long Loaded Fast 0.5% Decline 3872 660 2332 1 038 Long Loaded Fast Crest 488 103 842 

2 038 Long Loaded Fast Crest 307 148 617 

3 038 Long Loaded Fast Crest 256 141 566 

4 038 Long Loaded Fast Crest 298 141 608 

1 039 Long Loaded Fast Trough 3990 522 4428 2 039 Long Loaded Fast Trough 3083 644 3222 3 039 Long Loaded Fast Trough 3055 647 3194 4 039 Long Loaded Fast Trough 2970 643 2399 1 040 Long Loaded Slow Flat 246 22 164 2 040 Long Loaded Slow Flat 186 39 123 3 040 Long Loaded Slow Flat 171 36 108 4 040 Long Loaded Slow Flat 181 40 113 1 041 Long Loaded Slow 1% Incline 57 8 55 2 041 Long Loaded Slow 1% Incline 49 7 46 3 041 Long Loaded Slow 1% Incline 49 7 46 4 041 Long Loaded Slow 1% Incline 49 6 30 1 042 Long Loaded Slow 1% Decline N/A N/A N/A 2 042 Long Loaded Slow 1% Decline N/A N/A N/A 3 042 Long Loaded Slow 1% Decline N/A N/A N/A 4 042 Long Loaded Slow 1% Decline N/A N/A N/A 1 043 Long Loaded Slow 0.5% Decline 504 56 444 2 043 Long Loaded Slow 0.5% Decline 357 105 358 3 043 Long Loaded Slow 0.5% Decline 356 104 359 4 043 Long Loaded Slow 0.5% Decline 368 204 1715 1 044 Long Loaded Slow Crest 303 29 235 2 044 Long Loaded Slow Crest 216 54 158 3 044 Long Loaded Slow Crest 200 52 159 4 044 Long Loaded Slow Crest 214 55 198 
173 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

1 045 Long Loaded Slow Trough 174 15 121 2 045 Long Loaded Slow Trough 127 26 89 3 045 Long Loaded Slow Trough 127 26 89 4 045 Long Loaded Slow Trough 128 28 155 1 046 Long Empty Steel Fast Flat 1934 164 1367 

2 046 Long Empty Steel Fast Flat 1512 368 1032 

3 046 Long Empty Steel Fast Flat 1596 359 1035 

4 046 Long Empty Steel Fast Flat 1515 442 2157 

1 047 Long Empty Steel Fast 1% Incline 652 62 431 2 047 Long Empty Steel Fast 1% Incline 495 109 357 3 047 Long Empty Steel Fast 1% Incline 473 106 318 4 047 Long Empty Steel Fast 1% Incline 484 115 307 1 048 Long Empty Steel Fast 1% Decline 2085 162 1425 2 048 Long Empty Steel Fast 1% Decline 1522 405 1225 3 048 Long Empty Steel Fast 1% Decline 1995 432 1209 4 048 Long Empty Steel Fast 1% Decline 1495 560 3742 1 049 Long Empty Steel Fast 0.5% Decline 2550 214 1839 2 049 Long Empty Steel Fast 0.5% Decline 1846 415 1379 3 049 Long Empty Steel Fast 0.5% Decline 2273 409 1126 4 049 Long Empty Steel Fast 0.5% Decline 1885 629 4366 1 050 Long Empty Steel Fast Crest 1638 143 1158 2 050 Long Empty Steel Fast Crest 1190 271 906 3 050 Long Empty Steel Fast Crest 1168 266 837 4 050 Long Empty Steel Fast Crest 1210 323 1674 1 051 Long Empty Steel Fast Trough 2199 184 1498 2 051 Long Empty Steel Fast Trough 1607 392 1206 3 051 Long Empty Steel Fast Trough 1962 387 1123 4 051 Long Empty Steel Fast Trough 1674 509 2976 1 052 Long Empty Steel Slow Flat 159 13 100 2 052 Long Empty Steel Slow Flat 123 27 70 
174 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

3 052 Long Empty Steel Slow Flat 127 26 66 4 052 Long Empty Steel Slow Flat 122 29 127 1 053 Long Empty Steel Slow 1% Incline 22 5 29 2 053 Long Empty Steel Slow 1% Incline 18 6 32 3 053 Long Empty Steel Slow 1% Incline 17 6 20 4 053 Long Empty Steel Slow 1% Incline 17 6 20 1 054 Long Empty Steel Slow 1% Decline 645 32 247 2 054 Long Empty Steel Slow 1% Decline 477 103 299 3 054 Long Empty Steel Slow 1% Decline 603 120 351 4 054 Long Empty Steel Slow 1% Decline 482 176 1401 1 055 Long Empty Steel Slow 0.5% Decline 347 17 123 2 055 Long Empty Steel Slow 0.5% Decline 259 62 197 3 055 Long Empty Steel Slow 0.5% Decline 299 66 209 4 055 Long Empty Steel Slow 0.5% Decline 259 93 656 1 056 Long Empty Steel Slow Crest 189 15 119 

2 056 Long Empty Steel Slow Crest 141 28 100 

3 056 Long Empty Steel Slow Crest 138 26 87 4 056 Long Empty Steel Slow Crest 142 35 193 

1 057 Long Empty Steel Slow Trough 114 10 68 2 057 Long Empty Steel Slow Trough 90 16 50 

3 057 Long Empty Steel Slow Trough 105 15 47 4 057 Long Empty Steel Slow Trough 93 19 92 1 058 Long Empty Aluminum Fast Flat 657 219 1877 2 058 Long Empty Aluminum Fast Flat 196 359 1244 3 058 Long Empty Aluminum Fast Flat 341 352 877 4 058 Long Empty Aluminum Fast Flat 1420 425 1955 1 059 Long Empty Aluminum Fast 1% Incline 310 93 670 2 059 Long Empty Aluminum Fast 1% Incline 103 151 466 3 059 Long Empty Aluminum Fast 1% Incline 86 151 483 4 059 Long Empty Aluminum Fast 1% Incline 561 171 787 
175 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

1 060 Long Empty Aluminum Fast 1% Decline 735 267 2448 

2 060 Long Empty Aluminum Fast 1% Decline 259 359 1697 

3 060 Long Empty Aluminum Fast 1% Decline 720 368 1133 4 060 Long Empty Aluminum Fast 1% Decline 1586 459 2000 1 061 Long Empty Aluminum Fast 0.5% Decline 809 302 2667 

2 061 Long Empty Aluminum Fast 0.5% Decline 156 420 1747 

3 061 Long Empty Aluminum Fast 0.5% Decline 488 416 1277 4 061 Long Empty Aluminum Fast 0.5% Decline 1869 541 2658 1 062 Long Empty Aluminum Fast Crest 524 225 1965 2 062 Long Empty Aluminum Fast Crest 54 297 1267 3 062 Long Empty Aluminum Fast Crest 141 286 1017 4 062 Long Empty Aluminum Fast Crest 1271 368 2147 1 063 Long Empty Aluminum Fast Trough 786 226 1919 

2 063 Long Empty Aluminum Fast Trough 362 356 1297 

3 063 Long Empty Aluminum Fast Trough 626 350 956 4 063 Long Empty Aluminum Fast Trough 1696 439 2026 1 064 Long Empty Aluminum Slow Flat 43 9 67 2 064 Long Empty Aluminum Slow Flat 28 12 43 3 064 Long Empty Aluminum Slow Flat 75 15 44 4 064 Long Empty Aluminum Slow Flat 83 15 39 1 065 Long Empty Aluminum Slow 1% Incline 4 5 23 2 065 Long Empty Aluminum Slow 1% Incline 0 5 23 3 065 Long Empty Aluminum Slow 1% Incline 4 5 19 4 065 Long Empty Aluminum Slow 1% Incline 7 6 16 1 066 Long Empty Aluminum Slow 1% Decline 303 84 805 2 066 Long Empty Aluminum Slow 1% Decline 152 110 559 3 066 Long Empty Aluminum Slow 1% Decline 287 114 304 4 066 Long Empty Aluminum Slow 1% Decline 524 154 514 1 067 Long Empty Aluminum Slow 0.5% Decline 164 35 321 2 067 Long Empty Aluminum Slow 0.5% Decline 96 53 205 
176 

Standard Mean Maximum Deviation Sim Distance Deviation Train Train of Pe

Stage Set Train Load Track Grade to from Mean Length Speed Distance Ove

ID Target Distance to to Target (ft) Target (ft) (ft) 

3 067 Long Empty Aluminum Slow 0.5% Decline 134 53 121 4 067 Long Empty Aluminum Slow 0.5% Decline 295 76 259 1 068 Long Empty Aluminum Slow Crest 71 20 153 

2 068 Long Empty Aluminum Slow Crest 31 30 97 

3 068 Long Empty Aluminum Slow Crest 38 29 90 

4 068 Long Empty Aluminum Slow Crest 139 41 157 1 069 Long Empty Aluminum Slow Trough 57 10 76 

2 069 Long Empty Aluminum Slow Trough 36 16 55 3 069 Long Empty Aluminum Slow Trough 49 16 53 4 069 Long Empty Aluminum Slow Trough 96 20 74 
177 

Appendix H. 

Field Test Pictures 

Figure H-1. Field Test Consist 

Figure H-2. Field Test Locomotives 
178 

Figure H-3. Lead Locomotive Control Stand Setup 

Figure H-4. Train Control Computer and Instrumentation Located in the 

Nose of the Lead Locomotive Cab 
179 

Figure H-5. Instrumented Coupler Installed on Rear Locomotive 

Figure H-6. Rear Car Instrumentation including EOT, 

Data Acquisition Computer, and Antenna 
180 

Figure H-7. Rear Car Instrumentation Data Acquisition Computer 
179

Abbreviations and Acronyms 

 

AAR Association of American Railroads 

ALD Automatic Location Detector 

EOT end-of-train 

FAST Facility for Accelerated Service Testing 

FRA Federal Railroad Administration 

GPS Global Positioning System 

GRL gross rail load 

IDOT Illinois Department of Transportation 

NAJPTC North American Joint Positive Train Control 

PC personal computer 

PTC Positive Train Control 

RTT Railroad Test Track 

TCL Test Controller/Logger 

TOESTM Train Operations and Energy Simulator 

TTC Transportation Technology Center (the Site) 

TTCI Transportation Technology Center, Inc. (the Company) 

WILD wheel impact load detector 

WRE Wabtec Railway Electronics