Elvas Tower: Proposal--Fuel Stops in Timetable Mode - Elvas Tower

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Proposal--Fuel Stops in Timetable Mode Rate Topic: -----

#1 User is online   Traindude 

  • Engineer
  • Group: Status: Contributing Member
  • Posts: 666
  • Joined: 17-November 13
  • Gender:Male
  • Location:Seattle, WA
  • Simulator:Open Rails
  • Country:

Posted 05 February 2021 - 04:49 PM

It's a fact of life, locomotives do not have infinite fuel unless they're electric. So I am proposing a way on how to set up train fuel levels in timetable mode, and schedule fuel stops as needed.

Specifying Fuel Levels at the Start of a Run
If it is desired that a locomotive's fuel level(s) at the start of a run be anything less than 100%, these could potentially be specified with the following qualifiers in the "#start" row:

/coalsupply=xxx
/watersupply=xxx
/dieselsupply=xxx


In this case "xxx" is an integer that corresponds to the percentage of total fuel capacity that the locomotive's fuel supply will start with at the beginning of a run (example: "/coalsupply=50" means the loco will start with a 50% supply of coal). This qualifier is optional, and if omitted, it is assumed that the loco will start with 100% fuel. However, if this qualifier is specified, the numerical value is mandatory. Here is an example of what it would look like in a timetable file:
[attachment=109256:fuelsupply.jpg]

Specifying Fuel Stops
Fuel stops could be specified in a timetable in a variety of ways. They could be specified in either the "#start" or "#dispose" rows, or they could be specified for specific stations. If specified in the "#start" or "#dispose" rows, then they could be indicated with one of the following optional qualifiers:

/coalstop
/waterstop
/dieselstop


The scheduling of water stops would be based on an algorithm, and this algorithm would apply to both Player and AI Trains. However, in order for this algorithm to work properly, there would need to be at least one fuel dispenser of the appropriate type (water column, coal station, etc.) along the train's path. As the trains are operated, OR will do a read of the loco's fuel supply levels about once every 5 minutes. If at any point along the train's path the fuel levels are anything less than 95%, OR will schedule a fuel stop at the earliest possible opportunity. If the fuel levels are at 95% or more, than the train is allowed to pass by the fuel dispenser uninterrupted.

Here's a flow chart of the proposed timetable mode fuel stop algorithm (at least how I envision it):
[attachment=109257:fuelstopalgorithm.jpg]

The /<fuel>stop qualifiers could be used in a variety of ways, and their placement would determine where, when, and how the fuel stop algorithm operates. In the following images, I have specified what would in the game relative to each qualifier placement context in the "#comment" row:
[attachment=109259:fuelstopstart.jpg]
In the above example, the fuel stop algorithm will arrange stops for both coal and water at the earliest possible opportunities between the start and end points of the train's path.

"Pools" are OR's term for what are commonly known as "engine terminals" or "motive power depots". To allow for flexibility in specifying fuel stops, the qualifier can be placed eiher before the "$pool" command, after it or both. If specified before the "$pool" command, the fuel stop algorithm would be in effect while the train is on its "Main" path, and if specified after the "$pool" command, the algorithm would be in effect on the outbound access path defined in the pool file.:
[attachment=109260:fuelstoppool_accandmain.jpg]
[attachment=109261:fuelstoppool_acconly.jpg]
[attachment=109263:fuelstoppool_mainonly.jpg]

Here is an example of specifying a fuel stop during a runaround maneuver at the end of a run:
[attachment=109264:fuelstoprunround.jpg]

Stabling maneuvers would be treated just like pools, with the placement of the qualifier determining if the fuel stop is to happen either on the outbound maneuver, the inbound maneuver or both.
[attachment=109266:fuelstopstable_any.jpg]
[attachment=109267:fuelstopstable_outonly.jpg]
[attachment=109268:fuelstopstable_inonly.jpg]

Here's an example of specifying a fuel stop after an engine returns to a pool:
[attachment=109269:fuelstoppool_in.jpg]

As you can see, the placement of the qualifier is critical in determining when and where the fuel stop is to take place if it is needed.

Passenger Station Water Stops
It was a pretty common practice in the steam era for water columns to be placed at the far side of passenger station platforms so the locomotive tender could be filled with water while passengers boarded or deboarded. This functionality can be potentially replicated by a "$waterstop" station command similar to commands like "$hold", "$terminal", etc.:
[attachment=109270:fuelstop_stations.jpg]

(BTW: Do these station names sound familiar to any of you? Yup, those are the names of cities and towns along the Indian Valley Railroad from Shining Time Station!--Don't worry, I'm just using these station names for demonstration purposes--no copyright infringement intended!)

When "$waterstop" is specified in the column, it means that all trains would be scheduled for a water stop at the specified station while they are stopped to load and unload passengers (provided the water level is less than 95%). This can only be done if there is a water column on the far side of the platform at that location. If there are water columns on both the near and far sides of the platform, then the algorithm uses the far side water column so that the coaches can be within the platform. The train's stopping position for that station stop would likewise need to be adjusted in order to the water intake point on the tender aligns with the water column's dispensing coordinates. The filling operation would continue until one of the following conditions are met:

1) The water tank is replinished to 100%
2) Scheduled departure time is reached, or
3) Loading time ends (if the train is running late)

As you can see, there are many possibilities by adding fuel stops in timetable mode adds a lot of possibilities. The specifications of my proposal do need to have the wrinkles ironed out, but it's a start, isn't it?

Here is a Trello Card that you can vote on for future inclusion of this feature.

#2 User is offline   darwins 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,250
  • Joined: 25-September 17
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 06 February 2021 - 02:38 AM

Brilliant idea.

I am thinking about:

Quote

When "$waterstop" is specified in the column, it means that all trains would be scheduled for a water stop at the specified station while they are stopped to load and unload passengers (provided the water level is less than 95%).



( 1 ) 95% might make waterstops a bit too frequent - perhaps 70% might be more realistic for taking water at scheduled stops. (Maybe it is ask a fireman time again!)

( 2 ) If there is a water trough on the route and the locomotive has a water scoop it should pick up from the trough ( I would probably go with 90% as a criterion there.)

( 3 ) What about freight trains? - most freight trains in UK had scheduled water stops - either at a passenger station or at a goods loop. Some passenger trains also had timetabled water stops.

( 4 ) For both passenger and freight trains on single line routes - different trains might take water at different places depending on the length of scheduled stops - taking water for preference where they had to wait for a train from the opposite direction.

For reasons ( 3 ) and ( 4 ) it might be better to put $waterstop into a train column rather than assign it to a station.


Looking at the flow diagram it seems to be suggesting that a stop be made for water even if there is no scheduled stop. I would think that an unscheduled stop should not be made unless the water level was below say 20% for a goods train or 10% for a passenger train - see below for the reason for such a low figure.


Some data about water and fuel usage from real life running:


Royal Scot test 1936 with Turbine loco 6202

Coal consumed 44.8 lb per mile = 17,820 lb consumed on 402 mile trip / tender capacity of 20,160 lb = 88% of coal used during the journey -
plus about another 770 lb for light engine to and from depots and standing at terminals means 92% of fuel used on diagram.

The water used on the journey was 162,100 lb against or 403 lb a mile - against a tender capacity of 40,000 lb - no stops were made for water with all water taken from troughs.
There were 10 troughs along that route with the greatest distance between troughs being 66 miles.
If we assume the tender was filled at the previous trough then 403 x 66 = 26,598 lb of water will have been used between troughs or the water left in the tender would be at most 43%.
Probably somewhat less than 40% as it is unlikely the tender will have been completely filled at the previous troughs.


The East Coast Route with it's regular non-stop run of 393 miles in summer time was less well served - with only 7 sets of troughs and 98 miles between two of those.
Assuming similar water consumption by similar sized locos - then around 40,000 lb of water might be consumed between those two troughs.
They had slightly larger tenders with 50,000 lb water capacity, but even that means there would have been less than 20% of water left in the tender.


Here are some actual numbers for how much a British loco could pick up on one set of troughs, (all less than the 20,000 to 40,000 lb need to fill the above tenders!):

https://imgur.com/AF0u6bK.jpg

#3 User is offline   rickloader 

  • Conductor
  • Group: Status: First Class
  • Posts: 493
  • Joined: 05-February 13
  • Gender:Male
  • Location:Southampton uk
  • Simulator:Open Rails
  • Country:

Posted 06 February 2021 - 05:29 AM

I think the proposal to specify the fuel / water levels at the start of the run is excellent. Many trains join a route part way through their runs, or the route itself begins some distance down the trains route. With this in mind it would be good to be able to start a train at normal running speed.
If I understand the proposal correctly refueling (water /coal) is to be when a set level in the tender is reached. But the level isn`t important, the question being " has the loco enough to reach the end of the run at the current usage rate?" (or the next fuel /water point)
On UK railways, water stops were usually factored into the normal time table stop times, and working timetables would sometimes even have the instruction " stops to take water only". An unscheduled water stop might be made, but only if there was clearly not enough left to complete the run.
It is to be hoped that some coders will come forward to develop timetable mode further.
Rick

#4 User is offline   Laci1959 

  • Foreman Of Engines
  • Group: Status: Contributing Member
  • Posts: 952
  • Joined: 01-March 15
  • Gender:Male
  • Simulator:Alföld
  • Country:

Posted 06 February 2021 - 09:03 AM

Quote

For reasons ( 3 ) and ( 4 ) it might be better to put $waterstop into a train column rather than assign it to a station.

Not all stations in Hungary are built for water intake. on shorter extension lines, this was only possible at the terminals, possibly at two intermediate stations. In-flight water intake was not regularized in Hungary. Therefore, it is important to display the stations assigned to water intake.

#5 User is offline   darwins 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,250
  • Joined: 25-September 17
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 06 February 2021 - 11:12 AM

Possibly misunderstood. When I say to put in the timetable column - that means all of location and train and time are specified. So designated trains will take water at designated locations. Like this:

https://imgur.com/9oGOIT1.jpg

#6 User is online   Traindude 

  • Engineer
  • Group: Status: Contributing Member
  • Posts: 666
  • Joined: 17-November 13
  • Gender:Male
  • Location:Seattle, WA
  • Simulator:Open Rails
  • Country:

Posted 06 February 2021 - 05:05 PM

View Postdarwins, on 06 February 2021 - 02:38 AM, said:

( 1 ) 95% might make waterstops a bit too frequent - perhaps 70% might be more realistic for taking water at scheduled stops. (Maybe it is ask a fireman time again!)


You are correct...95% does seem a bit high for the algorithm's fuel-check cyclethreshold. My gut instinct at the time was to make sure that the fuel levels were nearly full most of the time--that way AI trains wouldn't suffer the misfortune of running out of fuel before the end of the run! I agree--something along the lines of 50-70% would be a much better threshold.

View Postdarwins, on 06 February 2021 - 02:38 AM, said:

( 2 ) If there is a water trough on the route and the locomotive has a water scoop it should pick up from the trough ( I would probably go with 90% as a criterion there.)


As water troughs were rare in the USA, except on the New York Central and Pennsylvania Railroads, I didn't include an example for that. Although in the case of scheduled fillups the threshold would be around 90%.

View Postdarwins, on 06 February 2021 - 02:38 AM, said:

( 3 ) What about freight trains? - most freight trains in UK had scheduled water stops - either at a passenger station or at a goods loop. Some passenger trains also had timetabled water stops.


My initial thought was that in the case of freight trains, the automated algorithm would've taken care of that, by scheduling a water stop at the earliest possible opportunity along the route. But you do make a good point--there should be a way to specify taking on water/fuel at a specified location rather than at the closest dispenser to the train's current location--as this could potentially schedule a water stop at the wrong place at the wrong time!

View Postdarwins, on 06 February 2021 - 02:38 AM, said:

( 4 ) For both passenger and freight trains on single line routes - different trains might take water at different places depending on the length of scheduled stops - taking water for preference where they had to wait for a train from the opposite direction.

For reasons ( 3 ) and ( 4 ) it might be better to put $waterstop into a train column rather than assign it to a station.


I couldn't agree more. Not every train stopping at a station to board or deboard passengers should be forced to take water at that station.


View Postdarwins, on 06 February 2021 - 02:38 AM, said:

Looking at the flow diagram it seems to be suggesting that a stop be made for water even if there is no scheduled stop. I would think that an unscheduled stop should not be made unless the water level was below say 20% for a goods train or 10% for a passenger train - see below for the reason for such a low figure.


I agree--suddenly scheduling water/fuel stops at any time and at any place along the path doesn't seem appropriate. Any "random" fuel stops along a train's main path should be reserved for emergency purposes only. At all other times, fuel stops would only be reserved for stations, junctions, engine terminals/MPD's ("$pool" command) and runaround or stabling maneuvers.

With that in mind, I am thinking that the fuel-stop algorithm's threshold during the fuel-level check should be made to vary depending on conditions. Maybe something like this:

At Scheduled Stops on Main Path = 65%
Taking On Water Via Water Troughs = 90%
During Runaround, Stabling and Pool Access Path Maneuvers = 90%
Emergency Fuel Stops on Main Path, Passenger = 10%
Emergency Fuel Stops On Main Path, Freight = 20%

Do any of these make sense?

#7 User is offline   darwins 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,250
  • Joined: 25-September 17
  • Gender:Male
  • Simulator:Open Rails
  • Country:

Posted 06 February 2021 - 10:03 PM

Quote

With that in mind, I am thinking that the fuel-stop algorithm's threshold during the fuel-level check should be made to vary depending on conditions. Maybe something like this:

At Scheduled Stops on Main Path = 65%
Taking On Water Via Water Troughs = 90%
During Runaround, Stabling and Pool Access Path Maneuvers = 90%
Emergency Fuel Stops on Main Path, Passenger = 10%
Emergency Fuel Stops On Main Path, Freight = 20%

Do any of these make sense?


They look reasonable to me, but I am only one person among many here. The question then becomes if the values are fixed or if there would be some way for users to edit them.

Now that we have steam heat, diesel (or electric) locos with heating boilers might need to stop for water too!

In terms of coal (or other fuel for steam) then I think
During Runaround, Stabling and Pool Access Path Maneuvers = 90%
works there too - as they are basically going to fill up the fuel (and empty the ashes) on every shed visit.

For diesels I am wondering if the figure should be 50% or even 30% or less - as with today's large fuel tanks they tend to run several diagrams before refuelling.

*********

Now you have also raised another question in my mind. At some point in time, the OR team abandoned OR physics for AI trains and decided to operate AI traffic with something more simple similar to MSTS AI physics. So the question then becomes do AI trains actually consume fuel and water at all at the moment? (Or are they all full until you hop on board to drive them as player trains?)

#8 User is online   Traindude 

  • Engineer
  • Group: Status: Contributing Member
  • Posts: 666
  • Joined: 17-November 13
  • Gender:Male
  • Location:Seattle, WA
  • Simulator:Open Rails
  • Country:

Posted 10 February 2021 - 04:06 PM

I have added a Trello card so anyone interested can vote on this feature.

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users