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
3132
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.


1

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.