ROUTINE
-------

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

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

Read 2D node data from a standard UG 2D 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      : 2D 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 2D node data file.
<0                       : The 2D node data file name is blank or NULL or the
                           2D node data file name is not a standard UG 2D node
                           data file. Nothing is done in this case.
                           The return value will be -1.
>0                       : Errors occurred reading 2D 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 one corresponding to
                           the two coordinates (X,Y) for a particular node.

Spacing                  : Node spacing.
                           If Spacing = NULL or the file type is an MNODE2D file
                           (.mnode2d suffix) then this array is not used, except
                           when the Spacing is allocated and the file type is an
                           MNODE2D 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 SNODE2D file
                           (.snode2d 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 two corresponding to the three coefficients
                           in the symmetric metric for a particular node. The
                           metric coefficients are stored as shown below.

                                     --             --
                                    | met[0]   met[1] |
                                M = | met[1]   met[2] |
                                     --             --

