SUPMAP(3NCARG)
π SUPMAP β the NCAR Graphics bestie π
okay so before we even get into it: this is SUPMAP, from the NCAR Graphics crew. It draws an entire map in a single call β like, one (1) call, bestie, and the whole map is there. It's literally the ancestor routine that EZMAP grew out of. The OG. The blueprint. We love a founding mother moment. π
This page lives in the 3NCARG manual, and yes, we're keeping every last detail because I would never gatekeep a flag from you. π«Ά
πΈ NAME πΈ
Supmap β draws a map with a single call. It's the implementation of the routine from which EZMAP grew. Iconic lineage, fr fr.
β¨ SYNOPSIS β¨
CALL SUPMAP (JPRJ, PLAT, PLON, ROTA, PLM1, PLM2, PLM3,
+ PLM4, JLTS, JGRD, IOUT, IDOT, IERR)
π¦ C-BINDING SYNOPSIS π¦
#include <ncarg/ncargC.h>
void c_supmap (int jprj, float plat, float plon,
float rota, float *plm1, float *plm2, float *plm3,
float *plm4, int jlts, int jgrd, int iout, int idot,
int *ierr)
π DESCRIPTION π
okay bestie, buckle up, there's a LOT of arguments and every single one of them matters. No skipping. We're doing this properly.
JPRJβ (input expression, of typeINTEGER) this one defines the projection type, and also tells you whether continental outlines get plotted or not. Here's the tea:IABS(JPRJ)defines the projection type, like so. Heads up: values less than 1 or greater than 10 are treated as 1 or 10, respectively. (So no, you can't sneak in an 11 and get something spicy. It's just a 10. π« )1β Stereographic.2β Orthographic.3β Lambert conformal conic.4β Lambert equal area.5β Gnomonic.6β Azimuthal equidistant.7β Satellite view.8β Cylindrical equidistant.9β Mercator.10β Mollweide-type.
Using the value2causes theEZMAPparameter'SA'to be zeroed. ('SA', if greater than1., says that a satellite-view projection, rather than an orthographic projection, is to be used, and specifies the distance of the satellite from the center of the earth, in units of earth radii.) So yeah β value 2 zeroes that out. Not a drill.
Using the value7causes'SA'to be examined. If it has a non-zero value, the value is left alone. If it has a zero value, its value is reset to6.631, which is about right for a satellite in a geosynchronous equatorial orbit. πβ¨
- The sign of
JPRJ, whenIOUTis-1,0, or+1, indicates whether the continental outlines are to be plotted or not. SeeIOUT, below. π
PLAT,PLON, andROTAβ (input expressions, of typeREAL) these define the origin of the projection and its rotation angle, and they're used in the same way as they would be in a call to the routineMAPROJ(which see). Go readMAPROJ, bestie, it's all there.JLTSβ (input expression, of typeINTEGER) andPLM1,PLM2,PLM3, andPLM4(input arrays, dimensioned2, of typeREAL) specify the rectangular limits of the map. These arguments are used in the same way as they would be in a call toMAPSET(which see), except thatJLTSis an integer instead of a character string.IABS(JLTS)may take on the values1through5, as follows:1β'MA'β maximal area desired.2β'CO'β corner points given inPLM1,PLM2,PLM3, andPLM4.3β'LI'β U/V limits given inPLM1,PLM2,PLM3, andPLM4.4β'AN'β angles given inPLM1,PLM2,PLM3, andPLM4.5β'PO'β edge points given inPLM1,PLM2,PLM3, andPLM4.
At one time, the sign ofJLTSspecified whether or not a line of text was to be written at the bottom of the plot produced. This line may no longer be written and the sign ofJLTSis therefore ignored. rip to that feature, you will not be missed (affectionately). π
JGRDβ (input expression, of typeINTEGER) is used in the following way: the value ofMOD(IABS(JGRD),1000)is the value, in degrees, of the interval at which lines of latitude and longitude are to be plotted. If the given interval is zero, grid lines and labels are not plotted. IfJGRDis less than zero, the perimeter is not plotted. SetJGRDto-1000to suppress both grid lines and perimeter, and to+1000to suppress the grid lines but leave the perimeter.
β οΈ The value-0may have a meaning on ones' complement machines, but should be avoided; use-1000instead. Do not be cute with-0. I am begging. π
IOUTβ (input expression, of typeINTEGER) has the value0to suppress U.S. state outlines, and the value-1or+1to plot U.S. state outlines. In both of these cases, the sign ofJPRJindicates whether continental outlines are to be plotted (JPRJpositive) or not (JPRJnegative).
Originally, SUPMAP recognized only these values of IOUT; now, if IOUT is less than 0 or greater than 1, the sign of JPRJ is ignored, and IOUT selects an outline group, as follows:
-2or less β'NO'(no outlines)2β'CO'(continental outlines)3β'US'(U.S. state outlines)4β'PS'(continental outlines plus international outlines plus U.S. state outlines)5or greater β'PO'(continental outlines plus international outlines)
At one time, the sign of IOUT specified whether or not a line of text was to be written on the print output unit. This may no longer be done. Another legacy feature, gone but not forgotten. π―οΈ
IDOTβ (input expression, of typeINTEGER) is a0to get continuous outlines, a1to get dotted outlines. That's it. That's the whole thing. Pick your aesthetic. πIERRβ (output variable, of typeINTEGER) is the only output parameter. A non-zero value indicates that an error has occurred. The section"ERROR CONDITIONS"lists the possible values ofIERR. (Go check that section, bestie, don't leave me hanging.)
π C-BINDING DESCRIPTION π
The C-binding argument descriptions are the same as the FORTRAN argument descriptions. Copy, paste, slay. Same energy, different language. π
π EXAMPLES π
Use the ncargex command to see the following relevant examples: caredg, cmpgci, cmpsup, mpex03, mpex08, mpexfi, bnchmk, stex03, vvex02.
That's the list. All nine. Go run them. πβοΈ
π₯ ACCESS π₯
To use SUPMAP or c_supmap, 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: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod, mapfst, mapgci, mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint, mapiq, mapiqa, mapiqd, mapiqm, mapit, mapita, mapitd, mapitm, maplbl, maplmb, maplot, mappos, maproj, maprs, maprst, mapsav, mapset, mapstc, mapsti, mapstl, mapstr, maptra, maptri, maptrn, mapusr, mapvec, mpchln, mpfnme, mpgetc, mpgeti, mpgetl, mpgetr, mpglty, mpiaty, mpifnb, mpilnb, mpiola, mpiosa, mpipai, mpipan, mpipar, mpisci, mplnam, mplndm, mplndr, mplnri, mpname, mprset, mpsetc, mpseti, mpsetl, mpsetr, supcon, ncarg_cbind
Hardcopy: NCAR Graphics Contouring and Mapping Tutorial
(that's a whole friend group right there, iykyk πΈ)
π COPYRIGHT π
Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.
okay that's the whole page!! no cap, nothing skipped, nothing summarized, every single flag accounted for. π
this was SUPMAP from NCAR Graphics, dated March 1993, living on the UNIX side of the 3NCARG manual. shoutout to the 1987-2009 copyright era, absolute legends, periodt. πβ¨ bye bestie, go draw a 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