ncrcat(1) netCDF Record Concatenator

SYNTAX

ncrcat [-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]][,[ stride[[,[ subcycle]]]]] [-F] [-G gpe_dsc] [-g grp[,...]] [--glb att_name= att_val]] [-h] [--hdr_pad sz] [-L dfl_lvl] [-l path] [--mro] [--msa] [-n loop] [--no_tmp_fl] [-O] [-p path] [--ppc var1[, var2[,...]]= prc]] [-R] [-r] [--ram_all] [--rec_apn] [-t thr_nbr] [--unn] [-v var[,...]] [-X box] [-x] input-files output-file

DESCRIPTION

ncrcat concatenates record variables across an arbitrary number of input files. The final record dimension is by default the sum of the lengths of the record dimensions in the input 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 are handled correctly. ncra supports the stride argument to the -d hyperslab option for the record dimension only, stride is not supported for non-record dimensions.

ncrcat applies special rules to ARM convention time fields (e.g., time_offset).

EXAMPLES

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

ncrcat 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
ncrcat 8[56789].nc 8589.nc
ncrcat -n 5,2,1 85.nc 8589.nc
These three methods produce identical answers.

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 concatenate data from December, 1985--February, 1986:

ncrcat -d time,11,13 85.nc 86.nc 87.nc 8512_8602.nc
ncrcat -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 concatenate all the March temperature data from multiple input files into a single output file

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

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 concatenates June, 1985--June, 1989:

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

CAVEAT

ncrcat does not re-scale packed data (i.e., data stored using the scale_factor and add_offset attributes recommended by the Unidat and CF conventions. ncrcat just copies the data directly from the input files. It copies the relevant metadata (i.e., scale_factor and add_offset attributes) from the first file. Concatenating multiple datasets packed with different scales is beyond its capabilities (concatenating data packed with the same scales in multiple files works fine). The workaround for cases where the scales change among files is to first unpack the data in all the file using ncpdq, then to concatenate the unpacked data using ncrcat, and finally to repack the result using ncpdq.

AUTHOR

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

REPORTING BUGS

Report bugs to <http://sf.net/bugs/?group_id=3331>.

COPYRIGHT

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.

HOMEPAGE

The NCO homepage at <http://nco.sf.net> contains more information.