ARDBPA(3NCARG)
π ARDBPA β bestie edition π
okay so this is ARDBPA, straight out of the NCAR GRAPHICS manual (that's the 3NCARG section, iykyk). it's a FORTRAN-callable routine that draws you a picture of every edge segment in an area map for a group you pick. genuinely iconic debugging energy. let's get into it π¦
β¨ NAME β¨
ARDBPA β produces a plot showing all of the edge segments in an area map that have a specified group identifier IGRP; if IGRP is less than or equal to zero, all groups are included. such plots allow one to debug problems with an area map. fr fr, it's the vibe check for your area map. π
β¨ SYNOPSIS β¨
CALL ARDBPA (MAP,IGRP,LABEL)
π C-BINDING SYNOPSIS π
#include <ncarg/ncargC.h>
void c_ardbpa (int *map, int igrp, char *label)
β¨ DESCRIPTION β¨
MAPβ (an input/output array of typeINTEGER) β an array containing an area map that has at least been initialized by a call toARINAMand to which edges will <emphasis>probably</emphasis> have been added by calls toAREDAM.
note bestie: as part of initializing the area map,ARINAMstores the dimension ofMAPinMAP(1); therefore, the dimension does not have to be given as an argument in calls toARDBPA. it already knows. she's self-aware. π
IGRPβ (an input expression of typeINTEGER) β the group identifier of the group that you want to examine. ifIGRPis less than or equal to zero, edges from all groups will be shown.LABELβ (an input constant or variable of typeCHARACTER) β the label you want put on the plot. your moment to shine, name your masterpiece π
πΈ C-BINDING DESCRIPTION πΈ
the C-binding argument descriptions are the same as the FORTRAN argument descriptions. periodt. π
β¨ USAGE β¨
when ARDBPA is called, it draws the requested picture and then calls FRAME to advance to a new frame. so it's a whole production, not just a sketch. π¬
by default, each edge segment in the plot appears in one of four different colors, depending on whether the area identifiers to the left and right are less than or equal to zero or greater than zero, as follows:
- Magenta β left area identifier: less than or equal to
0β right area identifier: less than or equal to0 - Yellow β left area identifier: less than or equal to
0β right area identifier: greater than0 - Cyan β left area identifier: greater than
0β right area identifier: less than or equal to0 - White β left area identifier: greater than
0β right area identifier: greater than0
in some cases you may notice gray lines in your plot. this means that the same edge occurs in more than one group. in all but one of those groups, Areas negates the group identifier for the edge in the area map. this allows Areas to include the edge when it is looking at a particular group (as in ARPRAM), but omit it when it is looking at the union of all the groups (as in ARSCAM). sneaky? no. intentional? yes. π
color indices DC+1 through DC+5 are used for the required colors. the default value of DC is 100, so, by default, ARDBPA redefines color indices 101 through 105. if this would result in colors that you have defined being redefined, you should change the value of DC to something else.
β οΈ warning bestie: this thing will absolutely stomp on your color indices if you don't move DC. protect your palette, protect your peace. π«Ά
nominally, each edge segment is shown with an arrowhead, indicating the order in which the points defining the edge segment occur in the area map and therefore which side of the edge segment is to the left and which side is to the right. in regions where putting an arrowhead on each edge segment would result in too much clutter, some of them may be omitted. (she's tidy, she knows when to chill. β¨)
the left and right area identifiers for each edge segment are written in the appropriate positions relative to the edge segment. also, if IGRP is less than or equal to zero, the group identifier for each edge segment is written on the segment itself. these identifiers are intentionally written using very small characters; the idea is that you can look at the whole plot to get some idea of possible problem regions; when such a region is found, you can enlarge it, using the "zoom" capability of "idt", for a closer look; at that point, the area identifiers become readable. it's giving squint now, zoom later π
if ARDBPA is used for a complicated area map, the amount of output can be very large. like, enormous. brace yourself. π
β¨ EXAMPLES β¨
use the ncargex command to see the following relevant examples: arex01, cardb2.
β¨ ACCESS β¨
to use ARDBPA or c_ardbpa, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. order matters bestie, don't freestyle it. π§
β¨ SEE ALSO β¨
Online: areas, areas_params, ardrln, aredam, argeti, argetr, argtai, arinam, armvam, arpram, arscam, arseti, arsetr, ncarg_cbind
Hardcopy: NCAR Graphics Contouring and Mapping Tutorial
β¨ 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, no cap π this was the UNIX flavor of ARDBPA(3NCARG), dated April 1995 β yeah she's vintage, she's still serving. bye bestie, go debug that area map πππ
π¦ 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