	(REGULAR VERB)

	Syntax:  FPRINT(unit, format) list

	FPRINT writes a list of adverbs, expressions, or constants to
	the file with the specified unit number (see FOPEN) using a
	specified printing format.

	The specified unit number (scalar constant, expression, or
	adverb) must be identical to that pointing toward a file that
	has been opened for writing.  If no file with that unit number
	is opened, an error will be generated.  You can also specify a
	unit number of -1 to specify standard output (standard output
	depends upon whether CRT, GRAPHICS, or PRINTER are in affect) 
	or a unit number of zero for standard error (usually your CRT).

	The list contains a sequence of adverb names, constants, or
	expressions whose values you want to print into the file using
	the specified format.  The list need not exists if you just
	want to generate an empty line into the file.

	The format parameter must be either a string constant or string
	adverb that contains a legitimate format specification.  If you
	specify an empty string, then FPRINT will use 'list-directed'
	IO to print out the list (i.e., the program will determine
	aesthetic formats to use for printing out the list).  Thus,
	specifying FPRINT(-1,' ') is identical to the PRINT verb.

	The format specifications follow all of the rules of Fortran
	77, plus some extensions and restriction.  The following table
	gives a list of what can be used in a format specification:

		 	UniPOPS Format Specifiers
   -------------------------------------------------------------------
   Specifier			Fortran 77	UniPOPS Extension
   -------------------------------------------------------------------
   Blank Control (see note)	BN, BZ			B

   Carriage control (see note)	space, 0, 1		$

   Character Edit (see note)	nH....,  rAw, 		rA, "....."
				   '....'

   Floating Point		rFw.d, rEw.d.Ee,	rE.w.d.e, rG.w.d.e,
				rDw.dEe, rGw.dEe	rD.w.d.e

   Integer Edit (see note)	rI.w.m

   Logical Edit (see note)	rLw

   Position Control (see note)	nX, /, Tc, TLn,
				   TRn	

   Scale Control		pP			P

   Sign Control (see note)	S, SP, SS

   Terminate a format		:

   Repeat pattern		r(.....)

   -------------------------------------------------------------------
   where:  c = column number (must be present and > 0)
	   d = number of digits (significant or after the decimal point;
		see default value below; must be >= 0)
           e = number of digits in printed exponential (see default value
       		below; must be >= 0)
	   m = number of preceding zeros (see default value below; >= 0)
	   n = number of characters (must be present and > 0)
	   p = integer scale factor (if not present, assumed to be zero;
		can be < 0) 
	   r = repeat counter (if not present, assumed to be 1; must be >= 0) 
	   w = field width (see defaults value below; must be >= 0)

   NOTES:  c, d, e, m, n, p. r, and w must be specified as integers.

	   B, BN and BZ are only used when reading but are included here
	   for the sake of completeness.

	   UniPOPS has no logical or integer constants, adverbs, or
	   expressions.  If you specify an I or L format specifier, than
	   UniPOPS converts the scalar value of the item to be printed
	   into an integer or logical value before printing its value
	   out.  This is NOT what F77 does when you try to print a
	   floating-point value item with an I or L specification.

   -------------------------------------------------------------------

	See a F77 manual for a description of how to use the format specifiers
	given in the middle column.  The UniPOPS extensions are:

	(1) The P specification is identical to 0P.

	(2) The $ specification will suppress the carriage return at the
		end of printed line.

	(3) The program will calculate a field width for you with the
		A specification.

	(4) Strings can be enclosed in double quotes as well as
		single.

	(5) The rE.w.d.e, rG.w.d.e, rD.w.d.e are identical in purpose
		to the rE.w.dEe, rG.w.dEe, rD.w.dEe specifications.


	The only UniPOPS restriction is that the '+' carriage control
	specifier of F77 is NOT supported.

	Unlike F77, you do not need to enclose the complete format
	specification in parenthesis -- UniPOPS provides the opening
	and closing parenthesis for you.

	An error message will be generated if you try to print out a
	string using anything but the rAw or rA specifications.
	Likewise, an error message will be generated if you try to
	write anything but a string using an A specification.

	As in F77, you need not specify all of the suffixes for I, L,
	F, D, E, or G.  That is, you can eliminate, in the following
	order, the following descriptors:  e (or m), d, w.  The default
	values used by UniPOPS for these descriptors are:


		Default m, w, d, or e Field Descriptors
	-------------------------------------------------
	Descriptor	m	w	d	e
	-------------------------------------------------
	I		0	7
	L			2
	E, D, G			15	7	2
	F			15	7
	-------------------------------------------------

	If the output list is not exhausted but the format
	specifications are, than the format specification is rescanned
	using the same rules as F77 (rescan point is either the
	beginning of the format specification or the last level zero
	open parenthesis.

	No adverbs are used or changed by FPRINT.

	EXAMPLES:

	FPRINT(UNIT,' ') BDROP, EDROP

		Prints the value of BDROP or EDROP using a default
		floating point specification to the file attached
		to the specified unit number.

	FPRINT(-1, ' I3 / L3 / 10(F10.4, G15.5.3) '  ) LEVS

		Prints to standard output the values of array adverb
		LEVS (which has 32 values).  The first value is printed
		as an integer on its own line, the second as a logical
		on its own line.  The next line contains the next
		20 values in LEVS, the 1st, 3rd, 5th printed with
		an F specification, the others with a G.  The format
		is exhausted but not all values of LEVS has been 
		printed out.  The format is rescanned to the open
		parenthesis and the last ten values are printed
		in the same way as the previous line.

	FPRINT(0,' ') "This is an error message"

		Prints the above string onto the standard error.

