ncflint(1) netCDF File Interpolator


ncflint [-3] [-4] [-6] [-7] [-A] [--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]]] [-F] [--fix_rec_crd] [-G gpe_dsc] [-g grp[,...]] [--glb att_name= att_val]] [-h] [--hdf] [--hdr_pad sz] [-i var,val3][-L dfl_lvl][-l path] [--msa] [--no_tmp_fl] [-O] [-p path] [--ppc var1[, var2[,...]]= prc]] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-v var[,...]] [-w wgt[, wgt2]] [-X box] [-x] file1 file2 file3


ncflint creates an output file that is a linear combination of the input files. This linear combination can be a weighted average, a normalized weighted average, or an interpolation of the input files. Coordinate variables are not acted upon in any case, they are simply copied from file_1.
 There are two conceptually distinct methods of using  ncflint. The first method is to specify the weight each input file is to have in the output file. In this method, the value val3 of a variable in the output file file_3 is determined from its values val1 and val2 in the two input files according to wgt1*val1+wgt2*val2

Here at least wgt1, and, optionally, wgt2, are specified on the command line with the -w (or --weight or --wgt_var ) switch. If only wgt1 is specified then wgt2 is automatically computed as wgt2=1-wgt1. Note that weights larger than 1 are allowed. Thus it is possible to specify wgt1=2 and wgt2=-3. One can use this functionality to multiply all the values in a given file by a constant.

The second method of using ncflint is to specify the interpolation option with -i (or with the --ntp or --interpolate long options). This is really the inverse of the first method in the following sense. When the user specifies the weights directly, ncflint has no work to do besides multiplying the input values by their respective weights and adding the results together to produce the output values. This assumes it is the weights that are known a priori. In another class of cases it is the "arrival value" (i.e., val3 ) of a particular variable var that is known a priori. In this case, the implied weights can always be inferred by examining the values of var in the input files. This results in one equation in two unknowns, wgt1 and wgt2: val3=wgt1*val1+wgt2*val2.

Unique determination of the weights requires imposing the additional constraint of normalization on the weights: wgt1+wgt2=1. Thus, to use the interpolation option, the user specifies var and val3 with the -i option. ncflint will compute wgt1 and wgt2, and use these weights on all variables to generate the output file. Although var may have any number of dimensions in the input files, it must represent a single, scalar value. Thus any dimensions associated with var must be "degenerate", i.e., of size one.

 If neither  -i nor -w is specified on the command line, ncflint defaults to weighting each input file equally in the output file. This is equivalent to specifying -w 0.5 or -w 0.5,0.5. Attempting to specify both -i and -w methods in the same command is an error.

ncflint is programmed not to interpolate variables of type NC_CHAR and NC_BYTE. This behavior is hardcoded.


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.