1 Software for Manipulating or Displaying NetCDF Data {#software}
2 ===================================================
6 This document provides references to software packages that may be used for manipulating or displaying [netCDF](/software/netcdf/) data. We include information about both freely-available and licensed (commercial) software that can be used with netCDF data. We rely on developers to help keep this list up-to-date. If you know of corrections or additions, please [send them to us (mailto:support@unidata.ucar.edu). Where practical, we would like to include WWW links to information about these packages in the HTML version of this document.
8 Other useful guides to utilities that can handle netCDF data include ARM's list of [ARM-tested netCDF data tools](http://science.arm.gov/%7ecflynn/ARM_Tested_Tools/), which includes some downloadable binaries and the NOAA Geophysical Fluid Dynamics Laboratory [guide to netCDF utilities](http://nomads.gfdl.noaa.gov/sandbox/products/vis/data/netcdf/GFDL_VG_NetCDF_Utils.html).
10 ------------------------------------------------------------------------
13 Freely Available Software {#freely}
14 =========================
17 ------------------------------------
19 The ARM Program has developed [ANDX (ARM NetCDF Data
20 eXtract)](http://engineering.arm.gov/~sbeus/andx-web/html/), a
21 command-line utility designed for routine examination and extraction of
22 data from netcdf files. Data can be displayed graphically (line-plot,
23 scatter-plot, overlay, color-intensity, etc.) or extracted as ASCII
24 data. Whether displayed graphically or extracted as ASCII, results can
25 be saved to disk or viewed on screen.
27 [ANAX (ARM NetCDF ASCII
28 eXtract)](http://science.arm.gov/~cflynn/ARM_Tested_Tools/) is a
29 scaled-down version of ANDX -- it is designed to only extract ASCII
30 data. All features of ANDX pertaining to non-graphic data extraction are
34 ---------------------------
36 The ARM Program has developed [ANTS (ARM NetCDF Tool
37 Suite)](http://science.arm.gov/~cflynn/ANTS/), a collection of netCDF
38 tools and utilities providing various means of creating and modifying
39 netcdf files. ANTS is based on nctools written by Chuck Denham. The
40 utilities within nctools were modified to compile with version 3.5 of
41 the netCDF library, the command syntax was modified for consistency with
42 other tools, and changes were made to accommodate ARM standard netCDF.
44 The original functions from nctools were intended mainly for the
45 creation, definition, and copying of fundamental netCDF elements. ARM
46 added others which focus on manipulation of data within existing netCDF
47 files. Additional functions have special support for multi-dimensional
48 data such as "slicing" cross sections from multi-dimensional variable
49 data or joining lesser-dimensional fields to form multi-dimensional
50 structures. Functions have been added to support execution of arithmetic
51 and logical operations, bundling or splitting netCDF files, comparing
52 the structure or content of files, and so on.
54 Essentially every type of netCDF library function call is exercised in
55 ANTS. In this way then, this open-source collection of tools also
56 represents a library of coding examples for fundamental netCDF tasks.
57 See the [website](http://science.arm.gov/~cflynn/ANTS/) for more
61 -----------------------------
63 [ARGOS](http://www.lapeth.ethz.ch/argos/index.html) (interActive
64 thRee-dimensional Graphics ObServatory) is a new IDL-based interactive
65 3D visualization tool, developed by [David N.
66 Bresch](http://www.lapeth.ethz.ch/~david/index.html) and [Mark A.
67 Liniger](http://www.lapeth.ethz.ch/~mark/index.html) at the Institute
68 for Atmospheric Science at the Swiss Federal Institute of Technology,
71 A highly optimized graphical user interface allows quick and elegant
72 creation of even complex 3D graphics (volume rendering,
73 isosurfaces,...), including Z-buffered overlays (with hidden lines),
74 light and data shading, Xray images, 3D trajectories, animations and
75 virtual flights around your data, all documented in a full on-line
76 [html-help](http://www.lapeth.ethz.ch/argos/argos_general.html). The
77 netCDF data format is preferred, but any other format can be read by
78 providing an IDL (or FORTRAN or C or C++) interface. Some toolboxes (for
79 atmospheric model output, trajectory display, radar data) have already
80 been written, others might easily be added (in IDL, FORTRAN or C code).
81 All interactive activities are tracked in a script, allowing quick
82 reconstruction of anything done as well as running ARGOS in batch script
85 Information about [copyright and licensing
86 conditions](http://www.lapeth.ethz.ch/argos/argos_copyright.html) are
87 available. For further information and installation, please E-mail to:
88 bresch@atmos.umnw.ethz.ch
91 ---------------------------
93 The [Climate Data Analysis Tool (CDAT)](http://cdat.sf.net), developed
94 by the [Program for Climate Model Diagnosis and Intercomparison
95 (PCMDI)](http://www-pcmdi.llnl.gov/) at Lawrence Livermore National
96 Laboratory, provides the capabilities needed to analyze model data,
97 perform complex mathematical calculations, and graphically display the
98 results. It provides the necessary tools to diagnose, validate, and
99 intercompare large observational and global climate model data sets.
100 It includes the ability to ingest large climate datasets in netCDF, HDF,
101 DRS, and GrADS/GRIB format; the Visualization and Computation System
102 (VCS) module, visually displays and animates ingested or created data;
103 and the Library of AMIP Data Transmission Standards (LATS) module
104 outputs data in the machine-independent netCDF or GrADS/GRIB file
107 In addition, the Command Line Interface (CLI) module allows CDAT to
108 receive argument and function input via the command line, and the
109 Graphical User Interface (GUI) allows CDAT to receive argument and
110 function input via a point-and-click environment.
112 The software, which runs as a standalone process or within PCMDI's
113 Visualization and Computation System (VCS), provides climate scientists
114 with an easy and fast method to read different file formats, and to
115 analyze and graphically display climate data in an integrated fashion.
116 CDAT includes a set of pre-defined functions to allow the user to
117 manipulate the data and send the output to a file which can be viewed as
118 an image, or as a collection of images in an animation. The software has
119 a gradual learning curve, allowing the novice user to quickly obtain
122 CDFconvert {#CDFconvert}
123 ---------------------------------------
126 package](http://www.atmos.albany.edu/facstaff/rmctc/cdf_cvt/) provided
127 by the Mesoscale Research Group, McGill University/SUNY Albany, is
128 designed to address data conversion issues for gridded datasets stored
130 [COARDS](http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html)
131 convention. CDFconvert converts regular Cylindrical Equidistant
132 (Lat/Long) and Gaussian (Spherical) netCDF grids into either the
133 Canadian [RPN Standard
134 File](http://www.cmc.ec.gc.ca/rpn/modcom/si/libraries/rmnlib/fstd/index.html)
135 or [GEMPAK](/software/gempak/index.html) file formats. MRG CDFconvert
136 has the flexibility to handle netCDF files generated by a number of
137 sources, including NCEP and ECMWF. User-definable conversion tables make
138 the extension of the package to different datasets possible.
141 ---------------------------------
143 Joe Sirott of NOAA's Pacific Marine Environmental Laboratory has
144 developed cdfsync, a program that allows users to rapidly synchronize a
145 set of netCDF files over a network. Fast synchronization times are
146 achieved by only transmitting the differences between files. It is built
147 on the Open Source [rsync](http://samba.anu.edu.au/rsync/) program, but
148 contains a number of optimizations including:
150 - Special handling of netCDF files for faster synchronization
152 - Much faster updates of large numbers of small netCDF files
153 - In-place updates of large netCDF files
155 The latest version should run on Linux variants and Solaris.
157 More information is available at the [cdfsync
158 website](http://www.epic.noaa.gov/epic/software/cdfsync/).
160 CDO (Climate Data Operators) {#CDO}
161 --------------------------------------------------
163 Uwe Schulzweida at the Max Planck Institute for Meteorology has
164 developed [CDO](http://code.zmaw.de/projects/cdo), a collection of
165 Operators to manipulate and analyze Climate Data files. Supported file
166 formats include netCDF and GRIB. There are more than 350 operators
167 available. The following table provides a brief overview of the main
170 - File information (info, sinfo, diff, ...)
171 - File operations (copy, cat, merge, split\*, ...)
172 - Selection (selcode, selvar, sellevel, seltimestep, ...)
173 - Missing values (setctomiss, setmisstoc, setrtomiss)
174 - Arithmetic (add, sub, mul, div, ...)
175 - Mathematical functions (sqrt, exp, log, sin, cos, ...)
176 - Comparision (eq, ne, le, lt, ge, gt, ...)
177 - Conditions (ifthen, ifnotthen, ifthenc, ifnotthenc)
178 - Field statistics (fldsum, fldavg, fldstd, fldmin, fldmax, ...)
179 - Vertical statistics (vertsum, vertavg, vertstd, vertmin, ...)
180 - Time range statistics (timavg, yearavg, monavg, dayavg, ...)
181 - Field interpolation (remapbil, remapcon, remapdis, ...)
182 - Vertical interpolation (ml2pl, ml2hl)
183 - Time interpolation (inttime, intyear)
185 As an example of use of CDO, converting from GRIB to netCDF can be as
188 cdo -f nc copy file.grb file.nc
190 or with relative time axis (for usage with GrADS)
191 cdo -r -f nc copy file.grb file.nc
193 or using ECMWF reanalysis on a reduced grid
194 cdo -R -f nc copy file.grb file.nc
196 More information is available on the [CDO
197 homepage](http://code.zmaw.de/projects/cdo).
199 CIDS Tools {#CIDS_Tools}
200 ---------------------------------------
202 The Center for Clouds Chemistry and Climate
203 ([C4](http://www-c4.ucsd.edu/)) Integrated Data Systems
204 ([CIDS](http://www-c4.ucsd.edu/~cids/)) group has developed several
205 useful netCDF utilities:
206 - cdf2idl: Writes an IDL script to read a NetCDF file.
207 - cdf2c: Writes C code to read a NetCDF file.
208 - cdf2fortran: Writes FORTRAN source code to read a NetCDF file.
209 - cdf2asc: Dumps NetCDF data to an ASCII file.
211 The source for these utilities can be downloaded from [CIDS NetCDF
213 site](http://www-c4.ucsd.edu/~cids/software/visual.html).
215 CSIRO MATLAB/netCDF interface {#CSIRO-MATLAB}
216 ------------------------------------------------------------
218 The [CSIRO MATLAB/netCDF
219 interface](http://www.marine.csiro.au/sw/matlab-netcdf.html) is now
220 available from the [CSIRO Marine
221 Laboratories](http://www.marine.csiro.au).
222 The CSIRO MATLAB/netCDF interface is run from within MATLAB and has a
223 simple syntax. It has options for automatically handling missing values,
224 scale factors, and permutation of hyperslabs. It is, however, limited to
225 retrieving data from, and information about, existing netCDF files.
227 The basis of the interface is a machine-dependent mex-file called
228 mexcdf53. Rather than call the mex-file directly users are advised to
229 employ both [Chuck Denham's netCDF toolbox](#NC4ML5) and the CSIRO
230 MATLAB/netCDF interface described here. For read-only access to existing
231 netCDF data, the CSIRO interface has a simpler syntax than the netCDF
232 Toolbox, but the latter may also be used to create and manipulate netCDF
233 variables and datasets.
236 ---------------------------
238 NOAA's Pacific Marine Environmental Laboratory
239 ([PMEL](http://www.pmel.noaa.gov/)) has developed the
240 [EPIC](http://www.pmel.noaa.gov/epic/) software package for
241 oceanographic data. EPIC provides graphical display and data field
242 manipulation for multi-dimensional netCDF files (up to 4 dimensions).
243 PMEL has been using this software on Unix and VMS several years. At
246 - a data file I/O library (
247 [epslib](http://www.pmel.noaa.gov/epic/eps-manual/epslib_toc.html),
248 which is layered on top of the netCDF library).
249 - epslib allows transparent access to multiple data file formats
251 interface](http://www.epic.noaa.gov/epic/software/mexeps.htm) for
252 using any supported EPIC file with MATLAB
254 programs](http://www.epic.noaa.gov/epic/software/ep_programs.htm)
255 for graphics and analysis of hydrographic profile data and time
258 This software was developed on Sun/Unix and is also supported for
259 DEC/Ultrix and VAX/VMS as a system for data management, display and
260 analysis system for observational oceanographic time series and
261 hydrographic data. The EPIC software includes over 50 programs for
262 oceanographic display and analysis, as well as utilities for putting
263 in-situ or observational data on-line (with on-the-fly graphics and data
264 download) on the WWW.
265 The developers are interested in coordinating with others who may be
266 developing oceanographic software for use with netCDF files. The EPIC
267 software is available via anonymous FTP from ftp.noaapmel.gov in the
268 epic/ and /eps directories. To obtain the EPIC software, please see Web
269 pages at <http://www.pmel.noaa.gov/epic/download/index.html>. For
270 information about EPIC, please see the Web pages at
271 <http://www.pmel.noaa.gov/epic/index.html>. Contact epic@pmel.noaa.gov,
272 or Nancy Soreide, nns@noaapmel.gov, for more information.
275 ------------------------------------
277 Several packages are available for accessing netCDF data from Microsoft
278 Excel, including the [netcdf4excel](#netcdf4excel) add-in for Excel, and
279 a [Scientific Dataset (SDS) Library](#SDS) that supports a DataSetEditor
280 add-in for Excel to view and modify various forms of data, including
284 -----------------------------
286 A FORTRAN library called
287 [EzGet](http://www-pcmdi.llnl.gov/ktaylor/ezget/ezget.html) has been
288 developed at [PCMDI](http://www-pcmdi.llnl.gov/PCMDI.html) to facilitate
289 retrieval of modeled and observed climate data stored in popular formats
290 including [DRS](http://www-pcmdi.llnl.gov/drach/DRS.html),
291 [netCDF](/software/netcdf/), [GrADS](http://grads.iges.org/grads), and,
292 if a control file is supplied,
293 [GRIB](ftp://nic.fb4.noaa.gov/pub/nws/nmc/docs/gribed1/). You can
294 specify how the data should be structured and whether it should undergo
295 a grid transformation before you receive it, even when you know little
296 about the original structure of the stored data (e.g., its original
297 dimension order, grid, and domain).
298 The EzGet library comprises a set of subroutines that can be linked to
299 any FORTRAN program. EzGet reads files through the
300 [cdunif](http://www-pcmdi.llnl.gov/drach/cdunif.html) interface, but use
301 of EzGet does not require familiarity with cdunif. The main advantages
302 of using EzGet instead of the lower level cdunif library include:
304 - Substantial error trapping capabilities and detailed error messages
305 - Versatile capability of conveniently selecting data from specified
306 regions (e.g., oceans, North America, all land areas north of 45
307 degrees latitude, etc.)
308 - Ability to map data to a new grid at the time it is retrieved by
310 - Automatic creation of \`\`weights'' for use in subsequent averaging
312 - Increased control in specifying the domain of the data to be
315 For more information about EzGet, including instructions for downloading
316 the documentation or software, see the EzGet home page at
317 <http://www-pcmdi.llnl.gov/ktaylor/ezget/ezget.html>. For questions or
318 comments on EzGet, contact Karl Taylor (taylor13@llnl.gov).
321 -------------------------
323 [FAN (File Array Notation)](/software/netcdf/fan_utils.html) is Harvey
324 Davies' package for extracting and manipulating array data from netCDF
325 files. The package includes the three utilities nc2text, text2nc, and
326 ncrob for printing selected data from netCDF arrays, copying ASCII data
327 into netCDF arrays, and performing various operations (sum, mean, max,
328 min, product, ...) on netCDF arrays. A library (fanlib) is also included
329 that supports the use of FAN from C programs. The package is available
330 via anonymous FTP from
331 <ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/fan.tar.Z>. Questions and
332 comments may be sent to Harvey Davies, harvey.davies@csiro.au.
335 -------------------------------
337 [FERRET](http://ferret.wrc.noaa.gov/Ferret/) is an interactive computer
338 visualization and analysis environment designed to meet the needs of
339 oceanographers and meteorologists analyzing large and complex gridded
340 data sets. It is available by anonymous ftp from abyss.pmel.noaa.gov for
341 a number of computer systems: SUN (Solaris and SUNOS), DECstation
342 (Ultrix and OSF/1), SGI, VAX/VMS and Macintosh (limited support), and
343 IBM RS-6000 (soon to be released).
344 FERRET offers a Mathematica-like approach to analysis; new variables may
345 be defined interactively as mathematical expressions involving data set
346 variables. Calculations may be applied over arbitrarily shaped regions.
347 Fully documented graphics are produced with a single command. Graphics
348 styles included line plots, scatter plots, contour plots, color-filled
349 contour plots, vector plots, wire frame plots, etc. Detailed controls
350 over plot characteristics, page layout and overlays are provided. NetCDF
351 is supported both as an input and an output format.
353 Many excellent software packages have been developed recently for
354 scientific visualization. The features that make FERRET distinctive
355 among these packages are Mathematica-like flexibility, geophysical
356 formatting (latitude/longitude/date), "intelligent" connection to its
357 data base, special memory management for very large calculations, and
358 symmetrical processing in 4 dimensions. Contact Steve Hankin,
359 hankin@noaapmel.gov, for more information.
362 -----------------------------
364 Heiko Klein (Norwegian Meteorological Institute) has developed the
365 [fimex](https://wiki.met.no/fimex/start) (File Interpolation,
366 Manipulation, and EXtraction) C++ library for gridded geospatial data.
367 It converts between several data formats (currently netCDF, NcML, GRIB1
368 or GRIB2, and felt). Fimex also enables you to change the projection and
369 interpolation of scalar and vector grids, to subset the gridded data,
370 and to extract only parts of the files. Fimex supports a growing list of
371 other [features](https://wiki.met.no/fimex/features), including support
372 for most NcML features and for netCDF-4 compression.
374 For simple usage, Fimex also comes with the command line program fimex.
376 Documentation and downloads are available from the [fimex web
377 site](http://wiki.met.no/fimex/).
379 FWTools (GIS Binary Kit for Windows and Linux) {#fwtools}
380 ------------------------------------------------------------------------
382 [FWTools](http://fwtools.maptools.org/) is Frank Warmerdam's set of Open
383 Source GIS binaries for Windows (win32) and Linux (x86 32bit) systems.
384 The kits are intended to be easy for end users to install and get going
385 with, and include OpenEV, GDAL, MapServer, PROJ.4 and OGDI as well as
386 some supporting components. FWTools aims to track the latest development
387 versions of the packages included as opposed to official releases, "to
388 give folks a chance to use the *latest and greatest*".
391 ---------------------------
393 Frank Warmerdam's [GDAL](http://www.remotesensing.org/gdal/index.html)
394 is a translator library for raster geospatial data formats that is
395 released under an X/MIT style Open Source license. As a library, it
396 presents a [single abstract data
397 model](http://www.remotesensing.org/gdal/gdal_datamodel.html) to the
398 calling application for all supported formats. The related
399 [OGR](http://www.remotesensing.org/gdal/ogr) library (which lives within
400 the GDAL source tree) provides a similar capability for simple features
403 GDAL is in active use in several projects, and includes roughly 40
404 format drivers, including a translator for netCDF (read/write). Other
405 translators include GeoTIFF (read/write), Erdas Imagine (read/write),
406 ESRI .BIL (read), .aux labeled raw (read/write), DTED (read), SDTS DEM
407 (read), CEOS (read), JPEG (read/write), PNG (read/write), Geosoft GXF
408 (read) and Arc/Info Binary Grid (read). A full list is available in
410 Formats](http://www.remotesensing.org/gdal/formats_list.html).
412 GDAL has recently included support for the netCDF-4 enhanced data model
413 and netCDF-4 format, as well as improved support for recent additions to
416 As an example of the use of GDAL, converting an ArcInfo ASCII grid to
417 netCDF (GMT conventions) as easy as:
419 gdal_translate arc_ascii.grd -of GMT gmt_grid.nc
421 GDL (GNU Data Language) {#GDL}
422 ---------------------------------------------
424 [GDL](http://gnudatalanguage.sourceforge.net/) is a free implementation
425 of most of the programming language supported by [IDL](#IDL)
426 (Interactive Data Language). GDL supports the netCDF-3 API.
428 Gfdnavi (Geophysical fluid data navigator) {#Gfdnavi}
429 --------------------------------------------------------------------
431 [Gfdnavi](http://www.gfd-dennou.org/arch/davis/gfdnavi/index.en.htm) is
432 a web-based tool to archive, share, distribute, analyze, and visualize
433 geophysical fluid data and knowledge. The software is under development
434 by members of the GFD Dennou Club, including T. Horinouchi (RISH, Kyoto
435 U.), S. Nishizawa (RIMS, Kyoto U.), and colleagues. Gfdnavi uses a
436 metadata database for managing and analyzing data and visualizations. It
437 also permits publishing data for web access and will soon support access
438 to data on other Gfdnavi servers. Web service APIs are now under
439 development. A presentation [Introducing
440 Gfdnavi](http://www.gfd-dennou.org/arch/davis/gfdnavi/presen/2007-03-05_GfdnaviIntro.En/pub/)
441 describes the architecture and shows examples of use.
443 Gfdnavi is dependent on two technologies:
445 - [Ruby on Rails](http://www.rubyonrails.com/), a framework for web
447 - [the Dennou Ruby Project](http://ruby.gfd-dennou.org/), a collection
448 of tools for geophysical data. These tools include
449 [GPhys](http://ruby.gfd-dennou.org/products/gphys/) software to
450 handle GRIB, GrADS, and netCDF data uniformly.
452 As an example of this technology, Takuji Kubota has established [a
453 Gfdnavi server](http://www.gsmap.aero.osakafu-u.ac.jp/gfdnavi/) for the
454 Global Satellite Mapping of Precipitation
455 ([GSMaP](http://www.radar.aero.osakafu-u.ac.jp/~gsmap/index_english.html))
459 -------------------------
461 [GMT](http://gmt.soest.hawaii.edu/) (Generic Mapping Tools) is an open
462 source collection of about 60 tools for manipulating geographic and
463 Cartesian data sets (including filtering, trend fitting, gridding,
464 projecting, etc.) and producing Encapsulated PostScript File (EPS)
465 illustrations ranging from simple x-y plots via contour maps to
466 artificially illuminated surfaces and 3-D perspective views. GMT
467 supports 30 map projections and transformations and comes with support
468 data such as coastlines, rivers, and political boundaries. GMT is
469 developed and maintained by Paul Wessel and Walter H. F. Smith with help
470 from a global set of volunteers, and is supported by the National
471 Science Foundation. It is released under the GNU General Public License.
473 The package can access COARDS-compliant netCDF grids as well as ASCII,
474 native binary, or user-defined formats. The GMT package is available via
475 anonymous ftp from several servers; see
476 [gmt.soest.hawaii.edu](http://gmt.soest.hawaii.edu) for installation
480 -----------------------------
482 [Grace](http://plasma-gate.weizmann.ac.il/Grace/) is a tool to make
483 two-dimensional plots of scientific data, including 1D netCDF variables.
484 It runs under the X Window System and OSF Motif (recent versions of
485 LessTif are, by and large, fine, too). Grace runs on practically any
486 version of Unix. As well, it has been successfully ported to VMS, OS/2
487 and Win9\*/NT (some functionality may be missing, though). Grace is a
488 descendant of ACE/gr.
489 A few features of Grace are:
491 - User defined scaling, tick marks, labels, symbols, line styles,
493 - Batch mode for unattended plotting.
494 - Read and write parameters used during a session.
495 - Regressions, splines, running averages, DFT/FFT,
496 cross/auto-correlation, ...
497 - Support for dynamic module loading.
498 - Hardcopy support for PostScript, PDF, GIF, and PNM formats.
499 - Device-independent Type1 font rastering.
500 - Ability to read or write netCDF data.
503 -----------------------------
505 [GrADS](http://grads.iges.org/grads/grads.html) (Grid Analysis and
506 Display System) is an interactive desktop tool from
507 [COLA/IGES](http://grads.iges.org/cola.html) that is currently in use
508 worldwide for the analysis and display of earth science data. GrADS is
509 implemented on all commonly available UNIX workstations, Apple
510 Macintosh, and DOS or Linux based PCs, and is freely available via
511 anonymous ftp. GrADS provides an integrated environment for access,
512 manipulation, and display of earth science data in several forms,
513 including GRIB and netCDF. For more information, see the [GrADS User's
514 Guide](http://grads.iges.org/grads/gadoc/users.html).
517 -------------------------
519 Gri is an extensible plotting language for producing scientific graphs,
520 such as x-y plots, contour plots, and image plots. Dan Kelley of
521 Dalhousie University is the author of Gri, which can read data from
522 netCDF files as well as ASCII and native binary data. For more
523 information on Gri, see the URL <http://gri.sourceforge.net/>.
526 ---------------------------
528 The GXSM is the Gnome X Scanning Microscopy project, it is a bit more
529 than just a piece of software (the GXSM itself), there is full hardware
530 support for DSP cards including open source DSP software and a growing
531 set of SPM related electronics. For more information, see
532 <http://gxsm.sourceforge.net/>.
534 HDF interface {#HDF_interface}
535 ---------------------------------------------
537 The National Center for Supercomputing Applications (NCSA) has added the
538 netCDF interface to their [Hierarchical Data Format
539 (HDF)](http://hdf.ncsa.uiuc.edu/) software. HDF is an extensible data
540 format for self-describing files. A substantial set of applications and
541 utilities based on HDF is available; these support raster-image
542 manipulation and display and browsing through multidimensional
543 scientific data. An implementation is now available that provides the
544 netCDF interface to HDF. With this software, it is possible to use the
545 netCDF calling interface to place data into an HDF file. The netCDF
546 calling interface has not changed and netCDF files stored in XDR format
547 are readable, so existing programs and data will still be usable
548 (although programs will need to be relinked to the new library). There
549 is currently no support for the mixing of HDF and netCDF structures. For
550 example, a raster image can exist in the same file as a netCDF object,
551 but you have to use the Raster Image interface to read the image and the
552 netCDF interface to read the netCDF object. The other HDF interfaces are
553 currently being modified to allow multi-file access, closer integration
554 with the netCDF interface will probably be delayed until the end of that
556 Eventually, it will be possible to integrate netCDF objects with the
557 rest of the HDF tool suite. Such an integration will then allow tools
558 written for netCDF and tools written for HDF to both interact
559 intelligently with the new data files.
561 HDF-EOS to netCDF converter {#HDF-EOS}
562 -----------------------------------------------------
564 The Goddard Earth Sciences Data and Information Services Center ([GES
565 DISC](http://disc.gsfc.nasa.gov)) has developed an on-the-fly HDF-EOS to
566 netCDF/CF converter for the following products, making them easier to
567 use in the [Unidata IDV](#IDV) and
568 [McIDAS-V](http://www.ssec.wisc.edu/mcidas/software/v/):
570 - AIRS Level 2 (scene) profiles of moisture, air temperature and trace
572 - AIRS Level 3 (global grid) profiles of moisture, air temperature and
574 - OMI UV-B at the surface
575 - TOMS ozone and aerosols
577 [Instructions](http://disc.gsfc.nasa.gov/services/NetCDFConversionforIDVandMcIDAS-V.shtml)
578 are available for searching and converting these data. More information
579 on AIRS products is available at
580 <http://disc.gsfc.nasa.gov/AIRS/index.html>.
583 -------------------------------
585 [HIPHOP](http://www.knmi.nl/onderzk/atmosam/English/Service/hiphop/hiphop.html),
586 developed by Dominik Brunner, is a widget based IDL application that
587 largely facilitates the visualization and analysis of 2D, 3D, and 4D
588 atmospheric science data, in particular atmospheric tracer distributions
589 and meteorological fields.
590 Graphical output of (atmospheric model) data can be quickly generated in
591 a large number of different ways, including horizontal maps at selected
592 model or pressure levels, vertical north-south, east-west, or slant
593 cross-sections (including zonal averages), time slices, animations, etc.
594 It also allows mathematical operations on the existing fields to
595 generate new fields for further analysis, and it can be run as a batch
598 The program handles data in netCDF, HDF and GRIB format. Interfaces to
599 other data formats (e.g. ASCII and binary data) can be added easily.
601 Beginning with Version 4.0, it also supports the ability to overlay
602 meteorological fields on a number of different satellite images, and to
603 draw air parcel trajectories.
605 Hyperslab OPerator Suite (HOPS) {#HOPS}
606 ---------------------------------------------------------------------------------
608 Hyperslab OPerator Suite
609 ([HOPS](http://www.cgd.ucar.edu/gds/svn/hyperslab.html)), developed by
610 R. Saravanan at NCAR, is a bilingual, multi-platform software package
611 for processing data in netCDF files conforming to the NCAR-CCM format or
612 the NCAR Ocean Model format. HOPS is implemented in [IDL](#IDL), the
613 widely-used commercial interpreted language, and also in
614 [Yorick](ftp://ftp-icf.llnl.gov/pub/Yorick/), a public-domain
615 interpreted language that is freely available from the Lawrence
616 Livermore National Laboratory. The IDL version of HOPS should run on any
617 platform supported by IDL. The Yorick version too runs on most common
618 UNIX platforms, such as Sun, SGI, Cray, and LINUX computers.
619 HOPS is not a monolithic program, but a suite of operators that act on
620 data units called "hyperslabs". The design of HOPS is object-oriented,
621 rather than procedure-oriented; the operators treat the numeric data and
622 the associated meta-data (like coordinate information) as a single
625 Note that HOPS is not a general purpose netCDF utility and works only
626 for the NCAR CSM netCDF formats. For more information, check the [HOPS
627 home page](http://www.cgd.ucar.edu/gds/svn/hyperslab.html).
629 iCDF (imports chromatographic netCDF data into MATLAB) {#iCDF}
630 -----------------------------------------------------------------------------
632 Klavs M. Sørensen, Thomas Skov and Rasmus Bro (Faculty of Life Sciences,
633 University of Copenhagen) have developed
634 [iCDF](http://www.models.life.ku.dk/source/iCDF/index.asp), a free and
635 documented toolbox for importing chromatographic data in the
636 netCDF-based format that most manufacturers of chromatographic software
639 The iCDF software is currently for XC-MS data (X: GC, LC, HPLC), but
640 soon it will be able to import data using other detectors as well. It
641 can be used to open netCDF files from many different instruments (e.g.
642 Agilent, Bruker) and many chromatographic software packages (e.g.
645 For more information, see the paper
647 > Skov T and Bro R. (2008) Solving fundamental problems in
648 > chromatographic analysis Analytical and Bioanalytical Chemistry, 390
651 IDV (Integrated Data Viewer) {#IDV}
652 --------------------------------------------------
654 Unidata's [Integrated Data Viewer (IDV)](/software/idv/) is a Java
655 application (for Java 1.4 or later) that can be used to display a
656 variety of netCDF files, particularly well formatted, geolocated
657 datasets. Features include:
659 - Access to local and remote netCDF files and a variety of [other data
660 formats](/software/idv/docs/userguide/data/DataSources.html)
661 - Slicing and probing of multidimensional data
662 - Support for netCDF conventions (CF, COARDS, NUWG, AWIPS)
663 - InstallAnywhere installers for easy download and installation
664 - Save display state to a bundle for easy recreation of views
665 - Support for non-gridded data through the [Common Data Model
666 (CDM)](/software/netcdf-java/CDM/)
668 The IDV uses the [VisAD Java
669 library](http://www.ssec.wisc.edu/~billh/visad.html) for interactive and
670 collaborative visualization and analysis and the [netCDF Java
671 library](/software/netcdf-java/) for reading and manipulating netCDF
675 -------------------------------
677 [Ingrid](http://ingrid.ldgo.columbia.edu/), by M. Benno Blumenthal
678 <benno@ldeo.columbia.edu>, is designed to manipulate large datasets
679 and model input/output. It can read data from its data catalog, a netCDF
680 file, or a directly attached model, and output the data, either by
681 feeding it to a model, creating a netCDF file, or creating plots and
682 other representations of the data.
684 Ingrid has a number of filters which allow simple data manipulations,
685 such as adding two datasets together, smoothing, averaging, and
686 regridding to a new coordinate. In addition to netCDF, it also reads
687 HDF, CDF, VOGL, and SGI GL.
689 Ingrid is currently running as a WWW daemon that can be accessed through
690 <http://rainbow.ldgo.columbia.edu/datacatalog.html> to see some of its
691 capabilities on a climate data catalog maintained by the [Climate
692 Group](http://rainbow.ldeo.columbia.edu/) of the [Lamont-Doherty Earth
693 Observatory](http://www.ldeo.columbia.edu/) of Columbia University. To
694 quote the introduction:
696 > The Data Catalog is both a catalog and a library of datasets, i.e. it
697 > both helps you figure out which data you want, and helps you work with
698 > the data. The interface allows you to make plots, tables, and files
699 > from any dataset, its subsets, or processed versions thereof.
701 > This data server is designed to make data accessible to people using
702 > WWW clients (viewers) and to serve as a data resource for WWW
703 > documents. Since most documents cannot use raw data, the server is
704 > able to deliver the data in a variety of ways: as data files (netCDF
705 > and HDF), as tables (html), and in a variety of plots (line, contour,
706 > color, vector) and plot formats (PostScript and gif). Processing of
707 > the data, particularly averaging, can be requested as well.
709 > The Data Viewer in particular demonstrates the power of the Ingrid
712 Ingrid currently runs on Linux, for which binaries are available. CVS
713 access to the current source can be arranged.
715 Intel Array Visualizer {#IntelArrayVisualizer}
716 --------------------------------------------------------------
719 Visualizer](http://www.intel.com/cd/software/products/asmo-na/eng/compilers/226277.htm)
720 and Intel® Array Viewer are available as [free
721 downloads](http://www.intel.com/cd/software/products/asmo-na/eng/compilers/226277.htm)
722 for Windows platforms. They offer an application and a set of software
723 tools and components, which include C, Fortran, and .Net libraries, for
724 developing scientific visualization applications and for creating
725 interactive graphs of array data in various formats, including HDF and
729 -------------------------
731 [IVE (Interactive Visualization
732 Environment)](http://www.atmos.washington.edu/ive/) is a software
733 package designed to interactively display and analyze gridded data. IVE
734 assumes the data to be displayed are contained in one- two-, three- or
735 four-dimensional arrays. By default, the numbers within these arrays are
736 assumed to represent grid point values of some field variable (such as
737 pressure) on a rectangular evenly spaced grid. IVE is, nevertheless,
738 capable of displaying data on arbitrary curvilinear grids.
740 If the data points are not evenly spaced on a rectangular grid, IVE must
741 be informed of the grid structure, either by specifying "attributes" in
742 the data input or by specifying the coordinate transform in a user
743 supplied subroutine. Stretched rectangular grids (which occur when the
744 stretching along a given coordinate is a function only of the value of
745 that coordinate) can be accommodated by specifying one-dimensional
746 arrays containing the grid-point locations along the stretched
747 coordinate as part of the IVE input data. Staggered meshes can also be
748 accommodated by setting "attributes" in the input data. The structure of
749 more complicated curvilinear grids must be communicated to IVE via user
750 supplied "transforms," which define the mapping between physical space
751 and the array indices.
753 Since four-dimensional data cannot be directly displayed on a flat
754 computer screen, it is necessary to reduced the dimensionality of the
755 data before it is displayed. One of IVE's primary capabilities involves
756 dimension reduction or "data slicing." IVE allows the user to display
757 lower-dimensional subsets of the data by fixing a coordinate or by
758 averaging over the coordinate.
760 IVE currently has the capability to display
766 - a single point value
767 - vector fields as 2D vector plots
769 IVE lets you overlay plots, loop plots, and control a wide variety of
772 IVE also can perform algebraic computations on the gridded data and can
773 calculate derivatives. More complicated computations can be performed in
774 user supplied subroutines.
776 IVE uses NetCDF for the data input format, and uses the [NCAR Graphics
777 Library](http://ngwww.ucar.edu/ng/) to produce graphical output. IVE is
778 [available](http://www.atmos.washington.edu/ive/getting.html) as source
779 via anonymous ftp; and as binary on request for licensees of NCAR
782 JSON format with the ncdump-json utility {#JSON}
783 ---------------------------------------------------------------
785 Josep Llodrà has developed a program to output the contents of a
786 netCDF-3 or netCDF-4 file in JSON (JavaScript Object Notation). It is
787 based on Unidata's NCDUMP utility, and it keeps the original ncdump
788 functionality, unless the "-j" option is used to specify JSON output.
790 The program and source are available from
791 <https://github.com/jllodra/ncdump-json> .
793 Java interface {#Java_interface}
794 -----------------------------------------------
796 The [NetCDF-Java 4.2 Library](/software/netcdf-java/) is a Java
797 interface to netCDF files, as well as to many other types of scientific
798 data formats. It is freely available and the source code is released
799 under the (MIT-style) netCDF C library license. Previous versions use
800 the GNU Lesser General Public License (LGPL).
802 The library implements a Common Data Model
803 ([CDM](/software/netcdf-java/CDM/)), a generalization of the netCDF,
804 OpenDAP and HDF5 data models. The library is a prototype for the
805 netCDF-4 project, which provides a C language API for the "data access
806 layer" of the CDM, on top of the HDF5 file format. The NetCDF-Java
807 library is a 100% Java framework for *reading* netCDF and other file
808 formats into the CDM, as well as *writing* to the netCDF-3 file format.
809 The library also implements
810 [NcML](http://www.unidata.ucar.edu/software/netcdf/ncml/), which allows
811 you to add metadata to CDM datasets, as well as to create virtual
812 datasets through aggregation.
814 Kst (2D plotting tool) {#KST}
815 --------------------------------------------
817 [Kst](http://kst-plot.kde.org) is an open-source, cross-platform 2D
818 plotting tool focused on performance and ease of use. Packages for
819 Windows, various Linux distributions and Mac OS X are
820 [available](http://sourceforge.net/projects/kst/files/), as well as the
821 complete source code and CMake-based build files. A more detailed
822 presentation of Kst can be found on the web page at
823 <http://kst-plot.kde.org>, including numerous screenshots and all the
824 useful download links.
826 Kst is characterized by the following features:
828 - Outstanding performance: curves with millions of points are no
830 - Plotting of live streams
831 - Out-of-the box support for a variety of formats (currently ASCII,
832 netCDF, dirfile, Qimage-supported types, fits images)
833 - User-friendly with a modern and consistent user interface
834 - A set of unique tools to boost efficiency, including a data import
835 wizard, capacity to edit multiple objects at once or the "Change
836 Data File" tool to compare multiple experiments easily
837 - An active community
838 - Easily expandable for new data formats or data analysis algorithms
839 thanks to a plugin-based architecture
840 - Available on Windows, Linux, and Mac OSX
842 Labview interface {#Labview-API}
843 -----------------------------------------------
845 A netCDF Labview interface, implemented in the Labview programming
846 language is available. The software includes A graphical user interface
847 for editing netCDF data and conversion to other data formats. The
848 package was developed and is maintained by L. F. Hwang of Sun Yat-sen
849 University in China. For more information and to download the source
850 code, see the [NetCDFLabview web
851 site](https://sourceforge.net/projects/netcdflabview/).
853 MBDyn (MultiBody Dynamics) #{MBDyn}
854 --------------------------------------------------
856 [MBDyn](http://www.aero.polimi.it/~mbdyn/) is an open-source MultiBody
857 Dynamics analysis system developed at the Dipartimento di Ingegneria
858 Aerospaziale of the University "Politecnico di Milano", Italy. It uses
859 netCDF as its primary output format.
861 MBDyn features the integrated multidisciplinary analysis of multibody,
862 multiphysics systems, including nonlinear mechanics of rigid and
863 flexible constrained bodies, smart materials, electric networks, active
864 control, hydraulic networks, essential fixed-wing and rotorcraft
865 aerodynamics. It allows users to simulate the behavior of heterogeneous
866 mechanical, aero-servo-elastic systems based on first principles
867 equations. It is being actively developed and used in the aerospace and
868 automotive fields for dynamics analysis and simulation of complex
869 systems. Dynamic linking of user-defined modules is heavily exploited to
870 let users extend the feature library.
872 Max_diff_nc ${Maxdiffnc}
873 -------------------------------------------
875 This is a program which compares two NetCDF files. Variables with the
876 same ID in the two files are assumed to be of the same type and have the
877 same shape. For each such couple of variables, the program computes the
878 maximum of the absolute value of the difference, and the maximum of the
879 absolute value of the relative difference. The program also tells you at
880 what location (the subscript list of the array) the maximum difference
883 The web page for this program is:
884 <http://web.lmd.jussieu.fr/~lglmd/Max_diff_nc>
886 This is a freely available tool.
888 MeteoExplorer {#MeteoExplorer}
889 ---------------------------------------------
891 [MeteoExplorer](http://www.eastmodelsoft.com/index_en.htm), developed by
892 Lianqing Yu at China Meteorological Administration, is a cross-platform
893 software application for analyzing and rendering atmospheric science and
894 geoscience data. It supports popular data formats including WMO
895 GRIB1/GRIB2, NetCDF, and MICAPS, and provides basic GIS functionalities.
896 Developed with C++, Meteo Explorer targets multiple computing platforms
897 including Microsoft Windows, GNU Linux, and SGI IRIX operating systems.
899 The primary features include:
901 - Graphics layer management (navigation and animation)
902 - Objective analysis of physical elements in surface or upperair
904 - Isoline analysis and shading of grid field
905 - Streamline analysis of wind field
906 - Computation of physics elements
907 - NetCDF data process and display
908 - GRIB1/GRIB2 data process and display
909 - MICAPS data process and display
910 - Satellite nephogram data display and animation, support AWX, GPF and
912 - Interactive composition of synoptic chart (command undo/redo,
914 - Map zoom, pan, projection and clipping
915 - Full screen display and zoom to area
916 - Quick navigation via thumbnail view of graphics layers
917 - Save screen shot as image file (support formats: BMP, JPG, PNG)
918 - Vector graphics exported to clipboard or saved as EMF file (Windows
920 - Remote desktop connection support
921 - System configuration (dynamic menu)
922 - Fast switch of user interface language on the fly
924 For more information, please visit [MeteoExplorer's home
925 page](http://www.eastmodelsoft.com/software/mexplorer.htm) or contact
926 the support staff via meteoexplorer@hotmail.com .
928 MeteoInfo {#MeteoInfo}
929 -------------------------------------
931 For better cross-platform support,
932 [MeteoInfo](http://www.meteothinker.com) has recently been re-developed
933 using Unidata's NetCDF Java library. MeteoInfo is GIS software for
934 visualization and analysis of spatial and meteorological data. The Java
935 edition can be run in Windows, Mac OS, Linux, and Unix systems. The
936 Groovy script engine was coupled in the software, so users can write
937 Groovy script to run the software automatically for analysis with
940 Download: <http://www.meteothinker.com/>
942 Java 6 is needed to run the software.
945 -------------------------------
947 [PMEL](http://www.pmel.noaa.gov/) has developed a MATLAB interface,
948 [MexEPS](http://www.epic.noaa.gov/epic/software/mexeps.htm), which
949 supports several netCDF file conventions, including [those adopted by
950 PMEL](ftp://ftp.unidata.ucar.edu/pub/netcdf/Conventions/PMEL-EPIC/).
951 Many styles of time axes are supported and time manipulation routines
952 ease the use of the time axis in MATLAB. The MexEPS package supports the
953 following data formats:
954 - reading, writing and editing netCDF files;
955 - reading and writing Classic EPIC files
956 - reading formatted ASCII files
959 - VARIABLE, AXIS, ATTRIBUTE manipulation routines
961 - TIME enters MATLAB as YYMMDDhhmmss.fff
962 - Can be converted to netCDF udunits time convention (e.g. days
963 *since* 1990-01-01 00:00:00)
964 - [MATLAB help](ftp://ftp.pmel.noaa.gov/eps/mexeps/help-m/) and
965 [example scripts](ftp://ftp.pmel.noaa.gov/eps/mexeps/examples/)
967 - **ASCII2MAT** mexFunction, which reads a formatted file into MATLAB
970 The MexEPS package is freely available in PMEL's anonymous ftp directory
971 <ftp://ftp.pmel.noaa.gov/eps/mexeps/>
973 If you have any questions or comments, please contact the author, Willa
974 Zhu [(willa@pmel.noaa.gov)](mailto:willa@pmel.noaa.gov) or Nancy Soreide
977 MEXNC and SNCTOOLS {#MEXNC}
978 ------------------------------------------
980 John Evans of Rutgers University maintains MEXNC and developed SNCTOOLS.
981 [MEXNC](http://mexcdf.sourceforge.net/) is a mexfile interface to NetCDF
982 files for MATLAB that has roughly a one-to-one equivalence with the C
984 [SNCTOOLS](http://mexcdf.sourceforge.net/tutorial/index.html) is a set
985 of higher-level m-files that sit atop MEXNC, shielding the user from
986 such low level netCDF details as file IDs, variable IDs, and dimension
987 IDs. The general philosophy behind SNCTOOLS is providing the ability to
988 read and write data without trying to invent a new syntax.
990 Mirone (Windows MATLAB-based display) {#Mirone}
991 --------------------------------------------------------------
993 Joaquim Luis of Universidade do Algarve has developed
994 [Mirone](http://w3.ualg.pt/~jluis/mirone/), a Windows MATLAB-based
995 framework tool that allows the display and manipulation of a large
996 number of grid/images formats through its interface with the
997 [GDAL](http://remotesensing.org/gdal/) library. Its main purpose is to
998 provide users with an easy-to-use graphical interface to manipulate
999 [GMT](http://gmt.soest.hawaii.edu/) grids. In addition it offers a wide
1000 range of tools dedicated to topics in the earth sciences, including
1001 tools for multibeam mission planning, elastic deformation studies,
1002 tsunami propagation modeling, earth magnetic field computations and
1003 magnetic Parker inversions, Euler rotations and poles computations,
1004 plate tectonic reconstructions, and seismicity and focal mechanism
1005 plotting. The high quality mapping and cartographic capabilities for
1006 which GMT is renowned is guaranteed through Mirone's ability to
1007 automatically generate GMT cshell scripts and dos batch files.
1009 Although Mirone is written in MATLAB, a stand-alone version to run under
1010 Windows is also provided. Regrettably this version is not as efficient
1011 as the native MATLAB code but provides a solution for users that don't
1015 J. F. Luis. Mirone: A multi-purpose tool for exploring grid data.
1016 Computers & Geosciences, 33, 31-41, 2007.
1018 ncBrowse {#ncBrowse}
1019 -----------------------------------
1021 Donald Denbo of NOAA's Pacific Marine Environmental Laboratory has
1022 developed and made available
1023 [ncBrowse](http://www.epic.noaa.gov/java/ncBrowse), a Java application
1024 (JDK1.2) that provides flexible, interactive graphical displays of data
1025 and attributes from a wide range of netCDF data file conventions.
1028 - Designed to work with arbitrary netCDF files.
1029 - Browses file using the EPIC and COARDS conventions.
1030 - Provides a "tree" view of the netCDF file.
1031 - Handles character variables.
1032 - Handles dimensions without an associated variable.
1033 - Uses sgt graphics to perform 1 and 2 dimensional cuts through data.
1034 - Save to file single variable as a "cdl" text file.
1035 - InstallAnywhere scripts for UNIX, Win32, and MacOS.
1036 - Currently uses Java 2 and Swing.
1038 ncBrowse will run on any UNIX or Windows machine with a Java 2 (JDK1.2)
1039 virtual machine installed. Automated installation scripts are available
1040 for Windows and UNIX. Additional information on ncBrowse and download
1041 instructions are available at <http://www.epic.noaa.gov/java/ncBrowse>.
1043 Questions and suggestions should be directed to
1044 <[dwd@pmel.noaa.gov>](mailto:dwd@pmel.noaa.gov). If you have problems
1045 reading a netCDF file with ncBrowse, please send him a copy of the file
1046 and he'll get ncBrowse to read it!
1049 -----------------------------
1051 Remik Ziemlinski of the NOAA Geophysical Fluid Dynamics Laboratory has
1052 developed [nccmp](http://nccmp.sourceforge.net/), a tool to compare two
1053 netCDF files. It can use MPI, include/exclude specific variables or
1054 metadata and operates quickly. Highly recommended for regression testing
1055 with large datasets. See the Web site <http://nccmp.sourceforge.net/>
1056 for more information.
1059 -------------------------
1061 The [NCAR Command Language (NCL)](http://www.ncl.ucar.edu/) is an
1062 intepreted programming language for scientific data analysis and
1063 visualization developed and maintained in NCAR's [Computational and
1064 Information Systems Laboratory](http://www.cisl.ucar.edu/).
1066 NCL has many features common to modern programming languages, including
1067 types, variables, operators, expressions, conditional statements, loops,
1068 and functions and procedures. NCL also has features that are not found
1069 in other programming languages, including those that handle the
1070 manipulation of metadata, the configuration of visualizations, the
1071 import of data from a variety of data formats, and an algebra that
1072 supports array operations.
1074 NCL has robust file input and output capabilities. It allows different
1075 datasets of different formats (netCDF, netCDF-4 classic, HDF4, HDF4-EOS,
1076 GRIB-1, and GRIB-2) to be imported into one uniform and consistent data
1077 manipulation environment, which internally is the netCDF data format.
1078 NCL doesn't place any restrictions or conventions on the organization of
1081 NCL comes with many useful built-in functions and procedures for
1082 processing and manipulating data. There are over 600 functions and
1083 procedures that include routines for use specifically with climate and
1084 model data, empirical orthogonal functions, Fourier coefficients,
1085 wavelets, singular value decomposition, 1-, 2-, and 3-dimensional
1086 interpolation, approximation, and regridding, and computer analysis of
1087 scalar and vector global geophysical quantities.
1089 The visualizations are publication-quality and highly customizable, with
1090 hundreds of options available for tweaking the looks of your graphics.
1091 NCL can generate contours, XY plots, vectors, streamlines, and can
1092 overlay these plots on many different map projections. There are also
1093 specialized functions for generating histograms, wind roses, meteograms,
1094 skew-T plots, weather maps.
1096 Included with the software are two command line tools: "ncl\_convert2nc"
1097 for converting GRIB-1/2 or HDF files to netCDF files, and
1098 "ncl\_filedump" which will dump the contents of a file format that NCL
1099 recognizes (netCDF, GRIB-1/2, HDF, etc).
1101 NCL is available under an open source license or in binary form for
1102 several popular UNIX platforms, including (but not limited to) Linux,
1103 MacOSX, and Windows/Cygwin.
1105 Documentation and additional information on NCL are available from the
1106 [NCL website](http://www.ncl.ucar.edu/), which contains hundreds of
1107 [application examples](http://www.ncl.ucar.edu/Applications/) for one to
1108 download. You can also contact Mary Haley, at <haley@ucar.edu> for more
1112 -------------------------
1114 [NCO](http://nco.sourceforge.net) (netCDF operators) is a package of
1115 command line operators that work on generic netCDF or HDF4 files:
1116 - ncap2 - arithmetic processor
1117 - ncatted - attribute editor
1118 - ncbo - binary operator
1119 - ncdiff - differencer
1120 - ncea - ensemble averager
1121 - ncecat - ensemble concatenator
1122 - ncflint - file interpolator
1123 - ncks - kitchen sink (extract, cut, paste, print data)
1124 - ncpdq - permute dimensions quickly
1125 - ncra - running averager
1126 - ncrcat - record concatenator
1127 - ncrename - renamer
1128 - ncwa - weighted averager
1130 All operators may now be [OPeNDAP](http://www.opendap.org) clients. OPeNDAP
1131 enables network transparent data access to any OPeNDAP server. Thus
1132 OPeNDAP-enabled NCO can operate on remote files accessible through any
1133 OPeNDAP server without transferring the files. Only the required data
1134 (e.g., the variable or hyperslab specified) are transferred.
1136 The source code is freely available from the [NCO home
1137 page](http://nco.sourceforge.net/), as is the NCO User's Guide.
1139 For more information, contact the author, Charlie Zender.
1141 ncregrid {#ncregrid}
1142 -----------------------------------
1144 Patrick Jöckel of the Max Planck Institute for Chemistry has developed
1145 **ncregrid**, a tool (written in FORTRAN-90) for data transfer of
1146 gridded 2- and 3-dimensional (spatial) geophysical/geochemical scalar
1147 fields between grids of different resolutions. The algorithm handles
1148 data on rectangular latitude/longitude grids (not necessarily evenly
1149 spaced) and vertical pressure hybrid grids of arbitrary resolution. The
1150 input/output data format is netCDF. ncregrid is freely available without
1151 any warranty under the GNU public license (GPL). ncregrid can be used as
1152 a "stand-alone" program, and/or linked as an interface to a model, in
1153 order to re-grid automatically the input from an arbitrary grid space
1154 onto the required grid resolution.
1156 More information is available on the web-page:
1157 <http://www.mpch-mainz.mpg.de/~joeckel/ncregrid/index.html>.
1159 nctoolbox (a MATLAB common data model interface) {#nctoolbox}
1160 ----------------------------------------------------------------------------
1162 [nctoolbox](http://nctoolbox.github.io/nctoolbox/) is a MATLAB interface
1163 that provides read-only access to [Common Data
1164 Model](/software/netcdf-java/CDM/index.html) datasets. Under the hood,
1165 nctoolbox uses Unidata's NetCDF-Java as the data access layer. This
1166 allows nctoolbox to access to netCDF, OPeNDAP, HDF5, GRIB, GRIB2, HDF4,
1167 and many (15+) other file formats and services using the same API. It
1168 works with MATLAB 2008a and later. The nctoolbox software was developed
1169 by Brian Schlining (MBARI), Rich Signell (USGS), Sachin Kumar Bhate
1170 (freelance), and Alex Crosby (RPS/ASA).
1173 ---------------------------
1175 Patrick Jöckel of the Max Planck Institute for Chemistry has developed
1176 **ncdx**, a tool (written in FORTRAN-90) that scans a netCDF file and
1177 makes it [OpenDX](#OpenDX) compliant. ncdx is freely available without
1178 any warranty under the GNU public license (GPL). More information is
1179 available on the web-page:
1180 <http://www.mpch-mainz.mpg.de/~joeckel/ncdx/index.html>.
1182 ncensemble {#ncensemble}
1183 ---------------------------------------
1185 Alan Iwi, of Rutherford Appleton Laboratory, offers this command line
1186 ensemble statistics utility. More information is available on the
1187 web-page: <http://home.badc.rl.ac.uk/iwi/ncensemble/>.
1190 -------------------------------
1192 [Ncview](http://meteora.ucsd.edu/~pierce/ncview_home_page.html) is a
1193 visual browser for netCDF files. Typically you would use ncview to get a
1194 quick and easy, push-button look at your netCDF files. You can view
1195 simple movies of the data, view along various dimensions, take a look at
1196 the actual data values, change color maps, invert the data, etc. It runs
1197 on UNIX platforms under X11, R4 or higher. For more information, check
1198 out the [README](http://meteora.ucsd.edu/~pierce/docs/ncview.README)
1199 file; you can also see a representative [screen
1200 image](http://meteora.ucsd.edu/~pierce/docs/ncview.gif) (GIF, 66K) of
1202 The source may be downloaded from <ftp://cirrus.ucsd.edu/pub/ncview/>.
1203 For more information, please contact the author, David W. Pierce at
1206 NetCDF Toolbox for MATLAB-5 {#matlab5}
1207 ----------------------------------------------------
1209 The [NetCDF Toolbox for MATLAB-5](http://mexcdf.sourceforge.net/),
1210 originally developed by Charles R. Denham, combined netCDF-3 with
1211 [MATLAB](http://www.mathworks.com/products/matlab/) to form an interface
1212 that used MATLAB operator-syntax for arithmetic, logical, and
1213 subscripting operations on netCDF entities. The NetCDF Toolbox is in
1214 bug-fix-only mode, and is maintained by John.G.Evans.NE@gmail.com, on
1215 the [MEXNC, SNCTOOLS, and the NetCDF Toolbox](http://mexcdf.sf.net) web
1219 -----------------------------
1221 [Ncvtk](http://ncvtk.sourceforge.net/) is a program for exploring
1222 planetary data stored in a NetCDF file. The NetCDF file should loosely
1223 follow the [CF metadata
1224 conventions](http://www.cgd.ucar.edu/cms/eaton/cf-metadata/).
1226 Ncvtk was designed from the ground up with the aim of offering a high
1227 degree of interactivity to scientists who have a need to explore
1228 structured, three-dimensional, time-dependent climate data on the
1229 sphere. A graphical user interface allows users to interact with their
1230 data via color/transparency/contour/vector plots, apply vertical slices,
1231 probe data, apply an external sun light, overlay hydrographic and
1232 geopolitical data, rotate, zoom, etc. with minimal fuss.
1234 Ncvtk is written in python and is based on the [Visualization Toolkit
1235 (VTK)](http://public.kitware.com/VTK/). Like python and VTK, Ncvtk is
1236 highly portable and known to run on Windows and Linux (i386, ia64,
1237 EMT64) platforms. More information about Ncvtk is available at
1238 <http://ncvtk.sourceforge.net>.
1240 Ivan Shmakov's netcdf tools {#netcdf_tools}
1241 ----------------------------------------------------------
1243 The NetCDF tools is a free software package consisting of a few tools
1244 operating on NetCDF and, by utilizing the compatibility API, HDF4 files,
1245 which are intended to be usable from Shell scripts.
1247 The currently packaged tools are:
1249 - a couple of simple shell wrappers over the respective NetCDF
1250 functions (ncattget and ncattput);
1251 - a more sophisticated ncget tool.
1253 The ncget tool implements functionalilty that is similar to hdp dumpsds
1254 (for NetCDF, which lacks such a tool), or complements it in the case of
1255 HDF4. It can be seen as a complement to the ncdump tool (included in
1256 both the NetCDF and HDF4 distributions) as well.
1258 This tool allows a selected part of a NetCDF variable or an HDF4
1259 scientific data set (SDS) to be extracted in either an ASCII or binary
1260 form, applying the transformation specified by the usual scale\_factor
1261 and add\_offset attributes. It allows one to feed the data contained in
1262 NetCDF variables (or HDF4 SDS) to the tools designed to operate on
1263 either ASCII (text) or raw (binary) data.
1265 This version of the package is the first one to be announced to the
1266 public. It has some known bugs and limitations, but it's proved to be
1267 quite usable. A [project
1268 page](http://freshmeat.net/projects/netcdf-tools) on freshmeat.net. The
1269 [source](http://waterlily.siamics.net/~ivan/src/netcdf-tools-0.1-rc1.tar.gz)
1272 netcdf4excel (add-in for MS Excel) {#netcdf4excel}
1273 -----------------------------------------------------------------
1275 Alexander Bruhns has developed [a netCDF add-in written in Visual Basic
1276 for MS Excel](http://code.google.com/p/netcdf4excel/). This add-in
1277 simplifies the use of NetCDF data in Excel, providing a ready to use
1278 solution for manipulating this type of data.
1280 For developers, the open-source (GPL V3 license) can be downloaded
1281 directly or checked out with Mercurial.
1283 The add-in is written in VBA 6.0 (so it won't work with Office 2010 64
1284 bits) and is designed for Excel 2007 running with the Microsoft Windows
1285 operating system. It supports opening netCDF classic format data with
1286 Excel for read or write access.
1288 More details are available on the [netcdf4excel web
1289 site](http://code.google.com/p/netcdf4excel/).
1291 NetCDF95 alternative Fortran API {#netcdf95}
1292 -----------------------------------------------------------
1294 Lionel Guez has developed and made feely available
1295 [NetCDF95](http://web.lmd.jussieu.fr/~lglmd/NetCDF95), a new alternative
1296 Fortran interface to the NetCDF library. Compared to the
1297 Unidata-provided Fortran 90 netCDF interface, the NetCDF95 interface is
1298 meant to be easier to use and more secure.
1300 Objective-C API {#Objective-C}
1301 ---------------------------------------------
1303 Tom Moore has an Objective-C API, available here:
1304 [www.paleoterra.com/software](http://www.paleoterra.com/software). The
1305 netCDF Framework is an open source (Argonne Open Source License) MacOSX
1306 application framework that provides an Objective-C interface to the NCAR
1307 netCDF library version 3. The framework is available both as source code
1308 and universal compiles (works on both PPC and Intel macs). The source
1309 code has also been compiled by users for the GNUStep environment.
1310 Version 2 of the framework will provide classes for accessing multiple
1311 netCDF files, working with in-memory data slabs using standard notation,
1312 and some support for multithreading.
1314 ### Mark Tracy's Objective-C API
1316 Mark Tracy has written [NetcdfStep](http://www.mt-se.com/nc_1.html), an
1317 Objective-C API for netCDF that uses Objective-C Foundation Classes.
1319 NetcdfStep is framework for using the netCDF library in object-oriented
1320 programming with Objective-C. It now supports the full functionality of
1323 A [complete Mac OS X
1324 distribution](http://www.mt-se.com/pub/NetcdfStep-1.0.2.zip) including
1325 pre-built static library and [online
1326 documentation](http://www.mt-se.com/netcdfstep_doc/) are available.
1327 Applications linked to this framework have no external dependencies
1328 (other than Mac OS X itself). A [source-code only
1329 distribution](http://www.mt-se.com/pub/NetcdfStep-GNUstep-0.6.1.tar.gz)
1330 synced up to version 0.6.1 is available for GNUstep for use on Linux and
1331 other Unix platforms.
1333 Octave interface {#NCMEX}
1334 ----------------------------------------
1336 The ARM Program has contributed NCMEX for Octave, a port of Chuck
1337 Denham's MATLAB NCMEX to [Octave](http://www.octave.org). The calling
1338 syntax is identical, so scripts using NCMEX in MATLAB should in theory
1339 be portable to Octave. In order to build NCMEX, a compiled C NetCDF
1340 library must already be installed.
1342 In addition to the base NetCDF library interface, this package includes
1343 a simple toolbox to automate the reading and writing of NetCDf files
1344 within Octave using NCMEX. These tools as well as the source for NCMEX
1346 <http://engineering.arm.gov/~sbeus/octavex/octavex.tar> (NOTE: this .tar
1347 file contains other Octave extension functions besides NCMEX.)
1349 Also see [Octcdf](http://ocgmod1.marine.usf.edu/octcdf/), a netCDF
1352 For installation instructions, see the README file inside the .tar file.
1354 Octave interface (Barth) {#Octave}
1355 -------------------------------------------------
1357 Alexander Barth has contributed the following:
1359 Octcdf is a netCDF toolbox for [Octave](http://www.octave.org/) which
1360 uses the same operator syntax as the [matlab netCDF
1361 toolbox](http://mexcdf.sourceforge.net/netcdf_toolbox.html) of Charles
1362 R. Denham. NetCDF dimensions, attributes and variables are Octave
1363 objects and can be accessed, sliced and changed just as regular
1364 variables. Unlike most netCDF toolboxes for matlab, it does not depend
1365 on the NCMEX wrapper around the netCDF interface. This octave toolbox is
1366 written in C++ calling directly the netCDF library. The octcdf toolbox
1367 can also be used to download data from an OpenDAP server. The octcdf
1368 source code is available at
1369 <http://modb.oce.ulg.ac.be/mediawiki/index.php/NetCDF_toolbox_for_Octave>.
1370 It was also included in the Octave Repository
1371 [octave-forge](http://octave.sourceforge.net/).
1373 OPeNDAP (formerly DODS) {#OPeNDAP}
1374 -------------------------------------------------
1376 The [OPeNDAP](http://opendap.org/) (formerly known as DODS) is an
1377 Open-source Project for a Network Data Access Protocol that makes local
1378 data and subsets of local data accessible to remote locations
1379 independent of the local storage format. OPeNDAP also provides tools for
1380 transforming existing applications into OPeNDAP clients, enabling them
1381 to remotely access OPeNDAP served data. OPeNDAP is based on existing
1382 data access tools; rather than developing a self contained system, it
1383 makes extensive use of existing data access APIs.
1385 OPeNDAP can be used to make netCDF data files available over the
1386 Internet and it can also be used to adapt existing software which use
1387 the netCDF API (by re-linking) to read data served by an OPeNDAP data
1388 server. In principle, any program written using netCDF can be adapted to
1389 read data from an OPeNDAP server - in other words any program which uses
1390 netCDF can become a client in the OPeNDAP client-server system. Included
1391 in the source and binary distributions are two freely available programs
1392 that have already been modified (re-linked).
1394 With a client program accessing data from a netCDF server, it is
1395 possible to access a small subset of a large dataset over the Internet
1396 without copying the entire dataset (as you would have to do with FTP or
1397 AFS). The client can see changes to the netCDF dataset, e.g. when new
1398 records are added (which would not be possible with FTP). Finally, the
1399 client can also access cross-sections of variable data without paging
1400 large amounts of data across the network (as you would have to do with
1403 OPeNDAP software is freely available in both source form or binary form
1404 for selected platforms.
1407 -------------------------------
1409 [OpenDX](http://www.opendx.org/about.html) (formerly IBM Data Explorer,
1410 also known as simply DX) is a general-purpose software package for data
1411 visualization and analysis. It employs a data-flow driven client-server
1412 execution model and provides a graphical program editor that allows the
1413 user to create a visualization using a point and click interface.
1414 DX runs on 7 major UNIX platforms as well as Windows 95/NT and is
1415 designed to take full advantage of multi-processor systems from IBM, SGI
1418 DX is built upon an internal data model, which describes and provides
1419 uniform access services for any data brought into, generated by, or
1420 exported from the software. This data model supports a number of
1421 different classes of scientific data, which can be described by their
1422 shape (size and number of dimensions), rank (e.g., scalar, vector,
1423 tensor), type (float, integer, byte, etc. or real, complex, quaternion),
1424 where the data are located in space (positions), how the locations are
1425 related to each other (connections), aggregates or groups (e.g.,
1426 hierarchies, series, composites, multizone grids, etc.). It also
1427 supports those entities required for graphics and imaging operations
1428 within the context of Data Explorer. Regular and irregular, deformed or
1429 curvilinear, structured and unstructured data as well as "missing" or
1430 invalid data are supported.
1432 The details of the data model are hidden at the user level. As a result
1433 DX operations or modules are polymorphic and appear typeless. The DX
1434 Import module, which reads data for use within Data Explorer directly
1435 utilizes data in netCDF as well as other formats (e.g., HDF, CDF). One
1436 or more variables may be selected as well as step(s) of a time series.
1437 Data in conventional netCDFs are directly imported. Since the DX data
1438 model is more comprehensive than the netCDF data model, a methodology to
1439 extend netCDF via attribute conventions (e.g., for unstructured meshes,
1440 non-scalar data and hierarchies) for use with Data Explorer is
1443 DX supports a number of realization techniques for generating renderable
1444 geometry from data. These include color and opacity mapping (e.g., for
1445 surface and volume rendering), contours and isosurfaces, histograms,
1446 two-dimensional and three-dimensional plotting, surface deformation,
1447 etc. for scalar data. For vector data, arrow plots, streamlines,
1448 streaklines, etc. are provided. Realizations may be annotated with
1449 ribbons, tubes, axes, glyphs, text and display of data locations, meshes
1450 and boundaries. Data probing, picking, arbitrary surface and volume
1451 sampling, and arbitrary cutting/mapping planes are supported.
1453 DX supports a number of non-graphical functions such as point-wise
1454 mathematical expressions (e.g., arithmetic, transcendental, boolean,
1455 type conversion, etc.), univariate statistics and image processing
1456 (e.g., transformation, filter, warp, edge detection, convolution,
1457 equalization, blending, morphological operations, etc.). Field/vector
1458 operations such as divergence, gradient and curl, dot and cross
1459 products, etc. are provided. Non-gridded or scattered data may be
1460 interpolated to an arbitrary grid or triangulated, depending on the
1461 analysis requirements. The length, area or volume of various geometries
1462 may also be computed. Tools for data manipulation such as removal of
1463 data points, subsetting by position, sub/supersampling, grid
1464 construction, mapping, interpolation, regridding, transposition, etc.
1467 Tools for doing cartographic projections and registration as well as
1468 earth, space and environmental sciences examples are available at
1469 Cornell University via info.tc.cornell.edu. Also see the [ncdx](#ncdx)
1470 tool for making netCDF files OpenDX compliant.
1473 ---------------------------------
1475 [Panoply](http://www.giss.nasa.gov/tools/panoply/) is an application
1476 that plots geo-gridded and other arrays from netCDF, HDF, GRIB, and
1477 other datasets. Features include:
1479 - Slice and plot geo-gridded latitude-longitude, latitude-vertical,
1480 longitude-vertical, or time-latitude arrays from larger
1481 multidimensional variables.
1482 - Two arrays may be combined in one plot by differencing, summing, or
1484 - Lon-lat data may be plotted as global maps (using any of over 75 map
1485 projections) or as zonal average plots.
1486 - Overlay continent outlines or masks on lon-lat plots.
1487 - Use your favorite CPT, GGR, PAL, or ACT color table for scale
1489 - Save plots to disk in GIF, JPEG, PNG or TIFF bitmap images or as PDF
1490 or PostScript graphics files.
1491 - Export lon-lat map plots in KMZ format.
1492 - Export animations as AVI or MOV video or as a collection of
1493 invididual frame images.
1494 - Explore remote THREDDS and OpenDAP catalogs and open datasets served
1497 Panoply requires that your computer have a Java SE 6 runtime
1498 environment, or better, installed.
1500 Panoply is developed at the NASA Goddard Institute for Space Studies.
1501 Questions and suggestions should be directed to [Dr. Robert B.
1502 Schmunk](http://www.giss.nasa.gov/staff/rschmunk.html).
1504 Parallel-NetCDF {#Parallel-NetCDF}
1505 -------------------------------------------------
1507 A group of researchers at Northwestern University and Argonne National
1508 Laboratory (Jianwei Li, Wei-keng Liao, Alok Choudhary, Robert Ross,
1509 Rajeev Thakur, William Gropp, and Rob Latham) have designed and
1510 implemented a new [parallel interface for writing and reading netCDF
1511 data](http://www.mcs.anl.gov/parallel-netcdf/), tailored for use on high
1512 performance platforms with parallel I/O. The implementation builds on
1513 the MPI-IO interface, providing portability to most platforms in use and
1514 allowing users to leverage the many optimizations built into MPI-IO
1515 implementations. Testing so far has been on Linux platforms with ROMIO
1516 and IBM SP machines using IBM's MPI.
1518 Documentation and code for Parallel-NetCDF is now available for testing.
1519 Although a few interfaces are not implemented yet, the current
1520 implementation is complete enough to provide significant I/O performance
1521 improvements on parallel platforms, as described in a [technical
1522 report](ftp://info.mcs.anl.gov/pub/tech_reports/reports/P1048.pdf).
1523 Users are invited to test Parallel-NetCDF in their applications.
1525 Paraview and vtkCSCSNetCDF {#Paraview}
1526 -----------------------------------------------------
1528 <http://www.paraview.org/>
1530 ParaView is an application designed with the need to visualize large
1531 data sets in mind. The goals of the ParaView project include the
1534 - Develop an open-source, multi-platform visualization application.
1535 - Support distributed computation models to process large data sets.
1536 - Create an open, flexible, and intuitive user interface.
1537 - Develop an extensible architecture based on open standards.
1539 ParaView runs on distributed and shared memory parallel as well as
1540 single processor systems and has been successfully tested on Windows,
1541 Linux and various Unix workstations and clusters. Under the hood,
1542 ParaView uses the Visualization Toolkit as the data processing and
1543 rendering engine and has a user interface written using a unique blend
1546 A vtk/ParaView reader for netCDF files can be found here.
1548 Perl interfaces {#Perl}
1549 --------------------------------------
1551 There are two netCDF interfaces for Perl:
1552 - [PDL::NetCDF](http://search.cpan.org/~dhunt/PDL-NetCDF-4.05/netcdf.pd),
1553 Doug Hunt's perl interface which uses the PDL (perl data language)
1555 - [NetCDFPerl](/software/netcdf-perl/), Steve Emmerson's extension
1556 module, based on version 2 of the netCDF package. Uses perl lists
1557 for representing netCDF variables.
1559 PolyPaint+ {#PolyPaint}
1560 ---------------------------------------
1562 [PolyPaint+](http://lasp.colorado.edu/polypaint/home.html) is an
1563 interactive scientific visualization tool that displays complex
1564 structures within three-dimensional data fields. It provides both color
1565 shaded-surface display and simple volumetric rendering in either index
1566 or true color. For shaded surface rendering, the PolyPaint+ routines
1567 first compute the polygon set that describes a desired surface within
1568 the 3D data volume. These polygons are then rendered as continuously
1569 shaded surfaces. PolyPaint+ contains a wide variety of options that
1570 control lighting, viewing, and shading. Objects rendered volumetrically
1571 may be viewed along with shaded surfaces. Additional data sets can be
1572 overlaid on shaded surfaces by color coding the data according to a
1573 specified color ramp. 3D visualizations can be viewed in stereo for
1574 added depth perspective.
1575 Currently supported 3D visualizations are the following:
1578 - Transparent contour shells or isosurfaces at varying levels
1579 - Volumetric or density plot
1582 - Topographic surface from 2D geographic data sets
1584 3D data volumes may be sliced in the X, Y, or Z plane using an
1585 interactive cutting plane. A cross section of the data volume can be
1586 viewed in a 2D window as a 2D contour plot, a vector plot, a raster
1587 image or a combination of these options superimposed. Map outlines can
1588 be used as a background for 2D cross section plots of geographic data.
1589 All data is projected according to the coordinates specified by the user
1590 for the cross section window.
1592 The user interface provides direct manipulation tools for specifying the
1593 eye position, center of view, light sources, and color ramps. Subsetting
1594 of data can be done easily by selecting the data by index or geographic
1595 coordinate. On-line contextual help provides easy access to more detail
1596 about the software. Tutorials which range from very simple
1597 visualizations to complex combinations of data sets provide the user
1598 with a quick learning tool.
1600 Currently PolyPaint+ accepts only data which is in the NetCDF file
1601 format. A file conversion utility which converts from raw binary data to
1602 netCDf is a part of the application.
1604 PolyPaint+ is a joint effort of the University of Colorado and NCAR
1605 (National Center for Atmospheric Research) funded by the NASA AISRP
1606 program. A beta version of PolyPaint+ is currently available free of
1607 charge using FTP or for a nominal fee which would cover tape
1608 distribution. A license agreement must be signed in order to use it.
1612 - TELEPHONE : 303-492-7289 (Margi Klemp) : 303-497-8159 (Bill Boyd)
1616 University of Colorado / LASP
1621 - E-MAIL : margi@aries.colorado.edu
1623 Pomegranate {#Pomegranate}
1624 -----------------------------------------
1626 The P9E Team at NASA JPL has developed
1627 [Pomegranate](http://pomegranate.jpl.nasa.gov/), a python application
1628 that "webifies" science data files. Supported formats include netCDF,
1629 HDF4, HDF5, GRIB and FITS.
1631 Pomegranate can be installed on web servers as either a WSGI or CGI
1632 application to provide webification (w10n) services. To learn more about
1633 w10n of science data files, please visit <http://webification.org/>. A
1634 brief [help](http://pomegranate.jpl.nasa.gov/test/help.txt) document
1635 describes how to use the [demo
1636 directory](http://pomegranate.jpl.nasa.gov/test) to browse or download
1637 metadata or data in netCDF, JSON, or other formats by clicking on data
1638 folder and document icons.
1640 Pomegranate can also be used as a standalone library or command line
1641 application. This greatly simplifies the retrieval of metadata and data
1642 from files in supported formats.
1644 Pomegranate is open source software and can be downloaded from
1645 <http://www.openchannelsoftware.com/projects/Pomegranate/>.
1647 PyNGL and PyNIO {#PyNGL}
1648 ---------------------------------------
1650 NCAR's Computational and Information Systems Laboratory has developed
1651 [PyNGL](http://www.pyngl.ucar.edu/), a python package for scientific
1652 visualization and data analysis and
1653 [PyNIO](http://www.pyngl.ucar.edu/Nio.shtml), a Python package
1654 supporting access to a variety of data formats using an interface
1657 Python interfaces {#Python}
1658 ------------------------------------------
1660 Python is an interpreted, object-oriented language that is supported on
1661 a wide range of hardware and operating systems. Python information and
1662 sources can be obtained from <http://www.python.org/>. There are now
1663 several netCDF interfaces for Python.
1665 Jeff Whitaker of the NOAA Earth System Research Lab has developed a
1666 netCDF-4 module for python: <http://code.google.com/p/netcdf4-python/>.
1667 Most new features of netCDF-4 are implemented, such as multiple
1668 unlimited dimensions, groups and zlib data compression. All the new
1669 numeric data types (such as 64-bit and unsigned integer types) are
1670 implemented. Compound and variable length (vlen) data types are
1671 supported, but the enum and opaque data types are not. Mixtures of
1672 compound and vlen data types (compound types containing vlens, and vlens
1673 containing compound types) are not supported.
1675 [xray](#xray) is a higher-level interface that uses netcdf4-python
1676 internally to implement a pandas-like package for N-D labelled arrays
1677 for scientific data.
1679 André Gosselin of the Institut Maurice-Lamontagne, Péches & Océans
1680 Canada, has implemented pycdf, a new Python interface to the netCDF
1681 library. It is available from <http://pysclint.sourceforge.net/pycdf/>,
1682 where you will find the install files, installation instructions,
1683 extensive documentation in text and html format, and examples. pycdf
1684 requires the Numeric python package, and installs through the simple
1685 "python setyp.py install" command.
1687 Bill Noon (noon@snow.cit.cornell.edu) has implemented another netCDF
1688 Python module that allows easy creation, access, and browsing of netCDF
1689 data. The bindings also use the [udunits library](/software/udunits/) to
1690 do unit conversions. More information and source for Noon's Python
1691 netCDF module are available from
1692 <http://snow.cit.cornell.edu/noon/ncmodule.html>.
1694 The package from Konrad Hinsen has been integrated into his
1695 [ScientificPython](https://sourcesup.cru.fr/projects/scientific-py/)
1698 Dave Brown of NCAR's Computational and Information Systems Laboratory
1699 has developed [PyNIO](http://www.pyngl.ucar.edu/Nio.shtml), a Python
1700 package that allows read and/or write access to a variety of data
1701 formats using an interface modelled on netCDF. Currently supported
1702 formats include netCDF, HDF4, GRIB1 and GRIB2 (read only), and HDF-EOS 2
1703 Grid and Swath data (read only).
1705 Vicente Galiano of Miguel Hernandez University has developed a Python
1706 interface to PnetCDF. This Python's package called "PyPnetCDF" allows
1707 access to NetCDF files using MPI and the library pnetCDF developed by
1708 http://www.mcs.anl.gov/parallel-netcdf/. The tools are very similar to
1709 Konrad Hinsen's NetCDF package to Python but can read and write in a
1710 parallel way. For more information, see:
1711 <http://www.pyacts.org/pypnetcdf>.
1713 Pupynere (PUre PYthon NEtcdf REader) Roberto
1714 De Almeida has developed
1715 [pupynere](http://pypi.python.org/pypi/pupynere/), a PUre PYthon NEtcdf
1716 REader that allows read-access to netCDF files using the same syntax as
1717 the Scientific.IO.NetCDF Python module. Even though it's written in
1718 Python, the module is up to 40% faster than Scientific.IO.NetCDF and
1722 -------------------------------
1724 The R Project for Statistical Computing has developed
1725 [R](http://www.R-project.org/), a language and environment for
1726 statistical computing and graphics. It provides a wide variety of
1727 statistical and graphical techniques, including linear and nonlinear
1728 modelling, statistical tests, time series analysis, classification, and
1731 David Pierce has contributed the [ncdf4
1732 package](http://cran.r-project.org/web/packages/ncdf4/index.html) for
1733 reading netCDF data into R and for creating new netCDF dimensions,
1734 variables, and files, or manipulating existing netCDF files from R.
1736 Pavel Michna has contributed another package,
1737 [RNetCDF](http://cran.r-project.org/web/packages/RNetCDF/index.html),
1738 that also provides access to netCDF data and to udunits calendar
1741 Robert Hijmans (with additional contributors) has created the [R raster
1742 package](http://cran.r-project.org/web/packages/raster/index.html) for
1743 geographic data analysis and modeling. The raster package can be used
1744 for reading, writing, manipulating, analyzing and modeling gridded
1745 spatial data. The package is especially useful for large datasets that
1746 don't fit into memory, because data is processed in chunks. See
1747 [Introduction to the 'raster'
1748 package](http://cran.r-project.org/web/packages/raster/vignettes/Raster.pdf)
1749 for more information.
1751 Quantum GIS (QGIS) {#QGIS}
1752 -----------------------------------------
1754 [Quantum GIS](http://www.qgis.org/) (QGIS) is an Open Source Geographic
1755 Information System (GIS) licensed under the GNU General Public License.
1756 QGIS is an official project of the Open Source Geospatial Foundation
1757 (OSGeo). It runs on Linux, Unix, Mac OSX, and Windows and supports
1758 numerous vector, raster, and database formats and functionalities. QGIS
1759 supports a desktop, browser, server, and client for viewing, editing,
1760 analysis, serving, and accessing data. Its server complies with the OGC
1761 WMS 1.3 standard. In addition to PostGIS and SpatiaLite formats, it can
1762 access data in vector formats supported by the OGR library as well as
1763 most raster formats supported by the GDAL library, including netCDF. For
1764 a more detailed list of features of the QGIS desktop, browser, server,
1765 and client, see the [QGIS features
1766 page](http://www.qgis.org/en/about-qgis/features.html).
1768 Ruby interface {#Ruby}
1769 -------------------------------------
1771 A group at the Research Institute for Sustainable Humanosphere (RISH) of
1772 Kyoto University has developed a [netCDF interface for
1773 Ruby](http://www.gfd-dennou.org/arch/ruby/products/ruby-netcdf/), an
1774 interpreted, object-oriented scripting language. This interface is
1775 intended to cover all the functionality of the C library for netCDF.
1776 Also available are combination functions such as iterators (which offer
1777 abstract ways to scan files and variables). Numeric arrays are handled
1778 by the "NArray" multi-dimensional array class, which is becoming the de
1779 facto standard multi-dimensional array for Ruby. See also the Ruby-based
1780 [GPhys software and Gfdnavi tool](#Gfdnavi) for accessing GRIB, GrADS,
1781 and netCDF data uniformly.
1783 More information about Ruby is available from the [Ruby web
1784 site](http://www.ruby-lang.org/).
1786 Scientific DataSet (SDS) Library {#SDS}
1787 ------------------------------------------------------
1789 The [Scientific DataSet Library and Tools
1790 project](http://sds.codeplex.com), developed jointly by Microsoft
1791 Research Cambridge and Moscow State University, is aimed at manipulation
1792 and visualization of multidimensional data sets.
1794 Scientific DataSet (or SDS in short) is a .NET class library for
1795 manipulating scientific data and their metadata. SDS provides a unified
1796 API for convenient access to various data storages. Three types of
1797 storages are supported by the first release: NetCDF files, CSV text
1798 files and volatile in-memory datasets. SDS uses native NetCDF library
1799 built from version 4.0.1 both for 32 and 64-bit Windows platforms. New
1800 storage types can be added to SDS infractructure as plugins. Support for
1801 accessing TIFF image files from SDS as 2D arrays will be available soon
1802 as a separate CodePlex project.
1804 Three applications are built on top of SDS:
1806 - sds command line utility. It allows users to examine data set
1807 schema, copy data sets, modify their metadata.
1808 - DataSetViewer application for visualization of data sets.
1809 DataSetViewer is both a standalone application and Windows
1810 Presentation Foundation Control that can be built into your
1811 applications. DataSetViewer has support for interactive slicing of
1812 multidimensional data along any dimension.
1813 - DataSetEditor add-in for Microsoft Office Excel. DataSetEditor
1814 provides ability to view and modify the contents of any data set as
1817 You can read the Getting Started document at
1818 <http://sds.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=127282>
1819 for a more detailed introduction to the Scientific DataSet software. A
1820 Windows Installation package for SDS binaries along with DataSet Viewer
1821 and DataSet Editor are available also. You can also build core class
1822 libraries and the sds utility under Mono. You may use, copy, and
1823 reproduce this software for any non-commercial purpose. For further
1824 details see license at <http://sds.codeplex.com/license>.
1826 The SDS project is in beta phase and keeps evolving. You are welcome to
1827 join discussions or report issues at the CodePlex site:
1828 <http://sds.codeplex.com>.
1830 Apache Spatial Information System (SIS) {#SIS}
1831 -------------------------------------------------------------
1833 [Apache Spatial Information System
1834 (SIS)](https://builds.apache.org/job/sis-trunk/site/index.html) is a
1835 Java library for developing geospatial applications. SIS enables
1836 representation of coordinates for searching, data clustering, archiving,
1837 or any other relevant spatial needs. The library is an implementation of
1838 GeoAPI 3.0 interfaces and can be used for desktop or server
1841 SIS provides data structures for geographic data and associated metadata
1842 along with methods to manipulate those data structures. The SIS metadata
1843 module forms the base of the library and enables the creation of
1844 metadata objects which comply with the ISO 19115 metadata model and
1845 which can be read from or written to ISO 19139 compliant XML documents.
1846 The SIS referencing module will enable the construction of geodetic data
1847 structures for geospatial referencing based on the ISO 19111 model such
1848 as axis, projection and coordinate reference system definitions, along
1849 with the associated operations which enable the mathematical conversion
1850 of coordinates between different systems of reference. The SIS storage
1851 modules will provide a common approach to the reading and writing of
1852 grid coverages applicable to simple imagery and multidimensional data
1855 SIS supports creating ISO 19115 metadata from metadata in a netCDF store
1856 from a given file, URL, stream, or NetcdfFile object. SIS netCDF storage
1857 is intended to be a bridge between NetCDF Climate and Forecast (CF)
1858 conventions and ISO 19115 metadata.
1860 SIS is under developement as an Apache project. Release 0.3 is currently
1861 available for download.
1863 Tcl/Tk interfaces {#TclTk}
1864 ------------------------------------------
1866 Dan Schmitt has developed [cdftcl](http://cnrit.tamu.edu/rsg/cdftcl/), a
1867 [Tcl/Tk](http://www.scriptics.com/) interface for netCDF. It allows the
1868 use of "wildcards" (\*) or ranges (1-4) in the subscript notation, and
1869 use of name references instead of variable IDs. Contact dan@computer.org
1870 for more information.
1873 ---------------------------------
1875 [Tcl-nap](http://tcl-nap.sourceforge.net) (n-dimensional array
1876 processor) is a loadable extension of Tcl which provides a powerful and
1877 efficient facility for processing data in the form of n-dimensional
1878 arrays. It has been designed to provide an array-processing facility
1879 with much of the functionality of languages such as
1880 [APL](http://www.acm.org/sigapl/), Fortran-90, [IDL](#IDL),
1881 [J](http://www.jsoftware.com/), [matlab](http://www.mathworks.com), and
1882 [octave](http://www.octave.org/).
1884 Support is provided for data based on n-dimensional grids, where the
1885 dimensions correspond to continuous spatial coordinates. There are
1886 interfaces to the HDF and netCDF file formats commonly used for such
1887 data, especially in Earth sciences such as Oceanography and Meteorology.
1889 The internal data structure is called a NAO (n-dimensional array object)
1890 and contains similar information to that of HDF SDSs and netCDF
1893 Tcl-nap was developed as part of the [CSIRO CAPS
1894 project](http://www.dar.csiro.au/rs/avhrr_processing_software.htm), but
1895 can be loaded and used without the (satellite oriented) CAPS extension.
1897 Visual Basic and VB.net interfaces {#VB}
1898 -------------------------------------------------------
1900 Carsten Wieczorrek has developed code in VB 6 to export chromatographic
1901 data into the netcdf/ANDI format. The application writes netCDF files
1902 that can be read by CHROMELEON, for example. For others interested in
1903 programming with netcdf.dll from VB 6, see Wieczorrek's web page on
1904 [netCDF and VB 6.0](http://www.mn-net.com/netcdf_vb6) and for VB.net,
1905 see [netCDF and VB.net](http://www.mn-net.com/netcdf_vbnet).
1908 -----------------------------
1910 [VisAD](http://www.ssec.wisc.edu/~billh/visad.html) is a Java class
1911 library for interactive and collaborative visualization and analysis of
1912 numerical data. It combines:
1913 - The use of pure Java for platform independence and to support data
1914 sharing and real-time collaboration among geographically distributed
1915 users. Support for distributed computing is integrated at the lowest
1916 levels of the system using Java RMI distributed objects.
1917 - A general mathematical data model that can be adapted to virtually
1918 any numerical data, that supports data sharing among different
1919 users, different data sources and different scientific disciplines,
1920 and that provides transparent access to data independent of storage
1921 format and location (i.e., memory, disk or remote). The data model
1922 has been adapted to netCDF, FITS, HDF-EOS, McIDAS, Vis5D, GIF and
1924 - A general display model that supports interactive 3-D, data fusion,
1925 multiple data views, direct manipulation, collaboration, and virtual
1926 reality. The display model has been adapted to Java3D and Java2D and
1927 used in an ImmersaDesk virtual reality display.
1928 - Data analysis and computation integrated with visualization to
1929 support computational steering and other complex interaction modes.
1930 - Support for two distinct communities: developers who create domain-
1931 specific systems based on VisAD, and users of those domain-specific
1932 systems. VisAD is designed to support a wide variety of user
1933 interfaces, ranging from simple data browser applets to complex
1934 applications that allow groups of scientists to collaboratively
1935 develop data analysis algorithms.
1936 - Developer extensibility in as many ways as possible.
1938 VisAD was written by programmers at the [SSEC Visualization
1939 Project](http://www.ssec.wisc.edu/~billh/vis.html) at the University of
1940 Wisconsin-Madison [Space Science and Engineering
1941 Center](http://www.ssec.wisc.edu/), and the [Unidata Program
1942 Center](/index.html).
1944 WebWinds {#WebWinds}
1945 -----------------------------------
1947 [WebWinds](http://www.openchannelsoftware.com/projects/WebWinds/) is a
1948 free Java-based science visualization and analysis package. In addition
1949 to several new analysis tools, the current fourth version does automatic
1950 scripting. This allows
1952 1. a user to rapidly and automatically create and store a session,
1953 either for his own use, or for use by a collaborator on another
1955 2. a data provider to automatically create a specialized analysis
1956 environment which can be downloaded (as a small script file) along
1957 with a dataset from a Website; and
1958 3. realtime collaboration or sharing of sessions over (even
1959 low-bandwidth) networks, including the Internet.
1961 This scripting requires no knowledge of the scripting language syntax.
1962 Several sample script files are included with the distribution.
1964 In addition, this version contains a capability to geo-reference some
1965 data and to read ASCII data in tabular format. Also new is the ability
1966 to output data in numerical form (e.g. NetCDF) and a context sensitive,
1967 integrated help system.
1969 As with earlier versions, data in several different formats, including
1970 NetCDF, can be read in easily from your local machine or from the Web.
1971 In addition, most data can be subset or subsampled on load, making it
1972 possible to visualize very large multidimensional and/or multispectral
1973 datasets. The package includes several step-by-step examples.
1974 Installation of the software (including Java) on the PC or Mac is a
1975 process requiring one file to be downloaded and opened. If you need help
1976 getting started, a remote tutorial is available once you've downloaded
1979 WebWinds is \`point and click' rather than language driven and it runs
1980 well on Unix, Windows (95/98/NT) and Mac platforms. It currently
1981 requires JDK 1.1. To download a copy of this release, go to
1982 <http://www.sci-conservices.com/rel4/webpage/wwhome.html>
1984 xray (Python N-D labelled arrays) {#xray}
1985 --------------------------------------------------------
1987 [xray](http://xray.readthedocs.org/en/stable/index.html) is an open
1988 source project and Python package that aims to bring the labeled data
1989 power of [pandas](http://pandas.pydata.org/) to the physical sciences,
1990 by providing N-dimensional variants of the core pandas data structures,
1991 Series and DataFrame: the xray DataArray and Dataset.
1993 xray adopts the [Common Data
1994 Model](http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/CDM)
1995 for self-describing scientific data in widespread use in the Earth
1996 sciences (e.g., netCDF and OPeNDAP): xray.Dataset is an in-memory
1997 representation of a netCDF file.
1999 xray is being developed by Stephan Hoyer, Alex Kleeman, and [other
2000 contributors](https://github.com/xray/xray/graphs/contributors).
2003 -----------------------------
2005 [Zebra](http://www.atd.ucar.edu/rdp/zebra.html) (formerly named Zeb) is
2006 a system for data ingest, storage, integration and display, designed to
2007 operate in both real time and postprocessing modes. Zebra was developed
2008 by Jonathan Corbet and others in NCAR's [Research Data
2009 Program](http://www.atd.ucar.edu/rdp/rdp_home.html).
2010 Zebra's primary use is for the superpositioning of observational data
2011 sets (such as those collected by satellite, radar, mesonet and aircraft)
2012 and analysis products (such as model results, dual-Doppler synthesis or
2013 algorithm output). Data may be overlaid on a variety of display types,
2014 including constant altitude planes, vertical cross-sections, X-Y graphs,
2015 Skew-T plots and time-height profiles. The fields for display, color
2016 tables, contour intervals and various other display options are defined
2017 using an icon based user-interface. This highly flexible system allows
2018 scientific investigators to interactively superimpose and highlight
2019 diverse data sets; thus aiding data interpretation.
2021 Data handling capabilities permit external analysis programs to be
2022 easily linked with display and data storage processes. The data store
2023 accepts incoming data, stores it on disk, and makes it available to
2024 processes which need it. An application library is available for data
2025 handling. The library functions allow data storage, retrieval and
2026 queries using a single applications interface, regardless of the data's
2027 source and organization. NetCDF data that conforms to Zebra conventions
2028 is supported by this interface.
2030 Zebra is currently available to the university research community
2031 through the NCAR/ATD Research Data Program. Email requests to
2032 rdp-support@atd.ucar.edu. More information is on the web page
2033 http://www.atd.ucar.edu/rdp/zebra.html.
2035 ------------------------------------------------------------------------
2037 User-Contributed Software {#user}
2038 ================================================
2040 Unidata makes available a separate
2041 [catalog](/software/netcdf/Contrib.html) to a
2042 [directory](ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/) of freely
2043 available, user-contributed software and documentation related to the
2044 netCDF library. This software may be retrieved by anonymous FTP. We
2045 haven't necessarily used or tested this software; we make it available
2048 The criteria for inclusion in the netcdf/contrib/ directory of
2049 user-contributed software are:
2051 - General usefulness to a significant part of the netCDF community
2053 - Infrequent need for updates
2056 ------------------------------------------------------------------------
2058 Commercial or Licensed Packages {#commercial}
2059 ===============================
2061 ASA ViewNcDap {#ViewNcDap}
2062 -----------------------------------------
2064 Applied Science Associates, Inc. has made the ASA View NC/Dap
2065 application freely available for
2066 [download](http://www.asascience.com/downloads). ViewNcDap is a
2067 stand-alone research-based tool (with included demonstration data) that
2068 allows a user to visualize four dimensional NetCDF and OPeNDAP data.
2069 ViewNcDap is a Windows application that includes temporal/time step
2070 functionality for viewing animations of data that include temporal
2071 information. The application may be used to visualize a variety of
2072 time-varying geospatial scientific data in a simple map framework. It
2073 handles CF conventions and includes some aliasing features that could
2074 permit additional formats to be read. It should not be considered a GIS
2075 system, but is used to quickly preview a variety of data on a simple
2076 map. Data may also be filtered and saved to a local netCDF file.
2079 -----------------------------
2081 [Avizo](http://www.avizo3d.com/) software is a powerful tool for 3D data
2082 visualization and analysis. It offers a comprehensive feature set that
2083 addresses visualization, processing, analysis, communication and
2084 presentation. [Avizo Green
2085 Edition](http://www.vsg3d.com/vsg_prod_avizo_green.php) includes an
2086 advanced set of features dedicated to climate, oceanography,
2087 environmental or earth-mapped data. It provides high-level support for
2088 the netCDF format, a dedicated Earth visualization module, and a set of
2089 advanced geographical projections applicable to a wide range of fast 2D
2090 and 3D data representations.
2092 For more information, see [www.avizo3d.com](http://www.avizo3d.com/).
2095 -------------------------
2097 [AVS](ftp://testavs.ncsc.org/avs/Info/WHAT_IS_AVS) (Application
2098 Visualization System) is a visualization application software and
2099 development environment. An AVS module has been written that allows
2100 multi-dimensional netCDF data sets to read into AVS as uniform or
2101 rectilinear field files. The AVS user can point and click to specify the
2102 name of the variable in the selected netCDF file, as well as selecting
2103 the hyperslab. If 1D coordinate variables exist (a variable that has the
2104 same name as a dimension) then the coordinate variable will be used to
2105 specify the coordinates of resulting rectilinear field file. If no
2106 coordinate variable exists, then the resulting field file will be
2107 uniform. Once in AVS, there are hundreds of analysis and display modules
2108 available for image processing, isosurface rendering, arbitrary slicing,
2109 alpha blending, streamline and vorticity calculation, particle
2110 advection, etc. AVS runs on many different platforms (Stardent, DEC,
2111 Cray, Convex, E and S, SET, Sun, IBM, SGI, HP, FPS and WaveTracer), and
2112 it has a flexible data model capable of handling multidimensional data
2113 on non-Cartesian grids.
2114 The module source code and documentation is available from the
2115 [International AVS Center](http://iac.ncsc.org/), in the
2116 <ftp://testavs.ncsc.org/avs/AVS5/Module_Src/data_input/read_netcdf/>
2119 See also the information on [DDI](#DDI) for another way to use netCDF
2122 Barrodale UFI {#BCS-UFI}
2123 ---------------------------------------
2125 [Barrodale Computing Services Ltd.](http://www.barrodale.com) (BCS) has
2126 developed a product that addresses one of the main objections heard from
2127 "technologists" (e.g., scientists, engineers, and other researchers) who
2128 avoid using databases to manage their data: "my very large data files
2129 are too cumbersome/difficult/slow/costly to load into a database". In
2130 addition to netCDF, these files come in a variety of formats (HDF5,
2131 GRIB, NITFS, FITS, etc.).
2133 This BCS product is called the [Universal File Interface
2134 (UFI)](http://www.barrodale.com/bcs/universal-file-interface-ufi); it's
2135 a database extension based on the IBM Informix Virtual Table Interface
2136 (VTI). *(Please continue reading even if you don't have Informix running
2137 on your system, because IBM has just made available, at no charge, the
2139 Edition](http://www-01.ibm.com/software/data/informix/innovator-c-edition/)
2140 of Informix.)* A demo that uses UFI to access wind speeds can be seen
2141 [here](http://www.barrodale.com/bcs/universal-file-interface-animation).
2143 VTI is a technology that supports making external datasets appear as
2144 tables to SQL queries and statements. UFI is a BCS database extension
2145 for delivering the contents of external data files as though they were
2146 rows in a database table. UFI makes a file look like a set of database
2147 tables, so "UFI managed tables" are actually virtual database tables.
2148 Consequently, users of UFI can perform SQL queries on their files
2149 without having to first load them into a database.
2151 DioVISTA/Storm {#DioVISTAStorm}
2152 -----------------------------------------------
2154 [DioVISTA/Storm](http://www.hitachi-power-solutions.com/products/product03/p03_61.html)
2155 is a commercial software package that visualizes content of netCDF files
2156 as a time series of grids, isosurfaces, and arrows on a 3D virtual
2157 earth. Its user interface is similar to standard 3D earth visualizing
2158 software. It displays OGC KML files, Shapefiles, and online map
2159 resources through OGC Web Tile Map Services (WTMS). It supports CF
2160 Conventions version 1.6 (lon-lat-alt-time axis and trajectory). Its
2161 first version was released on Aug 5 2014.
2163 Environmental WorkBench {#Environmental_WorkBench}
2164 -----------------------------------------------------------------
2166 [SuperComputer Systems Engineering and Services
2167 Company](http://www.ssesco.com/) (SSESCO) has developed the
2168 [Environmental WorkBench](http://www.ssesco.com/files/ewb.html) (EWB),
2169 an easy to use visualization and analysis application targeted at
2170 environmental data. The EWB currently has numerous users in the fields
2171 of meteorological research, air quality work, and groundwater
2173 EWB system features include:
2175 - Random access file structure using the netCDF-based public domain
2176 MeRAF file system with support for gridded, discrete (non-grid-based
2177 observation), and particle types
2178 - Support for geo-referenced or Cartesian coordinate systems
2179 - Object oriented Graphical User Interface (GUI) that is very easy to
2181 - Tools for converting model and observational data sets and data
2183 - Interactive rotation/translation of scenes in 3D space
2184 - Time sequencing controls to step forward/backward, animate
2185 sequentially, or go to a chosen time step; including multiple
2186 asynchronous or non-uniform time steps
2187 - Interactive slicers to select cross sections through 3D data sets
2188 - Display operators available on the slices, including
2189 - Contour lines with selectable contour levels
2190 - Color shading by data value with variable transparency level
2191 - Arrow and streamline representation for vector quantities
2192 - Positional reference lines at user selected intervals
2193 - Color coded shapes at each grid node
2194 - Multiple 3D isosurfaces at selected parameters and values with
2195 variable transparency
2196 - Display of particle positions with coloring by type, height, and
2198 - Display of discrete data using colored spheres and labels for scalar
2199 data and arrows for vectors (with arrowheads or meteorological
2201 - Multiple user definable color maps to which isosurface and colored
2202 field shading may be separately assigned
2203 - On screen annotation for generation of report ready figures
2204 - Image export in any of the common image formats (gif, tiff,
2205 encapsulated postscript, etc.)
2206 - Graceful handling of missing or bad data values by all the graphics
2208 - Automatic data synchronization to allow automatic screen updating as
2209 new data arrives in real-time from a model or set of sensors
2210 - Two and three dimensional interpolation from scattered observations
2211 to a grid, using the Natural Neighbor Method. This robust volume
2212 based method yields results far superior to distance weighting
2215 Systems currently supported include Win95, WinNT, OS/2, IBM RS/6000,
2216 Silicon Graphics, HP and SUN workstations.
2218 SSESCO has implemented a meta-file layer on top of the netCDF library,
2219 called MeRAF. It handles multiple netCDF files as well as automatic
2220 max-min calculations, time-varying gridded, particle, and discrete data,
2221 logical groupings for discrete data, and an overall simplified and
2222 flexible interface for storing scientific data. MeRAF is being used by
2223 the DOE at the Hanford-Meteorological Site for observational data and
2224 will be used for their weather-modeling.
2227 ---------------------------
2229 [ESRI ArcGIS](http://www.esri.com/software/arcgis/index.html) version
2230 9.2 and later support [accessing netCDF time-based and multidimensional
2231 data](http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=An_overview_of_data_support_in_ArcGIS)
2232 that follows CF or COARDS conventions for associating spatial locations
2233 with data. A selected slice of netCDF data may be displayed in ArcGIS as
2234 a raster layer, feature layer, or table. You can also drag a netCDF file
2235 from Windows Explorer and drop it in an ESRI application such as ArcMap.
2238 -------------------------
2240 [FME](http://www.safe.com/fme), developed by [Safe Software
2241 Inc.](http://www.safe.com), is a tool for transforming data for exchange
2242 between over [300 different formats and
2243 models](http://www.safe.com/fme/format-search/), including netCDF. FME's
2244 read and write support for netCDF allows users to move data into the
2245 netCDF common standard, regardless of its source, and conversely enables
2246 end-users to consume netCDF data for use in their preferred systems. For
2247 more information visit <http://www.safe.com/fme>.
2249 HDF Explorer {#HDF-Explorer}
2250 -------------------------------------------
2252 [HDF Explorer](http://www.space-research.org/) is a data visualization
2253 program that reads the HDF, HDF5 and netCDF data file formats (including
2254 netCDF classic format data). HDF Explorer runs in the Microsoft Windows
2257 HDF Explorer offers a simple yet powerful interface for the
2258 visualization of HDF and netCDF data. The data is just a click of the
2259 mouse away. Data is first viewed in a tree-like interface, and then
2260 optionally loaded and visualized in a variety of ways. HDF Explorer
2261 features include fast access to data, grid, scalar and vector views. It
2262 also allows exporting your data either as an ASCII text file or a bitmap
2265 IDL Interface {#IDL}
2266 -----------------------------------
2268 [IDL](http://www.exelisvis.com/ProductsServices/IDL.aspx) (Interactive
2269 Data Language) is a scientific computing environment, developed and
2270 supported by [Excelis Visual Information
2271 Solutions](http://www.exelisvis.com/), that combines mathematics,
2272 advanced data visualization, scientific graphics, and a graphical user
2273 interface toolkit to analyze and visualize scientific data. Designed for
2274 use by scientists and scientific application developers, IDL's
2275 array-oriented, fourth-generation programming language allows you to
2276 prototype and develop complete applications. IDL now supports data in
2278 As an example, here is how to read data from a netCDF variable named GP
2279 in a file named "data/aprin.nc" into an IDL variable named gp using the
2282 id = ncdf_open('data/april.nc')
2283 ncdf_varget,id, ncdf_varid( id, 'GP'), gp
2285 Now you can visualize the data in the gp variable in a large variety of
2286 ways and use it in other computations in IDL. You can FTP a demo version
2287 of IDL, including the netCDF interface, by following the instructions in
2288 pub/idl/README available via anonymous FTP from gateway.rsinc.com or
2289 boulder.colorado.edu.
2290 Other software packages that use or interoperate with IDL to access
2291 netCDF data includes [ARGOS](#ARGOS), [CIDS Tools](#CIDS_Tools),
2292 [DDI](#DDI), [HIPHOP](#HIPHOP), [Hyperslab OPerator Suite
2293 (HOPS)](Hyperslab_OPerator_Suite_(HOPS)), and [Noesys](Noesys).
2295 InterFormat {#InterFormat}
2296 -----------------------------------------
2298 [InterFormat](http://www.radio-logic.com/) is a medical image format
2299 conversion program with both Motif and character interfaces. InterFormat
2300 can automatically identify and convert most popular medical image
2301 formats and write output files in many standard medical image formats,
2302 or in formats such as netCDF that are suitable for input to leading
2303 scientific visualization packages. InterFormat runs on UNIX
2304 workstations; a version for OpenVMS is also available. A separate
2305 external module for [IBM Data Explorer](#OpenDX) is available for use in
2306 IBM Data Explorer's Visual Program Editor.
2307 For more details about the formats handled, program features, and
2308 pricing, see the Radio-Logic web site at
2309 [<http://www.radio-logic.com>](http://www.radio-logic.com).
2311 IRIS Explorer Module {#IRIS_Explorer_Module}
2312 -----------------------------------------------------------
2314 The Atmospheric and Oceanic Sciences Group at the National Center for
2315 Supercomputing Applications (NCSA) and the Mesoscale Dynamics and
2316 Precipitation Branch at NASA-Goddard Space Flight Center have developed
2317 the NCSA PATHFINDER module set for [IRIS
2318 Explorer](http://www.nag.co.uk:70/1h/Welcome_IEC). Two of the modules,
2319 [ReadDFG](http://redrock.ncsa.uiuc.edu/PATHFINDER/pathrel2/explorer/ReadDFG/ReadDFG.html)
2320 (to output Grids), and
2321 [ReadDF](http://redrock.ncsa.uiuc.edu/PATHFINDER/pathrel2/explorer/ReadDF/ReadDF.html)
2322 (to output Lattices) are capable of reading from NCSA HDF files,
2323 MFHDF/3.3 files, and Unidata netCDF files. A user-friendly interface
2324 provides control and information about the contents of the files.
2326 For ReadDF, the format translation is handled transparently. Up to five
2327 unique lattices may be generated from the file (as these files can
2328 contain multiple data fields) using a single module. A variety of
2329 dimensionalities and data types are supported also. Multiple variables
2330 may be combined in a single lattice to generate vector data. All three
2331 Explorer coordinate systems are supported.
2333 With ReadDFG, user selected variables from the file are output in up to
2334 five PATHFINDER grids. Each grid can consist of scalar data from one
2335 variable or vector data from multiple variables. Coordinate information
2336 from the file is also included in the grids. Any number of dimensions in
2337 any of the Explorer coordinate types are supported.
2339 For more information on the NCSA PATHFINDER project and other available
2340 modules, visit the WWW/Mosaic PATHFINDER Home Page at
2341 <http://redrock.ncsa.uiuc.edu/PATHFINDER/pathrel2/top/top.html> The
2342 ReadDF module may be downloaded either via the WWW server or anonymous
2343 ftp at redrock.ncsa.uiuc.edu in the /pub/PATHFINDER directory. For more
2344 information please send email to: pathfinder@redrock.ncsa.uiuc.edu
2346 See also the information on [DDI](#DDI) for another way to use netCDF
2347 data with IRIS Explorer.
2349 LeoNetCDF {#LeoNetCDF}
2350 -------------------------------------
2352 [LeoNetCDF](http://www.leokrut.com/leonetcdf.html) is a Windows
2353 application (Windows95/NT and higher) for editing netCDF files. It can
2354 display content of netCDF files in tree style control and permits
2355 editing its parameters in a standard Windows interface environment.
2357 Mathematica {#Mathematica}
2358 -----------------------------------------
2360 [Mathematica](http://www.wolfram.com/products/mathematica/index.html) is
2361 a technical computing environment that provides advanced numerical and
2362 symbolic computation and visualization. As of version 6, Mathematica
2363 adds classic [netCDF
2364 data](http://reference.wolfram.com/mathematica/ref/format/NetCDF.html)
2365 to the many forms of data it can import, export, and visualize.
2368 -------------------------------
2370 [MATLAB](http://www.mathworks.com/products/matlab/) is an integrated
2371 technical computing environment that combines numeric computation,
2372 advanced graphics and visualization, and a high-level programming
2373 language. Versions 7.7 and later of MATLAB have built-in support for
2374 reading and writing netCDF data. MATLAB version 2012a includes the
2375 netCDF 4.1.2 library with OPeNDAP client support turned on, so remote
2376 access to netCDF and other data formats supported by OPeNDAP servers is
2378 For earlier versions, several freely-available software packages that
2379 implement a MATLAB/netCDF interface are available:
2380 [nctoolbox](#nctoolbox), [NetCDF Toolbox for MATLAB-5](#NC4ML5),
2381 [MexEPS](#MexEPS), the [CSIRO MATLAB/netCDF interface](#CSIRO-MATLAB),
2383 reader](http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=15177&objectType=file),
2384 and [fanmat](/software/netcdf/Contrib.html).
2387 -------------------------------
2389 [Noesys](http://www.rsinc.com/NOeSYS/index.cfm) is software for desktop
2390 science data access and visualization. Available for both Windows and
2391 Power Macintosh platforms, Noesys allows users to access, process,
2392 organize and visualize large amounts of technical data.
2393 Noesys can be used to:
2395 - Access and organize complex technical data
2396 - Export data objects to text and binary
2397 - View and edit large multidimensional data sets (up to 7D) in a
2398 spreadsheet-like environment
2399 - Manipulate and process data using
2400 [IDL®](http://www.exelisvis.com/ProductsServices/IDL.aspx), the
2401 Interactive Data Language, from Research Systems, Inc.
2402 - Interactively visualize column, matrix, and volumetric data sets
2403 - Image global datasets as various map projections
2404 - Create various projections from partial data or partial projections
2405 from global data (Windows only)
2406 - View and Edit HDF-EOS grid object data
2407 - Subset datasets and data tables with a GUI dialog
2408 - Change and save the number format of datasets and data table fields
2409 - Drag and Drop HDF objects between files to organize or subset files
2410 - Attach text annotations directly to the data file
2411 - Add new data objects to files and create hierarchical groups
2412 - Edit or create new color palettes
2413 - Generate publication-quality graphics for data presentation
2415 Noesys has an interface to IDL®, allowing data to move back and forth
2416 between Noesys and IDL with the click of a mouse. Noesys includes the
2417 visual data analysis tools, Transform, T3D and Plot, for menu driven
2418 plotting, rendering, and image analysis. Noesys can import HDF, HDF-EOS,
2419 netCDF, ASCII, Binary, DTED, GeoTIFF, SDTS, TIFF, PICT, and BMP files,
2420 create annotations, macros, images, projections and color palettes
2421 specific to the data and save it the result as an HDF file. Noesys also
2422 includes an HDF-EOS Grid Editor. Noesys runs on Windows 95/98 & NT and
2423 Power Macintosh OS. More details and information about ordering Noesys
2425 [<http://www.rsinc.com/NOeSYS/index.cfm>](http://www.rsinc.com/NOeSYS/index.cfm).
2428 -------------------------------
2430 Ryan Toomey reports:
2432 Our website is <http://www.originlab.com/>
2434 A general description of Origin: Origin includes a suite of features
2435 that cater to the needs of scientists and engineers alike. Multi-sheet
2436 workbooks, publication-quality graphics, and standardized analysis tools
2437 provide a tightly integrated workspace for you to import data, create
2438 and annotate graphs, explore and analyze data, and publish your work. To
2439 ensure that Origin meets your data analysis requirements, intuitive
2440 tools for advanced statistics, regression, nonlinear curve fitting,
2441 signal processing, image processing and peak analysis are built-in.
2442 Since any analysis operation can be set to automatically recalculate,
2443 you can reuse your projects as templates for future work, thereby
2444 simplifying your daily routine.
2446 A general description of OriginPro: OriginPro offers all of the features
2447 of Origin plus extended analysis tools for statistics, 3D fitting, image
2448 processing and signal processing.
2450 A general description of OriginLab Corporation: "OriginLab Corporation
2451 produces professional data analysis and graphing software for scientists
2452 and engineers. Our products are designed to be easy-to-use, yet have the
2453 power and versatility to provide for the most demanding user."
2456 -----------------------------
2458 [Plot-Plus (PPLUS)](http://dwd6.home.mindspring.com/) is a general
2459 purpose scientific graphics package, which is used in several PMEL
2460 applications. It will read most standard ascii or binary files, as well
2461 as netCDF file format, which used by the TOGA-TAO Project and the EPIC
2462 system for management display and analysis. PPLUS is an interactive,
2463 command driven, scientific graphics package which includes features such
2464 as Mercator projection, Polar Stereographic projection, color or gray
2465 scale area-fill contour plotting, and support for many devices:
2466 X-windows, PostScript, HP, Tektronix, and others. This powerful and
2467 flexible package recognizes netCDF data format, and it can extract axis
2468 lables and graph titles from the data files. The user can customize a
2469 plots, or combine several plots into a composite. Plots are of
2470 publication quality. The PPLUS graphics package is used for all the TAO
2471 workstation displays, including the animations. The animations are
2472 created by generating a PPLUS plot for each frame, transforming the
2473 PPLUS metacode files into HDF format with the PPLUS m2hdf filter, and
2474 then displaying the resulting bit maps as an animation with the
2475 XDataSlice utility, which is freely available on Internet from the
2476 National Center for Supercomputing Applications, at
2477 anonymous@ftp.ncsa.uiuc.edu (141.142.20.50). There is also a new m2gif
2478 utility which produces GIF files from PPLUS metacode files.
2479 PPLUS is supported for most Unix systems and for VAX/VMS, and is in use
2480 at many oceanographic institutes in the US (e.g., (PMEL, Harvard, WHOI,
2481 Scripps, NCAR, NASA, University of Rhode Island, University of Oregon,
2482 Texas A&M...) and also internationally (Japan, Germany, Australia,
2485 Plot Plus is now available at no charge. It does require licensing on a
2486 per computer basis, but the license is at no cost. For more information
2487 about licensing, see
2488 [http://dwd6.home.mindspring.com/pplus_license.html/](http://dwd6.home.mindspring.com/pplus_license.html);
2489 source and documentation are available via anonymous FTP from
2490 <ftp://ftp.halcyon.com/pub/users/dwd/pplus1_3_2.tar.gz> and
2491 <ftp://ftp.pmel.noaa.gov/epic/manual-dir/pplus.pdf>.
2493 Email: plot_plus@halcyon.com
2494 Postal mail: c/o Donald Denbo
2497 Fax and Voice: (206) 366-0624
2500 ---------------------------------
2502 [PV-Wave](http://www.vni.com/products/wave/index.html) is a software
2503 environment from [Visual Numerics](http://www.vni.com/) for solving
2504 problems requiring the application of graphics, mathematics, numerics
2505 and statistics to data and equations.
2506 PV-WAVE uses a fourth generation language (4GL) that analyzes and
2507 displays data as you enter commands. PV-WAVE includes integrated
2508 graphics, numerics, data I/O, and data management. The latest version of
2509 PV-Wave supports data access in numerous formats, including netCDF.
2511 See also the information on [DDI](#DDI) for another way to use netCDF
2514 Slicer Dicer {#SlicerDicer}
2515 ------------------------------------------
2517 [Slicer Dicer](http://www.slicerdicer.com/) is a volumetric data
2518 visualization tool, currently available for Windows and under
2519 development for other platforms. The Slicer Dicer Web site includes a
2520 complete list of features, an on-line user's guide, and examples of
2521 Slicer Dicer output. Visualizations features include:
2522 - Perspective view of data rendered on interactively selected
2523 orthogonal slices, oblique slices, blocks (arbitrary rectilinear
2524 sub-volumes), cutouts, isosurfaces, and projected volumes (projected
2525 maximum, minimum, maximum absolute, or minimum absolute).
2526 - Optional annotations: caption, axes ticks and labels (default
2527 "pretty" ticks, or override to place ticks where you want them),
2528 color legend, data-cube outline.
2529 - Animation modes: slices, space, time (any parametric dimension),
2530 transparency, oblique slice orientation, rotation. Built-in
2531 animation viewer supports speed and image size controls,
2532 single-step, forward, backward, loop, and back-and-forth modes.
2533 - Select color scale from 25+ built in color tables, or import from
2534 palette file. Any data level or range of levels can be painted with
2536 - Any data level or range of levels can be rendered as either opaque
2540 ------------------------------------------
2542 [Surfer](http://www.goldensoftware.com/products/surfer) is a 3D
2543 visualization, contouring, and surface modeling package that runs
2544 under Microsoft Windows. Surfer is useful for terrain modeling,
2545 bathymetric modeling, landscape visualization, surface analysis,
2546 contour mapping, watershed and 3D surface mapping, gridding,
2547 volumetrics, and more. A sophisticated interpolation engine transforms
2548 XYZ data into publication-quality maps. Surfer imports from and
2549 exports to a multitude of file formats, including NetCDF grids.
2552 ---------------------------
2554 [vGeo](http://www.vrco.com/products/vgeo/vgeo.html) (Virtual Global
2555 Explorer and Observatory) is an end-user product from
2556 [VRCO](http://www.vrco.com/) designed to import and visualize multiple
2557 disparate data sets, including computer simulations, observed
2558 measurements, images, model objects, and more. vGeo is available for
2559 IRIX, Linux and Windows platforms and supports displays ranging from
2560 desktop monitors to multi-walled projection systems. It accepts data in
2561 a variety of formats, including netCDF, and allows the user to specify
2562 how multiple files and variables are mapped into a data source. 3D
2563 graphics are built from the underlying data in real-time, and the user
2564 has interactive control of graphics, navigation, animation, and more.
2566 VISAGE and Decimate {#VISAGE_and_Decimate}
2567 ---------------------------------------------------------
2569 [VISAGE](http://www.crd.ge.com/esl/cgsp/projects/visage/)
2570 (VISualization, Animation, and Graphics Environment) is a turnkey 3D
2571 visualization system developed at General Electric Corporate Research
2572 and Development, (Schroeder, WJ et al, "VISAGE: An Object-Oriented
2573 Scientific Visualization System", Proceedings of Visualization \`92
2574 Conference). VISAGE is designed to interface with a wide variety of
2575 data, and uses netCDF as the preferred format.
2577 VISAGE is used at GE Corporate R & D, GE Aircraft Engine, GE Canada, GE
2578 Power Generation, as well as ETH Zurich, Switzerland, MQS In Chieti,
2579 Italy, and Rensselaer Polytechnic Institute in Troy, New York.
2581 GE has another application called "Decimate" that does polygon
2582 reduction/decimation (Schroeder,WJ et al, "Decimation of Triangle
2583 Meshes", Proceedings of SIGGRAPH \`92). This application uses netCDF as
2584 a preferred format. Decimate is currently licensed to Cyberware, Inc.,
2585 makers of 3D laser digitizing hardware. Decimate is currently bundled
2586 with the scanners, and will soon be available as a commercial product.
2589 ---------------------------------
2591 [Makai Voyager](http://voyager.makai.com/), developed by Makai Ocean
2592 Engineering, Inc., is 3D/4D geospatial visualization software that
2593 enables users to import, fuse, view, and analyze large earth, ocean, and
2594 atmosphere scientific data as it is collected or simulated in a global
2595 geo-referenced GIS platform. The key differentiator of Makai Voyager is
2596 its level-of-detail (LOD) technology that enables users to stream big
2597 data rapidly over a network or the web.
2599 Features in Makai Voyager Version 1.2 include:
2601 - Preprocessing LiDAR, GIS, & volumetric data from common formats into
2603 - Volume rendering for large 4D (3D + time) data, such as NetCDF
2604 - Analysis tools and customizable graphs
2605 - WMS and other streamable formats
2607 Individual or group licenses are available for Windows (32- and 64-bit),
2608 Linux, and Mac OS X. A full-featured 30-day trial version of Makai
2609 Voyager is [available for download](http://voyager.makai.com).