!=====================================================================
! NGVT: Vaspackt, A Vector and Streamline Package for Triangular Meshes
!=====================================================================
!
! VASPACKT allows a user to construct, from data on a triangular mesh,
! plots showing simple vectors, curly vectors, and streamlines.
!
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
! set/Get internal parameters
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~
!
! NG_VTRSET to reset all parameters to their default values.
!
! NG_VTSETC to give a value of type CHARACTER to a parameter.
! NG_VTSETI to give a value of type INTEGER to a parameter.
! NG_VTSETR to give a value of type REAL to a parameter.
!
! NG_VTGETC to get a value of type CHARACTER.
! NG_VTGETI to get a value of type INTEGER.
! NG_VTGETR to get a value of type REAL.
!
! ~~~~~~~~~~~~~~~~~~~~
! Mesh Triangulization
! ~~~~~~~~~~~~~~~~~~~~
!
! NG_VTTMRG to obtain mesh from a rectangular grid wrapped around the globe.
!
! NG_VTTMTL to obtain mesh from an arbitrary triangles in 3-space.
!
! NG_VTTMTX to obtain mesh from an arbitrary triangles in 3-space.
!
! ~~~~~~~~~~~~~~~~~~~~~~
! Initialization Routine
! ~~~~~~~~~~~~~~~~~~~~~~
!
! NG_VTMESH to compute quantities required for subsequent calls to work correctly.
!
! ~~~~~~~~~~~~~~~~
! Working Routines
! ~~~~~~~~~~~~~~~~
!
! NG_VTBACK to draw a background.
!
! NG_VTCVDM to draw a set of curly vectors, masked by an existing area map.
! NG_VTCVDR to draw a set of curly vectors, unmasked.
!
! NG_VTSLDM to draw a set of streamlines, masked by an existing area map.
! NG_VTSLDR to draw a set of streamlines, unmasked.
!
! NG_VTSVDM to draw a set of simple vectors, masked by an existing area map.
! NG_VTSVDR to draw a set of simple vectors, unmasked.
!
! NG_VTVRLL to draw a "vector rose" centered at a point specified by a latitude and longitude.
!
! NG_VTDRPL as the actual subprogram to be called by any of VTCVDM, VTSLDM, or VTSVDM,
!           to draw pieces of curly vectors, streamlines, or simple vectors resulting
!           from masking by an area map.
!
! ~~~~~~~~~~~~~~~~~~~~~
! Tdpack-Aware Routines
! ~~~~~~~~~~~~~~~~~~~~~
!
! NG_VTTDBF to set bits in the triangle blocking flags in the triangular mesh
!           so as make it possible to identify those that are seen from the
!           "wrong" side, that are seen nearly edge-on, or that are hidden by
!           other triangles of the mesh.
!
! NG_VTTDBM to set the value of a couple of internal parameters that are used
!           as masks for the triangle blocking flags in the triangular mesh
!           to determine which ones will actually be blocked.
!
! NG_VTTDDM to draw the triangular mesh.
! NG_VTTDFM to fill the projected triangles of the triangular mesh.
!
! ~~~~~~~~~~~~~~~~~~~~~~~
! Error-Recovery Routines
! ~~~~~~~~~~~~~~~~~~~~~~~
!
! NG_VTMVIW to transfer the current contents of an integer workspace array to a new array.
!
! NG_VTMVRW to transfer the current contents of a real workspace array to a new array.
!
!---------------------------------------
!
! Note: CNCARG adding one "optional dummy subprogram argument", VTMXYZ,
!       to following VASPACKT routines.
!
! SUBROUTINE NG_VTMESH( RPNT, KPNT, KOPN, IEDG, KEDG, KOEN,&
!                       ITRI, KTRI, KOTN, RWRK, KRWK, IWRK, KIWK, VTMXYZ )
!
! SUBROUTINE NG_VTCVDM( RPNT, IEDG, ITRI, RWRK, IWRK, IAMA, RTPL, VTMXYZ )
!
! SUBROUTINE NG_VTSLDM( RPNT, IEDG, ITRI, RWRK, IWRK, IAMA, RTPL, VTMXYZ )
!
!=====================================================================
! Refer "NCAR menu" for interfacing VASPACKT in detail
!=====================================================================