nces performs gridpoint averages of variables across an arbitrary number
(an ensemble) of input files, with each file receiving an equal weight
in the average. Each variable in the output-file will be the same size
as the same variable in any one of the in the input-files, and all
input-files must be the same size. Whereas ncra only performs
averages over the record dimension (e.g., time), and weights each record in
the record dimension evenly, nces averages entire files, and weights
each file evenly. All dimensions, including the record dimension, are treated
identically and preserved in the output-file.

The file is the logical unit of organization for the results of
many scientific studies. Often one wishes to generate a file which is the
gridpoint average of many separate files. This may be to reduce statistical
noise by combining the results of a large number of experiments, or it may
simply be a step in a procedure whose goal is to compute anomalies from a
mean state. In any case, when one desires to generate a file whose
properties are the mean of all the input files, then nces is the
operator to use. nces assumes coordinate variable are properties
common to all of the experiments and so does not average them across files.
Instead, nces copies the values of the coordinate variables from the
first input file to the output file.

Consider a model experiment which generated five realizations of one year of
data, say 1985. You can imagine that the experimenter slightly perturbs the
initial conditions of the problem before generating each new solution. Assume
each file contains all twelve months (a seasonal cycle) of data and we want to
produce a single file containing the ensemble average (mean) seasonal cycle.
Here the numeric filename suffix denotes the experiment number (not the
month):

These three commands produce identical answers. The output file, 85.nc,
is the same size as the inputs files. It contains 12 months of data (which
might or might not be stored in the record dimension, depending on the input
files), but each value in the output file is the average of the five values in
the input files.

In the previous example, the user could have obtained the ensemble
average values in a particular spatio-temporal region by adding a hyperslab
argument to the command, e.g.,

nces -d time,0,2 -d lat,-23.5,23.5 85_??.nc 85.nc

In this case the output file would contain only three slices of data in the
time dimension. These three slices are the average of the first three
slices from the input files. Additionally, only data inside the tropics is
included.