Modelling what might have been in southeast BC and northwest Wasington

Lathe saga

I control my track switches with a simple homemade toggle switch mechanism plus micro switches for the frog power. These are operated as simple push-pull using wooden dowels. The front end of the dowel passes through a plastic PVC pipe end cap, so that they are flush with the fascia. I got the idea from Jim Petro in Reno Nevada a number of years back when I operated on his layout during a PCR convention.

The end caps need a bit of work to prepare them for mounting. They have raised lettering on the face that I like to smooth off, and they need a hole drilled in the middle. Plus, I like to roughen up the outer surface using sandpaper so that the glue will stick better. All three operations are easily done on the lathe.

As we extended the fascia arouund through to Carson, I needed a bunch more of these prepared for installation. So, over to my trusty lathe. I used it to clean up about four or five of the caps without a problem, but half-way through the next one, it just stopped suddenly with the belt slipping. Huh, what happened? A quick check with the power off showed the the spindle had frozen solid and simply would not turn. Oh, oh.

Many years ago I was very fortunate to buy the 10″ metal lathe from a friend’s father who had worked for Boeing as a machinist. His hobby had been home-built aircraft of his own design, and he had designed his house with enough room in the basement to assemble them, but I digress….

Just after I purchased the lathe, I disassembled, cleaned, lubricated, and reassembled everything on it except the headstock, as I could see no easy way to do so and everything seemed to be running fine. Some years later, I was able to buy a copy of the user manual for the lathe and it included instructions on how to remove the spindle, only “if it was absolutely necessary”. Well, it now was and I really had nothing to lose, so I gave it a shot. It came out very easily, once you know what to do, which way to unscrew things, and where to apply pressure. The problem was immediately obvious in that the very old grease had simply solidified and jammed the ball bearings. The manual said the the spindle bearings were factory lubed with grease that was supposed to last the life of the machine, but I doubt they were thinking 73 years back then! (It was made in 1946.)

The seized spindle front bearing with hardened 73 year old gunk.
The rear bearing with who knows what sealed inside.
Continue reading “Lathe saga”

Second go at the new ops scheme

Hoping that the new operating scheme’s success last week was not a fluke, we decided to do it all over again on August 3rd, just to be sure, with VanRail only one month away.

If I may say so, I think it was one of the best operating sessions we have ever had on the layout. Lots of cars were in motion, even with 10 extra cars on the layout than before, but with no real tie-ups or confusion. The Grand Forks yard did what it was supposed to do, namely be a place to organize cars when a train is in town, and not be a big storage bucket all of the time. There was even space for two trains to meet and pass, because the siding was not clogged with cars.

Grand Forks yard working as expected and not clogged.
John switching Grand Forks – notice that the yard is not full.
Continue reading “Second go at the new ops scheme”

Shipments versus Car Roles

The original design of my CFS program used the notion of a Shipment, which implemented the basic idea of a shipper sending a load of something to a receiver, much as one would expect. The starting and ending tracks could be either in the modelled network (on the layout) or at virtual tracks in the unmodelled space (behind staging). With this approach, only the loaded segment of a car’s journey is defined, regardless of if it is heading in to or out from the modelled layout. Every car’s assignment will always include at least one segment that is done empty, either to supply a car to a shipper to be loaded, or to return an unloaded empty car back home, or both. With a Shipment having only information for the loaded segment, the other segment(s) must be generated using some sort of rules. The various rules tried so far have been less than entirely satisfactory, and this has led to some unfortunate side effects in terms of not being able to shape car movements in desirable ways.

A good example of this problem is when a car is supplied to a modelled shipper. The car will usually come from one of the staging tracks, but which one? The shipment is silent about where a car comes from, or where it returns to. When restaging a car, we may not want the selection process to consider all staging tracks equally, as that may have ramifications on car interchanges, flow through yards, etc. It would be better if there was a way to influence this selection process by having relative weights on the different choices, so that some are more likely to be selected than others. This allows for some oddball routing for variety, but the bulk of the selections will be what we expect.

Similarly, the choice of which way to route an empty car towards home suffers from the same problem. While there are lots of prototype rules around this, the reality on a model railroad is that we may have to coerce the routing so that parts of the layout do not get overloaded. Again, having a weighting scheme would help.

A simple solution to both problems is to define a complete life cycle for each shipment, including car supply, freight movement, and empty return. Each role is given a weighting that can be used when selecting from otherwise equal and suitable choices. For example, car routings that do not involve interchange to other railroads may be given a higher weighting and therefore are more likely to be selected than ones that have interchange, thereby minimizing cars having to be switched through a yard.

This new notion is called a “Role” for now, so that it can coexist with the current Shipments, but the name may get changed back to just “Shipment” after the original Shipment concept has been completely removed from the code.

One major benefit of this approach is that car life cycles that are more complicated than just a simple supply, freight, and return sequence become very easy to implement, as the role will simply have more segments to be followed. Think of a reefer needing to be iced before it is loaded. It really needs to make two stops for “loading”, one for ice, and the other for the actual load. This new simpler scheme eliminates the need for convoluted rules to handle the extra car movements. It now becomes very easy to include some unusual shipments that should get selected only very infrequently, simply by giving them low weights.

In order to implement this change in the program, significant code must be changed, which will be a big job as the results must be checked carefully to make sure that it really is working as expected. Results from early testing look very promising.

Stay tuned….

First operations under a new scheme

Following the “Fateful Friday” test operating session debacle, I did some deep thinking about how the layout should be operated now that Carson and Curlew had been added. I wrote a number of posts about the problems and what we should try instead:

After all of that, I designed a simplified train operating scheme without a dedicated switcher at Grand Forks. During the week, I ran numerous simulations to fine tune it until it seemed very workable.

The following Saturday, July 27, 2019, and still smarting from the previous session, my brave crew agreed to try out the new operating scheme. This meant that each train was just a way freight that switched its portion of the layout’s industries, with very little interchange of cars between the trains. I tried hard to keep the trains in different areas of the layout so that we would not have too many people in one place at the same time, and that seemed to work out pretty well.

Afterwards, everyone agreed that it was much more relaxed and enjoyable, even though there was still lots of work to be done switching all of the industries. What a difference from one week earlier where we had to abandon the session because it was just impossible to continue. Same guys, same layout, same number of trains, just a different approach to what the trains did. Thank you for not giving up after the previous week!

Thanks once again to John for capturing the day in photos and for his captions.

(Most of) The brave crew!
Continue reading “First operations under a new scheme”

Still Too Much Congestion

Simulations were run of the revised operating scheme without a dedicated switcher at Grand Forks and having the way freights switch the industries and exchange cars between the railroads. Once again there is a pile up of cars that get “stuck” in the yard at Grand Forks. This is fundamentally no different than when we had the dedicated switcher, just to a different degree. It occurs on fewer tracks, and involves less cars, but it is still an undesirable outcome that will lead to unsatisfactory operations.

One thought was that we should try to minimize the shipments that are selected during restaging to ones that have a clear path from staging to the first delivery point. This is called “congestion” and is a measure of how full the tracks are along the car’s route to its first destination. The restaging logic was changed to consider only those shipments where the path congestion is below a certain level, with the idea that this will help the overall car flow by not overloading the paths that already have lots of cars along them.

Test were run with various levels of congestion threshold, and while the number of cars getting stuck in the interchange tracks was generally less, the effect was far less than hoped for. For example, on a 30 day simulation with 40 cars and a congestion threshold of 0.5, the number of times a car had to be skipped because it there was no room ahead dropped from 187 to 147. With 60 cars and the same 0.5 threshold, the number of skipped cars actually rose from 787 to 948! Not a lot of help there. Next, more thinking.

An examination of the tracks involved showed that the vast majority of the skipped cars were in fact at industries ready to be picked up, and they needed to be exchanged with the other railroad, but there was no space on the interchange track. Clearly the issue is not just with picking shipments for cars being restaged, as that only addresses the first leg of their journey. With shipments able to go in all directions, many cars will get delivered to their first stop without passing through a congested area, but that says nothing about the car’s second leg, which has a high probability of needing to be interchanged, hence the problem.

One simple and obvious solution is to tinker with the shipment mix so that most shipments do not require interchange either coming or going, but that is an artificial solution that is not appealing. Some way needs to be found to minimize the number of shipments needing interchange for a typical layout, without introducing artificial un-prototypical assumptions.

The next thing tried was to segregate shipments by the number of railroads involved, using some form of weighted random selection. The idea is that most of the shipments selected when restaging cars probably should be for the home railroad, so that only some will need to be interchanged. To test this idea, a stricter simplified version was implemented which only selects a home railroad shipment. This works well, but can result in a fair number of restaged cars with no candidate shipments which must then be moved to storage. A better way is to only enforce this when there are in fact shipments that meet the criteria, and revert to an “anywhere” model when there are no same railroad shipments available.

The return track selection for inbound shipments was also constrained to be the originating staging track, otherwise these moves can involve interchange tracks as well.

So, after all of those ideas, the results of the changes did not produce the kind of improvements that were expected, and there were still far too many interchange moves, so more investigation was needed. Confining shipment selection to only one railroad was clearly not working, and a detailed look at the data showed why. In my haste to convert to the newer two railroad operational model, I had neglected to update which tracks were owned by which railroads, as it really did not matter up to that point. Now with a shipment selection based on owner, it did matter greatly and was very wrong, hence the large number of interchange moves that were still happening. It was all essentially still one big happy railroad, with shipments going everywhere and plugging up the interchange tracks. Despite the name, the so-called interchange tracks know nothing about which railroad they belong to or even that they are an interchange between railroads. They are simply part of the car routes from one place to another. By having almost everything owned by one railroad, it meant that all of the shipments were candidates, just as before, so naturally many of the ones selected just happened to be between points on the layout that needed to pass through an interchange track.

After correcting the track ownership problem, shipments that travel exclusively on one railroad’s tracks will be moved only by trains of that railroad, thereby minimizing cars needing to be interchanged. There will still be a few, because sometimes there are no single railroad shipments available during restaging, so the criteria is relaxed to consider any candidate shipment which includes interchanges when necessary. Tests bear out a big reduction in the number of cars passing through the interchange tracks, and they are no longer filling up. The total number of cars picked up has increased about 20% and the number of cars that can’t be moved because there is no space ahead has dropped to about 60%.

This little exercise has shown that various techniques can be used to influence the shipment selection process during car restaging in ways that can improve the overall traffic flow on the layout. More research will probably reveal even better ways to do this without having to resort to un-prototypical assumptions or approximations.

The mechanism to influence restaging shipment selection could be brought out as a user configurable feature. So layouts might want to have lots of interchange traffic and can handle it, so this should not be a fixed feature.

Who Should Switch Grand Forks Industries?

The town of Grand Forks on the layout is based on the real Grand Forks located in southwest British Columbia. In its railroad heyday, it was served by three railroads, the Canadian Pacific, the Great Northern, and the Spokane & BC, which is the main focus of the layout.

The industries that are modelled on the layout are a mix of prototype ones and some “could have been” fictitious ones that never actually had rail service. The big question then is which railroad or railroads should switch the industries. There are multiple possibilities:

  1. Every railroad switches all industries.
  2. Each railroad only switches some of the industries exclusively.
  3. Only one railroad switches all of the industries.

In all cases cars would get interchanged between all three railroads at Grand Forks as necessary.

So, how to decide on which option to use? Option 1 provides the most “play value” for the operators, as the industries get switched by every train passing through town, however it is not very prototypical for most industries, especially small ones, as they tended to be located on only one railroad and served by that one exclusively. Some large plants had service from multiple railroads but they were the exception.

Options 2 and 3 are both very prototypical, depending on the siting of the industries, so either would be acceptable, so we need to consider other factors to decide in the case of Grand Forks.

On the layout as it currently stands, the towns of Grand Forks and Carson have trains from both railroads pass through them, while the towns of Curlew and Darestof see only S&BC trains. In order to balance the work load between crews, it would make sense to have the S&BC trains focus on Curlew and Darestof, leaving the CPR to service all of Grand Forks and Carson. This is Option 3. Later on, as more experience is gained, some of the Grand Forks industries could easily be changed to be serviced by just the S&BC trains.

What is the Best Fast Clock Multiplier?

Model railroads are often operated with a “fast clock” that runs some number of times faster than real time, in order to make travel times seem more realistic. Distances on most layouts are so short that the actual travel times between stations end up being very short. Running a clock at a faster rate increases these times to more acceptable values.

A typical fact clock ratio is somewhere around 4:1 or 6:1, as that makes a session lasting a few hours seem more like a day. But, what is the best ratio to use and why?

It is interesting to note that the actual ratio used has no real bearing on the operating session and when things happen, so long as the clock speed and the printed times in a timetable share the same rate. If it takes one real hour to switch a yard, then it does not matter if the stated time is four hours at 4:1 or six hours at 6:1, the work will still take a person one real hour to complete.

So, let’s examine some examples and how they relate between real minutes and scale minutes.

At 4:1, one real minute is four scale minutes, two becomes eight, and so on, with the scale minutes being in multiples of four minutes, e.g. 4, 8, 12, 16, 20, 24, 28, and so on. If we do the same for 6:1, we get 6, 12, 18, 24, 30, 36, 42, 48, etc. Now if we consider than most people think in terms of 5 minute intervals, e.g. 5, 10, 15, 20, 30 minutes, the scale times produced from both 4:1 and 6:1 do not map well onto the time intervals that people are familiar with.

If on the other hand we choose a ratio of 5:1, then it maps very cleanly at 5, 10, 15, 20, 25, 30, etc.

So based on this analysis, it would seem that a fast clock ratio of 5:1 yields the cleanest times for operations.

Too Much Yard Switching Busy Work

The original scheme for handling cars through the Grand Forks yard was to classify all arriving cars using a local switcher, including those cars destined for the local industries at Grand Forks. A separate switching operation would then deliver them. This seemed to work well when there were only a few trains through the town each day, but with the recent additions of Carson and Curlew and their extra industries wanting more cars, this approach has broken down. More details of the first attempt at operating using that scheme can be found in the post “That Fateful Friday”. Suffice it to say that it did not go well due to the extra traffic to be handled through the Grand Forks yard. So, what to do instead? Time for some serious rethinking of the process, and a bit of detailed analysis.

Continue reading “Too Much Yard Switching Busy Work”

Operating Grand Forks as a Classification Yard is a Mistake

At the start of operations on the S&BC, there was very little main line track to other towns. The entire layout pretty much was the Grand Forks town, plus the upper and lower staging yards. This resulted in some traffic to and from the local industries in Grand Forks, but most of it simply was interchanged between the CPR and the S&BC and went to and from the staging yards. Consequently, it made sense to operate the yard as a classification point in order to best handle the interchange traffic.

Now, with the addition of the new towns of Carson and Curlew that have in combination more industry spots than the entire layout had before, continuing to operate Grand Forks as a classification yard is proving to be a big mistake.

Continue reading “Operating Grand Forks as a Classification Yard is a Mistake”

Selective Compression of Operations

The idea of selectively compressing aspects of a model railroad has been around for a long time, but it has mostly been applied to physical things such as building size, number of windows, bridge length, etc. The motivation is that our model railroad layouts are significantly smaller than the prototype.To help compensate for this, we reduce the size or number of various elements to help make the layout seem bigger. The notion that this same idea can be applied to the operational aspects of running a model railroad has not been popular, but it will be explored here.

Model train sizes and distances are already vastly smaller that on the prototype, so we often operate with a “fast clock” to enhance the notion of time and distance, but there are a few more things that we can do from a timing perspective to enhance layout operations.

Continue reading “Selective Compression of Operations”