CPLBAM(3NCARG)
π CPLBAM π
okay bestie, first things first: this page lives in section 3NCARG of the manual, aka the NCAR GRAPHICS corner of the universe. and we're talking about CPLBAM. she's a FORTRAN routine. she's iconic. let's get into it. β¨
β¨ NAME β¨
CPLBAM β she adds label boxes to an area map. which label boxes, you ask? all of them, bestie:
- the informational label box
- the high label boxes
- the low label boxes
- the contour-line label boxes
and why do we care? because the ultimate object of this whole operation is usually to stop contour lines drawn by CPCLDM from passing straight through your labels π€ (rude of them, honestly), or to stop the label boxes from getting filled in when contour bands are being filled. it's giving protect the labels at all costs. π«Ά
β¨ SYNOPSIS β¨
CALL CPLBAM (ZDAT, RWRK, IWRK, IAMA)
β¨ C-BINDING SYNOPSIS β¨
#include <ncarg/ncargC.h>
void c_cplbam (float *zdat, float *rwrk, int *iwrk,
int *iama)
β¨ DESCRIPTION β¨
okay so the first three arguments are arrays that were used in the last call to CPRECT, CPSPS1, or CPSPS2. and here's the thing β their contents must NOT have been changed since that call. no cap. don't touch them. hands off. π
ZDATβ (REAL array, dimensioned as specified in the last call toCPRECT,CPSPS1, orCPSPS2, input) this is your data array, the main character. πRWRKβ (REAL array, dimensioned as specified in the last call toCPRECT,CPSPS1, orCPSPS2, input/output) the real workspace array. she gets read from and written to, she does it all.IWRKβ (INTEGER array, dimensioned as specified in the last call toCPRECT,CPSPS1, orCPSPS2, input/output) the integer workspace array. same deal, in and out.IAMAβ (INTEGER array, dimensioned as specified in a call toARINAM) the array holding the area map, and likeβ¦ the label boxes are getting added to this one. this is the destination, bestie. π
πΈ C-BINDING DESCRIPTION πΈ
the C-binding argument descriptions are literally the same as the FORTRAN argument descriptions. no notes. same vibe, different language. β¨
β¨ USAGE β¨
so CPLBAM adds label boxes to an area map, and you can call her at any time after the initialization call to CPRECT, CPSPS1, or CPSPS2. whenever you're ready, she's ready. π
BUT β plot twist β if during that last call to CPRECT, CPSPS1, or CPSPS2 the data being contoured turned out to be essentially constant? then only the box for the constant field label gets added to the area map. that's it. that's the whole list. π
otherwise (the normal case, the interesting case), boxes get added for the informational label, the high and low labels, and/or the contour line labels, like this:
- a box for the informational label is added only if the parameter
'ILT', which specifies the text of that label, is non-blank. blank text = no box. simple as. - boxes for the high labels are added only if the parameter
'HIT', which specifies the text of those labels, is non-blank. - boxes for the low labels are added only if the parameter
'LOT', which specifies the text of those labels, is non-blank. - boxes for the contour line labels are added only if the parameter
'LLP', which specifies how those labels are to be positioned, has an absolute value of 2 or 3 β and only if, for someIbetween1and'NCL', inclusive, theIth element of the parameter array'CLU'has a value implying that contour lines at the contour level specified by theIth element of'CLV'are to be labeled.
lowkey that last one is a whole sentence but every word of it is load-bearing.'LLP'absolute value of2or3,Ifrom1to'NCL','CLU'elementI,'CLV'elementI. periodt. π
β¨ EXAMPLES β¨
want to actually see this stuff? use the ncargex command, bestie, and check out these relevant examples:
ccpcldm, ccplbam, ccpllb, ccpllc, ccplll, ccpllo, ccpllp, ccpllt, ccpllw, ccppc, ccppc1, ccppc2, ccppc3, ccppc4, ccprc, ccpscam, colcon, cpex01, cpex02, cpex03, cpex04, cpex06, cbex01, vvex01, fcover, ffex03, ffex05.
that's a lot of examples and honestly? we love that for us. π
β¨ ACCESS β¨
to use CPLBAM or c_cplbam, you gotta load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β and preferably in that order. in that order!! don't freestyle the order, bestie. π
β¨ MESSAGES β¨
see the conpack man page for a description of all Conpack error messages and/or informational messages. she's got the receipts. π
β¨ SEE ALSO β¨
Online: conpack, cpback, cpchcf, cpchcl, cpchhl, cpchil, cpchll, cpcica, cpclam, cpcldm, cpcldr, cpcltr, cpcnrc, cpdrpl, cpezct, cpgetc, cpgeti, cpgetr, cplbdr, cpmpxy, cpmviw, cpmvrw, cppkcl, cppklb, cprect, cprset, cpscae, cpsetc, cpseti, cpsetr, cpsps1, cpsps2, 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, bestie!! π¦ this one came to you straight from the UNIX manual, dated March 1993, under the name CPLBAM(3NCARG) β yeah she's vintage, she's a classic, she's still slaying. πβ¨π
π¦ 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