Dear NCAR Graphics users,
We are very excited to announce the release of NCAR Graphics Version
4.4.0!
The most significant new capability in this release is a utility
called CONPACKT ("CONtouring Package, Triangular"), which is a package
of routines allowing one to deal with contours on an arbitrary surface
in 3-space, as approximated by a triangular mesh.
This version also contains a PDF driver, allowing one to output PDF
files directly from an NCAR Graphics program (much in the same way
direct PostScript output from an NCARG program works).
For a full list of what's new in this version, and to see the latest
documentation, please go to:
http://ngwww.ucar.edu/ng/whatsnew.html#WhatsNew4_4_0
http://ngwww.ucar.edu/ng/documentation.html
NCAR Graphics V4.4.0 builds on just about any flavor of UNIX,
including Linux, MacOSX, Solaris, IRIX, AIX, HPUX, OSF1, and Cygwin
(under Windows).
To download source code and/or some precompiled binaries, go to:
http://ngwww.ucar.edu/ng/download.html
This capability is also available in the NCAR Command Language (NCL),
which can be downloaded in binary format from:
http://ngwww.ucar.edu/ncl/download.html
Since CONPACKT is the most significant new utility to be added in the
last few years, we have included a detailed description below of its
capability and usage.
When the contouring package called CONPACK was written, most of the
surface data that we saw was representable by a two-dimensional array.
In the case of data on the surface of the earth, one of the array
indices was identified with longitude and the other with latitude
(which resulted in uneven coverage of the earth, with the rectangles
at the poles turning into long, narrow triangles). For polar
coordinate data (using "R" and "theta" coordinates), one of the
indices was identified with "R" and the other with "theta". In some
cases, a rectangular array could be made to represent an irregular
shape in the plane by using auxiliary two-dimensional arrays to
specify the positions of the mesh points there, but this technique was
severely limited.
In recent years, we have begun to see more and more examples of grids
which, for one reason or another, cannot be handled by CONPACK. Some
of these are still inherently rectangular in nature, but have features
that cause the CONPACK algorithms to fail (for example, the ORCA grid,
in which portions of a rectangular array wrapped around the globe are
discontinuously moved with respect to the rest so as to provide
higher-resolution coverage of certain areas). Others are not even
rectangular in nature (like the geodesic grid and a variety of
triangular meshes meant to represent regions having complex shapes,
like the Chesapeake Bay). Those who use such grids usually prefer not
to interpolate to a rectangular grid in order to contour their data
(even in cases in which such interpolation is possible). So, we began
looking for ways to draw contours more or less directly from as large
a variety of different grids as possible. The result is CONPACKT.
Every type of grid that we have seen so far (including the ones that
CONPACK could handle) can be reduced to a triangular mesh, so we
settled on that as the most basic structure to use. The mesh consists
of: a list of points, defined by X, Y, and Z coordinates in 3-space; a
list of edges, defined by pairs of points; and a list of triangles,
defined by triplets of joined edges. The mesh must be simply
connected: no two edges may intersect except at their end points and
no edge may be a part of more than two triangles. To enable the
tracing of contour lines on the mesh, pointers belonging to each edge
tell one which triangles it is a part of.
To make the process of constructing a triangular mesh as easy as
possible, two different routines are provided. Also, a large number
of examples are available, showing how to deal with various kinds of
grids:
- rectangular grids that are transformed to represent the surface
of the earth, including simple lat/lon grids, Gaussian grids, POP
grids, and ORCA grids;
- the ISCCP grid, which is sort of rectangular on a cylindrical
equidistant projection of the earth, but is not the sort of grid
that CONPACK could handle;
- intrinsically non-rectangular grids that represent the entire
surface of the globe or a portion thereof, including geodesic
grids and SEAM grids;
- complicated triangular meshes representing portions of the globe
having irregular shapes (including one representing Chesapeake
Bay, another representing ocean areas off the coast of North
Carolina, and a third representing the part of the Earth's
surface seen by a satellite during a single orbit);
- deformed rectangular meshes in a plane (including one
representing a vertical slice through an ocean basin, deformed to
follow the terrain of the ocean bottom);
- triangular meshes representing an arbitrary surface in 3-space
(like the surface of a lumpy asteroid or an isosurface of a
magnetic field).
The structure of CONPACKT and its internal parameters are very much
like those of the existing package CONPACK, but there are some
differences, as well:
- Missing points on a rectangular grid are handled by CONPACK using
a "special value" to mark areas in which contours are not to be
drawn. CONPACKT has no such "special value", but it does allow
one to "block" selected triangles, and, of course, one can just
omit portions of the triangular mesh where contours are not to be
drawn.
- The routine CPCICA, in CONPACK, constructs a cell array in which
the color of each cell is determined by the value of the contour
field at the center of the cell; it depends on the ability of the
mapping routine CPMPXY to do not only forward mappings from a
position on the rectangular grid to a position on the plotter
frame, but the inverse; this allows it to determine a color for
every cell. The analogous routine CTCICA, in CONPACKT, cannot
depend on the analogous mapping routine CTMXYZ to do inverse
mappings and therefore works differently. Practically, what this
means is that, if portions of the triangular mesh are invisible
under the current mapping (for example, if they're on the "far
side" of the globe), cells near the visible/invisible boundary
may default to a background "cannot-determine-a-value" color.
----------------------------------------------------------------------
I will add more precompiled binaries of NCAR Graphics V4.4.0 as
time permits, so don't despair if you don't see your system
in the download list yet.
Cheers,
--Mary Haley
-------------------------------------------------
Mary Haley haley@ucar.edu
NCAR/SCD/VETS 303-497-1254 (voice)
1850 Table Mesa Dr 303-497-1804 (fax)
Boulder, CO 80305
-------------------------------------------------
_______________________________________________
ncarg-talk mailing list
ncarg-talk@ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
This archive was generated by hypermail 2b29 : Sun Dec 19 2004 - 20:47:15 MST