Excel Car Cards and Waybills

Here I will discuss how I created my own car cards and waybills using Microsoft Excel’s spreadsheet software.

Note: this will not be intended to be a detailed tutorial on Excel, or the specific features I’m using; I will show enough to convey how I’m using the feature(s), but for additional details I will refer you to Excel’s documentation or other help sites. It should also be possible to achieve these results using similar tools in other spreadsheet software, but I leave that research to the reader as to how the tools in those softwares may differ from Excel.

Car Cards

The specific design of the car cards and waybills is inspired by the ones we use at the club created and printed using the Ship-It model railroad software. They follow the same dimensions and general form factor, although I have tweaked the design a little to customize it for my own purposes (especially of the shipment waybill insert slips – see below).

On the car card, the car information goes at the top, with the most important information (identifying reporting mark and number) in the central place of prominence. Other descriptive information such as type, colour and length are included below to assist in visually identifying the car. The Notes field may indicate other special features of the car, or usage restrictions (for example, “Paper service only” on boxcars meant for such).

The bottom of the card is designed to fold up and be taped to form a pocket into which the shipment/routing portion of the paper work (waybill) is inserted.

Below we see the Excel sheet I use for printing out my car cards. It took some tweaking to get the column sizes exactly correct, but otherwise looks pretty straightforward. However, under the hood all of the fields are defined with formulas that pull data from another sheet in the workbook. I didn’t want to copy and past page after page after page of hand-coded car cards (and especially the waybills with their vastly higher number of fields and flopped orientation) so I made one template page, and used Excel lookup functions to pull the data from another sheet, so the car data could be tracked and manipulated far easier in a standard grid format, and any arbitrary range selected for actual printing. In this way, car cards for a large fleet of hundreds of cars can easily be created.

car car sheet

You’ll see in the first image above of the car card template sheet, a “Starting ID” cell below the cards (in cell E16, highlighted). I’m going to use the value in this cell to feed into the Excel lookup functions, which will extract data from the actual roster sheet, and populate it into the fields in the car card template for printing.

Below is the actual roster information, contained in another sheet within the same workbook. Way easier to read and keep track of, and much more additional notes and information can be added in further columns to the right; our lookup only needs to deal with the first ten columns. Note in particular the first column with the heading “ID”. This is the value we’re going to lookup, and then populate the date from the other columns in the same row into the template sheet for printing.

car card data

Excel has several data lookup functions, and the one we want is the “VLOOKUP” function. The VLOOKUP function scans through a specified range of data, looking for a specific value in a particular column. Once that value is found in the search column, it can return a value from another column in that row. The VLOOKUP function in Excel looks like this:

=VLOOKUP( [value], 
          [source sheet name]![data columns], 
          [column # in data to pull result from], 
          [allow approximate matches])

In my case above, we’re pulling the lookup value (the car ID) out of cell E16, so the reference to that cell is the value. (For the subsequent car cards, we want to pull the next several cars in the data sheet, so the lookup value will be the value of (E16)+1, (E16)+2, etc., so if the starting ID is 1, car cards 1 through 5 will be printed.)

The name of my second sheet with the car data is “Data”, and the data is in columns A through K in that sheet. (The VLOOKUP function will scan the first column trying to find the lookup value.)

The last argument should be set to FALSE as we only want an exact match.

Put that all together, and the lookup for the reporting mark field on the first car card looks like this:

lookup function

One thing to know about the VLOOKUP function in excel, is that if the returned cell in the data sheet is blank, the VLOOKUP function will display that as a 0 in the display cell. For some fields here, like the Notes and Empty return information, I definitely want the cell to be blank if there’s no data, not rendered as zeroes. To protect that, any cell that’s using a VLOOKUP that you want to allow to be blank will need to be wrapped with an Excel IF function, which looks like this:

=IF ([condition], [value if true], [value if false])

In this case, my condition will be if the value from the lookup function is blank (“”), make the cell blank, otherwise insert the returned value. If I do this for the example cell in the image above, it would end up looking like this:

=IF (VLOOKUP(E16,Data!A:K,2,FALSE)="", "", VLOOKUP(E16,Data!A:K,2,FALSE))

… which actually looks far more complicated than it is, since the whole lookup function is pasted in there twice.



I also used these tools to create my own custom waybill template. This was a lot more work than the car cards simply owing to the sheer number of fields involved in each waybill compared to the car card, and managing to fit 10 of them per sheet as opposed to 5 per sheet for the car cards. However, it was largely a matter of just taking the time and effort to copy and adjust the lookup functions much as above. While there are quite a number more fields to deal with, and more waybills fit onto a page than the car cards, the general method is exactly the same. Just time consuming to do that many fields. But once it’s done, you have a dynamic template that can easily and quickly create and print out hundreds of different waybills.

waybill template

My waybills are “two-cycle” with each one printed on one side of the paper and having two separate moves (generally an empty move and a loaded move), one of which is visible at a time and rotated (between sessions) in the car card pocket to display the second move when the first move is completed. This required printing the second move upside-down to the first – although Excel doesn’t allow you to set the text orientation in a cell to “upside down”. It does however let you do “up” and “down”, so I just designed the waybills sideways with each half oriented a different way, as seen in the image above.

Two-sided four-cycle waybills can also be created, just more of the same effort to set up the additional fields on the second page, and a bit of playing with the page margins and column positions to find the proper alignment so that when the second page is printed on the reverse of the first, the waybill edges line up properly for cutting them out. I only needed two-cycle bills, so I did not bother with this effort.

You’ll see that my waybill template includes a block code for switching/routing at the very top, as generally this is the most important information required when switching or handling cars – “Where does this go?” and using a routing or block code at the top of the waybill makes it easier to identify the car’s immediate destination. This is reinforced with a colour-coded bar below the block code which matches the block. (I plan on making a chart of the blocks and a system map readily available to operators in the model railroad’s timetable document.)

To make the colour coded bar, I created a series of Conditional Formatting rules to apply a fill colour to this cell based on the text value in the block code cell above/beside it.

Once the waybill template is completed, it’s a matter of playing around in the data grid to create the various shipment information, and then printing them out in the template by adjusting the starting ID/group to fill in the data and print the results. Cut out with scissors, insert into the appropriate car cards, and voilà:



A few people asked if I would share the actual Excel files. Here they are.

Notes: The car cards file is useable as-is by anyone. I cleared out my own roster information so the entire world doesn’t know my inventory, just leaving the first few cars behind to illustrate how the data works. For the waybills file, I actually uploaded my file as-is, including all my data. Consider it a gift to other ACR modelers, and shows how the data works. Note that if you’re adapting the file to your own railway and want to include the colour coded bars that match to the destination block codes, you’ll have to go in and edit all the conditional formatting rules for your own station/block names. Note that this workbook also contains the customer order sheet described in my previous post.

If clicking on the link doesn’t open the file properly, right click and choose “Save As…” from the menu that comes up. (Mac users with a one-button mouse, I believe you hold the “Command” key and click for this menu.)

Simulating Customer Demand on a Model Railroad

In this post, I’d like to discuss one method to really improve on the car card and waybill operating system for simulating freight traffic and moving cars around a model railroad. This post won’t discuss the particulars of how the system works as a whole, just a way to enhance it by controlling or introducing variability into how many new cars are brought into the layout, and which customers will get switched.

Someone recently asked a similar question on a Canadian Railway Modelers facebook group of “how to determine which industries on a switching layout get cars in a session”, so I thought I’d take the opportunity to expand on my version. A few different ideas that people have used, of which this is only one, were given in response to the facebook question such as rolling a die for each industry, drawing random playing cards, etc. The spreadsheet system does have an advantage of being easily scaleable to a larger layout as well as a smaller one, but it’s certainly not the only approach.

The system described here was initially developed by my friends at the Waterloo Region Model Railway Club to generate traffic on our large club layout. I’ve copied it to play with generating traffic for my own layout (which doesn’t exist yet, but I can plan and experiment with traffic for the future) and also tweaked a few minor aspects of the system to customize it for myself.

Use With CC&WB and Other Systems

My club and I have used this in conjuction with a car card & waybill system to select number of fresh waybills to assign, but really the spreadsheet just generates a number of cars and you can use this with any sort of system from CC&WB, to tab-on-car, to manually written switch lists, or almost any other form of non-computerized car forwarding system. The spreadsheet just takes the every day decision making out of how many waybills/tab markers/cars to select for a customer after the initial up-front setup of the sheet. And if you find things aren’t quite balanced you can always play with tweaking the numbers in the spreadsheet.

If you’re using with with car cards and waybills (CC&WB) note that one major thing that is assumed by this system is that you are constantly removing and replacing waybills in the car cards and one waybill/car card combination is NOT permanently associated with each other. I’ve seen a number of modelers and even software programs (like Ship-It!, which our club used to actually create and print our car cards/waybills, but required some serious work-arounds of the system in some places including separate databases for the car cards and waybills due to the 1:1 permanent waybill to car card assignment issue…) using systems that permanently assign a specific four-cycle waybill to a specific car. This I think also leads to one of the more common complaints of the CC&WB method being “too rigid” with the same car always travelling the same pattern. Which is only an issue if you have a rigid mindset of never changing the waybill assigned to the car. Or your cars are so unique

Also, since we’re varying the number of new waybills assigned to empty cars in staging (or interchange tracks, or yard storage), this method will end up requiring breaking down and re-making inbound trains in a “fiddle” staging yard (or else assigning generic “through” waybills to remaining unused cars that are left over in the trains in staging, if you don’t want to physically change around any cars in staging).

If you aren’t already familiar with the “car card and waybill” system, I could do a separate primer later, but there’s plenty of information out there if you search the phrase “model railroad car card and waybill”. The short version is that it was designed by a model railroad back in the 1970s to simulate the important details from a real shipping waybill, but making all the paperwork reusable by separating the car and shipment information into two pieces of paper that combine together, usually by inserting the “waybill” (shipment details) into a pouch built in to the car card.

How it Works

The basic method is to generate car orders between a given minimum and maximum number of cars on a percentage frequency, or odds of occurring. (i.e. “30% of the time”, “50% of the time”, “100% of the time”…) By using a spreadsheet with a random number generator, it’s simple to generate varying orders for a number of different customers or car types. By varying the minimum/maximum and frequency values, it’s possible to have different orders range from completely constant (i.e. min/max the same at 100% frequency) to completely variable, with each order having a different statistical odds of occurring or range of amounts of cars to order.

I also figured out a way to tweak the spreadsheet to allow some orders to be generated on specific days of the week (e.g. Mondays, Wednesdays, etc.) which can be helpful if you have certain trains that every other session, or to reduce traffic for a “Weekend” session with less trains if you have fewer operators available. I’ll discuss this tweak at the end.

Setting up the Order “Pools”

Since the point is to control customer demand, you’ll generally want to have an order line for each significant customer/car type. However pools can also be somewhat generic for through cars.

For example, on my future layout, I’ll have several different pulpwood orders for my major customers: Abitibi/St. Marys Paper (possibly split into separate orders for the spurs at Trembley, Limer, and Wyborn), Newaygo (possibly split into separate orders for Mosher and Trembley spurs), and Miscellaneous. For the Newaygo sawmill, in addition to the inbound logs, I’d also have an order for lumber flatcars, and one for woodchip gondolas. A few other lumber flatcar orders would exist for other mills in Sault Ste. Marie and Hearst. I’ll also have some generic pools for CN overhead traffic between Oba and Hearst.

At the Waterloo Region club, which is a very large layout with a lot of traffic we actually developed a numeric classification/pool code system to replace the AAR car types on our car cards and waybills. We then organized and set up the customer order pools organized by these car types. This could be an entire discussion unto itself how we developed the specific details of this system, and while it’s probably sounding a lot more complicated right now than it actually is, and one doesn’t necessarily need to go this far, for now let’s just say that doing it this way for a large layout makes it much easier to organize the waybills and car cards by sorting on the classification/pool number and to generate realistic looking traffic by separating out different car types, configurations and assignments (for example assigned-service paper boxcars). Specific service assignments can also be indicated by a note on the car card like “Paper Service Only” but when re-waybilling over a hundred cars for a session, reducing the decision making by making the car types distinct is helpful. On a smaller layout, NOT reducing the decision making “could” be more fun by actually making you feel like you’re acting more like the local station agent in assigning cars for loading –

How to Setup the Spreadsheet in Excel

The original spreadsheet was created in MicroSoft Excel, and the formulas used here are specific to that program, although they may be similar if not the same in other spreadsheet software. Confirming that or figuring out the equivalent syntax or formula for different software is left to the reader.

Note however, that in laying out specific formulas, for simplicity of description I just referenced the columns (for example “= A + B”) while when actually entering the formulas you actually need to reference the specific cells (“= A2 + B2”). You can do this for the first column and then drag and fill down the sheet in Excel.

Basic Customer Demand based on a Percentage Frequency

The first four columns of the sheet are manually filled in and define the parameters of the order:

A – Description
B – Minimum cars to order
C – Maximum cars to order
D – Frequency% (0-100) – how often to fill this order

Then, we use a few columns to generate our random numbers and calculate the results:

E – Generate a random number between 0-100 to compare against the frequency column:

F – Compare the generated result against the frequency. Output a 1 if less than or equal (so the order will happen), or 0 if over (it won’t happen today/this session):
= IF (E <= D, 1, 0)

G – Randomly generate the number of cars to pull within the minimum to maximum range specified. Note that we also multiply the result by the 1 or 0 in column F to make sure orders that have a frequency of less than 100%. This is the final number of cars to assign to this order for the session.

Generating Orders Based on a Specific Day of the Week (DOW)

The original spreadsheet we used at the Waterloo club was exactly as above, using a simple percentage frequency to control whether an order is filled or not. (Setting a minimum value of 0 cars to order will also reduce how many times a car shows up, but the statistical probability is a bit harder to calculate if the frequency is also less than 100.)

In some cases however, you might have a railway that runs certain trains on alternating days, or a reduced schedule on weekends (which could be helpful to be able to run a “weekend” schedule for a session if you know you’re going to have a smaller operating crew, or a fuller session with extra traffic if you have an extended session with extra crews. Using a couple of additional slightly more advanced Excel formulas and features I was able to be able to also be able to specify Days of Week for each customer pool to be ordered. (I specifically set it up for Day of Week, but you can use the same technique for “Full”, “Normal” and “Reduced” sessions.)

Note – this will get a little bit more technical to evaluate the day of week.

In this version, the first six columns (A-F) are the same, but the final result will be calculated a little differently, so delete column G for now.

We’ll also need a few extra columns to represent the days of the week, so we’ll use up the next seven columns* (G through M) to represent the days Monday-Sunday. Put a “1” in the column for each day the shipment *should* occur. Leave blank for the days to be skipped.

*Stylistically, I actually put my DOW columns all the way to the right hand side of my own spreadsheet to make it more readable when using and editing the sheet, but we’re mainly talking concept here so I’m just going to keep everything in the order I discuss them right now. Just make sure if you put things in a different order to reference the column that contains the right data. Another suggestion to make the sheet better to look at is to change the text colour on the calculated comparison columns to white or light grey so those numbers aren’t visible if you print out the sheet. As mentioned before, you can also adapt this concept to make different orders for high/normal/low traffic sessions, using three columns here instead of seven. Adjust other column references accordingly.

Column “N” then evaluates against the selected Day of Week. This is where things get interesting. First of all, I stuck a cell at the very top of the spreadsheet where I can indicate the Day of Week for the session I’m generating orders for (1 for Monday, through 7 for Sunday). In my case, that’s specifically in cell B1. Excel has an “offset” function which allows you to fill the value of one cell with the value of another cell in a different column in the same row. The function looks like this: OFFSET(reference, rows, columns) where the reference is a starting cell reference, and the number of rows and columns to shift over from that starting position.

In our case what we want is to use that function to check whether there is a 1 in the column for today’s DOW, by using the value from cell B1. So we want to shift over than many columns on the same row. But we also want to make sure that when we fill the cell formulas down to following rows, that the cell we’re referencing here doesn’t shift down a row with the other cell references. So we want to use an absolute cell reference to make sure that this never changes. Excel does this by putting a $ in front of the part of the reference we don’t want to change. So to make sure that the offset *always* references cell B1, the cell reference should look like $B$1 instead of B1.

In this case, to be absolutely clear, and to show the difference between the relative and absolute cell references, I’ll show the formula as if it were for row 3 of the sheet. The final result in cell N3 should look like this:
= OFFSET(F3, 0, $B$1)

Then finally in Column “O”, we again generate our random number within the min/max range and multiply it by both the frequency result and the DOW result:

There you have it! Now the spreadsheet will control the minimum and maximum number of cars, frequency (% odds of occuring) and also specific days of the week to order cars for a customer. And remember, if you simply want a particular customer to *always* get cars, just set the frequency to 100 and make sure there’s a 1 in all of the Day of Week columns. This order sheet is now completely as rigid or flexible as you could possibly desire, on a customer-by-customer basis.

Full spreadsheet column definitions (based on starting position in row 3):

Column Description Formula
A Name/Description
B Minimum
C Maximum
D Frequency (%)
E Frequency Random* =RANDBETWEEN(0, 100)
F Frequency Check* =IF (E3 <= D3, 1, 0)
G DOW Monday
H DOW Tuesday
I DOW Wednesday
J DOW Thursday
K DOW Friday
L DOW Saturday
M DOW Sunday
N DOW Check* =OFFSET(F3, 0, $B$1)
O Final order amount =RANDBETWEEN(B3, C3) * F3 * N3

* – Calculated column that can have its visibility reduced for readability when using.

Model RR Scheduling and the Perceived “Evil” of Fast Clocks

How many times have you seen this on various modelling forums, whenever there’s a thread about operations and the discussion turns to schedules and/or fast clocks? Inevitably you know you’re going to see comments like:

“The biggest issue I see with TT&TO [TimeTable and Train Orders] operations as well as switching are fast clocks and too much compression of a prototype to model.”


“The problem with fast clocks is their correlation to prototype time is different for mainline operations and yard operations.”


“In order to make switching work with a fast clock, you’re stuck trying to go as fast as you can.”


“I just use the real clock on the wall [1:1 ratio] because I don’t like the pressure of using a fast clock.”

I want to look at a few reasons why these arguments are “wrong” – or at least, how the fast clock is being unfairly scape-goated for the problems and how to address them. The real problem is the schedule itself, not the clock.

Measuring time with a “Fast Clock” is purely cosmetic

The central point to everything I’m going to discuss here is that using a different clock doesn’t make time go faster or slower. While that sounds obvious, it’s hugely important and it seems like misunderstanding (or maybe just over-thinking) this leads to all the problems and objections with its use.

Just think of a fast clock vs. the real clock as akin to measuring in inches instead of feet. You’re still measuring the same thing, just in different units. If you try to jam a 1 foot peg into a 10 inch hole, you’re going to have some issues. The problem isn’t the clock – it’s the schedule.  However you’re choosing to measure the passage of time, time still passes at the same rate (at least in our current frame of reference), and if a job takes a certain amount of real time to complete, you need to schedule that much real time to complete it.

Understanding this properly defeats pretty much all arguments about using a fast clock vs. real time. But let’s delve into a few specific aspects anyways.

Design your schedules based on how long things *really* take on the model

A common objection to fast clocks that will often be raised in discussions is that switching time doesn’t scale well compared to mainline running time. But this is true regardless of the clock speed being used, whether 4:1 or 1:1. So really, the fast clock ratio really isn’t relevant as long as the schedule has enough real time to be executed properly. If a job takes 15 real minutes, it takes 1 fast hour. So don’t schedule 45 minutes on the fast clock to do it.

When starting to build your schedule, run a train across the layout. Don’t do any switching, just run across the line and write down your times at each station. Do this in both directions (as grades or other factors may allow faster runs in one direction). Do this several times and average it. Do this with both a standard passenger train and freight train at appropriate speeds to get appropriate running times for different types of trains.

Then similarly time your switching operations. How long does it take? Do this several times with varying amounts of cars switched and average it. Do it alone and with a friend. Invite friends with different experience levels as one might take longer to do the exact same work. Establish a “typical” average switching time the job should take and add enough time to the schedule to accomplish it.

Establish how much actual time it takes to operate. Whether you time things using the fast clock, or time them using the real clock and then later multiply by the fast clock ratio to make up the schedule should end up getting you the same result. (Just don’t ever change the clock ratio from one the schedule was built on.)

Don’t paste a prototype timetable onto the model operation as-is

This is more or less a reiteration or extension of the above point, but it needs to be clear that when forming a schedule for the model railroad, even one based very closely off of a prototype railroad, you can’t just photocopy the prototype timetable, run according to that and expect to not have problems. Pretty much all of the “problems” with fast clocks are actually a result of people trying to do this, when you simply can’t just use the schedule this way.

A model railroad layout based on a prototype is NOT the prototype. Our distances and running times between stations are usually aggressively compressed to a real railroad. 100 miles of real railroad ends up compressed into only a couple scale miles. If you try to just use the prototype timetable adjusting the fast clock so the running times roughly match up, you won’t end up with enough time to try to do any of the actual work using that timetable. The only way it would work is it everything is exactly to scale in every distance and measurement, which it never will be.

So DON’T TRY. You will fail.

If it takes 30 real minutes (2 fast-hours on a 4:1 fast clock) to switch a train, it takes 30 minutes. It doesn’t matter that the real railroad typically did it in an hour, on your railroad it takes two. Schedule the two fast-hours to do it. DON’T use the one hour from the prototype timetable. It can’t be done.

Yes, some might make the argument at this point that the fact that the switching now takes two hours instead of one lessens the effect of using the fast clock to make it feel like more time is passing, but this is a case where one has to accept some sort of compromise, because you just can’t physically have it any other way. Your running times relative to switching times are going to be reduced compared to a real railroad, whether those times are measured on a 10:1, 4:1 or 1:1 ratio.

There are some strategies to develop a model timetable that feels like the prototype. I don’t want this post to turn into an article on doing that, so I’m not going to attempt to investigate this in detail at the moment (that might be an interesting future discussion on this blog when I end up adapting a schedule to my own layout), but one idea would be to try building your timetable around arrival/departure times at a key location, such as a central yard or town that is the primary focus of the layout. (If your layout is only one town, easy!) Work backwards/forwards from there to build out the schedule. Adjust as necessary to make opposing meets work.

Your final timetable will NOT be exactly the prototype timetable, but it will be workable. Just using the prototype timetable verbatim will not. This is one of those areas where attempting an exact replication will absolutely fall flat on its face.

Don’t change the clock speed to speed up or slow down operations

If you find yourself needing to turn down the clock speed in order to reduce pressure and get things done, it’s probably a failure in designing the schedule to properly accomodate the work. Yes, slowing the clock (but keeping the same schedule) will expand and ease everything off – but that’s just showing that the schedule was too tight.

Whatever you do, don’t just speed up the clock in order to expedite departures on a session that’s running late, because that just makes everything on the schedule compressed, and leads into creating all of the problems that people like to blame on the clock. And in a sense, I suppose now it actually IS the clock’s fault in this case – but if you pick a clock speed at the beginning, and build a proper schedule around it, the specific speed really doesn’t matter, whether it’s 10:1 or 1:1. Just don’t change it later.

It’s OK to run late on the timetable

This seems to be something that’s not understood by people who aren’t properly familiar with timetable operations.

A timetable schedule represents the earliest time a train can leave a station. For freights, especially local freights, the schedule may not even be close to the “typical” time it actually runs each day and it may not be at all unusual for it to be running an hour or two behind on a regular basis. Schedule authority is valid for up to 12 hours from the listed times, which means a train could run late by that much and not legally require any new orders.

It’s true that if the late train is a first or second class hotshot, such an extreme delay is going to snowball by delaying all other inferior trains, but in this case the dispatcher can step in by issuing orders to fix meets between trains to specific locations and/or flip the superiority between two trains. The DS has a number of tools in his tool box to play with here.

If the late running train is near the bottom of the superiority totem pole, then it hardly matters since it’s incumbent on that train to get out of the way of any superior scheduled trains no matter where it happens to be. This also applies to a local or yard job doing switching. If a scheduled superior train is due, it needs to clear the track and wait until it passes, but can go right back to work afterwards.

If the late running train is running on a branch where it’s the only train, it matters not at all.

(Pro tip: any trains doing switching work are normally low priority third and fourth class trains (or even extras) that aren’t delaying much by running late. The first and second class passenger and hotshot through freights should be able to sail through relatively unimpeded and on time.)

It’s OK to miss a connection in the yard

This is similar to the previous point, but for the yard instead of the mainline.

Establish cut-off times for preparing outbound trains, but don’t kill yourself making every car in the yard for that train make its connection. And no cherry picking!* (Searching out individual cars throughout the yard for one destination to build up a train.) Sort an entire inbound or unsorted track at a time into separate tracks based on destination and/or connecting train. Don’t worry if there’s a car for a train buried five deep on that track you haven’t had time to sort yet. There will be another train tomorrow/next session.

Now, there might be certain exceptions and priorities – “make sure those freshly iced reefers get out on a train ASAP” – but don’t worry about making all cars make every connection. A real-world terminal dwell time for a freight car of 24-48 hours isn’t unusual anyways.

*See also Byron Henderson’s excellent article on efficient yard switching “Please don’t pick the cherries

Give the dispatcher a break

Another objection is that the dispatcher doesn’t have enough time to write orders. Well, try not to write them if you can!

The way TT&TO works, if all the trains are regular trains with timetabled schedules, barring some major mishap or snarl the dispatcher could just walk away from his desk completely and trains will still work their way across the railroad to their destinations. TT&TO rules provide the means in most cases for trains to move across the line, with the train crews performing their work and determining their own meets with other trains all with minimal to no dispatcher intervention. It is true that a late-running superior train has the potential to cause delays to cascade to other trains forced to wait for it, however unless the train is extremely delayed or some sort of exceptional circumstances are involved, the time and effort involved in attempting to stop trains to create and deliver new orders could actually make the delays worse than just letting things play out, and only stress out everyone involved (especially the dispatcher) trying to crunch everything out to try to keep precisely to the published timetable.

Side note: on some real railroads, regular trains were timetabled on one direction only, with trains in the opposite direction run as extras. This effectively prioritizes all traffic in one direction as these extras would be inferior to all the opposing trains and would have to get themselves out of the way. The superior trains in the opposite direction don’t necessarily even have to know or care that the extras exist.

Again though, the fast clock itself isn’t the problem here since it takes as much time as it takes regardless of the clock measurement. Even if using a 1:1 clock speed, if the schedule is that dense you’ll have a hard time keeping up with adjustments and orders and it may be better to just let it play out if you can.

Slow Down, Lay Back and Enjoy the Ride

In summary, I want to leave with just a few very simple thoughts:

  1. Problems attributed to fast clocks are usually really just issues with a poorly designed or adapted schedule, since the amount of time is the same however you measure it. Always adapt the schedule to the model railroad, not the other way around.
  2. Treat schedules as milestones, not deadlines. Allow the schedule to drive the starting times of jobs, but don’t stress about rushing to finish “on time”.
  3. It’s not a race. Try not to unnecessarily delay other operators if you can, since they probably don’t want to spend half the session sitting in a siding waiting for you, but if you’re the most inferior train on the schedule, no one is really waiting for you and you have almost all the time in the world.

Now, if you still find that operating using ANY sort of schedule that uses a clock isn’t for you at all, that’s fine too. There are plenty of ways to operate without using a clock at all such as a “sequence timetable” (basically a simplified schedule, but with no times and fixed meeting points: “After Train 2 arrives at A, Train 1 leaves A for D. Train 1 switches at B and meets Train 4 at C” – easy for crews to deal with without a lot of thought but a layout owner should put almost as much thought as above into forming the sequence so trains aren’t just left sitting for half an hour waiting for the other train to catch up).

On the Forest Industry in Northern Ontario & Quebec – Part 2: Quebec

Continued from Part 1. (See notes in Part 1 on major consolidations and mergers.)

A pair of local family-owned companies, Normick-Perron, owned by the Perron brothers of La Sarre before being sold to Noranda Forest (later Nexfor) in 1989, and Forex, owned by the Cossette family of Val d’Or, figure pretty heavily on the scene in the Abitibi region during the 1980s, with pretty big expansions during the 1970s with consolidations and acquisitions of many other local family-owned businesses.

La Sarre, QC

Normick-Perron (OSB/panelboard) – This Normick-Perron mill was built in the mid 1950s by H. Perron et Fils and the only Nexfor property in the region not sold off in the early 2000s and operates today as Norboard, Inc. (since 2004), a major supplier of oriented strandboard products.

Normick-Perron (lumber) – In 1970 H. Perron et Fils merged with JH Normick of La Sarre to form Normick-Perron. During the early 1970s the Perron family concentrated their sawmill operations in the nearby area in La Sarre. The lumber mill was sold by Nexfor to Tembec in 2003 and as far as I can tell is also still operating.

Taschereau, QC

?? (lumber) – Couldn’t find a lot of detailed information on this one but it was sold to Tembec in 1987 and operated by that company until permanently shuttered in 2009.

Amos, QC

Materiaux Blanchet (lumber) – Materiaux Blanchet purchased the Amos sawmill in 1982 from Theo Ayotte and continues to maintain a significant operation here today.

Normick-Perron (lumber) – Normick-Perron acquired a sawmill in Amos from J.E. Thierrien in 1972. I haven’t been able to track the history of this one, but in addition to the large active Materiaux Blanchet mill today, there appears to be a pair of clearly abandoned sawmills visible in the Google satellite imagery of this town but I’m not sure when or under what name the mills were operating when closed.

Normick-Donohue (newsprint) – Established in 1979 as a joint partnership between Normick-Perron (later Noranda Forest Products/Nexfor) and Donohue, Inc. under the name Normick-Donohue to produce newsprint, in 1995 Nexfor sold off their stake to Donohue. In 2000, Donohue, Inc. was acquired by Abitibi-Consolidated (currently Resolute Forest Products) and this mill is still in operation today.

Landrienne, QC

CBRY 1527

Flatcar load of lumber from Scierie Landrienne on the ONR at Cochrane, ON. My photo July 16, 2013.

Scierie Landrienne (lumber) – This independent mill was established in 1979 and continues to operate under the same name today although the company was purchased by Chantier Chibougamau in 2015 – another local company based in Chibougamau, QC.

Barraute, QC

Maibec/Optibois? (lumber) – Not entirely sure of the history of this mill, but it looks like it was sold to Materiaux Blanchet in 1988. It doesn’t appear to be listed on Materiaux Blanchet’s web site as a current operation, and some Googling isn’t turning up much useful, and it looks like it’s been shut down and abandoned.

Senneterre, QC

Normick-Perron (lumber) – In 1976 Normick-Perron purchased a sawmill in Senneterre from Paradis & Fils. This mill was sold to Tembec by Nexfor in 2003. In late 2016, Tembec announced the sale of this mill to Resolute Forest Products.

Saucier? (lumber) – another locally owned sawmill in Senneterre was sold to Donohue, Inc. in 1988. In 2000, Donohue was acquired by Abitibi-Consolidated (later Abitibi-Bowater, then Resolute Forest Products) and this mill is still in operation today.

Matagami, QC

Bisson & Bisson (lumber) – Bisson & Bisson first established a sawmill in Matagami in 1968 and relocated to the current location in 1974 after a fire. The mill was acquired by Domtar in 1988, and subsquently by EACOM in 2010. The mill is still in operation today, although CN has indicated an intention to abandon the branch line serving this mill so it may soon lose rail service.

Quevillon, QC

Domtar (pulp/paper) – the paper mill at Quevillon (and the neighbouring community of Lebel-sur-Quevillon) was established by the Domnion Tar & Chemical Co. (Domtar) in 1966. The mill produced softwood kraft pulp and paper, and in 1974 Domtar built a sawmill connected to this facility. The Domtar mill at Quevillon operated into the early 2000s but was closed permanently in 2008. In 2012 the non-operating mill was sold to Fortress Paper with the intention of converting the mill to produce high-cellulose “dissolving pulp”, however a change in market conditions (high import tariffs implemented by China) scuttled this. In 2016 the mill property and assets were sold to Nexolia Bioenergy.

Val d’Or, QC

Forex (lumber) – Not sure of early history, but it was owned by Forex in the 1980s and sold to Domtar in 1985. Currently in operation as EACOM’s Val d’Or mill. Side note: this mill appears to be the current destination of a large move of pulpwood traffic off the former ACR.

Forex (lumber) – A second lumber mill in Val d’Or, this mill was acquired from the Sullivan family in 1980 and sold to Domtar in 1985. Currently in operation as EACOM’s Sullivan mill.

Forex (OSB/Particleboard) -If I understand what I’ve read correctly (on a French site using Google Translate), this mill was started by Forex in 1975 and operated under the name Forpan during the early 1980s. Sold to Uniboard in 1987 and still doing business today under that name.

Malartic, QC

Forex (lumber) – Another Forex mill in the Val d’Or area sold to Domtar in 1985. Not too sure of history before that. Domtar closed the mill in 1997.

On the Forest Industry in Northern Ontario & Quebec – Part 1: Ontario

During a couple of visits over 2013-2015 to Northern Ontario to investigate and railfan some of what remains of the Algoma Central’s operations as well as the other regional lines such as the Huron Central and Ontario Northland, I noticed westbound loads of lumber travelling towards Hearst from companies like Scierie Landriene, EACOM and Resolute Forest Products that I knew (or was pretty sure) didn’t have local mills served directly by the Ontario Northland, but had come from much further afield from the CN in northern Quebec (interchanged to the ONR via Rouyn-Noranda and routed to Hearst via Englehart and Cochrane). Also, I saw empty pulpwood flatcars heading back to Hearst after having delivered logs cut somewhere on the former ACR territory to one or more of these mills in Quebec.

CN at Wyborn

Southbound freight at the old ACR Wyborn siding in Hearst, ON. In the first four cars are loads of lumber from Tembec, EACOM and Scierie Landrienne, as well as a high-cube boxcar probably loaded with paper. My photo, July 17, 2015.

Obviously this made me interested in finding out where some of these mills were located – and if possible to find out what companies operated them during the mid 1980s – as the possibility of some interesting and realistic bridge traffic off the CN at Hearst would be great enhancement to the operations planning on my future ACR layout. (Also, if I could be even luckier and find appropriate images of lumber loads with correct company heralds to model…)

Tracking the ownership history of each individual mill is a bit dizzying with entire companies being frequently merged, sold/acquired and renamed as well as individual mills being sold between companies. I may have made some mistakes (corrections and/or clarifications are welcome) and I’ve quite probably missed some, but to me I feel I definitely have more than enough information to be able to have a nice sample set of realistic bridge traffic opportunities.

Also note that this research has been specifically limited only to mills along the CN (former National Transcontinental) line through Hearst-Cochrane-Senneterre (and its branches) and the Ontario Northland that might have plausibly generated westbound bridge traffic over a portion or all of the ACR route. For information on mills served directly by the ACR, see my previous posts from my Operations series on paper, lumber and other forest products traffic that already cover this information.

Some general notes on some of the larger corporations and companies:

Normick-Perron, operator of several mills in the area was sold to Noranda Forest Inc. in 1989. Noranda later renamed Nexfor in 1998. In the early 2000s, Nexfor sold off sawmill assets to Tembec and split into two companies to each focus on their own objectives in 2004: Norboard (OSB/Panelboard products) and Fraser Papers (paper products).

Abitibi Paper Co. (formerly Abitibi Power & Paper Co.) merged with Price Inc. to become Abitibi-Price in 1979, with futher major mergers with Stone Consolidated Corp. to form Abitibi-Consolidated in 1997, and Bowater in 2007 to create Abitibi-Bowater. In 2011 Abitibi-Bowater was renamed Resolute Forest Products under which it continues to do business today.

Tembec is a major forestry operator today, although does not really appear on the scene during my time frame. Tembec was formed in 1973 to operate the former Canadian International Paper pulp mill in Temiscaming, QC with their first sawmill acquisition in the same area (served by the CPR northeast of North Bay, ON and not really relevant to any bridge traffic that could have operated on the ACR) in 1986. However since then Tembec has come to acquire a very large number of operations in both Ontario and Quebec.

The E.B. Eddy company operated several mills in northern Ontario including during the late 1990s the ex-Weyerhaeuser/G.W. Martin lumber & veneer mill in Sault Ste. Marie served by the ACR. E.B. Eddy was acquired by Domtar in 1998. Domtar also acquired several mills in the Abitibi-Temiscaming region in Quebec from Forex in 1985. In 2010 Domtar sold their sawmill assets to EACOM Timber.

So, without further ado, moving roughly west to east on the map and listing mills by what as far as I can tell was the operating name around 1985:

Calstock, ON

NOKL 732348

Flatcar load of lumber from Lecours Lumber at Wyborn (Hearst, ON) – my photo, July 16, 2015

Lecours Lumber (lumber) – This mill has been privately owned and operated since 1943 and continues to be one of the largest privately owned mills in Ontario.

Hearst, ON

Tembec Hearst

A portion of the Tembec (formerly Malette, formerly United Sawmills, formerly Fontaine Lumber) mill next to the Ontario Northland yard at Hearst, ON. My photo, July 17, 2015

United Sawmills (lumber) – Formerly Fontaine lumber, becoming United Sawmills in 1982. In 1990 the mill was sold to Malette, Inc. of Timmins, ON and was subsequently purchased by Tembec in 1995 and still operates today.

Levesque Lumber (lumber) – J.D. Levesque operated a couple of small sawmills in the early 1950s (with one located next to the ACR at Wyborn) but the most recent sawmill/planer appears to have been built in the early 1960s (and rebuilt once or twice in the 1970s) at the east end of Hearst. Levesque Lumber went out of business in 1992, although a group of investors operated the planer under the name Tricept until 2006.

Levesque Plywood (plywood, particleboard) – Not to be confused with J.D. Levesque Lumber (which I did for quite a while), Levesque Plywood was formed in the early 1960s by two of J.D.’s sons. The company survived the mill’s destruction by fire in 1965 and continued to expand in the late 1960s and early 1970s. The mill was sold to Columbia Forest Products in 1995 and still operates today. Side note: when I visited Sault Ste. Marie in 2004, Columbia Forest Products was operating a log reload (into flatcars) on a portion of the former Algoma Central shops property behind the former car shop.

Kapuskasing, ON

Spruce Falls Power & Paper Co. (newsprint) – This mill was established in 1926 as a partnership between Kimberly-Clark and the New York Times. The mill has been the exclusive supplier of newsprint to the Times since 1928 and the bulk of traffic from this mill goes south/east over the Ontario Northland. I don’t know if the mill ONLY provides newsprint to the NY Times, but it seems like a good source for the occasional car or two of newsprint sent to a midwest paper. In 1997 Tembec became the sole owner of this mill which still operates today.

Side note: of particular interest, during the late 1960s this mill leased a fleet of 75 boxcars from Pullman’s Transport Leasing Co. (and another 20 cars were leased by CN from TLCX) in an attractive forest green scheme with large billboard lettering, although these cars were returned to the lessor in 1973* and CN provided the mill with their own cars. (*The cars were subsequently leased by Canadian Pacific and numbered in the CPAA 899xx range until 1987.)

Smooth Rock Falls, ON

Abitibi-Price (pulp) – Another old mill established in the early 1900s, Abitibi sold the mill to Malette in 1989, and this became a Tembec operation when Tembec purchased Malette in 1995. Unfortunately this mill closed down permanently in 2006.

Cochrane, ON

Normick-Perron (lumber) – I had a hard time coming up with any detailed information on the history of this mill online but it appears Normick-Perron operated a mill here. Today Tembec still operates a mill here and I presume it’s likely the same one. I found specific reference to Nexfor (formerly Noranda Forest, formerly Normick-Perron) mills at La Sarre and Senneterre, QC being sold to Tembec in 2003 but no specific reference to some of the other former Normick-Perron mills.

Iroquois Falls, ON

Abitibi-Price (newsprint) – Another Abitibi mill (this one served by a branch of the Ontario Northland) this is one that I can actually CONFIRM has shipped paper over the ACR at least at some point. Over on the Green Bay & Western Lines website, they have a collection of waybill data for a nearly two month period of cars delivered to the Ahnapee & Western Railway in Green Bay, WI and there’s one waybill recorded of an Ontario Northland boxcar loaded with paper for a local newspaper and it’s routed over the ACR (AC&HB as it was then still known). Resolute Forest Products shut down this mill in 2015.

Kirkland Lake, ON

Normick-Perron (lumber) -Located on the Ontario Northland’s branch to Rouyn-Noranda, QC. Similar to the Cochrane mill I didn’t find a lot of information on the history of this one; it was eventually owned by Tembec but has been idle since 2008.