Description of compile-time switches to defgb		(25 Apr 96)
                   (for versions 2.4 and later  6 Jun 96)

        defgb accepts a number of compile-time switches.  Most of
them control what functions defgb will perform.  One of them,
METHOD_NAME, specifies a string that will appear in diagnostic messages.
See defgb documentation (currently in the code) for more information.
	Several variants of defgb are "well-known".  Instead of
specifying the switches that go with each variant, you can specify
a switch, METHOD, that selects all the switches that go with a particular
variant, including its METHOD_NAME.  Note that specifying METHOD is
just shorthand; you can still set any switch to any value.  Don't
specify METHOD if the variant being generated is not "known"-defgb
will not compile.
	The known variants are DEFGB, DEFGB_URL, DEFMET, and DEFGB_NOHEADER.

	The switches with their default values are.  For descriptions, see
the code.
METHOD_NAME		"defgb (by default)" (METHOD unspecified)
			"defgb"		     (METHOD=DEFGB)
			"defmet"	     (METHOD=DEFMET)
			"defgb_url"	     (METHOD=DEFGB_URL)
			"defgb_noheader"     (METHOD=DEFGB_NOHEADER)
MAXLEVELS		  10
TOKEN			  40		(METHOD=DEFGB_URL 120)
NVAR			 250
MAXCOMMENTLINE		  80
COMMENTSIZE		2430		
MAXREC			1257
DISPLAY_WIDTH		  80
SEPARATOR		blank, tab, comma, newline, carriage return
					(METHOD=DEFGB_URL tab, newline)
					(If using EXEC capability, and if
					  commands have parameters,
					  SEPARATOR must NOT include blank)

SIGNIFICANT_CONSECUTIVE_SEPARATORS	FALSE (Relevant to free field)
SIGNIFICANT_EMBEDDED_SEPARATORS		TRUE  (Relevant to fixed field)
DATA_FIELD_TRIM		   		TRUE  (Relevant to fixed field)

PROCESS_NONLEVEL0_VARLIST TRUE		(METHOD=DEFGB_NOHEADER FALSE)
EXEC			TRUE		(Will not compile if EXEC=FALSE
					  and METHOD=DEFGB_URL)
DATAFIELDOPTS_OPT	0
GMT_OPT			0
LATLON_OPT		0
REMOVAL_OPT		0
TRANS_OPT		0
WIDTH_OPT		0

ERR_PREFIX		"*** Error"

(Note: Former switch NEGATE_LON has been superseded in functionality by 
the latlonparams optional file.  See optional file documentation for more info)

	Example: Suppose you get a set of data that you want to use
with method defgb_noheader, but there are 50 lines of comments instead
of 30.  You might use the following compilation switches:
	-DMETHOD=DEFGB_NOHEADER 
	-DCOMMENTSIZE=4050 
	-DMETHOD_NAME="defgb_noheader_50_comments"
You could do the same thing without referring to defgb_noheader at all
	-DPROCESS_NONLEVEL0_VARLIST=FALSE
	-DCOMMENTSIZE=4050 
	-DMETHOD_NAME="my_method"

	There are also several debugging switches to trace defgb execution.
All can be set at runtime by use of the diagnostics optional file (see 
optional file documentation for more information).  Some may be set at
compile time for 2 purposes.  One is to define default diagnostic switches
so they need not be specified at runtime.  The other is to define the
switches in effect before the diagnostics optional file is read.

DEFAULT_TRACE_LEVEL	 0	(See "trace level" in opt file documentation)
DEFAULT_ERROR_LEVEL	60	(    "error level"			    )

DEFAULT_DEBUG_SINK  "/dev/stderr" (  "debug sink"			    )
DEFAULT_ERROR_SINK  "/dev/stdout" (  "error sink"			    )

DEFAULT_MAXSCRIPTDIAGS	 5	(    "maxscriptdiags"			    )

DEFAULT_INSERTED_MSGS       TRUE  (  "inserted msgs"			    )
DEFAULT_INSERTED_MSG_TAG    TRUE  (  "inserted msg tag"			    )
DEFAULT_COMMENT_SOURCE_TAG  TRUE  (  "comment source tag"		    )

	For compatibility with def, the DEBUG and DEBUG0 switches may be
defined.  If DEBUG is defined, it is the equivalent of specifying a
DEFAULT_TRACE_LEVEL of 40.  If DEBUG0 is defined, it is the equivalent of
setting the iovalstr and iovalreal frequency specifiers to 1 at runtime.