Trip Ends for the MX Furness option may also be read from an external ascii .dat file defined in one of three different ways:
1) As absolute origin and/or destination totals,
2) As (additive) changes to the existing totals,
3) As factors to the existing totals.
where the “existing totals” are derived from the current trip matrix, i.e., the matrix currently within the internal MX memory.
All three types of data are defined within a single data file and are distinguished in the normal SATURN way of appearing in ‘11111’, ‘22222’, etc. data sections following a (very limited) set of namelist parameters. Not all data sections need appear.
In addition the data may be defined either for individual zones or for “sectors”, i.e. aggregates of zones, if these are defined elsewhere. Sector factors are applied to all zones equally; new sector totals and/or differences are applied pro rata to constituent zones based on the totals in the current trip matrix.
Note that the definition of the new row and column totals is “progressive” in that a new row total may be defined under data set 1, incremented under 2 and factored under 3. Such a situation would probably be very unusual; in practice it is expected that users would use only one of the three basic methods.
The precise file format is as follows:
RECORD SET 0 - NAMELIST PARAMETERS (Optional) |
These consist of a header record &PARAM, a record defining two possible logical parameters NAMES and CSV plus an &END record.
Here NAMES =.TRUE. if the following records use zone “names” as opposed to sequential row/column numbers. Default: .TRUE.
If CSV = .TRUE. the data records which follow are input as “comma separated variables”, i.e., with the zone name/number and new total etc. in any columns as long as they are separated by a comma or by one or more spaces. If CSV = .FALSE. the fixed columns (with decimal points) specified below must be used. Default: .TRUE. (post 10.7)
N.B. Where the specification indicates that a decimal “normally” appears in, say, column 13 out of columns 6-15 this is not a rigid requirement. In fact the decimal may appear in any column as long as the whole number is contained within the columns specified. Thus, in the above case, the user would not be restricted to a maximum of 2 decimal places in the input field.
RECORD SET 1 – ABSOLUTE ORIGIN TOTALS (Optional) | |
Record 1A - ‘11111’ in columns 1 - 5 followed by: | |
Records 1B: One record per row constraint formatted as: | |
Col.1 |
‘S’ if the record (cols 2-5) applies to a sector |
Cols.1 - 5 |
The row/origin zone name or sequential number (NAMES = T or F) |
Cols.6 - 15 |
The required new total (CSV = F: include a decimal point, normally in col. 13) |
terminated by: |
|
Record 1C - 99999 in columns 1-5. | |
RECORD SET 2 – ABSOLUTE DESTINATION TOTALS (Optional) | |
Record 2A - ‘22222’ in columns 1 - 5 followed by: | |
Records 2B: One record per column constraint formatted as: | |
Col. 1 |
‘S’ if the record (cols 2-5)applies to a sector |
Cols.1 - 5 |
The column/destination zone name or sequential number (NAMES = T or F) |
Cols.6 -15 |
The required new total (CSV = F: include a decimal point, normally in col. 13) |
terminated by: |
|
Record 2C - 99999 in cols 1-5. | |
RECORD SET 3 - CHANGES TO ORIGIN TOTALS (Optional) | |
Record 3A - ‘33333’ in columns 1 - 5 followed by: | |
Records 3B: One record per row and/or column constraint formatted as: | |
Col. 1 |
‘S’ if the record (cols 2-5)applies to a sector |
Cols.1 – 5 |
The row/origin zone name or sequential number (NAMES = T or F) |
Cols.6 -15 |
The difference of the new total from the current value (CSV = F: include a decimal point, normally in col. 13) |
Terminated by: |
|
Record 3C - 99999 in cols 1-5. | |
RECORD SET 4 - CHANGES TO DESTINATION TOTALS (Optional) | |
Record 4A - ‘44444’ in columns 1 - 5 followed by: | |
Records 4B: One record per column constraint formatted as: | |
Col. 1 |
‘S’ if the record (cols 2-5)applies to a sector |
Cols.1 – 5 |
The column/destination zone name or sequential number (NAMES = T or F) |
Cols.6 -15 |
The difference of the new total from the current value (CSV = F: include a decimal point, normally in col. 13) |
Terminated by: |
|
Record 4C - 99999 in cols 1-5. | |
rECORD SET 5 - ORIGIN/ROW FACTORS (Optional) | |
Record 5A - ‘55555’ in columns 1 - 5 followed by: Record 5B: One record per row constraint formatted as: | |
Col. 1 |
‘S’ if the record (cols 2-5)applies to a sector |
Cols.1 – 5 |
The row/origin zone name or sequential number (NAMES = T or F) |
Cols.6 -15 |
The ratio of the new total to the current value (CSV = F: include a decimal point, normally in col. 13) |
Terminated by: |
|
Record 5C - 99999 in cols 1-5. | |
RECORD SET 6 - DESTINATION/COLUMN FACTORS (Optional) | |
Record 6A - ‘66666’ in columns 1 - 5 followed by: | |
Records 6B: One record per column constraint formatted as: | |
Col. 1 |
‘S’ if the record (cols 2-5)applies to a sector |
Cols.1 – 5 |
The column/destination name or number (NAMES = T or F) |
Cols.6 -15 |
The ratio of the new total to the current value (CSV = F: include a decimal point, normally in col. 13) |
Terminated by: |
|
Record 6C - 99999 in cols 1-5. | |
RECORD 7 (Mandatory) | |
A final ‘99999’ record. |