ROUTINE
-------

INT_ ug_io_read_node_file (char Node_Data_File_Name[],
                           INT_ Message_Flag,
                           INT_ *Number_of_Nodes,
                           DOUBLE_3D * Coordinates,
                           DOUBLE_1D * Spacing,
                           DOUBLE_6D * Metric)

DESCRIPTION
-----------

Read node data from a standard UG node data file.

This routine will allocate the node data arrays with as much space as required
by the node data file dimensions.

INPUT ARGUMENTS
---------------

Node_Data_File_Name      : Node data file name.
                           If the node data file name is blank or NULL then
                           nothing is done.

Message_Flag             : Output message flag.
                           If Message_Flag =  0 then no information messages
                           are written.
                           If Message_Flag >= 1 then information messages are
                           written to standard output.

RETURN VALUE
------------

0                        : No errors occurred reading node data file.
<0                       : The node data file name is blank or NULL or the node
                           data file name is not a standard UG node data file.
                           Nothing is done in this case.
                           The return value will be -1.
>0                       : Errors occurred reading node data file.
                           The return value will be between 600 and 699.

OUTPUT ARGUMENTS
----------------

Number_of_Nodes          : Number of nodes.

Coordinates              : Node coordinates.
                           This array uses "FORTRAN" style indexing with a
                           primary index which ranges from one to
                           Number_of_Nodes. Array location zero is not used.
                           The secondary index uses "C" style indexing with an
                           index which ranges from zero to two corresponding to
                           the three coordinates (X,Y,Z) for a particular node.

Spacing                  : Node spacing.
                           If Spacing = NULL or the file type is an MNODE file
                           (.mnode suffix) then this array is not used, except
                           when the Spacing is allocated and the file type is an
                           MNODE file then the spacing will be set from the
                           metric. This array uses "FORTRAN" style indexing with
                           an index which ranges from one to Number_of_Nodes.
                           Array location zero is not used.

Metric                   : Node symmetric metric.
                           If Metric = NULL or the file type is a SNODE file
                           (.snode suffix) then this array is not used. This
                           array uses "FORTRAN" style indexing with an index
                           which ranges from one to Number_of_Nodes. Array
                           location zero is not used. The secondary index uses
                           "C" style indexing with an index which ranges from
                           zero to five corresponding to the six coefficients in
                           the symmetric metric for a particular node. The
                           metric coefficients are stored as shown below.

                                     --                      --
                                    | met[0]   met[1]   met[2] |
                                M = | met[1]   met[3]   met[4] |
                                    | met[2]   met[4]   met[5] |
                                     --                      --

