## SYNTAX

ncwa [-3] [-4] [-6] [-7] [-A] [-a*dim*[,...]] [-B

*mask_cond]*[-b] [--bfr

*sz*]

*[-C]*[-c]

*[--cnk_byt*

*sz*]

*[--cnk_dmn*

*nm,sz*] [--cnk_map

*map*] [--cnk_min

*sz*] [--cnk_plc

*plc*] [--cnk_scl

*sz*]

*[-D*

*dbg_lvl*] [-d

*dim*,[

*min*][,[

*max*]]] [--dbl|flt] [-F] [-G

*gpe_dsc*] [-g

*grp*[,...]] [--glb

*att_name=*

*att_val*]] [-h] [--hdf] [--hdr_pad

*sz*] [-I] [-L

*dfl_lvl*]

*[-l*

*path*] [-M

*val*] [-m

*mask*] [-N] [--no_cll_mth] [--no_tmp_fl] [-O] [-o

*output-file*] [-p

*path*] [--ppc

*var1*[,

*var2*[,...]]=

*prc*]] [-R] [-r] [--ram_all] [-T

*mask_comp*] [-t

*thr_nbr*] [--unn] [-v

*var*[,...]] [-w

*weight*] [-x] [-y

*op_typ*]

*input-file*

*output-file*

## DESCRIPTION

**ncwa**
averages variables in a single file over arbitrary
dimensions, with options to specify weights, masks, and normalization.
The default behavior of
**ncwa**
is to arithmetically average every
numerical variable over all dimensions and produce a scalar result.
To average variables over only a subset of their dimensions, specify
these dimensions in a comma-separated list following
**-a**,
e.g.,
**-a time,lat,lon**.
As with all arithmetic operators, the operation may be restricted to
an arbitrary hypserslab by employing the
**-d**
option
**ncwa**
also handles values matching the variable's
**_FillValue**
attribute correctly.
Moreover,
**ncwa**
understands how to manipulate user-specified
weights, masks, and normalization options.
With these options,
**ncwa**
can compute sophisticated averages (and
integrals) from the command line.

*mask*
and
*weight*,
if specified, are broadcast to conform to
the variables being averaged.
The rank of variables is reduced by the number of dimensions which they
are averaged over.
Thus arrays which are one dimensional in the
*input-file*
and are
averaged by
**ncwa**
appear in the
*output-file*
as scalars.
This allows the user to infer which dimensions may have been averaged.
Note that that it is impossible for
**ncwa**
to make make a
*weight*
or
*mask*
of rank
*W*
conform to a
*var*
of
rank
*V*
if
*W > V*.
This situation often arises when coordinate variables (which, by
definition, are one dimensional) are weighted and averaged.
**ncwa**
assumes you know this is impossible and so
**ncwa**
does
not attempt to broadcast
*weight*
or
*mask*
to conform to
*var*
in this case, nor does
**ncwa**
print a warning message
telling you this, because it is so common.
Specifying
*dbg > 2*
does cause
**ncwa**
to emit warnings in
these situations, however.

Non-coordinate variables are always masked and weighted if specified.
Coordinate variables, however, may be treated specially.
By default, an averaged coordinate variable, e.g.,
**latitude**,
appears in
*output-file*
averaged the same way as any other variable
containing an averaged dimension.
In other words, by default
**ncwa**
weights and masks
coordinate variables like all other variables.
This design decision was intended to be helpful but for some
applications it may be preferable not to weight or mask coordinate
variables just like all other variables.
Consider the following arguments to
**ncwa**:
"-a latitude -w
lat_wgt -d latitude,0.,90." where
**lat_wgt**
is a weight in the
**latitude**
dimension.
Since, by default
**ncwa**
weights coordinate variables, the
value of
**latitude**
in the
*output-file*
depends on the weights
in
*lat_wgt*
and is not likely to be 45.---the midpoint latitude of
the hyperslab.
Option
**-I**
overrides this default behavior and causes
**ncwa**
not to weight or mask coordinate variables.
In the above case, this causes the value of
**latitude**
in the
*output-file*
to be 45.---which is a somewhat appealing result.
Thus,
**-I**
specifies simple arithmetic averages for the coordinate
variables.
In the case of latitude,
**-I**
specifies that you prefer to archive
the central latitude of the hyperslab over which variables were averaged
rather than the area weighted centroid of the hyperslab.
Note that the default behavior of (
**-I**)
changed on
1998/12/01---before this date the default was not to weight or mask
coordinate variables.
The mathematical definition of operations involving rank reduction
is given above.

## AUTHOR

**NCO**manual pages written by Charlie Zender and originally formatted by Brian Mays.

## COPYRIGHT

Copyright © 1995-2016 Charlie ZenderThis is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.