next up previous contents
Next: Upward Compatibility Up: MGGHAT User's Guide Version Previous: Post-processing Graphics

Portability

 

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:

  1. 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.

  2. 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.

  3. 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.

  4. makefile. The makefile is, of course, system dependent. See section 3.2.



next up previous contents
Next: Upward Compatibility Up: MGGHAT User's Guide Version Previous: Post-processing Graphics



william.mitchell@nist.gov