ncrcat(1) netCDF Record Concatenator


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


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).


Concatenate files,,  ... along the record dimension, and store the results in

ncrcat 8[56789].nc
ncrcat -n 5,2,1
These three methods produce identical answers.

Assume the files,,  ... each contain a record coordinate time of length 12 defined such that the third record in 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
ncrcat -F -d time,12,14
The file 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

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


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.


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.