AGSTUP(3NCARG)

πŸ’– AGSTUP β€” the set-up era πŸ’–

NCAR GRAPHICS, bestie. This one's from the 3NCARG section, and it's lowkey the opening act for the whole Autograph curve situation. ✨

πŸŽ€ NAME πŸŽ€

AGSTUP does the "set-up" tasks you gotta do before AGBACK and AGCURV are even allowed to show up. Basically, AGSTUP looks at the current values of the primary control parameters and vibe-checks them for errors, then computes β€” from those parameters and from its own arguments β€” the values of the secondary control parameters. Those primary + secondary control parameters together decide how AGBACK and AGCURV are gonna behave. It's giving main character energy for the whole plot. πŸ’…


✨ SYNOPSIS ✨

 CALL AGSTUP (XDRA,NVIX,IIVX,NEVX,IIEX,YDRA,NVIY,IIVY,
+ NEVY,IIEY)

πŸ¦‹ C-BINDING SYNOPSIS πŸ¦‹

#include <ncarg/ncargC.h>

void c_agstup (float *xdra, int nvix, int iivx, int nevx, \
int iiex, float *ydra, int nviy, int iivy, int nevy, \
int iiey)

🌸 DESCRIPTION 🌸

OK so here's the tea. The first five arguments of AGSTUP only matter if at least one of 'X/MINIMUM.' and 'X/MAXIMUM.' has the value "null 1" or "null 2" β€” that's the signal that Autograph is supposed to figure out the minimum and/or maximum X coordinate in your data all by itself. Same deal for the second five arguments: they only matter if at least one of 'Y/MINIMUM.' and 'Y/MAXIMUM.' has the value "null 1" or "null 2". 🫢

  • XDRA β€” an input array of type REAL, dimensioned as implied by the next four arguments. It holds your user X coordinates. πŸ’œ
  • NVIX β€” an input expression of type INTEGER: the number of "vectors" of data from XDRA to be considered when computing the minimum and/or maximum X values.
  • IIVX β€” an input expression of type INTEGER: the index increment between two "vectors" in XDRA. The 1st element of the first vector is XDRA(1), the 1st element of the second vector is XDRA(1+IIVX), the 1st element of the third vector is XDRA(1+IIVX*2), etc.
  • NEVX β€” an input expression of type INTEGER: the number of elements of each vector in XDRA to be considered when computing the minimum and/or maximum X values.
  • IIEX β€” an input expression of type INTEGER: the index increment between two consecutive elements of a vector in XDRA. The second element of the 1st vector is XDRA(1+IIEX), the third element of the 1st vector is XDRA(1+IIEX*2), etc. If IIEX has the value 0, the contents of XDRA are ignored completely β€” the minimum and maximum X values are then considered to be "1." and FLOAT(NEVX), respectively. 😌
  • YDRA, NVIY, IIVY, NEVY, and IIEY β€” used similarly, but they define the user Y coordinates. 🌈

Some examples, and yes you're gonna want these:

X array    Data to use                  XDRA     NVIX   IIVX   NEVX   HEX
-------    -----------                  ----     ----   ----   ----   ---

X(100)     all data                     X(1)     1      -      100    1
           (X(I),I=1,99,2)              X(1)     1      -      50     2
           (X(I),I=51,99,2)             X(51)    1      -      25     2
X(10,10)   all data                     X(1,1)   10     10     10     1
                                        X(1,1)   1      -      100    1
           ((X(I,J),I=1,10),J=1,6)      X(1,1)   6      10     10     1
                                        X(1,1)   10     1      6      10
                                        X(1,1)   -      60     1
           ((X(I,J),I=3,7),J=3,9)       X(3,3)   7      10     5      1
                                        X(3,3)   5      1      7      10
           ((X(I,J),I=3,7,4),J=3,9,3)   X(3,3)   3      30     2      4
none       1., 2., . . ., 62.           -        -      -      62     0
Note: the character "-" is used above to indicate an argument which is ignored and may be given a dummy value. πŸ™ˆ

Normally, the X and Y coordinate data you tender to AGSTUP is the same data you're gonna use later to draw curves. But like... it does not have to be. πŸ‘€ For example, you could call AGSTUP with a two-word XDRA (setting NVIX=1, IIVX=1, NEVX=2, and IIEX=1) containing a desired minimum and maximum to be used, straight up disregarding the real data. Periodt.

If 'INVERT.' is given the value "1." (in place of its default value "0."), AGSTUP will behave as if its first five arguments had been interchanged with its last five, so that X-coordinate values refer to vertical distances and Y-coordinate values refer to horizontal distances on the graph. This parameter affects AGCURV in a similar manner, which is what lets you plot "X as a function of Y". πŸ”₯


πŸ’« C-BINDING DESCRIPTION πŸ’«

The C-binding argument descriptions are the same as the FORTRAN argument descriptions. No cap, identical. πŸ’―


🧚 EXAMPLES 🧚

Use the ncargex command to see the following relevant examples: agex13, cbex01. Go look at 'em, bestie, they're iconic. ⭐


πŸ‘‘ ACCESS πŸ‘‘

To use AGSTUP or c_agstup, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β€” preferably in that order. 🫧

To get smoother curves, drawn using spline interpolation, also load libdashsmth.o. Or, you can use the ncargf77 command to compile your program and load the above libraries, then, to get smoother curves, use the -dashsmth option. Slay. πŸ’…


πŸ“ MESSAGES πŸ“

See the autograph man page for a description of all Autograph error messages and/or informational messages. That's where the receipts live. πŸ“œ


🌈 SEE ALSO 🌈

Online: autograph, agback, agbnch, agchax, agchcu, agchil, agchnl, agcurv, agdshn, aggetc, aggetf, aggeti, aggetp, aggetr, agpwrt, agrstr, agsave, agsetc, agsetf, agseti, agsetp, agsetr, agutol, anotat, displa, ezmxy, ezmy, ezxy, ezy

Hardcopy: NCAR Graphics Fundamentals, UNIX Version


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 β€” AGSTUP(3NCARG) in all its glory, straight outta the UNIX manual, dated March 1993. Old but gold, fr fr. Go set up those curves. πŸŽ€βœ¨πŸ¦‹