velvct(3NCARG)


NAME

   VELVCT - Plots a vector field, given two 2-dimensional vector component
   arrays, U and V. You may control certain characteristics of the plot by
   adjusting the values given to the input arguments. Other less
   frequently changed characteristics may be affected by modifying VELDAT,
   the BLOCK DATA routine that initializes members of the common blocks
   VEC1 and VEC2. In addition, depending on the value given to the
   compatibility parameter, CPM, you may set other options by calling
   VVSETC, VVSETI, or VVSETR to modify internal parameters.

SYNOPSIS

   CALL VELVCT (U,LU,V,LV,M,N,FLO,HI,NSET,LENGTH,ISPV,SPV)

STATUS

   VELVCT is obsolete, and is supported only to provide compatibility with
   old NCAR Graphics codes. However, the compatibility mode parameter,
   CPM, offers a number of options to help ease the the transition to the
   new version of the utility. When writing new code you are encouraged
   not to use this entry point, since it provides less capability than the
   standard Vectors interface, and may eventually be phased out.

C-BINDING SYNOPSIS

   #include <ncarg/ncargC.h>

   void c_velvct(float *u, int lu, float *v, int lv, int m,
                 int n, float flo, float hi, int nset,
                 int length, int ispv, float *spv)

DESCRIPTION

   U           (REAL 2-dimensional array, dimensioned LU x n: n >= N,
               input): By default, assumed to contain the first
               dimensional Cartesian components of the vector field.
               However, if PLR is non-zero, it is treated as containing
               the vector magnitudes.

   LU          (INTEGER, input): Actual value of the first dimension of
               array U.

   V           (REAL 2-dimensional array, dimensioned LV x n: n >= N,
               input): By default, assumed to contain the second
               dimensional Cartesian components of the vector field.
               However, if PLR is non-zero, it is treated as containing
               the vector angles.

   LV          LV (INTEGER, input): Actual value of the first dimension of
               array V.

   M           (INTEGER, input): Number of contiguous elements along the
               first dimensional axis containing data to be processed in
               each of the arrays, U and V.

   N           (INTEGER, input): Number of contiguous elements along the
               second dimensional axis containing data to be processed in
               each of the arrays, U and V.

   FLO         (REAL, input): Minimum vector magnitude allowed to be
               displayed in the plot.

   HI          (REAL, input): Maximum vector magnitude allowed to be
               displayed in the plot. If set to 0.0 there is no upper
               limit imposed.

   NSET        (INTEGER, input): Flag that controls how and when the SET
               call is invoked. If NSET is 0, VELVCT makes a SET call to
               establish a standard viewport and window boundaries
               coincident with the array coordinate boundaries. PERIM is
               called to draw a border. If NSET is greater than zero,
               VELVCT does not call SET or PERIM. If NSET is less than
               zero, VELVCT calls SET to establish window boundaries
               coincident with the array grid coordinate boundaries but
               does not modify the viewport or call PERIM. Unlike the
               VVINIT/VVECTR interface, when VELVCT does a SET call, it
               always restores the original coordinate system state before
               returning.

   LENGTH      (INTEGER, input): The length in plotter address units
               (PAUs) used to render the vector with the greatest
               magnitude that is eligible for plotting. A vector is
               eligible for plotting if it is less than or equal to the
               value of HI, unless HI is 0.0 in which case all vectors are
               eligible. If LENGTH is set to 0.0, the length selected is
               one half the diagonal length of a grid cell assuming a
               linear mapping of the grid coordinate space into the
               viewport.

   ISPV        (INTEGER, input): Flag to control the special value
               feature. 0 means that the feature is not in use. 1 means
               that if the value of U(I,J)=SPV(1) the vector will not be
               plotted.  2 means that if the value of V(I,J)=SPV(2) the
               vector will not be plotted. 3 means that if either
               U(I,J)=SPV(1) or V(I,J)=SPV(2) then the vector will not be
               plotted. 4 means that if U(I,J)=SPV(1) and V(I,J)=SPV(2),
               the vector will not be plotted.

   SPV         (REAL array, dimensioned 2, input): An array of length 2
               which gives the value in the U array and the value in the V
               array which denote special values. This argument is ignored
               if ISPV=0. The default values are 1.0E12.

C-BINDING DESCRIPTION

   The C-binding argument descriptions are the same as the FORTRAN
   argument descriptions with the following exceptions:

   lu          The second dimension of u in the calling program.

   lv          The second dimension of v in the calling program.

   m           Number of contiguous elements along the second dimensional
               axis containing data to be processed in each of the arrays,
               u and v.

   n           Number of contiguous elements along the first dimensional
               axis containing data to be processed in each of the arrays,
               u and v.

USAGE

   Beginning with version 3.2 of NCAR Graphics, the VELVCT entry point has
   been recoded as a front end to the VVINIT/VVECTR interface to Vectors.
   The compatibility mode parameter, CPM, controls the degree to which a
   call to the Version 3.2 VELVCT emulates the older call. Appropriate
   settings of CPM can separately address each of the following three
   questions regarding the level of emulation:

   *      Should FX, FY, MXF, and MYF rather than the Version 3.2 mapping
          routines perform the mapping to user coordinates?

   *      Should the input arguments FLO, HI, NSET, LENGTH, ISPV, SPV
          override the current values of the corresponding Vectors'
          internal parameters?

   *      Should the values contained in the common blocks VEC1 and VEC2
          override the current values of corresponding Vectors' internal
          parameters?

   Given the default value of CPM, all these questions are answered in the
   affirmative, and a call to VELVCT gives a reasonably faithful emulation
   of the older version's behavior.

   However, even in this case, it is possible to use the parameter setting
   routines to control the behavior of features that have no counterpart
   in the older version of VELVCT, as long as the feature is accessible
   without calling the new interface. For instance, you could control the
   vector linewidth by setting the LWD parameter, although you could not
   draw vectors masked to an area map because doing so requires direct
   invocation of VVECTR

   The following two tables show how the VELVCT input arguments and
   VEC1/VEC2 common block members map into internal parameters currently
   supported by Vectors. (Consult the vectors_params man page for
   descriptions of the internal parameters.)

          Input Argument        Internal Parameter

          FLO                   VLC (VLC is set to -FLO if FLO is
                                positive, 0.0 otherwise)

          HI                    VHC (VHC is set to -HI if HI is positive,
                                0.0 otherwise)

          NSET                  SET (NSET = 0 is approximately equivalent
                                to SET = 1)

          LENGTH                VRL (LENGTH in Plotter Address Units is
                                converted to VRL as a fraction of the
                                viewport width)

          ISPV                  SVF

          SPV(1)                USV

          SPV(2)                VSV

          Common Block Member   Internal Parameter

          EXT                   VPS

          ICTRFG                VPO

          ILAB                  LBL

          IOFFD                 DPF

          RMN                   AMN (RMN in metacode coordinates is
                                converted to AMN as a fraction of the
                                viewport width)

          RMX                   AMX (RMX in metacode coordinates is
                                converted to AMX as a fraction of the
                                viewport width)

          SIZE                  LBS (Character size in metacode
                                coordinates is converted to LBS as a
                                fraction of viewport width)

          INCX                  XIN

          INCY                  YIN

          -                     MNT (When common blocks VEC1 and VEC2
                                override parameter settings, MNT is always
                                set to " ", indicating that the minimum
                                vector text block is not to be displayed.)

          IOFFM                 MXT (If IOFFM is non-zero, MXT is set to "
                                ", indicating that the maximum text block
                                is not to be displayed. Otherwise MXT is
                                set to the string "MAXIMUM VECTOR")

          IOFFM                 MXX (If IOFFM is 0, MXX is set to a
                                computed value that, as a fraction of the
                                viewport width, specifies a point 0.05 in
                                NDC left of the right hand edge of the
                                plotter frame.)

          IOFFM                 MXY (If IOFFM is 0, MXY is set to a
                                computed value that, as a fraction of the
                                viewport height, specifies a point 0.005
                                in NDC up from the bottom edge of the
                                plotter frame.)

          IOFFM                 MXP (If IOFFM is 0, MXP is set to -2,
                                indicating that the text block should be
                                lower-right justified.

Note that the emulation of the maximum vector text block differs from

   the older implementation in that it now uses high-quality text.

EXAMPLES

   Use the ncargex command to see the following relevant example: stex02,
   tvelvc.

ACCESS

   To use VELVCT or c_velvct, load the NCAR Graphics libraries ncarg,
   ncarg_gks, and ncarg_c, preferably in that order.

SEE ALSO

   Online: vectors, vectors_params, fx, vvectr, vvgetc, vvgeti, vvgetr,
   vvinit, vvrset, vvsetc, vvseti, vvsetr, vvudmv, vvumxy, ncarg_cbind.

COPYRIGHT

   Copyright (C) 1987-2009
   University Corporation for Atmospheric Research

   The use of this Software is governed by a License Agreement.





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.