SUPMAP(3NCARG)

πŸ“¦ version 6.6.2, in epel 9, fedora 43, fedora 44

✨ SUPMAP ✨ (that's SUPMAP(3NCARG), bestie, from the NCAR GRAPHICS fam πŸŽ€)

πŸ’– NAME πŸ’–

Draws a map with a single call. It's literally an implementation of the routine that EZMAP grew out of β€” like, EZMAP is the glow-up and SUPMAP is the origin story. πŸ¦‹


🌸 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 so let's go through the arguments one by one, no skipping, we're doing this properly πŸ’…

  • JPRJ β€” (input expression, of type INTEGER) tells us the projection type AND whether or not continental outlines get plotted, like so:
    • IABS(JPRJ) is the projection type, fr fr. And heads up: values less than 1 or greater than 10 are treated as 1 or 10, respectively. So it clamps. Periodt.
β€” actually bestie, no tables, so here's the list:
  • IABS(JPRJ) = 1 β€” Stereographic.
  • IABS(JPRJ) = 2 β€” Orthographic.
  • IABS(JPRJ) = 3 β€” Lambert conformal conic.
  • IABS(JPRJ) = 4 β€” Lambert equal area.
  • IABS(JPRJ) = 5 β€” Gnomonic.
  • IABS(JPRJ) = 6 β€” Azimuthal equidistant.
  • IABS(JPRJ) = 7 β€” Satellite view.
  • IABS(JPRJ) = 8 β€” Cylindrical equidistant.
  • IABS(JPRJ) = 9 β€” Mercator.
  • IABS(JPRJ) = 10 β€” Mollweide-type.
🚨 Using the value 2 causes the EZMAP parameter 'SA' to be zeroed. ('SA', if greater than 1., 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.)
πŸ›°οΈ Using the value 7 causes '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 to 6.631, which is about right for a satellite in a geosynchronous equatorial orbit. iconic tbh.
  • The sign of JPRJ, when IOUT is -1, 0, or +1, indicates whether the continental outlines are to be plotted or not. See IOUT, below. iykyk.
  • PLAT, PLON, and ROTA β€” (input expressions, of type REAL) 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 routine MAPROJ (which see β€” go look at it bestie).
  • JLTS β€” (input expression, of type INTEGER), and PLM1, PLM2, PLM3, and PLM4 (input arrays, dimensioned 2, of type REAL) specify the rectangular limits of the map. These arguments are used in the same way as they would be in a call to MAPSET (which see), except that JLTS is an integer instead of a character string. IABS(JLTS) may take on the values 1 through 5, like:
    • IABS(JLTS) = 1 β€” equivalent character string in a call to MAPSET: 'MA' β€” maximal area desired.
    • IABS(JLTS) = 2 β€” equivalent character string in a call to MAPSET: 'CO' β€” corner points given in PLM1, PLM2, PLM3, and PLM4.
    • IABS(JLTS) = 3 β€” equivalent character string in a call to MAPSET: 'LI' β€” U/V limits given in PLM1, PLM2, PLM3, and PLM4.
    • IABS(JLTS) = 4 β€” equivalent character string in a call to MAPSET: 'AN' β€” angles given in PLM1, PLM2, PLM3, and PLM4.
    • IABS(JLTS) = 5 β€” equivalent character string in a call to MAPSET: 'PO' β€” edge points given in PLM1, PLM2, PLM3, and PLM4.
πŸ•°οΈ At one time, the sign of JLTS specified 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 of JLTS is therefore ignored. RIP to that feature, you will not be missed apparently πŸ’€
  • JGRD β€” (input expression, of type INTEGER) is used in the following way: the value of "MOD(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. If JGRD is less than zero, the perimeter is not plotted. Set JGRD to -1000 to suppress both grid lines and perimeter and to +1000 to suppress the grid lines, but leave the perimeter.
⚠️ The value -0 may have a meaning on ones' complement machines, but should be avoided; use -1000 instead. fr fr, don't do the -0 thing.
  • IOUT β€” (input expression, of type INTEGER) has the value 0 to suppress U.S. state outlines, and the value -1 or +1 to plot U.S. state outlines. In both of these cases, the sign of JPRJ indicates whether continental outlines are to be plotted (JPRJ positive) or not (JPRJ negative).

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, like so:

  • IOUT -2 or less β€” 'NO' (no outlines)
  • IOUT 2 β€” 'CO' (continental outlines)
  • IOUT 3 β€” 'US' (U.S. state outlines)
  • IOUT 4 β€” 'PS' (continental outlines plus international outlines plus U.S. state outlines)
  • IOUT 5 or 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. gone but not forgotten, bestie.
  • IDOT β€” (input expression, of type INTEGER) is a 0 to get continuous outlines, a 1 to get dotted outlines. pick your vibe ✨
  • IERR β€” (output variable, of type INTEGER) is the only output parameter. A non-zero value indicates that an error has occurred. The section "ERROR CONDITIONS" lists the possible values of IERR. πŸ‘€

🫢 C-BINDING DESCRIPTION 🫢

The C-binding argument descriptions are the same as the FORTRAN argument descriptions. Same energy, different syntax, we love consistency. πŸ’–


🌈 EXAMPLES 🌈

Use the ncargex command to see the following relevant examples: caredg, cmpgci, cmpsup, mpex03, mpex08, mpexfi, bnchmk, stex03, vvex02. go look at them, they're giving reference material πŸ’…

⭐ ACCESS ⭐

To use SUPMAP or c_supmap, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. order matters, don't be chaotic (unless it's cute chaos, but not here).

πŸ¦‹ 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

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, no notes πŸ’… the source is that UNIX manpage fam, version SUPMAP(3NCARG), dated March 1993 β€” yes she's vintage, yes she still ate πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from