Introduction to JMRI Operations

 Another COVID-19 project I have been working on has been to learn Java Model Railroad Interface ("JMRI") Operations. For those who don't know anything about JMRI, it is an open-source piece of software that has an extremely high level of variety in what it can do. For example:

  1. Program Digital Command Control settings in locomotives, including lights, sound and motion.
  2. Design a digital control panel that can then be integrated with your model railroad. It could be set up to run trains, control signals and even control turnouts (all of which can be done manually or automatically).
  3. It can be used for prototypical dispatching.
  4. Planning and operating trains
The above topics can become massively complicated. I have dabbled in item 1 but have not gone very far.

You download the software for free and read through the extensive documentation here:  https://www.jmri.org/

Model railroad literature has always had articles on how to operate a model railroad in a prototypical way. These articles usually describe how to create car cards as well as manifests and creating timetables. I have never been very enthusiastic about creating a lot of paperwork and shuffling decks of car cards.

A few years ago someone told me about the Operations feature in JMRI. Once set up, JMRI can create a one-page (or more if you model railroad is very large) manifest which shows what locomotive to get from which track, which cars to pick up from which spurs (yard or industry tracks, for example) and where to take them. It will also create switch lists for each location. On a larger model railroad, one person's role during an operating session might be to handle all traffic at one yard. They would be given a switch list of jobs they need to do for their location only and that work is integrated with all other activities carried out by other people during that session.

A couple of years ago a fellow modeller in Calgary had me visit an operating session on his impressive model railroad. I got the general idea as to how it worked and I was sold. However, until now I hadn't made the time to explore this further.

While the JMRI website is very well written, as with most software it provides all of the detail but not much of a step-by-step on how to use it. In these circumstances my usual go-to is YouTube. Several people have YouTube shows on JMRI operations. One fellow has a very large number of shows, some lasting up to an hour, but his presentation style, camera work and sound quality are such that I am unable to follow him. After some searching, I found a different instructor who did a very good job explaining the basics. If you are interested, the link is here (the instructor is very good; for some reason, there is a very annoying person who hosts the presentation who butts in with mostly inaudible and irrelevant questions). YouTube JMRI Operations

After listing to this presentation I set about learning the software by trial and error. I am pleased with the results. I'll show screenshots of the key screens, each of which has a multitude of sub-screens. This can become very complicated very fast. I am starting out slow.

the opening screen of JMRI Panel Pro (the "Operations" menu item needs to be added in preferences)

the Settings screen

the Cars screen where all cars are located, including their locations (those labelled "<O>" are out of service)

the Locomotives screen (same idea as Cars)

the Locations screen (length is in scale feet - metric measures are available also for all measurements)




the Routes screen where you define the route of each train, including tracks/spurs for pickup/drop off of cars



the Trains screen (trains are built from Routes above)




the result (highlights added by me); circled in yellow is the name of the railway and train name (Local AM - the morning local); in blue are all of the cars to be picked up at which location and the locomotive to be used (loco 6700 picks up a boxcar and a sulphur car at Kamloops west aisle spur and a kerosene car from the Salmon Arm east wall spur and drops them off in Revelstoke and Kamloops which is where the locomotive returns to)

The software keeps track of the locations of all locomotives and cars. When it is time to build the next train, it will build a train using the new locations. Some of my locations have generic descriptions because I haven't decided which industries will be located at which spurs. Once this has been done I shall fine tune the program and tell it that certain cars don't go to certain spurs - for example, it is unlikely that a full tanker of kerosene would be delivered to a brewery or a tanker of hot liquid sulphur would be picked up from a lumber yard. Because JMRI is a data base, if I were to change the name "West Aisle" to "Kamloops Fine Furniture" the name will automatically update everywhere it is used.

From my initial foray into JMRI operations I am impressed with it and will continue to explore the huge possibilities it holds.

If any readers would like more detail on the step-by-step process of getting started, feel free to email me at rupertsinsights@gmail.com . I may be able to help you get past some of the roadblocks I encountered as a result of misunderstanding a couple of very simple concepts which, once learned, were obvious.