Next: Upward Compatibility
Up: MGGHAT User's Guide Version
Previous: Post-processing Graphics
MGGHAT is written in (almost) standard conforming FORTRAN 77.
The programs flint and ftnchek were both used to
check for compliance with the ANSI FORTRAN 77 standard, and
for potential portability problems. There is only one feature
of the program that is flagged as not standard conforming -- the use
of the include statement. However, this extension is supported
by all compilers that MGGHAT has been tested under. All of
the include statements are of the form include `commons'.
If your compiler does not support the include statement, you
will need to replace all the include statements with the
text of the file commons.
There are a few other features that may cause portability problems:
- double backslash. In one place a character*1 variable is
assigned the string consisting of two backslashes. The second
backslash is required because many systems interpret the backslash
to mean the next character is special, and two backslashes
designate the backslash character. It is not expected that this
will cause a problem on systems without this interpretation,
because the string of two characters should be truncated to one
character when assigned to the character*1 variable, and however
the truncation is done it should give a single backslash.
- interface to C. Interfacing between FORTRAN and C is
system dependent. There are 3 subroutines in gnuplt.c
that are written in C and called from FORTRAN . Also, there is
one in second.c, which you may or may not use (see the
discussion about function second in section 3.1).
There are three
versions of gnuplt.c; the second one, gnuplt.no_.c,
differs from the first by not appending an underscore character
to the function names. The third version is for Crays.
You should use the one that matches the
rules of your system. If you are unable to interface between
FORTRAN and C on your system, note that these routines are
called only if run-time graphics are invoked. If you do not
use run-time graphics, you can replace them with a FORTRAN
file with `dummy' subroutines gpopen, gnuplt, and
gpclos.
- system dependent subprograms. subroutine system,
function second, and function r1mach are not intrinsic
functions, and are system dependent. See section 3.1
for configuration of these three routines.
- makefile. The makefile is, of course, system dependent.
See section 3.2.
Next: Upward Compatibility
Up: MGGHAT User's Guide Version
Previous: Post-processing Graphics
william.mitchell@nist.gov