NCARGEX(1NCARG)

πŸ¦‹ NCARGEX(1NCARG) πŸ¦‹

okay bestie, welcome to the NCAR GRAPHICS manual, section one β€” this is ncargex, and it's genuinely one of the most useful little gremlins in the whole toolkit. sit down, grab a snack πŸ“


πŸŽ€ NAME πŸŽ€

ncargex β€” NCAR Graphics Fortran and C Low-Level Utility Examples


✨ SYNOPSIS ✨

ncargex [-A] [-E] [-F] [-P] [-T]
[-U] [-C] [-Fortran] [-class] [-ps]
[-x11] [-W workstation_type] [-areas]
[-autograph] [-bivar] [-colconv] [-conpack]
[-conpackt] [-conran_family] [-conrec_family]
[-csagrid] [-cssgrid] [-dashline] [-dashpack]
[-dsgrid] [-ezmap] [-field_flow] [-fitgrid]
[-gflash] [-gks] [-gridall] [-halftone]
[-histogram] [-isosrfhr] [-isosurface] [-labelbar]
[-natgrid] [-ngmath] [-ngmisc] [-plotchar]
[-polypack] [-pwrite_family] [-scrolled_title]
[-seter] [-shgrid] [-softfill] [-spps]
[-streamlines] [-surface] [-tdpack] [-threed]
[-vaspackt] [-vectors] [-wmap] [-misc]
[-clean] [-n] [-ncarbd] [-noX11] [-onebyone]
example_name ...

πŸ’– DESCRIPTION πŸ’–

so here's the vibe: ncargex hands you access to over 300 complete example NCAR Graphics Fortran and C source codes, and yes, that includes the examples from the NCAR Graphics Tutorial. it literally copies the source code for whatever example(s) you asked for into your current directory, and then it compiles, links, and runs the thing for you. queen behavior, honestly. πŸ‘‘

depending on the type of workstation you specify on the command line, the output can be any of these:

  • an NCGM (NCAR Graphics Metafile) file
  • one of many types of PostScript files
  • or a text dump

and plot twist: it's also possible for no output to be produced at all β€” that happens if you pick the "x11" workstation, in which case every frame gets displayed straight to its own separate X window right after it's generated. no file, just vibes on screen. πŸͺŸβœ¨

if you don't specify a workstation on the command line, it defaults to an "NCGM" β€” unless the example is one of the special ones, which we'll get into below.

if you pick one of the workstation types that produces an output file, then the file name is gonna be the same as the example name with an appropriate suffix tacked on the end: .ncgm, .txt, .ps, etc. so like, the name is giving "same but with a little bow on it." πŸŽ€


certain examples were created to demonstrate one particular function β€” like how to rename your metafile from inside the program, how to use the full page when you're going to PostScript output, how to use the X11 driver and produce a graphic file at the same time, etc. if the example you ask for is one of these, a message gets printed to that effect so you're alerted. not a jump scare, just a heads up. πŸ’…


now, the practical part: to run ncargex, you must have your NCARG_ROOT environment variable set to the parent directory where the NCAR Graphics libraries, binaries, and include files were installed. if that environment variable isn't set, ncargex will attempt to set it for you. 🫢

but if the NCAR Graphics libraries, binaries, and include files were not installed under one parent directory, then you're gonna need to set the environment variables NCARG_LIB, NCARG_BIN, and NCARG_INCLUDE instead. please see man ncargintro for more info. iykyk. πŸ“š


🌈 OPTIONS 🌈

  • -W workstation_type β€” specify the workstation type. this argument can be given as a number or as a string, where the number has the same value you'd use in a call to GOPWK. the following numbers are valid:
    • 1 β€” NCGM
    • 8 β€” X11 window.
    • 10 β€” text dump of graphics output.
    • 20 β€” color PostScript in portrait mode.
    • 21 β€” color Encapsulated PostScript (EPS) in portrait mode.
    • 22 β€” color Encapsulated PostScript Interchange format (EPSI) in portrait mode.
    • 23 β€” monochrome PostScript in portrait mode.
    • 24 β€” monochrome Encapsulated PostScript (EPS) in portrait mode.
    • 25 β€” monochrome Encapsulated PostScript Interchange format (EPSI) in portrait mode.
    • 26 β€” color PostScript in landscape mode.
    • 27 β€” color Encapsulated PostScript (EPS) in landscape mode.
    • 28 β€” color Encapsulated PostScript Interchange format (EPSI) in landscape mode.
    • 29 β€” monochrome PostScript in landscape mode.
    • 30 β€” monochrome Encapsulated PostScript (EPS) in landscape mode.
    • 31 β€” monochrome Encapsulated PostScript Interchange format (EPSI) in landscape mode.

if you wanna specify the workstation as a string instead, there are a few ways to do it. for example, these workstation types are valid:

  • ncgm β€” NCGM
  • x11 β€” X11 window
  • text β€” text dump of graphics output

for PostScript output there are more attributes to play with: the type of PostScript file you want (ps, eps, or epsi), whether you want color or monochrome (color or mono), and whether you want portrait or landscape mode (port or land). the orientation and the color preference can both be omitted (since they'll default to port and color respectively), but you must specify the PostScript file type. each attribute can be entered in any order, separated by periods. here are some examples of valid PostScript workstation types:

  • ps.color β€” color PostScript in portrait mode.
  • land.eps.mono β€” monochrome Encapsulated PostScript format (EPS) in landscape mode.
  • epsi β€” color Encapsulated PostScript Interchange format (EPSI) in portrait mode.
  • port.mono.ps β€” monochrome PostScript in portrait mode.

any combination of these three types of attributes can be used, as long as one of them is the PostScript file type. periodt. πŸ’…

  • -A β€” generate all available C/Fortran examples, tests, programmer doc, fundamental and tutorial examples. the everything bagel. πŸ₯―
  • -E β€” generate all available C/Fortran examples.
  • -F β€” generate all available fundamental C/Fortran examples.
  • -P β€” generate all available programmer doc C/Fortran examples.
  • -T β€” generate all available tests.
  • -U β€” generate all available tutorial C/Fortran examples.
  • -C β€” generate all available C examples.
  • -Fortran β€” generate all available Fortran examples.
  • -class β€” generate all available class C/Fortran examples.
  • -ps β€” generate all C/Fortran examples that use the PostScript driver.
  • -x11 β€” generate all C/Fortran examples that use the X11 driver.
  • -areas β€” generate all Areas C/Fortran examples.
  • -autograph β€” generate all Autograph C/Fortran examples.
  • -bivar β€” generate all bivar C/Fortran examples.
  • -colconv β€” generate all Colconv C/Fortran examples.
  • -conpack β€” generate all Conpack C/Fortran examples.
  • -conpackt β€” generate all Conpackt C/Fortran examples.
  • -conran_family β€” generate all Conran Fortran examples.
  • -conrec_family β€” generate all Conrec Fortran examples.
  • -csagrid β€” generate all Ngmath Csagrid C/Fortran examples.
  • -cssgrid β€” generate all Ngmath Cssgrid C/Fortran examples.
  • -dashline β€” generate all Dashline C/Fortran examples.
  • -dashpack β€” generate all Dashpack C/Fortran examples.
  • -dsgrid β€” generate all Ngmath Dsgrid C/Fortran examples.
  • -ezmap β€” generate all Ezmap C/Fortran examples.
  • -field_flow β€” generate all Field_flow C/Fortran examples. includes streamlines and vectors examples. two-for-one, obsessed. πŸ”₯
  • -fitgrid β€” generate all Ngmath Fitgrid C/Fortran examples.
  • -gflash β€” generate all Gflash C/Fortran examples.
  • -gks β€” generate all GKS C/Fortran examples.
  • -gridall β€” generate all Gridall C/Fortran examples.
  • -halftone β€” generate all Halftone Fortran examples.
  • -histogram β€” generate all Histogram C/Fortran examples.
  • -isosrfhr β€” generate all Isosrfhr Fortran examples.
  • -isosurface β€” generate all Isosurface C/Fortran examples.
  • -labelbar β€” generate all Labelbar C/Fortran examples.
  • -natgrid β€” generate all Ngmath Natgrid C/Fortran examples.
  • -ngmath β€” generate all Ngmath C/Fortran examples.
  • -ngmisc β€” generate all Ngmisc C/Fortran examples.
  • -plotchar β€” generate all Plotchar C/Fortran examples.
  • -polypack β€” generate all Polypack C/Fortran examples.
  • -pwritx_family β€” generate all Pwrite Fortran examples.
  • -scrolled_title β€” generate all Scrolled title C/Fortran examples.
  • -seter β€” generate all Seter C/Fortran examples.
  • -shgrid β€” generate all Ngmath Shgrid C/Fortran examples.
  • -softfill β€” generate all Softfill C/Fortran examples.
  • -spps β€” generate all SPPS C/Fortran examples.
  • -streamlines β€” generate all Streamlines C/Fortran examples.
  • -surface β€” generate all Surface C/Fortran examples.
  • -tdpack β€” generate all Tdpack C/Fortran examples.
  • -threed β€” generate all Threed C/Fortran examples.
  • -vaspackt β€” generate all Vaspackt C/Fortran examples.
  • -vectors β€” generate all Vectors C/Fortran examples.
  • -wmap β€” generate all Weather map C/Fortran examples.
  • -misc β€” generate all miscellaneous C/Fortran examples.
  • -clean β€” remove everything but the .ncgm file. decluttering icon 🧹✨
  • -n β€” specifies that the example should not be compiled, linked, or run β€” just copied into your local directory. look, don't touch. πŸ™ˆ
  • -ncarbd β€” use this option for compilers that appear to be having trouble initializing blockdata variables. it will cause one or two small subroutines to be linked in that helps force the loading of blockdata initialization routines.
  • -ngmathbd β€” use this option for compilers that appear to be having trouble initializing blockdata variables. it will cause a small subroutine to be linked in that helps force the loading of blockdata initialization routines.
note: this option doesn't need to be specified separately if you're already including the -ncarbd and -ngmath options.
  • -noX11 β€” do not link in the X library when linking the selected examples and/or tests. a stub will be linked instead.
  • -onebyone β€” specifies that the selected examples and/or tests should be generated one at a time and viewed as they are generated. this is intended for use during testing of new releases at NCAR.

below is a list of all the available ncargex examples. they're listed according to which utility they belong with. 🌸

🌈 EXAMPLES AVAILABLE 🌈

Okay bestie, THIS is the part everyone actually opens the manpage for πŸ’– β€” the giant roster of demo programs that ship with NCAR Graphics. Every single one is listed below, grouped by the library or utility it belongs to. They're literally runnable, so go touch grass later and play with these now ✨


πŸ¦‹ AREAS Examples

Shading between lines? Regions? Yes. Here's the squad:

arex01 arex02 arex03 cardb1 cardb2 caredg carfill carline carmap tareas
c_tareas

🌸 AUTOGRAPH Examples

Axis-and-curve central, no cap. The agex girlies plus a whole pile of fag* friends:

agdp01 agex01 agex02 agex03 agex04 agex05 agex06 agex07 agex08 agex09
agex10 agex11 agex12 agex13 fagaxclr fagaxlbl fagaxmax fagcuclr fagcudsh
fagezmxy fagezmy fagezxy fagezy fagilclr fagovrvw tagupw tautog c_agex07

πŸŽ€ BIVAR Examples

Bivariate interpolation, she's a little trio:

cbex01 cidsfft c_cbex01

πŸ’… COLCONV Examples

Colour conversion, iconic behaviour:

coex01 coex02 coex03 fcce01 fcce02 tcolcv c_coex02

⭐ CONPACK Examples

The BIG one. Contour plotting ate and left no crumbs β€” ccp* for days, cpex* galore, plus some guests who cameo'd in from other libraries:

cbex01 ccpback ccpcff ccpcfx ccpcica ccpcir ccpcis ccpcit ccpclc ccpcld
ccpcldm ccpcldr ccpcll ccpclu ccpcnrc ccpdflt ccpezct ccpfil ccpga
ccphand ccphcf ccphl ccphlt ccpila ccpils ccpilt ccpklb ccplbam ccplbdr
ccpline ccpllb ccpllc ccplll ccpllo ccpllp ccpllt ccpllw ccpmap ccpmovi
ccpmpxy ccpncls ccpnet ccpnof ccpnsd ccppc ccppc1 ccppc2 ccppc3 ccppc4
ccppkcl ccppole ccprc ccprect ccprwc ccprwu ccpscam ccpset ccpsps1
ccpsps2 ccpspv ccpt2d ccptitle ccpvp ccpvs cidsfft colcon cpex01 cpex02
cpex03 cpex04 cpex05 cpex06 cpex07 cpex08 cpex09 cpex10 cpex11 cpex12
cpex13 cpex14 cpex15 cpex16 tconpa c_cbex01 c_colcon

🌈 CONPACKT Examples

Same energy, but for the transform-flavoured contour tools:

ctcbay ctex01 ctex02 ctfite ctgaus ctgc23 ctgeo1 ctgeo2 ctgeo3 ctiscp
ctisc2 ctllg1 ctllg2 ctllg3 ctnccl ctorca ctpopg ctswth ctterr ctwng1
ctwng2 cttd01 cttd02 c_ctllg3

🫢 CONRAN FAMILY Examples

The whole family pulled up:

tconan tconaq tconas

πŸ’€ CONREC FAMILY Examples

And the other family. Reunions are happening:

tcnqck tcnsmt tcnsup tconre

🧚 CSAGRID Examples

csex01 csex02 csex03 csex04 csex05 csex06 csex07 c_csex01 c_csex02
c_csex03 c_csex04 c_csex05 c_csex06 c_csex07

πŸ“ CSSGRID Examples

cssex01 cssex02 cssex03 c_cssex01 c_cssex02 c_cssex03

πŸ‘‘ DASHLINE Examples

Dashed lines are having a moment:

fdlcurvd fdldashc fdldashd fdlsmth tdashc tdashl tdashp tdashs
c_fdldashc

✨ DASHPACK Examples

A duo. Tiny but mighty:

tdshpk c_tdshpk

πŸ’œ DSGRID Examples

dsex01 dsex01d dsex02 dsex03 dsex04 dsex05 dsex06 c_dsex01 c_dsex01d
c_dsex02 c_dsex03 c_dsex04 c_dsex05 c_dsex06

🌎 EZMAP Examples

Maps!! Easily the most fun corner of this whole manpage, fr fr. cmp* routines, mpex* demos, tezmap-ish testers:

cezmap1 cezmap2 cezmap3 cmpclr cmpdd cmpdrw cmpel cmpfil cmpgci cmpgrd
cmpgrp cmpita cmpitm cmplab cmplbl cmplot cmpmsk cmpou cmppos cmpsat
cmpsup cmptit cmptra cmpusr eezmpa mpex01 mpex02 mpex03 mpex04 mpex05
mpex06 mpex07 mpex08 mpex09 mpex10 mpex11 mpex12 mpex13 mpex14 mpex15
mpexfi tezmap tezmpa tezmpb c_mpex05 c_eezmpa c_eezmpb

🌬️ FIELD FLOW Examples

Flow fields, streamlines' cooler sibling:

ffex00 ffex01 ffex02 ffex03 ffex04 ffex05 fcover fstream stex01 stex02
stex03 vvex01 vvex02 vvex03 c_ffex03 c_vvex03

🎯 FITGRID Examples

ftex01 ftex02 ftex03 ftex04 ftex05 ftex06 c_ftex01 c_ftex02 c_ftex03
c_ftex04 c_ftex05 c_ftex06

⚑ GFLASH Example

One singular legend:

tgflas c_tgflas

πŸ–₯️ GKS Examples

The graphics-system foundation. Look at this absolute wall of pgkex*:

fcell fcell0 fgke01 fgke02 fgke03 fgke04 fgkgpl fgkgpm fgkgtx fgklnclr
fgklnwth fcirc fgpm01 pgkex01 pgkex02 pgkex03 pgkex04 pgkex05 pgkex06
pgkex07 pgkex08 pgkex09 pgkex10 pgkex11 pgkex12 pgkex13 pgkex14 pgkex15
pgkex16 pgkex17 pgkex18 pgkex19 pgkex20 pgkex21 pgkex22 pgkex23 pgkex24
pgkex25 pgkex26 pgkex27 c_gtxpac c_pgkex21

πŸ•ΈοΈ GRIDALL Example

ccpga tgrida c_tgrida

🌫️ HALFTONE Example

Just the one, and she's serving texture:

thafto

πŸ“Š HISTOGRAM Examples

thstgr thstmv c_thstmv

πŸ”οΈ ISOSRFHR Example

tisohr

🧊 ISOSURFACE Examples

3D vibes. Main character energy, honestly:

fisissrf fispwrzi tisosr tpwrzi c_tisosr

🏷️ LABELBAR Examples

elblba tlblba clbfil clbbar clblbr c_elblba

πŸ—ΊοΈ NATGRID Examples

nnex01 nnex01d nnex02 nnex03 nnex04 nnex05 nnex06 nnex07 nnex08 nnex09
c_nnex01 c_nnex01d c_nnex02 c_nnex03 c_nnex06

βž— NGMATH Examples

Bestie, this is THE mega-list. NGMATH shows off basically the whole grid family β€” CSAGRID, CSSGRID, DSGRID, FITGRID, NATGRID and SHGRID all in one place:

csex01 csex02 csex03 csex04 csex05 csex06 csex07 cssex01 cssex02 cssex03
dsex01 dsex01d dsex02 dsex03 dsex04 dsex05 dsex06 ftex01 ftex02 ftex03
ftex04 ftex05 ftex06 nnex01 nnex01d nnex02 nnex03 nnex04 nnex05 nnex06
nnex07 nnex08 nnex09 shex01 shex02 shex03 c_csex01 c_csex02 c_csex03
c_csex04 c_csex05 c_csex06 c_csex07 c_cssex01 c_cssex02 c_cssex03
c_dsex01 c_dsex01d c_dsex02 c_dsex03 c_dsex04 c_dsex05 c_dsex06 c_ftex01
c_ftex02 c_ftex03 c_ftex04 c_ftex05 c_ftex06 c_nnex01 c_nnex01d c_nnex02
c_nnex03 c_nnex06 c_shex01 c_shex02 c_shex03

πŸŒ€ NGMISC Examples

fngngdts fngwsym c_fngwsym

πŸ”€ PLOTCHAR Examples

epltch fpchiqu fpcloqu fpcfonts tpltch c_epltch

πŸ”· POLYPACK Examples

ppex01 tppack c_ppex01

✍️ PWRITE FAMILY Examples

tpwrtx tpwry

πŸ“œ SCROLLED TITLE Examples

fslfont slex01 slex02 tstitl c_slex01

πŸ› οΈ SETER Examples

tseter

🌐 SHGRID Examples

shex01 shex02 shex03 c_shex01 c_shex02 c_shex03

🎨 SOFTFILL Examples

fsfsgfa fsfwrld sfex01 sfex02 tsoftf c_sfex02

πŸ“ˆ SPPS Examples

The old-school utility library, still showing up to the party:

fcoord fcoord1 fcoord2 fspcurve fspline fsppoint fspponts splogy sprevx
c_fcoord2

🌊 STREAMLINES Examples

fstream ffex00 ffex01 ffex03 ffex04 stex01 stex02 stex03 tstrml c_ffex03

⛰️ SURFACE Examples

fsrezsrf fsrpwrzs fsrsrfac srex01 tsrfac tpwrzs c_srex01

πŸ“¦ TDPACK Examples

tdex01 tdex02 tdex03 tdex04 tdex05 tdex06 tdex07 tdex08 c_tdex01
c_tdex03

🧱 THREED Examples

fthex01 fthex02 fthex03 fthex04 fthex05 tthree tpwrzt c_fthex01

🏹 VECTORS Examples

ffex00 ffex01 ffex02 ffex05 fcover tvelvc vvex01 vvex02 vvex03 c_vvex03

β›… WEATHER MAP Examples

Weather map demos, aka the plot-twist icons of the whole package:

wmex01 wmex02 wmex03 wmex04 wmex05 wmex06 wmex07 wmex08 wmex09 wmex10
wmex11 wmex12 wmex13 wmex14 wmex15 c_wmex09

🧸 Miscellaneous Examples

The grab bag. Genuinely:

bnchmk example ncargworld

πŸͺŸ X11 Examples

fgke01 fgke04 c_xwndws

πŸ‘€ SEE ALSO

Like, go read these too, they're all connected, iykyk:

  • Online: ncargf77(1NCARG), ncargcc(1NCARG), ncargfile(1NCARG), ng4ex(1NCARG), ncarg_cbind(5NCARG), ncargintro(5NCARG)
  • Hardcopy: NCAR Graphics Fundamentals, UNIX Version

Copyright (C) 1987-2002 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.

And that's the whole page, bestie 🫢 This manual page came to you courtesy of NCAR, dated June 1998, and its official name is NCARGEX(1NCARG). Go run some examples and slay πŸ’…βœ¨