As an example of one of these calls:
CSV2UFM mat
re-creates the “binary” matrix mat.ufm from a csv-formatted text file mat.txt. It therefore follows (automatically) the procedures described in 10.5.5 but with the proviso that the file mat.ufm already exists so that it is “updating” rather than “building”. Thus the “new” version of mat.ufm takes all its “structure”, i.e., the number of rows and columns, the zone names etc., from the “old” mat.ufm but re-sets all its cell values as read from the .txt file.
Note, therefore, that these procedures are essentially “restore” or “rebuild” rather than “build from scratch”. If you do wish to create an entirely new .ufm from a .csv data file you should follow the interactive procedures outlined in Section 10.5, preferably entering the program MX via the “batch file” command (see 10.1):
MX I
At a future date the ..2UFM batch files may be made sufficiently “clever” to detect when a .ufm matrix does not pre-exist and must be built totally from scratch.
Essentially the …2UFM procedures are the reverse of the UFM2… procedures described above; the latter converts a .ufm file into text, the former converts a text
A number of varieties of …2UFM procedures exist:
♦ LINE2UFM
♦ CSV2UFM
♦ EMME2UFM
♦ TBA12UFM
♦ TBA22UFM
♦ TBA32UFM
following the conventions described in 10.20.13.
Specifying formats and/or decimal places is less important in reading from text files than in writing to them (see 10.20.13 above) since, in general, the input routines can detect whether a field is, say, E-formatted and deal with it as appropriate. (But see 2.8.3.)
Note that there are no procedures SATL2UFM or SATS2UFM as these are effectively covered by the standard matrix build procedure MXM1 (See 4.1).