Next: , Previous: ncpdq netCDF Permute Dimensions Quickly, Up: Operator Reference Manual


4.9 ncra netCDF Record Averager

SYNTAX

     ncra [-3] [-4] [-6] [-A] [-C] [-c]
     [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz]
     [-D dbg] [-d dim,[min][,[max][,[stride]]] [-F] [-h] [-L dfl_lvl] [-l path]
     [-n loop] [-O] [-o output-file] [-p path] [-R] [-r]
     [-t thr_nbr] [-v var[,...]] [-X ...] [-x] [-y op_typ]
     [input-files] [output-file]

DESCRIPTION

ncra averages record variables across an arbitrary number of input-files. The record dimension is, by default, retained as a degenerate (size 1) dimension in the output variables. See Averaging vs. Concatenating, for a description of the distinctions between the various averagers and concatenators. As a multi-file operator, ncra will read the list of input-files from stdin if they are not specified as positional arguments on the command line (see Large Numbers of Files).

Input files may vary in size, but each must have a record dimension. The record coordinate, if any, should be monotonic (or else non-fatal warnings may be generated). Hyperslabs of the record dimension which include more than one file work correctly. ncra supports the stride argument to the ‘-d’ hyperslab option (see Hyperslabs) for the record dimension only, stride is not supported for non-record dimensions.

ncra weights each record (e.g., time slice) in the input-files equally. ncra does not attempt to see if, say, the time coordinate is irregularly spaced and thus would require a weighted average in order to be a true time average. ncra always averages coordinate variables regardless of the arithmetic operation type performed on the non-coordinate variables. (see Operation Types).

EXAMPLES

Average files 85.nc, 86.nc, ... 89.nc along the record dimension, and store the results in 8589.nc:

     ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
     ncra 8[56789].nc 8589.nc
     ncra -n 5,2,1 85.nc 8589.nc

These three methods produce identical answers. See Specifying Input Files, for an explanation of the distinctions between these methods.

Assume the files 85.nc, 86.nc, ... 89.nc each contain a record coordinate time of length 12 defined such that the third record in 86.nc contains data from March 1986, etc. NCO knows how to hyperslab the record dimension across files. Thus, to average data from December, 1985 through February, 1986:

     ncra -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
     ncra -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc

The file 87.nc is superfluous, but does not cause an error. The ‘-F’ turns on the Fortran (1-based) indexing convention. The following uses the stride option to average all the March temperature data from multiple input files into a single output file

     ncra -F -d time,3,,12 -v temperature 85.nc 86.nc 87.nc 858687_03.nc

See Stride, for a description of the stride argument.

Assume the time coordinate is incrementally numbered such that January, 1985 = 1 and December, 1989 = 60. Assuming ‘??’ only expands to the five desired files, the following averages June, 1985–June, 1989:

     ncra -d time,6.,54. ??.nc 8506_8906.nc