1NCBO(1)                     General Commands Manual                    NCBO(1)
2
3
4

NAME

6       ncbo - netCDF Binary Operator
7

SYNTAX

9       ncbo  [-3]  [-4]  [-5] [-6] [-7] [-A] [--bfr sz_byt][-C][-c] [--cnk_byt
10       sz_byt][--cnk_csh   sz_byt][--cnk_dmn   nm,sz_lmn]   [--cnk_map    map]
11       [--cnk_min  sz_byt]  [--cnk_plc plc] [--cnk_scl sz_lmn][-D dbg_lvl] [-d
12       dim,[ min][,[ max]]] [-F] [--fl_fmt=fmt] [-G  gpe_dsc]  [-g  grp[,...]]
13       [--glb  att_name= att_val]] [-h] [--hdf] [--hdr_pad sz_byt][--hpss_try]
14       [-L  dfl_lvl]   [-l   path]   [--msa]   [--no_cll_msr]   [--no_frm_trm]
15       [--no_tmp_fl] [-O] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--uio]
16       [--unn] [-v var[,...]]  [-X box] [-x] file_1 file_2 file_3
17

DESCRIPTION

19       ncbo subtracts variables in file_2  from  the  corresponding  variables
20       (those  with the same name) in file_1 and stores the results in file_3.
21       Variables in file_2 are broadcast to conform to the corresponding vari‐
22       able  in  file_1  if necessary.  Broadcasting a variable means creating
23       data in non-existing dimensions from the data in  existing  dimensions.
24       For  example,  a  two  dimensional variable in file_2 can be subtracted
25       from a four, three, or two (but not one or zero)  dimensional  variable
26       (of  the  same  name) in file_1.  This functionality allows the user to
27       compute anomalies from the mean.  Note that variables in file_1 are not
28       broadcast to conform to the dimensions in file_2.  Thus, ncbo, the num‐
29       ber of dimensions, or rank, of any processed variable in file_1 must be
30       greater than or equal to the rank of the same variable in file_2.  Fur‐
31       thermore, the size of all dimensions common to both file_1  and  file_2
32       must be equal.
33
34       When computing anomalies from the mean it is often the case that file_2
35       was created by applying an averaging operator to a file with  the  same
36       dimensions  as  file_1, if not file_1 itself.  In these cases, creating
37       file_2 with ncra rather than ncwa will  cause  the  ncbo  operation  to
38       fail.  For concreteness say the record dimension in file_1 is time.  If
39       file_2 were created by averaging file_1 over the  time  dimension  with
40       the  ncra operator rather than with the ncwa operator, then file_2 will
41       have a time dimension of size 1 rather than having no time dimension at
42       all  In this case the input files to ncbo, file_1 and file_2, will have
43       unequally sized time dimensions which causes ncbo to fail.  To  prevent
44       this from occurring, use ncwa to remove the time dimension from file_2.
45       An example is given below.
46
47       ncbo will never difference coordinate variables or  variables  of  type
48       NC_CHAR or NC_BYTE.  This ensures that coordinates like (e.g., latitude
49       and longitude) are physically meaningful in the  output  file,  file_3.
50       This  behavior  is  hardcoded.  ncbo applies special rules to some NCAR
51       CSM fields (e.g., ORO).  See NCAR CSM Conventions for  a  complete  de‐
52       scription.  Finally, we note that ncflint (ncflint netCDF File Interpo‐
53       lator) can be also perform file subtraction (as well as addition,  mul‐
54       tiplication and interpolation).
55

EXAMPLES

57       Say  files  85_0112.nc  and  86_0112.nc each contain 12 months of data.
58       Compute the change in the monthly averages from 1985 to 1986:
59              ncbo 86_0112.nc 85_0112.nc 86m85_0112.nc
60
61       The following examples demonstrate the broadcasting  feature  of  ncbo.
62       Say we wish to compute the monthly anomalies of T from the yearly aver‐
63       age of T for the year 1985.  First we create the 1985 average from  the
64       monthly data, which is stored with the record dimension time.
65              ncra 85_0112.nc 85.nc
66              ncwa -O -a time 85.nc 85.nc
67       The second command, ncwa, gets rid of the time dimension of size 1 that
68       ncra left in 85.nc.  Now none of the variables in 85.nc has a time  di‐
69       mension.   A quicker way to accomplish this is to use ncwa from the be‐
70       ginning:
71              ncwa -a time 85_0112.nc 85.nc
72       We are now ready to use ncbo to compute the anomalies for 1985:
73              ncbo -v T 85_0112.nc 85.nc t_anm_85_0112.nc
74       Each of the 12 records in t_anm_85_0112.nc now contains the monthly de‐
75       viation of T from the annual mean of T for each gridpoint.
76
77       Say  we  wish to compute the monthly gridpoint anomalies from the zonal
78       annual mean.  A zonal mean is a quantity that has  been  averaged  over
79       the  longitudinal  (or x) direction.  First we use ncwa to average over
80       longitudinal direction lon, creating  xavg_85.nc,  the  zonal  mean  of
81       85.nc.   Then  we  use ncbo to subtract the zonal annual means from the
82       monthly gridpoint data:
83              ncwa -a lon 85.nc xavg_85.nc
84              ncbo 85_0112.nc xavg_85.nc tx_anm_85_0112.nc
85       Assuming 85_0112.nc has dimensions time  and  lon,  this  example  only
86       works if xavg_85.nc has no time or lon dimension.
87
88       As  a  final  example, say we have five years of monthly data (i.e., 60
89       months) stored in 8501_8912.nc and we wish to create a file which  con‐
90       tains  the  twelve  month seasonal cycle of the average monthly anomaly
91       from the five-year mean of this data.  The following method is just one
92       permutation  of  many which will accomplish the same result.  First use
93       ncwa to create the file containing the five-year mean:
94              ncwa -a time 8501_8912.nc 8589.nc
95       Next use ncbo to create  a  file  containing  the  difference  of  each
96       month's data from the five-year mean:
97              ncbo 8501_8912.nc 8589.nc t_anm_8501_8912.nc
98       Now  use ncks to group the five January anomalies together in one file,
99       and use ncra to create the  average  anomaly  for  all  five  Januarys.
100       These  commands  are  embedded in a shell loop so they are repeated for
101       all twelve months:
102              foreach idx (01 02 03 04 05 06 07 08 09 10 11 12)
103              ncks -F -d time,,,12 t_anm_8501_8912.nc foo.
104              ncra foo. t_anm_8589_.nc
105              end
106       Note that ncra understands the stride argument so the two commands  in‐
107       side the loop may be combined into the single command
108              ncra -F -d time,,,12 t_anm_8501_8912.nc foo.
109       Finally, use ncrcat to concatenate the 12 average monthly anomaly files
110       into one twelve-record file which contains the entire seasonal cycle of
111       the monthly anomalies:
112              ncrcat t_anm_8589_??.nc t_anm_8589_0112.nc
113
114

AUTHOR

116       NCO  manual pages written by Charlie Zender and originally formatted by
117       Brian Mays.
118
119

REPORTING BUGS

121       Report bugs to <http://sf.net/bugs/?group_id=3331>.
122
123
125       Copyright © 1995-2018 Charlie Zender
126       This is free software; see the source for copying conditions.  There is
127       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
128       PURPOSE.
129
130

SEE ALSO

132       The full documentation for NCO is maintained as a Texinfo manual called
133       the  NCO Users Guide.  Because NCO is mathematical in nature, the docu‐
134       mentation includes TeX-intensive portions not  viewable  on  character-
135       based  displays.  Hence the only complete and authoritative versions of
136       the NCO Users Guide are the PDF (recommended), DVI, and Postscript ver‐
137       sions  at <http://nco.sf.net/nco.pdf>, <http://nco.sf.net/nco.dvi>, and
138       <http://nco.sf.net/nco.ps>, respectively.  HTML and  XML  versions  are
139       available          at          <http://nco.sf.net/nco.html>         and
140       <http://nco.sf.net/nco.xml>, respectively.
141
142       If the info and NCO programs are properly installed at your  site,  the
143       command
144
145              info nco
146
147       should  give  you access to the complete manual, except for the TeX-in‐
148       tensive portions.
149
150

HOMEPAGE

152       The NCO homepage at <http://nco.sf.net> contains more information.
153
154
155
156                                                                       NCBO(1)
Impressum