7.0 Other methods and examining netCDF files

Obtaining ascii output of a netcdf file is possible.  There are several methods. First is to use ncdump or ncBrowse.  Both ncdump and ncBrowse produce the ascii output in the same format.  However this format is not particularly friendly if you want to import the data to a spreadsheet such as Excel.  The second method is to use Ferret, MATLAB or IDL.  An example is given from Ferret below.  The third method is to use publicly available routines such as cdf2asc or nc2text commands. I have not tested either of these routines.  

7.1 ncdump

This utility is a very useful program for those who do not have Matlab, IDL, Ferret, or ncBrowse and want to check the attributes and obtain the data from a netCDF file. On unix machines the man pages describe this command in detail (and its partner ncgen) or in the netCDF User's Guide for Fortran, (Chapter 10). To obtain the attributes of the current meter data one would

>ncdump -h rcm00683.cdf

Appendix 3 shows the output from this command. To obtain the speed data in this file

>ncdump -v speed rcm00683.cdf

or to obtain the speed and the direction data

>ncdump -v speed,direction rcm00683.cdf

The last command can lead to large files ascii files, but have a relatively simple structure and can be read by programs. However, the value of ncdump is that it allows one to check attributes and structure of netcdf files quickly and easily. A more convenient way to examine netCDF files is too be able to visualize the data using a graphical interface such as ncBrowse or Ferret.

7.2 Using Ferret to create ascii files

Ferret has the capability to read netcdf file directly, and it also has the capability to export variables in ascii format from a netcdf file. For example the ferret commands

USE sst05d19900108.nc
SHADE/X=0.25E:363.25E/Y=89.75S:89.75N SEA_SURFACE_TEMPERATURE[d=sst05d19900108.nc]
LIST/X=0.25E:363.25E/Y=0S/file=sea_surface_temperature SEA_SURFACE_TEMPERATURE[d=sst05d19900108.nc]
QUIT

will use the sea surface temperature netcdf file  (USE command), plot its contours (SHADE), and list the sea surface temperature field along the equator around the world to the file called  sea_surface_temperature (LIST).

The output of the LIST command in this case is a more friendly format than the output from ncdump, and can be imported into spreadsheet programs like excel, staroffice or gnumeric.

             sea surface temperature (1/100 degree C)
LATITUDE: 0 (interpolated)
DATA SET: ./sst05d19900108.nc
0.25E / 1: 32767.
0.75E / 2: 32767.
1.25E / 3: 17644.
1.75E / 4: 32767.
2.25E / 5: 32767.
2.75E / 6: 17704.
3.25E / 7: 32767.
3.75E / 8: 32767.
4.25E / 9: 32767.
4.75E / 10: 32767.

to


0.25W / 720: 17711.
0.25E / 721: 32767.
0.75E / 722: 32767.
1.25E / 723: 17644.
1.75E / 724: 32767.
2.25E / 725: 32767.
2.75E / 726: 17704.
3.25E / 727: 32767.

Note that ferret cannot list a large number of columns to a file, and thus the size of two dimensional arrays that are LISTed to a file is limited.