Professional Documents
Culture Documents
The network data file input to SATNET (network.DAT in Fig. 3.1) may
be conveniently divided into 11 segments, the first 3 of which are
mandatory while the last 8 are optional (although clearly in order for a
network to be defined either the simulation or the buffer records must
exist):
With two exceptions each data segment appears only once and in
numerical order. The exceptions are segment 6, bus routes, and segment
7, link counts, which may appear more than once (but with the obvious
proviso that all such segments appear together and in the correct order).
1
Segments 6 and 7 also differ from all others in that a “title” may be
included following the opening 66666 or 77777 text; see 6.9.3 and note
(3), 6.10.
Sub-Sections 6.1 to 6.11 give the format specifications for each of the 11
possible data segments, followed by an example of a network file in
6.14.
Note that in certain instances the required format differs if the “DUTCH”
option, which allows buffer node numbers of up to 8 digits, is invoked.
Places where the alternative format is applicable are indicated below but
the specification of the DUTCH alternatives is given fully in Section
15.20.
In common with other input data files any record commencing with a ‘*’
in column 1 is treated as a comment card; see Section 15-29. In addition
all data segments (apart from 2) may all refer to secondary files using the
‘$INCLUDE’ facility described in Section 15.30.
A slightly different form of supplementary data file is the GIS file (see
5.7) which may be also referenced under &PARAM, 6.3.4, and which is
used to provide extra network information for output and display
purposes.
In addition the trip matrix file to be used in later stages may also be
defined within the input .dat file (6.3.4). Although not used directly by
SATNET if present it is read in and checked at this stage for any
obvious incompatibilities with the network file being created (e.g.
different numbers of zones).
2
6.1 Option Specification Records (Mandatory)
This record* (or records) requests the major options available within
SATNET. The specification of options is via the FORTRAN namelist
facility. The user unfamiliar with this is referred to Appendix A.
Essentially namelist provides a form of free format input for defining
values of variables within the program. Parameters not explicitly
mentioned take a default value. Namelist input runs to as many records
as necessary but it must always be preceded by (in this case) &OPTION
and terminated by &END.
Note that repeated variables (i.e., the same name is defined more than
once) generate semi-fatal errors since it is not clear which of the two (or
more) definitions is the correct one.
PLODFF If TRUE the pre-load data file uses free or CSV formats.
See Section 15.5.4.
UPFILE The name of the file which is to be used under the UPDATE
option. See 15.3.
PQFILE The name of the file which is to be used under the PASSQ
option. See 17.3.
&OPTION
UPDATE=T,
PASSQ=F,
UPFILE = ‘LASTNET.UFS’
&END
For users preparing a new network file the default values set for all of
these parameters are those required and therefore we need not be
concerned with them at this stage. Thus you need only include a ‘null’
namelist record:
&OPTION
&END
These records set user-defined model parameters for this run using the
FORTRAN namelist facility as described above for the OPTION
records, the one difference being that the namelist ‘name’ is &PARAM
instead of &OPTION. See Appendix A.
Some of the parameters defined here are used in the network build stage,
others are relevant to the (later) simulation or assignment stages; the
latter are set here and passed to the relevant programs via the SATURN
UFS/A files (where they may be re-set). In certain cases therefore full
documentation is deferred to later sections with appropriate pointers
being given here.
Note that repeated variables (i.e., the same name is defined more than
once) generate semi-fatal errors since it is not clear which of the two (or
more) definitions is the correct one.
4
The parameters are grouped under LOGICAL, INTEGER, REAL and
CHARACTER variables and listed in alphabetical order.
The default values set are generally “good” choices. However in certain
instances, e.g., where a variable has been introduced at a late stage of
SATURN development and the “best” value would change the output
from existing .dat files, a “no change” default has been set. These are
indicated by an alternative “RECOMMENDED” value in addition to the
default.
The lists are long, many of the variables and their use are complicated
and the net effect on new users is definitely off-putting. For such mere
mortals the following subset of variables is suggested as reasonable
starting points where explicit choices need to be made; otherwise trust
the defaults:
5
table in the output line printer files rather than (at length)
per iteration.
Default - .TRUE.
ATLAS If TRUE all nodes in the 55555 data section are included
in the map network whether or not they are connected to
links. See 18.5.2 and note (9), 6-8.
Default - .FALSE.
BEAKER If TRUE any capacity index set for a simulation link (via
data input under the 33333 cards below) is automatically
associated with all turns out of that link.
Default - .TRUE. (Changed in 10.5)
6
TRUE certain input formats throughout the Suite are
altered - see Section 15.20.)
Default - .FALSE.
EXPERT If TRUE the level of print out generally is such that only
an “expert” would fully appreciate it.
Default - .FALSE.
FIFO If TRUE, if and when a data item appears twice, the first
data entry is discarded and the last one used; if FALSE
the first entry is always used. See 6.15.
Default - .TRUE.
7
format”; see 6.8.
Default - .FALSE.
8
PARTAN If TRUE use the PARTAN option within single user class
Wardrop assignment; see 7.11.7.
Default - .FALSE.
9
ROSIE If TRUE time-flow curves for turns in shared lanes are
calculated as a function of the total shared flow, not the
individual turning flow. See Sections 8.4 and 7.1.3.
Default - .FALSE.
SAVEIT If TRUE the link costs as used for each assignment tree
build are saved on a UFC file for subsequent analysis;
e.g., to create forests. See Section 15.23.
Default - .TRUE.
SECRET If TRUE the uf* files created will be "secret" in the sense
that the option in P1X (see 11.4.2) to recreate a .dat file
from a .uf* file will not be allowed.
Default - .FALSE.
IFRL As IFCC but for the “real” buffer links as opposed to the
centroid connectors. See Note 3 under 6.6.
Default: 1
11
less than “PCNEAR” percent (default 5%) from one
assignment to the next. See Section 9.1
Default: 95 % (Changed from 90% in 10.5)
12
Default: 0.
MCCS Number of count fields input with the ‘77777’ data input.
See 6.10. (As in “Manual Classified Counts”).
Default: 1
MCUBC(u) Choice of distribution model for user class 'u'; see 7.10.2.
Defaults: 0
13
MINLSF Minimum/maximum expected lane saturation flows;
MAXLSF Values outside these limits generate a warning message.
Defaults: 300, 3000
NFT “National Film Theatre” for really great old films. Set,
e.g. NFT = 92 to get version 9.2. See 8.5.
Default: 95 (i.e. use the latest version)
14
NITA_F The number of initial assignment iterations over which
the initial trip matrix is kept fixed under elastic
assignment; see 7.5.3.4.
Default: 0
15
divided in the simulation (maximum value 25). See 8.1.
Lower input values are fatal errors.
Default: 1
BETA_2 (u)As BETA but for nested logit models. See 7.6.3 /7.6.4.
Default: 0.1
BTKNOB(b,k) Bus Times (in seconds) per KNOB data field k for all
routes within bus company b. See 15.44.
Default: 0.0
16
BUSPCU(b) Factor to convert bus flows for company 'b' into P.C.U.’s.
See 6.9.1, and, in particular, 6.9.3 for subscripted values
of BUSPCU.
Default: 3.0
BUSSPK(b) Bus Stop Seconds Per Kilometre for all routes within bus
company b. See 15.44.
Default: 0.0
FLPH Fuel consumption per pcu in litres per hour. See 15.32.
Default: 1.2
FLPPS Fuel consumption per pcu in litres per primary stop. See
15.32.
Default: 0.016
17
only). See 7.5.3.2.
Default: 1.0
(N.B. See Section 15.22 for further details on how to set the GAP-
parameters.)
GONZO (Gonzo the factor - not Gonzo the Great!) All elements
in the trip matrix assigned are factored by GONZO. See,
e.g., Sections 7.11.5 and 15.2.
Default: 1.0
18
SUET Used to define the range of link cost variation in SUE
assignment - see Section 7.2.3.
Default - 0.2
TIJMIN Any OD cells in the trip matrix which are less than
TIJMIN will be ignored.
Default - 0.0
VCPCU(v) The pcu value per vehicle in vehicle class v, or for all
vehicles in the trip matrix if unscripted.
Default: 1.0
19
6.3.4 Character Parameters
FILGIS The “file name” of the GIS file associated with this
particular network; see Section 5.7.
Default - blank (i.e., no file)
FILTIJ The “file name” of the .ufm trip matrix file associated
with this particular network and which will be assigned
during the assignment.
Default - blank (i.e., no file defined at this stage)
FILCGH The “file name” of the cost matrix cOij to be used in the
distribution; see 7.10.3 and 7.12.3.
Default - blank
FILCIJ The “file name” of the .ufm cost matrix file to be used
within an elastic assignment cOij. See 7.7.1 and 7.12.3
(and 7.6.4 for its use with nested logit).
Default - blank (i.e. no file).
FILPEN The file name of the matrix used to define link tolls by
origin. (Not yet available.)
Default - blank
20
FILKNB The file name used to define link KNOBS data. See
15.14.5.
Default - blank
FILRED The “file name” of the input .ufm matrix containing the
initial estimate of the road trip matrix under elastic
assignment if REDMEN = T; see 7.5.3.2 and 7.12.3.
Default - blank (i.e. no file).
ROADIJ The “file name” of the output .ufm matrix containing the
elastic road trip matrix under elastic assignment. See
7.12.3.
Default - blank (i.e. no file).
21
6.4 Simulation Network
For external nodes only record types 1) and 2) are required. In addition
only the starred (*) variables below need be included on these records.
All numerical data entries (bar one) are implicitly INTEGER and should
(for safety) be right justified; the speed flow power on record 2B
explicitly requires a decimal). However the following inputs may
optionally include a decimal within the designated columns in order to
provide greater accuracy: TIM on record 2, TFF and TCAP on record 2B
and STAGL and INTGL on record 3.
Coding instructions are given below and worked examples for each node
type appear in Section 16. The “NAME” column provides a convenient
shorthand for data entries and is not used elsewhere.
23
***** RECORD TYPE 2 - LINK AND TURN DATA *****
26-35 Data for the first possible turn from this link:
26-30 LSAT The saturation flow of the first turn from this
link in a clockwise direction in pcus/hr. See
6.4.6 and 6.4.8.
(0 implies that the turn is banned and a
negative value implies a bus-only turn - see
6.4.4.)
31 TPM The Turn Priority Marker for this turn - See
6.4.2.
32 TPMod Turn Priority Marker Modifier. See 6.4.2.
33 LANE1 First lane (counted from the nearside) used
by this turn - 6.4.9.
35 LANE2 Last lane used by turn.
36-45 Data for the second possible turn from this link:
24
(N.B. The following record, 2B, is only needed if a ‘*’ was coded in
column 11 above and LANES > 0, in which case an extra line
containing link speed-flow parameters is inserted. This option is
relatively rarely used. See 6.4.12.)
N.B. (i) If any C-NODE entry above is zero or blank it is assumed that
ALL turning movements from that A-NODE (except of course any
prohibited movements indicated by zero saturation flow) are allowed.
25
(ii) If more than 5 movements are required they are continued onto a
second record with the 6th A-node appearing in cols. 26-30 of the
second record, etc.
(N.B. For right-hand drive read left for right in this note and vice-versa.)
While the modifiers (which are used relatively infrequently) must be one
of:
26
Further Notes:
W 0 E (Major Road)
However if they “share” the capacity for movement 1 goes from its
maximum down to ONLY 50% maximum as movement 2 increases,
while movement 2’s capacity also goes from 100% down to 50% as
movement 1 increases. Hence sharing implies that both movements are
guaranteed 50% of their capacity plus another 50% depending on the
shared partner.
6.4.2.2 (X) Movements coded X at priority junctions must give way to opposing
major movements; for example W-O-S above (which turns right from a
major arm) would give way to the opposing straight ahead flow E-O-W.
27
The same rule applies to X-turns at signals with the additional condition
that they are only opposed by flows which share the same green times,
not by movements which take place during other “phases”. In addition it
is assumed within the simulation routines that up to TAX pcus can
execute an X movement at the end of each green sequence. This allows
for vehicles stacking in their reserved lanes and discharging during the
amber phase.
Note that if the X-marker is placed on the “wrong” movement then the
consequences may be severe and not always easy for the program to
detect. For example, in the above diagram, if the X marker were assigned
to E-O-W rather than W-O-S then the straight ahead traffic would give
way to turning traffic and clearly the junction would behave in a quite
different manner. It may be, of course, that in certain circumstances that
is exactly the give-way behaviour that is required but, generally
speaking, such an allocation of X-markers should be regarded as highly
suspicious.
The above possibility was first identified in release 10.5 and assigned the
Serious Warning number 139. Previously it was identified only via
“warning 53” which, in the above example, would be due to the fact that
two “major” movements W-O-S and E-O-S both enter the same arm
without one having priority over the other.
6.4.2.3 (M) A “merging” turn coded M must give way to a single “major” turn
flow, the most obvious example of this being a slip road entering a
motorway and giving way to the straight ahead flow. In addition, it only
needs to find a gap in a single (nearest) lane.
Since a M turn only gives way to one lane of one movement it is less
restrictive than a G marker.
The following rule is used to determine the turning movement with which
a turn coded M merges. The opposing turn must (a) share the same exit
arm, and (b) be the first turn from an “off-side” link (in a counter-
clockwise direction for drive on the left) to do so. In virtually all cases
the turn marked M will be the first turn out of a link and will merge with
the second turn from the previous link; however more complicated
merges may also be modelled under the above rule. For example, a turn
may merge with a major “near-side” flow provided that no suitable “off-
side” flow is detected first. (A near-side merge is found by the program
working its way through off-side roads until it comes to the near-side;
hence the reason that there must be no off-side flows.)
Thus in the schematic diagram below (where all roads are one-way, A to
N, B to N and N to C) if turn B-N-C were coded M it would merge as
28
the minor road with A-N-C as the major flow, i.e., on its “off-side”.
However, if A-N-C were coded as M it would be the minor arm merging
with B-N-C as the major arm on its near-side.
The merge facility can also be used to model “Y” junctions where two
streams of traffic with equal priority merge. Thus in the above diagram
both turns A-N-C and B-N-C would be assigned priority markers M and
both turns would suffer a reduction to their capacity and an increase in
their delay dependent upon the alternative flows. See 8.8.3 for a more
detailed discussion of how the lane choices would be modelled in this
situation. N.B. Y-merges are a new feature in SATURN 10.3 and, as
explained in 8.8.3, should not be used with certain lane configurations.
6.4.2.4 (F) Turns coded F at traffic signals “give way” (in the same way that G
movements give way) to traffic in their exit road but are assumed to have
100% green time and therefore they need not be mentioned explicitly in
the stage definition records. F turns would generally be expected to have
an exclusive lane, as illustrated in the diagram below, but this is not
absolutely compulsory. They may be either left or right turns (although
left - nearside - is most common) but must be either the first turn to left
or right.
29
6.4.2.5 (W) The “weave” priority markers first introduced in SATURN 9.4
typically represent a weaving section where traffic may both enter/leave a
motorway from/to an adjoining slip road. The “geometry” is illustrated
below (based on left hand drive).
D A
E
C B
30
Lane allocations are not shown in the diagram and are of course set by
the user but for the sake of illustration we shall assume that the “straight
on” movements A-E-D and B-E-C can use both lanes while A-E-C may
only use the single nearside lane and B-E-D, the single offside lane.
Movements A-E-C and B-E-D are linked together via a weaving section
and both would need to be coded with a priority marker W. This
produces the following potential give-way and/or sharing rules.
A-E-D: Unopposed
A-E-C: Shares with its co-weaving movement B-E-D and gives way to
any B-E-C flow which uses the offside slip road lane.
B-E-D: Shares with its co-weaving movement A-E-C and gives way to
any A-E-D flow which uses the nearside motorway lane.
B-E-C: Unopposed
Notes
2. W priority markers must always appear in pairs with, for fairly clear
reasons which are difficult to specify succinctly, certain geometrical
rules. Pragmatically this boils down to the rule that the W’s must
appear in the same column on two successive link records.
6.4.2.6 (C) An example of a turn with a “Clear Exit” - turn modifier C - is given
below:
Hence any movement with turn modifier C only gives way/shares with
31
movements that it must cross but not with movements with which it
simply shares an exit.
In the above example had S-E only been coded as G it would have had to
give way to the W-E movements as well.
C markers may only follow an X or a G and may be used for any turn
except the first (since the first turn can only share its exit, by definition it
cannot cross any movements).
The default situation is as set by NOTUK; hence with the “UK” default
value NOTUK = 0 interference as in (b) is assumed; coding a turn
priority modifier of D would convert the situation into no interference as
in (a). Equally if NOTUK = 1 or 3 (see 15.7) then the default is (a) and
a D for an individual turn converts to (b).
6.4.2.8 (E) This indicates that both the C and D modifiers apply, e.g. a
hooked/unhooked movement with a clear exit lane.
32
6.4.3 Stage Definition, Duration, Inter-green and Offsets
The durations of the stage time and the inter-green period are defined in
fields 1 and 2 on Record Type 3, i.e., columns 11-15 and 16-20
respectively. See also 6.4.13 for how to define upper and lower limits on
the stage green times.
The general rule is therefore that movements which are green during two
consecutive stages are also green during the inter-green, with two
exceptions:
(i) If the signals have only one stage (in which case every
possible movement must be coded as green during that
stage) it is assumed that all movements are red during the
inter-green. This situation commonly occurs in the
representation of pedestrian signals at a node in the middle
of the block.
(ii) If the inter-green time is coded by a negative number, in
which case the absolute value gives the true inter-green time.
33
This coding has been introduced to deal with the case of
pedestrian signals which have, say, TWO red periods during
the cycle time simulated.
The input values for stage and inter green durations need not add up to
the total cycle time (LCY). If they do not, stage times will be factored
by the program so that the sum = LCY. Inter-green times, however,
remain as input on the assumption that they represent safety margins
between successive signals. Double cycles are coded by repeating the
single cycle inputs twice.
The offset refers to the time at which the first coded stage begins relative
to some absolute zero point for all signals in this system assuming some
form of signal co-ordination. If there is no co-ordination the offset is
essentially arbitrary and should probably be set to zero. In the event of
the stage lengths being factored as above the offset is unchanged.
Bus-only roads, i.e., roads which are only used by buses in that direction
only, are identified by a NEGATIVE value of LANES on record 2 above.
Turn capacities should be coded in the normal way. The effect of this
coding change is that no car trips will be assigned to this link but the
effect of buses both entering and leaving the link on other traffic will be
modelled.
See 6.4.9 for how to code roads with exclusive lanes for both buses and
cars.
By contrast bus-only turns are turns out of a normal link from which cars
are banned. This is signified by coding a negative turn saturation value
(LSAT on Card 2) with the correct absolute value.
Bus-only links and turns may also be coded using the banned turn/link
facility as described in Section 6.7 below (and in a number of respects
34
this is a more natural way to do it).
The latter input MUST be used if one wished to code, say, a “bus plus
taxi” link since a negative value as above would ban taxis as well as
other vehicles.
The link travel times input are the times required by a vehicle to traverse
the entire length of the link from stop line to stop line with no vehicles
queued at the exit stop line. Similarly the input cruising speed (if used)
is the speed under these conditions. Since this time or speed is taken as
fixed by the program independent of the flows assigned to this link it
should reflect the expected level of traffic flow on that link. However it
must be emphasised that a number of studies have shown that in urban
conditions cruising speeds on most roads are virtually independent of the
flows, depending far more, for example, on whether the road is
residential, shopping, divided highway, etc. This is not to say that
TOTAL travel times are independent of flows, but that the main
relationship between flows and delays occurs at intersections, and it is
these relationships that SATURN seeks to model in depth. Conventional
link-based speed-flow relationships are therefore generally not part of the
simulation network unless one explicitly uses the link speed flow facility
described in 6.4.12. (See also Section 15.13).
Link distances should be coded from the centre of one junction to the
centre of the next (but coding them as entry to exit lines would make
virtually no difference).
35
6.4.6 Turn Saturation Flows
Turn saturation flows refer to the maximum number of pcu’s per hour
which could make that particular turning movement PROVIDED there
were no other vehicles on the road, no red lights to oppose it, etc. Thus
the only restrictions to be taken into account in specifying the turn
saturation flow are the physical characteristics of the junction such as the
number of lanes, their widths, turn radii, give-way or not, etc. The model
then simulates the reductions to the turn capacities from all other effects.
Note, however, that the simulation model (see 8.2.1) may not necessarily
include all restrictions to vehicle movements. For example the
simulation includes the reduction in capacity due to minor road vehicles
giving way to major road vehicles but not giving way to pedestrians
since the latter are not explicitly represented within SATURN. In such
cases it is necessary for the user to introduce the extra effects by
modifications to the input data.
See 15.17 for a discussion of why we refer to pcu’s rather than vehicles.
36
should be considered in setting saturation flows:
i) Number of lanes
ii) Lane widths
iii) Position of lanes (e.g., nearside vrs offside)
iv) Junction type (e.g., roundabout vrs priority etc.)
v) Major/minor arm (at priority junctions)
vi) Inclination (on hills)
vii) Visibility
viii) Turning angle (e.g., straight ahead vrs 90 right or left,
sometimes measured in terms of a “turning radius of curvature”)
Of the various factors listed under 6.4.6.2 above all are effectively
independent of the individual turn being considered apart from viii), the
turning angle (or turn radius). Qualitatively one would expect that the
saturation flow for vehicles going straight ahead would be greater than,
say, for vehicles turning at right angles either to the left or to the right. It
is, however, difficult to specify the exact form of the relationship;
different modellers will have their own personal or in-house rules. It
follows that it is very difficult for a computer program to say that if a
straight ahead saturation flow has been coded as 2,000 pcu/hr then a turn
saturation flow of only 500 for a 90 turn out of the same lane is
“wrong”.
37
(a) Calculating a saturation flow per lane for each turn equal to its input
saturation flow divided by by the number of lanes;
(b) Converting that to an “effective” straight ahead saturation flow by
dividing it by cos (/2);
© Comparing the minimum and maximum effective saturation flows per
lane for each individual lane and for the entry arm as a whole.
This rule was first introduced in release 10.5 and clearly contains a
number of arbitrary assumptions. Indeed there is no overwhelming
reason why the warnings generated are “correct”; there may well be
other perfectly valid reasons why the user has chosen a particular set of
input saturation flows. On the other hand coding errors are not exactly
rare and it is to be hoped that the above procedures will be able to
identify “real” errors more often than not.
6.4.6.4 References
38
6.4.7 Roundabout Saturation Flow
Section 15.22 explains how the values of the arm saturation flows, the
roundabout capacity and the minimum gap may be set so that the
SATURN results are compatible with those from the TRRL roundabout
simulation package ARCADY.
The test breaks down when the network contains overpasses where two
links may cross one another without there being an intersection. Any
possible errors reported by this check should be studied on a map.
39
6.4.9 Lane Definition
The number of lanes defined for each input arm corresponds to the
“effective” number of lanes at the stop line, not the number of lanes
along the road itself. By “effective” we mean that a link which, say, has
only one lane marked but is sufficiently wide that vehicles can squeeze
by on the nearside when a vehicle is queued on the offside should be
coded as two lanes, not one. Otherwise SATURN will over-estimate the
blocking effect of queued vehicles and underestimate capacities.
Similarly it may be advisable to include an extra “artificial” lane for
offside turning traffic if the flow is relatively light and queued traffic can
be accommodated in the centre of the junction without impeding other
movements on the same arm. In case of doubt - code extra lanes!
The problem is most acute when one or more turns give way and
therefore may block any unimpeded traffic in the same lane. Hence a
single lane is “OK” for major arms at priority junctions (although
unlikely to occur in real life), but not otherwise. Single lanes which
include both give-way and non give-way movements are a major
problem for convergence (9.5).
Note that SATURN lane numbers are counted from the nearside or kerb-
side out so that lane 1 is the “innermost” lane nearest to the kerb-side
and the highest lane is the “outermost” lane nearest to the centre of the
road.
Successive turns (starting with the left turn for drive-on-the-left, right for
drive-on-the-right, and progressing clockwise/counter-clockwise) must
obey certain fairly basic traffic engineering rules. Thus there can be no
empty lanes. Equally (drive on the left) a right-turn cannot use lanes 1
and 2 while the straight-ahead can only use lane 2 since that would imply
that the right turns from lane 1 would need to “cut-across” straight ahead
traffic in lane 2.
Bus Lanes
40
To define, say, a road with a total of three lanes, two for normal traffic
and the nearside lane reserved for buses, columns 12-15 should be coded
‘ B2’; if the bus lane were down the centre of a 2-way road (e.g. a tram
line) or in the offside lane of a 1-way road then it would be coded ‘ 2B’.
Similarly ‘ B2B’ would represent four lanes total with bus lanes in both
the nearside and offside of the roadway.
Weaving Segments
6.4.10Node-Specific Parameters
Note that turn-specific values of GAP (for priority junctions and traffic
signals, not roundabouts) may also be set using the X-file; see 6.13.
Note also that all gaps are input as integers representing tenths of
seconds so that if 15 were input this would be interpreted as 1.5 seconds.
It is not possible to input, say, 1.53 within the 5 columns provided in
order to obtain extra precision although the extra precision is possible
when the gap is either defined globally through namelist or turn-specific
in the X-file
41
6.4.11 Link Stacking Capacity
The link stacking capacity is defined as the number of pcus which would
cause a queue to extend into the previous junction. If left blank or zero
the stacking capacity is calculated by:
Indeed much of the time the stacking capacity may just as well be left
blank since STACK is only used to model blocking back - see Section
8.5. As long as the default value exceeds the queue on a link it has no
affect whatsoever on the simulation.
To do so you must first insert a ‘*’ in column 11 of the link data record
(type 2), indicating that an extra record (type 2B) is to be inserted before
the next link data record, containing speed-flow data. (N.B. Do not
include a * if LANES = 0, ie., columns 12-15 are blank or zero, and the
link is therefore one-way outbound. This can sometimes be forgotten if a
in-bound link is converted to out-bound only.)
42
More specifically the extra record gives:
(1) the free flow travel time t0 in seconds / free flow speed in kph
(2) the time at capacity tC in seconds / capacity speed in kph
(3) the link capacity C (sometimes referred to as the “pinchpoint”
capacity)
(4) an ‘S’ or ‘T’ to indicate speeds or times above
(5) a “power” n
(6) a “link index” or “capacity index” (optional); see 5.1.9.
where the parameter A is chosen such that t(C) = tC. For V > C the time
is constant, tC.
This data has two effects: (1) it determines the travel time/speed on the
link itself; and (2) it may reduce the turn capacities at the downstream
junction. See Section 8.4.4 for further details.
Note that by leaving entries (1) through (4) blank but coding a capacity
index allows one to use a “default” speed-flow curve as defined within
the 33333 buffer records. See 15.9.4.
We may note therefore that the same data columns and conventions are
used in the 11111 simulation link speed-flow curves as in the 33333
buffer network link records (although certain entries in the 33333 records
such as the A-node and the B-node are ignored here), making it simple to
transfer 33333 data directly into the 11111 records.
We also note that if (and only if) the link is to an external simulation
node then the same information may also be input via the 33333 buffer
records; see 15.13. If both occur for the same link then FIFO (see 6.15)
decides which to select. However, it must be stressed that in such cases
it is strongly recommended that the users themselves make that decision
by either removing the data within the 11111 or the 33333 records to
avoid any ambiguity as to the required link properties.
43
We repeat that the above problem does not arise with internal simulation
links where the 11111 data always takes precedence over 33333 data.
Post 10.4 it is now possible to define minimum and maximum times for
each green stage which will be applied during the signal optimisation
procedures (see 15.31). The data is input under simulation node Record
Type 3 (6.4.1) in the “first” data field, i.e., the columns up to and
including column 15. The full data format is of the form:
Or, alternatively:
Where the first version is, for reasons given later, the “standard” version
although the second may appear more intuitive. E.g., 10<20>30 or
10<20<30 would both imply a stage length of 20 seconds with a
minimum of 10 and a maximum of 30.
If, on the other hand, only a single minimum or maximum stage time is to
be set the correct formats are respectively:
Tmin < T
and:
T > Tmax
The rationale behind using a < symbol for “minimum” and > for
“maximum” is that otherwise an input field such as 20<30 could either
be interpreted as a green time of 20 seconds with a maximum of 30 or as
a green time of 30 with a minimum of 20. Thus 20<30 implies the latter
and the former would need to be written as (somewhat counter
intuitively) as 20>30.
The obvious error checks such as minimum time less than green time and
maximum greater than green time are made on input and, in the case of
any violations the min/max inputs are ignored.
44
6.5 Simulation Centroid Connector Data
At least one connector must be specified for each centroid and no more
than six. Centroids need not be input in numerical order as the program
automatically sorts them.
Note as well that use of the AUTOZ option (see 15.12) allows the data
input here to be either reduced or eliminated altogether.
Cols. Description
NOTES:
(2) If only the A-node is given then the zone is connected to all
links FROM A; i.e., the blank B-node is treated as a “wild card”
representing all possible values of B.
(3) If only the B-node is given then the zone is connected to all
links TO B; i.e., the blank A-node is treated as a “wild card”
representing all possible values of A.
45
(5) However if either the single A-node or B-node is an external
simulation node then the connections are made to all links from
A/B to internal nodes. Since in most cases external simulation
nodes are only connected to a single internal node the only
information really required by the program is the external node
and including a second node is largely redundant.
These records have a dual purpose: (i) to define the structure and
properties of the link-based buffer network; and (ii) - generally a
secondary objective - to define extra link-based data for simulation links
(as described in Sections 15.13 and 15.14).
RECORD 1
Cols. Description
46
36 -40 The power to be used in the link flow-delay curve.
(FORMAT - F5.1 -therefore a decimal point must
appear in column 39.)
43 -45 A “link index” in the range 0-999; see 5.1.9.
46 - 80 (Optionally) up to KNOBS extra data items - see note
(9).
NOTES:
(1) If either the capacity time or the capacity is zero (or blank) it is
assumed that the travel time is fixed. A capacity of zero - or
blank - is assumed to imply infinite capacity - actually recorded
as 9999 pcu/hr. It is further assumed that all centroid
connectors have fixed travel times and an infinite capacity, i.e.
9999.
(2) Link capacities in the buffer network are not the equivalent of
saturation flows in the simulation network in that link capacities
take into account the reduction in capacity due to traffic signals
at the down-stream junction, give-ways, etc., whereas
simulation saturation flows are based purely on road geometry
and ignore all such factors as above.
(3) If column 28 contains a 1 this implies that the link (or centroid
connector) is one-way from A-node to B-node; a 2 implies that
it is two-way. If column 28 contains any other number - or
more commonly if it is left blank - then the value is taken as that
defined by IFRL and IFCC (See 6.3 above). Hence by default
all input real links are assumed to be one-way (since IFRL = 1)
and centroid connectors are two-way (IFCC = 2). If two-way,
all link properties are assumed to be the same for both
directions.
(4) If columns 36-40, the link flow-delay power, is left blank - and
capacity restraint is indicated - then the default value defined by
BCRP is assumed.
47
(Note that it is not 100% essential that the decimal point falls in
column 39; FORTRAN READ statements are forgiving and will
correctly read a decimal in any of the 5 columns. This means
that you are not restricted to a single figure after the decimal
point.)
(5) The possible uses and applications of the link index in columns
43-45 are explained in Section 5.1.9. See in particular note (8)
below. If the parameter BEAKER is TRUE then the index is
also associated with all (simulation) turns out of the link.
(9) KNOBS data may be included within the 33333 records either as an
extra formatted record following each link record or as free-
format data at the end of the normal link buffer data (i.e.,
columns 46 and beyond) depending on whether KONAL = F or
T. Note that with KONAL = T no data need appear, in which
case it is assumed that all values equal zero, whereas with
KONAL = F the second record must always appear (and a
blank second record would equally be interpreted as all KNOBS
data equal zero). See Section 15.14 for further information on
the use of KNOBS data.
(10) Note that when the second KNOBS records are required it is
quite easy to forget and leave a record out, in which case the
48
next link record will be read as though it were a KNOBS record
and the buffer link will be ignored. Various error checks are
included to try to detect this happening and to print appropriate
warning messages. This may result in a FORTRAN reading
error which is semi-fatal.
(11) If the parameter FREEKY is set to .TRUE. then data from the
second KNOBS data records (if used, i.e., KONAL = F) is read
as “free format”, e.g., it may be input as CSV (Comma
Separated Variables).
(12) The two input values for times/speeds and for distances (i.e.,
columns 11-15, 16-20 and 31-35) are implicitly integers but may
explicitly include decimal points if greater accuracy is required.
49
6.7 Restricted Turns and Links
Restricted links/turns are input one per record (but see note (7) below)
preceded by a 4 in column 1 and terminated by 99999 in columns 1 to 5:
(N.B. Different format under the DUTCH Option - See Section 15.20.)
NOTES:
(5) Buses and other “fixed” flows which follow pre-defined routes
are not affected by restrictions. Hence banning a turn or link to
all classes is equivalent to defining it as a bus-only turn/link.
50
(6) If you have multiple vehicle classes (NOMADS > 1), a banned
indicator of -1 refers only to a single user class, whereas values
of -2 or less are taken to imply that the ban applies equally to
all following user classes. For example if you wish to ban a
turn for all user classes -2 in columns 16 to 20 (31 to 35 under
DUTCH) would suffice. (Presumably in this case the turn
would be bus only.)
(7) Under the usual option of a single user class only columns 16-
20 (31-35 under DUTCH) are required to specify the
ban/penalty.
(8) If there are more than 10 user classes more than one record is
required per link or turn such that each record contains 10
entries in columns 16-65 (31-80 under DUTCH). Columns 1 to
15 (30) on subsequent records are left blank. Note that this
applies whether or not the subsequent record contains nothing
but zeros (or blanks) following a -2 entry.
(10) Total output statistics of, e.g., total pcu-hrs for time penalties
and total pcu-pounds for tolls may be viewed via the
simulation/buffer outputs under SATLOOK; see 11.11.4 and
17.9.
51
6.8 Node and Zone Co-ordinates/Supplementary Data
Very often co-ordinate data may be obtained directly from other data
sources, e.g. GIS systems, and “converted” into the appropriate
SATURN format. Note that it is also possible to redefine the SATURN
input format (see note (6) below) to accommodate different data sources.
Data for both simulation and buffer nodes and zones are input, one per
record, according to the following format:
Cols. Description
NOTES:
3) The units used for co-ordinates are arbitrary but their “size” in
metres should be specified by XYUNIT. E.g., if XYUNIT = 10
then it is assumed that an increment of 1 in a co-ordinate
52
corresponds to 10 metres “on the ground”. However, see
15.43.2, it is strongly recommended that a system based on
Ordinance Survey (or equivalent) conventions is adopted.
In all cases the first (left hand) column in each field is the one in
which a ‘C’ or an ‘S’ is inserted. These are not explicitly
mentioned in the format.
53
9) Nodes within this section which have not already appeared in
the simulation or buffer networks are, by default, ignored and
generate warnings. Thus you may apply a set of coordinates for
a full network to a cordoned sub-network and the extra nodes
are excluded. However if the parameter ATLAS (6.3.1) is set to
TRUE all nodes in the 55555 data set are recorded as part of the
map network so that they may be used, e.g., as part of network
editing within P1X; see 18.5.2.
10) If the parameter FREEXY=T (see 6.3.1) then all the data
records are given in “free format”, i.e. no fixed columns and
with each data entry distinguished from its neighbours by either
a blank and/or a comma (but with the C or S only in column 1).
This has several advantages:
i) node and zone numbers may be of any number of digits
(independent of DUTCH);
ii) ditto the X, Y values which may also contain decimals;
iii) communication with other data base systems (e.g.
spreadsheets or GIS) is made easier.
54
6.9 Fixed Routes (E.g. Buses)
The second use is (effectively) new in SATURN 9.5. The two are
differentiated by assigning a frequency of zero (columns 7-10 below) to
non-bus routes.
(N.B. A different format applies under the DUTCH Option - see Section
15.20 and/or under the EZBUS Option - see 6.9.2, note (6).)
55
Cols. 20 - 25 The second node on the route etc. up to column 80
(i.e., up to 13 nodes per line, 6 under DUTCH).
The list of nodes may be continued on a second, third, fourth, etc record
(up to a maximum of 20 records - see 6.9.2, note (9)) starting in column
16 and leaving columns 1-15 blank. Alternative conventions for
specifying nodes are given in 6.9.2 while 6.9.5 describes how to include
“timing points”.
(2) If, however, A and Z were external simulation nodes then the
first and last flows would always be on links A-B and Y-Z since
centroid connector flows are allowed to terminate at external
nodes (independent of UPBUS).
(3) The above restrictions only apply to the ends of routes within
the simulation network; they do not apply to sections of route
through the buffer network.
(4) Missing node numbers are allowed in the sense that blanks may
appear in the list of nodes and will be ignored by the program.
This is a useful facility if it is known in advance that new nodes
are to be inserted in some future networks; without blanks file
editing by insertion can be a problem. Strictly speaking,
therefore, cols 11-15 (if used) give the position of the LAST
node to be read.
(5) If FOZZY is TRUE and co-ordinates have been defined for all
nodes, then if two successive nodes do NOT constitute a link,
the program will “interpolate” the set of nodes which lie nearest
56
to a direct line between those nodes (see 15.18). Thus if a route
follows a straight line (more or less) then it is not necessary to
define every node along the line, only the first and last nodes.
Hence in addition to the first and last nodes in a route it is only
essential to define nodes at any “kinks” in the route.
(6) If EZBUS is TRUE then the nodes through which the route
passes may be defined in a “free format” whereby:
(i) Cols 1-10 remain the same (i.e., fixed column format).
(ii) 1-15 are ignored; i.e., leave them blank.
(iii) Cols 16-80 contain a list of nodes, not necessarily in
fixed columns, but separated by one or more spaces or
commas (CSV).
(iv) If there is insufficient space to include all nodes on the
first line further continuation lines may be used,
identified by blanks in columns 1-15 followed by the
node numbers in columns 16-80.
Note that this option may be combined with the FOZZY option
so that the nodes need not be consecutive; in fact this is
certainly the easiest way in which to define routes.
57
rules will also be correctly read under free format provided that
there are no 5-digit node numbers which “run into one another”.
(7) If Col 6 = 'T' and the nodes list is A… Z then a second route is
assumed with node list Z… A; i.e., the reverse direction. If
however col 6 = ‘R’ then only one route is assumed but one
whose nodes are Z… A.
(9) If a single bus routes uses more than 20 records any records beyond
the 20th are ignored unless EZBUS = T. In that case the
program attempts to “compress” the input records by merging
together very short records which contain, e.g., only 1 or 2
nodes into single records. This is not (yet) possible with
EZBUS = F since the data compression ignores any fixed
column conventions.
58
6.9.3 Bus Companies
Each bus company may have a specific value of the BUSPCU factor
input under &PARAM, see 6.3.3, as indicated by a subscript. Thus
BUSPCU (2) = 1.5 would assign a pcu factor to bus company 2. Unless
otherwise set an input value of BUSPCU (or its default unsubscripted)
applies to all companies.
It is possible to define routes for purposes other than defining bus flows,
for example to define a standard route used by moving car observers so
as to facilitate comparisons with modelled travel times post assignment.
Such routes are defined in the normal way but with a frequency equal to
zero.
Note that the term “bus company” also applies to sets of pure routes, i.e.
those with frequency zero. It would seem sensible for the user to
include non-bus routes as a separate “company” within a distinct 66666
block.
59
6.9.5 Route Timing Points
Timing points are entered as integer values enclosed in brackets after the
node to which they refer appears. They may only be entered when in
“free format mode”, i.e. EZBUS = T. Thus the node sequence
52 54 55(72) 56……
indicates that the time to reach node 55 is 72 seconds. Note that not all
nodes need to have timing points and that it is not valid to associate one
with the first node in a sequence (which, by definition, is zero). Spaces
between the node number and ( or within ( ) are ignored.
Timing points are recorded on the .uf* files as part of the route definitions
and may be analysed later; see 11.7.2.
52 54 55 (72, 16) 56 …
60
6.10 Counts of Link and/or Turning Volumes
NOTES:
(1) Unlike other data input sections the ‘77777’ initialisation record
may be repeated more than once, so that more than one “set” of
counted links may be defined. Each set commences with a
‘77777’ card and is terminated by a ‘99999’ card.
61
(7) It is generally assumed that any counts input here refer to
TOTAL vehicle flows, although in certain circumstances
elsewhere in the Suite flows for a particular class of vehicles
(e.g., cars, HGV’s, etc.) are required; see, for example, Section
13.4. The MCCS different set of counts might therefore be used
to define flows by vehicle class. Alternatively the program-
specific flows may need to be input separately to that particular
program.
(8) The count field MAY be left blank (or set to zero) if the count
records are being used solely to define a set of links for later
analysis. Zero-count records are ignored with certain
applications, e.g., a PIJA analysis for input to SATME2.
62
6.11 Generalised Costs and/or Matrix Weights for Multiple User Classes
This data section, which is mandatory for NOMADS>1, defines for each
user class:
Cols. Description
NOTES:
(1) From SATURN 9.4 the 88888 section is mandatory under multiple
user classes, i.e. NOMADS>1. Previously it was optional but it
does not seem to make much sense to have multiple user classes if
they all share the same trip matrix and cost definitions.
63
(2) This data section is not normally required in the “standard” case of
a single user class UNLESS some of the extra (KNOBS) link data
are used to define costs. Parameters PPM and PPK fully specify
generalised cost.
(3) For further details on all the above inputs please see Section 7.3.
Annotated examples are given in Section 6.14 below.
(4) The following default values apply to all user classes not explicitly
defined on these records:
(5) Equally if columns 16 onwards are left blank, i.e., if there is no cost
definition provided, the default PPM and PPK values are assumed
to apply to this user class.
(6) If, say, the first KNOB field were in units of seconds, then the
weighting value defined in columns 26-30 would be in units of
pence/second. If it were in units of pence already, e.g., it were
being used to represent link charges, then its weighting factor would
simply be 1.0. In either case the KNOB field is being treated only
as a contributor to the total generalised cost and would not be
interpreted explicitly as a time or charge in terms of, e.g., total
summary tables. See 7.11.2.
64
= 0 then this will be in columns 26 - 30 with a decimal in column 28
(Format F5.2).
(9) We refer here to the warning at the end of 7.3.2.1: use factors
different from 1.0 with caution! For example, if you intend to carry
out elastic multiple user class assignment (7.9) use one stacked level
per user class from the network build stage.
*******************************************************
N.B. The full data file must be terminated by a 9 in column 1
- or 99999 in columns 1 -5. Thus the final TWO records
both must contain 9 or 99999, the first to terminate the
last data section and the second to terminate all data.
*******************************************************
65
6.12 Fatal Errors and NAFF UFN Files
Within SATNET there are two levels of “fatal” errors, full and semi-fatal
error. See 2.9. Thus a semi-fatal error is one which would prevent the
assignment-simulation stages in SATALL from running properly but
would not prevent a network map description being created which would
be sufficient for P1X to display. A (full) fatal error prevents both
SATALL and P1X from running properly.
An output .ufn file from SATNET which contains some semi-fatal but no
fatal errors is referred to as a NAFF file - Not Assignment Fully Fit - and
will be rejected by SATALL and most other programs apart from P1X.
The intention is that the editing facilities within P1X (see Section 18)
may then be used to correct the semi-fatal errors by producing a
corrected .dat file.
Semi-fatal errors and NAFF files were first included in SATURN 10.1.
66
6.13 Extra Input Network File (the X-File)
6.13.1General Principles
To define an extra file the user must first specify a file name using the
namelist parameter name XFILE under &PARAM (6.3.4) in the main
network file; e.g.
XFILE = ‘netplus.dat’
Of these the namelist records are mandatory and the three data sections
are optional depending on parameters set under namelist. (And in fact at
the time of writing there are no options which use the 11111 node
records but they will no doubt appear in time.)
NFTAX The position of the TAX data on the link records. (0, 1, 2…)
Default - 0
NFRBKS The position of the RBKS data on the link records. (0, 1,
2…); See 8.7.2.
67
Default - 0
NFCI The position of the capacity index data on the link records.
(0, 1, 2…)
Default - 0
The number and order of the data items per link are determined by the
numerical values of NFTAX etc. Thus if NFTAX = 1, NFRBKS = 0 and
NFCI = 2 this implies that the first data item is a TAX value and the
second is a capacity index (CI); RBKS values are not used.
Since the data is in free format it may appear in any columns (although
the use of fixed columns in widths of either 5 or 10 is highly
recommended) and may be real or integer (with or without a decimal).
(Although indices should logically be integers.) Multiple entries must be
separated by at least one blank column.
68
6.13.5X-File Turn Records
As above the number and order of the data items per link are determined
by the numerical values of NFTAX etc although at the moment only
turn-specific GAP values may be set in this way so that the only relevant
parameter is NFGAP which can only take the value 1 (unless of course it
is zero and no turn GAP values are on the X-file).
Note that turn-specific GAP values only apply to traffic signals and
priority junctions, not to roundabouts where GAP’s are defined at the
node level only.
Since the data is in free format it may appear in any columns (although
the use of fixed columns in widths of either 5 or 10 is highly
recommended) and may be real or integer (with or without a decimal).
N.B As with link records above, if DUTCH = T then the A-, B- and C-
nodes occupy 10 columns each, not 5, as is standard; see 15.20. The
data items start in column 31.
69
6.14 Specimen File
Various comments are given on the right hand side below, commencing
with a *.
&OPTION
&END
SATURNVILLE CITY CENTRE (18/1/80)
&PARAM
MASL=6,
NITS=2,
LIST=T,
NOMADS=3,
KNOBS=1, &END
11111
1 3 3 2 63
58 3 0 140 1870 1 1 3900 1 3
2 2 9 82 3400 1 2 0 0 0
26 3 17 150 3000F 1 2 1500 3 3
24 7 6 58 2 58 26 26 58
36 7 6 2 26 2 58 26 58
2 3 1
1 2 9 82 2500 1 2 1600X 2 2
3 3 27 248 2400 1 2 3000 2 3
29 1 20 130 900G 1 1 1600G 1 1
99999
33333
3 2 28 56 2500 1 100 3.1
1978.00 * Extra (KNOB) data
29 2 21 42 1250 2 90
1983.00 * field, presumably
2 3 28 56 3750 2 100 3.1
1983.00 * some sort of date
C 2 59
9999.00 * with a default of
C 3 60
9999.00 * 9999 for centroid
C 4 61
9999.00 * connectors
99999
44444 * Banned links/turns
4 5 -1 0 30 * Link banned to UC 1, open to UC 2,
* 30 seconds penalty to UC 3
34 6 0 -2 * Open to UC 1 but banned to 2 and
3.
31 32 0 -1 0 * Banned to UC 2 only
46 51 50 10 -2 * 10 second penalty to UC 1, banned
* turn for classes 2 and 3.
16 17 18 -2 * Banned turn for all UC - therefore
* presumably a bus-only turn.
99999
55555 * Co-ordinates
1 17 53
70
2 17 62 * Node 2 (either simulation or
buffer)
* co-ordinates
C 24 36 48 * Zone 24 co-ordinates
C 20 39 29
(Remainder of co-ordinates)
99999
66666
400 11 7 66 12 13 14 15 16 17
401 3 7 18 45 53 52 31 32 33
500 7 9 18 17 16 15 14 41 13 12 66
600 8 9 66 12 13 14 15 16 17 18 19
601 8 10 25 26 24 23 22 21 20 19 18 17
99999
77777 * Link and turn observed flows
1 58 1252 * Link volume (N.B. uni-directional)
58 1 779 * “ ” (in the opposite
direction)
45 53 52 826 * Turning volume
99999
88888 * Matrix and generalised cost
definitions
* for each user class (UC):
1 1 0.20 1.00 1.00 * UC 1 forms 20% of matrix level 1
* and defines cost = 1.0*time + 1.0*dist
2 1 0.40 0.00 1.00 * UC 2 forms 40% of matrix level 1
* and is distance minimizing (cost =
dist)
3 1 0.40 1.00 3.00 * UC 3 forms 40% as well and defines
* cost = time + 3.0*dist
99999
99999 * N.B. 2 99999 records to end data file
71
6.15 FIFO – Options for Repeated Data Input
It is possible for various inputs to appear more than once, either within
the same data section or, alternatively, within two different data sections.
In such cases it is necessary to decide which data entry to accept as
definitive. The Namelist parameter FIFO (“First In, First Out”) is
instrumental in such decisions: if FIFO = T then the first entry is rejected
and the last entry used, and vice-versa if FIFO = F.
(1) X,Y co-ordinates are repeated for the same node within the 55555
data set.
(3) Link capacity indices may be defined either on simulation link speed-
flow records, on buffer links or on an X-file.
For example, if the same node appears twice (or more) under 55555 with different
co-ordinates each time, then if FIFO = T the second (last) set will be used; if FIFO
= F, the first record will be used. Clearly if the co-ordinates are the same it does
not matter too much which one is used, although there may be problems with
editing X,Y co-ordinates since only one record (not sure which!) will be updated.
One situation where FIFO is not used is that where a default speed-flow record for
the same capacity index in the 33333 data appears more than once; the first record
is always used.
In addition the rules have been changed in version 10.5 such that case (2) above is
no longer controlled by FIFO. Thus the 11111 data is always used in preference to
the 33333 data, on the assumption that if a user has gone to the bother of explicitly
adding an extra data line under 11111 they must definitely want that data to be
used.
It is strongly recommended that all situations where FIFO is applied (or not
applied as in the previous two cases) are checked by the user and the redundant
data removed. Check your .lpn for occurrences of FIFO.
72
6.16 SATNET Files
Channel Remarks
73
(Optional)
K:\…\dvv\saturn99\sect-6
Version: 12 February 2019
74