ncwa(1) netCDF Weighted Averager


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


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.


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


Report bugs to <>.


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


The NCO homepage at <> contains more information.