Vectors(3NCARG)
π« Vectors π« (that's the NCAR Graphics one, bestie)
okay so listen. Vectors is the utility for making a vector field plot when you've got two arrays holding the vector components on a uniform grid. π¦
And here's the cute part: you can also hand it a third array of scalar data defined over that same grid space β independent of the vector data, but presumably related to it somehow, iykyk. Then the utility will color each vector based on the scalar value at that grid point. OR, if that's not your vibe, you can color the vectors based on vector magnitude instead. Choices!! β¨
πΈ SYNOPSIS πΈ
These two calls are the bare minimum to make a vector field plot with the current interface, no cap:
VVINITβ does all the initialization so thatVVECTRcan interpret your input array data properly. It stores the data array sizes, sets up various coordinate system mappings, and processes the input arrays to find the max and min values. And if vector coloring is enabled and you haven't explicitly taken control, it establishes a linearly scaled color threshold array. πVVECTRβ renders the vectors, based on the conditions set up byVVINITplus whatever the current values of the user-modifiable internal parameters are. That's the moment.
Every user-modifiable internal parameter has a default value, so you only need to set the ones that are gonna be different from the default. The routines that set Vectors parameters are:
VVRSETβ resets ALL internal parameters back to their default values. Factory reset energy.VVSETCβ assigns a value of typeCHARACTERto a parameter.VVSETIβ assigns a value of typeINTEGERto a parameter.VVSETRβ assigns a value of typeREALto a parameter.
In general, once a parameter gets a value from one of these routines, it keeps that value until a similar call resets it. π And to read a parameter's value back, you call one of these:
VVGETCβ returns a parameter value of typeCHARACTER.VVGETIβ returns a parameter value of typeINTEGER.VVGETRβ returns a parameter value of typeREAL.
Vectors also supports three obsolete routines for compatibility with old NCAR Graphics codes. The compatibility mode parameter, CPM, offers a bunch of options that give you considerable flexibility while transitioning to the new version of the utility. But when you're writing new code, please please please don't use these entry points β they provide less capability than the standard Vectors interface, and they may eventually be phased out. π
VELVCTβ the principal entry point before Version 3.2, now a front end to theVVINIT/VVECTRinterface.EZVECβ front end toVELVCT: a simpler interface for standard situations, for when you don't need detailed control of the plot.VELVECβ older version ofVELVCTand now also a front end to it. It differs from theVELVCTcall only in that it contains one less input argument in its calling sequence.
π C-BINDING SYNOPSIS π
c_vvinit
c_vvectr
c_vvrset
c_vvsetc
c_vvseti
c_vvsetr
c_vvgetc
c_vvgeti
c_vvgetr
c_velvct
c_ezvec
c_velvec
π USER-MODIFIABLE INTERNAL ROUTINES π
β οΈ These routines are not to be called directly. But you may modify them to customize the behavior of Vectors.VVUMXYis there to support user-defined mapping transformations, andVVUDMVlets you tailor vector masking to your requirements.
VVUMXYβ performs a user-definable mapping of vector position and direction from data coordinate space to normalized device coordinate space. β¨VVUDMVβ the default name of a routine used to draw vectors masked to an area map.VVUDMVdecides which segments of a vector to draw depending on the area group and group identifier arrays passed to it.
π ACCESS π
To use Vectors, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β preferably in that order, bestie. π«Ά
π MESSAGES π
Here, in alphabetical order, are all the error messages Vectors may write. Each one starts with the name of the Vectors routine where the error was detected, then a dash, then the message itself. These get written by a call to the error-handling support routine SETER, with a final argument saying the error is fatal and execution should be terminated. π
VVECTR - TOO MANY AREA GROUPS
The area map passed as the argument, IAM, to VVECTR contains more area groups than the Vectors utility allows β currently 64. This error can only occur if the Mask to Area Map parameter, MSK, has a value greater than 0, meaning vectors are to be drawn masked to an area map.
VVECTR - INVALID AREA MAP
The area map passed as the argument, IAM, to VVECTR is judged invalid because it contains a negative value for the number of area groups. This error can only occur if the Mask to Area Map parameter, MSK, has a value greater than 0, meaning vectors are to be drawn masked to an area map.
VVGETC - PARAMETER NAME NOT KNOWN - x
The given parameter name (Β΄xΒ΄) is not a legal parameter name known to Vectors.
VVGETC - PARAMETER NAME TOO SHORT - x
The parameter name ("x") is less than three characters long.
VVGETI OR VVGETR - GETTING x - PAI INCORRECT
An attempt has been made to get an element of the parameter array named Β΄xΒ΄ and the current value of PAI (the "parameter array index") is inappropriate for that parameter array.
VVGETI OR VVGETR - PARAMETER NAME NOT KNOWN - x
The given parameter name (Β΄xΒ΄) is not a legal parameter name known to Vectors.
VVGETI OR VVGETR - PARAMETER NAME TOO SHORT - x
The parameter name ("x") is less than three characters long.
VVINIT - U AND/OR V ARRAY DIMENSIONS EXCEEDED
The VVINIT input argument, M, specifying the number of array elements to use along the first dimension of the U and V (and possibly P) arrays, exceeds the actual first dimension of U and/or V, as specified by the input arguments LU and LV.
VVINIT - SCALAR ARRAY TOO SMALL
The value given to LP, the VVINIT input argument specifying the actual first dimension of the scalar data array, P, is less than M, the input argument specifying the number of array elements to use along the first dimension for all of the input arrays. This error can only occur when the absolute value of the Color Threshold Level control parameter, CTV, is set to 2, meaning coloring is to be performed according to values contained in the scalar data array, P.
VVSETC - PARAMETER NAME NOT KNOWN - x
The given parameter name (Β΄xΒ΄) is not a legal parameter name known to Vectors.
VVSETC - PARAMETER NAME TOO SHORT - x
The parameter name ("x") is less than three characters long.
VVSETI OR VVSETR - PARAMETER NAME NOT KNOWN - x
The given parameter name (Β΄xΒ΄) is not a legal parameter name known to Vectors.
VVSETI OR VVSETR - PARAMETER NAME TOO SHORT - x
The parameter name ("x") is less than three characters long.
VVSETI OR VVSETR - PARAMETER VALUE OUT OF RANGE - x
An attempt has been made to set the parameter named Β΄xΒ΄ to a value outside the range allowed by the Vectors utility.
VVSETI OR VVSETR - SETTING x - PAI INCORRECT
An attempt has been made to set an element of the parameter array named Β΄xΒ΄ and the current value of PAI (the "parameter array index") is inappropriate for that parameter array.
π₯ SEE ALSO π₯
Online: vectors_params, ezvec, velvec, velvct, fx, fy, vvectr, vvgetc, vvgeti, vvgetr, vvinit, vvrset, vvsetc, vvseti, vvsetr, vvudmv, vvumxy, ncarg_cbind.
Hardcopy: NCAR Graphics Fundamentals, UNIX Version
π COPYRIGHT π
Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.
and that's the whole page, bestie, go slay your vector field π§π
NCAR Graphics Β· UNIX Β· April 1993 Β· Vectors(3NCARG) β mwah, thanks for reading, ily, periodt. π
π¦ where this page comes from
- debian bookworm: libncarg-dev 6.6.2.dfsg.1-1
- debian trixie: libncarg-dev 6.6.2.dfsg.1-10+b2
- ubuntu jammy: libncarg-dev 6.6.2-10build2
- ubuntu questing: libncarg-dev 6.6.2.dfsg.1-10build2
- ubuntu resolute: libncarg-dev 6.6.2.dfsg.1-12
- ubuntu stonking: libncarg-dev 6.6.2.dfsg.1-12build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms