IMPLICIT REAL*8 (H)
. Expressions for the lengths of
arrays and pointers for the starting locations of arrays all use
the parameter MULT
, which is set equal to 1 if the
machine word can contain 8 or more characters and 2 if not (an
IBM word contains 4 characters). The input routine FREE
contains a machine-dependent variable MACHWD
for the
number of characters per machine word (MACHWD
=10 for CDC,
8 for CRAY, and 4 for IBM, VAX, or Sun).
Most of the changes required to go back and forth between short-word and long-word machines are carried out automatically using the conditional capabilities of the UPD code. As an example,
*IF SW IMPLICIT REAL*8 (H) *ELSE IMPLICIT INTEGER (H) *ENDIFThe user only has to be sure to include the line ``
*SET SW
'' in the UPN
input file for the
UPD run (put it before the first ``ident'').
After these changes have been made, there may still be some
incompatible system calls connected with input/output, CP time,
date, clock time, and fatal error handling. Fatal errors use
subroutine ERROR
, which can often be adapted to provide
trace back information or to leave a ``drop file'' for later
analysis by an on-line debugging code. The subroutine
TIMER
is used to obtain elapsed CP time in seconds.
DATER
is used to obtain a date string (which can be
formatted in different ways as long as it contains only 8
characters; examples are ``mm/dd/yy,'' ``dd/mm/yy,'' or
``ddmmmyy''). WCLOCK
is used to obtain the wall clock
time; that is, the time of day for the TRANSX run. UPD idents
are provided for several common machines and operating systems.
These decks can also be used as starting points in constructing
the updates required for other systems.
The problems of input/output have been alleviated somewhat by
FORTRAN-77, but some installers may still find
incompatibilities. TRANSX uses the CCCC standard (
Ref. 25)
subroutines SEEK
, REED
, and
RITE
. Local
optimized versions may be available at installations that use
existing reactor-physics codes. RITE
is used to write a
binary record and is very simple. REED
is used to read
binary records, but the reads may be nonconsecutive. At Los
Alamos, nonconsecutive reads are supported using forward and
backward record skipping. On some systems (especially VAX), it
may be more efficient to rewind and skip forward rather than to
use the backspace command. The SEEK
routine is used to connect
external files by name to logical unit numbers. The FORTRAN-77
version used in the code should work for most systems.
The Los Alamos CTSS version of TRANSX uses the program card to
assign the input, output, and tty units, and the FILEREP
call to enable reassignment of units on the execute line (e.g.,
transx input=test1,output=out1
). Some systems may
require explicit OPEN statements for these units.
TRANSX HyperText Manual
TRANSX HyperText Help Package
T-2 Nuclear Information Service