Provided by: nco_4.9.1-1build2_amd64 bug

NAME

       ncks - netCDF Kitchen Sink

SYNTAX

       ncks  [-3]  [-4] [-5] [-6] [-7] [-A] [-a] [--area_wgt] [-b bnr_fl] [--bfr sz_byt][-C][-c] [--cal] [--cdl]
       [--chk_map]  [--chk_nan]  [--cnk_byt  sz_byt][--cnk_csh  sz_byt][--cnk_dmn  nm,sz_lmn]  [--cnk_map   map]
       [--cnk_min  sz_byt]  [--cnk_plc plc] [--cnk_scl sz_lmn] [-D dbg_lvl] [-d dim,[ min][,[ max]][,[ stride]]]
       [-F] [--fl_fmt=fmt] [--fix_rec_dmn dim][--fmt_val  fmt][-G  gpe_dsc]  [-g  grp[,...]]   [--glb  att_name=
       att_val]]  [--grp_xtr_var_xcl]  [-H] [-h] [--hdn] [--hdr_pad sz_byt][--hpss_try] [--json] [--jsn_fmt lvl]
       [-l path] [-M] [-m] [--map map-file]  [--md5]  [--mk_rec_dmn  dim]  [--msa]  [--no_blank]  [--no_cll_msr]
       [--no_frm_trm]   [--no_tmp_fl]   [-O]   [-o  output-file]  [-P]  [-p  path]  [--ppc  var1[,  var2[,...]]=
       prc]][--prn_fl print-file] [-Q] [-q] [-R] [-r]  [--rad]  [--ram_all]  [--rgr  key=  val]  [--rnr  wgt][-s
       format][-t  thr_nbr][-u][--unn][-V][-v  var[,...]][--vrt_fl  vrt_crd]  [-X box] [-x] [--xml] input-file [
       output-file]

DESCRIPTION

       ncks combines every feature we could think of, except the kitchen sink, into  one  versatile  utility  to
       manipulate  netCDF  files.   ncks  extracts  a subset of the data from input-file and either prints it as
       ASCII text to stdout, or writes (or pastes) it to output-file, or both.

       ncks will print netCDF data in ASCII format to stdout, like ncdump,  but  with  these  differences:  ncks
       prints data in a tabular format intended to be easy to search for the data you want, one datum per screen
       line, with all dimension subscripts and coordinate values (if any) preceding the datum.  Option -s allows
       the user the format the data using C-style format strings.

       Options -a, -F, -H, -M, -m, -Q, -q, -s, -u, and -V control the formatted appearance of the data.

       ncks  will extract (and optionally create a new netCDF file comprised of) only selected variable from the
       input file, like ncextr but with these differences: Only variables and coordinates  may  be  specifically
       included or excluded---all global attributes and any attribute associated with an extracted variable will
       be copied to the screen and/or output netCDF file.  Options -c, -C, -v, and -x  control  which  variables
       are extracted.

       ncks  will  extract  hyperslabs  from  the  specified  variables.   In  fact  ncks  implements  the nccut
       specification exactly.  Option -d controls the hyperslab specification.

       Input dimensions that are not associated with any output variable will not appear in the  output  netCDF.
       This feature removes superfluous dimensions from a netCDF file.

       ncks  will  append  variables  and attributes from the input-file to output-file if output-file is a pre-
       existing netCDF file whose relevant dimensions conform to dimension  sizes  of  input-file.   The  append
       features  of  ncks  are  intended  to  provide a rudimentary means of adding data from one netCDF file to
       another, conforming, netCDF file.  When naming conflicts exists between the two files,  data  in  output-
       file  is  usually overwritten by the corresponding data from input-file.  Thus it is recommended that the
       user backup output-file in case valuable data is accidentally overwritten.

       If output-file exists, the user will be queried whether to overwrite,  append,  or  exit  the  ncks  call
       completely.  Choosing overwrite destroys the existing output-file and create an entirely new one from the
       output of the ncks call.  Append has differing effects depending on the uniqueness of the  variables  and
       attributes  output  by  ncks:  If  a variable or attribute extracted from input-file does not have a name
       conflict with the members of output-file then it will be added to output-file without overwriting any  of
       the  existing contents of output-file.  In this case the relevant dimensions must agree (conform) between
       the two files; new dimensions are created in output-file as required.  When a  name  conflict  occurs,  a
       global  attribute from input-file will overwrite the corresponding global attribute from output-file.  If
       the name conflict occurs for a non-record variable, then the dimensions and type of the variable (and  of
       its coordinate dimensions, if any) must agree (conform) in both files.  Then the variable values (and any
       coordinate dimension values) from input-file  will  overwrite  the  corresponding  variable  values  (and
       coordinate dimension values, if any) in output-file

       Since there can only be one record dimension in a file, the record dimension must have the same name (but
       not necessarily the same size) in both files if a record dimension variable is to be  appended.   If  the
       record  dimensions are of differing sizes, the record dimension of output-file will become the greater of
       the two record dimension sizes, the record variable from input-file will  overwrite  any  counterpart  in
       output-file  and  fill  values  will  be  written to any gaps left in the rest of the record variables (I
       think).  In all cases variable attributes in output-file are superseded by attributes of  the  same  name
       from input-file, and left alone if there is no name conflict.

       Some  users  may  wish  to  avoid interactive ncks queries about whether to overwrite existing data.  For
       example, batch scripts will fail if ncks does not receive responses to its queries.  Options  -O  and  -A
       are available to force overwriting existing files and variables, respectively.

       Options specific to ncks

       The following list provides a short summary of the features unique to ncks.

       -a     Do  not  alphabetize  extracted fields.  By default, the specified output variables are extracted,
              printed, and written to disk in alphabetical order.  This tends to make long output  lists  easier
              to  search  for  particular  variables.   Specifying  -a results in the variables being extracted,
              printed, and written to disk in the order in which they were saved in the  input  file.   Thus  -a
              retains the original ordering of the variables.

       -d     dim,[ min][,[ max]][,[ stride]] Add stride argument to hyperslabber.

       -H     Print data to screen.  The default behavior is to print data to screen if no netCDF output file is
              specified.  Use -H to print data to screen if a netCDF output  is  specified  (the  same  behavior
              applies  to  -m  ).   Unless  otherwise specified (with -s), each element of the data hyperslab is
              printed on a separate line containing the names, indices, and, values,  if  any,  of  all  of  the
              variables  dimensions.   The  dimension  and  variable  indices  refer  to  the  location  of  the
              corresponding data element with respect  to  the  variable  as  stored  on  disk  (i.e.,  not  the
              hyperslab).
              % ncks -H -C -v three_dmn_var in.nc
              lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
              lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
              lat[0]=-90 lev[0]=100 lon[2]=180 three_dmn_var[2]=2
               ...
              lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
              lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
              lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
       Printing the same variable with the -F option shows the same variable indexed with Fortran conventions
              % ncks -F -H -C -v three_dmn_var in.nc
              lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
              lon(2)=90 lev(1)=100 lat(1)=-90 three_dmn_var(2)=1
              lon(3)=180 lev(1)=100 lat(1)=-90 three_dmn_var(3)=2
               ...
       Printing  a  hyperslab does not affect the variable or dimension indices since these indices are relative
       to the full variable (as stored in the input file), and the input file has not changed.  However, if  the
       hyperslab is saved to an output file and those values are printed, the indices will change:
              % ncks -H -d lat,90.0 -d lev,1000.0 -v three_dmn_var in.nc out.nc
              lat[1]=90 lev[2]=1000 lon[0]=0 three_dmn_var[20]=20
              lat[1]=90 lev[2]=1000 lon[1]=90 three_dmn_var[21]=21
              lat[1]=90 lev[2]=1000 lon[2]=180 three_dmn_var[22]=22
              lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
              % ncks -H out.nc
              lat[0]=90 lev[0]=1000 lon[0]=0 three_dmn_var[0]=20
              lat[0]=90 lev[0]=1000 lon[1]=90 three_dmn_var[1]=21
              lat[0]=90 lev[0]=1000 lon[2]=180 three_dmn_var[2]=22
              lat[0]=90 lev[0]=1000 lon[3]=270 three_dmn_var[3]=23

       -M     Print  to  screen the global metadata describing the file.  This includes file summary information
              and global attributes.

       -m     Print variable metadata to screen (similar to ncdump -h).  This displays all  metadata  pertaining
              to each variable, one variable at a time.

       -Q     Toggle printing of dimension indices and coordinate values when printing arrays.  The name of each
              variable will appear flush left in the output.  This is useful  when  trying  to  locate  specific
              variables  when displaying many variables with different dimensions.  The mnemonic for this option
              is "quiet".

       -s     format String format for text output. Accepts C language escape sequences and printf() formats.

       -u     Accompany the printing of a variable's values with its units attribute, if it exists.

EXAMPLES

       View all data in netCDF in.nc, printed with Fortran indexing conventions:
              ncks -H -F in.nc

       Copy the netCDF file in.nc to file out.nc.
              ncks -O in.nc out.nc
       Now the file out.nc contains all the data from in.nc.  There are, however, two differences between  in.nc
       and out.nc.  First, the history global attribute will contain the command used to create out.nc.  Second,
       the variables in out.nc will be defined in  alphabetical  order.   Of  course  the  internal  storage  of
       variable  in  a  netCDF  file should be transparent to the user, but there are cases when alphabetizing a
       file is useful (see description of -a switch).

       Print variable three_dmn_var from file in.nc with default notations.  Next print three_dmn_var as an  un-
       annotated  text  column.   Then  print  three_dmn_var  signed  with  very high precision.  Finally, print
       three_dmn_var as a comma-separated list.
              % ncks -H -C -v three_dmn_var in.nc
              lat[0]=-90 lev[0]=100 lon[0]=0 three_dmn_var[0]=0
              lat[0]=-90 lev[0]=100 lon[1]=90 three_dmn_var[1]=1
               ...
              lat[1]=90 lev[2]=1000 lon[3]=270 three_dmn_var[23]=23
              % ncks -s "%f\n" -H -C -v three_dmn_var in.nc
              0.000000
              1.000000
               ...
              23.000000
              % ncks -s "%+16.10f\n" -H -C -v three_dmn_var in.nc
                 +0.0000000000
                 +1.0000000000
               ...
                +23.0000000000
              % ncks -s "%f, " -H -C -v three_dmn_var in.nc
              0.000000, 1.000000,  ... , 23.000000,
       The second and third options are useful when pasting data into text files like reports or papers.

       One dimensional arrays of characters stored as netCDF variables are  automatically  printed  as  strings,
       whether or not they are NUL-terminated, e.g.,
              ncks -v fl_nm in.nc
       The  %c  formatting  code is useful for printing multidimensional arrays of characters representing fixed
       length strings
              ncks -H -s "%c" -v fl_nm_arr in.nc
       Using the %s format code on strings which are not NUL-terminated (and thus not  technically  strings)  is
       likely to result in a core dump.

       Create netCDF out.nc containing all variables, and any associated coordinates, except variable time, from
       netCDF in.nc:
              ncks -x -v time in.nc out.nc

       Extract variables time and pressure from netCDF in.nc.  If out.nc does not  exist  it  will  be  created.
       Otherwise the you will be prompted whether to append to or to overwrite out.nc:
              ncks -v time,pressure in.nc out.nc
              ncks -C -v time,pressure in.nc out.nc
       The  first  version  of  the  command creates an out.nc which contains time, pressure, and any coordinate
       variables associated with pressure.  The out.nc from the second version is guaranteed to contain only two
       variables time and pressure.

       Create  netCDF  out.nc  containing  all  variables  from  file  in.nc.   Restrict the dimensions of these
       variables to a hyperslab.  Print (with -H) the hyperslabs to the screen for good measure.  The  specified
       hyperslab  is:  the  sixth value in dimension time; the half-open range lat <= 0.0 in coordinate lat; the
       half-open range lon >= 330.0 in coordinate lon; the closed interval 0.3 <=  band  <=  0.5  in  coordinate
       band;  and  cross-section  closest  to  1000.0 in coordinate lev.  Note that limits applied to coordinate
       values are specified with a decimal point, and limits applied to dimension indices do not have a  decimal
       point.
              ncks -H -d time,5 -d lat,,0. -d lon,330., -d band,.3,.5 -d lev,1000. in.nc out.nc

       Assume  the  domain of the monotonically increasing longitude coordinate lon is 0 < lon < 360.  Here, lon
       is an example of a wrapped coordinate.  ncks  will  extract  a  hyperslab  which  crosses  the  Greenwich
       meridian  simply  by specifying the westernmost longitude as min and the easternmost longitude as max, as
       follows:
              ncks -d lon,260.,45. in.nc out.nc

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

SEE ALSO

       The full documentation for NCO is maintained as a Texinfo manual called the NCO Users Guide.  Because NCO
       is mathematical in nature, the documentation includes TeX-intensive portions not viewable  on  character-
       based  displays.   Hence  the only complete and authoritative versions of the NCO Users Guide are the PDF
       (recommended), DVI, and Postscript versions at <http://nco.sf.net/nco.pdf>,  <http://nco.sf.net/nco.dvi>,
       and    <http://nco.sf.net/nco.ps>,    respectively.    HTML   and   XML   versions   are   available   at
       <http://nco.sf.net/nco.html> and <http://nco.sf.net/nco.xml>, respectively.

       If the info and NCO programs are properly installed at your site, the command

              info nco

       should give you access to the complete manual, except for the TeX-intensive portions.

       ncap(1), ncap2(1), ncatted(1), ncbo(1), ncclimo(1),  nces(1),  ncecat(1),  ncflint(1),  ncks(1),  nco(1),
       ncpdq(1), ncra(1), ncrcat(1), ncremap(1), ncrename(1), ncwa(1)

HOMEPAGE

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

                                                                                                         NCKS(1)