This disk has two primary components: a netCDF archive and an ASCII archive. Each contains all of the WOCE current meter records. Both formats are described here.
netCDF is a relatively compact binary format. It is self-documenting: that is, each file contains metadata that describe the file - where and when the data were gathered, which parameters are present, what their units are, etc. We have employed the netCDF format here in response to an initiative in the oceanographic community to establish a common data format. It appears at present that netCDF may eventually gain wide currency. It is both compact and flexible and is an excellect medium for time series and other dimensional data.
Our implementation of netCDF is based on a standard established by the Unidata Program Center of UCAR. The netCDF standard is described on UCAR's website:
From this site you can download a user's guide and software for several different operating systems.
The current meter records on this disk are presented as files that contain one or more time series. Each file corresponds to one instrument. Consider, for example, an experiment in which 30 instruments produced data. The experiment will be represented here by 30 files, one for each instrument. If a particular instrument recorded, say, speed, direction, temperature, and pressure, the file from that instrument will contain the following 6 time series: speed, direction, eastward component, northward component, temperature, and pressure. Note that we have redundantly included the two current components as well as speed and direction. In compliance with the WOCE/COARDS netCDF standard the file will also contain 3 additional series that measure time: (1) time in minutes since 0000 hrs 1 January 1980, (2) a date series with units of yyyymmdd, and (3) a time-of-day series with units of hhhhmmss.dd.
Software to access and manipulate netCDF is widely available. Of particular interest is ncBrowse, a Java-based graphical utility developed by Don Dembo of PMEL. ncBrowse allows you to examine netCDF files in detail. It will plot time series, construct and display contour plots, provide a tree view of a netCDF file's contents, extract and save subsets of the data, etc. Another useful utility is the Matlab/netCDF interface created by CSIRO. This add-on to Matlab allows you to extract and manipulate data from a netCDF file with a few simple commands.
The UCAR utility NCDUMP also is quite useful. NCDUMP reads a netCDF file and produces ASCII output that shows metadata and one or more of the time series in the file. NCDUMP is run from the UNIX or MS-DOS command-line interface. As an example, the listing below (in green) was produced by the command
ncdump -v speed rcm01000.nc > speed.cdl
In this command rcm01000.nc is the name of the input file, a netCDF current meter record on this disk. speed.cdl is the name of the output file, and is arbitrary (you can choose any name you wish). The command requests metadata and just one time series, current speed. -v is a flag that requests a particular time series or combination of time series. In this case only speed is requested.
netcdf rcm01000 {
dimensions:
time = 11831 ;
depth = 1 ;
latitude = 1 ;
longitude = 1 ;
variables:
int time(time) ;
time:long_name = "time" ;
time:units = "minutes since 1980-1-1 0:0:0" ;
time:data_min = 6563160 ;
time:data_max = 7272960 ;
float depth(depth) ;
depth:long_name = "depth" ;
depth:units = "meters" ;
depth:positive = "down" ;
depth:data_min = 210. ;
depth:data_max = 210. ;
float latitude(latitude) ;
latitude:long_name = "latitude" ;
latitude:units = "degrees_N" ;
latitude:data_min = -30.0032 ;
latitude:data_max = -30.0032 ;
float longitude(longitude) ;
longitude:long_name = "longitude" ;
longitude:units = "degrees_E" ;
longitude:data_min = 5.9958 ;
longitude:data_max = 5.9958 ;
int woce_date(time) ;
woce_date:long_name = "WOCE date" ;
woce_date:units = "yyyymmdd UTC" ;
woce_date:data_min = 19920623 ;
woce_date:data_max = 19931029 ;
float woce_time(time) ;
woce_time:long_name = "WOCE time" ;
woce_time:units = "hhmmss.dd UTC" ;
woce_time:data_min = 0. ;
woce_time:data_max = 230000. ;
float speed(time) ;
speed:long_name = "current speed" ;
speed:units = "meters per second" ;
speed:data_min = 0.0093 ;
speed:data_max = 0.6821 ;
float direction(time) ;
direction:long_name = "true direction (toward)" ;
direction:units = "degrees, clockwise from N" ;
direction:data_min = 0. ;
direction:data_max = 359. ;
float u(time) ;
u:long_name = "eastward velocity component" ;
u:units = "meters per second" ;
u:data_min = -0.4486 ;
u:data_max = 0.4254 ;
float v(time) ;
v:long_name = "northward velocity component" ;
v:units = "meters per second" ;
v:data_min = -0.6566 ;
v:data_max = 0.5341 ;
float temperature(time) ;
temperature:long_name = "temperature" ;
temperature:units = "degrees C" ;
temperature:data_min = 10.775 ;
temperature:data_max = 16.871 ;
float pressure(time) ;
pressure:long_name = "pressure" ;
pressure:units = "decibars" ;
pressure:data_min = 213.6 ;
pressure:data_max = 324.3 ;
// global attributes:
:WOCE_Version = "3.0" ;
:conventions = "COARDS/WOCE" ;
:EXPOCODE = "91AF105, 74DI202, 323008" ;
:experiment_name = "BEST (ACM4)" ;
:mooring_name = "BEST 4" ;
:pi_name = "R.D.Pillsbury/A.L.Gordon" ;
:instrument_type = "Aanderaa RCM-8" ;
:latitude = "-30.0032" ;
:longitude = " 5.9958" ;
:instrument_depth = "210.0 m" ;
:seafloor_depth = " 5180 m" ;
:sampling_interval = " 60 min" ;
:earliest_start_time = "23-jun-1992 18:00:00" ;
:latest_stop_time = "29-oct-1993 16:00:00" ;
:missing_value = -999.9 ;
data:
speed = 0.1661, 0.1575, 0.1719, 0.2035, 0.1834, 0.1891, 0.192, 0.192,
0.2006, 0.1546, 0.1259, 0.1345, 0.1431, 0.1316, 0.1431, 0.1259, 0.0801,
0.0801, 0.0972, 0.0915, 0.1087, 0.1374, 0.1604, 0.169, 0.1805, 0.1805,
0.192, 0.1863, 0.192, 0.2064, 0.192, 0.1978, 0.2006, 0.2006, 0.1805,
0.1805, 0.1632, 0.1345, 0.1288, 0.1001, 0.0801, 0.0773, 0.0744, 0.0659,
0.0547, 0.0773, 0.1201, 0.1661, 0.1949, 0.1863, 0.1949, 0.2035, 0.2122,
0.2064, 0.1863, 0.169, 0.1632, 0.1604, 0.1604, 0.1489, 0.123, 0.0915,
0.0575, 0.0382, 0.0355, 0.0382, 0.0491, 0.0463, 0.0575, 0.0801, 0.1173,
0.1345, 0.1604, 0.1776, 0.1978, 0.1863, 0.1431, 0.1374, 0.1316, 0.1001,
0.0716, 0.0491, 0.0463, 0.0519, 0.0858, 0.1144, 0.1345, 0.1087, 0.1144,
.
.
.
This listing shows metadata and the first 10 lines of the speed series. Note that the list of dimensions and variables includes 3 dummy quantities - depth, latitude and longitude. These are required by the WOCE search engine but are not actual time series in the record. The current meter records contain only one actual dimension, time. In other words, each of the record's data series is a function of time, which has units of minutes since 0000 hours on 1 January 1980. The format shown above is called "CDL" by UCAR. CDL stands for Common Data form Language. NCDUMP is described in the netCDF user's guide, which you can download from UCAR.
Other netCDF routines available from UCAR for the UNIX and Windows environments provide complete access to and control of the netCDF format. UCAR's package is written in the C language but contains a Fortran interface to the C routines. We have included on this disk a Fortran subroutine that utilizes the UCAR package to read netCDF current records. If this routine is incorporated into a Fortran calling program it will pass one or more of the time series in a current record back to the program for analysis.
If you would like to learn more about netCDF we suggest you read the netCDF primer prepared by Nathan Bindoff.
The OSU Buoy Group has for many years provided current meter data to other organizations in a simple ASCII format that we have named the Stranger format ("Stranger" because any stranger can easily understand and use it). We have included here a second archive identical to the netCDF archive, except that all the files have the Stranger format. This format is easily readable by both humans and computers; you may find it preferable to netCDF. It has been adopted by a number of other groups. We show below a portion of the Stranger version of the netCDF file displayed above:
22 header lines
11831 data lines
(i4,3i3,f8.2,f7.1,2f8.2,f8.3,f8.1,i6)
Experiment name: BEST (ACM4)
Mooring name: BEST 4
Mooring position: 30.003 deg S, 5.996 deg E
Instrument depth: 210 meters
Seafloor depth: 5180 meters
Instrument type: Aanderaa RCM8
CMDB accession number: 1000
Parameters:
hour
day
month
year
speed (cm/sec)
dir (deg true)
u (cm/sec)
v (cm/sec)
temp (deg C)
pressure (db)
line count
1800 23 6 92 16.61 283.0 -16.19 3.74 14.352 232.0 1
1900 23 6 92 15.75 289.0 -14.89 5.13 14.477 231.2 2
2000 23 6 92 17.19 286.0 -16.52 4.74 14.139 231.2 3
2100 23 6 92 20.35 282.0 -19.91 4.23 14.050 230.5 4
2200 23 6 92 18.34 275.0 -18.27 1.60 14.103 230.5 5
2300 23 6 92 18.91 276.0 -18.81 1.98 13.935 230.5 6
0 24 6 92 19.20 276.0 -19.10 2.01 14.094 230.5 7
100 24 6 92 19.20 275.0 -19.13 1.67 13.855 230.5 8
200 24 6 92 20.06 272.0 -20.05 0.70 13.563 230.5 9
300 24 6 92 15.46 261.0 -15.27 -2.42 13.837 230.5 10
.
.
.
This file, like the netCDF dump, begins with metadata. Following the metadata, each line represents one sampling cycle and contains hour, day, month, year, speed, direction, eastward component, northward component, temperature, pressure and a line count. Note that if you read this file with a computer program, the first line of the file tells the program where the data begins, the second line tells it how many lines of data there are, and the third line describes the format of the data. You can examine a Stranger format file with any text editor, and you can easily strip off the header and import it into a spreadsheet program.
Return to the top window.