Cutoff, Release, Departure, and Availability times in intermodal schedules
While reading a Conrail intermodal train schedule from August 1991
(reproduced in part below),
I became confused as to why there were three times listed next to the initial
terminal—a cutoff time, a release time, and a departure time (denoted LV
).
Most—but not all—intermodal schedules listed these three times at the
initial terminal,
and none of the manifest or unit train schedules did.
I thus had to do research to resolve this confusion,
and I'm posting my results here so that said research will be easier in the
future for people like me.
1 TV-10
2
3 CHICAGO TO ELIZABETHPORT-TV
4
5DAILY EXCEPT MONDAY DAY
6
7CHG.ENGLWD-TV CUTOFF 2330 CT 0
8CHG.ENGLWD-TV RELEASE 0030 CT 1
9CHGO.ENGLEWOOD-TV LV 0130 CT 1
10ELKHART *AR 0425 CT 1
11ELKHART LV 0435 CT 1
12TOLEDO-TV AR 0900 ET 1
13TOLERO-TV LV 0930 ET 1
14BEREA PS 1220 ET 1
15CLEVELAND-TV *AR 1300 ET 1
16CLEVELAND-TV LV 1330 ET 1
17CP-5 - NY PS 1755 ET 1
18BUFFALO-FRONTIER *AR 1815 ET 1
19BUFFALO-FRONTIER LV 1820 ET 1
20CP-296 - NY PS 2156 ET 1
21DERWITT PS 2215 ET 1
22SELKIRK *AR 0210 ET 2
23SELKIRK LV 0250 ET 2
24CP-SK - NY PS 0300 ET 2
25RIDGEFIELD HGTS. AR 0735 ET 2
26RIDGEFIELD HGTS. LY 0750 ET 2
27NORTH BERGEN-TV AR 0800 ET 2
28NORTH BERGEN-TV LV 0830 ET 2
29ELIZABETHPORT-TV AR 1000 ET 2
30
31…
32
33NORTH BERGEN - TV
34
35BLOCK 3 PLACED ON ARRIVAL.
36
37
38ELTIZABETHPORT - TV
39
40FIRST PLACEMENT BLOCK 1 AT PORTSIDE
411100, DAY 2 EXCEPT SATURDAY AND
42SUNDAY ARRIVALS PLACED 0700 ON
43MONDAY OR DAY AFTER HOLIDAY.
44FIRST PLACEMENT AT PORT ELIZABETH
45(MARPORT) 1159, DAY 2 EXCEPT
46SATURDAY AND SUNDAY ARRIVALS PLACED
47ON MONDAY OR DAY AFTER HOLIDAY.
48FIRST PLACEMENT OF BLOCK 2 (E-RAIL)
491159, DAY 2.
50
51
52NOTE: DOUBLE STACK CONTAINER CARS
53MOVING IN THIS TRAIN FROM
54ELIZABETHPORT ARE RESTRICTED
55TO A MAXIMUM HEIGHT OF 19'0"
56AND ARE COVERED BY CLEARANCE
57FILE: 23INTERMODAL.
58
59REVISED 05-09-91
First off: the TV
acronym in the train symbol (that is, the string that
identifies this scheduled train; on this schedule, it's TV-10
) and several
yard names stands for "TrailVan", Conrail's marketing name for
trailer-on-flatcar (TOFC) service;
the TV acronym seems also to apply to intermodal service more broadly in some
contexts.
Second, one may notice three times associated with departure from the
originating terminal.
There's a CUTOFF
time, a RELEASE
time, and a normal LV
time.
Figuring out what those meant took some research,
but the answer is simple.
The cutoff is when containers (or trailers) must be present at the terminal to
be loaded on the train;
after this time, all cargo to be included on the train will have arrived and so
the crew at the container terminal can finish loading the train.
The release time is when the container loading finishes and the train is
released to a train or yard crew, who then perform inspections, air brake tests,
and other predeparture activities.
Finally, the LV
(leaving, departure) time is when the train is timetabled to
depart.
Whenever the train arrives and a block (that is, a contiguous set of train cars bound for the same destination) is cut off, the schedule gives a placement time for the block. My best guess is that when this time comes, the block has been set out and placed in an intermodal terminal, at which point some time passes before the containers or trailers are available for further transport.
Now consider an ATSF schedule of similar vintage, from July 1991.
1*= TRANSPORTATION SERVICE PLAN
2 1581
3 DAYS OF OFERATION: TRAIN 1581 TSPJMB461
4MO TU WE TH FR SA SU DALLAS TO CHICAGO JULY 1, 1990
5*-------------------------------------------------------------------------------
6* STATION .ARRIVE .DEPART .DAY.EXMPL. C.F.I.HPT.TONS.T-YD.T-RD.MLS.MPH .
7*-------------------------------------------------------------------------------
8 DALLAS ORIG 2000 0 MO C F I 2.0 0045 9 12.0
9 ZACHA JCT 2045 2230 0 MO 0145 0355 40 10.2
10 GAINESVILLE 0225 2235 1 TU C 0010 0255 140 48.0
11 OKLAHOMA CITY 0530 0700 1 TU 0130 0355 121 30.9
12 ARKCITY 1055 1105 1 TU C 0010 0615 180 28.8
13 KANSAS CITY 1720 1920 1 TU C F I 2.5 0200 0305 102 33.1
14 MARCELINE 2225 2235 1 TU C 0010 0225 112 46.3
15 FT. MADISON 0100 0110 2 WE C 0010 0215 104 46.2
16 CHILLICOTHE 0325 0335 2 WE C 0010 0255 130 44.6
17 CHICAGO 0630 TERM 2 WE
18*-------------------------------------------------------------------------------
19 TOTAL SCHEDULE:34 HRS 30 MIN
20 CUTOFF: TOFC COFC RLSE SPCL AVAIL REMARKS
21 --------------- ---- ---- ---- ---- ----- -------------------------------------
22 ZACHA JCT 1930 1600 2030 2000 SPCL UPS ONLY
23 OKLAHOMA CITY 0330 0500 0730
24 KANSAS CITY 1760 1800 1730 1830
25 CHICAGO 0839
26
27 DESCRIPTION:
28 HANDLES ALL TOFC FOK CHICAGO, OKLAHOMA CITY AND TRAILER DOCK/UPS FOR KANSAS
29 CITY.
30
31 ZACHA JCT: EMPORIA SUB:
32 BLOCKING: S/O 1. SNBD9 (TO 168)
33 1. BGLF1 S/O 2. LA1 (TO 188)
34 2. OKLC1 S/O 3. NORCA (TO 169)
35 3. TPWA S/O 4. RCHM1 (TO 189)
36 4. KC (SAT SUN DNLY)
37 5. CHCG1
38 6. KC1 (INC UPS)
39 KANSAS CITY:
40 OKLAHOMA CITY: S/O 5. BGLF1 (TO 244)
41 S/O 2. OKLC1 S/O 4. ELPS1 (TO QNYLA)
42 S/O 3. TPWA (TO 571) S/O 7 & 9
43 P/U TN BLOCK: P/U 8. CHCG1
44 1. SNBD9
45 2. LA1
46 3. NORCA (STKTN, MODESTO, FRESNO, BKFLD)
47 4. RCHM1 (INC UPS)
48 5. BGLF1
49 6. ELPSI
50 7. KC (SAT SUN ONLY)
51 8. CHCG1
52 5. KGL (INC UPS)
I certainly have an appreciation for documents, forms, and interfaces created
entirely out of sligned monospaced characters.
But I digress.
Here, cutoff, release, and availability times are listed in their own dedicated
segment of the schedule (which arguably makes more sense).
The ATSF schedule also has a SPCL
(presumably "special") column,
the meaning of which must be deduced from context.
This schedule is one that has populated SPCL
fields whose meaning is more or
less apparent from context.
Aside
While looking at the same ATSF schedule, this train jumped out at me.
1*= TRANSPORTATION SERVICE PLAN
2 1646
3 DAYS OF OFERATION: TRAIN 1646 TSPGDG419
4 AS REQUIRED PRESIDIO TO SAN ANGELO NOV. 27, 1989
5*-------------------------------------------------------------------------------
6* STATION .ARRIVE .DEPART .DAY.EXMPL. C.F.I.HPT.TONS.T-YD.T-RD.MLS.MPH .
7*-------------------------------------------------------------------------------
8 PRESIDIO ORIG 0000 1 MO C I 1.2 0000 313 0.0
9 SAN ANGELO 0000 TERM 1 MO
10*-------------------------------------------------------------------------------
11 TOTAL SCHEDULE:00 HRS 00 MIN
12 CUTOFF: TOFC COFC RLSE SPCL AVAIL REMARKS
13 --------------- ---- ---- ---- ---- ----- -------------------------------------
14
15
16 DESCRIPTION:
17 TEXAS DIVISION LOCAL TRAIN OPERATING SAN ANGELO TO PRESIDIO.
18
19 SAN ANGELO:
20 BLOCKING:
21 1. LOCAL
22 2. PRSDO
I couldn't help but notice that ATSF seems to have achieved a feat of high-speed
rail extremely uncharasteristic for an American freight railway.
In fact, it's one that not even the European, Japanese, or Chinese maglev
systems—let alone their adhesion high-speed rail networks—could manage.
According to the T-RD
(time on road) and MLS
(miles traveled) columns,
ATSF train 1646 traverses a distance of 313 miles in 0 hours 0 minutes.
(I do wonder what its on-time performance is!)
In all seriousness, as a local train its makeup, stops (to pick up and drop off
cars at local industrial plants, transload terminals, warehouses, and the like),
and schedule vary wildly from day to day.
Its "AS REQUIRED" day schedule bears this out,
and it seems that, rather than attempting to enter a plausble-sounding schedule
that would never be used in practice,
someone has just put 00:00 in all fields.
This does leave whatever program formats the information in these timetables to
attempt to divide 313 miles by 0 hours—thankfully, it handles that properly.
(It would have been funny, however, to see NaN
or Inf
in the MPH
column1.)
As a programmer, I'm satisfied.
NaN
—"not a number"—and Inf~/
-Inf~—positive and negative
infinity—are special values defined by IEEE 754, the standard for representing
floating-point numbers: that is, numbers stored as a fixed-point mantissa times
2 or 10 to an exponent.
Floating point numbers can represent a wide range of numbers to a fairly high
precision and accuracy,
from the smallest decimals to the highest finite values one is likely to
encounter in day-to-day mathematics (but not every number in between! That's a
matter for a different time).
The IEEE 754 standard defines Inf
as the result of dividing a positive number
by 0, NaN
as the result of dividing 0 by 0, and -Inf
as the result of
dividing a negative number by 0.
As such, most programming languages for which division by zero does not cause an
exception or fatal error have division by zero return NaN
, Inf
, or -Inf
as
appropriate,
and so these creep into the output of code not expecting to divide by zero.