/ NCO Homepage / Project / User's Guide / Discussion / Help / Developer / nco-announce / [CCSM Support Network] [DODS] [netCDF] [UDUnits]


Welcome to the netCDF Operator (NCO) Homepage

If you like NCO and want to send us a little money, click here:

Current version is 2.8.1 last updated on Wednesday, 27-Aug-2003 15:02:00 EDT


What is NCO?

The netCDF Operators, or NCO, are a suite of programs known as operators. Each operator is a standalone, command line program which is executed at the UNIX shell-level like, e.g., ls or mkdir. The operators take netCDF or HDF4 files as input, then perform a set of operations (e.g., deriving new data, averaging, hyperslabbing, or metadata manipulation) and produce a netCDF file as output. The operators are primarily designed to aid manipulation and analysis of gridded scientific data. The single command style of NCO allows users to manipulate and analyze files interactively and with simple scripts, avoiding the overhead (and some of the power) of a higher level programming environment. The NCO User's Guide illustrates their use with examples from the field of climate modeling and analysis.

The operators are as general as netCDF itself: there are no restrictions on the contents of the netCDF or HDF4 file(s) used as input. The internal routines of NCO are completely dynamic which means that NCO imposes no limit on the number of dimensions, sizes of variables, files etc. NCO is designed to be used both interactively and with large batch jobs. There are plenty of command line (i.e., runtime) options, but the defaults settings are often sufficient for everyday needs. NCO works on AIX, Alpha, ARM, *BSD, IRIX, Linux, NEC-SX, OSX, Solaris, Tru64, UNICOS, and Windows. The following operators are thoroughly described in the NCO User's Guide. Note that the “averagers” are misnamed because they perform many non-linear operations as well, e.g., total, minimum, maximum, RMS:


How to Contribute

In March, 2000, NCO became an Open Source project hosted by SourceForge.net in order to facilitate collaboration and code contribution by a wide variety of people. There is a TODO list about 200 items long! No matter what your programming background there is a task you can help with. From improving this cheesy webpage, to adding documentation, to helping design the new features and interfaces for future NCO capability, we need your help! The NCO project homepage contains mailing lists, discussion forums, and instructions for helping the NCO project.

As of June, 2003, you may use PayPal to donate money to support NCO development. Your donation will be distributed to NCO developers as an incentive for them to tackle TODO items on a pay-per-feature basis.

We will update the following counters to track the influence of monetary donations on NCO development:
Donations received between 20030624 and 20030818: US$0.00.
NCO features "incentivized" by these donations: None.

NCO News & Announcements


Version Summary


Download/CVS NCO Software

The best way to acquire NCO is with CVS. The second best way is to download the compressed tarfile here.

The NCO CVS Repository contains up-to-the-minute sources and is the easiest way to stay synchronized with NCO features. Retrieving NCO requires some familiarity with GNU development tools, especially CVS and Make. You must first log into the NCO CVS server:

cvs -d:pserver:anonymous@cvs.nco.sourceforge.net:/cvsroot/nco login

Simply hit return when asked for the CVS password. This logging in procedure is only required the first time you access the CVS server. Then you may retrieve any NCO distribution you wish. Usually you will wish to retrieve a recent tagged (i.e., released) version. This command retrieves and places NCO version 2.5.3 into a local directory named nco-2.5.3:

cvs -z3 -d:pserver:anonymous@cvs.nco.sourceforge.net:/cvsroot/nco co -r nco-2_5_3 -d nco-2.5.3 nco

This command retrieves the current ("bleeding edge") development version of NCO into a local directory named nco:

cvs -z3 -d:pserver:anonymous@cvs.nco.sourceforge.net:/cvsroot/nco co -kk nco

Track changes to the development version using

cd nco;cvs update -kk

One difference between running a "tagged" release (e.g., nco-2_5_3) and the development version is that the tagged release operators will print a valid version number (e.g., 2.5.3) when asked to do so with the -r flag (e.g., ncks -r). The development version simply places today's date in place of the version. Once the autotools builds are working more robustly, the confusion over versions should largely disappear.

Tarballs and pre-built binaries: NCO development is too shorthanded to upload tarballs to SourceForge (a PITA), or to provide prebuilt binary executables of any format. Volunteers or organizations interested in porting and providing NCO binaries on a variety of platforms (using, e.g., Compile Farm or HP Testdrive sites) would be very welcome to join the NCO team. Tarballs are usually up-to-date, but the binaries (e.g., RPM, .deb) tend to lag the current distribution by many months, if not years:


Documentation and User's Guide

View the NCO User's Guide in any of the following formats. nco.texi is the most up-to-date. nco.html, nco.info, nco.txt, and nco.xml are reasonably up-to-date. Files nco.dvi, nco.ps, and nco.pdf are out-of-date due to configuration problems with my texinfo utilities (but you can generate them yourself from nco.texi!)

Other documentation:

This pamphlet and slide presentation introduce and summarize the NCO operators. They were created by Sylvia Murphy of the NCAR Community Climate System Model Support Network.

README/ChangeLog/TODO

Files containing useful information about the current NCO distribution:


FAQ:

These questions show up almost as frequently as my mother. But they are more predictable:


Using NCO at UCI, NCAR, and SDSC

Users at UC Irvine, NCAR, and SDSC may find pre-built, almost up-to-date NCO executables in the following locations. These executables are unsupported and are almost guaranteed to be from different NCO versions and thus to behave slightly differently. (They are built from the main trunk, not a tagged version, and currently it is impossible to tell exactly what version they are). Moreover they may be compiled with debugging enabled and thus may be slower than custom built, optimized executables.


Known Problems with NCO and/or netCDF:


SourceForge.net Logo
/ NCO Homepage / Project / User's Guide / Discussion / Help / Developer / nco-announce / [CCSM Support Network] [DODS] [netCDF] [UDUnits]