intro_help (ul_physlib)

	Argument descriptors for library routines consist of three
	fields separated by periods.  The first field consists of
	a descriptive name for the argument.  The second field
	contains a data type descriptor, and the third field indicates
	the argument passing mechanism.

	example --> arg_name.data_type.passing_mechanism

	The possible values for the data type field are:

		ch	-->	character string (char[], CHARACTER*(*))
		i1	-->	one byte integer (char, BYTE)
		i2	-->	two byte integer (short, INTEGER*2)
		i4	-->	four byte integer (int, long, INTEGER*4)
		l1	-->	one byte logical (char, LOGICAL*1)
		l2	-->	two byte logical (short, LOGICAL*2)
		l4	-->	four byte logical (int, long, LOGICAL*4)
		r4	-->	single precision real (float, REAL*4)
		r8	-->	double precision real (double, REAL*8)
		s	-->	data structure
		f	-->	function pointer
		g	-->	generic (void) pointer

	Any of the above can have a suffix of 'a' indicating that it is
	actually an array of that data type.  Also, any array data type
	can have a suffix of 'p' indicating that it is an array of

    	The possible values for the passing mechanism are:

		r	-->	by reference
				(FORTRAN default except for characters)
		v	-->	by value (C default except for arrays)
		d	-->	by descriptor
    				(FORTRAN default for characters)

	An argument descriptor surrounded by square brackets, [ ], 
	indicates that the argument is optional.