[nco] 13/32: Imported Upstream version 4.4.6
Bas Couwenberg
sebastic at xs4all.nl
Mon Jan 19 00:00:35 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch master
in repository nco.
commit 90f05f527d845cfe3997a2e1e1d8a3cc44d38c19
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sun Jan 18 16:39:30 2015 +0100
Imported Upstream version 4.4.6
---
bld/Makefile | 8 +-
bld/nco.spec | 11 +-
bld/nco_dst.pl | 34 +-
bm/NCO_rgr.pm | 123 +-
configure | 40 +-
configure.ac | 6 +-
data/buggy.cdl | 14 +-
data/in.cdl | 27 +-
data/in_grp.cdl | 2 +-
data/ncl.ncl | 21 +
doc/ANNOUNCE | 236 +-
doc/ChangeLog | 107 +-
doc/MANIFEST | 4 +-
doc/TAG | 2 +-
doc/TODO | 6 +-
doc/VERSION | 2 +-
doc/debian.txt | 170 +-
doc/index.shtml | 200 +-
doc/nco.dvi | Bin 1324244 -> 1333232 bytes
doc/nco.html | 582 +-
doc/nco.pdf | Bin 1218074 -> 1224002 bytes
doc/nco.ps | 13974 ++++++++++++++++++++++++-----------------------
doc/nco.texi | 383 +-
doc/nco.txt | 3689 +++++++------
doc/nco.xml | 3655 +++++++------
doc/netcdf.h.3.6.3 | 1102 ++++
man/ncks.1 | 12 +-
man/nco.1 | 6 +-
src/nco++/ncap2.cc | 35 +-
src/nco++/ncap2_utl.cc | 6 +-
src/nco/mpncbo.c | 7 +-
src/nco/mpncecat.c | 7 +-
src/nco/mpncflint.c | 7 +-
src/nco/mpncpdq.c | 7 +-
src/nco/mpncra.c | 15 +-
src/nco/mpncwa.c | 9 +-
src/nco/ncap.c | 7 +-
src/nco/ncap_utl.c | 24 +-
src/nco/ncatted.c | 7 +-
src/nco/ncbo.c | 7 +-
src/nco/ncecat.c | 7 +-
src/nco/ncks.c | 34 +-
src/nco/nco.h | 26 +-
src/nco/nco_att_utl.c | 270 +-
src/nco/nco_att_utl.h | 14 +-
src/nco/nco_cnf_typ.c | 20 +-
src/nco/nco_cnf_typ.h | 4 +-
src/nco/nco_cnk.c | 4 +-
src/nco/nco_ctl.c | 11 +-
src/nco/nco_fl_utl.c | 4 +-
src/nco/nco_grp_utl.c | 358 +-
src/nco/nco_grp_utl.h | 19 +-
src/nco/nco_lmt.c | 8 +-
src/nco/nco_msa.c | 221 +-
src/nco/nco_netcdf.c | 7 +-
src/nco/nco_netcdf.h | 11 +-
src/nco/nco_pck.c | 6 +-
src/nco/nco_prn.c | 30 +-
src/nco/nco_scm.c | 2 +-
src/nco/nco_sng_utl.c | 48 +-
src/nco/nco_sng_utl.h | 8 +-
src/nco/nco_var_utl.c | 33 +-
src/nco/ncpdq.c | 7 +-
src/nco/ncra.c | 62 +-
src/nco/ncrename.c | 461 +-
src/nco/ncwa.c | 17 +-
66 files changed, 14202 insertions(+), 12044 deletions(-)
diff --git a/bld/Makefile b/bld/Makefile
index 28acda2..cbfdace 100644
--- a/bld/Makefile
+++ b/bld/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/nco/nco/bld/Makefile,v 1.729 2014/08/15 19:13:35 zender Exp $ -*-makefile-*-
+# $Header: /cvsroot/nco/nco/bld/Makefile,v 1.730 2014/09/16 23:31:37 zender Exp $ -*-makefile-*-
# Purpose: GNU Makefile for NCO module nco
# Requires GNU Make---AT&T Make chokes on GNU syntax
@@ -85,7 +85,7 @@
# 64-bit ABI netCDF4 on NCAR AIX systems (bluefire):
# cd ~/nco/bld;ANTLR='/contrib/antlr-2.7.7/bin/antlr' ANTLR_ROOT='/contrib/antlr-2.7.7' CURL_LIB='/contrib/curl/7.21.2/lib' GSL_INC='/contrib/gsl-1.12/include' GSL_LIB='/contrib/gsl-1.12/lib' HDF5_ROOT='/contrib/hdf5-1.8.7_seq' LDFLAGS='-lnetcdf -lhdf5_hl -lhdf5 -lz' NETCDF_ROOT='/contrib/netcdf/4.1.3_seq' SZ_LIB='/contrib/szip/lib' UDUNITS_LIB='/contrib/zlib/lib' make --jobs=1 OPTS=D SZ=Y allinone ABI=64;cd -
# 64-bit ABI netCDF4 on NCAR AIX systems (bluefire):
-# cd ~/bin/AIX;/usr/local/bin/tar cvzf ~/nco-4.4.5.aix53.tar.gz nc*;scp ~/nco-4.4.5.aix53.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+# cd ~/bin/AIX;/usr/local/bin/tar cvzf ~/nco-4.4.6.aix53.tar.gz nc*;scp ~/nco-4.4.6.aix53.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
# netCDF4 on NCAR Linux cluster systems (mirage):
# cd ~/nco/bld;make OPTS=D allinone;cd -
# netCDF4 on ORNL Linux cluster systems (titan, rhea.ccs.ornl.gov):
@@ -108,7 +108,7 @@
# cd ~/nco/bld;make NETCDF_ROOT='/glade/apps/opt/netcdf/4.3.0/intel/default' UDUNITS_INC='/glade/apps/opt/udunits/2.1.24/intel/12.1.4/include' UDUNITS_LIB='/glade/apps/opt/udunits/2.1.24/intel/12.1.4/lib' OPTS=D allinone;cd -
# Cygwin on Windows Vista systems:
# cd ~/nco/bld;ANTLR='antlr' make --jobs=1 GSL=Y OPTS=D NETCDF4=Y UDUNITS=Y allinone;cd -
-# cd ~/bin/WIN32;tar cvzf ~/nco-4.4.5.win32.cygwin.tar.gz nc* ; scp ~/nco-4.4.5.win32.cygwin.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+# cd ~/bin/WIN32;tar cvzf ~/nco-4.4.6.win32.cygwin.tar.gz nc* ; scp ~/nco-4.4.6.win32.cygwin.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
# Data files to dust
# cd ~/nco/data;scp cmip5.nc obs.nc mdl_1.nc mdl_2.nc in_grp*.nc in.nc dust.ess.uci.edu:/var/www/html/nco
@@ -1645,7 +1645,7 @@ libnco_c++_tst: ${MY_BLD_DIR}/libnco_c++_tst
${MY_BLD_DIR}/libnco_c++_tst: ${MY_BLD_DIR}/libnco_c++_tst.o lib
${CXX} -o $@${BNR_SFX} $< ${LDFLAGS}
chmod 755 $@${BNR_SFX}
-rpm: ${MY_BLD_DIR}/nco.spec # Building rpm requires root priveleges, e.g., sudo make NCO_VRS=4.4.5 rpm
+rpm: ${MY_BLD_DIR}/nco.spec # Building rpm requires root priveleges, e.g., sudo make NCO_VRS=4.4.6 rpm
# Building NCO RPM requires following packages
# rpm -q bison flex netcdf-devel libtool automake autoconf udunits udunits-devel curl-devel libxml2 libxml2-devel librx-devel
# sudo yum install bison flex netcdf-devel libtool automake autoconf udunits udunits-devel curl-devel libxml2 libxml2-devel librx-devel
diff --git a/bld/nco.spec b/bld/nco.spec
index 25046dd..e2ea0ea 100644
--- a/bld/nco.spec
+++ b/bld/nco.spec
@@ -2,17 +2,17 @@
# http://cvs.fedoraproject.org/viewvc/devel/nco/nco.spec?view=co
Name: nco
-Version: 4.4.5
+Version: 4.4.6
Release: 1%{?dist}
Summary: Programs that manipulate netCDF files
Group: Applications/Engineering
License: GPL3
URL: http://nco.sf.net/
-# Obtain NCO version 4.4.5-1 tar.gz from Sourceforge using CVS:
+# Obtain NCO version 4.4.6-1 tar.gz from Sourceforge using CVS:
# cvs -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco login
-# cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4.4.5-1 -d nco-%{version} nco
-# tar czf nco-%{version}.tar.gz --exclude='nco-4.4.5/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
+# cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4.4.6-1 -d nco-%{version} nco
+# tar czf nco-%{version}.tar.gz --exclude='nco-4.4.6/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude='ncap_yacc.[ch]' ./nco-%{version}
Source0: nco-%{version}.tar.gz
#Patch0: nco_install_C_headers.patch
#Patch1: nco_find_udunits-dat.patch
@@ -108,6 +108,9 @@ fi
# %{_libdir}/libnco++.so
%changelog
+* Tue Oct 26 2014 Charlie Zender <zender at uci.edu> - 4.4.6-1
+- new upstream 4.4.6
+
* Tue Aug 26 2014 Charlie Zender <zender at uci.edu> - 4.4.5-1
- new upstream 4.4.5
diff --git a/bld/nco_dst.pl b/bld/nco_dst.pl
index b367a84..95b7452 100755
--- a/bld/nco_dst.pl
+++ b/bld/nco_dst.pl
@@ -7,18 +7,18 @@
# Export tagged, public versions
# /usr/bin/scp ${DATA}/nco-4.4.4.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_5 # Build, do not release on SF
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4_4_5 # Build, release on SF
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4_4_5 # Install, do not build
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4_4_5 # Build and install
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4_4_5
-# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4_4_5
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_6 # Build, do not release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --sf nco-4_4_6 # Build, release on SF
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --nst_all nco-4_4_6 # Install, do not build
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln --nst_all nco-4_4_6 # Build and install
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_cnt nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --acd_prs nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cgd_cnt nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --cray_prs nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --bbl_cnt nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --blk_cnt nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --dat_cnt nco-4_4_6
+# ${HOME}/nco/bld/nco_dst.pl --dbg=2 --cln --ute_prs nco-4_4_6
# Export daily snapshot
# ${HOME}/nco/bld/nco_dst.pl --dbg=2
@@ -32,7 +32,7 @@ BEGIN{
unshift @INC,$ENV{'HOME'}.'/perl'; # Location of csz.pl and DBG.pm HaS98 p. 170
} # end BEGIN
-my $CVS_Header='$Header: /cvsroot/nco/nco/bld/nco_dst.pl,v 1.216 2014/05/30 04:23:44 zender Exp $';
+my $CVS_Header='$Header: /cvsroot/nco/nco/bld/nco_dst.pl,v 1.217 2014/09/16 23:31:37 zender Exp $';
# Specify modules
use strict; # Protect all namespaces
@@ -69,9 +69,9 @@ my ($rsh_cmd,$rcp_cmd,$cp_cmd,$rm_cmd,$mkdir_cmd,$cvs_cmd);
my $False=0;
my $True=1;
-my $CVS_Date='$Date: 2014/05/30 04:23:44 $';
-my $CVS_Id='$Id: nco_dst.pl,v 1.216 2014/05/30 04:23:44 zender Exp $';
-my $CVS_Revision='$Revision: 1.216 $';
+my $CVS_Date='$Date: 2014/09/16 23:31:37 $';
+my $CVS_Id='$Id: nco_dst.pl,v 1.217 2014/09/16 23:31:37 zender Exp $';
+my $CVS_Revision='$Revision: 1.217 $';
my $CVSROOT='zender at nco.cvs.sf.net:/cvsroot/nco'; # CVS repository
my $DATA=$ENV{'DATA'};
my $HOME=$ENV{'HOME'};
@@ -256,7 +256,7 @@ if($bld){
# Set up FTP server
chdir $dst_pth_pfx or die "$prg_nm: ERROR unable to chdir to $dst_pth_pfx: $!\n"; # $! is system error string
cmd_prc("$cp_cmd $doc_fl ./$dst_vrs/doc"); # Copy derived documentation to source directory
- cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.4.5/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
+ cmd_prc("$tar_cmd cvzf $dst_fl --exclude='nco-4.4.6/debian*' --exclude='.cvsignore' --exclude=ncap_lex.c --exclude=ncap_yacc.[ch] ./$dst_vrs"); # Create gzipped tarfile
cmd_prc("$rsh_cmd $www_mch $rm_cmd $www_drc/src/$dst_fl"); # Remove any distribution with same name
if($dly_snp){cmd_prc("$rsh_cmd $www_mch $rm_cmd -r $www_drc/src/nco-????????.tar.gz");} # Remove previous daily snapshots from WWW server
cmd_prc("$rcp_cmd $dst_fl $www_mch:$www_drc/src"); # Copy local tarfile to WWW server
diff --git a/bm/NCO_rgr.pm b/bm/NCO_rgr.pm
index 90f2086..47f9f6b 100644
--- a/bm/NCO_rgr.pm
+++ b/bm/NCO_rgr.pm
@@ -1,6 +1,6 @@
package NCO_rgr;
-# $Header: /cvsroot/nco/nco/bm/NCO_rgr.pm,v 1.506 2014/08/25 22:36:00 zender Exp $
+# $Header: /cvsroot/nco/nco/bm/NCO_rgr.pm,v 1.516 2014/10/01 16:05:11 zender Exp $
# Purpose: All REGRESSION tests for NCO operators
# BENCHMARKS are coded in "NCO_benchmarks.pm"
@@ -742,15 +742,15 @@ print "\n";
$#tst_cmd=0; # Reset array
# ncbo #29
-#ncbo ensemble with 1 member
-#ncra -Y ncge -O mdl_3.nc ncge_out.nc
+#ncbo ensemble with 1 member
+#ncra -Y ncge -O mdl_3.nc ncge_out.nc
#ncbo -O --op_typ=add ncge_out.nc mdl_3.nc ~/foo.nc
#ncks -H -C -g cesm_01 -v tas1 ~/foo.nc
#ncge_out.nc =
-#/cesm/tas1
+#/cesm/tas1
#time[0]=1 tas1[0]=272.15
#mdl_3.nc =
-#/cesm/cesm_01/tas1
+#/cesm/cesm_01/tas1
#time[0]=1 tas1[0]=272.1
#result =
# 544.25 = 272.15 + 272.1
@@ -2077,7 +2077,7 @@ print "\n";
$#tst_cmd=0; # Reset array
#ncks #57:
-# ncks -H -C --dmn time,1,1,1 --dmn time,3,3,1 --dmn lev,0,0,1 --dmn lev,2,2,1 -v two_dmn_rec_var ~/nco/data/in_grp.nc
+# ncks -H -C --dmn time,1,1,1 --dmn time,3,3,1 --dmn lev,0,0,1 --dmn lev,2,2,1 -v two_dmn_rec_var ~/nco/data/in_grp.nc
#/g10/two_dmn_rec_var
#time[1]=2 lev[0]=100 two_dmn_rec_var[3]=1
#time[1]=2 lev[2]=1000 two_dmn_rec_var[5]=3
@@ -2093,8 +2093,8 @@ print "\n";
NCO_bm::tst_run(\@tst_cmd);
$#tst_cmd=0; # Reset array
-#ncks #58 This test uses limits to print a dimension "lon2(4)" that does NOT have a coordinate variable
-# ncks -H -d lon2,1,3,2 -v lon2_var in_grp.nc
+#ncks #58 Use limits to print a dimension "lon2(4)" that does NOT have a coordinate variable
+# ncks -H -d lon2,1,3,2 -v lon2_var in_grp_3.nc
#/g16/lon2_var
#lon2[1] lon2_var[1]=1
#lon2[3] lon2_var[3]=3
@@ -2566,6 +2566,16 @@ print "\n";
} # RUN_NETCDF4_TESTS_VERSION_GE_431
+#ncks #93
+#ncks -O -C -H -d lon,-0 -v lon ~/nco/data/in.nc
+
+ $dsc_sng="Select last element using negative zero index";
+ $tst_cmd[0]="ncks -O $nco_D_flg -C -H -d lon,-0 -v lon $in_pth_arg in.nc";
+ $tst_cmd[1]="lon[3]=270";
+ $tst_cmd[2]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ $#tst_cmd=0; # Reset array
+
#####################
#### ncpdq tests #### -OK !
#####################
@@ -3792,7 +3802,7 @@ print "\n";
$tst_cmd[0]="ncra $omp_flg -h -O $fl_fmt $nco_D_flg -v rec_var_dbl_mss_val_dbl_pck $in_pth_arg in.nc %tmp_fl_00%";
$tst_cmd[1]="ncks -C -H -s '%f' -v rec_var_dbl_mss_val_dbl_pck %tmp_fl_00%";
- $dsc_sng="record mean of packed double with double missing values (FAILURE with netCDF4 nco945) ";
+ $dsc_sng="record mean of packed double with double missing values";
$tst_cmd[2]="5";
$tst_cmd[3]="SS_OK";
NCO_bm::tst_run(\@tst_cmd);
@@ -4077,7 +4087,18 @@ if (0){
} #### Group tests
-
+# ncra #33
+# Handle scale factor and missing value with rth_dbl
+# ncra --dbl -O -d time,0,9 -v time,one_dmn_rec_var,one_dmn_rec_var_flt,one_dmn_rec_var_flt_mss,one_dmn_rec_var_flt_scl,one_dmn_rec_var_flt_mss_scl ~/nco/data/in.nc ~/foo.nc
+# ncra --dbl -O -C -v one_dmn_rec_var_flt_mss_scl ~/nco/data/in.nc ~/foo.nc
+# ncks -C -H -s '%g' ~/foo.nc
+ $dsc_sng="Handle scale factor and missing value with rth_dbl";
+ $tst_cmd[0]="ncra --dbl -h -O $fl_fmt $nco_D_flg -C -v one_dmn_rec_var_flt_mss_scl $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="ncks -C -H -s '%g' %tmp_fl_00%";
+ $tst_cmd[2]="5.5";
+ $tst_cmd[3]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ $#tst_cmd=0; # Reset array
#print "paused - hit return to continue"; my $wait=<STDIN>;
#print "<<<STOP>>>- hit return to continue"; my $wait=<STDIN>;
@@ -4863,6 +4884,18 @@ if (0){
NCO_bm::tst_run(\@tst_cmd);
$#tst_cmd=0; # Reset array
+#NEW 4.4.6
+#ncwa #65
+# ncwa --dbl -O -C -y min -a lon -v non_rec_var_flt_pck ~/nco/data/in.nc ~/foo.nc
+# ncks ~/foo.nc
+ $dsc_sng="Minimization on packed single-precision float";
+ $tst_cmd[0]="ncwa --dbl $omp_flg $nco_D_flg -O -C -y min -a lon -v non_rec_var_flt_pck $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="ncks -H -v non_rec_var_flt_pck %tmp_fl_00%";
+ $tst_cmd[2]="non_rec_var_flt_pck = 100.1";
+ $tst_cmd[3]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ $#tst_cmd=0; # Reset array
+
####################
#### ncrename tests #### OK!
####################
@@ -4883,7 +4916,7 @@ if (0){
$dsc_sng="Attributes: Optional relative rename '.nothing' to 'new_nothing'";
$tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a .nothing,new_nothing $in_pth_arg in_grp.nc %tmp_fl_00%";
- $tst_cmd[1]="ncrename: WARNING Attribute 'nothing' not renamed because not found in searched variable(s)";
+ $tst_cmd[1]="ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 0 variables";
$tst_cmd[2]="SS_OK";
NCO_bm::tst_run(\@tst_cmd);
@tst_cmd=(); # really reset array.
@@ -4893,7 +4926,7 @@ if (0){
#relative rename history to new_history
$dsc_sng="Attributes: Relative rename 'history' to 'new_history'";
- $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a history,new_history $in_pth_arg in_grp.nc %tmp_fl_00%";
+ $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a global\@history,new_history $in_pth_arg in_grp.nc %tmp_fl_00%";
$tst_cmd[1]="ncks %tmp_fl_00% | grep 'History global attribute'";
$tst_cmd[2]="Global attribute 3: new_history, size = 26 NC_CHAR, value = History global attribute.";
$tst_cmd[3]="SS_OK";
@@ -5023,7 +5056,7 @@ if (0){
$dsc_sng="Dimensions: Optional non-existing absolute rename './lat_non_existing,new_lat' to 'new_lat'";
$tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d ./lat_non_existing,new_lat $in_pth_arg in_grp.nc %tmp_fl_00%";
- $tst_cmd[1]="ncrename: WARNING Dimension '/lat_non_existing' not present in ../data/in_grp.nc, skipping it.";
+ $tst_cmd[1]="ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 0 variables";
$tst_cmd[2]="SS_OK";
NCO_bm::tst_run(\@tst_cmd);
@tst_cmd=(); # really reset array.
@@ -5031,7 +5064,7 @@ if (0){
#################### Variables
#ncrename #13
-#ncrename -D 1 -O -v /g1/v1,new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v /g1/v1,new_v1 in_grp.nc ~/foo.nc
#Absolute rename /g1/v1 to /g1/new_v1
$dsc_sng="Variables: Absolute rename '/g1/v1' to '/g1/new_v1'";
@@ -5044,7 +5077,7 @@ if (0){
#ncrename #14
-#ncrename -D 1 -O -v v1,new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v v1,new_v1 in_grp.nc ~/foo.nc
#Relative rename v1 to new_v1
$dsc_sng="Variables: Relative rename 'v1' to 'new_v1'";
@@ -5056,7 +5089,7 @@ if (0){
@tst_cmd=(); # really reset array.
#ncrename #15
-#ncrename -D 1 -O -v ./g1/v1,new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v ./g1/v1,new_v1 in_grp.nc ~/foo.nc
#Absolute rename /g1/v1 to /g1/new_v1
$dsc_sng="Variables: Optional absolute rename '/g1/v1' to '/g1/new_v1'";
@@ -5068,7 +5101,7 @@ if (0){
@tst_cmd=(); # really reset array.
#ncrename #16
-#ncrename -D 1 -O -v .v1,new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v .v1,new_v1 in_grp.nc ~/foo.nc
#Optional Relative rename v1 to new_v1
$dsc_sng="Variables: Optional relative rename 'v1' to 'new_v1'";
@@ -5080,12 +5113,12 @@ if (0){
@tst_cmd=(); # really reset array.
#ncrename #17
-#ncrename -D 1 -O -v ./g1/v1_not,new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v ./g1/v1_not,new_v1 ~/nco/data/in_grp.nc ~/foo.nc
#Optional non-existing absolute rename '/g1/v1_not'
$dsc_sng="Variables: Optional non-existing absolute rename './g1/v1_not' to '/g1/new_v1'";
$tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v ./g1/v1_not,new_v1 $in_pth_arg in_grp.nc %tmp_fl_00%";
- $tst_cmd[1]="ncrename: WARNING Variable '/g1/v1_not' not present in ../data/in_grp.nc, skipping it.";
+ $tst_cmd[1]="ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 0 variables";
$tst_cmd[2]="SS_OK";
NCO_bm::tst_run(\@tst_cmd);
@tst_cmd=(); # really reset array.
@@ -5119,7 +5152,7 @@ if (0){
@tst_cmd=(); # really reset array.
#ncrename #20
-#ncrename -D 1 -O -g /g1/g1g1,new_g1g1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -g /g1/g1g1,new_g1g1 in_grp.nc ~/foo.nc
#Absolute rename -g /g1/g1g1,new_g1g1
$dsc_sng="Groups: Absolute rename '/g1/g1g1' to '/g1/new_g1g1' (expect failure with netCDF < 4.3.1)";
@@ -5138,7 +5171,7 @@ if (0){
$dsc_sng="Groups: Optional relative rename '.gfoo' to 'new_g1'";
$tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -g .gfoo,new_g1 $in_pth_arg in_grp.nc %tmp_fl_00%";
- $tst_cmd[1]="ncrename: WARNING Group 'gfoo' not present in ../data/in_grp.nc, skipping it.";
+ $tst_cmd[1]="ncrename: In total renamed 0 attributes, 0 dimensions, 0 groups, and 0 variables";
$tst_cmd[2]="SS_OK";
NCO_bm::tst_run(\@tst_cmd);
@tst_cmd=(); # really reset array.
@@ -5146,7 +5179,7 @@ if (0){
#################### Variables
#ncrename #22 (same as #13)
-#ncrename -D 1 -O -v /g1/v1,/g1/new_v1 in_grp.nc ~/foo.nc
+#ncrename -D 1 -O -v /g1/v1,/g1/new_v1 in_grp.nc ~/foo.nc
#Absolute rename /g1/v1 to /g1/new_v1
$dsc_sng="Variables: Absolute rename '/g1/v1' to '/g1/new_v1' (input absolute name)";
@@ -5159,6 +5192,52 @@ if (0){
} #### Group tests
+ if(0){ # Next four tests all test for failure and so work but look messy. Revisit test harness for failures.
+#ncrename #23
+#ncrename -O -v xyz,abc ~/nco/data/in.nc ~/foo.nc
+#Fail when required variable not present
+
+ $dsc_sng="Variables: Fail when required variable not present";
+ $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -v xyz,abc $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="ncrename: ERROR Required variable 'xyz' is not present in input file";
+ $tst_cmd[2]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ @tst_cmd=(); # really reset array.
+
+#ncrename #24
+#ncrename -O -d xyz,abc ~/nco/data/in.nc ~/foo.nc
+#Fail when required dimension not present
+
+ $dsc_sng="Dimensions: Fail when required dimension not present";
+ $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -d xyz,abc $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="ncrename: ERROR Required dimension 'xyz' is not present in input file";
+ $tst_cmd[2]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ @tst_cmd=(); # really reset array.
+
+#ncrename #25
+#ncrename -O -a xyz,abc ~/nco/data/in.nc ~/foo.nc
+#Fail when required attribute not present
+
+ $dsc_sng="Attributes: Fail when required attribute not present";
+ $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -a xyz,abc $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="In total renamed 0 attributes, 0 dimensions, 0 groups, and 0 variables";
+ $tst_cmd[2]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ @tst_cmd=(); # really reset array.
+
+#ncrename #26
+#ncrename -O -g xyz,abc ~/nco/data/in.nc ~/foo.nc
+#Fail when required group not present
+
+ $dsc_sng="Groups: Fail when required group not present";
+ $tst_cmd[0]="ncrename -O $fl_fmt $nco_D_flg -g xyz,abc $in_pth_arg in.nc %tmp_fl_00%";
+ $tst_cmd[1]="ncrename: ERROR Required group 'xyz' is not present in input file";
+ $tst_cmd[2]="SS_OK";
+ NCO_bm::tst_run(\@tst_cmd);
+ @tst_cmd=(); # really reset array.
+ } # endif
+
#print "paused - hit return to continue"; my $wait=<STDIN>;
####################
diff --git a/configure b/configure
index 98b9598..a561992 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.4.5.
+# Generated by GNU Autoconf 2.69 for NCO netCDF Operators 4.4.6.
#
# Report bugs to <nco-bugs at lists.sourceforge.net>.
#
@@ -592,8 +592,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='NCO netCDF Operators'
PACKAGE_TARNAME='nco'
-PACKAGE_VERSION='4.4.5'
-PACKAGE_STRING='NCO netCDF Operators 4.4.5'
+PACKAGE_VERSION='4.4.6'
+PACKAGE_STRING='NCO netCDF Operators 4.4.6'
PACKAGE_BUGREPORT='nco-bugs at lists.sourceforge.net'
PACKAGE_URL=''
@@ -1385,7 +1385,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures NCO netCDF Operators 4.4.5 to adapt to many kinds of systems.
+\`configure' configures NCO netCDF Operators 4.4.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1456,7 +1456,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of NCO netCDF Operators 4.4.5:";;
+ short | recursive ) echo "Configuration of NCO netCDF Operators 4.4.6:";;
esac
cat <<\_ACEOF
@@ -1617,7 +1617,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-NCO netCDF Operators configure 4.4.5
+NCO netCDF Operators configure 4.4.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2483,7 +2483,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by NCO netCDF Operators $as_me 4.4.5, which was
+It was created by NCO netCDF Operators $as_me 4.4.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3732,7 +3732,7 @@ fi
# Define the identity of the package.
PACKAGE='nco'
- VERSION='4.4.5'
+ VERSION='4.4.6'
cat >>confdefs.h <<_ACEOF
@@ -17833,9 +17833,9 @@ fi
# Check for DAP in netCDF library unless told not to
if test "${enable_dap}" != 'no'; then
echo "Testing for DAP-netCDF support (is DAP in libnetcdf.a?)..."
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nc__opendap in -lnetcdf" >&5
-$as_echo_n "checking for nc__opendap in -lnetcdf... " >&6; }
-if ${ac_cv_lib_netcdf_nc__opendap+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daperror in -lnetcdf" >&5
+$as_echo_n "checking for daperror in -lnetcdf... " >&6; }
+if ${ac_cv_lib_netcdf_daperror+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -17849,27 +17849,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char nc__opendap ();
+char daperror ();
int
main ()
{
-return nc__opendap ();
+return daperror ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_netcdf_nc__opendap=yes
+ ac_cv_lib_netcdf_daperror=yes
else
- ac_cv_lib_netcdf_nc__opendap=no
+ ac_cv_lib_netcdf_daperror=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netcdf_nc__opendap" >&5
-$as_echo "$ac_cv_lib_netcdf_nc__opendap" >&6; }
-if test "x$ac_cv_lib_netcdf_nc__opendap" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_netcdf_daperror" >&5
+$as_echo "$ac_cv_lib_netcdf_daperror" >&6; }
+if test "x$ac_cv_lib_netcdf_daperror" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBNETCDF 1
_ACEOF
@@ -20975,7 +20975,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by NCO netCDF Operators $as_me 4.4.5, which was
+This file was extended by NCO netCDF Operators $as_me 4.4.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21041,7 +21041,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-NCO netCDF Operators config.status 4.4.5
+NCO netCDF Operators config.status 4.4.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index a099749..256ceeb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/nco/nco/configure.ac,v 1.47 2014/07/07 06:04:22 zender Exp $ -*-Shell-script-*-
+# $Header: /cvsroot/nco/nco/configure.ac,v 1.49 2014/09/16 23:31:37 zender Exp $ -*-Shell-script-*-
# Purpose: Template autoconf uses to generate NCO configure script
# Newer convention names this file configure.ac, rather than configure.in
@@ -51,7 +51,7 @@
# Process configure input with autoconf to produce configure script
# (package name,version,bug-report-address,tarball name)
-AC_INIT([NCO netCDF Operators],[4.4.5],[nco-bugs at lists.sourceforge.net],[nco])
+AC_INIT([NCO netCDF Operators],[4.4.6],[nco-bugs at lists.sourceforge.net],[nco])
# Print GNU copyright in configure script
AC_COPYRIGHT
@@ -324,7 +324,7 @@ AC_ARG_ENABLE(dap-netcdf,AS_HELP_STRING([--enable-dap],[Build DAP-enabled NCO wi
# Check for DAP in netCDF library unless told not to
if test "${enable_dap}" != 'no'; then
echo "Testing for DAP-netCDF support (is DAP in libnetcdf.a?)..."
- AC_CHECK_LIB([netcdf],[nc__opendap],,enable_dap=no,[-lcurl])
+ AC_CHECK_LIB([netcdf],[daperror],,enable_dap=no,[-lcurl])
if test "${enable_dap}" = 'no'; then
AC_MSG_WARN([DAP-netCDF support through libnetcdf.a disabled (missing DAP functions)])
fi
diff --git a/data/buggy.cdl b/data/buggy.cdl
index 9813933..ffcd71f 100644
--- a/data/buggy.cdl
+++ b/data/buggy.cdl
@@ -23,6 +23,7 @@ netcdf buggy {
lon=4;
tm2=unlimited;
tm3=unlimited;
+ time=unlimited;
variables:
float att_var;
@@ -64,6 +65,10 @@ netcdf buggy {
nan_scl:note6 = "It is too troublesome to distribute in.cdl with references to NaNs because users always build with old netCDF versions that do not support it. So just comment out nan's for now.";
nan_scl:_FillValue = nan;
+ int lat_time(lat,time);
+ lat_time:purpose = "record variable where record dimension is not first dimension";
+ lat_time:bug = "ncgen until 4.3.3-rc2 20140922 fails to parse this because of Jira NCF-315. Some variables with non-leading record dimensions (like lat_tm2, lat_tm3) did work before today in \"standalone\" files like buggy.cdl, but lat_time did not.";
+
float lat_tm2(lat,tm2);
float lat_tm3(lat,tm3);
float tm2_lat(tm2,lat);
@@ -96,6 +101,8 @@ netcdf buggy {
string_var2="20131121: This NC_STRING contains NCO's default XML string separator, *. And it contains multiple sequential copies of that separator, ***. Be sure ncks automatically switches to a different separator, aka the backup separator, the string obtained by removing the two spaces from this:\"* | *\". As of 20131121, ncks handles this correctly, yet toolsui breaks when trying to input the ncks-generated NcML. Appears to be a toolsui bug.";
+ lat_time={1,2,3,4,5,6,7,8,9,10},{11,12,13,14,15,16,17,18,19,20};
+
nan_arr=0,nan;
nan_scl=nan;
@@ -104,9 +111,8 @@ netcdf buggy {
uint64_var=18446744073709551615; // 20131120: XML treats unsigned as signed types, so toolsui produces errors when reading maximum uint64 values (though not when reading maxium ubyte, ushort, and uint values)
- // group: \1g {
- group: oneg {
- // Bug netCDF #TLO-836022 reported 20131118: ncgen fails on group names that begin with numeric characters. Response:
+ group: \1g {
+ // Non-bug netCDF #TLO-836022 reported 20131118: ncgen fails on group names that begin with numeric characters. Response:
// "An identifier with a leading digit is allowed, but the leading digit must be escaped. So in your example change 1g -> \1g"
:att=1;
} // 1g
@@ -250,10 +256,8 @@ netcdf buggy {
compound_var={{3,4,5},Stratus};
} // end g15
- //
//g17
//ncks -O -v ts -d time,0,1 -d Latitude,40.0 -d Longitude,-105.0 http://hydro1.sci.gsfc.nasa.gov/opendap/hyrax/ncml/LPRM_AMSRE_D_SOILM3_timeSeries.ncml ~/amsre.nc
- //
group: g17 {
dimensions:
time3 = 2;
diff --git a/data/in.cdl b/data/in.cdl
index 0fd6812..b1f9789 100644
--- a/data/in.cdl
+++ b/data/in.cdl
@@ -60,7 +60,7 @@ variables:
:Conventions = "CF-1.0";
:history = "History global attribute.\nAttributes like this often have embedded newlines to enhance legibility.\nSuch newlines should serve as linebreaks on the screen, hence,\nfriendly CDL converters print a single NC_CHAR attribute as a comma-separated list of strings\nwhere each embedded delimiter marks a linebreak.\nOtherwise it would be harder for humans to read the CDL.";
:julian_day = 200000.04;
- :RCS_Header = "$Header: /cvsroot/nco/nco/data/in.cdl,v 1.189 2014/08/21 20:39:01 zender Exp $";
+ :RCS_Header = "$Header: /cvsroot/nco/nco/data/in.cdl,v 1.192 2014/09/19 20:38:28 zender Exp $";
int date_int(date_dmn);
date_int:long_name = "Date (as array of ints: YYYY,MM,DD,HH,MM)";
@@ -793,7 +793,19 @@ variables:
float one_dmn_rec_var_flt(time);
one_dmn_rec_var_flt:long_name = "one dimensional record variable, single precision";
- one_dmn_rec_var_flt:units = "second";
+
+ float one_dmn_rec_var_flt_mss(time);
+ one_dmn_rec_var_flt_mss:long_name = "one dimensional record variable, single precision, missing values";
+ one_dmn_rec_var_flt_mss:_FillValue = 1.0e36f;
+
+ float one_dmn_rec_var_flt_scl(time);
+ one_dmn_rec_var_flt_scl:long_name = "one dimensional record variable, single precision, scaled";
+ one_dmn_rec_var_flt_scl:scale_factor = 1.0f;
+
+ float one_dmn_rec_var_flt_mss_scl(time);
+ one_dmn_rec_var_flt_mss_scl:long_name = "one dimensional record variable, single precision, missing values, scaled";
+ one_dmn_rec_var_flt_mss_scl:scale_factor = 1.0f;
+ one_dmn_rec_var_flt_mss_scl:_FillValue = 1.0e36f;
float one_dmn_rec_var_dbl(time);
one_dmn_rec_var_dbl:long_name = "one dimensional record variable, double precision";
@@ -948,6 +960,12 @@ variables:
rec_var_dbl_mss_val_dbl_pck_lng:scale_factor = -9.15541313801785e-05;
rec_var_dbl_mss_val_dbl_pck_lng:add_offset = 5.;
+ short rec_var_dbl_mss_val_sht_pck_sht(time);
+ rec_var_dbl_mss_val_sht_pck_sht:long_name = "record variable, double packed as short, with short missing values";
+ rec_var_dbl_mss_val_sht_pck_sht:_FillValue = -999s;
+ rec_var_dbl_mss_val_sht_pck_sht:scale_factor = -9.15541313801785e-05;
+ rec_var_dbl_mss_val_sht_pck_sht:add_offset = 5.;
+
char one_dmn_rec_var_sng(time);
one_dmn_rec_var_sng:long_name = "one dimensional record variable of string";
one_dmn_rec_var_sng:NB = "20131222: HDF4 ncgen fails on this variable: /usr/bin/hncgen -b -o ~/in.hdf ~/nco/data/in.cdl produces error message that \"string won't fit in this variable\"";
@@ -1188,6 +1206,10 @@ data:
one_dmn_rec_var=1,2,3,4,5,6,7,8,9,10;
one_dmn_rec_var_unsorted=10,4,6,2,8,1,9,7,3,5;
one_dmn_rec_var_flt=1,2,3,4,5,6,7,8,9,10;
+ one_dmn_rec_var_flt_mss=_,2,3,4,5,6,7,8,9,_;
+ one_dmn_rec_var_flt_scl=1,2,3,4,5,6,7,8,9,10;
+// First use of underscore to indicate _FillValue in in.cdl is here in one_dmn_rec_var_flt_mss_scl on 20140916
+ one_dmn_rec_var_flt_mss_scl=_,2,3,4,5,6,7,8,9,_;
one_dmn_rec_var_dbl=1,2,3,4,5,6,7,8,9,10;
one_dmn_rec_var_missing_value=1,2,3,4,5,6,7,8,9,1.0e36;
one_dmn_rec_var_mss_val=1.0e36,1.0e36,1.0e36,1.0e36,1.0e36,1.0e36,1.0e36,1.0e36,1.0e36,1.0e36;
@@ -1325,6 +1347,7 @@ data:
rec_var_dbl=1.,2.,3.,4.,5.,6.,7.,8.,9.,10.;
rec_var_dbl_mss_val_dbl_pck=-999,32767,21845,10922,0,-10922,-21845,-32767,-999,-999;
rec_var_dbl_mss_val_dbl_pck_lng=-999,32767,21845,10922,0,-10922,-21845,-32767,-999,-999;
+ rec_var_dbl_mss_val_sht_pck_sht=-999,32767,21845,10922,0,-10922,-21845,-32767,-999,-999;
rec_var_dbl_mss_val_dbl_upk=-999.,2.,3.,4.,5.,6.,7.,8.,-999.,-999.;
rec_var_dbl_mss_val_sht_pck=-999,32767,21845,10922,0,-10922,-21845,-32767,-999,-999;
rec_var_dbl_mss_val_sht_upk=-999.,2.,3.,4.,5.,6.,7.,8.,-999.,-999.;
diff --git a/data/in_grp.cdl b/data/in_grp.cdl
index aaa66fd..2a3663c 100644
--- a/data/in_grp.cdl
+++ b/data/in_grp.cdl
@@ -78,7 +78,7 @@ netcdf in_grp {
:Conventions = "CF-1.0";
:history = "History global attribute.\n";
:julian_day = 200000.04;
- :RCS_Header = "$Header: /cvsroot/nco/nco/data/in_grp.cdl,v 1.121 2014/05/20 21:54:00 zender Exp $";
+ :RCS_Header = "$Header: /cvsroot/nco/nco/data/in_grp.cdl,v 1.123 2014/09/22 21:37:13 zender Exp $";
data:
area=10.,10.;
diff --git a/data/ncl.ncl b/data/ncl.ncl
new file mode 100644
index 0000000..d9734f7
--- /dev/null
+++ b/data/ncl.ncl
@@ -0,0 +1,21 @@
+; $Header: /cvsroot/nco/nco/data/ncl.ncl,v 1.3 2014/09/22 21:38:34 zender Exp $
+
+; Purpose: NCL script to compare to NCO scripts for speed
+
+; time ncl < /home/zender/nco/data/ncl.ncl
+; load "/home/zender/nco/data/ncl.ncl"
+
+begin ; begin ncl()
+
+; Examine stride-slowdown on netCDF4 datasets
+; time ncks -O -d time,0,0,12 ~/ET_2000-01_2001-12.nc ~/foo.nc # borken after 6m13s, numerous HDF errors
+; NCL produces same HDF errors as NCO when striding
+fl_nm="/home/zender/ET_2000-01_2001-12.nc"
+fl_in=addfile(fl_nm,"r")
+ET_1km=fl_in->ET_1km(0::12,:,:)
+;ET_1km=fl_in->ET_1km(0:0,:,:)
+fl_nm_out="/home/zender/foo.nc"
+fl_out=addfile(fl_nm_out,"w")
+fl_out->ET_1km=ET_1km
+end ; end ncl()
+
diff --git a/doc/ANNOUNCE b/doc/ANNOUNCE
index 7b551a1..72fb93e 100644
--- a/doc/ANNOUNCE
+++ b/doc/ANNOUNCE
@@ -1,16 +1,25 @@
-$Header: /cvsroot/nco/nco/doc/ANNOUNCE,v 1.730 2014/08/27 04:44:00 zender Exp $ -*-text-*-
+$Header: /cvsroot/nco/nco/doc/ANNOUNCE,v 1.747 2014/10/01 17:47:39 zender Exp $ -*-text-*-
-The netCDF Operators NCO version 4.4.5 are ready.
+The netCDF Operators NCO version 4.4.6 are ready.
http://nco.sf.net (Homepage)
http://dust.ess.uci.edu/nco (Homepage "mirror")
-This release is mainly a bugfix and stability release.
-A few new features improve some corner-cases:
-NCO now supports longer lists of input files, DAP files on HTTPS
-servers, and the CF ancillary_variables convention.
-
-Work on NCO 4.4.6 is underway, still focused on stability and speed.
+This is a bugfix, stability, and performance release.
+It fixes an ncra bug that affects packed records with missing values,
+and it fixes an ncwa bug that affects minimization and maximization
+operations on packed variables. Affected users would likely have
+noticed being bit by these bugs since the answers generated were,
+well, noticeable. For these reasons alone, we recommend that users of
+packed datasets upgrade to 4.4.6.
+
+We rewrote ncrename to enhance its group-oriented features.
+We also implemented a performance optimization that dramatically
+improves access times to strided hyperslabs in netCDF4 datasets.
+Minor improvements include new ncks printing and hyperslab options,
+support for HDF4 chunking/compression, and ncap2 argument passing.
+
+Work on NCO 4.4.7 is underway, still focused on stability and speed.
This includes more netCDF4 mop-up and new chunking features.
Enjoy,
@@ -18,85 +27,117 @@ Charlie
NEW FEATURES (full details always in ChangeLog):
-A. NCO now supports stdin input file lists up to ~50 MB long.
- This applies to all NCO multi-file operators (ncra, ncea, ncrcat).
- The previous limit was 10 MB. The new limit suffices for 30 years
- of hourly datasets where each dataset name is 192 bytes long.
- One NASA user is averaging 10 years of data, or 87600 files.
- Who will be the first user to break the million file barrier?
- http://nco.sf.net/nco.html#stdin
-
-B. NCO now supports the CF ancillary_variables convention described at
- http://cfconventions.org/1.6.html#ancillary-data
- This convention allows ancillary variables to be associated with
- one or more primary variables. NCO attaches any such variables to
- the extraction list along with the primary variable and its
- coordinates and bounds, if any.
- http://nco.sf.net/nco.html#ncl
-
-C. NCO now accesses DAP files on HTTPS servers. Previously NCO would
- only test filenames beginning with "http://" for DAP access.
- Now NCO also tests filenames beginning with "https://" for DAP.
- If you use DAP servers with a protocol besides HTTP or HTTPS please
- tell us so we can enable NCO for those services too.
- http://nco.sf.net/nco.html#dap
-
-D. ncks --grp_xtr_var_xcl: Group Extraction Variable Exclusion
- This new switch helps control variable and group extraction.
- Normally NCO works in "intersection mode" where the objects
- extracted are the intersection of arguments to -g and -v.
- And the --union switch can be used to make their union.
- As of 4.4.4 (June, 2014), ncks (alone) supports an option to
- include specified groups yet exclude specified variables.
- The --grp_xtr_var_xcl switch (with long option equivalent --gxvx
- extracts all contents of groups given as arguments to
- -g except for variables given as arguments to -v.
- Use this when one or a few variables in hierarchical files are not
- to be extracted, and all other variables are. This is useful when
- coercing netCDF4 files into netCDF3 files such as with converting,
- flattening, or dismembering files.
- ncks --grp_xtr_var_xcl -g g1 -v v1 # Extract all of group g1 except v1
- http://nco.sf.net/nco.html#gxvx
-
-E. New chunking policy r1d changes chunksize of 1-D record variables
- (and no other variables) to specified (with --cnk_dmn) chunksize.
- Any specified record dimension chunksizes will be applied to 1-D
- record variables only. Other dimensions may be chunked with their
- own --cnk_dmn options that will apply to all variables.
- For example, ncks --cnk_plc=r1d --cnk_dmn=time,1000.
- This sets time chunks to 1000 only in 1-D record variables.
- Without the r1d policy, time chunks would change in all variables.
- Not to be confused with chunking map rd1.
- Thanks to James Adams for suggesting this.
- http://nco.sf.net/nco.html#r1d
+A. ncrename expanded functionality on group-oriented files:
+ ncrename now supports group attributes and variable attributes with
+ the same syntax, provides distinct options to change only global
+ metatdata or metadata in every group, and works with multiple
+ instances of the same object, e.g., multiple instances of the same
+ variable name in different groups.
+ ncrename -a g1 at old_att,new_att in.nc # Rename in g1 only
+ ncrename -a group at old_att,new_att in.nc # Rename in all groups
+ ncrename -a global at old_att,new_att in.nc # Rename in root only
+ http://nco.sf.net/nco.html#ncrename
+
+B. Optimization of strided hyperslab access to netCDF4 data:
+ Multiple users complain that access to strided hyperslabs of
+ netCDF4 datasets is orders of magnitude slower than expected.
+ This occurs with other languages (like NCL) and appears to be
+ caused by lower-level libraries. Until the problem is solved at the
+ root, we have developed and implemented a transparent workaround
+ that fixes the issue for the common case where strides are taken in
+ only one dimension, e.g., -d time,0,,12. Strided hyperslabs like this
+ ncks -O -d time,0,,12 ~/in.nc4 ~/foo.nc
+ now complete in nearly the same amount of time as non-strided.
+ This workaround works transparently with any version of netCDF.
+ http://nco.sf.net#bug_nc4_srd
+
+C. ncap2 command-line and script arguments can now both be specified
+ AND executed. Command-line args are executed before script:
+ ncap2 -v -s "lon=${longitude}" -S in_4.nc out.nc
+ This is useful for passing shell variables into NCO scripts.
+ Pass the shell variables with -s and the -S scripts will use them.
+ Thanks to Henry Butowsky for this.
+ http://nco.sf.net/nco.html#ncap2
+
+D. ncks -V = --var_val is new switch to print only variable values.
+ Compare and contrast -Q, -V, and --no_nm_prn:
+ % ncks -v three_dmn_rec_var -C -H in.nc
+ time[0]=1 lat[0]=-90 lon[0]=0 three_dmn_rec_var[0]=1
+ % ncks --no_nm_prn -v three_dmn_rec_var -C -H in.nc
+ 1 -90 0 1
+ % ncks -Q -v three_dmn_rec_var -C -H in.nc
+ three_dmn_rec_var[0]=1
+ % ncks -Q --no_nm_prn -v three_dmn_rec_var -C -H in.nc
+ 1
+ % ncks -V -v three_dmn_rec_var -C -H in.nc
+ 1
+ http://nco.sf.net/nco.html#var_val
+
+E. ncks --cdl --hdn now prints extended file format (i.e., the format
+ of the file or server supplying the data)as _SOURCE_FORMAT:
+ % ncks --hdn --cdl ~/nco/data/cmip5.nc
+ ...
+ :_Format = "netCDF-4" ;
+ :_SOURCE_FORMAT = "NC_FORMAT_HDF5" ;
+ ...
+ http://nco.sf.net/nco.html#hdn
+
+F. Hyperslabs specifications now accept -0 (negative zero) to indicate
+ the last element of a dimension. This is consistent with existing
+ (Python) syntax where negative integers indicate the number of
+ elements from the last (-1 is penultimate, -0 is ultimate):
+ ncks -d lon,1,-0 in.nc out.nc # Second through last longitude
+ http://nco.sf.net/nco.html#hyp
+
+G. NCO now supports chunking and deflation features of HDF4 datasets
+ when compiled with netCDF library 4.3.3-rc1 or later.
+ Earlier versions of netCDF do not support these features for HDF4.
+ Thanks to Unidata for continuing to improve HDF4 interoperability.
+ http://nco.sf.net/nco.html#hdf4
BUG FIXES:
-A. ncrename: fix unsafe pointer de-reference and improve diagnostics
-
-B. Fix problem introduced in 4.4.0 where sanitizing of filenames with
- colons confused MS Windows interpretation of volume names, e.g.,
- "C:\foo" became "C\:\foo" and caused write error. Workaround is to
- use --no_tmp_fl or upgrade to 4.4.5. Thanks to James Adams for
- reporting.
-
-C. Always send correct dimension sizes to chunker when hyperslabbing.
- Fixes a bug reported where chunking and hyperslabbing played
- cruelly together. Thanks to Parker Norton for reporting.
- http://nco.sf.net#bug_cnk_hyp
-
-D. ncpdq: fix mishandling of dimension reversal arguments
- Versions 4.3.2-4.4.4 of ncpdq could fail to correctly parse some
- valid forms of the dimension reversal syntax. Failure resulted,
- so no bad data was written. Solution is to upgrade to 4.4.5.
- Thanks to Fan Fang for reporting.
+A. Fix treatment of packed variables with missing values in ncra.
+ Versions 4.3.7-4.4.5 of ncra could produce (wildly) inaccurate
+ statistics when promoting (e.g., to double- from single-precision)
+ variables that are packed and that have missing values.
+ The two workarounds are to remove the scaling or to perform the
+ statistics in single precision with the --flt option.
+ The solution is to upgrade to NCO 4.4.6.
+ Thanks to user John for reporting this.
+ http://nco.sf.net#bug_ncra_dbl_pck_mss
+
+B. Fix promotion of packed variables subject to minimization and
+ maximization operations in ncwa. Versions 4.3.7-4.4.5 of ncwa
+ incorrectly handled packed variables during these operations.
+ The two workarounds are to remove the scaling or to perform the
+ statistics in single precision with the --flt option.
+ The solution is to upgrade to NCO 4.4.6.
+ Thanks to user Frederic Laliberte for reporting this.
+ http://nco.sf.net#bug_ncwa_pck_min_max
+
+C. ncrename now fails (as intended) when required objects not present.
+ Since version 4.3.x, ncrename incorrectly ignored missing objects.
+ Now missing objects are ignored only when prefixed with a period.
+ A missing object (variable, attribute, dimension, group) not
+ prefixed with period now causes an error as intended.
+ Thanks to user John for reporting this.
+ http://nco.sf.net/nco.html#ncrename
+
+D. NCO now checks correct function to enable DAP with configure.
+ NCO has been checking the wrong function to see if netCDF was
+ enabled with DAP support since about NCO 4.3.1 (May 2013).
+ Thanks to Parker Norton and Filipe Fernandes for reporting this.
+
+E. Fix --file_format switch as synonym for --fl_fmt
+ Thanks to Dave Allured for reporting this.
KNOWN PROBLEMS DUE TO NCO:
This section of ANNOUNCE reports and reminds users of the
existence and severity of known, not yet fixed, problems.
- These problems occur with NCO 4.4.5 built/tested with netCDF
- 4.3.3-rc1 on top of HDF5 hdf5-1.8.13 with these methods:
+ These problems occur with NCO 4.4.6 built/tested with netCDF
+ 4.3.3-rc2 on top of HDF5 hdf5-1.8.13 with these methods:
cd ~/nco;./configure --enable-netcdf4 # Configure mechanism -or-
cd ~/nco/bld;make dir;make allinone # Old Makefile mechanism
@@ -124,33 +165,22 @@ B. NOT YET FIXED (NCO problem?)
Cause: Unsure. Maybe ncra.c loop structure not amenable to MRD?
Workaround: Convert to fixed dimensions then hyperslab
-C. NOT YET FIXED (NCO problem?)
- Correctly handle stride argument on netCDF4 datasets
- Specifying strided hyperslab on netCDF4 datasets leads
- to enormous slowdown or failure with recent NCO versions.
-
- Demonstration:
- ncks -O -d time,0,,12 ~/ET_2000-01_2001-12.nc ~/foo.nc
-
- 20140826: Verified problem still exists
- 20140718: Problem reported by Parker Norton
- Cause: Unclear. Interaction of stride and MSA?
- Workaround: Convert file to netCDF3 first, then use stride
-
KNOWN PROBLEMS DUE TO BASE LIBRARIES/PROTOCOLS:
-A. NOT YET FIXED (netCDF library problem)
- Probe hidden attributes (chunking, compression) of HDF4 files
-
- Demonstration:
- ncdump -h -s ~/nco/data/hdf.hdf # (dies)
- ncks -m ~/nco/data/hdf.hdf # (works by avoiding fatal calls)
-
- 20131230: Verified problem still exists
+A. NOT YET FIXED (netCDF4 or HDF5 problem?)
+ Specifying strided hyperslab on netCDF4 datasets leads
+ to enormous slowdown or failure with recent netCDF versions.
- Cause: some libnetCDF library functions fail on HDF4 file inquiries.
- Bug report filed: netCDF #HZY-708311 ncdump/netCDF4 segfaults probing HDF4 file
- Tracking tickets NCF-272, NCF-273
+ Demonstration with NCO <= 4.4.5:
+ time ncks -O -d time,0,,12 ~/ET_2000-01_2001-12.nc ~/foo.nc
+ Demonstration with NCL:
+ time ncl < ~/nco/data/ncl.ncl
+ 20140718: Problem reported by Parker Norton
+ 20140826: Verified problem still exists
+ 20140930: Finish NCO workaround for problem
+ Cause: Slow algorithm in nc_var_gets()?
+ Workaround #1: Use NCO 4.4.6 or later (avoids nc_var_gets())
+ Workaround #2: Convert file to netCDF3 first, then use stride
B. NOT YET FIXED (would require DAP protocol change?)
Unable to retrieve contents of variables including period '.' in name
diff --git a/doc/ChangeLog b/doc/ChangeLog
index ab20346..bd579e1 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,106 @@
+2014-10-01 Charlie Zender <zender at uci.edu>
+
+ * NCO 4.4.6 release procedure:
+ Changes since nco-4_4_5: ncks -V, ncap2 -s -S, DAP cnf, ncra pck/mss/prm, HDF4, ncrename, NC4_SRD, -0
+ cd ~/nco;cvs tag -d nco-4_4_6;cvs tag -d nco-4_4_6-1
+ cd ~/nco;cvs commit -m "Preparing nco-4.4.6 release"
+ cvs tag -c nco-4_4_6;cvs tag -c nco-4_4_6-1
+
+ * Add negative zero syntax to select last element of hyperslab
+
+2014-09-30 Charlie Zender <zender at uci.edu>
+
+ * Avoid void arithmetic in USE_NC4_SRD_WORKAROUND
+
+ * Change important nco_calloc() to nco_malloc() for speed
+
+ * Fix ncwa handling of packed variables for minimization/maximization
+
+ * Implement strncasecmp() for Windows and MSVC compilers
+
+ * Fix count bug in USE_NC4_SRD_WORKAROUND
+
+2014-09-29 Charlie Zender <zender at uci.edu>
+
+ * Implement USE_NC4_SRD_WORKAROUND by default in all applicable cases, i.e.,
+ for singly strided hyperslab access to netCDF4 files.
+
+2014-09-26 Charlie Zender <zender at uci.edu>
+
+ * Implement workaround to nc_get_vars() slowdown for netCDF4 in netCDF library
+ Workaround avoids nc_get_vars() and instead loops through calls to nc_get_vara()
+ Workaround implemented in nco_msa_get_var_trv() and activated, for now, by -D 6
+
+ * Finish ncrename rewrite. All capabilities work. No regressions.
+ Some debugging, syntax, and documentation remains to be done
+
+2014-09-24 Charlie Zender <zender at uci.edu>
+
+ * Use netcdf_meta.h in nco.h to enable chunking/deflation calls for HDF4
+
+ * ncrename now builds and works again for all but attributes
+
+2014-09-23 Charlie Zender <zender at uci.edu>
+
+ * Print extended file format as _SOURCE_FORMAT with ncks --hdn
+
+ * Remove nco_dmn_usr_sng() and nco_obj_usr_sng() due to flawed algorithms
+
+ * Finish ncrename re-write for variables, groups, and dimensions
+ NCO versions 4.3.3-4.4.5 broke "." support and did not fully support groups
+ Those versions renamed first and ignored subsequent instances of old_nm
+ Now ncrename fails as intended when required objects are not present
+ Attributes are more complex and are still broken
+
+2014-09-22 Charlie Zender <zender at uci.edu>
+
+ * Support netCDF 4.3.3 netcdf_meta.h in nco_netcdf.h so NC_HAVE_RENAME_GRP is found
+
+ * Add regression tests to make ncrename die when required entities not present
+
+2014-09-20 Charlie Zender <zender at uci.edu>
+
+ * Fix bug with ncra --dbl on packed variables with missing values
+
+2014-09-18 Charlie Zender <zender at uci.edu>
+
+ * Add debugging statements to track netCDF4 stride slowdown
+
+ * Note locations which assume record dimension is in first position
+
+2014-09-17 Charlie Zender <zender at uci.edu>
+
+ * Start to generalize ncra.c so single record dimensions can occupy any position
+
+2014-09-16 Charlie Zender <zender at uci.edu>
+
+ * Add regression test to demonstrate bug with ncra --dbl on
+ packed float variables with missing values.
+
+ * Implement missing getopt() line for file_format switch
+
+2014-09-15 Charlie Zender <zender at uci.edu>
+
+ * ./configure now checks for daperror() instead of nc__opendap()
+
+ * Add NC_EIO error clarifications
+
+2014-09-11 Charlie Zender <zender at uci.edu>
+
+ * Create -V = --var_val = -Q --no_nm_prn for ncks to print only variable values
+
+ * Document -Q and -V and switch --quiet to -Q (not -q) and synonomize -q with --quench
+
+2014-09-02 Charlie Zender <zender at uci.edu>
+
+ * Clarify WARNING when record dimension size changes
+
+2014-09-02 Henry Butowsky <henryb at hush.com>
+
+ * ncap2 command-line and script arguments can now both be specified AND executed
+ Command-line args are executed before script:
+ ncap2 -v -s "lon=longitude" -S in_4.nc out.nc
+
2014-08-26 Charlie Zender <zender at uci.edu>
* NCO 4.4.5 release procedure:
@@ -1065,7 +1168,7 @@
This should considerably reduce chances of namespace pollution
Other changes include prg_prs()->nco_prg_prs()
Remaining namespace violators will be changed in the course of time
- This partially addresses external symbol conflicts with NCO 4.3.7 on yellowstone.ucar.ed
+ This partially addresses external symbol conflicts with NCO 4.3.7 on yellowstone.ucar.edu
2013-10-20 Charlie Zender <zender at uci.edu>
@@ -1266,7 +1369,7 @@
* Releasing late on Friday actually worked well because we found
and fixed the problem Saturday. Able to re-release on Sunday
- before people got back to work Monday. Sourceforge reported no
+ before people got back to work Monday. Sourceforge reported no
downloads from Friday-Sunday.
2013-09-20 Charlie Zender <zender at uci.edu>
diff --git a/doc/MANIFEST b/doc/MANIFEST
index d0d6750..e26638a 100644
--- a/doc/MANIFEST
+++ b/doc/MANIFEST
@@ -1,4 +1,4 @@
-$Header: /cvsroot/nco/nco/doc/MANIFEST,v 1.70 2014/08/22 01:01:20 zender Exp $ -*-text-*-
+$Header: /cvsroot/nco/nco/doc/MANIFEST,v 1.72 2014/09/22 21:38:34 zender Exp $ -*-text-*-
This file enumerates the files in the NCO distribution and, where
appropriate, describes the purpose of the file.
@@ -99,6 +99,7 @@ nco/data/mrd.cdl CDL file to test multiple record dimensions
nco/data/obs.cdl CDL file to test group broadcasting
nco/data/in_rec_zero.cdl CDL file to test zero-record files
nco/data/ncap.in Sample ncap input script
+nco/data/ncl.ncl NCL script to compare to NCO scripts for speed
nco/data/netcdf4.nco Sample input script for netCDF4-enabled ncap2
nco/data/ncap.in2 ncap script to demonstrate #include capabilities
nco/data/nco_bnch.sh Old (deprecated) NCO benchmark script
@@ -147,6 +148,7 @@ nco/doc/nco.png NCO Webpage icon (PNG format)
nco/doc/nco.ps(v) NCO User's Guide: Postscript format
nco/doc/nco.texi NCO User's Guide: TeXInfo format
nco/doc/nco_news.shtml NCO news archive
+nco/doc/netcdf.h.3.6.3 Version 3.6.X of netcdf.h for backward compatibility
nco/doc/netcdf4.sh Install latest netcdf4 and HDF libraries for NCO
nco/doc/nsf.png NSF logo (PNG format)
nco/doc/opendap.sh Install OPeNDAP 3.5.X for NCO DAP-enabled clients
diff --git a/doc/TAG b/doc/TAG
index de12b9f..e43f32b 100644
--- a/doc/TAG
+++ b/doc/TAG
@@ -1 +1 @@
-$Name: nco-4_4_5 $
+$Name: nco-4_4_6 $
diff --git a/doc/TODO b/doc/TODO
index fb864f6..f4fd2e6 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,4 +1,4 @@
-$Header: /cvsroot/nco/nco/doc/TODO,v 1.1267 2014/08/27 04:44:01 zender Exp $
+$Header: /cvsroot/nco/nco/doc/TODO,v 1.1269 2014/09/19 20:38:28 zender Exp $
# Purpose: TODO items for NCO
@@ -520,7 +520,6 @@ nco941. ncra (now? when was regression?) tries to average NC_CHAR record variabl
Would that break ncpdq packing to NC_CHAR?
nco943. rgr: Add regression test for
ncks -m -v cnv_CF_crd ~/nco/data/in.nc
-nco945. ncra problem with netCDF4 record mean of packed double with double missing values
nco949. Make --no-clobber option for all operators
nco953. ncatted: Add -v -C -c infrastructure to allow easy modification of attributes of variable lists, rather than all-or-nothing selections
nco954. ncinsert functionality request posted to help forum 20081116
@@ -661,7 +660,8 @@ nco1113. nco: rsp parker norton help srd slowdown issue help 20140718
time ncks -O -d time,0,0,12 ~/ET_2000-01_2001-12.nc ~/foo.nc # borken after 6m13s, numerous HDF Errors
time ncks -O -L 0 -d time,0,0,12 ~/ET_2000-01_2001-12.nc ~/foo.nc # borken after 6m13s, numerous HDF Errors
time ncks -O -d time,0,,12 ~/ET_2000-01_2001-12.nc ~/foo.nc # borken after 6m13s, numerous HDF Errors
-nco1114.
+nco1114. ncrcat fails when single record dimension is not first dimension
+nco1115.
qrk
************************************************************************
End ncoXXX TODOs
diff --git a/doc/VERSION b/doc/VERSION
index 5f70498..b58299c 100644
--- a/doc/VERSION
+++ b/doc/VERSION
@@ -1 +1 @@
-4.4.5
\ No newline at end of file
+4.4.6
\ No newline at end of file
diff --git a/doc/debian.txt b/doc/debian.txt
index 620563d..ac3dbed 100644
--- a/doc/debian.txt
+++ b/doc/debian.txt
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/nco/nco/doc/debian.txt,v 1.203 2014/05/29 18:36:54 zender Exp $ -*-text-*-
+# $Header: /cvsroot/nco/nco/doc/debian.txt,v 1.204 2014/09/16 23:31:37 zender Exp $ -*-text-*-
# Purpose: Debian information for NCO netCDF Operators project
# Notes describe procedure to manipulate Debian-specific distribution
@@ -29,19 +29,19 @@ apt-get install dh-make debhelper devscripts fakeroot gnupg debian-policy develo
2. Debian build procedure recommends placing entire package source in
subdirectory of main package.
- For starters, we wish to create .debs of tagged releases, e.g., nco-4.4.5
- First we create a clean source distribution of nco and place it in nco-4.4.5
- Once automated, we will use cvs co -rnco-4_4_5 to get source
+ For starters, we wish to create .debs of tagged releases, e.g., nco-4.4.6
+ First we create a clean source distribution of nco and place it in nco-4.4.6
+ Once automated, we will use cvs co -rnco-4_4_6 to get source
Until we know what is necessary, however, we just copy a snapshot
2.1 Clean all build files from development directory
cd ~/nco;make distclean;cd bld;make clean;cd ~
tar cvzf ./nco/nco.tar.gz ./nco/*
-cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.4.5
-/bin/rm nco.tar.gz;tar cvzf nco-4.4.5.tar.gz ./nco-4.4.5/*
-cd ~/nco/nco-4.4.5
-dh_make -e zender at uci.edu -f ../nco-4.4.5.tar.gz
+cd ~/nco;tar xvzf nco.tar.gz;mv nco nco-4.4.6
+/bin/rm nco.tar.gz;tar cvzf nco-4.4.6.tar.gz ./nco-4.4.6/*
+cd ~/nco/nco-4.4.6
+dh_make -e zender at uci.edu -f ../nco-4.4.6.tar.gz
2.2 The preceding steps created template debian files for a .deb,
Those files now reside in ~/nco/debian.
@@ -56,7 +56,7 @@ dh_make -e zender at uci.edu -f ../nco-4.4.5.tar.gz
from previous build
cd ~/nco;/bin/rm *.gz
- cd ~/nco/nco-4.4.5
+ cd ~/nco/nco-4.4.6
dpkg-buildpackage -rfakeroot > foo 2>&1
dpkg-buildpackage -rsudo > foo 2>&1
@@ -85,12 +85,12 @@ patch -p0 < nco_X.Y.Z-3.diff # Patch destination with Debian diff
make tags
# Put cute version-specific string in nco_ctl.c:nco_nmn_get()
# Install correct version numbers before updating Debian
-# tags-query replace 4_4_5 with X_Y_Z+1
-# tags-query replace 4.4.5 with X.Y.Z+1
+# tags-query replace 4_4_6 with X_Y_Z+1
+# tags-query replace 4.4.6 with X.Y.Z+1
# If tags-query replace does not work, be sure to manually change
# versions in configure.ac, debian/files, doc/ANNOUNCE, doc/debian.txt,
# doc/index.shtml, doc/nco.texi, bld/nco_dst.pl, doc/VERSION
- cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.4.5-1 # Update changelog (-b forces this version number)
+ cd ~/nco/debian;dch -b --force-distribution --distribution=unstable -v 4.4.6-1 # Update changelog (-b forces this version number)
emacs ~/nco/bld/nco.spec # Update changelog
# For unknown reason rules file may lose its executable bit
chmod a+x ~/nco/debian/rules
@@ -98,22 +98,22 @@ patch -p0 < nco_X.Y.Z-3.diff # Patch destination with Debian diff
cd ~/nco;aclocal;autoheader;automake --foreign;autoconf
# Save all files in emacs before tagging
# Tag CVS code after changing files in ~/nco/debian
- cd ~/nco;cvs commit -m "Preparing nco-4.4.5 release";cvs tag -c nco-4_4_5
- ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_5
+ cd ~/nco;cvs commit -m "Preparing nco-4.4.6 release";cvs tag -c nco-4_4_6
+ ${HOME}/nco/bld/nco_dst.pl --dbg=2 --bld --cln nco-4_4_6
# Upload tarball to SF https://sourceforge.net/projects/nco/files
- cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.4.5.tar.gz .
+ cd;scp dust.ess.uci.edu:/var/www/html/nco/src/nco-4.4.6.tar.gz .
7. Ubuntu PPA
https://help.launchpad.net/Packaging/PPA
-dput NCO nco_4.4.5-2~ppa1_source.changes
+dput NCO nco_4.4.6-2~ppa1_source.changes
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com
# Location of build diagnostics for mentors to help
-http://dust.ess.uci.edu/nco/src/nco_4.4.5-1.dpkg-buildpackage.txt
-http://dust.ess.uci.edu/nco/src/nco_4.4.5-1.dsc
-http://dust.ess.uci.edu/nco/src/nco_4.4.5-1_i386.changes
-http://dust.ess.uci.edu/nco/src/nco_4.4.5-1_i386.deb
-http://dust.ess.uci.edu/nco/src/nco_4.4.5.orig.tar.gz
+http://dust.ess.uci.edu/nco/src/nco_4.4.6-1.dpkg-buildpackage.txt
+http://dust.ess.uci.edu/nco/src/nco_4.4.6-1.dsc
+http://dust.ess.uci.edu/nco/src/nco_4.4.6-1_i386.changes
+http://dust.ess.uci.edu/nco/src/nco_4.4.6-1_i386.deb
+http://dust.ess.uci.edu/nco/src/nco_4.4.6.orig.tar.gz
# Becoming a Debian developer
http://www.debian.org/devel/join/newmaint
@@ -167,31 +167,31 @@ Matej Vela <vela at debian.org>, Daniel Baumann <daniel at debian.org>, Warren Turkal
# export LD_LIBRARY_PATH=/usr/lib:/lib:/usr/X11R6/lib
# sudo aptitude install antlr bison flex gsl-bin libgsl0-dev libantlr-dev netcdf-bin libnetcdfc7 libnetcdf-dev texinfo libcurl4-gnutls-dev libexpat1-dev libxml2-dev udunits-bin libudunits2-0 libudunits2-dev
cd ~/nco;cvc
-sudo /bin/rm -rf ${DATA}/nco-4.4.5 ${DATA}/nco_4.4.5* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
-# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_5-1 -d nco-4.4.5 nco # Export based on tag
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-4.4.5 nco # Export most recent
-tar cvzf ./nco_4.4.5.orig.tar.gz --exclude='nco-4.4.5/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.5
-/bin/rm -rf ${DATA}/nco-4.4.5 # Remove cvs-exported directory
-tar xvzf ./nco_4.4.5.orig.tar.gz # Untar to get directory without excluded files
-mkdir -p ${DATA}/nco-4.4.5/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.4.5/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.4.5/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
+sudo /bin/rm -rf ${DATA}/nco-4.4.6 ${DATA}/nco_4.4.6* ${DATA}/debian # Cleanup last build. sudo necessary for removal because dpkg-buildpackage uses sudo?
+# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_6-1 -d nco-4.4.6 nco # Export based on tag
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -d nco-4.4.6 nco # Export most recent
+tar cvzf ./nco_4.4.6.orig.tar.gz --exclude='nco-4.4.6/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.6
+/bin/rm -rf ${DATA}/nco-4.4.6 # Remove cvs-exported directory
+tar xvzf ./nco_4.4.6.orig.tar.gz # Untar to get directory without excluded files
+mkdir -p ${DATA}/nco-4.4.6/debian/source;cd ~/nco/debian;/bin/cp changelog compat control convert copyright doc-base files info rules ${DATA}/nco-4.4.6/debian;cd ~/nco/debian/source;/bin/cp format ${DATA}/nco-4.4.6/debian/source # Replace debian directory with _CURRENT_ (main trunk) settings
#export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
-#cd ${DATA}/nco-4.4.5;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
-#cd ${DATA}/nco-4.4.5;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
-cd ${DATA}/nco-4.4.5;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
+#cd ${DATA}/nco-4.4.6;dpkg-buildpackage -rsudo -uc -us > ~/foo.nco 2>&1 # -uc -us: Do not sign changes or source files
+#cd ${DATA}/nco-4.4.6;dpkg-buildpackage -rsudo -sa > ~/foo.nco 2>&1 # -sa: Include _orig.tar.gz in .changes
+cd ${DATA}/nco-4.4.6;dpkg-buildpackage -rsudo > ~/foo.nco 2>&1
sudo dpkg --remove nco
-sudo dpkg --install ${DATA}/nco_4.4.5-1_*.deb
+sudo dpkg --install ${DATA}/nco_4.4.6-1_*.deb
cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
# http://lintian.debian.org/full/zender@uci.edu.html
-lintian ${DATA}/nco_4.4.5-1_*.deb
-ls -l ${DATA}/nco_4.4.5*
+lintian ${DATA}/nco_4.4.6-1_*.deb
+ls -l ${DATA}/nco_4.4.6*
m ~/foo.nco
# Upload Ubuntu (rather than Debian) packages to websites
-scp ${DATA}/nco_4.4.5* dust.ess.uci.edu:/var/www/html/nco/src
-scp ${DATA}/nco_4.4.5* zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+scp ${DATA}/nco_4.4.6* dust.ess.uci.edu:/var/www/html/nco/src
+scp ${DATA}/nco_4.4.6* zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
# NB: Make sure RPMs build before uploading to debian, since changing
# Debian versions is a PITA
# NB: Only upload pbuilder Debian Sid (not personal Ubuntu) .deb builds to Debian mentors
-# cd ${DATA};dupload -t mentors nco_4.4.5-1_*.changes
+# cd ${DATA};dupload -t mentors nco_4.4.6-1_*.changes
bsrc # Reset shell environment for regular development
# New build system #2
@@ -205,52 +205,52 @@ DIST=sid sudo pbuilder update # Update chroot before building package in it
# dget http://ftp.debian.org/debian/pool/main/n/nco/nco_3.9.0-1.dsc
# dget http://ftp.debian.org/debian/pool/main/n/netcdf/netcdf_3.6.1-1.dsc
# apt-get source nco # Get package source
-sudo /bin/rm /var/cache/pbuilder/result/nco_4.4.5* # Cleanup prior build
+sudo /bin/rm /var/cache/pbuilder/result/nco_4.4.6* # Cleanup prior build
# To pass DEB_BUILD_OPTIONS to pbuilder while using sudo, one must first
# modify sudoers with visudo to prevent sudo from resetting environment
#export DEB_BUILD_OPTIONS='disable-dap-netcdf disable-netcdf4 disable-udunits2'; # Disable optional packages based on available Debian support
-cd ${DATA};DIST=sid sudo pbuilder build nco_4.4.5-1.dsc > ~/foo.nco.pbuilder 2>&1
-cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.4.5-1_*.changes
-lintian /var/cache/pbuilder/result/nco_4.4.5-1_*.deb
+cd ${DATA};DIST=sid sudo pbuilder build nco_4.4.6-1.dsc > ~/foo.nco.pbuilder 2>&1
+cd /var/cache/pbuilder/result;debsign -k6F635D10 nco_4.4.6-1_*.changes
+lintian /var/cache/pbuilder/result/nco_4.4.6-1_*.deb
sudo dpkg --remove nco
-sudo dpkg --install /var/cache/pbuilder/result/nco_4.4.5-1_*.deb
+sudo dpkg --install /var/cache/pbuilder/result/nco_4.4.6-1_*.deb
cd ~/nco/bld;MY_BIN_DIR=/usr/bin ../bm/nco_bm.pl --regress
# NB: Upload pbuilder Debian Sid packages to Debian mentors, but not
# to personal or NCO websites since most people use Ubuntu not Debian
# NB: Debian versions are a PITA, ensure RPMs build before uploading to Debian
-cd /var/cache/pbuilder/result;dupload -t mentors nco_4.4.5-1_*.changes
+cd /var/cache/pbuilder/result;dupload -t mentors nco_4.4.6-1_*.changes
# RPM builds as root
export rpm_root='/usr/src/redhat'
# export sudo_sng='' # sudo not-necessary when builing in user directories
export sudo_sng='sudo' # sudo necessary when building in system directories
cd ~/nco;cvc;cvu
-/bin/rm -rf ${DATA}/nco-4.4.5 ${DATA}/nco-4.4.5* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-4.4.6 ${DATA}/nco-4.4.6* # Cleanup last build
${sudo_sng} /bin/rm -r -f \
-${rpm_root}/BUILD/nco-4.4.5 \
-${rpm_root}/RPMS/i386/nco-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.4.5-?.i386.rpm \
-${rpm_root}/SOURCES/nco-4.4.5.tar.gz \
-${rpm_root}/SPECS/nco-4.4.5.spec \
-${rpm_root}/SRPMS/nco-4.4.5-?.src.rpm
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_5-1 -d nco-4.4.5 nco # Export based on tag
-${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.4.5.spec
-tar cvzf ./nco-4.4.5.tar.gz --exclude='nco-4.4.5/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.5
-${sudo_sng} /bin/cp ${DATA}/nco-4.4.5.tar.gz ${rpm_root}/SOURCES
+${rpm_root}/BUILD/nco-4.4.6 \
+${rpm_root}/RPMS/i386/nco-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.6-?.i386.rpm \
+${rpm_root}/SOURCES/nco-4.4.6.tar.gz \
+${rpm_root}/SPECS/nco-4.4.6.spec \
+${rpm_root}/SRPMS/nco-4.4.6-?.src.rpm
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_6-1 -d nco-4.4.6 nco # Export based on tag
+${sudo_sng} ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/SPECS/nco-4.4.6.spec
+tar cvzf ./nco-4.4.6.tar.gz --exclude='nco-4.4.6/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.6
+${sudo_sng} /bin/cp ${DATA}/nco-4.4.6.tar.gz ${rpm_root}/SOURCES
cd ${rpm_root}/SPECS
-${sudo_sng} rpmbuild -ba --sign nco-4.4.5.spec > ~/foo.nco 2>&1
+${sudo_sng} rpmbuild -ba --sign nco-4.4.6.spec > ~/foo.nco 2>&1
scp \
-${rpm_root}/RPMS/i386/nco-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.4.5-?.i386.rpm \
-${rpm_root}/SRPMS/nco-4.4.5-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.6-?.i386.rpm \
+${rpm_root}/SRPMS/nco-4.4.6-?.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
-${rpm_root}/RPMS/i386/nco-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-debuginfo-4.4.5-?.i386.rpm \
-${rpm_root}/RPMS/i386/nco-devel-4.4.5-?.i386.rpm \
-${rpm_root}/SRPMS/nco-4.4.5-?.src.rpm \
+${rpm_root}/RPMS/i386/nco-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-debuginfo-4.4.6-?.i386.rpm \
+${rpm_root}/RPMS/i386/nco-devel-4.4.6-?.i386.rpm \
+${rpm_root}/SRPMS/nco-4.4.6-?.src.rpm \
zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
# RPM builds as user
@@ -259,33 +259,33 @@ zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
export rpm_root="${DATA}/rpm/nco"
#cd ~/nco;cvc;cvu # This risks committing unwanted *.[ch]pp files
mkdir -p ${DATA}/rpm/nco/TMP ${DATA}/rpm/nco/BUILD
-/bin/rm -rf ${DATA}/nco-4.4.5 ${DATA}/nco-4.4.5* # Cleanup last build
+/bin/rm -rf ${DATA}/nco-4.4.6 ${DATA}/nco-4.4.6* # Cleanup last build
/bin/rm -r -f \
-${rpm_root}/nco-4.4.5-?.src.rpm \
-${rpm_root}/nco-4.4.5.spec \
-${rpm_root}/nco-4.4.5.tar.gz \
-${rpm_root}/*/nco-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-devel-4.4.5-?.*.rpm
-# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_5-1 -d nco-4.4.5 nco # Export based on tag
-cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-4.4.5 nco # Export most recent and build as 4.4.5-1
-tar cvzf ./nco-4.4.5.tar.gz --exclude='nco-4.4.5/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.5
-/bin/cp ${DATA}/nco-4.4.5.tar.gz ${rpm_root}
+${rpm_root}/nco-4.4.6-?.src.rpm \
+${rpm_root}/nco-4.4.6.spec \
+${rpm_root}/nco-4.4.6.tar.gz \
+${rpm_root}/*/nco-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.6-?.*.rpm
+# cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -r nco-4_4_6-1 -d nco-4.4.6 nco # Export based on tag
+cd ${DATA};cvs -d zender at nco.cvs.sf.net:/cvsroot/nco export -kkv -D "1 second ago" -dnco-4.4.6 nco # Export most recent and build as 4.4.6-1
+tar cvzf ./nco-4.4.6.tar.gz --exclude='nco-4.4.6/debian*' --exclude='.cvsignore' --exclude='ncap_lex.c' --exclude='ncap_yacc.[ch]' ./nco-4.4.6
+/bin/cp ${DATA}/nco-4.4.6.tar.gz ${rpm_root}
ln -s ${HOME}/nco/bld/nco.spec ${rpm_root}/nco.spec
cd ${rpm_root}
rpmbuild -ba --sign nco.spec > ~/foo.nco 2>&1
-rpmlint ${rpm_root}/*/nco-4.4.5-?.*.rpm
+rpmlint ${rpm_root}/*/nco-4.4.6-?.*.rpm
sudo yum remove nco
-sudo yum install ${rpm_root}/*/nco-4.4.5-?.*.rpm
+sudo yum install ${rpm_root}/*/nco-4.4.6-?.*.rpm
scp \
-${rpm_root}/*/nco-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-devel-4.4.5-?.*.rpm \
-${rpm_root}/nco-4.4.5-?.*.src.rpm \
+${rpm_root}/*/nco-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.6-?.*.rpm \
+${rpm_root}/nco-4.4.6-?.*.src.rpm \
dust.ess.uci.edu:/var/www/html/nco/src
scp \
-${rpm_root}/*/nco-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-debuginfo-4.4.5-?.*.rpm \
-${rpm_root}/*/nco-devel-4.4.5-?.*.rpm \
-${rpm_root}/nco-4.4.5-?.*.src.rpm \
+${rpm_root}/*/nco-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-debuginfo-4.4.6-?.*.rpm \
+${rpm_root}/*/nco-devel-4.4.6-?.*.rpm \
+${rpm_root}/nco-4.4.6-?.*.src.rpm \
zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
diff --git a/doc/index.shtml b/doc/index.shtml
index a01e9ec..56f4ad7 100644
--- a/doc/index.shtml
+++ b/doc/index.shtml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/nco/nco/doc/index.shtml,v 1.917 2014/08/27 04:44:01 zender Exp $
+<!-- $Header: /cvsroot/nco/nco/doc/index.shtml,v 1.932 2014/10/01 17:47:40 zender Exp $
Purpose: NCO homepage
URL:
@@ -70,7 +70,7 @@ Try to disable Spammers' machines:
<p><h1 align="center">Welcome to the netCDF Operator (NCO) Homepage</h1>
<p><h2>
-Current NCO version is 4.4.5 last updated on <!--#flastmod file="VERSION"-->
+Current NCO version is 4.4.6 last updated on <!--#flastmod file="VERSION"-->
</h2>
<table border=0 width=100%>
@@ -86,6 +86,7 @@ Current NCO version is 4.4.5 last updated on <!--#flastmod file="VERSION"-->
<li><a href="#Binaries">Binaries</a></li>
<li><a href="#RTFM">Documentation</a></li>
<li><a href="#FAQ">FAQ</a></li>
+<li><a href="#Support">Help/Support/Contacts</a></li>
<li><a href="#README/ChangeLog/TODO">README/ChangeLog/TODO</a></li>
<li><a href="#Source">Source Code</a></li>
<li><a href="#bld">Compiling</a></li>
@@ -93,7 +94,6 @@ Current NCO version is 4.4.5 last updated on <!--#flastmod file="VERSION"-->
<!-- <li><a href="#BM">Benchmarks</a></li> -->
<li><a href="#bug">Known Problems</a></li>
<li><a href="#People">People</a></li>
-<li><a href="#Contact">Contact us</a></li>
</ul>
</td>
@@ -149,7 +149,8 @@ and
<h2>Recent Releases & Milestones</h2>
<ul>
-<li>2014 Sep ??: 4.4.6 (<i>In progress</i>)
+<li>2014 Nov ??: 4.4.7 (<i>In progress</i>)
+<li>2014 Oct 01: 4.4.6
<li>2014 Aug 26: 4.4.5
<li>2014 Jul 01: NASA ACCESS 2013 <a href="#prp_axs">project</a> commences</li>
<li>2014 May 29: 4.4.4 (Stability)
@@ -620,8 +621,9 @@ San Francisco, CA, December 5–9, 2006.
</ul>
<hr></p>
+<!-- http://nco.sf.net#Highlights -->
<!-- http://nco.sf.net#hgh -->
-<dt><a name="Version"></a><a name="hgh"></a></dt>
+<dt><a name="Highlights"></a><a name="hgh"></a></dt>
<h2>Release Highlights</h2>
Releases receive unique CVS tags and their tarballs are stored
<a href="http://nco.sf.net/src">here</a> on SourceForge and
@@ -629,14 +631,25 @@ Releases receive unique CVS tags and their tarballs are stored
You can also retrieve the source of tagged versions directly
<a name="#Source">with CVS</a>.
<ul>
-<li><b>NCO 4.4.7</b>: (<i>Future</i>)
+<li><b>NCO 4.4.8</b>: (<i>Future</i>)
extensive hashing?;
netCDF4 compound types?;
-Optimize diskless files?;</li>
-<li><b>NCO 4.4.6</b>: (<i>In Progress, features completed or being worked on include</i>)
Chunking <tt>cnk_map=rew</tt>;
-<a href="http://nco.sf.net/nco.html#cnk">Chunking</a> bytes not elements, caching</li>
-<li><b>NCO 4.4.5</b>: (<i>Current Stable Release</i>)
+<a href="http://nco.sf.net/nco.html#cnk">Chunking</a> bytes not elements, caching;
+Optimize diskless files?</li>
+<li><b>NCO 4.4.7</b>: (<i>In Progress, features completed or being worked on include</i>)
+Optimize diskless files?</li>
+<li><b>NCO 4.4.6</b>: (<i>Current Stable Release</i>)
+<tt>-0</tt> hyperslabs;
+<tt>configure</tt> DAP correctly</li>;
+HDF4 chunking and deflation;
+<tt>netCDF4 stride (NC4_SRD) <a href="#bug_nc4_srd">bugfix</a>;
+<tt>ncap2</tt> command line args with scripts;
+<tt>ncra --dbl</tt> averaging packed variables with missing values <a href="#bug_ncra_dbl_pck_mss">bugfix</a>;
+<tt>ncwa --dbl</tt> minimization/maximization of packed variables <a href="#bug_ncwa_pck_min_max">bugfix</a>;
+<tt>ncks _SOURCE_FORMAT</tt> and <tt>-V</tt>;
+<tt>ncrename</tt> re-write
+<li><b>NCO 4.4.5</b>:
DAP on <a href="http://nco.sf.net/nco.html#dap">HTTPS</a>;
<tt>ancillary_variables</tt> for <a href="http://nco.sf.net/nco.html#ncl">CF</a>;
<tt>ncks --grp_xtr_var_xcl</tt> <a href="http://nco.sf.net/nco.html#gxvx">subsetting</a>
@@ -645,7 +658,7 @@ Default chunking policy/map is <tt>xst/xst</tt>;
Fix <tt>ncpdq</tt> dimension-reversal parsing;
Chunking while hyperslabbing <a href="#bug_cnk_hyp">bugfix</a>;
Correctly parse MS Windows volume names like <tt>C:\foo</tt></li>
-<li><b>NCO 4.4.4</b>: (<i>Current Stable Release</i>)
+<li><b>NCO 4.4.4</b>:
netCDF'ize non-compliant element names;
<tt>-x var</tt> tolerates non-existence;
<tt>--rad</tt> <a href="http://nso.sf.net/nco.html#rad">orphan dimensions</a>;
@@ -769,7 +782,7 @@ Thanks to NSF for supporting AIX machines at NCAR over the years.
<h3><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux</a></h3>
<ul>
<!--
-<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-4.4.5</a></li>
+<li><a href="http://www.debian.org">Debian</a> and <a href="http://www.ubuntu.com">Ubuntu</a> GNU/Linux-compatible Intel systems, prebuilt binary executable <a href="http://www.debian.org">deb</a>: <a href="http://packages.debian.org/testing/math/nco.html">nco-4.4.6</a></li>
-->
<a href="http://packages.debian.org/unstable/science/nco">Debian NCO</a> and
<a href="http://packages.ubuntu.com/natty/nco">Ubuntu NCO</a> homepages.
@@ -777,12 +790,12 @@ Thanks to NSF for supporting AIX machines at NCAR over the years.
NCO packages in the Debian/Ubuntu repositories (i.e., Sid and Raring) generally lag the packages distributed here by 6–12 months.
<a name="beta"></a><a name="prerelease"> <!-- http://nco.sf.net#beta -->
Newer (beta- or pre-release) packages are often available for intrepid Debian/Ubuntu users as described <a href="http://nco.cvs.sf.net/nco/nco/doc/beta.txt">here</a>.
-<dt>Debian package for most recent NCO release (install with, e.g., ‘<tt>dpkg --install nco_4.4.5-1_i386.deb</tt>’):</dt>
-<li><a href="src/nco_4.4.5-1_amd64.deb">nco_4.4.5-1_amd64.deb</a> (<!--#fsize file="src/nco_4.4.5-1_amd64.deb"-->): Executables AMD64-compatible (last updated <!--#flastmod file="src/nco_4.4.5-1_amd64.deb"-->)</li>
-<li><a href="src/nco_4.4.5-1.dsc">nco_4.4.5-1.dsc</a> (<!--#fsize file="src/nco_4.4.5-1.dsc"-->): Description (last updated <!--#flastmod file="src/nco_4.4.5-1.dsc"-->)</li>
-<li><a href="src/nco_4.4.5-1_amd64.changes">nco_4.4.5-1_amd64.changes</a> (<!--#fsize file="src/nco_4.4.5-1_amd64.changes"-->): Changes since last deb package (last updated <!--#flastmod file="src/nco_4.4.5-1_amd64.changes"-->)</li>
-<li><a href="src/nco_4.4.5.orig.tar.gz">nco_4.4.5.orig.tar.gz</a> (<!--#fsize file="src/nco_4.4.5.orig.tar.gz"-->): Upstream Source (last updated <!--#flastmod file="src/nco_4.4.5.orig.tar.gz"-->)</li>
-<li><a href="src/nco_4.4.5-1.diff.gz">nco_4.4.5-1.diff.gz</a> (<!--#fsize file="src/nco_4.4.5-1_amd64.changes"-->): Debian patch to upstream source (last updated <!--#flastmod file="src/nco_4.4.5-1_amd64.changes"-->)</li>
+<dt>Debian package for most recent NCO release (install with, e.g., ‘<tt>dpkg --install nco_4.4.6-1_i386.deb</tt>’):</dt>
+<li><a href="src/nco_4.4.6-1_amd64.deb">nco_4.4.6-1_amd64.deb</a> (<!--#fsize file="src/nco_4.4.6-1_amd64.deb"-->): Executables AMD64-compatible (last updated <!--#flastmod file="src/nco_4.4.6-1_amd64.deb"-->)</li>
+<li><a href="src/nco_4.4.6-1.dsc">nco_4.4.6-1.dsc</a> (<!--#fsize file="src/nco_4.4.6-1.dsc"-->): Description (last updated <!--#flastmod file="src/nco_4.4.6-1.dsc"-->)</li>
+<li><a href="src/nco_4.4.6-1_amd64.changes">nco_4.4.6-1_amd64.changes</a> (<!--#fsize file="src/nco_4.4.6-1_amd64.changes"-->): Changes since last deb package (last updated <!--#flastmod file="src/nco_4.4.6-1_amd64.changes"-->)</li>
+<li><a href="src/nco_4.4.6.orig.tar.gz">nco_4.4.6.orig.tar.gz</a> (<!--#fsize file="src/nco_4.4.6.orig.tar.gz"-->): Upstream Source (last updated <!--#flastmod file="src/nco_4.4.6.orig.tar.gz"-->)</li>
+<li><a href="src/nco_4.4.6-1.diff.gz">nco_4.4.6-1.diff.gz</a> (<!--#fsize file="src/nco_4.4.6-1_amd64.changes"-->): Debian patch to upstream source (last updated <!--#flastmod file="src/nco_4.4.6-1_amd64.changes"-->)</li>
Thanks to Daniel Baumann, Barry deFreese, Francesco Lovergine,
Brian Mays, Rorik Peterson, and Matej Vela for their help packaging
NCO for Debian over the years.
@@ -828,10 +841,10 @@ Thanks to Gavin Burris and Kyle Wilcox for documenting build procedures for RHEL
<!--
# Mac OS X 10.9 (Mavericks) systems (aerosol):
/usr/bin/scp ~/nco/doc/index.shtml zender,nco at web.sf.net:/home/project-web/nco/htdocs
-cd ~/bin/MACOSX;tar cvzf ${DATA}/nco-4.4.5.macosx.10.9.tar.gz nc*;scp ${DATA}/nco-4.4.5.macosx.10.9.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
+cd ~/bin/MACOSX;tar cvzf ${DATA}/nco-4.4.6.macosx.10.9.tar.gz nc*;scp ${DATA}/nco-4.4.6.macosx.10.9.tar.gz zender,nco at web.sf.net:/home/project-web/nco/htdocs/src
-->
The most up-to-date binaries are probably those in the tarball below. Those unfamiliar with installing executables from tarballs may try the (older) <a href="http://en.wikipedia.org/wiki/Apple_Disk_Image">DMG</a> files (you may need to add <tt>/opt/local/bin</tt> to your executable path to access those operators).
-<li><a href="src/nco-4.4.5.macosx.10.9.tar.gz">nco-4.4.5.macosx.10.9.tar.gz</a> (<!--#fsize file="src/nco-4.4.5.macosx.10.9.tar.gz"-->): Executables MacOSX 10.9-compatible (last updated <!--#flastmod file="src/nco-4.4.5.macosx.10.9.tar.gz"-->).
+<li><a href="src/nco-4.4.6.macosx.10.9.tar.gz">nco-4.4.6.macosx.10.9.tar.gz</a> (<!--#fsize file="src/nco-4.4.6.macosx.10.9.tar.gz"-->): Executables MacOSX 10.9-compatible (last updated <!--#flastmod file="src/nco-4.4.6.macosx.10.9.tar.gz"-->).
(NB: These executables require
the <a href="http://trac.macosforge.org/projects/macports/wiki">MacPorts</a>
<a href="#bld_macports">dependencies</a> for <a href="http://svn.macports.org/repository/macports/trunk/dports/science/nco">NCO</a>). Maintained by NCO Project.</li>
@@ -856,7 +869,7 @@ To build NCO from source yourself using MSVC or Qt, please see the <a href="nco_
/usr/bin/scp /home/pvicente/windows_setup/nco-4.4.5.windows.mvs.exe pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
/usr/bin/scp /home/pvicente/windows_setup/nco-4.4.5.win32.cygwin.tar.gz pvicente,nco at web.sf.net:/home/project-web/nco/htdocs/src
-->
-<li><a href="src/nco-4.4.4.windows.mvs.exe">nco-4.4.4.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.4.4.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.4.4.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
+<li><a href="src/nco-4.4.5.windows.mvs.exe">nco-4.4.5.windows.mvs.exe</a> (<!--#fsize file="src/nco-4.4.5.windows.mvs.exe"-->) : Windows Self-Extracting Installer (last updated <!--#flastmod file="src/nco-4.4.5.windows.mvs.exe"-->). Maintained by Pedro Vicente.</li>
</ul>
<a name="cygwin"></a> <!-- http://nco.sf.net#cygwin -->
@@ -864,7 +877,7 @@ To build NCO from source yourself using MSVC or Qt, please see the <a href="nco_
<ul>
<li><a href="src/nco-4.4.4.win32.cygwin.tar.gz">nco-4.4.4.win32.cygwin.tar.gz</a> (<!--#fsize file="src/nco-4.4.4.win32.cygwin.tar.gz"-->): Executables Cygwin-compatible (last updated <!--#flastmod file="src/nco-4.4.4.win32.cygwin.tar.gz"-->). Maintained by NCO Project.</li>
</ul>
-First install <tt>curl</tt> (in the "Web" category of Cygwin setup), and point the environment variable <tt>UDUNITS2_XML_PATH</tt> to the <tt>udunits2.xml</tt> file, e.g., with <tt>export UDUNITS2_XML_PATH='/usr/local/share/udunits/udunits2.xml'</tt>.
+Before using, first install <tt>curl</tt> (in the "Web" category of Cygwin Setup), and set <tt>export UDUNITS2_XML_PATH='/usr/local/share/udunits/udunits2.xml'</tt> (or wherever <tt>udunits2.xml</tt> is installed).
Thanks to Mark Hadfield and Pedro Vicente for creating Cygwin tarballs.
Thanks to Cygnus Solutions and RedHat Inc. for developing and supporting Cygwin over the years.
@@ -938,7 +951,7 @@ But they are more predictable:
<ul>
<li><i>I still have questions, how do I contact the NCO project?</i>
The NCO project has various Q&A and discussion forums described
-<a href="#Contact">below</a>.
+<a href="#Support">below</a>.
</li>
<li><i>Where can I find prebuilt NCO executables?</i>
Pre-built executables of some versions of NCO for the operating
@@ -969,6 +982,38 @@ This list is for NCO-related announcements, not for questions.
<hr></p>
<!-- End http://nco.sf.net#FAQ -->
+<!-- Begin Support -->
+<!-- http://nco.sf.net#Help -->
+<a name="hlp"></a> <!-- http://nco.sf.net#hlp -->
+<a name="help"></a> <!-- http://nco.sf.net#help -->
+<a name="Help"></a> <!-- http://nco.sf.net#Help -->
+<a name="support"></a> <!-- http://nco.sf.net#support -->
+<a name="Support"></a> <!-- http://nco.sf.net#Support -->
+<a name="contact"></a> <!-- http://nco.sf.net#contact -->
+<dt><a name="Contact"></a></dt> <!-- http://nco.sf.net#Contact -->
+<h2>Help/Support/Contacts:</h2>
+<p>If you have support questions or comments please contact us via the
+Project Forums (rather than personal e-mail) so other users can
+benefit from and contribute to our exchange.
+Let us know how NCO is working for you—we'd like to hear.
+Have you read the <a href="#RTFM">documentation</a> and browsed the
+forums to see if your question/comment has been reported before?
+Please read the Guide's suggestions for productive
+<a href="./nco.html#help">Help Requests and Bug Reports</a>.
+<ul>
+<li><i>Where should I ask my questions on how to use NCO?</i>
+On the <a href="http://sf.net/projects/nco/forums/forum/9830">Help</a> site.
+</li>
+<li><i>Where should I post suggestions/comments on NCO features and usage?</i>
+On the <a href="http://sf.net/projects/nco/forums/forum/9829">Discussion</a> site.
+</li>
+<li><i>Where are NCO development and bug-squashing discussed?</i>
+At the <a href="http://sf.net/projects/nco/forums/forum/9831">Developer</a>
+site.</li>
+</ul>
+<hr></p>
+<!-- End Support -->
+
<!-- http://nco.sf.net#README -->
<dt><a name="README/ChangeLog/TODO"></a></dt>
<h2>README/ChangeLog/TODO</h2>
@@ -989,10 +1034,10 @@ The best way to acquire the source is with <a href="http://www.cvshome.org">CVS<
The second best way is to download the source as a compressed tarfile:
<ul>
<li>
-<a href="src/nco-4.4.5.tar.gz">nco-4.4.5.tar.gz</a>
-(<!--#fsize file="src/nco-4.4.5.tar.gz"--> compressed tar-file)<br>
-<!--#exec cmd="openssl dgst -md5 src/nco-4.4.5.tar.gz"--><br>
-<!--#exec cmd="openssl dgst -sha1 src/nco-4.4.5.tar.gz"-->
+<a href="src/nco-4.4.6.tar.gz">nco-4.4.6.tar.gz</a>
+(<!--#fsize file="src/nco-4.4.6.tar.gz"--> compressed tar-file)<br>
+<!--#exec cmd="openssl dgst -md5 src/nco-4.4.6.tar.gz"--><br>
+<!--#exec cmd="openssl dgst -sha1 src/nco-4.4.6.tar.gz"-->
</li>
</ul>
@@ -1015,19 +1060,19 @@ Hit <tt>return</tt> when asked for the CVS password.
This login procedure is only required the first time you access the CVS server.
Then you may retrieve any NCO distribution you wish.
Usually you wish to retrieve a recent tagged (i.e., released) version.
-This command retrieves and places NCO version <tt>4.4.5</tt> (which is
-tagged as <tt>nco-4_4_5</tt> due to CVS rules) into local directory
-<tt>nco-4.4.5</tt>:
-<p><tt>cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4_4_5 -d nco-4.4.5 nco</tt></p>
+This command retrieves and places NCO version <tt>4.4.6</tt> (which is
+tagged as <tt>nco-4_4_6</tt> due to CVS rules) into local directory
+<tt>nco-4.4.6</tt>:
+<p><tt>cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -r nco-4_4_6 -d nco-4.4.6 nco</tt></p>
This command retrieves the current (“bleeding edge”)
development version of NCO into a local directory named <tt>nco</tt>:
<p><tt>cvs -z3 -d:pserver:anonymous at nco.cvs.sf.net:/cvsroot/nco co -kk nco</tt></p>
Track changes to the development version using
<p><tt>cd nco;cvs update -kk</tt></p>
One difference between running a "tagged" release
-(e.g., <tt>nco-4_4_5</tt>) and the development version is that the
+(e.g., <tt>nco-4_4_6</tt>) and the development version is that the
tagged release operators will print a valid version number (e.g.,
-<tt>4.4.5</tt>) when asked to do so with the <tt>-r</tt> flag
+<tt>4.4.6</tt>) when asked to do so with the <tt>-r</tt> flag
(e.g., <tt>ncks -r</tt>).
The development version simply places today's date in place of the
version.
@@ -1130,14 +1175,28 @@ For Mac OS X with MacPorts:
<dt>sudo port install netcdf # netCDF</dt>
<dt>sudo port install udunits2 # UDUnits</dt>
</tt>
+
+<dt><a name="bld_cygwin"></a></dt> <!-- http://nco.sf.net#bld_cygwin -->
+For Windows with Cygwin, select and install the following packages with Cygwin Setup:
+<tt>
+<dt>curl # DAP and wget pre-req</dt>
+<dt>expat # expat XML parser for UDUnits</dt>
+<dt>gsl # GSL</dt>
+<dt>hdf5 # HDF</dt>
+<dt>netcdf # netCDF</dt>
+<dt>udunits2 # UDUnits</dt>
+</tt>
+As of 20131101 there is no Cygwin package for Antlr, and the netcdf package does not yet support DAP.
+Users should instead first download and install the Antlr found <a href="http://nco.sourceforge.net/nco_qt_msvc.shtml">here</a>.
</li>
+
<li>Once you have installed the pre-requisites as shown above, you may
then build the latest stable NCO and install it in,
e.g., <tt>/usr/local</tt> with:
<tt>
<dt>wget http://dust.ess.uci.edu/nco/nco.tar.gz</dt>
<dt>tar xvzf nco.tar.gz</dt>
-<dt>cd nco-4.4.5</dt>
+<dt>cd nco-4.4.6</dt>
<dt>./configure --prefix=/usr/local</dt>
<dt>make</dt>
<dt>sudo make install</dt>
@@ -1228,10 +1287,52 @@ LAM installs easily with our own testing environment (latest Ubuntu).
<h2>Known Problems from 2013 (version 4.2.4) Onwards</h2>
<ul><b>Recent Generic Run-time Problems:</b>
-No known generic run-time problems with recent releases.
+<!-- http://nco.sf.net#bug_nc4_srd -->
+<a name="bug_nc4_srd"></a>
+<li><i>netCDF4 Strided Hyperslab bug:</i>
+Multiple users complain that access to strided hyperslabs of
+netCDF4 datasets is orders of magnitude slower than expected.
+This occurs with NCO and also with related software like NCL.
+The cause appears to be that all recent versions of netCDF up
+to 4.3.3 access strided hyperslabs via an algorithm
+(in <tt>nc_get_vars()</tt>) that becomes unwieldy and error-prone
+for large datasets.
+We developed and implemented a transparent workaround (that avoids
+the troublesome algorithm) for the most common case which is where
+strides are taken in only one dimension, e.g., <tt>-d time,0,,12</tt>.
+With the workaround introduced in NCO 4.4.6, strided access to
+netCDF4 datasets now completes in nearly the same amount of time as
+non-strided.
+This workaround works transparently with any version of netCDF.
+We are not yet sure that we have fully and correctly diagnosed the
+cause nor that our workaround is always effective.
+Comments welcome. Updates will be posted right here.
+</li>
</ul>
<ul><b>Recent Operator-specific Run-time Problems:</b>
+<!-- http://nco.sf.net#bug_ncwa_pck_min_max -->
+<a name="bug_ncwa_pck_min_max"></a>
+<li><i>Minimization/maximization of packed variables bug:</i>
+Versions 4.3.y—4.4.5 of <tt>ncwa</tt>
+incorrectly handled packed variables during these operations.
+The two workarounds are to unpack first or to perform the
+statistics in single precision with the <tt>--flt</tt> option.
+The solution is to upgrade to NCO 4.4.6.
+</li>
+
+<!-- http://nco.sf.net#bug_ncra_dbl_pck_mss -->
+<a name="bug_ncra_dbl_pck_mss"></a>
+<li><i>Promoting packed records with missing values bug:</i>
+Versions 4.3.X—4.4.5 of <tt>ncra</tt> could produce (wildly)
+inaccurate statistics when promoting (e.g., to double- from
+single-precision) variables that are packed and that have missing
+values.
+The two workarounds are to unpack first or to perform the
+statistics in single precision with the <tt>--flt</tt> option.
+The solution is to upgrade to NCO 4.4.6.
+</li>
+
<!-- http://nco.sf.net#bug_cnk_hyp -->
<a name="bug_cnk_hyp"></a>
<li><i>Chunking while hyperslabbing bug:</i>
@@ -1455,35 +1556,6 @@ community.
<hr></p>
<!-- End People -->
-<!-- Begin Contacts -->
-<!-- http://nco.sf.net#Help -->
-<a name="hlp"></a> <!-- http://nco.sf.net#hlp -->
-<a name="help"></a> <!-- http://nco.sf.net#help -->
-<a name="Help"></a> <!-- http://nco.sf.net#Help -->
-<a name="contact"></a> <!-- http://nco.sf.net#contact -->
-<dt><a name="Contact"></a></dt> <!-- http://nco.sf.net#Contact -->
-<h2>Contacting the Project:</h2>
-<p>Contact us via the Project Forums (rather than personal e-mail)
-so other users can benefit from and contribute to our exchange.
-Let us know how NCO is working for you—we'd like to hear.
-Have you read the <a href="#RTFM">documentation</a> and browsed the
-forums to see if your question/comment has been reported before?
-Please read the Guide's suggestions for productive
-<a href="./nco.html#help">Help Requests and Bug Reports</a>.
-<ul>
-<li><i>Where should I ask my questions on how to use NCO?</i>
-On the <a href="http://sf.net/projects/nco/forums/forum/9830">Help</a> site.
-</li>
-<li><i>Where should I post suggestions/comments on NCO features and usage?</i>
-On the <a href="http://sf.net/projects/nco/forums/forum/9829">Discussion</a> site.
-</li>
-<li><i>Where are NCO development and bug-squashing discussed?</i>
-At the <a href="http://sf.net/projects/nco/forums/forum/9831">Developer</a>
-site.</li>
-</ul>
-<hr></p>
-<!-- End Contacts -->
-
<a href="http://sf.net/projects/nco"><img src="http://sflogo.sf.net/sflogo.php?group_id=3331&type=12" width="120" height="30" alt="Get NCO netCDF Operators at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a>
<table width="100%"><tr><td align="left" valign="top">/
diff --git a/doc/nco.dvi b/doc/nco.dvi
index 2572796..b540cfe 100644
Binary files a/doc/nco.dvi and b/doc/nco.dvi differ
diff --git a/doc/nco.html b/doc/nco.html
index 96501fc..9007720 100644
--- a/doc/nco.html
+++ b/doc/nco.html
@@ -2,10 +2,10 @@
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>NCO 4.4.5 User Guide</title>
+<title>NCO 4.4.6 User Guide</title>
-<meta name="description" content="NCO 4.4.5 User Guide">
-<meta name="keywords" content="NCO 4.4.5 User Guide">
+<meta name="description" content="NCO 4.4.6 User Guide">
+<meta name="keywords" content="NCO 4.4.6 User Guide">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
@@ -47,7 +47,7 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
-<h1 class="settitle" align="center"><acronym>NCO</acronym> 4.4.5 User Guide</h1>
+<h1 class="settitle" align="center"><acronym>NCO</acronym> 4.4.6 User Guide</h1>
@@ -362,8 +362,8 @@ examples from the field of climate modeling and analysis.
The <acronym>NCO</acronym> homepage is <a href="http://nco.sf.net">http://nco.sf.net</a>, and
there is a mirror at <a href="http://dust.ess.uci.edu/nco">http://dust.ess.uci.edu/nco</a>.
</p>
-<p>This documentation is for <acronym>NCO</acronym> version 4.4.5.
-It was last updated 8 July 2014.
+<p>This documentation is for <acronym>NCO</acronym> version 4.4.6.
+It was last updated 1 October 2014.
Corrections, additions, and rewrites of this documentation are very
welcome.
</p>
@@ -645,7 +645,7 @@ descriptions of <a href="http://nco.sf.net/#bug">Known Problems</a> etc.
are on our homepage
(<a href="http://nco.sf.net/">http://nco.sf.net/</a>).
</p>
-<p>There are twelve operators in the current version (4.4.5).
+<p>There are twelve operators in the current version (4.4.6).
The function of each is explained in <a href="#Operator-Reference-Manual">Operator Reference Manual</a>.
Many of the tasks that <acronym>NCO</acronym> can accomplish are described during
the explanation of common <acronym>NCO</acronym> Features (see <a href="#Common-features">Common features</a>).
@@ -838,7 +838,7 @@ Subsequently, <acronym>NCO</acronym> requires a C99 compiler to build correctly
<a name="index-GSL"></a>
<a name="index-ncap2-4"></a>
<p>In January 2009, <acronym>NCO</acronym> version 3.9.6 was the first to link
-to the GNU Scientific Library (<acronym>GSL</acronym>).
+to the <acronym>GNU</acronym> Scientific Library (<acronym>GSL</acronym>).
<acronym>GSL</acronym> must be version 1.4<!-- /@w --> or later.
<acronym>NCO</acronym>, in particular <code>ncap2</code>, uses the <acronym>GSL</acronym>
special function library to evaluate geoscience-relevant mathematics
@@ -894,17 +894,17 @@ Previous: <a href="#Compatability" accesskey="p" rel="previous">Compatability</a
<a name="index-Microsoft-Visual-Studio"></a>
<p><acronym>NCO</acronym> has been successfully ported and tested on most Microsoft
-Windows operating systems including: XP SP2/Vista/7.
+Windows operating systems including: <acronym>XP</acronym> SP2/Vista/7.
Support is provided for compiling either native Windows executables,
using the Microsoft Visual Studio 2010 Compiler, or with Cygwin, the
-UNIX-emulating compatibility layer with the GNU toolchain.
+<acronym>UNIX</acronym>-emulating compatibility layer with the <acronym>GNU</acronym> toolchain.
The switches necessary to accomplish both are included in the standard
distribution of <acronym>NCO</acronym>.
</p>
<a name="index-Qt"></a>
<a name="index-C99-2"></a>
<p>Using Microsoft Visual Studio (<acronym>MVS</acronym>), one must build
-<acronym>NCO</acronym> with the C++ compiler since MVS does not support C99.
+<acronym>NCO</acronym> with the C++ compiler since <acronym>MVS</acronym> does not support C99.
Qt, a convenient integrated development environment, was used to convert
the project files to <acronym>MVS</acronym> format.
The Qt files themselves are distributed in the <samp>nco/qt</samp> directory.
@@ -1204,9 +1204,10 @@ a version of netCDF (4.3.2 or later?) that does not unexpectedly die
when probing <acronym>HDF4</acronym> files with standard netCDF calls.
<acronym>NCO</acronym> versions 4.3.7–4.3.9 (October–December, 2013)
use a special flag to workaround netCDF <acronym>HDF4</acronym> issues.
-The user must tell these versions of <acronym>NCO</acronym> that an input file is
+The user must tell these versions of <acronym>NCO</acronym> that an input file is
<acronym>HDF4</acronym> format by using the ‘<samp>--hdf4</samp>’ switch.
</p>
+<a name="index-HDF4_005fUNKNOWN"></a>
<p>When compiled with netCDF version 4.3.1 (20140116) or later,
<acronym>NCO</acronym> versions 4.4.0 (January, 2014) and later more gracefully
handle <acronym>HDF4</acronym> files.
@@ -1216,6 +1217,13 @@ whether the underlying file is <acronym>HDF4</acronym>, and then take appropriat
precautions to avoid netCDF4 <acronym>API</acronym> calls that fail when applied
to <acronym>HDF4</acronym> files (e.g., <code>nc_inq_var_chunking()</code>,
<code>nc_inq_var_deflate()</code>).
+When compiled with netCDF version 4.3.2 (20140423) or earlier,
+<acronym>NCO</acronym> will report that chunking and deflation properties of
+<acronym>HDF4</acronym> files as <code>HDF4_UNKNOWN</code>, because determining
+those properties was impossible.
+When compiled with netCDF version 4.3.3-rc2 (20140925) or later,
+<acronym>NCO</acronym> versions 4.4.6 (October, 2014) and later fully support
+chunking and deflation features of <acronym>HDF4</acronym> files.
The ‘<samp>--hdf4</samp>’ switch is supported (for backwards compatibility) yet
redundant (i.e., does no harm) with current versions of <acronym>NCO</acronym>
and netCDF.
@@ -1240,9 +1248,11 @@ netCDF3 may be desirable.
Obtaining a netCDF3 file from an <acronym>HDF4</acronym> is now easy:
</p><div class="example">
<pre class="example">ncks -3 fl.hdf fl.nc # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -4 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
ncks -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (NCO 4.4.0+, ...)
ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 classic (NCO 4.4.0+, ...)
ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -4 fl.hdf fl.nc # HDF4->netCDF4 (netCDF 4.3.0-)
ncks --hdf4 -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (netCDF 4.3.0-)
ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
</pre></div>
@@ -1322,9 +1332,9 @@ Previous: <a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support" accesskey="p" re
<a name="index-features_002c-requesting"></a>
<p>We generally receive three categories of mail from users: help requests,
bug reports, and feature requests.
-Notes saying the equivalent of "Hey, <acronym>NCO</acronym> continues to work
+Notes saying the equivalent of “Hey, <acronym>NCO</acronym> continues to work
great and it saves me more time everyday than it took to write this
-note" are a distant fourth.
+note” are a distant fourth.
</p>
<p>There is a different protocol for each type of request.
The preferred etiquette for all communications is via <acronym>NCO</acronym>
@@ -1341,8 +1351,8 @@ project.
<p>Before posting to the <acronym>NCO</acronym> forums described below, you might
first <a href="https://sf.net/account/register.php">register</a>
your name and email address with SourceForge.net or else all of your
-postings will be attributed to "nobody".
-Once registered you may choose to "monitor" any forum and to receive
+postings will be attributed to <em>nobody</em>.
+Once registered you may choose to <em>monitor</em> any forum and to receive
(or not) email when there are any postings including responses to your
questions.
We usually reply to the forum message, not to the original poster.
@@ -1422,7 +1432,7 @@ are the three files output by <acronym>GNU</acronym> build tools,
<samp>nco.configure.${GNU_TRP}.foo</samp>,
and <samp>nco.make.${GNU_TRP}.foo</samp>.
The file <samp>configure.eg</samp> shows how to produce these files.
-Here <code>${GNU_TRP}</code> is the "<acronym>GNU</acronym> architecture triplet",
+Here <code>${GNU_TRP}</code> is the “<acronym>GNU</acronym> architecture triplet”,
the <var>chip-vendor-OS</var> string returned by <samp>config.guess</samp>.
Please send us your improvements to the examples supplied in
<samp>configure.eg</samp>.
@@ -2095,22 +2105,29 @@ memory requirements.
With this knowledge you may re-design your data reduction approach to
divide the problem into pieces solvable in memory-limited situations.
</p>
-<a name="index-server"></a>
+<a name="ulimit"></a> <!-- http://nco.sf.net/nco.html#ulimit --><a name="index-server"></a>
<a name="index-UNICOS"></a>
<a name="index-Cray-1"></a>
+<a name="index-GNU_002fLinux"></a>
+<a name="index-ulimit"></a>
+<a name="index-core-dump-1"></a>
<p>If your local machine has problems working with large files, try running
<acronym>NCO</acronym> from a more powerful machine, such as a network server.
+If you get a memory-related core dump
+(e.g., ‘<samp>Error exit (core dumped)</samp>’) on a <acronym>GNU</acronym>/Linux system,
+or the operation ends before the entire output file is written,
+try increasing the process-available memory with <code>ulimit</code>:
+</p><div class="example">
+<pre class="example">ulimit -f unlimited
+</pre></div>
+<p>This may solve constraints on clusters where sufficient hardware
+resources exist yet where system administrators felt it wise to prevent
+any individual user from consuming too much of resource.
Certain machine architectures, e.g., Cray <acronym>UNICOS</acronym>, have special
commands which allow one to increase the amount of interactive memory.
<a name="index-ilimit"></a>
On Cray systems, try to increase the available memory with the
<code>ilimit</code> command.
-<a name="index-GNU_002fLinux"></a>
-<a name="index-ulimit"></a>
-<a name="index-core-dump-1"></a>
-If you get a memory-related core dump
-(e.g., ‘<samp>Error exit (core dumped)</samp>’) on a <acronym>GNU</acronym>/Linux system,
-try increasing the process-available memory with <code>ulimit</code>.
</p>
<a name="index-speed-2"></a>
<p>The speed of the <acronym>NCO</acronym> operators also depends on file size.
@@ -3418,9 +3435,11 @@ Next: <a href="#Large-File-Support" accesskey="n" rel="next">Large File Support<
<a name="index-_002d_002d3"></a>
<a name="index-_002d3-1"></a>
<a name="index-_002d4-1"></a>
+<a name="index-_002d5"></a>
<a name="index-_002d6"></a>
<a name="index-_002d7"></a>
<a name="index-_002d_002d4"></a>
+<a name="index-_002d_002d5"></a>
<a name="index-_002d_002d6"></a>
<a name="index-_002d_002d7"></a>
<a name="index-_002d_002dnetcdf4"></a>
@@ -3654,6 +3673,7 @@ Here the input file <samp>in.nc</samp> may be in any of these formats:
netCDF3 (classic and 64bit), netCDF4 (classic and extended), HDF4, HDF5,
HDF-EOS (version 2 or 5), and DAP.
The switch determines the output format written in the comment:
+<a name="DOCF29" href="#FOOT29"><sup>29</sup></a>
</p><div class="example">
<pre class="example">ncks --fl_fmt=classic in.nc foo_3c.nc # netCDF3 classic
ncks --fl_fmt=64bit in.nc foo_364.nc # netCDF3 64bit
@@ -3791,30 +3811,30 @@ Long options: none<br>
<p><acronym>NCO</acronym> has Large File Support (<acronym>LFS</acronym>), meaning that
<acronym>NCO</acronym> can write files larger than 2 GB<!-- /@w --> on some 32-bit
operating systems with netCDF libraries earlier than version 3.6<!-- /@w -->.
-If desired, LFS support must be configured when both netCDF and
+If desired, <acronym>LFS</acronym> support must be configured when both netCDF and
<acronym>NCO</acronym> are installed.
netCDF versions 3.6<!-- /@w --> and higher support 64-bit file addresses as part
of the netCDF standard.
-We recommend that users ignore LFS support which is difficult to
+We recommend that users ignore <acronym>LFS</acronym> support which is difficult to
configure and is implemented in <acronym>NCO</acronym> only to support netCDF
versions prior to 3.6<!-- /@w -->.
-This obviates the need for configuring explicit LFS support in
+This obviates the need for configuring explicit <acronym>LFS</acronym> support in
applications (such as <acronym>NCO</acronym>) that now support 64-bit files
directly through the netCDF interface.
See <a href="#File-Formats-and-Conversion">File Formats and Conversion</a> for instructions on accessing
the different file formats, including 64-bit files, supported by the
modern netCDF interface.
</p>
-<p>If you are still interested in explicit LFS support for netCDF versions
-prior to 3.6<!-- /@w -->, know that LFS support depends on a complex,
+<p>If you are still interested in explicit <acronym>LFS</acronym> support for netCDF versions
+prior to 3.6<!-- /@w -->, know that <acronym>LFS</acronym> support depends on a complex,
interlocking set of operating system
-<a name="DOCF29" href="#FOOT29"><sup>29</sup></a>
+<a name="DOCF30" href="#FOOT30"><sup>30</sup></a>
and netCDF support issues.
-The netCDF LFS
+The netCDF <acronym>LFS</acronym>
<a href="http://my.unidata.ucar.edu/content/software/netcdf/faq-lfs.html">FAQ</a>
describes the various file size limitations imposed by different
versions of the netCDF standard.
-<acronym>NCO</acronym> and netCDF automatically attempt to configure LFS at
+<acronym>NCO</acronym> and netCDF automatically attempt to configure <acronym>LFS</acronym> at
build time.
</p>
<a name="x"></a> <!-- http://nco.sf.net/nco.html#x -->
@@ -4008,7 +4028,7 @@ The fifth command is a special case of the fourth command.
specified simultaneously and <acronym>NCO</acronym> will, by default, extract the
intersection of the lists, i.e., the specified variables found in the
specified groups
-<a name="DOCF30" href="#FOOT30"><sup>30</sup></a>.
+<a name="DOCF31" href="#FOOT31"><sup>31</sup></a>.
The ‘<samp>--unn</samp>’ option causes <acronym>NCO</acronym> to extract the
union, rather than the intersection, of the specified groups and
variables.
@@ -4502,7 +4522,7 @@ possible storage structure.
<pre class="example">ncks -O -G : -g cesm -3 ~/nco/data/cmip5.nc ~/cesm.nc # Extract /cesm to /
</pre></div>
<p>The <samp>-3</samp> switch
-<a name="DOCF31" href="#FOOT31"><sup>31</sup></a>
+<a name="DOCF32" href="#FOOT32"><sup>32</sup></a>
specifies the output dataset should be in netCDF3
format, the <samp>-G :</samp> option flattens all extracted groups, and the
<samp>-g cesm</samp> option extracts only the <code>cesm</code> group and leaves
@@ -4617,7 +4637,7 @@ NCO dismembering file /home/zender/nco/data/mdl_1.nc
<p>A (potentially more portable) binary executable could be written to
dismember all groups with a single invocation, yet dismembering without
loss of information is possible now with this simple script on all
-platforms with UNIXy utilities.
+platforms with <acronym>UNIX</acronym>y utilities.
Note that all dimensions inherited by groups in the input file are
correctly placed by <code>ncdismember</code> into the flat files.
Moreover, each output file preserves the group metadata of all ancestor
@@ -4651,7 +4671,7 @@ group in a file.
When invoked with the optional third argumnt ‘<samp>cf</samp>’,
<code>ncdismember</code> passes each file it generates to the freely
available
-<a name="DOCF32" href="#FOOT32"><sup>32</sup></a>
+<a name="DOCF33" href="#FOOT33"><sup>33</sup></a>
<code>cfchecker</code> command.
</p><div class="example">
<pre class="verbatim">zender at roulee:~$ ncdismember ~/nco/data/mdl_1.nc /data/zender/nco/tmp cf
@@ -4865,6 +4885,7 @@ lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
</pre></div>
<a name="-d"></a> <!-- http://nco.sf.net/nco.html#-d -->
+<a name="-0"></a> <!-- http://nco.sf.net/nco.html#-0 -->
<a name="dmn"></a> <!-- http://nco.sf.net/nco.html#dmn -->
<a name="hyp"></a> <!-- http://nco.sf.net/nco.html#hyp -->
<a name="hyperslab"></a> <!-- http://nco.sf.net/nco.html#hyperslab --><hr>
@@ -4878,6 +4899,7 @@ Next: <a href="#Stride" accesskey="n" rel="next">Stride</a>, Previous: <a href="
<a name="index-hyperslab"></a>
<a name="index-dimension-limits"></a>
<a name="index-coordinate-limits"></a>
+<a name="index-_002d0"></a>
<a name="index-_002dd-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"></a>
<a name="index-_002d_002ddimension-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"></a>
<a name="index-_002d_002ddmn-dim_002c_005bmin_005d_005b_002c_005bmax_005d_005b_002c_005bstride_005d_005d_005d"></a>
@@ -4911,12 +4933,49 @@ Dimensions not mentioned are passed with no reduction in range.
The dimensionality of variables is not reduced (in the case of a
cross-section, the size of the constant dimension will be one).
</p><div class="example">
-<pre class="example"># First and second indices of lon dimension
+<pre class="example"># First and second longitudes
ncks -F -d lon,1,2 in.nc out.nc
-# Second and third indices of lon dimension
+# Second and third longitudes
ncks -d lon,1,2 in.nc out.nc
</pre></div>
+<p>As of version 4.2.1 (August, 2012), <acronym>NCO</acronym> allows one to extract
+the last <var>N</var> elements of a hyperslab.
+Negative integers as <var>min</var> or <var>max</var> elements of a hyperslab
+specification indicate offsets from the end (Python also uses this
+convention).
+Consistent with this convention, the value ‘<samp>-0</samp>’ (negative zero)
+indicates the last element of a dimension, even though negative zero
+is algebraically equivalent to zero.
+Previously, for example, ‘<samp>-d time,-2,-1</samp>’ caused a domain error.
+Now it means select the second-to-last and penultimate timesteps.
+Whereas ‘<samp>-d time,0</samp>’ and ‘<samp>-d time,-0</samp>’ refer to the first and
+last timesteps, respectively.
+Negative integers work for <var>min</var> and <var>max</var> indices, though not
+for <var>stride</var>.
+</p><div class="example">
+<pre class="example"># Second through second-to-last longitudes
+ncks -d lon,1,-2 in.nc out.nc
+# Second through last longitude
+ncks -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude
+ncks -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude
+ncks -d lon,-3, in.nc out.nc
+</pre></div>
+<p>The ‘<samp>-F</samp>’ argument, if any, applies the Fortran index convention
+only to indices specified as positive integers (including zero).
+</p><div class="example">
+<pre class="example"># First through second-to-last longitudes
+ncks -F -d lon,1,-2 in.nc out.nc (-F affects only start index)
+# First through last longitude
+ncks -F -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude (-F has no effect)
+ncks -F -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude (-F has no effect)
+ncks -F -d lon,-3, in.nc out.nc
+</pre></div>
+
<a name="index-stride"></a>
<p>Coordinate values should be specified using real notation with a decimal
point required in the value, whereas dimension indices are specified
@@ -4949,26 +5008,6 @@ ncks -F -d lon,1.0,2.0 in.nc out.nc
# Every other longitude value between 0 and 90 degrees
ncks -F -d lon,0.0,90.0,2 in.nc out.nc
</pre></div>
-
-<p>As of version 4.2.1 (August, 2012), <acronym>NCO</acronym> allows one to extract
-the last <var>N</var> elements of a hyperslab.
-Negative integers as <var>min</var> or <var>max</var> elements of a hyperslab
-specification indicate offsets from the end (Python also uses this
-convention).
-Previously, for example, ‘<samp>-d time,-2,-1</samp>’ caused a domain error.
-Now it means select the second-to-last and penultimate timesteps.
-Negative integers work for <var>min</var> and <var>max</var> indices, though not
-for <var>stride</var>.
-</p><div class="example">
-<pre class="example"># Last two indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# First to penultimate indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3,-1 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3, in.nc out.nc
-</pre></div>
<p>As shown, we recommend using a full floating point suffix of <code>.0</code>
instead of simply <code>.</code> in order to make obvious the selection of
hyperslab elements based on coordinate value rather than index.
@@ -5148,9 +5187,8 @@ temporary output file is copied (sometimes a quick re-link suffices) to
the final output file (see <a href="#Temporary-Output-Files">Temporary Output Files</a>).
All this copying is expensive for large files.
</p>
-<p>The new ‘<samp>--record_append</samp>’ switch causes all records in
-<samp>fl_2.nc</samp> to be appended to the end of the corresponding records in
-<samp>fl_1.nc</samp>:
+<p>The ‘<samp>--record_append</samp>’ switch appends all records in <samp>fl_2.nc</samp>
+to the end (after the last record) of <samp>fl_1.nc</samp>:
</p><div class="example">
<pre class="example">ncrcat --rec_apn fl_2.nc fl_1.nc
</pre></div>
@@ -5218,7 +5256,7 @@ Or they may be thought of as groups of a specifed duration.
The feature and the terminology to describe it are new.
For now, we call this the <em>subcycle feature</em>, sometimes abbreviated
<acronym>SSC</acronym>
-<a name="DOCF33" href="#FOOT33"><sup>33</sup></a>.
+<a name="DOCF34" href="#FOOT34"><sup>34</sup></a>.
</p>
<p>The subcycle feature allows processing of groups of records
separated by regular intervals of records.
@@ -6101,7 +6139,7 @@ Supporting both of these attributes simultaneously is not practical.
Hence the behavior <acronym>NCO</acronym> once applied to <var>missing_value</var> it
now applies to any <var>_FillValue</var>.
<acronym>NCO</acronym> now treats any <var>missing_value</var> as normal data
-<a name="DOCF34" href="#FOOT34"><sup>34</sup></a>.
+<a name="DOCF35" href="#FOOT35"><sup>35</sup></a>.
</p>
<a name="index-ncrename"></a>
<a name="index-ncatted-3"></a>
@@ -6137,7 +6175,7 @@ treated as missing data.
If not, then <acronym>NCO</acronym> converts <var>_FillValue</var> from
<var>att_type</var> to <var>var_type</var> by using the implicit conversion rules
of C<!-- /@w -->, or, if <var>att_type</var> is <code>NC_CHAR</code>
-<a name="DOCF35" href="#FOOT35"><sup>35</sup></a>, by typecasting the results of the C function<!-- /@w -->
+<a name="DOCF36" href="#FOOT36"><sup>36</sup></a>, by typecasting the results of the C function<!-- /@w -->
<code>strtod(<var>_FillValue</var>)</code>.
<a name="index-ncatted-1"></a>
You may use the <acronym>NCO</acronym> operator <code>ncatted</code> to change the
@@ -6279,7 +6317,7 @@ performance.
<p>The user specifies the desired chunking policy with the ‘<samp>-P</samp>’ switch
(or its long option equivalents, ‘<samp>--cnk_plc</samp>’ and
‘<samp>--chunk_policy</samp>’) and its <var>cnk_plc</var> argument.
-As of August, 2014, six chunking policies are currently implemented:<br>
+As of August, 2014, six chunking policies are implemented:<br>
<a name="index-all"></a>
<a name="index-g2d"></a>
<a name="index-g3d"></a>
@@ -6470,6 +6508,14 @@ The option takes two comma-separated arguments,
chunksize, respectively.
The ‘<samp>--cnk_dmn</samp>’ option may be used as many times as necessary.
</p>
+<p>The default behavior of chunking depends on several factors.
+When no chunking options are explicitly specified by the user, then
+output netCDF4 files are chunked with the default behavior of the
+netCDF4 library.
+When any chunking option <em>except</em> ‘<samp>cnk_plc</samp>’ or ‘<samp>cnk_map</samp>’
+is specified, then ‘<samp>cnk_plc</samp>’ and ‘<samp>cnk_map</samp>’ are set to
+‘<samp>g2d</samp>’ and ‘<samp>rd1</samp>’, respectively.
+</p>
<a name="xmp_cnk"></a> <!-- http://nco.sf.net/nco.html#xmp_cnk -->
<a name="xmp_chunk"></a> <!-- http://nco.sf.net/nco.html#xmp_chunk --><div class="example">
<pre class="example"># Simple chunking and unchunking
@@ -6739,7 +6785,7 @@ invoke to read and write files.
By default, netCDF uses the preferred I/O block size returned as the
‘<samp>st_blksize</samp>’ member of the ‘<samp>stat</samp>’ structure returned by the
<code>stat()</code> system call
-<a name="DOCF36" href="#FOOT36"><sup>36</sup></a>.
+<a name="DOCF37" href="#FOOT37"><sup>37</sup></a>.
Otherwise, netCDF uses twice the system pagesize.
Larger sizes can increase access speed by reducing the number of
system calls netCDF makes to read/write data from/to disk.
@@ -6930,7 +6976,7 @@ The packed variable is stored (usually) as type <code>NC_SHORT</code>
with the two attributes required to unpack the variable,
<code>scale_factor</code> and <code>add_offset</code>, stored at the original
(unpacked) precision of the variable
-<a name="DOCF37" href="#FOOT37"><sup>37</sup></a>.
+<a name="DOCF38" href="#FOOT38"><sup>38</sup></a>.
Let <var>min</var> and <var>max</var> be the minimum and maximum values
of <var>x</var>.<!-- /@w -->
</p><br>
@@ -7375,14 +7421,14 @@ A straightforward average without promotion results in garbage since the
intermediate value which holds their sum is also of type <code>NC_SHORT</code>
and thus overflows on (i.e., cannot represent) values greater than
32,767
-<a name="DOCF38" href="#FOOT38"><sup>38</sup></a>.
+<a name="DOCF39" href="#FOOT39"><sup>39</sup></a>.
There are valid reasons for expecting this operation to succeed and
the <acronym>NCO</acronym> philosophy is to make operators do what you want, not
what is purest.
Thus, unlike C and Fortran, but like many other higher level interpreted
languages, <acronym>NCO</acronym> arithmetic operators will perform automatic type
conversion on integers when all the following conditions are met
-<a name="DOCF39" href="#FOOT39"><sup>39</sup></a>:
+<a name="DOCF40" href="#FOOT40"><sup>40</sup></a>:
</p><ol>
<li> The requested operation is arithmetic.
This is why type conversion is limited to the operators <code>ncap2</code>,
@@ -7432,7 +7478,7 @@ variables’ original storage type (e.g., from <code>NC_DOUBLE</code> to
<acronym>NCO</acronym> has handled this demotion in three ways in its history.
Prior to October, 2011 (version 4.0.8), <acronym>NCO</acronym> employed the
C library<!-- /@w --> truncate function, <code>trunc()</code>
-<a name="DOCF40" href="#FOOT40"><sup>40</sup></a>.
+<a name="DOCF41" href="#FOOT41"><sup>41</sup></a>.
Truncation rounds <var>x</var> to the nearest integer not larger in absolute
value.
For example, truncation rounds <code>1.0d</code>, <code>1.5d</code>, and
@@ -7505,10 +7551,10 @@ Single-precision (four-byte) numbers contain about seven significant
figures, while double-precision contain about sixteen.
More, err, precisely, the <acronym>IEEE</acronym> single-precision representation
gives from 6 to 9<!-- /@w --> significant decimal digits precision
-<a name="DOCF41" href="#FOOT41"><sup>41</sup></a>.
+<a name="DOCF42" href="#FOOT42"><sup>42</sup></a>.
And the <acronym>IEEE</acronym> double-precision representation
gives from 15 to 17<!-- /@w --> significant decimal digits precision
-<a name="DOCF42" href="#FOOT42"><sup>42</sup></a>.
+<a name="DOCF43" href="#FOOT43"><sup>43</sup></a>.
Hence double-precision numbers represent about nine digits more
precision than single-precision numbers.
</p>
@@ -7543,7 +7589,7 @@ our judgement, the performance penalty of always doing so would outweigh
the potential benefits.
The now-classic text “Numerical Recipes in C<!-- /@w -->” discusses this point
under the section “Implicit Conversion of Float to Double”
-<a name="DOCF43" href="#FOOT43"><sup>43</sup></a>.
+<a name="DOCF44" href="#FOOT44"><sup>44</sup></a>.
That said, such promotion is warranted in some circumstances.
</p>
<p>For example, rounding errors can accumulate to worrisome levels during
@@ -7575,7 +7621,7 @@ In Method 1<!-- /@w --> we derive the 15-year ensemble January average in t
steps, as the average of three five-year averages.
This method is naturally used when each input file contains multiple
years and multiple input files are needed
-<a name="DOCF44" href="#FOOT44"><sup>44</sup></a>.
+<a name="DOCF45" href="#FOOT45"><sup>45</sup></a>.
In Method 2<!-- /@w --> we obtain 15-year ensemble January average in a single
step, by averaging all 15 Januaries at one time:
</p><div class="example">
@@ -7657,7 +7703,7 @@ They enforce the traditional <acronym>NCO</acronym> and Fortran convention of
keeping single-precision arithmetic in single-precision unless a
double-precision number is explicitly involved.
</p>
-<p>As has been seen, forced promotion of single- to double-precision
+<p>We have shown that forced promotion of single- to double-precision
prior to arithmetic has advantages and disadvantages.
The primary disadvantages are speed and size.
Double-precision arithmetic is 10–60% slower than, and requires
@@ -7768,7 +7814,7 @@ Thus about 50,000 single-precision floating point operations caused
the loss of two to three significant digits of precision.
The net error of a series of independent rounding errors is a random
walk phenomena
-<a name="DOCF45" href="#FOOT45"><sup>45</sup></a>.
+<a name="DOCF46" href="#FOOT46"><sup>46</sup></a>.
Successive rounding errors displace the answer further from the truth.
An ensemble of such averages will, on average, have no net bias.
In other words, the expectation value of a series of <acronym>IEEE</acronym>
@@ -7838,8 +7884,8 @@ float-promotion preferences as desired.
No other language allows this with a simple switch.
</p>
<p>To summarize, until version 4.3.6 (September, 2013), the default
-arithmetic convention of <acronym>NCO</acronym> followed the behavior of Fortran,
-and automatically promoted single-precision to double-precision in all
+arithmetic convention of <acronym>NCO</acronym> adhered to Fortran behavior,
+and automatically promoted single-precision to double-precision in all
mixed-precision expressions, and left-alone pure single-precision
expressions.
This is faster and more memory efficient than other conventions.
@@ -7864,10 +7910,10 @@ result.
Providing the ‘<samp>--dbl</samp>’ option for such trivial operations makes
little sense, so the option is not currently made available.
</p>
-<p>At the time of this writing (September 2013), we are interested in
-users’ opinions on these matters.
-Currently the default behavior is ‘<samp>--flt</samp>’.
-We are willing to change the default to ‘<samp>--dbl</samp>’ if users prefer.
+<p>We are interested in users’ opinions on these matters.
+The default behavior was changed from ‘<samp>--flt</samp>’ to ‘<samp>--dbl</samp>’
+with the release of <acronym>NCO</acronym> version 4.3.6 (October 2013).
+We will change the default back to ‘<samp>--flt</samp>’ if users prefer.
Or we could set a threshold (e.g., <em>n \ge 10000</em>) after which
single- to double-precision promotion is automatically invoked.
Or we could make the default promotion convention settable via an
@@ -7976,7 +8022,7 @@ Thus attributes named <code>History</code> or <code>HISTORY</code> (which are
non-standard and not recommended) will be treated as valid history
attributes.
When more than one global attribute fits the case-insensitive search
-for "history", the first one found will be used.
+for “history”, the first one found will be used.
<code>history</code> attribute
<a name="index-ncatted-2"></a>
To avoid information overkill, all operators have an optional switch
@@ -8084,10 +8130,10 @@ Skip this section if you never work with <acronym>CF</acronym> metadata.
<p>The latest <acronym>CF</acronym> netCDF conventions are described
<a href="http://cfconventions.org/1.6.html">here</a>.
Most <acronym>CF</acronym> netCDF conventions are transparent to <acronym>NCO</acronym>
-<a name="DOCF46" href="#FOOT46"><sup>46</sup></a>.
+<a name="DOCF47" href="#FOOT47"><sup>47</sup></a>.
There are no known pitfalls associated with using any <acronym>NCO</acronym>
operator on files adhering to these conventions
-<a name="DOCF47" href="#FOOT47"><sup>47</sup></a>.
+<a name="DOCF48" href="#FOOT48"><sup>48</sup></a>.
However, to facilitate maximum user friendliness, <acronym>NCO</acronym> applies
special rules to certain variables in <acronym>CF</acronym> files.
The special functions are not required by the <acronym>CF</acronym> netCDF
@@ -8419,7 +8465,7 @@ in-depth examples of <code>ncap2</code> solutions to complex problems.
<p>DESCRIPTION
</p>
<p><code>ncap2</code> arithmetically processes netCDF files
-<a name="DOCF48" href="#FOOT48"><sup>48</sup></a>.
+<a name="DOCF49" href="#FOOT49"><sup>49</sup></a>.
<a name="index-script-file"></a>
<a name="index-_002d_002dscript_002dfile"></a>
<a name="index-_002d_002dfl_005fspt"></a>
@@ -8733,8 +8779,8 @@ if exp1 is a variable and it doesn’t conform to var1 then an attempt is ma
time-=2 // time= -1,0,1,2,3,4,5,6,7,8
</pre></div>
-<p><strong>Increment/ Decrement Operators <br> </strong>
-These work in a similar fashion to their regular C counterparts. If say the variable "four" is input only then the statement "++four" effectively means -read four from input increment each element by one , then write the new values to Output;
+<p><strong>Increment/Decrement Operators <br></strong>
+These work in a similar fashion to their regular C counterparts. If say the variable <code>four</code> is input only then the statement <code>++four</code> effectively means read <code>four</code> from input increment each element by one, then write the new values to Output;
</p>
<p>Example:
</p><div class="example">
@@ -8987,9 +9033,9 @@ arguments for a variable of rank <var>N</var>:
<pre class="example">start:end:stride
</pre></div>
<p>and the arguments for different dimensions are separated by commas.
-If "start" is omitted, it defaults to 0.
-If "end" is omitted, it defaults to dimension size minus one.
-If "stride" is omitted, it defaults to 1.
+If <var>start</var> is omitted, it defaults to zero.
+If <var>end</var> is omitted, it defaults to dimension size minus one.
+If <var>stride</var> is omitted, it defaults to one.
</p><br>
<p>If a single value is present then it is assumed that that
dimension collapses to a single value (i.e., a cross-section).
@@ -9173,7 +9219,7 @@ To stop the attribute being written use the ram_delete() method or use a bogus v
<a name="index-attribute-inheritance"></a>
</p><ul>
<li> Attribute propagation occurs in a regular assign statement. The variable being defined on the LHS gets copies of the attributes from the leftermost variable on the RHS.
- </li><li> Attribute Inheritance: The LHS variable "inherits" attributes from an Input variable with the same name
+ </li><li> Attribute Inheritance: The LHS variable “inherits” attributes from an Input variable with the same name
</li><li> It is possible to have a regular assign statement for which both propagation and inheritance occur.
</li></ul>
@@ -10336,7 +10382,7 @@ weight, area, etc.).
<p>and so supports grids that change with time.
</p>
<p>Grids with <var>R</var> > 1 often use missing values to indicated empty points.
-For example, so-called "staggered grids" will use fewer east_west
+For example, so-called “staggered grids” will use fewer east_west
points near the poles and more near the equator. netCDF only accepts
rectangular arrays so space must be allocated for the maximum number
of east_west points at all latitudes. Then the application writes
@@ -10542,7 +10588,7 @@ Next: <a href="#GSL-interpolation" accesskey="n" rel="next">GSL interpolation</a
<h4 class="subsection">4.1.19 GSL special functions</h4>
<a name="index-GSL-1"></a>
<p>As of version 3.9.6 (released January, 2009), <acronym>NCO</acronym>
-can link to the GNU Scientific Library (<acronym>GSL</acronym>).
+can link to the <acronym>GNU</acronym> Scientific Library (<acronym>GSL</acronym>).
<code>ncap2</code> can access most <acronym>GSL</acronym> special functions including
Airy, Bessel, error, gamma, beta, hypergeometric, and Legendre functions
and elliptical integrals.
@@ -10555,7 +10601,7 @@ build, use <code>ncap2 -f | grep ^gsl</code>.
The <acronym>NCO</acronym> wrappers for <acronym>GSL</acronym> functions automatically
call the error-handling version of the <acronym>GSL</acronym> function when
available
-<a name="DOCF49" href="#FOOT49"><sup>49</sup></a>.
+<a name="DOCF50" href="#FOOT50"><sup>50</sup></a>.
This allows <acronym>NCO</acronym> to return a missing value when the
<acronym>GSL</acronym> library encounters a domain error or a floating point
exception.
@@ -11796,7 +11842,7 @@ and are indicated with an asterisk
<a name="index-double_002dprecision"></a>
<a name="index-long-double"></a>
<a name="index-NC_005fDOUBLE"></a>
-<a name="DOCF50" href="#FOOT50"><sup>50</sup></a>.
+<a name="DOCF51" href="#FOOT51"><sup>51</sup></a>.
and are indicated with an asterisk.
<a name="index-_002df"></a>
<a name="index-_002d_002dprn_005ffnc_005ftbl"></a>
@@ -11804,7 +11850,7 @@ and are indicated with an asterisk.
Use the ‘<samp>-f</samp>’ (or ‘<samp>fnc_tbl</samp>’ or ‘<samp>prn_fnc_tbl</samp>’) switch
to print a complete list of functions supported on your platform.
<a name="index-Linux"></a>
-<a name="DOCF51" href="#FOOT51"><sup>51</sup></a>
+<a name="DOCF52" href="#FOOT52"><sup>52</sup></a>
</p>
<a name="xmp_ncap"></a> <!-- http://nco.sf.net/nco.html#xmp_ncap -->
<a name="xmp_ncap2"></a> <!-- http://nco.sf.net/nco.html#xmp_ncap2 -->
@@ -12006,7 +12052,7 @@ Example: <code>pressure</code>, <code>'^H2O'</code>.
<a name="index-pattern-matching-2"></a>
<a name="index-wildcards-2"></a>
Regular expressions (see <a href="#Subsetting-Files">Subsetting Files</a>) are accepted and will
-select any matching variable names.
+select any matching variable (<em>not</em> attribute) names.
The names <code>global</code> and <code>group</code> have special meaning.
</p></dd>
<dt><var>mode</var></dt>
@@ -12032,8 +12078,8 @@ appearance.
<p>The value of <var>att_nm</var> is the name of the attribute you want to
edit.
This meaning of this should be clear to all <code>ncatted</code> users.
-Recall, as mentioned above, that <var>var_nm</var> may be specified as a
-regular expression.
+Recall, as mentioned above, that <var>var_nm</var> (but not <var>att_nm</var>) may
+be specified as a regular expression.
If <var>att_nm</var> is omitted (i.e., left blank) and <em>Delete</em> mode is
selected, then all attributes associated with the specified variable
will be deleted.
@@ -12246,7 +12292,7 @@ See <a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a>, for more e
<a name="index-special-characters"></a>
<a name="index-ASCII-1"></a>
<p>Analogous to <code>printf</code>, other special characters are also allowed by
-<code>ncatted</code> if they are "protected" by a backslash.
+<code>ncatted</code> if they are “protected” by a backslash.
The characters <code>"</code>, <code>'</code>, <code>?</code>, and <code>\</code> may be
input to the shell as <code>\"</code>, <code>\'</code>, <code>\?</code>, and <code>\\</code>.
<acronym>NCO</acronym> simply strips away the leading backslash from these
@@ -12275,16 +12321,16 @@ attribute of type <code>NC_CHAR</code>.
(i.e., attributes of type <code>NC_CHAR</code>) as strings.
<a name="xmp_ncatted"></a> <!-- http://nco.sf.net/nco.html#xmp_ncatted -->EXAMPLES
</p>
-<p>Append the string "Data version 2.0.\n" to the global attribute
+<p>Append the string <code>Data version 2.0.\n</code> to the global attribute
<code>history</code>:
</p><div class="example">
-<pre class="example">ncatted -a history,global,a,c,"Data version 2.0\n" in.nc
+<pre class="example">ncatted -a history,global,a,c,'Data version 2.0\n' in.nc
</pre></div>
<p>Note the use of embedded C language<!-- /@w --> <code>printf()</code>-style escape
sequences.
</p>
<p>Change the value of the <code>long_name</code> attribute for variable <code>T</code>
-from whatever it currently is to "temperature":
+from whatever it currently is to “temperature”:
</p><div class="example">
<pre class="example">ncatted -a long_name,T,o,c,temperature in.nc
</pre></div>
@@ -12295,7 +12341,7 @@ from whatever it currently is to "temperature":
<p><acronym>NCO</acronym> arithmetic operators may not work as expected on
<acronym>IEEE</acronym> NaN (short for Not-a-Number) and NaN-like numbers such as
positive infinity and negative infinity
-<a name="DOCF52" href="#FOOT52"><sup>52</sup></a>.
+<a name="DOCF53" href="#FOOT53"><sup>53</sup></a>.
One way to work-around this problem is to change <acronym>IEEE</acronym> NaNs to
normal missing values.
As of <acronym>NCO</acronym> 4.1.0 (March, 2012), <code>ncatted</code> works with
@@ -12335,22 +12381,22 @@ To delete all global attributes, simply replace <code>tpt</code> with
<code>global</code> in the above.
</p>
<a name="index-units-3"></a>
-<p>Modify all existing <code>units</code> attributes to "meter second-1":
+<p>Modify all existing <code>units</code> attributes to <code>meter second-1</code>:
</p><div class="example">
-<pre class="example">ncatted -a units,,m,c,"meter second-1" in.nc
+<pre class="example">ncatted -a units,,m,c,'meter second-1' in.nc
</pre></div>
<a name="index-units-4"></a>
-<p>Add a <code>units</code> attribute of "kilogram kilogram-1" to all variables
-whose first three characters are ‘<samp>H2O</samp>’:
+<p>Add a <code>units</code> attribute of <code>kilogram kilogram-1</code> to all
+variables whose first three characters are ‘<samp>H2O</samp>’:
</p><div class="example">
-<pre class="example">ncatted -a units,'^H2O',c,c,"kilogram kilogram-1" in.nc
+<pre class="example">ncatted -a units,'^H2O',c,c,'kilogram kilogram-1' in.nc
</pre></div>
<p>Overwrite the <code>quanta</code> attribute of variable
<code>energy</code> to an array of four integers.
</p><div class="example">
-<pre class="example">ncatted -O -a quanta,energy,o,s,"010,101,111,121" in.nc
+<pre class="example">ncatted -a quanta,energy,o,s,'010,101,111,121' in.nc
</pre></div>
<a name="index-extended-regular-expressions-4"></a>
@@ -12358,11 +12404,12 @@ whose first three characters are ‘<samp>H2O</samp>’:
<a name="index-pattern-matching-3"></a>
<a name="index-wildcards-3"></a>
<p>As of <acronym>NCO</acronym> 3.9.6 (January, 2009), <code>ncatted</code> accepts
-<em>extended regular expressions</em> as arguments for variable names.
+<em>extended regular expressions</em> as arguments for variable names,
+though not for attribute names.
Create <code>isotope</code> attributes for all variables containing ‘<samp>H2O</samp>’
in their names.
</p><div class="example">
-<pre class="example">ncatted -O -a isotope,'^H2O*',c,s,"18" in.nc
+<pre class="example">ncatted -a isotope,'^H2O*',c,s,'18' in.nc
</pre></div>
<p>See <a href="#Subsetting-Files">Subsetting Files</a> for more details.
</p>
@@ -12372,21 +12419,21 @@ accepts full and partial group paths in names of attributes,
variables, dimensions, and groups.
</p><div class="example">
<pre class="example"># Overwrite units attribute of specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,c,'degrees_west' in_grp.nc
# Overwrite units attribute of all 'lon' variables
-ncatted -O -a units,lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,lon,o,c,'degrees_west' in_grp.nc
# Delete units attribute of all 'lon' variables
ncatted -O -a units,lon,d,, in_grp.nc
# Overwrite units attribute with new type for specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,sng,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,sng,'degrees_west' in_grp.nc
# Add new_att attribute to all variables
-ncatted -O -a new_att,,c,sng,"new variable attribute" in_grp.nc
+ncatted -O -a new_att,,c,sng,'new variable attribute' in_grp.nc
# Add new_grp_att group attribute to all groups
-ncatted -O -a new_grp_att,group,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a new_grp_att,group,c,sng,'new group attribute' in_grp.nc
# Add new_grp_att group attribute to single group
-ncatted -O -a g1_grp_att,g1,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a g1_grp_att,g1,c,sng,'new group attribute' in_grp.nc
# Add new_glb_att global attribute to root group
-ncatted -O -a new_glb_att,global,c,sng,"new global attribute" in_grp.nc
+ncatted -O -a new_glb_att,global,c,sng,'new global attribute' in_grp.nc
</pre></div>
<p>Demonstrate input of C-language escape sequences (e.g., <code>\n</code>) and
@@ -12502,11 +12549,11 @@ Examples: ‘<samp>ncbo --op_typ=/ 1.nc 2.nc 3.nc</samp>’, ‘<sam
i.e., ‘<samp>+</samp>’, ‘<samp>-</samp>’, ‘<samp>*</samp>’, and ‘<samp>/</samp>’<!-- /@w -->.
Some of these single characters may have special meanings to the shell
<a name="index-naked-characters"></a>
-<a name="DOCF53" href="#FOOT53"><sup>53</sup></a>.
+<a name="DOCF54" href="#FOOT54"><sup>54</sup></a>.
<a name="index-Bash-shell"></a>
Place these characters inside quotes to keep them from being interpreted
(globbed) by the shell
-<a name="DOCF54" href="#FOOT54"><sup>54</sup></a>.
+<a name="DOCF55" href="#FOOT55"><sup>55</sup></a>.
<a name="index-globbing-4"></a>
<a name="index-shell-4"></a>
<a name="index-quotes-2"></a>
@@ -12551,12 +12598,12 @@ Should users or system adminitrators decide to activate them, the
procedure is simple.
For example, to use ‘<samp>ncadd</samp>’ instead of ‘<samp>ncbo --op_typ=add</samp>’,
simply create a symbolic link from <code>ncbo</code> to <code>ncadd</code>
-<a name="DOCF55" href="#FOOT55"><sup>55</sup></a>.
+<a name="DOCF56" href="#FOOT56"><sup>56</sup></a>.
The alternatate invocations supported for each operation type are listed
above.
Alternatively, users may always define ‘<samp>ncadd</samp>’ as an <em>alias</em> to
‘<samp>ncbo --op_typ=add</samp>’
-<a name="DOCF56" href="#FOOT56"><sup>56</sup></a>.
+<a name="DOCF57" href="#FOOT57"><sup>57</sup></a>.
</p>
<p>It is important to maintain portability in <acronym>NCO</acronym> scripts.
Therefore we recommend that site-specfic invocations (e.g.,
@@ -12574,7 +12621,7 @@ stores the results in <var>file_3</var>.
<a name="index-broadcasting-variables-2"></a>
Variables in <var>file_1</var> or <var>file_2</var> are <em>broadcast</em> to conform
to the corresponding variable in the other input file if
-necessary<a name="DOCF57" href="#FOOT57"><sup>57</sup></a>.
+necessary<a name="DOCF58" href="#FOOT58"><sup>58</sup></a>.
Now <code>ncbo</code> is completely symmetric with respect to <var>file_1</var>
and <var>file_2</var>, i.e.,
<em><var>file_1</var> - <var>file_2</var> = - (<var>file_2</var> - <var>file_1</var></em>.
@@ -12610,7 +12657,7 @@ dimension of size 1<!-- /@w --> rather than having no <code>time</code> dim
all
<a name="index-degenerate-dimension-3"></a>
<a name="index-_002db-1"></a>
-<a name="DOCF58" href="#FOOT58"><sup>58</sup></a>.
+<a name="DOCF59" href="#FOOT59"><sup>59</sup></a>.
In this case the input files to <code>ncbo</code>, <var>file_1</var> and
<var>file_2</var>, will have unequally sized <code>time</code> dimensions which
causes <code>ncbo</code> to fail.
@@ -12821,7 +12868,7 @@ input groups within each file.
Each file (or group) receives an equal weight.
<code>nces</code> was formerly (until <acronym>NCO</acronym> version 4.3.9,
released December, 2013) known as <code>ncea</code> (netCDF Ensemble
-Averager)<a name="DOCF59" href="#FOOT59"><sup>59</sup></a>.
+Averager)<a name="DOCF60" href="#FOOT60"><sup>60</sup></a>.
<a name="index-ensemble-1"></a>
For example, <code>nces</code> will average a set of files or groups,
weighting each file or group evenly.
@@ -12843,7 +12890,7 @@ is the operator to use.
<p>Variables in the <var>output-file</var> are the same size as the variable
hyperslab in each input file or group, and each input file or group
must be the same size after hyperslabbing
-<a name="DOCF60" href="#FOOT60"><sup>60</sup></a>
+<a name="DOCF61" href="#FOOT61"><sup>61</sup></a>
<a name="index-record-dimension-3"></a>
<a name="index-hyperslab-2"></a>
<code>nces</code> does allow files to differ in the record dimension size
@@ -13039,7 +13086,7 @@ input file into a single record of the same variable in the output file.
Coordinate variables are not concatenated, they are instead simply
copied from the first input file to the <var>output-file</var>.
All <var>input-files</var> must contain all extracted variables (or else
-there would be "gaps" in the output file).
+there would be “gaps” in the output file).
</p>
<p>A new record dimension is the glue which binds together the input file
data.
@@ -13558,7 +13605,7 @@ if any) must agree (conform) in both files.
Then the variable values (and any coordinate dimension values)
from <var>input-file</var> will overwrite the corresponding variable values
(and coordinate dimension values, if any) in <var>output-file</var>
-<a name="DOCF61" href="#FOOT61"><sup>61</sup></a>.
+<a name="DOCF62" href="#FOOT62"><sup>62</sup></a>.
</p>
<p>Since there can only be one record dimension in a file, the record
dimension must have the same name (though not necessarily the same size) in
@@ -13582,15 +13629,14 @@ existing files and variables, respectively.
<a name="Options-specific-to-ncks"></a>
<h4 class="unnumberedsubsec">Options specific to <code>ncks</code></h4>
-<p>The following list provides a short summary of the features unique to
-<code>ncks</code>.
+<p>The following summarizes features unique to <code>ncks</code>.
Features common to many operators are described in
<a href="#Common-features">Common features</a>.
</p>
<dl compact="compact">
<dd>
<a name="-5"></a> <!-- http://nco.sf.net/nco.html#-5 -->
-<a name="5"></a> <!-- http://nco.sf.net/nco.html#5 --><a name="index-_002d5"></a>
+<a name="5"></a> <!-- http://nco.sf.net/nco.html#5 --><a name="index-_002d5-1"></a>
</dd>
<dt>‘<samp>-5</samp>’</dt>
<dd><p>Print data to screen alphabetically by group, and alphabetically by
@@ -13683,6 +13729,7 @@ limited to at most one record dimension) (see <a href="#Group-Path-Editing">Grou
<a name="index-special-attributes"></a>
<a name="index-_002d_002dhdn"></a>
<a name="index-_002d_002dhidden"></a>
+<a name="index-_005fSOURCE_005fFORMAT"></a>
<a name="index-_005fFormat"></a>
<a name="index-_005fDeflateLevel"></a>
<a name="index-_005fShuffle"></a>
@@ -13700,6 +13747,9 @@ Hidden attributes include: <code>_Format</code>, <code>_DeflateLevel</code>,
Previously <code>ncks</code> ignored all these attributes in
<acronym>CDL</acronym>/<acronym>XML</acronym> modes.
Now it prints these attributes as appropriate.
+As of <acronym>NCO</acronym> version 4.4.6 (September, 2014), ‘<samp>--hdn</samp>’
+also prints the extended file format (i.e., the format of the file
+or server supplying the data) as <code>_SOURCE_FORMAT</code>.
Users are referred to the
<a href="http://www.unidata.ucar.edu/software/netcdf/docs">Unidata netCDF Documentation</a>,
or the man pages for <code>ncgen</code> or <code>ncdump</code>, for
@@ -13949,29 +13999,39 @@ The ‘<samp>-P</samp>’ switch is a convenience abbreviation for
Also activated using ‘<samp>--print</samp>’ or ‘<samp>--prn</samp>’.
This set of switches is useful for exploring file contents.
</p>
-<a name="Q"></a> <!-- http://nco.sf.net/nco.html#Q --><a name="index-_002dQ"></a>
+<a name="Q"></a> <!-- http://nco.sf.net/nco.html#Q -->
+<a name="quiet"></a> <!-- http://nco.sf.net/nco.html#quiet --><a name="index-_002dQ"></a>
+<a name="index-_002d_002dquiet"></a>
</dd>
<dt>‘<samp>-Q</samp>’</dt>
-<dd><p>Toggle printing of dimension indices and coordinate values when printing
-arrays.
-Each variable’s name appears flush left in the output.
-This helps locate specific variables in lists with many variables and
+<dd><p>Print quietly, meaning omit dimension names, indices, and coordinate
+values when printing arrays.
+Variable (not dimension) indices are printed.
+Variable names appear flush left in the output:
+</p><div class="example">
+<pre class="verbatim">zender at roulee:~$ ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+...
+</pre></div>
+<p>This helps locate specific variables in lists with many variables and
different dimensions.
+See also the ‘<samp>-V</samp>’ option, which omits all names and indices and
+prints only variable values.
</p>
<a name="q"></a> <!-- http://nco.sf.net/nco.html#q -->
-<a name="quiet"></a> <!-- http://nco.sf.net/nco.html#quiet --><a name="index-_002dq"></a>
-<a name="index-_002d_002dquiet"></a>
-<a name="index-quiet"></a>
+<a name="quench"></a> <!-- http://nco.sf.net/nco.html#quench --><a name="index-_002dq"></a>
+<a name="index-_002d_002dquench"></a>
+<a name="index-quench"></a>
</dd>
<dt>‘<samp>-q</samp>’</dt>
-<dd><p>Turn off all printing to screen.
+<dd><p>Quench (turn-off) all printing to screen.
This overrides the setting of all print-related switches, equivalent to
<kbd>-H -M -m</kbd> when in single-file printing mode.
When invoked with <code>-R</code> (see <a href="#Retaining-Retrieved-Files">Retaining Retrieved Files</a>), <code>ncks</code>
automatically sets <code>-q</code>.
This allows <code>ncks</code> to retrieve remote files without
automatically trying to print them.
-Also ‘<samp>--quiet</samp>’.
+Also ‘<samp>--quench</samp>’.
</p>
<a name="rad"></a> <!-- http://nco.sf.net/nco.html#rad -->
<a name="orphan"></a> <!-- http://nco.sf.net/nco.html#orphan -->
@@ -14007,6 +14067,20 @@ Also ‘<samp>--retain_all_dimensions</samp>’, ‘<samp>--orphan_d
Accepts C language<!-- /@w --> escape sequences and <code>printf()</code> formats.
Also ‘<samp>--string</samp>’ and ‘<samp>--sng_fmt</samp>’.
</p>
+<a name="ssh"></a> <!-- http://nco.sf.net/nco.html#ssh -->
+<a name="scr"></a> <!-- http://nco.sf.net/nco.html#scr -->
+<a name="secret"></a> <!-- http://nco.sf.net/nco.html#secret --><a name="index-_002d_002dssh"></a>
+<a name="index-_002d_002dscr"></a>
+<a name="index-_002d_002dsecret"></a>
+<a name="index-hidden-features"></a>
+</dd>
+<dt>‘<samp>--secret</samp>’</dt>
+<dd><p>Print summary of <code>ncks</code> hidden features.
+These hidden or secret features are used mainly by developers.
+They are not supported for general use and may change at any time.
+This demonstrates conclusively that I cannot keep a secret.
+Also ‘<samp>--ssh</samp>’ and ‘<samp>--scr</samp>’.
+</p>
<a name="units"></a> <!-- http://nco.sf.net/nco.html#units -->
<a name="u"></a> <!-- http://nco.sf.net/nco.html#u --><a name="index-_002du"></a>
<a name="index-_002d_002dunits"></a>
@@ -14016,6 +14090,26 @@ Also ‘<samp>--string</samp>’ and ‘<samp>--sng_fmt</samp>&rsqu
with its values.
Also ‘<samp>--units</samp>’.
</p>
+<a name="V"></a> <!-- http://nco.sf.net/nco.html#V -->
+<a name="var_val"></a> <!-- http://nco.sf.net/nco.html#var_val --><a name="index-_002dV"></a>
+<a name="index-_002d_002dvar_005fval"></a>
+<a name="index-_002d_002dno_005fdmn_005fvar_005fnm"></a>
+<a name="index-_002d_002dno_005fnm_005fprn"></a>
+</dd>
+<dt>‘<samp>-V</samp>’</dt>
+<dd><p>Print variable values only.
+Do not print variable and dimension names, indices, and coordinate
+values when printing arrays.
+</p><div class="example">
+<pre class="verbatim">zender at roulee:~$ ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+...
+</pre></div>
+<p>See also the ‘<samp>-Q</samp>’ option, which prints variable names and indices,
+but not dimension names, indices, or coordinate values when printing
+arrays.
+Using ‘<samp>-V</samp>’ is the same as specifying ‘<samp>-Q --no_nm_prn</samp>’.
+</p>
<a name="xml"></a> <!-- http://nco.sf.net/nco.html#xml -->
<a name="ncmnl"></a> <!-- http://nco.sf.net/nco.html#ncml --><a name="index-_002d_002dxml"></a>
<a name="index-_002d_002dncml"></a>
@@ -14077,7 +14171,7 @@ location of the input dataset, e.g.,
The ‘<samp>--xml_spr_chr</samp>’ and ‘<samp>--xml_spr_nmr</samp>’ options customize
the strings used as <acronym>NcML</acronym> separators for attributes and
variables of character-type and numeric-type, respectively.
-Their default separators are "*" and " ":
+Their default separators are <code>*</code> and “<code> </code>” (a space):
</p><div class="example">
<pre class="verbatim">zender at roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
...
@@ -14337,6 +14431,9 @@ ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
<p>Variables in <samp>out.nc</samp> now contain data (not metadata) from
<samp>in.nc</samp> and metadata (not data) from <samp>in2.nc</samp>.
</p>
+<a name="index-_002ds-1"></a>
+<a name="index-_002d_002dstring-1"></a>
+<a name="index-_002d_002dsng_005ffmt-1"></a>
<a name="index-printf_0028_0029-2"></a>
<a name="index-_005cn-_0028linefeed_0029"></a>
<a name="index-_005ct-_0028horizontal-tab_0029"></a>
@@ -14371,6 +14468,7 @@ files like reports or papers.
See <a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a>, for more details on string
formatting and special characters.
</p>
+<a name="index-_002d_002dno_005fblank-1"></a>
<p>As of <acronym>NCO</acronym> version 4.2.2 (October, 2012), <acronym>NCO</acronym> prints
missing values as blanks (i.e., the underscore character ‘<samp>_</samp>’) by
default:
@@ -14383,6 +14481,31 @@ lon[3]=270 mss_val[3]=_
% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
+73.0, _, +73.0, _,
</pre></div>
+<p>To print the numeric value of the missing value instead of a blank,
+use the ‘<samp>--no_blank</samp>’ option.
+</p>
+<a name="index-_002dQ-1"></a>
+<a name="index-_002d_002dquiet-1"></a>
+<a name="index-_002dV-1"></a>
+<a name="index-_002d_002dvar_005fval-1"></a>
+<a name="index-_002d_002dno_005fdmn_005fvar_005fnm-1"></a>
+<a name="index-_002d_002dno_005fnm_005fprn-1"></a>
+<p><code>ncks</code> prints in a verbose fashion by default and supplies a
+number of switches to pare-down (or even spruce-up) the output.
+The interplay of the ‘<samp>-Q</samp>’, ‘<samp>-V</samp>’, and (otherwise undocumented)
+‘<samp>--no_nm_prn</samp>’ switches yields most desired verbosities:
+</p><div class="example">
+<pre class="verbatim">% ncks -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+time[0]=1 lat[0]=-90 lon[0]=0 three_dmn_rec_var[0]=1
+% ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+% ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks -Q --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1 -90 0 1
+</pre></div>
<p>One dimensional arrays of characters stored as netCDF variables are
automatically printed as strings, whether or not they are
@@ -14744,7 +14867,7 @@ The record dimension is always the most slowly varying dimension in a
record variable (see <a href="#C-and-Fortran-Index-Conventions">C and Fortran Index Conventions</a>).
The specified re-ordering fails if it requires creating more than
one record dimension amongst all the output variables
-<a name="DOCF62" href="#FOOT62"><sup>62</sup></a>.
+<a name="DOCF63" href="#FOOT63"><sup>63</sup></a>.
</p>
<p>Two special cases of dimension re-ordering and reversal deserve special
mention.
@@ -14820,7 +14943,7 @@ ncl_convert2nc modis.hdf
ncpdq --hdf_upk -P xst_new modis.nc modis.nc
</pre></div>
<p><acronym>NCO</acronym> now
-<a name="DOCF63" href="#FOOT63"><sup>63</sup></a>
+<a name="DOCF64" href="#FOOT64"><sup>64</sup></a>
automatically detects <acronym>HDF4</acronym> files.
In this case it produces an output file <samp>modis.nc</samp> which preserves
the <acronym>HDF</acronym> packing used in the input file.
@@ -14831,7 +14954,7 @@ and then repacks those same variables using the netCDF algorithm
As described above the ‘<samp>--P xst_new</samp>’ packing policy only repacks
variables that are already packed.
Not-packed variables are copied directly without loss of precision
-<a name="DOCF64" href="#FOOT64"><sup>64</sup></a>.
+<a name="DOCF65" href="#FOOT65"><sup>65</sup></a>.
</p>
<p>Re-order file <samp>in.nc</samp> so that the dimension <code>lon</code> always
precedes the dimension <code>lat</code> and store the results in
@@ -15247,8 +15370,9 @@ All the new names must be unique.
Every old name must exist in the input file, unless the old name is
preceded by the period (or “dot”) character ‘<samp>.</samp>’.
The validity of <var>old_name</var> is not checked prior to the renaming.
-Thus, if <var>old_name</var> is specified without the the ‘<samp>.</samp>’ prefix and
-is not present in <var>input-file</var>, <code>ncrename</code> will abort.
+Thus, if <var>old_name</var> is specified without the ‘<samp>.</samp>’ prefix that
+indicates the presence of <var>old_name</var> is optional, and <var>old_name</var>
+is not present in <var>input-file</var>, then <code>ncrename</code> will abort.
The <var>new_name</var> should never be prefixed by a ‘<samp>.</samp>’ (or else the
period will be included as part of the new name).
The OPTIONS and EXAMPLES show how to select specific variables
@@ -15395,20 +15519,21 @@ the variable:
</p><div class="example">
<pre class="example">ncrename -d lon,longitude -v lon,longitude in.nc
</pre></div>
-<p>Unfortunately, the netCDF4 library has a longstanding bug (all versions
-until 4.3.1-rc5 released in December, 2013) that causes <acronym>NCO</acronym> to
+<p>Unfortunately, the netCDF4 library had a longstanding bug (all versions
+until 4.3.1-rc5 released in December, 2013) that caused <acronym>NCO</acronym> to
crash when performing this operation.
Simultaneously renaming variables and dimensions in netCDF4 files with
-earlier versions of netCDF is impossible; it must instead be done in two
+earlier versions of netCDF is impossible; it must instead be done in two
separate <code>ncrename</code> invocations (e.g., first rename the
-variable, then the dimension) to avoid triggering the libary bug.
+variable, then rename the dimension) to avoid triggering the libary
+bug.
</p>
<p>A related bug causes unintended side-effects with <code>ncrename</code>
also built with all versions of the netCDF4 library until 4.3.1-rc5
released in December, 2013):
-Renaming <em>either</em> a dimension <em>or</em> its assosiated
-coordinate variable (not both, which would fail as above) in a netCDF4
-file inadvertently <em>does</em> rename both:
+This bug caused renaming <em>either</em> a dimension <em>or</em> its
+assosiated coordinate variable (not both, which would fail as above) in
+a netCDF4 file to inadvertently rename both:
</p><div class="example">
<pre class="example"># Demonstate bug in netCDF4/HDF5 library prior to netCDF-4.3.1-rc5
ncks -O -h -m -M -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
@@ -15585,7 +15710,7 @@ of the hyperslab.
<a name="index-_002dI"></a>
Option ‘<samp>-I</samp>’ overrides this default behavior and causes
<code>ncwa</code> not to weight or mask coordinate variables
-<a name="DOCF65" href="#FOOT65"><sup>65</sup></a>.
+<a name="DOCF66" href="#FOOT66"><sup>66</sup></a>.
In the above case, this causes the value of <code>latitude</code> in the
<var>output-file</var> to be 45.0<!-- /@w -->, an appealing result.
Thus, ‘<samp>-I</samp>’ specifies simple arithmetic averages for the coordinate
@@ -15593,7 +15718,7 @@ variables.
In the case of latitude, ‘<samp>-I</samp>’ specifies that you prefer to archive
the arithmetic mean latitude of the averaged hyperslabs rather than the
area-weighted mean latitude.
-<a name="DOCF66" href="#FOOT66"><sup>66</sup></a>.
+<a name="DOCF67" href="#FOOT67"><sup>67</sup></a>.
</p>
<a name="index-average-1"></a>
<a name="index-operation-types-2"></a>
@@ -15637,7 +15762,7 @@ the ‘<samp>-B</samp>’ or ‘<samp>--mask_condition</samp>’
The older method is to use the three switches ‘<samp>-m</samp>’, ‘<samp>-T</samp>’, and
‘<samp>-M</samp>’ to specify the <var>mask_var</var>, <var>mask_comp</var>, and
<var>mask_val</var>, respectively.
-<a name="DOCF67" href="#FOOT67"><sup>67</sup></a>.
+<a name="DOCF68" href="#FOOT68"><sup>68</sup></a>.
The <var>mask_condition</var> string is automatically parsed into its three
constituents <var>mask_var</var>, <var>mask_comp</var>, and <var>mask_val</var>.
</p>
@@ -15767,7 +15892,7 @@ for the <samp>85_0112.nc</samp> file described by the sample header above.
<a name="index-climate-model-5"></a>
<p>Compute the meridional (latitudinal) mean, with values weighted by
the corresponding element of <var>gw</var>
-<a name="DOCF68" href="#FOOT68"><sup>68</sup></a>:
+<a name="DOCF69" href="#FOOT69"><sup>69</sup></a>:
</p><div class="example">
<pre class="example">ncwa -w gw -a lat in.nc out.nc
</pre></div>
@@ -15785,7 +15910,7 @@ The sum of the Gaussian weights is 2.0.<!-- /@w -->
<a name="index-climate-model-6"></a>
<p>Compute the area-mean over the globe using only points for which
<var>ORO</var> < 0.5
-<a name="DOCF69" href="#FOOT69"><sup>69</sup></a>:
+<a name="DOCF70" href="#FOOT70"><sup>70</sup></a>:
</p><div class="example">
<pre class="example">ncwa -B 'ORO < 0.5' -w gw -a lat,lon in.nc out.nc
ncwa -m ORO -M 0.5 -T lt -w gw -a lat,lon in.nc out.nc
@@ -15793,7 +15918,7 @@ ncwa -m ORO -M 0.5 -T lt -w gw -a lat,lon in.nc out.nc
<p>It is considerably simpler to specify the complete <var>mask_cond</var> with
the single string argument to ‘<samp>-B</samp>’ than with the three separate
switches ‘<samp>-m</samp>’, ‘<samp>-T</samp>’, and ‘<samp>-M</samp>’
-<a name="DOCF70" href="#FOOT70"><sup>70</sup></a>.
+<a name="DOCF71" href="#FOOT71"><sup>71</sup></a>.
If in doubt, enclose the <var>mask_cond</var> within quotes since some
of the comparators have special meanings to the shell.
</p>
@@ -15860,7 +15985,7 @@ contains more information on how to contribute.
<a href="https://www.paypal.com/xclick/business=zender%40uci.edu&item_name=NCO+development&item_number=nco_dnt_dvl&no_note=1&tax=0¤cy_code=USD">PayPal</a>.
<acronym>NCO</acronym> has been shared for over 10 years<!-- /@w --> yet only two
users have contributed any money to the developers
-<a name="DOCF71" href="#FOOT71"><sup>71</sup></a>.
+<a name="DOCF72" href="#FOOT72"><sup>72</sup></a>.
So you could be the third!
</p>
<a name="dvl"></a> <!-- http://nco.sf.net/nco.html#dvl -->
@@ -15916,7 +16041,7 @@ acknowledged separately below.
Since then autotools, bug-squashing, <acronym>CDL</acronym>, chunking,
documentation, anchoring, recursion, <acronym>GPE</acronym>, packing,
<acronym>NCO</acronym> library redesign, <code>ncap2</code> features,
-<code>ncbo</code>, <code>ncpdq</code>, SMP threading and MPI parallelization,
+<code>ncbo</code>, <code>ncpdq</code>, <acronym>SMP</acronym> threading and <acronym>MPI</acronym> parallelization,
netCDF4 integration, external funding, project management, science
research, releases.
<a name="index-Henry-Butowsky"></a>
@@ -18043,6 +18168,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d-_0028subtraction_0029"><code>-</code> (subtraction)</a>:</td><td> </td><td valign="top"><a href="#Intrinsic-mathematical-methods">Intrinsic mathematical methods</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002d3"><code>--3</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002d4"><code>--4</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002d5"><code>--5</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002d6"><code>--6</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002d64bit"><code>--64bit</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002d7"><code>--7</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
@@ -18181,8 +18307,13 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dcrd-1"><code>--no-crd</code></a>:</td><td> </td><td valign="top"><a href="#CF-Conventions">CF Conventions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dnoblank"><code>--noblank</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fblank"><code>--no_blank</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fblank-1"><code>--no_blank</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fcell_005fmethods"><code>--no_cell_methods</code></a>:</td><td> </td><td valign="top"><a href="#CF-Conventions">CF Conventions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fcll_005fmth"><code>--no_cll_mth</code></a>:</td><td> </td><td valign="top"><a href="#CF-Conventions">CF Conventions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fdmn_005fvar_005fnm"><code>--no_dmn_var_nm</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fdmn_005fvar_005fnm-1"><code>--no_dmn_var_nm</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fnm_005fprn"><code>--no_nm_prn</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005fnm_005fprn-1"><code>--no_nm_prn</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005frec_005fdmn-dim"><code>--no_rec_dmn <var>dim</var></code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005ftmp_005ffl"><code>--no_tmp_fl</code></a>:</td><td> </td><td valign="top"><a href="#Temporary-Output-Files">Temporary Output Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dno_005ftmp_005ffl-1"><code>--no_tmp_fl</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
@@ -18216,7 +18347,9 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d_002dpseudonym"><code>--pseudonym</code></a>:</td><td> </td><td valign="top"><a href="#Symbolic-Links">Symbolic Links</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dpth-input_002dpath"><code>--pth <var>input-path</var></code></a>:</td><td> </td><td valign="top"><a href="#Specifying-Input-Files">Specifying Input Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dpth-input_002dpath-1"><code>--pth <var>input-path</var></code></a>:</td><td> </td><td valign="top"><a href="#Remote-storage">Remote storage</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dquench"><code>--quench</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dquiet"><code>--quiet</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dquiet-1"><code>--quiet</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002drad"><code>--rad</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dram_005fall"><code>--ram_all</code></a>:</td><td> </td><td valign="top"><a href="#Memory-Requirements">Memory Requirements</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dram_005fall-1"><code>--ram_all</code></a>:</td><td> </td><td valign="top"><a href="#RAM-disks">RAM disks</a></td></tr>
@@ -18231,11 +18364,16 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d_002drth_005fdbl"><code>--rth_dbl</code></a>:</td><td> </td><td valign="top"><a href="#Promoting-Single_002dprecision-to-Double">Promoting Single-precision to Double</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002drth_005fflt"><code>--rth_flt</code></a>:</td><td> </td><td valign="top"><a href="#Promoting-Single_002dprecision-to-Double">Promoting Single-precision to Double</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002drtn"><code>--rtn</code></a>:</td><td> </td><td valign="top"><a href="#Retaining-Retrieved-Files">Retaining Retrieved Files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dscr"><code>--scr</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dscript"><code>--script</code></a>:</td><td> </td><td valign="top"><a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dscript_002dfile"><code>--script-file</code></a>:</td><td> </td><td valign="top"><a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dsecret"><code>--secret</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dsng_005ffmt"><code>--sng_fmt</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dsng_005ffmt-1"><code>--sng_fmt</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dspt"><code>--spt</code></a>:</td><td> </td><td valign="top"><a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dssh"><code>--ssh</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dstring"><code>--string</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dstring-1"><code>--string</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dthreads-thr_005fnbr"><code>--threads <var>thr_nbr</var></code></a>:</td><td> </td><td valign="top"><a href="#OpenMP-Threading">OpenMP Threading</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dthr_005fnbr-thr_005fnbr"><code>--thr_nbr <var>thr_nbr</var></code></a>:</td><td> </td><td valign="top"><a href="#OpenMP-Threading">OpenMP Threading</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dulm_005fnm-ulm_005fnm">‘<samp>--ulm_nm <var>ulm_nm</var></samp>’</a>:</td><td> </td><td valign="top"><a href="#ncecat-netCDF-Ensemble-Concatenator">ncecat netCDF Ensemble Concatenator</a></td></tr>
@@ -18248,6 +18386,8 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d_002dupk"><code>--upk</code></a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dvariable-var"><code>--variable <var>var</var></code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dvariable-var-1"><code>--variable <var>var</var></code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_005fval"><code>--var_val</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_005fval-1"><code>--var_val</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td valign="top"><a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dversion-1"><code>--version</code></a>:</td><td> </td><td valign="top"><a href="#Operator-Version">Operator Version</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dvrs"><code>--vrs</code></a>:</td><td> </td><td valign="top"><a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a></td></tr>
@@ -18264,11 +18404,13 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002d_002dxml_005fno_005flocation"><code>--xml_no_location</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dxml_005fspr_005fchr"><code>--xml_spr_chr</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d_002dxml_005fspr_005fnmr"><code>--xml_spr_nmr</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d0"><code>-0</code></a>:</td><td> </td><td valign="top"><a href="#Hyperslabs">Hyperslabs</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d3"><code>-3</code></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d3-1"><code>-3</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d4"><code>-4</code></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d4-1"><code>-4</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002d5"><code>-5</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d5"><code>-5</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002d5-1"><code>-5</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d6"><code>-6</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002d7"><code>-7</code></a>:</td><td> </td><td valign="top"><a href="#File-Formats-and-Conversion">File Formats and Conversion</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dA"><code>-A</code></a>:</td><td> </td><td valign="top"><a href="#Temporary-Output-Files">Temporary Output Files</a></td></tr>
@@ -18331,16 +18473,20 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_002dP-pck_005fplc"><code>-P <var>pck_plc</var></code></a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dQ"><code>-Q</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dq"><code>-q</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dQ-1"><code>-Q</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dr"><code>-r</code></a>:</td><td> </td><td valign="top"><a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dr-1"><code>-r</code></a>:</td><td> </td><td valign="top"><a href="#Help-Requests-and-Bug-Reports">Help Requests and Bug Reports</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dR"><code>-R</code></a>:</td><td> </td><td valign="top"><a href="#Retaining-Retrieved-Files">Retaining Retrieved Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dr-2"><code>-r</code></a>:</td><td> </td><td valign="top"><a href="#Operator-Version">Operator Version</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002ds"><code>-s</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002ds-1"><code>-s</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dt-thr_005fnbr"><code>-t <var>thr_nbr</var></code></a>:</td><td> </td><td valign="top"><a href="#Single-and-Multi_002dfile-Operators">Single and Multi-file Operators</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dt-thr_005fnbr-1"><code>-t <var>thr_nbr</var></code></a>:</td><td> </td><td valign="top"><a href="#OpenMP-Threading">OpenMP Threading</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002du"><code>-u</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dU"><code>-U</code></a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002du-ulm_005fnm">‘<samp>-u <var>ulm_nm</var></samp>’</a>:</td><td> </td><td valign="top"><a href="#ncecat-netCDF-Ensemble-Concatenator">ncecat netCDF Ensemble Concatenator</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dV"><code>-V</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dV-1"><code>-V</code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dv">‘<samp>-v</samp>’</a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dv-var"><code>-v <var>var</var></code></a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dv-var-1"><code>-v <var>var</var></code></a>:</td><td> </td><td valign="top"><a href="#Filters-for-ncks">Filters for <code>ncks</code></a></td></tr>
@@ -18434,6 +18580,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-_005fFormat"><code>_Format</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005fNOFILL"><code>_NOFILL</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005fShuffle"><code>_Shuffle</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005fSOURCE_005fFORMAT"><code>_SOURCE_FORMAT</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_005fStorage"><code>_Storage</code></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="General-Index_cp_symbol-23">|</a></th><td></td><td></td></tr>
@@ -19006,6 +19153,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-HDF-unpacking"><acronym>HDF</acronym> unpacking</a>:</td><td> </td><td valign="top"><a href="#Packed-data">Packed data</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HDF4"><acronym>HDF4</acronym></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HDF4-1"><acronym>HDF4</acronym></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-HDF4_005fUNKNOWN"><code>HDF4_UNKNOWN</code></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HDF5"><acronym>HDF5</acronym></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-HDF5-1"><acronym>HDF5</acronym></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-hdf_005fname"><code>hdf_name</code></a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
@@ -19015,6 +19163,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-hgh_005fbyt">‘<samp>hgh_byt</samp>’</a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-hgh_005fsht">‘<samp>hgh_sht</samp>’</a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-hidden-attributes">hidden attributes</a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-hidden-features">hidden features</a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Hierarchical-Data-Format">Hierarchical Data Format</a>:</td><td> </td><td valign="top"><a href="#netCDF2_002f3_002f4-and-HDF4_002f5-Support">netCDF2/3/4 and HDF4/5 Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history"><code>history</code></a>:</td><td> </td><td valign="top"><a href="#Large-Numbers-of-Files">Large Numbers of Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history-1"><code>history</code></a>:</td><td> </td><td valign="top"><a href="#Remote-storage">Remote storage</a></td></tr>
@@ -19125,8 +19274,8 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-Len-Makin">Len Makin</a>:</td><td> </td><td valign="top"><a href="#Contributors">Contributors</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-lexer">lexer</a>:</td><td> </td><td valign="top"><a href="#ncap2-netCDF-Arithmetic-Processor">ncap2 netCDF Arithmetic Processor</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-lfp">‘<samp>lfp</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LFS">LFS</a>:</td><td> </td><td valign="top"><a href="#Large-Datasets">Large Datasets</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LFS-1">LFS</a>:</td><td> </td><td valign="top"><a href="#Large-File-Support">Large File Support</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-LFS"><acronym>LFS</acronym></a>:</td><td> </td><td valign="top"><a href="#Large-Datasets">Large Datasets</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-LFS-1"><acronym>LFS</acronym></a>:</td><td> </td><td valign="top"><a href="#Large-File-Support">Large File Support</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-LHS"><acronym>LHS</acronym></a>:</td><td> </td><td valign="top"><a href="#Left-hand-casting">Left hand casting</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-libnco"><code>libnco</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-libraries">libraries</a>:</td><td> </td><td valign="top"><a href="#Libraries">Libraries</a></td></tr>
@@ -19421,7 +19570,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-nrnet"><code>nrnet</code></a>:</td><td> </td><td valign="top"><a href="#Remote-storage">Remote storage</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-NSF"><acronym>NSF</acronym></a>:</td><td> </td><td valign="top"><a href="#Proposals-for-Institutional-Funding">Proposals for Institutional Funding</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-NSF-1"><acronym>NSF</acronym></a>:</td><td> </td><td valign="top"><a href="#Proposals-for-Institutional-Funding">Proposals for Institutional Funding</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-NT-_0028Microsoft-operating-system_0029">NT (Microsoft operating system)</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-NT-_0028Microsoft-operating-system_0029"><acronym>NT</acronym> (Microsoft operating system)</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-NUL">NUL</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-NUL-1"><code>NUL</code></a>:</td><td> </td><td valign="top"><a href="#ncpdq-netCDF-Permute-Dimensions-Quickly">ncpdq netCDF Permute Dimensions Quickly</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-NUL_002dtermination">NUL-termination</a>:</td><td> </td><td valign="top"><a href="#ncatted-netCDF-Attribute-Editor">ncatted netCDF Attribute Editor</a></td></tr>
@@ -19559,8 +19708,8 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-QLogic">QLogic</a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Qt">Qt</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-quadruple_002dprecision">quadruple-precision</a>:</td><td> </td><td valign="top"><a href="#Intrinsic-mathematical-methods">Intrinsic mathematical methods</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-quench">quench</a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Quick-Start">Quick Start</a>:</td><td> </td><td valign="top"><a href="#Quick-Start">Quick Start</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-quiet">quiet</a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-quotes">quotes</a>:</td><td> </td><td valign="top"><a href="#Subsetting-Files">Subsetting Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-quotes-1">quotes</a>:</td><td> </td><td valign="top"><a href="#Examples-ncap2">Examples ncap2</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-quotes-2">quotes</a>:</td><td> </td><td valign="top"><a href="#ncbo-netCDF-Binary-Operator">ncbo netCDF Binary Operator</a></td></tr>
@@ -19908,7 +20057,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-wrapped-filenames">wrapped filenames</a>:</td><td> </td><td valign="top"><a href="#Specifying-Input-Files">Specifying Input Files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-WRF"><acronym>WRF</acronym></a>:</td><td> </td><td valign="top"><a href="#Irregular-grids">Irregular grids</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-WRF-_0028Weather-and-Research-Forecast-Model_0029"><acronym>WRF</acronym> (Weather and Research Forecast Model)</a>:</td><td> </td><td valign="top"><a href="#Where-statement">Where statement</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-WWW-documentation">WWW documentation</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-WWW-documentation"><acronym>WWW</acronym> documentation</a>:</td><td> </td><td valign="top"><a href="#Availability">Availability</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="General-Index_cp_letter-X">X</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-xargs"><code>xargs</code></a>:</td><td> </td><td valign="top"><a href="#Large-Numbers-of-Files">Large Numbers of Files</a></td></tr>
@@ -19916,7 +20065,7 @@ Previous: <a href="#mybibnode" accesskey="p" rel="previous">mybibnode</a>, Up: <
<tr><td></td><td valign="top"><a href="#index-xlC"><code>xlC</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-xlc"><code>xlc</code></a>:</td><td> </td><td valign="top"><a href="#Compatability">Compatability</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-XML"><acronym>XML</acronym></a>:</td><td> </td><td valign="top"><a href="#ncks-netCDF-Kitchen-Sink">ncks netCDF Kitchen Sink</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-XP-_0028Microsoft-operating-system_0029">XP (Microsoft operating system)</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-XP-_0028Microsoft-operating-system_0029"><acronym>XP</acronym> (Microsoft operating system)</a>:</td><td> </td><td valign="top"><a href="#Windows-Operating-System">Windows Operating System</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-xpl">‘<samp>xpl</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-xst">‘<samp>xst</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-xst-1">‘<samp>xst</samp>’</a>:</td><td> </td><td valign="top"><a href="#Chunking">Chunking</a></td></tr>
@@ -20114,7 +20263,7 @@ exceptions to this rule.
See <a href="#ncrename-netCDF-Renamer">ncrename netCDF Renamer</a>.</p>
<h3><a name="FOOT12" href="#DOCF12">(12)</a></h3>
<p>The OS-specific system move command is used.
-This is <code>mv</code> for UNIX, and <code>move</code> for Windows.</p>
+This is <code>mv</code> for <acronym>UNIX</acronym>, and <code>move</code> for Windows.</p>
<h3><a name="FOOT13" href="#DOCF13">(13)</a></h3>
<p>The terminology <em>merging</em> is
reserved for an (unwritten) operator which replaces hyperslabs of a
@@ -20230,7 +20379,7 @@ network-transparent data access.
<acronym>OPeNDAP</acronym> has many other features, including sophisticated
hyperslabbing and server-side processing via <em>constraint expressions</em>.
If you know more about this, please consider writing a section
-on "<acronym>OPeNDAP</acronym> Capabilities of Interest to <acronym>NCO</acronym> Users"
+on “<acronym>OPeNDAP</acronym> Capabilities of Interest to <acronym>NCO</acronym> Users”
for incorporation in the <cite>NCO User Guide</cite>.</p>
<h3><a name="FOOT27" href="#DOCF27">(27)</a></h3>
<p>For example, <acronym>DAP</acronym> servers do not like variables with
@@ -20244,57 +20393,60 @@ Such names may cause the <acronym>DAP</acronym> service to fail because
files include great features of both netCDF3 (compatibility) and
netCDF4 (compression, chunking) and, well, <em>3+4=7</em>.</p>
<h3><a name="FOOT29" href="#DOCF29">(29)</a></h3>
-<p>Linux and <acronym>AIX</acronym> do support <acronym>LFS</acronym>.</p>
+<p>The switches ‘<samp>-5</samp>’, ‘<samp>--5</samp>’, and ‘<samp>pnetcdf</samp>’ are
+reserved for PnetCDF files, i.e., <code>NC_FORMAT_PNETCDF</code>.</p>
<h3><a name="FOOT30" href="#DOCF30">(30)</a></h3>
+<p>Linux and <acronym>AIX</acronym> do support <acronym>LFS</acronym>.</p>
+<h3><a name="FOOT31" href="#DOCF31">(31)</a></h3>
<p>Intersection-mode can also be explicitly invoked with the ‘<samp>--nsx</samp>’
or ‘<samp>--intersection</samp>’ switches.
These switches are supplied for clarity and consistency and do
absolutely nothing since intersection-mode is the default.</p>
-<h3><a name="FOOT31" href="#DOCF31">(31)</a></h3>
+<h3><a name="FOOT32" href="#DOCF32">(32)</a></h3>
<p>Note that the <samp>-3</samp> switch should appear <em>after</em> the
<samp>-G</samp> and <samp>-g</samp> switches.
This is due to an artifact of the <acronym>GPE</acronym> implementation which we
wish to remove in the future.</p>
-<h3><a name="FOOT32" href="#DOCF32">(32)</a></h3>
+<h3><a name="FOOT33" href="#DOCF33">(33)</a></h3>
<p>CFchecker is developed by Michael Decker and Martin Schultz at
Forschungszentrum Jülich and distributed at
<a href="https://bitbucket.org/mde_/cfchecker">https://bitbucket.org/mde_/cfchecker</a>.</p>
-<h3><a name="FOOT33" href="#DOCF33">(33)</a></h3>
+<h3><a name="FOOT34" href="#DOCF34">(34)</a></h3>
<p>When originally released in 2012 this was called the
<em>duration feature</em>, and was abbreviated <acronym>DRN</acronym>.</p>
-<h3><a name="FOOT34" href="#DOCF34">(34)</a></h3>
+<h3><a name="FOOT35" href="#DOCF35">(35)</a></h3>
<p>The old functionality, i.e., where the ignored values are indicated by
<code>missing_value</code> not <code>_FillValue</code>, may still be selected
<em>at <acronym>NCO</acronym> build time</em> by compiling <acronym>NCO</acronym>
with the token definition
<kbd>CPPFLAGS='-UNCO_USE_FILL_VALUE'</kbd>.
</p>
-<h3><a name="FOOT35" href="#DOCF35">(35)</a></h3>
+<h3><a name="FOOT36" href="#DOCF36">(36)</a></h3>
<p>For example, the <acronym>DOE</acronym> <acronym>ARM</acronym> program often
uses <var>att_type</var> = <code>NC_CHAR</code> and <var>_FillValue</var> =
‘<samp>-99999.</samp>’.
</p>
-<h3><a name="FOOT36" href="#DOCF36">(36)</a></h3>
+<h3><a name="FOOT37" href="#DOCF37">(37)</a></h3>
<p>On modern Linux systems the block size defaults to 8192 B<!-- /@w -->.
The GLADE filesystem at NCAR has a block size of 512 kB<!-- /@w -->.</p>
-<h3><a name="FOOT37" href="#DOCF37">(37)</a></h3>
+<h3><a name="FOOT38" href="#DOCF38">(38)</a></h3>
<p>Although not a part of the standard, <acronym>NCO</acronym> enforces
the policy that the <code>_FillValue</code> attribute, if any, of a packed
variable is also stored at the original precision.</p>
-<h3><a name="FOOT38" href="#DOCF38">(38)</a></h3>
+<h3><a name="FOOT39" href="#DOCF39">(39)</a></h3>
<p><em>32767 = 2^15-1</em>
</p>
-<h3><a name="FOOT39" href="#DOCF39">(39)</a></h3>
+<h3><a name="FOOT40" href="#DOCF40">(40)</a></h3>
<p>Operators began performing automatic type conversions before
arithmetic in <acronym>NCO</acronym> version 1.2<!-- /@w -->, August, 2000.
Previous versions never performed unnecessary type conversion for
arithmetic.</p>
-<h3><a name="FOOT40" href="#DOCF40">(40)</a></h3>
+<h3><a name="FOOT41" href="#DOCF41">(41)</a></h3>
<a name="index-C-language-2"></a>
<p>The actual type conversions with trunction were handled by intrinsic
type conversion, so the <code>trunc()</code> function was never explicitly
called, although the results would be the same if it were.</p>
-<h3><a name="FOOT41" href="#DOCF41">(41)</a></h3>
+<h3><a name="FOOT42" href="#DOCF42">(42)</a></h3>
<p>According to Wikipedia’s summary of <acronym>IEEE</acronym> standard
754, “If a decimal string with at most 6 significant digits is
converted to <acronym>IEEE</acronym> 754 single-precision and then converted back to the
@@ -20302,7 +20454,7 @@ same number of significant decimal, then the final string should match
the original; and if an <acronym>IEEE</acronym> 754 single-precision is converted to a
decimal string with at least 9 significant decimal and then converted
back to single, then the final number must match the original”.</p>
-<h3><a name="FOOT42" href="#DOCF42">(42)</a></h3>
+<h3><a name="FOOT43" href="#DOCF43">(43)</a></h3>
<p>According to Wikipedia’s summary of <acronym>IEEE</acronym> standard
754, “If a decimal string with at most 15 significant digits is
converted to <acronym>IEEE</acronym> 754 double-precision representation and then converted
@@ -20311,7 +20463,7 @@ final string should match the original; and if an <acronym>IEEE</acronym> 754 do
precision is converted to a decimal string with at least 17 significant
digits and then converted back to double, then the final number must
match the original”.</p>
-<h3><a name="FOOT43" href="#DOCF43">(43)</a></h3>
+<h3><a name="FOOT44" href="#DOCF44">(44)</a></h3>
<p>See page 21<!-- /@w --> in Section 1.2 of the First edition for this
gem:
</p><blockquote>
@@ -20320,19 +20472,19 @@ that the implicit conversion rules are, in fact, sheer madness!
In effect, they make it impossible to write efficient numerical
programs.
</p></blockquote>
-<h3><a name="FOOT44" href="#DOCF44">(44)</a></h3>
+<h3><a name="FOOT45" href="#DOCF45">(45)</a></h3>
<p>For example, the <acronym>CMIP5</acronym> archive tends to distribute
monthly average timeseries in 50-year chunks.</p>
-<h3><a name="FOOT45" href="#DOCF45">(45)</a></h3>
+<h3><a name="FOOT46" href="#DOCF46">(46)</a></h3>
<a name="index-Michael-Prather"></a>
<p>Thanks to Michael J.<!-- /@w --> Prather for explaining this to me.</p>
-<h3><a name="FOOT46" href="#DOCF46">(46)</a></h3>
+<h3><a name="FOOT47" href="#DOCF47">(47)</a></h3>
<p>The exception is appending/altering the attributes <code>x_op</code>,
<code>y_op</code>, <code>z_op</code>, and <code>t_op</code> for variables which have been
averaged across space and time dimensions.
This feature is scheduled for future inclusion in <acronym>NCO</acronym>.
</p>
-<h3><a name="FOOT47" href="#DOCF47">(47)</a></h3>
+<h3><a name="FOOT48" href="#DOCF48">(48)</a></h3>
<p>The <acronym>CF</acronym> conventions recommend <code>time</code> be stored in the
format <var>time</var> since <var>base_time</var>, e.g., the <code>units</code>
attribute of <code>time</code> might be
@@ -20347,21 +20499,21 @@ The analogous problem has been fixed in <acronym>ARM</acronym> files
(see <a href="#ARM-Conventions">ARM Conventions</a>) and could be fixed for <acronym>CF</acronym> files if
there is sufficient lobbying.
</p>
-<h3><a name="FOOT48" href="#DOCF48">(48)</a></h3>
+<h3><a name="FOOT49" href="#DOCF49">(49)</a></h3>
<p><code>ncap2</code> is the successor to <code>ncap</code> which was
put into maintenance mode in November, 2006.
This documentation refers to <code>ncap2</code>, which has a superset of
the <code>ncap</code> functionality.
Eventually <code>ncap</code> will be deprecated in favor <code>ncap2</code>.
<code>ncap2</code> may be renamed <code>ncap</code> in 2013.</p>
-<h3><a name="FOOT49" href="#DOCF49">(49)</a></h3>
+<h3><a name="FOOT50" href="#DOCF50">(50)</a></h3>
<p>These are the <acronym>GSL</acronym> standard function names postfixed with
<code>_e</code>.
<acronym>NCO</acronym> calls these functions automatically, without the
<acronym>NCO</acronym> command having to specifically indicate the <code>_e</code>
function suffix.
</p>
-<h3><a name="FOOT50" href="#DOCF50">(50)</a></h3>
+<h3><a name="FOOT51" href="#DOCF51">(51)</a></h3>
<p>ANSI C<!-- /@w --> compilers are guaranteed to support double-precision versions
of these functions.
These functions normally operate on netCDF variables of type <code>NC_DOUBLE</code>
@@ -20378,22 +20530,22 @@ performing the operation, and then re-casting.
<acronym>NCO</acronym> uses the faster intrinsic functions when they are
available, and uses the casting method when they are not.
</p>
-<h3><a name="FOOT51" href="#DOCF51">(51)</a></h3>
+<h3><a name="FOOT52" href="#DOCF52">(52)</a></h3>
<p>Linux supports more of these intrinsic functions than
other OSs.</p>
-<h3><a name="FOOT52" href="#DOCF52">(52)</a></h3>
+<h3><a name="FOOT53" href="#DOCF53">(53)</a></h3>
<p>Arithmetic comparisons to NaN and NaN-like numbers always
return False, contrary to the behavior of all other numbers.
This is difficult to inuit, yet is the behavior defined for NaN by
<acronym>IEEE</acronym> 754.
Using NaN for the missing value in datasets is legal.
We strongly discourage it.</p>
-<h3><a name="FOOT53" href="#DOCF53">(53)</a></h3>
+<h3><a name="FOOT54" href="#DOCF54">(54)</a></h3>
<p>A naked<!-- /@w --> (i.e., unprotected or unquoted) ‘<samp>*</samp>’ is a
wildcard character.
A naked<!-- /@w --> ‘<samp>-</samp>’ may confuse the command line parser.
A naked<!-- /@w --> ‘<samp>+</samp>’ and ‘<samp>/</samp>’ are relatively harmless.</p>
-<h3><a name="FOOT54" href="#DOCF54">(54)</a></h3>
+<h3><a name="FOOT55" href="#DOCF55">(55)</a></h3>
<p>The widely used shell Bash correctly interprets all these
special characters even when they are not quoted.
That is, Bash does not prevent <acronym>NCO</acronym> from correctly interpreting
@@ -20401,30 +20553,30 @@ the intended arithmetic operation when the following arguments are given
(without quotes) to <code>ncbo</code>:
‘<samp>--op_typ=+</samp>’, ‘<samp>--op_typ=-</samp>’, ‘<samp>--op_typ=*</samp>’,
and ‘<samp>--op_typ=/</samp>’</p>
-<h3><a name="FOOT55" href="#DOCF55">(55)</a></h3>
-<p>The command to do this is ‘<samp>ln -s -f ncbo ncadd</samp>’</p>
<h3><a name="FOOT56" href="#DOCF56">(56)</a></h3>
-<p>The command to do this is ‘<samp>alias ncadd='ncbo --op_typ=add'</samp>’</p>
+<p>The command to do this is ‘<samp>ln -s -f ncbo ncadd</samp>’</p>
<h3><a name="FOOT57" href="#DOCF57">(57)</a></h3>
+<p>The command to do this is ‘<samp>alias ncadd='ncbo --op_typ=add'</samp>’</p>
+<h3><a name="FOOT58" href="#DOCF58">(58)</a></h3>
<p>Prior to <acronym>NCO</acronym> version 4.3.1 (May, 2013), <code>ncbo</code>
would only broadcast variables in <var>file_2</var> to conform to
<var>file_1</var>.
Variables in <var>file_1</var> were <em>never</em> broadcast to conform to the
dimensions in <var>file_2</var>.</p>
-<h3><a name="FOOT58" href="#DOCF58">(58)</a></h3>
+<h3><a name="FOOT59" href="#DOCF59">(59)</a></h3>
<p>This is because <code>ncra</code> collapses the record dimension
to a size of 1<!-- /@w --> (making it a <em>degenerate</em> dimension), but does
not remove it, while, unless ‘<samp>-b</samp>’ is given, <code>ncwa</code> removes
all averaged dimensions.
In other words, by default <code>ncra</code> changes variable size though
not rank, while, <code>ncwa</code> changes both variable size and rank.</p>
-<h3><a name="FOOT59" href="#DOCF59">(59)</a></h3>
+<h3><a name="FOOT60" href="#DOCF60">(60)</a></h3>
<p>The old ncea command was deprecated in <acronym>NCO</acronym> version 4.3.9,
released December, 2013.
<acronym>NCO</acronym> will attempt to maintain back-compatibility and work
as expected with invocations of <code>ncea</code> for as long as possible.
Please replace <code>ncea</code> by <code>nces</code> in all future work.</p>
-<h3><a name="FOOT60" href="#DOCF60">(60)</a></h3>
+<h3><a name="FOOT61" href="#DOCF61">(61)</a></h3>
<p>As of <acronym>NCO</acronym> version 4.4.2 (released February, 2014)
<code>nces</code> allows hyperslabs in all dimensions so long as the
hyperslabs resolve to the same size.
@@ -20434,7 +20586,7 @@ the hypserslabs may (and usually do) change the size of the dimensions
from the input to the output files.
Prior to this, <code>nces</code> was only guaranteed to work on hyperslabs
in the record dimension that resolved to the same size.</p>
-<h3><a name="FOOT61" href="#DOCF61">(61)</a></h3>
+<h3><a name="FOOT62" href="#DOCF62">(62)</a></h3>
<p>Those familiar with netCDF mechanics might wish to know what is
happening here: <code>ncks</code> does not attempt to redefine the variable
in <var>output-file</var> to match its definition in <var>input-file</var>,
@@ -20442,10 +20594,10 @@ in <var>output-file</var> to match its definition in <var>input-file</var>,
coordinate dimensions, if any, from <var>input-file</var> to
<var>output-file</var>.
</p>
-<h3><a name="FOOT62" href="#DOCF62">(62)</a></h3>
+<h3><a name="FOOT63" href="#DOCF63">(63)</a></h3>
<p>This limitation, imposed by the netCDF storage layer,
may be relaxed in the future with netCDF4.</p>
-<h3><a name="FOOT63" href="#DOCF63">(63)</a></h3>
+<h3><a name="FOOT64" href="#DOCF64">(64)</a></h3>
<p>Prior to <acronym>NCO</acronym> 4.4.0 and netCDF 4.3.1 (January, 2014),
<acronym>NCO</acronym> requires the ‘<samp>--hdf4</samp>’ switch to correctly read
HDF4 input files.
@@ -20457,38 +20609,38 @@ software necessary to workaround netCDF library flaws handling
<acronym>HDF4</acronym> files to netCDF files.
In those cases, use the <code>ncl_convert2nc</code> command distributed
with <acronym>NCL</acronym> to convert <acronym>HDF4</acronym> files to netCDF.</p>
-<h3><a name="FOOT64" href="#DOCF64">(64)</a></h3>
+<h3><a name="FOOT65" href="#DOCF65">(65)</a></h3>
<p><code>ncpdq</code> does not support packing data using the
<acronym>HDF</acronym> convention.
Although it is now straightforward to support this, we think it might
sow more confusion than it reaps.
Let us know if you disagree and would like <acronym>NCO</acronym> to support
packing data with <acronym>HDF</acronym> algorithm.</p>
-<h3><a name="FOOT65" href="#DOCF65">(65)</a></h3>
+<h3><a name="FOOT66" href="#DOCF66">(66)</a></h3>
<p>The default behavior of (‘<samp>-I</samp>’) changed on
19981201—before this date the default was not to weight or mask
coordinate variables.</p>
-<h3><a name="FOOT66" href="#DOCF66">(66)</a></h3>
+<h3><a name="FOOT67" href="#DOCF67">(67)</a></h3>
<p>If <code>lat_wgt</code> contains Gaussian weights then the value of
<code>latitude</code> in the <var>output-file</var> will be the area-weighted
centroid of the hyperslab.
For the example given, this is about 30 degrees.<!-- /@w --></p>
-<h3><a name="FOOT67" href="#DOCF67">(67)</a></h3>
+<h3><a name="FOOT68" href="#DOCF68">(68)</a></h3>
<p>The three switches ‘<samp>-m</samp>’, ‘<samp>-T</samp>’, and ‘<samp>-M</samp>’ are
maintained for backward compatibility and may be deprecated in the
future.
It is safest to write scripts using ‘<samp>--mask_condition</samp>’.</p>
-<h3><a name="FOOT68" href="#DOCF68">(68)</a></h3>
+<h3><a name="FOOT69" href="#DOCF69">(69)</a></h3>
<p><code>gw</code> stands for <em>Gaussian weight</em> in many
climate models.</p>
-<h3><a name="FOOT69" href="#DOCF69">(69)</a></h3>
+<h3><a name="FOOT70" href="#DOCF70">(70)</a></h3>
<p><code>ORO</code> stands for <em>Orography</em> in some climate models
and in those models <em><var>ORO</var> < 0.5</em> selects ocean gridpoints.</p>
-<h3><a name="FOOT70" href="#DOCF70">(70)</a></h3>
+<h3><a name="FOOT71" href="#DOCF71">(71)</a></h3>
<p>Unfortunately the ‘<samp>-B</samp>’ and ‘<samp>--mask_condition</samp>’
options are unsupported on Windows (with the <acronym>MVS</acronym> compiler),
which lacks a free, standard parser and lexer.</p>
-<h3><a name="FOOT71" href="#DOCF71">(71)</a></h3>
+<h3><a name="FOOT72" href="#DOCF72">(72)</a></h3>
<a name="index-chocolate"></a>
<p>Happy users have sent me a few gifts, though.
This includes a box of imported chocolate.
diff --git a/doc/nco.pdf b/doc/nco.pdf
index 19982c3..dce101b 100644
Binary files a/doc/nco.pdf and b/doc/nco.pdf differ
diff --git a/doc/nco.ps b/doc/nco.ps
index 67212dd..bc616a5 100644
--- a/doc/nco.ps
+++ b/doc/nco.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software
%%Title: nco.dvi
-%%CreationDate: Fri Aug 22 19:30:58 2014
+%%CreationDate: Wed Oct 1 09:05:43 2014
%%Pages: 274
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
@@ -13,7 +13,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o nco.ps nco.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2014.08.22:1930
+%DVIPSSource: TeX output 2014.10.01:0905
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -11449,8 +11449,8 @@ ifelse
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a FE(NCO)65 b(User)h(Guide)p
150 1385 3600 34 v 2607 1481 a FD(A)31 b(suite)f(of)h(netCDF)g(op)s
-(erators)2316 1589 y(Edition)f(4.4.5,)j(for)d FC(NCO)g
-FD(V)-8 b(ersion)31 b(4.4.5)3367 1697 y(July)f(2014)150
+(erators)2316 1589 y(Edition)f(4.4.6,)j(for)d FC(NCO)g
+FD(V)-8 b(ersion)31 b(4.4.6)3217 1697 y(Octob)s(er)f(2014)150
4802 y FB(b)l(y)45 b(Charlie)h(Zender)150 4935 y(Departmen)l(t)g(of)g
(Earth)f(System)g(Science)150 5068 y(Univ)l(ersit)l(y)i(of)e
(California,)i(Irvine)p 150 5141 3600 17 v eop end
@@ -11619,7 +11619,7 @@ g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
end
%%Page: -2 4
TeXDict begin -2 3 bop 150 -116 a FD(ii)2667 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)399 83 y(3.9.1)93 b(File)31
+b FD(4.4.6)j(User)d(Guide)399 83 y(3.9.1)93 b(File)31
b(F)-8 b(ormats)22 b Fv(:)17 b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52
@@ -11670,7 +11670,7 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
b Fv(:)15 b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)38 b FD(56)275 1727 y(3.17)92 b(Record)31
+(:)g(:)h(:)f(:)h(:)38 b FD(57)275 1727 y(3.17)92 b(Record)31
b(App)s(ending)18 b Fv(:)c(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48
@@ -11703,7 +11703,7 @@ b FD(70)275 2604 y(3.25)92 b(Missing)31 b(v)-5 b(alues)24
b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)53
-b FD(70)275 2713 y(3.26)92 b(Ch)m(unking)16 b Fv(:)f(:)g(:)h(:)f(:)g(:)
+b FD(71)275 2713 y(3.26)92 b(Ch)m(unking)16 b Fv(:)f(:)g(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b FD(72)275
@@ -11714,7 +11714,7 @@ f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
y(3.28)92 b(MD5)32 b(digests)20 b Fv(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)50 b FD(77)275 3042 y(3.29)92 b(Bu\013er)30
+g(:)h(:)f(:)h(:)f(:)50 b FD(78)275 3042 y(3.29)92 b(Bu\013er)30
b(sizes)23 b Fv(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
@@ -11722,27 +11722,27 @@ g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
b Fv(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)56
-b FD(79)275 3261 y(3.31)92 b(P)m(ac)m(k)m(ed)32 b(data)27
+b FD(80)275 3261 y(3.31)92 b(P)m(ac)m(k)m(ed)32 b(data)27
b Fv(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56
b FD(81)399 3371 y(P)m(ac)m(king)32 b(Algorithm)19 b
Fv(:)e(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b FD(81)399
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b FD(82)399
3480 y(Unpac)m(king)31 b(Algorithm)26 b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)54 b FD(82)399 3590 y(Default)32 b(Handling)e(of)h(P)m(ac)m(k)m
(ed)h(Data)14 b Fv(:)j(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)44 b FD(82)399 3699 y(Default)32 b(Handling)e(of)h(P)m(ac)m(k)m(ed)
+f(:)44 b FD(83)399 3699 y(Default)32 b(Handling)e(of)h(P)m(ac)m(k)m(ed)
h(Data)14 b Fv(:)j(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
44 b FD(83)275 3809 y(3.32)92 b(Op)s(eration)30 b(T)m(yp)s(es)14
b Fv(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43 b FD(83)275
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43 b FD(84)275
3919 y(3.33)92 b(T)m(yp)s(e)30 b(Con)m(v)m(ersion)14
b Fv(:)h(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
@@ -11752,11 +11752,11 @@ b Fv(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50
b FD(89)399 4138 y(3.33.2)93 b(Promoting)31 b(Single-precision)h(to)f
(Double)12 b Fv(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)41 b FD(90)399 4247 y(3.33.3)93
+(:)f(:)g(:)h(:)f(:)h(:)41 b FD(91)399 4247 y(3.33.3)93
b(Man)m(ual)32 b(t)m(yp)s(e)e(con)m(v)m(ersion)22 b Fv(:)17
b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52
-b FD(96)275 4357 y(3.34)92 b(Batc)m(h)32 b(Mo)s(de)26
+b FD(97)275 4357 y(3.34)92 b(Batc)m(h)32 b(Mo)s(de)26
b Fv(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56
@@ -11767,7 +11767,7 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b FD(97)275
4576 y(3.36)92 b(File)32 b(List)e(A)m(ttributes)24 b
Fv(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)53 b FD(97)275 4686 y(3.37)92
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)53 b FD(98)275 4686 y(3.37)92
b FC(CF)31 b FD(Con)m(v)m(en)m(tions)15 b Fv(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
@@ -11775,7 +11775,7 @@ g(:)h(:)f(:)h(:)44 b FD(98)275 4795 y(3.38)92 b FC(ARM)31
b FD(Con)m(v)m(en)m(tions)10 b Fv(:)16 b(:)g(:)f(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b FD(100)275 4905 y(3.39)92 b(Op)s(erator)30 b(V)-8 b(ersion)25
+b FD(101)275 4905 y(3.39)92 b(Op)s(erator)30 b(V)-8 b(ersion)25
b Fv(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)55 b FD(101)p eop
@@ -11905,35 +11905,35 @@ b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
f(:)g(:)h(:)f(:)h(:)54 b FD(184)275 4165 y(4.8)92 b Fy(ncpdq)29
b FD(netCDF)i(P)m(erm)m(ute)g(Dimensions)f(Quic)m(kly)f
Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)58 b FD(189)399 4275 y(P)m(ac)m(king)32 b(and)e(Unpac)m(king)h(F)-8
+(:)58 b FD(190)399 4275 y(P)m(ac)m(king)32 b(and)e(Unpac)m(king)h(F)-8
b(unctions)16 b Fv(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46
-b FD(189)399 4384 y(Dimension)31 b(P)m(erm)m(utation)19
+b FD(190)399 4384 y(Dimension)31 b(P)m(erm)m(utation)19
b Fv(:)e(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)50 b FD(192)275 4494 y(4.9)92
+(:)h(:)f(:)h(:)f(:)g(:)50 b FD(193)275 4494 y(4.9)92
b Fy(ncra)29 b FD(netCDF)i(Record)f(Av)m(erager)13 b
Fv(:)18 b(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43
-b FD(197)275 4604 y(4.10)92 b Fy(ncrcat)29 b FD(netCDF)i(Record)f
+b FD(198)275 4604 y(4.10)92 b Fy(ncrcat)29 b FD(netCDF)i(Record)f
(Concatenator)15 b Fv(:)i(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45 b FD(199)275
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)45 b FD(200)275
4713 y(4.11)92 b Fy(ncrename)28 b FD(netCDF)j(Renamer)10
b Fv(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)40
-b FD(201)275 4823 y(4.12)92 b Fy(ncwa)29 b FD(netCDF)i(W)-8
+b FD(202)275 4823 y(4.12)92 b Fy(ncwa)29 b FD(netCDF)i(W)-8
b(eigh)m(ted)33 b(Av)m(erager)27 b Fv(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)56 b FD(205)399 4932 y(4.12.1)93 b(Mask)31 b(condition)26
+(:)g(:)56 b FD(206)399 4932 y(4.12.1)93 b(Mask)31 b(condition)26
b Fv(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)55 b FD(206)399 5042 y(4.12.2)93
+f(:)h(:)f(:)g(:)h(:)f(:)55 b FD(207)399 5042 y(4.12.2)93
b(Normalization)33 b(and)d(In)m(tegration)8 b Fv(:)17
b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b FD(207)p eop end
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b FD(208)p eop end
%%Page: -4 6
TeXDict begin -4 5 bop 150 -116 a FD(iv)2644 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 83 y FB(5)135 b(Con)l(tributing)14
+b FD(4.4.6)j(User)d(Guide)150 83 y FB(5)135 b(Con)l(tributing)14
b Fw(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
58 b FB(211)275 220 y FD(5.1)92 b(Con)m(tributors)15
@@ -12057,7 +12057,7 @@ FD(\).)36 b(This)29 b(supp)s(ort)g(allo)m(w)m(ed)j(me)f(to)g(main)m
eop end
%%Page: 2 8
TeXDict begin 2 7 bop 150 -116 a FD(2)2672 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(and)i(others)h(to)g(adv)-5
+b FD(4.4.6)j(User)d(Guide)150 299 y(and)i(others)h(to)g(adv)-5
b(ance)33 b FC(NCO)g FD(in)f(new)g(directions:)46 b(Ga)m(y)m(athri)34
b(V)-8 b(enkitac)m(halam)36 b(help)s(ed)31 b(implemen)m(t)150
408 y FC(MPI)p FD(;)44 b(Harry)39 b(Mangalam)i(impro)m(v)m(ed)f
@@ -12192,7 +12192,7 @@ FD(\))26 b(and)k(descriptions)h(of)g(Kno)m(wn)f(Problems)h(\()p
Fy(http:)q(/)q(/nco)q(.sf)q(.net)q(/)q(#)150 4268 y(bug)p
FD(\))f(etc.)42 b(are)30 b(on)h(our)f(homepage)h(\()p
Fy(http://nco.sf.net/)p FD(\).)275 4430 y(There)36 b(are)i(t)m(w)m(elv)
-m(e)h(op)s(erators)f(in)e(the)i(curren)m(t)f(v)m(ersion)g(\(4.4.5\).)64
+m(e)h(op)s(erators)f(in)e(the)i(curren)m(t)f(v)m(ersion)g(\(4.4.6\).)64
b(The)37 b(function)f(of)i(eac)m(h)g(is)f(ex-)150 4539
y(plained)30 b(in)f(Chapter)g(4)i([Op)s(erator)e(Reference)i(Man)m
(ual],)g(page)g(103.)42 b(Man)m(y)30 b(of)g(the)g(tasks)h(that)f
@@ -12218,7 +12218,7 @@ b(able)32 b(of)275 5340 y(Con)n(ten)n(ts)25 b(after)i(the)e(co)n(v)n
eop end
%%Page: 6 12
TeXDict begin 6 11 bop 150 -116 a FD(6)2672 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(page)d(103.)41 b(These)26
+b FD(4.4.6)j(User)d(Guide)150 299 y(page)d(103.)41 b(These)26
b(can)h(b)s(e)f(found)f(directly)j(b)m(y)e(prep)s(ending)f(the)i(op)s
(erator)f(name)h(with)f(the)h Fy(xmp_)e FD(tag,)150 408
y(e.g.,)39 b Fy(http:)t(/)t(/)s(nco)t(.)s(sf)t(.)s(net)t(/)s(nco)t(.)s
@@ -12361,8 +12361,8 @@ b(ortran-lik)m(e)32 b(assumptions)d(regarding)h(p)s(oin)m(ter)f(con)m
(ten)m(ts)j(alteration.)42 b(Subsequen)m(tly)-8 b(,)150
2326 y FC(NCO)30 b FD(requires)g(a)h(C99)g(compiler)g(to)g(build)e
(correctly)2029 2293 y Ft(3)2068 2326 y FD(.)275 2491
-y(In)i(Jan)m(uary)h(2009,)k FC(NCO)c FD(v)m(ersion)h(3.9.6)h(w)m(as)f
-(the)g(\014rst)e(to)j(link)e(to)h(the)g(GNU)g(Scien)m(ti\014c)h
+y(In)j(Jan)m(uary)i(2009,)i FC(NCO)e FD(v)m(ersion)g(3.9.6)h(w)m(as)g
+(the)e(\014rst)g(to)i(link)e(to)i(the)f FC(GNU)g FD(Scien)m(ti\014c)h
(Library)150 2600 y(\()p FC(GSL)p FD(\).)71 b FC(GSL)40
b FD(m)m(ust)g(b)s(e)f(v)m(ersion)31 b(1.4)41 b(or)f(later.)71
b FC(NCO)p FD(,)42 b(in)e(particular)g Fy(ncap2)p FD(,)h(uses)f(the)g
@@ -12401,13 +12401,14 @@ b(resurrect)g(it.)40 b(If)25 b(y)m(ou)i(w)m(ould)f(lik)m(e)h(to)g(v)m
(olun)m(teer)g(to)g(main)m(tain)g Fy(nco_fortran.F)c
FD(please)k(con)m(tact)150 4463 y(me.)150 4672 y Fu(1.3.1)63
b(Compiling)42 b Fq(NCO)f Fu(for)h(Microsoft)g(Windo)m(ws)f
-Fq(OS)150 4819 y FC(NCO)c FD(has)f(b)s(een)h(successfully)g(p)s(orted)f
-(and)g(tested)i(on)f(most)g(Microsoft)i(Windo)m(ws)e(op)s(erating)g
-(sys-)150 4929 y(tems)i(including:)58 b(XP)39 b(SP2/Vista/7.)70
-b(Supp)s(ort)37 b(is)i(pro)m(vided)g(for)g(compiling)g(either)h(nativ)m
-(e)h(Win-)150 5038 y(do)m(ws)35 b(executables,)k(using)c(the)h
-(Microsoft)h(Visual)f(Studio)f(2010)i(Compiler,)g(or)f(with)f(Cygwin,)i
-(the)p 150 5154 1200 4 v 199 5221 a Ft(3)275 5253 y Fp(NCO)d
+Fq(OS)150 4819 y FC(NCO)24 b FD(has)f(b)s(een)g(successfully)h(p)s
+(orted)f(and)h(tested)g(on)g(most)g(Microsoft)i(Windo)m(ws)e(op)s
+(erating)g(systems)150 4929 y(including:)69 b FC(XP)45
+b FD(SP2/Vista/7.)86 b(Supp)s(ort)42 b(is)j(pro)m(vided)f(for)h
+(compiling)h(either)f(nativ)m(e)h(Windo)m(ws)150 5038
+y(executables,)33 b(using)e(the)h(Microsoft)h(Visual)f(Studio)f(2010)i
+(Compiler,)f(or)g(with)f(Cygwin,)g(the)h FC(UNIX)p FD(-)p
+150 5154 1200 4 v 199 5221 a Ft(3)275 5253 y Fp(NCO)i
Fs(ma)n(y)h(still)h(build)f(with)h(an)f Fp(ANSI)g Fs(or)h
Fp(ISO)f Fs(C89)i(or)e(C94/95-complian)n(t)j(compiler)e(if)g(the)f(C)26
b(pre-pro)r(cessor)275 5340 y(unde\014nes)e(the)h Fr(restrict)j
@@ -12416,31 +12417,31 @@ Fs(t)n(yp)r(e)d(quali\014er,)h(e.g.,)h(b)n(y)d(in)n(v)n(oking)i(the)f
end
%%Page: 8 14
TeXDict begin 8 13 bop 150 -116 a FD(8)2672 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(UNIX-em)m(ulating)39
-b(compatibilit)m(y)g(la)m(y)m(er)f(with)f(the)f(GNU)i(to)s(olc)m(hain.)
-61 b(The)37 b(switc)m(hes)g(necessary)g(to)150 408 y(accomplish)31
-b(b)s(oth)f(are)h(included)e(in)h(the)h(standard)e(distribution)h(of)h
-FC(NCO)p FD(.)275 568 y(Using)d(Microsoft)i(Visual)g(Studio)e(\()p
-FC(MVS)p FD(\),)i(one)f(m)m(ust)g(build)e FC(NCO)h FD(with)h(the)g(C)p
-Fy(++)e FD(compiler)j(since)150 677 y(MVS)38 b(do)s(es)g(not)g(supp)s
-(ort)e(C99.)64 b(Qt,)40 b(a)f(con)m(v)m(enien)m(t)h(in)m(tegrated)f
-(dev)m(elopmen)m(t)h(en)m(vironmen)m(t,)h(w)m(as)150
-787 y(used)30 b(to)h(con)m(v)m(ert)h(the)e(pro)5 b(ject)31
-b(\014les)f(to)h FC(MVS)g FD(format.)41 b(The)30 b(Qt)g(\014les)h
-(themselv)m(es)g(are)g(distributed)e(in)150 897 y(the)i
-Fy(nco/qt)d FD(directory)-8 b(.)275 1056 y(Using)30 b(the)h(freely)f(a)
-m(v)-5 b(ailable)33 b(Cygwin)d(\(formerly)g(gn)m(u-win32\))i(dev)m
-(elopmen)m(t)f(en)m(vironmen)m(t)3530 1023 y Ft(4)3568
-1056 y FD(,)g(the)150 1166 y(compilation)h(pro)s(cess)d(is)h(v)m(ery)g
-(similar)h(to)f(installing)i FC(NCO)d FD(on)h(a)g FC(UNIX)h
-FD(system.)41 b(Set)30 b(the)g Fy(PVM_ARCH)150 1275 y
-FD(prepro)s(cessor)42 b(tok)m(en)i(to)f Fy(WIN32)p FD(.)76
-b(Note)44 b(that)g(de\014ning)e Fy(WIN32)f FD(has)h(the)h(side)g
-(e\013ect)h(of)f(disabling)150 1385 y(In)m(ternet)31
-b(features)f(of)h FC(NCO)f FD(\(see)h(b)s(elo)m(w\).)42
-b FC(NCO)30 b FD(should)f(no)m(w)i(build)e(lik)m(e)j(it)e(do)s(es)g(on)
-h FC(UNIX)p FD(.)275 1544 y(The)24 b(least)i(p)s(ortable)f(section)h
-(of)f(the)h(co)s(de)f(is)g(the)g(use)g(of)g(standard)f
+b FD(4.4.6)j(User)d(Guide)150 299 y(em)m(ulating)22 b(compatibilit)m(y)
+g(la)m(y)m(er)g(with)e(the)h FC(GNU)g FD(to)s(olc)m(hain.)39
+b(The)20 b(switc)m(hes)h(necessary)g(to)g(accomplish)150
+408 y(b)s(oth)30 b(are)g(included)g(in)g(the)h(standard)e(distribution)
+h(of)g FC(NCO)p FD(.)275 568 y(Using)e(Microsoft)i(Visual)g(Studio)e
+(\()p FC(MVS)p FD(\),)i(one)f(m)m(ust)g(build)e FC(NCO)h
+FD(with)h(the)g(C)p Fy(++)e FD(compiler)j(since)150 677
+y FC(MVS)40 b FD(do)s(es)f(not)g(supp)s(ort)f(C99.)68
+b(Qt,)41 b(a)f(con)m(v)m(enien)m(t)i(in)m(tegrated)e(dev)m(elopmen)m(t)
+h(en)m(vironmen)m(t,)i(w)m(as)150 787 y(used)30 b(to)h(con)m(v)m(ert)h
+(the)e(pro)5 b(ject)31 b(\014les)f(to)h FC(MVS)g FD(format.)41
+b(The)30 b(Qt)g(\014les)h(themselv)m(es)g(are)g(distributed)e(in)150
+897 y(the)i Fy(nco/qt)d FD(directory)-8 b(.)275 1056
+y(Using)30 b(the)h(freely)f(a)m(v)-5 b(ailable)33 b(Cygwin)d
+(\(formerly)g(gn)m(u-win32\))i(dev)m(elopmen)m(t)f(en)m(vironmen)m(t)
+3530 1023 y Ft(4)3568 1056 y FD(,)g(the)150 1166 y(compilation)h(pro)s
+(cess)d(is)h(v)m(ery)g(similar)h(to)f(installing)i FC(NCO)d
+FD(on)h(a)g FC(UNIX)h FD(system.)41 b(Set)30 b(the)g
+Fy(PVM_ARCH)150 1275 y FD(prepro)s(cessor)42 b(tok)m(en)i(to)f
+Fy(WIN32)p FD(.)76 b(Note)44 b(that)g(de\014ning)e Fy(WIN32)f
+FD(has)h(the)h(side)g(e\013ect)h(of)f(disabling)150 1385
+y(In)m(ternet)31 b(features)f(of)h FC(NCO)f FD(\(see)h(b)s(elo)m(w\).)
+42 b FC(NCO)30 b FD(should)f(no)m(w)i(build)e(lik)m(e)j(it)e(do)s(es)g
+(on)h FC(UNIX)p FD(.)275 1544 y(The)24 b(least)i(p)s(ortable)f(section)
+h(of)f(the)h(co)s(de)f(is)g(the)g(use)g(of)g(standard)f
FC(UNIX)h FD(and)g(In)m(ternet)g(proto)s(cols)150 1654
y(\(e.g.,)34 b Fy(ftp)p FD(,)d Fy(rcp)p FD(,)g Fy(scp)p
FD(,)g Fy(sftp)p FD(,)g Fy(getuid)p FD(,)g Fy(gethostname)p
@@ -12603,7 +12604,7 @@ b(In)34 b(an)n(y)g(case,)k(un)n(til)d(ab)r(out)g(2007)h(the)e
Fp(MFHDF)g Fs(library)h(only)p eop end
%%Page: 10 16
TeXDict begin 10 15 bop 150 -116 a FD(10)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(to)g(eliminate)i(all)e(netCDF3)h
+b FD(4.4.6)j(User)d(Guide)150 299 y(to)g(eliminate)i(all)e(netCDF3)h
(calls.)42 b(Only)29 b(v)m(ersions)h(of)g FC(NCO)f FD(n)m(um)m(b)s
(ered)f(1.2.x)j(and)f(earlier)g(ha)m(v)m(e)h(this)150
408 y(capabilit)m(y)-8 b(.)275 584 y FC(HDF)21 b FD(v)m(ersion)31
@@ -12706,160 +12707,165 @@ FD(')35 b(switc)m(h)g(to)h(request)f(netCDF4)h(output)e(from)g(netCDF3)
i(input,)g(i.e.,)h(to)f(con)m(v)m(ert)g(netCDF3)g(to)150
737 y(netCDF4.)42 b(See)30 b(Section)i(3.9)f([File)h(F)-8
b(ormats)31 b(and)f(Con)m(v)m(ersion],)i(page)f(35)g(for)f(more)h
-(details.)275 904 y(When)22 b(link)m(ed)h(to)h(a)f(netCDF)g(library)f
+(details.)275 899 y(When)22 b(link)m(ed)h(to)h(a)f(netCDF)g(library)f
(that)i(w)m(as)f(built)f(with)h FC(HDF4)g FD(supp)s(ort)2913
-871 y Ft(8)2948 904 y FD(,)i FC(NCO)d FD(automatically)150
-1014 y(supp)s(orts)27 b(reading)j FC(HDF4)g FD(\014les)f(and)g(writing)
+866 y Ft(8)2948 899 y FD(,)i FC(NCO)d FD(automatically)150
+1009 y(supp)s(orts)27 b(reading)j FC(HDF4)g FD(\014les)f(and)g(writing)
g(them)h(as)f(netCDF3/netCDF4/)p FC(HDF5)k FD(\014les.)41
-b FC(NCO)29 b FD(can)150 1123 y(only)i(write)f(through)g(the)h(netCDF)g
+b FC(NCO)29 b FD(can)150 1118 y(only)i(write)f(through)g(the)h(netCDF)g
FC(API)p FD(,)f(whic)m(h)h(can)f(only)h(write)g(netCDF3/netCDF4/)p
-FC(HDF5)j FD(\014les.)150 1233 y(So)39 b FC(NCO)h FD(can)g
+FC(HDF5)j FD(\014les.)150 1228 y(So)39 b FC(NCO)h FD(can)g
Fo(r)-5 b(e)g(ad)50 b FC(HDF4)40 b FD(\014les,)j(p)s(erform)38
b(manipulations)h(and)g(calculations,)45 b(and)39 b(then)g(it)h(m)m
-(ust)150 1343 y Fo(write)e FD(the)30 b(results)g(in)h(netCDF)g(format.)
-275 1510 y FC(NCO)c FD(supp)s(ort)e(for)i FC(HDF4)h FD(has)f(b)s(een)f
+(ust)150 1337 y Fo(write)e FD(the)30 b(results)g(in)h(netCDF)g(format.)
+275 1499 y FC(NCO)c FD(supp)s(ort)e(for)i FC(HDF4)h FD(has)f(b)s(een)f
(quite)i(functional)f(since)h(Decem)m(b)s(er,)h(2013.)41
-b(F)-8 b(or)28 b(b)s(est)f(results)150 1619 y(install)i
+b(F)-8 b(or)28 b(b)s(est)f(results)150 1609 y(install)i
FC(NCO)f FD(v)m(ersions)h(4.4.0)h(or)e(later)i(on)e(top)g(of)h(netCDF)g
(v)m(ersions)g(4.3.1)h(or)e(later.)41 b(Getting)30 b(to)f(this)150
-1729 y(p)s(oin)m(t)35 b(has)f(b)s(een)g(an)h(iterativ)m(e)i(e\013ort)e
+1718 y(p)s(oin)m(t)35 b(has)f(b)s(een)g(an)h(iterativ)m(e)i(e\013ort)e
(where)g(Unidata)g(impro)m(v)m(ed)g(netCDF)g(library)g(capabilities)h
-(in)150 1838 y(resp)s(onse)e(to)i(our)f(requests.)55
+(in)150 1828 y(resp)s(onse)e(to)i(our)f(requests.)55
b FC(NCO)35 b FD(v)m(ersions)h(4.3.6)h(and)d(earlier)i(do)g(not)f
-(explicitly)i(supp)s(ort)c FC(HDF4)p FD(,)150 1948 y(y)m(et)39
+(explicitly)i(supp)s(ort)c FC(HDF4)p FD(,)150 1938 y(y)m(et)39
b(should)f(w)m(ork)g(with)g FC(HDF4)h FD(if)f(compiled)h(with)f(a)g(v)m
(ersion)h(of)f(netCDF)h(\(4.3.2)i(or)d(later?\))65 b(that)150
-2058 y(do)s(es)42 b(not)g(unexp)s(ectedly)g(die)h(when)e(probing)h
+2047 y(do)s(es)42 b(not)g(unexp)s(ectedly)g(die)h(when)e(probing)h
FC(HDF4)g FD(\014les)g(with)g(standard)g(netCDF)h(calls.)77
-b FC(NCO)150 2167 y FD(v)m(ersions)39 b(4.3.7{4.3.9)j(\(Octob)s
+b FC(NCO)150 2157 y FD(v)m(ersions)39 b(4.3.7{4.3.9)j(\(Octob)s
(er{Decem)m(b)s(er,)g(2013\))e(use)e(a)h(sp)s(ecial)g(\015ag)f(to)h(w)m
-(ork)-5 b(around)37 b(netCDF)150 2277 y FC(HDF4)28 b
+(ork)-5 b(around)37 b(netCDF)150 2266 y FC(HDF4)28 b
FD(issues.)39 b(The)27 b(user)g(m)m(ust)g(tell)i(these)f(v)m(ersions)g
(of)f FC(NCO)g FD(that)i(an)e(input)f(\014le)i(is)f FC(HDF4)h
-FD(format)g(b)m(y)150 2386 y(using)i(the)g(`)p Fy(--hdf4)p
-FD(')g(switc)m(h.)275 2553 y(When)25 b(compiled)h(with)f(netCDF)h(v)m
+FD(format)g(b)m(y)150 2376 y(using)i(the)g(`)p Fy(--hdf4)p
+FD(')g(switc)m(h.)275 2538 y(When)25 b(compiled)h(with)f(netCDF)h(v)m
(ersion)g(4.3.1)h(\(20140116\))j(or)25 b(later,)j FC(NCO)d
-FD(v)m(ersions)g(4.4.0)j(\(Jan-)150 2663 y(uary)-8 b(,)25
+FD(v)m(ersions)g(4.4.0)j(\(Jan-)150 2647 y(uary)-8 b(,)25
b(2014\))g(and)e(later)h(more)f(gracefully)i(handle)d
FC(HDF4)i FD(\014les.)38 b(In)23 b(particular,)i(the)e(`)p
-Fy(--hdf4)p FD(')f(switc)m(h)i(is)150 2773 y(obsolete.)41
+Fy(--hdf4)p FD(')f(switc)m(h)i(is)150 2757 y(obsolete.)41
b(Curren)m(t)26 b(v)m(ersions)g(of)h FC(NCO)f FD(use)g(netCDF)h(to)g
(determine)g(automatically)i(whether)d(the)h(un-)150
-2882 y(derlying)22 b(\014le)g(is)f FC(HDF4)p FD(,)j(and)e(then)f(tak)m
+2867 y(derlying)22 b(\014le)g(is)f FC(HDF4)p FD(,)j(and)e(then)f(tak)m
(e)i(appropriate)f(precautions)g(to)h(a)m(v)m(oid)g(netCDF4)g
-FC(API)e FD(calls)i(that)150 2992 y(fail)36 b(when)f(applied)g(to)i
+FC(API)e FD(calls)i(that)150 2976 y(fail)36 b(when)f(applied)g(to)i
FC(HDF4)f FD(\014les)g(\(e.g.,)i Fy(nc_inq_var_chunking\(\))p
-FD(,)32 b Fy(nc_inq_var_deflate\(\))p FD(\).)150 3101
-y(The)k(`)p Fy(--hdf4)p FD(')f(switc)m(h)i(is)f(supp)s(orted)f(\(for)h
-(bac)m(kw)m(ards)h(compatibilit)m(y\))i(y)m(et)f(redundan)m(t)d
-(\(i.e.,)k(do)s(es)150 3211 y(no)30 b(harm\))g(with)g(curren)m(t)g(v)m
-(ersions)h(of)g FC(NCO)f FD(and)g(netCDF.)275 3378 y(Con)m(v)m(erting)
-35 b FC(HDF4)f FD(\014les)h(to)g(netCDF:)g(Since)f FC(NCO)g
+FD(,)32 b Fy(nc_inq_var_deflate\(\))p FD(\).)150 3086
+y(When)43 b(compiled)g(with)g(netCDF)h(v)m(ersion)g(4.3.2)h
+(\(20140423\))i(or)c(earlier,)48 b FC(NCO)42 b FD(will)i(rep)s(ort)e
+(that)150 3195 y(c)m(h)m(unking)j(and)f(de\015ation)h(prop)s(erties)f
+(of)h FC(HDF4)g FD(\014les)f(as)h Fy(HDF4_UNKNOWN)p FD(,)g(b)s(ecause)g
+(determining)150 3305 y(those)27 b(prop)s(erties)f(w)m(as)g(imp)s
+(ossible.)39 b(When)26 b(compiled)h(with)f(netCDF)h(v)m(ersion)g
+(4.3.3-rc2)i(\(20140925\))150 3415 y(or)f(later,)i FC(NCO)e
+FD(v)m(ersions)h(4.4.6)h(\(Octob)s(er,)f(2014\))h(and)e(later)h(fully)f
+(supp)s(ort)f(c)m(h)m(unking)h(and)g(de\015ation)150
+3524 y(features)j(of)g FC(HDF4)f FD(\014les.)42 b(The)30
+b(`)p Fy(--hdf4)p FD(')f(switc)m(h)i(is)g(supp)s(orted)d(\(for)j(bac)m
+(kw)m(ards)g(compatibilit)m(y\))i(y)m(et)150 3634 y(redundan)m(t)c
+(\(i.e.,)j(do)s(es)e(no)h(harm\))e(with)i(curren)m(t)f(v)m(ersions)g
+(of)h FC(NCO)f FD(and)g(netCDF.)275 3796 y(Con)m(v)m(erting)35
+b FC(HDF4)f FD(\014les)h(to)g(netCDF:)g(Since)f FC(NCO)g
FD(reads)g FC(HDF4)g FD(\014les)h(nativ)m(ely)-8 b(,)37
-b(it)e(is)f(no)m(w)g(easy)150 3488 y(to)d(con)m(v)m(ert)h
+b(it)e(is)f(no)m(w)g(easy)150 3905 y(to)d(con)m(v)m(ert)h
FC(HDF4)f FD(\014les)f(to)h(netCDF)g(\014les)g(directly)-8
-b(,)31 b(e.g.,)390 3655 y Fy(ncks)381 b(fl.hdf)46 b(fl.nc)g(#)i
+b(,)31 b(e.g.,)390 4067 y Fy(ncks)381 b(fl.hdf)46 b(fl.nc)g(#)i
(Convert)d(HDF4->netCDF4)g(\(NCO)h(4.4.0+,)g(netCDF)g(4.3.1+\))390
-3764 y(ncks)h(--hdf4)f(fl.hdf)g(fl.nc)g(#)i(Convert)d(HDF4->netCDF4)g
-(\(NCO)h(4.3.7-4.3.9\))275 3931 y FD(The)d(most)g(e\016cien)m(t)i(and)e
+4177 y(ncks)h(--hdf4)f(fl.hdf)g(fl.nc)g(#)i(Convert)d(HDF4->netCDF4)g
+(\(NCO)h(4.3.7-4.3.9\))275 4338 y FD(The)d(most)g(e\016cien)m(t)i(and)e
(accurate)i(w)m(a)m(y)g(to)f(con)m(v)m(ert)h FC(HDF4)f
-FD(data)g(to)h(netCDF)f(format)g(is)f(to)150 4041 y(con)m(v)m(ert)g(to)
+FD(data)g(to)h(netCDF)f(format)g(is)f(to)150 4448 y(con)m(v)m(ert)g(to)
g(netCDF4)g(using)f FC(NCO)f FD(as)h(ab)s(o)m(v)m(e.)77
b(Man)m(y)42 b FC(HDF4)h FD(pro)s(ducers)d(\()p FC(NASA)p
-FD(!\))77 b(lo)m(v)m(e)44 b(to)e(use)150 4150 y(netCDF4)34
+FD(!\))77 b(lo)m(v)m(e)44 b(to)e(use)150 4558 y(netCDF4)34
b(t)m(yp)s(es,)h(e.g.,)h(unsigned)c(b)m(ytes,)j(so)e(this)h(pro)s
(cedure)e(is)h(the)h(most)g(t)m(ypical.)51 b(Con)m(v)m(ersion)34
-b(of)150 4260 y FC(HDF4)26 b FD(to)h(netCDF4)g(as)g(ab)s(o)m(v)m(e)g
+b(of)150 4667 y FC(HDF4)26 b FD(to)h(netCDF4)g(as)g(ab)s(o)m(v)m(e)g
(su\016ces)f(when)f(the)h(data)h(will)f(only)g(b)s(e)g(pro)s(cessed)f
-(b)m(y)h FC(NCO)g FD(and)g(other)150 4370 y(netCDF4-a)m(w)m(are)33
-b(to)s(ols.)275 4537 y(Ho)m(w)m(ev)m(er,)g(man)m(y)f(to)s(ols)g(are)f
+(b)m(y)h FC(NCO)g FD(and)g(other)150 4777 y(netCDF4-a)m(w)m(are)33
+b(to)s(ols.)275 4939 y(Ho)m(w)m(ev)m(er,)g(man)m(y)f(to)s(ols)g(are)f
(not)h(fully)f(netCDF4-a)m(w)m(are,)j(and)d(so)g(con)m(v)m(ersion)i(to)
-f(netCDF3)g(ma)m(y)150 4646 y(b)s(e)e(desirable.)41 b(Obtaining)30
-b(a)h(netCDF3)g(\014le)g(from)f(an)g FC(HDF4)g FD(is)h(no)m(w)f(easy:)
-390 4813 y Fy(ncks)47 b(-3)g(fl.hdf)f(fl.nc)285 b(#)47
-b(HDF4->netCDF3)e(\(NCO)h(4.4.0+,)g(netCDF)g(4.3.1+\))390
-4923 y(ncks)h(-6)g(fl.hdf)f(fl.nc)285 b(#)47 b(HDF4->netCDF3)e(64-bit)
-93 b(\(NCO)47 b(4.4.0+,)f(...\))390 5032 y(ncks)h(-7)g(-L)g(1)g(fl.hdf)
-g(fl.nc)f(#)h(HDF4->netCDF4)e(classic)g(\(NCO)i(4.4.0+,)f(...\))p
+f(netCDF3)g(ma)m(y)150 5048 y(b)s(e)e(desirable.)41 b(Obtaining)30
+b(a)h(netCDF3)g(\014le)g(from)f(an)g FC(HDF4)g FD(is)h(no)m(w)f(easy:)p
150 5154 1200 4 v 199 5221 a Ft(8)275 5253 y Fs(The)20
b(pro)r(cedure)h(for)h(doing)f(this)g(is)g(do)r(cumen)n(ted)f(at)h
Fr(http://www.unidata.ucar.edu/so)q(ftwa)q(re/ne)q(tcdf)q(/doc)q(s/)275
5340 y(build_hdf4.html)p Fs(.)p eop end
%%Page: 12 18
TeXDict begin 12 17 bop 150 -116 a FD(12)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncks)47 b(--hdf4)f(-3)h(fl.hdf)f
-(fl.nc)g(#)i(HDF4->netCDF3)c(\(netCDF)i(4.3.0-\))390
-408 y(ncks)h(--hdf4)f(-6)h(fl.hdf)f(fl.nc)g(#)i(HDF4->netCDF3)c(64-bit)
-94 b(\(netCDF)46 b(4.3.0-\))390 518 y(ncks)h(--hdf4)f(-7)h(fl.hdf)f
-(fl.nc)g(#)i(HDF4->netCDF4)c(classic)i(\(netCDF)g(4.3.0-\))275
-690 y FD(As)37 b(of)g FC(NCO)g FD(v)m(ersion)g(4.4.0)i(\(Jan)m(uary)-8
-b(,)40 b(2014\),)h(these)c(commands)g(w)m(ork)g(ev)m(en)h(when)e(the)i
-FC(HDF4)150 800 y FD(\014le)28 b(con)m(tains)h(netCDF4)f(atomic)h(t)m
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncks)47 b(-3)g(fl.hdf)f(fl.nc)
+285 b(#)47 b(HDF4->netCDF3)e(\(NCO)h(4.4.0+,)g(netCDF)g(4.3.1+\))390
+408 y(ncks)h(-4)g(fl.hdf)f(fl.nc)285 b(#)47 b(HDF4->netCDF4)e(\(NCO)h
+(4.4.0+,)g(netCDF)g(4.3.1+\))390 518 y(ncks)h(-6)g(fl.hdf)f(fl.nc)285
+b(#)47 b(HDF4->netCDF3)e(64-bit)93 b(\(NCO)47 b(4.4.0+,)f(...\))390
+628 y(ncks)h(-7)g(-L)g(1)g(fl.hdf)g(fl.nc)f(#)h(HDF4->netCDF4)e
+(classic)g(\(NCO)i(4.4.0+,)f(...\))390 737 y(ncks)h(--hdf4)f(-3)h
+(fl.hdf)f(fl.nc)g(#)i(HDF4->netCDF3)c(\(netCDF)i(4.3.0-\))390
+847 y(ncks)h(--hdf4)f(-4)h(fl.hdf)f(fl.nc)g(#)i(HDF4->netCDF4)c
+(\(netCDF)i(4.3.0-\))390 956 y(ncks)h(--hdf4)f(-6)h(fl.hdf)f(fl.nc)g(#)
+i(HDF4->netCDF3)c(64-bit)94 b(\(netCDF)46 b(4.3.0-\))390
+1066 y(ncks)h(--hdf4)f(-7)h(fl.hdf)f(fl.nc)g(#)i(HDF4->netCDF4)c
+(classic)i(\(netCDF)g(4.3.0-\))275 1235 y FD(As)37 b(of)g
+FC(NCO)g FD(v)m(ersion)g(4.4.0)i(\(Jan)m(uary)-8 b(,)40
+b(2014\),)h(these)c(commands)g(w)m(ork)g(ev)m(en)h(when)e(the)i
+FC(HDF4)150 1344 y FD(\014le)28 b(con)m(tains)h(netCDF4)f(atomic)h(t)m
(yp)s(es)f(\(e.g.,)i(unsigned)d(b)m(ytes,)i(64-bit)f(in)m(tegers\))i(b)
-s(ecause)d FC(NCO)h FD(can)150 910 y(auto)s(con)m(v)m(ert)k(ev)m
+s(ecause)d FC(NCO)h FD(can)150 1454 y(auto)s(con)m(v)m(ert)k(ev)m
(erything)f(to)h(atomic)g(t)m(yp)s(es)e(supp)s(orted)e(b)m(y)j(netCDF3)
-2666 877 y Ft(9)2704 910 y FD(.)275 1082 y(As)43 b(of)g
+2666 1421 y Ft(9)2704 1454 y FD(.)275 1623 y(As)43 b(of)g
FC(NCO)f FD(v)m(ersion)i(4.4.4)h(\(Ma)m(y)-8 b(,)48 b(2014\))d(b)s(oth)
d Fy(ncl_convert2nc)d FD(and)k FC(NCO)g FD(ha)m(v)m(e)h(built-in,)150
-1192 y(automatic)35 b(w)m(ork)-5 b(arounds)32 b(to)i(handle)f(elemen)m
+1732 y(automatic)35 b(w)m(ork)-5 b(arounds)32 b(to)i(handle)f(elemen)m
(t)i(names)e(that)h(con)m(tain)g(c)m(haracters)h(that)f(are)f(legal)i
-(in)150 1301 y FC(HDF)43 b FD(though)f(are)h(illegal)h(in)f
+(in)150 1842 y FC(HDF)43 b FD(though)f(are)h(illegal)h(in)f
FC(netCDF)p FD(.)77 b(F)-8 b(or)43 b(example,)j(slashes)d(and)e
-(leading)j(sp)s(ecial)e(c)m(haracters)150 1411 y(are)c(are)g(legal)h
+(leading)j(sp)s(ecial)e(c)m(haracters)150 1951 y(are)c(are)g(legal)h
(in)e FC(HDF)h FD(and)f(illegal)j(in)d FC(netCDF)h FD(elemen)m(t)h
(\(i.e.,)i(group,)d(v)-5 b(ariable,)41 b(dimension,)e(and)150
-1520 y(attribute\))31 b(names.)40 b FC(NCO)29 b FD(con)m(v)m(erts)i
+2061 y(attribute\))31 b(names.)40 b FC(NCO)29 b FD(con)m(v)m(erts)i
(these)f(forbidden)e(c)m(haracters)j(to)f(underscores,)f(and)g(retains)
-h(the)150 1630 y(original)i(names)e(of)g(v)-5 b(ariables)31
+h(the)150 2171 y(original)i(names)e(of)g(v)-5 b(ariables)31
b(in)f(automatically)k(pro)s(duced)28 b(attributes)j(named)f
-Fy(hdf_name)3410 1597 y Ft(10)3478 1630 y FD(.)275 1802
+Fy(hdf_name)3410 2138 y Ft(10)3478 2171 y FD(.)275 2339
y(Finally)-8 b(,)42 b(in)c(F)-8 b(ebruary)38 b(2014,)43
b(w)m(e)c(learned)g(that)g(the)g FC(HDF)g FD(group)f(has)g(a)h(pro)5
-b(ject)39 b(called)h FC(H4CF)150 1912 y FD(\(describ)s(ed)f(here)h(\()p
+b(ject)39 b(called)h FC(H4CF)150 2449 y FD(\(describ)s(ed)f(here)h(\()p
Fy(http:)8 b(/)g(/)e(hdfeos)i(.)e(org)i(/)e(software)h(/)f(h4)o(cfli)o
(b)i(.)e(ph)o(p)p FD(\)\))35 b(whose)40 b(goal)h(is)f(to)h(mak)m(e)150
-2022 y FC(HDF4)g FD(\014les)f(accessible)i(to)f FC(CF)f
+2558 y FC(HDF4)g FD(\014les)f(accessible)i(to)f FC(CF)f
FD(to)s(ols)h(and)e(con)m(v)m(en)m(tions.)73 b(Their)39
b(pro)5 b(ject)41 b(includes)f(a)g(to)s(ol)h(named)150
-2131 y Fy(h4tonccf)25 b FD(that)j(con)m(v)m(erts)h FC(HDF4)e
+2668 y Fy(h4tonccf)25 b FD(that)j(con)m(v)m(erts)h FC(HDF4)e
FD(\014les)h(to)g(netCDF3)g(or)f(netCDF4)i(\014les.)39
b(W)-8 b(e)29 b(are)e(not)h(y)m(et)g(sure)f(what)150
-2241 y(adv)-5 b(an)m(tages)27 b(or)f(features)g Fy(h4tonccf)d
+2778 y(adv)-5 b(an)m(tages)27 b(or)f(features)g Fy(h4tonccf)d
FD(has)j(that)g(are)g(not)g(in)f FC(NCO)p FD(,)h(though)g(w)m(e)g(susp)
-s(ect)f(b)s(oth)g(metho)s(ds)150 2350 y(ha)m(v)m(e)32
+s(ect)f(b)s(oth)g(metho)s(ds)150 2887 y(ha)m(v)m(e)32
b(their)e(o)m(wn)g(adv)-5 b(an)m(tages.)43 b(Corrections)31
-b(w)m(elcome.)275 2523 y(As)37 b(of)g(2012,)k(netCDF4)e(is)e(relativ)m
+b(w)m(elcome.)275 3056 y(As)37 b(of)g(2012,)k(netCDF4)e(is)e(relativ)m
(ely)j(stable)e(soft)m(w)m(are.)63 b(Problems)37 b(with)g(netCDF4)h
-(and)f FC(HDF)150 2632 y FD(libraries)d(ha)m(v)m(e)h(mainly)e(b)s(een)g
+(and)f FC(HDF)150 3166 y FD(libraries)d(ha)m(v)m(e)h(mainly)e(b)s(een)g
(\014xed.)50 b(Binary)34 b FC(NCO)f FD(distributions)g(shipp)s(ed)f(as)
-i FC(RPM)p FD(s)f(and)g(as)h(debs)150 2742 y(ha)m(v)m(e)e(used)d(the)i
+i FC(RPM)p FD(s)f(and)g(as)h(debs)150 3275 y(ha)m(v)m(e)e(used)d(the)i
(netCDF4)g(library)f(since)h(2010)h(and)e(2011,)i(resp)s(ectiv)m(ely)-8
-b(.)275 2914 y(One)41 b(m)m(ust)h(often)h(build)e FC(NCO)h
+b(.)275 3444 y(One)41 b(m)m(ust)h(often)h(build)e FC(NCO)h
FD(from)f(source)i(to)g(obtain)f(netCDF4)h(supp)s(ort.)75
-b(T)m(ypically)-8 b(,)47 b(one)150 3024 y(sp)s(eci\014es)37
+b(T)m(ypically)-8 b(,)47 b(one)150 3553 y(sp)s(eci\014es)37
b(the)g(ro)s(ot)g(of)g(the)g(netCDF4)h(installation)h(directory)-8
b(.)61 b(Do)38 b(this)f(with)f(the)h Fy(NETCDF4_ROOT)150
-3133 y FD(v)-5 b(ariable.)42 b(Then)29 b(use)h(y)m(our)g(preferred)f
-FC(NCO)i FD(build)e(mec)m(hanism,)i(e.g.,)390 3306 y
+3663 y FD(v)-5 b(ariable.)42 b(Then)29 b(use)h(y)m(our)g(preferred)f
+FC(NCO)i FD(build)e(mec)m(hanism,)i(e.g.,)390 3832 y
Fy(export)46 b(NETCDF4_ROOT=/usr/local/n)o(etc)o(df4)41
-b(#)48 b(Set)f(netCDF4)f(location)390 3415 y(cd)h(~/nco;./configure)c
+b(#)48 b(Set)f(netCDF4)f(location)390 3941 y(cd)h(~/nco;./configure)c
(--enable-netcdf4)91 b(#)48 b(Configure)d(mechanism)g(-or-)390
-3525 y(cd)i(~/nco/bld;./make)d(NETCDF4=Y)h(allinone)g(#)j(Old)f
-(Makefile)e(mechanism)275 3697 y FD(W)-8 b(e)36 b(carefully)g(trac)m(k)
-h(the)f(netCDF4)h(releases,)h(and)d(k)m(eep)h(the)g(netCDF4)h(atomic)g
-(t)m(yp)s(e)f(supp)s(ort)150 3807 y(and)j(other)h(features)g(w)m
-(orking.)70 b(Our)38 b(long)j(term)e(goal)j(is)e(to)g(utilize)h(more)f
-(of)g(the)g(extensiv)m(e)h(new)150 3917 y(netCDF4)36
-b(feature)f(set.)54 b(The)34 b(next)g(ma)5 b(jor)35 b(netCDF4)h
-(feature)f(w)m(e)g(are)g(lik)m(ely)h(to)f(utilize)h(is)f(parallel)150
-4026 y(I/O.)c(W)-8 b(e)31 b(will)g(enable)g(this)f(in)g(the)h
-FC(MPI)e FD(netCDF)i(op)s(erators.)p 150 4179 1200 4
-v 199 4246 a Ft(9)293 4278 y Fs(Prior)19 b(to)f Fp(NCO)g
-Fs(v)n(ersion)h(4.4.0)h(\(Jan)n(uary)-6 b(,)19 b(2014\),)j(w)n(e)d
-(recommended)f(the)g Fr(ncl_convert2nc)j Fs(to)r(ol)f(to)e(con)n(v)n
-(ert)g Fp(HDF)g Fs(to)275 4365 y(netCDF3)25 b(when)h(b)r(oth)f(these)h
-(are)g(true:)34 b(1.)h(Y)-6 b(ou)25 b(m)n(ust)g(ha)n(v)n(e)g(netCDF3)h
-(and)f(2.)35 b(the)25 b Fp(HDF)h Fs(\014le)g(con)n(tains)g(netCDF4)275
+4051 y(cd)i(~/nco/bld;./make)d(NETCDF4=Y)h(allinone)g(#)j(Old)f
+(Makefile)e(mechanism)p 150 4179 1200 4 v 199 4246 a
+Ft(9)293 4278 y Fs(Prior)19 b(to)f Fp(NCO)g Fs(v)n(ersion)h(4.4.0)h
+(\(Jan)n(uary)-6 b(,)19 b(2014\),)j(w)n(e)d(recommended)f(the)g
+Fr(ncl_convert2nc)j Fs(to)r(ol)f(to)e(con)n(v)n(ert)g
+Fp(HDF)g Fs(to)275 4365 y(netCDF3)25 b(when)h(b)r(oth)f(these)h(are)g
+(true:)34 b(1.)h(Y)-6 b(ou)25 b(m)n(ust)g(ha)n(v)n(e)g(netCDF3)h(and)f
+(2.)35 b(the)25 b Fp(HDF)h Fs(\014le)g(con)n(tains)g(netCDF4)275
4452 y(atomic)38 b(t)n(yp)r(es.)71 b(More)39 b(recen)n(t)e(v)n(ersions)
h(of)h Fp(NCO)f Fs(handle)f(this)h(problem)g(\014ne,)j(so)d(w)n(e)g(no)
g(longer)h(recommend)275 4540 y Fr(ncl_convert2nc)31
@@ -12892,132 +12898,138 @@ Fs(mak)n(es)c(the)f(elemen)n(t)h(name)g(netCDF-safe)h(in)f(a)g(sligh)n
eop end
%%Page: 13 19
TeXDict begin 13 18 bop 150 -116 a FD(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2546 b(13)150 299 y FB(1.7)68 b(Help)46
-b(Requests)g(and)e(Bug)h(Rep)t(orts)150 458 y FD(W)-8
-b(e)38 b(generally)f(receiv)m(e)h(three)f(categories)i(of)e(mail)g
-(from)e(users:)52 b(help)36 b(requests,)i(bug)e(rep)s(orts,)i(and)150
-568 y(feature)31 b(requests.)43 b(Notes)32 b(sa)m(ying)f(the)g(equiv)-5
-b(alen)m(t)33 b(of)e Fy(")p FD(Hey)-8 b(,)32 b FC(NCO)e
-FD(con)m(tin)m(ues)i(to)g(w)m(ork)f(great)h(and)e(it)150
-677 y(sa)m(v)m(es)i(me)e(more)h(time)g(ev)m(eryda)m(y)g(than)g(it)f(to)
-s(ok)i(to)f(write)f(this)g(note)p Fy(")h FD(are)g(a)g(distan)m(t)g
-(fourth.)275 843 y(There)38 b(is)h(a)g(di\013eren)m(t)h(proto)s(col)f
-(for)g(eac)m(h)h(t)m(yp)s(e)f(of)g(request.)67 b(The)38
-b(preferred)g(etiquette)i(for)f(all)150 952 y(comm)m(unications)31
+b(In)m(tro)s(duction)2546 b(13)275 299 y(W)-8 b(e)36
+b(carefully)g(trac)m(k)h(the)f(netCDF4)h(releases,)h(and)d(k)m(eep)h
+(the)g(netCDF4)h(atomic)g(t)m(yp)s(e)f(supp)s(ort)150
+408 y(and)j(other)h(features)g(w)m(orking.)70 b(Our)38
+b(long)j(term)e(goal)j(is)e(to)g(utilize)h(more)f(of)g(the)g(extensiv)m
+(e)h(new)150 518 y(netCDF4)36 b(feature)f(set.)54 b(The)34
+b(next)g(ma)5 b(jor)35 b(netCDF4)h(feature)f(w)m(e)g(are)g(lik)m(ely)h
+(to)f(utilize)h(is)f(parallel)150 628 y(I/O.)c(W)-8 b(e)31
+b(will)g(enable)g(this)f(in)g(the)h FC(MPI)e FD(netCDF)i(op)s(erators.)
+150 868 y FB(1.7)68 b(Help)46 b(Requests)g(and)e(Bug)h(Rep)t(orts)150
+1027 y FD(W)-8 b(e)38 b(generally)f(receiv)m(e)h(three)f(categories)i
+(of)e(mail)g(from)e(users:)52 b(help)36 b(requests,)i(bug)e(rep)s
+(orts,)i(and)150 1137 y(feature)31 b(requests.)43 b(Notes)32
+b(sa)m(ying)g(the)f(equiv)-5 b(alen)m(t)33 b(of)e(\\Hey)-8
+b(,)33 b FC(NCO)e FD(con)m(tin)m(ues)h(to)g(w)m(ork)f(great)h(and)e(it)
+150 1247 y(sa)m(v)m(es)i(me)e(more)h(time)g(ev)m(eryda)m(y)g(than)g(it)
+f(to)s(ok)i(to)f(write)f(this)g(note")i(are)f(a)f(distan)m(t)i(fourth.)
+275 1409 y(There)38 b(is)h(a)g(di\013eren)m(t)h(proto)s(col)f(for)g
+(eac)m(h)h(t)m(yp)s(e)f(of)g(request.)67 b(The)38 b(preferred)g
+(etiquette)i(for)f(all)150 1518 y(comm)m(unications)31
b(is)e(via)h FC(NCO)e FD(Pro)5 b(ject)30 b(F)-8 b(orums.)41
b(Do)30 b(not)f(con)m(tact)j(pro)5 b(ject)29 b(mem)m(b)s(ers)g(via)g(p)
-s(ersonal)150 1062 y(e-mail)h(unless)e(y)m(our)h(request)f(comes)i
+s(ersonal)150 1628 y(e-mail)h(unless)e(y)m(our)h(request)f(comes)i
(with)e(money)h(or)g(y)m(ou)g(ha)m(v)m(e)h(damaging)f(information)g(ab)
-s(out)f(our)150 1171 y(p)s(ersonal)f(liv)m(es.)41 b Fo(Ple)-5
+s(out)f(our)150 1737 y(p)s(ersonal)f(liv)m(es.)41 b Fo(Ple)-5
b(ase)31 b(use)e(the)i(F)-7 b(orums)p FD(|they)29 b(preserv)m(e)f(a)g
(record)f(of)h(the)g(questions)f(and)g(answ)m(ers)150
-1281 y(so)37 b(that)g(others)g(can)g(learn)g(from)f(our)g(exc)m(hange.)
+1847 y(so)37 b(that)g(others)g(can)g(learn)g(from)f(our)g(exc)m(hange.)
62 b(Also,)39 b(since)e FC(NCO)f FD(is)h(go)m(v)m(ernmen)m(t-funded,)i
-(this)150 1390 y(record)25 b(helps)f(us)h(pro)m(vide)g(program)f
+(this)150 1957 y(record)25 b(helps)f(us)h(pro)m(vide)g(program)f
(o\016cers)i(with)e(information)i(they)f(need)f(to)i(ev)-5
-b(aluate)27 b(our)d(pro)5 b(ject.)275 1556 y(Before)34
+b(aluate)27 b(our)d(pro)5 b(ject.)275 2119 y(Before)34
b(p)s(osting)f(to)g(the)h FC(NCO)f FD(forums)f(describ)s(ed)g(b)s(elo)m
(w,)i(y)m(ou)f(migh)m(t)h(\014rst)e(register)i(\()p Fy(https:)r(/)r(/)
-150 1665 y(sf)6 b(.)f(net)h(/)f(account)h(/)f(regis)o(ter)g(.)g(ph)o(p)
+150 2228 y(sf)6 b(.)f(net)h(/)f(account)h(/)f(regis)o(ter)g(.)g(ph)o(p)
p FD(\))32 b(y)m(our)38 b(name)f(and)g(email)i(address)e(with)g
-(SourceF)-8 b(orge.net)40 b(or)150 1775 y(else)28 b(all)g(of)f(y)m(our)
-g(p)s(ostings)f(will)h(b)s(e)g(attributed)g(to)g Fy(")p
-FD(nob)s(o)s(dy)p Fy(")p FD(.)38 b(Once)27 b(registered)g(y)m(ou)h(ma)m
-(y)f(c)m(ho)s(ose)h(to)150 1884 y Fy(")p FD(monitor)p
-Fy(")33 b FD(an)m(y)g(forum)f(and)h(to)g(receiv)m(e)i(\(or)f(not\))f
-(email)i(when)d(there)h(are)g(an)m(y)h(p)s(ostings)e(including)150
-1994 y(resp)s(onses)k(to)i(y)m(our)f(questions.)62 b(W)-8
-b(e)39 b(usually)e(reply)g(to)h(the)f(forum)f(message,)41
-b(not)c(to)h(the)g(original)150 2104 y(p)s(oster.)275
-2269 y(If)i(y)m(ou)i(w)m(an)m(t)f(us)g(to)h(include)e(a)i(new)e
+(SourceF)-8 b(orge.net)40 b(or)150 2338 y(else)c(all)f(of)g(y)m(our)g
+(p)s(ostings)f(will)h(b)s(e)f(attributed)h(to)h Fo(nob)-5
+b(o)g(dy)p FD(.)56 b(Once)35 b(registered)g(y)m(ou)g(ma)m(y)g(c)m(ho)s
+(ose)h(to)150 2447 y Fo(monitor)51 b FD(an)m(y)39 b(forum)f(and)h(to)g
+(receiv)m(e)i(\(or)f(not\))f(email)h(when)e(there)i(are)f(an)m(y)h(p)s
+(ostings)e(including)150 2557 y(resp)s(onses)e(to)i(y)m(our)f
+(questions.)62 b(W)-8 b(e)39 b(usually)e(reply)g(to)h(the)f(forum)f
+(message,)41 b(not)c(to)h(the)g(original)150 2667 y(p)s(oster.)275
+2829 y(If)i(y)m(ou)i(w)m(an)m(t)f(us)g(to)h(include)e(a)i(new)e
(feature)i(in)f FC(NCO)p FD(,)i(c)m(hec)m(k)g(\014rst)d(to)i(see)g(if)f
-(that)g(feature)h(is)150 2378 y(already)29 b(on)e(the)h(TODO)g(\()p
+(that)g(feature)h(is)150 2938 y(already)29 b(on)e(the)h(TODO)g(\()p
Fy(file:./TODO)p FD(\))d(list.)41 b(If)27 b(it)i(is,)g(wh)m(y)e(not)h
-(implemen)m(t)h(that)f(feature)h(y)m(ourself)150 2488
+(implemen)m(t)h(that)f(feature)h(y)m(ourself)150 3048
y(and)j(send)g(us)h(the)g(patc)m(h?)48 b(If)33 b(the)g(feature)g(is)g
(not)h(y)m(et)g(on)e(the)i(list,)g(then)f(send)f(a)h(note)h(to)f(the)g
-(NCO)150 2597 y(Discussion)e(forum)e(\()p Fy
+(NCO)150 3157 y(Discussion)e(forum)e(\()p Fy
(http://sf.net/projects/nco)o(/for)o(ums)o(/for)o(um/9)o(829)o
-FD(\).)275 2762 y(Read)35 b(the)h(man)m(ual)f(b)s(efore)g(rep)s(orting)
+FD(\).)275 3320 y(Read)35 b(the)h(man)m(ual)f(b)s(efore)g(rep)s(orting)
g(a)h(bug)f(or)g(p)s(osting)g(a)h(help)f(request.)55
-b(Sending)35 b(questions)150 2872 y(whose)g(answ)m(ers)f(are)h(not)h
+b(Sending)35 b(questions)150 3429 y(whose)g(answ)m(ers)f(are)h(not)h
(in)e(the)h(man)m(ual)g(is)g(the)g(b)s(est)g(w)m(a)m(y)g(to)h(motiv)-5
-b(ate)37 b(us)d(to)h(write)g(more)g(do)s(cu-)150 2982
+b(ate)37 b(us)d(to)h(write)g(more)g(do)s(cu-)150 3539
y(men)m(tation.)57 b(W)-8 b(e)37 b(w)m(ould)e(also)h(lik)m(e)h(to)f
(accen)m(tuate)i(the)e(con)m(trap)s(ositiv)m(e)h(of)f(this)f(statemen)m
-(t.)58 b(If)35 b(y)m(ou)150 3091 y(think)26 b(y)m(ou)g(ha)m(v)m(e)i
+(t.)58 b(If)35 b(y)m(ou)150 3648 y(think)26 b(y)m(ou)g(ha)m(v)m(e)i
(found)d(a)i(real)g(bug)e Fo(the)30 b(most)g(helpful)f(thing)g(you)h(c)
-5 b(an)29 b(do)h(is)f(simplify)g(the)h(pr)-5 b(oblem)30
-b(to)150 3201 y(a)i(manage)-5 b(able)33 b(size)f(and)g(then)g(r)-5
+b(to)150 3758 y(a)i(manage)-5 b(able)33 b(size)f(and)g(then)g(r)-5
b(ep)g(ort)34 b(it)p FD(.)40 b(The)29 b(\014rst)f(thing)i(to)g(do)f(is)
-g(to)h(mak)m(e)g(sure)f(y)m(ou)g(are)h(running)150 3310
+g(to)h(mak)m(e)g(sure)f(y)m(ou)g(are)h(running)150 3867
y(the)h(latest)h(publicly)e(released)h(v)m(ersion)g(of)f
-FC(NCO)p FD(.)275 3476 y(Once)j(y)m(ou)g(ha)m(v)m(e)i(read)e(the)g(man)
+FC(NCO)p FD(.)275 4030 y(Once)j(y)m(ou)g(ha)m(v)m(e)i(read)e(the)g(man)
m(ual,)i(if)e(y)m(ou)h(are)f(still)i(unable)d(to)i(get)h
-FC(NCO)e FD(to)h(p)s(erform)e(a)h(do)s(cu-)150 3585 y(men)m(ted)d
+FC(NCO)e FD(to)h(p)s(erform)e(a)h(do)s(cu-)150 4139 y(men)m(ted)d
(function,)g(submit)g(a)g(help)g(request.)41 b(F)-8 b(ollo)m(w)32
b(the)e(same)h(pro)s(cedure)e(as)h(describ)s(ed)f(b)s(elo)m(w)h(for)150
-3695 y(rep)s(orting)i(bugs)g(\(after)h(all,)h(it)f(migh)m(t)h(b)s(e)e
+4249 y(rep)s(orting)i(bugs)g(\(after)h(all,)h(it)f(migh)m(t)h(b)s(e)e
(a)g(bug\).)47 b(That)33 b(is,)g(describ)s(e)f(what)g(y)m(ou)h(are)g
-(trying)g(to)g(do,)150 3804 y(and)c(include)g(the)g(complete)i
+(trying)g(to)g(do,)150 4358 y(and)c(include)g(the)g(complete)i
(commands)e(\(run)f(with)h(`)p Fy(-D)h(5)p FD('\),)g(error)f(messages,)
-h(and)f(v)m(ersion)h(of)f FC(NCO)150 3914 y FD(\(with)34
+h(and)f(v)m(ersion)h(of)f FC(NCO)150 4468 y FD(\(with)34
b(`)p Fy(-r)p FD('\).)52 b(P)m(ost)35 b(y)m(our)f(help)f(request)h(to)h
(the)f(NCO)f(Help)i(forum)e(\()p Fy(http:)s(/)s(/)r(sf)s(.)r(net)s(/)r
-(projects)s(/)150 4023 y(nco/forums/forum/9830)p FD(\).)275
-4189 y(If)e(y)m(ou)i(think)f(y)m(ou)h(used)f(the)g(righ)m(t)h(command)f
+(projects)s(/)150 4578 y(nco/forums/forum/9830)p FD(\).)275
+4740 y(If)e(y)m(ou)i(think)f(y)m(ou)h(used)f(the)g(righ)m(t)h(command)f
(when)g FC(NCO)g FD(misb)s(eha)m(v)m(es,)i(then)e(y)m(ou)h(migh)m(t)g
-(ha)m(v)m(e)150 4298 y(found)k(a)i(bug.)63 b(Incorrect)39
+(ha)m(v)m(e)150 4849 y(found)k(a)i(bug.)63 b(Incorrect)39
b(n)m(umerical)g(answ)m(ers)f(are)g(the)h(highest)f(priorit)m(y)-8
-b(.)65 b(W)-8 b(e)40 b(usually)e(\014x)f(those)150 4408
+b(.)65 b(W)-8 b(e)40 b(usually)e(\014x)f(those)150 4959
y(within)42 b(one)g(or)g(t)m(w)m(o)i(da)m(ys.)76 b(Core)42
b(dumps)e(and)i(semen)m(tation)i(violations)f(receiv)m(e)h(lo)m(w)m(er)
-g(priorit)m(y)-8 b(.)150 4517 y(They)30 b(are)h(alw)m(a)m(ys)h
-(\014xed,)d(ev)m(en)m(tually)-8 b(.)275 4682 y(Ho)m(w)38
+g(priorit)m(y)-8 b(.)150 5068 y(They)30 b(are)h(alw)m(a)m(ys)h
+(\014xed,)d(ev)m(en)m(tually)-8 b(.)275 5230 y(Ho)m(w)38
b(do)g(y)m(ou)g(simplify)g(a)g(problem)f(that)i(rev)m(eal)g(a)f(bug?)63
b(Cut)37 b(out)h(extraneous)g(v)-5 b(ariables,)41 b(di-)150
-4792 y(mensions,)28 b(and)f(metadata)j(from)d(the)h(o\013ending)g
-(\014les)f(and)g(re-run)g(the)h(command)f(un)m(til)h(it)h(no)e(longer)
-150 4902 y(breaks.)62 b(Then)37 b(bac)m(k)h(up)f(one)g(step)h(and)f
-(rep)s(ort)g(the)h(problem.)62 b(Usually)38 b(the)f(\014le\(s\))i(will)
-f(b)s(e)f(v)m(ery)150 5011 y(small,)k(i.e.,)h(one)d(v)-5
-b(ariable)39 b(with)f(one)h(or)f(t)m(w)m(o)i(small)f(dimensions)f(ough)
-m(t)h(to)g(su\016ce.)65 b(Run)37 b(the)i(op-)150 5121
-y(erator)h(with)f(`)p Fy(-r)p FD(')g(and)f(then)h(run)f(the)h(command)g
-(with)g(`)p Fy(-D)30 b(5)p FD(')39 b(to)h(increase)g(the)f(v)m(erb)s
-(osit)m(y)h(of)g(the)150 5230 y(debugging)33 b(output.)48
-b(It)33 b(is)g(v)m(ery)g(imp)s(ortan)m(t)g(that)h(y)m(our)e(rep)s(ort)h
-(con)m(tain)h(the)f(exact)h(error)f(messages)150 5340
-y(and)i(compile-time)i(en)m(vironmen)m(t.)56 b(Include)35
-b(a)h(cop)m(y)g(of)g(y)m(our)f(sample)g(input)g(\014le,)i(or)e(place)h
-(one)g(on)p eop end
+5340 y(mensions,)28 b(and)f(metadata)j(from)d(the)h(o\013ending)g
+(\014les)f(and)g(re-run)g(the)h(command)f(un)m(til)h(it)h(no)e(longer)p
+eop end
%%Page: 14 20
TeXDict begin 14 19 bop 150 -116 a FD(14)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(a)h(publically)g(accessible)i(lo)s
+b FD(4.4.6)j(User)d(Guide)150 299 y(breaks.)62 b(Then)37
+b(bac)m(k)h(up)f(one)g(step)h(and)f(rep)s(ort)g(the)h(problem.)62
+b(Usually)38 b(the)f(\014le\(s\))i(will)f(b)s(e)f(v)m(ery)150
+408 y(small,)k(i.e.,)h(one)d(v)-5 b(ariable)39 b(with)f(one)h(or)f(t)m
+(w)m(o)i(small)f(dimensions)f(ough)m(t)h(to)g(su\016ce.)65
+b(Run)37 b(the)i(op-)150 518 y(erator)h(with)f(`)p Fy(-r)p
+FD(')g(and)f(then)h(run)f(the)h(command)g(with)g(`)p
+Fy(-D)30 b(5)p FD(')39 b(to)h(increase)g(the)f(v)m(erb)s(osit)m(y)h(of)
+g(the)150 628 y(debugging)33 b(output.)48 b(It)33 b(is)g(v)m(ery)g(imp)
+s(ortan)m(t)g(that)h(y)m(our)e(rep)s(ort)h(con)m(tain)h(the)f(exact)h
+(error)f(messages)150 737 y(and)i(compile-time)i(en)m(vironmen)m(t.)56
+b(Include)35 b(a)h(cop)m(y)g(of)g(y)m(our)f(sample)g(input)g(\014le,)i
+(or)e(place)h(one)g(on)150 847 y(a)31 b(publically)g(accessible)i(lo)s
(cation,)g(of)e(the)g(\014le\(s\).)43 b(P)m(ost)32 b(the)f(full)f(bug)h
-(rep)s(ort)f(to)i(the)f(NCO)f(Pro)5 b(ject)150 408 y(buglist)30
+(rep)s(ort)f(to)i(the)f(NCO)f(Pro)5 b(ject)150 956 y(buglist)30
b(\()p Fy(http://sf.net/bugs/?group_i)o(d=33)o(31)p FD(\).)275
-568 y(Build)h(failures)g(coun)m(t)h(as)g(bugs.)43 b(Our)30
+1116 y(Build)h(failures)g(coun)m(t)h(as)g(bugs.)43 b(Our)30
b(limited)i(mac)m(hine)g(access)h(means)e(w)m(e)h(cannot)g(\014x)f(all)
-h(build)150 677 y(failures.)39 b(The)23 b(information)i(w)m(e)g(need)f
+h(build)150 1225 y(failures.)39 b(The)23 b(information)i(w)m(e)g(need)f
(to)h(diagnose,)h(and)e(often)h(\014x,)g(build)e(failures)h(are)h(the)g
-(three)f(\014les)150 787 y(output)43 b(b)m(y)g FC(GNU)h
+(three)f(\014les)150 1335 y(output)43 b(b)m(y)g FC(GNU)h
FD(build)e(to)s(ols,)48 b Fy(nco.config.log.${GNU_TR)o(P}.f)o(oo)p
-FD(,)40 b Fy(nco.configure.${GNU_)150 897 y(TRP}.foo)p
+FD(,)40 b Fy(nco.configure.${GNU_)150 1445 y(TRP}.foo)p
FD(,)29 b(and)i Fy(nco.make.${GNU_TRP}.foo)p FD(.)37
b(The)30 b(\014le)h Fy(configure.eg)d FD(sho)m(ws)j(ho)m(w)g(to)h(pro)s
-(duce)150 1006 y(these)h(\014les.)46 b(Here)32 b Fy(${GNU_TRP})d
-FD(is)k(the)f Fy(")p FC(GNU)g FD(arc)m(hitecture)i(triplet)p
-Fy(")p FD(,)f(the)g Fz(c)m(hip-v)m(endor-OS)k FD(string)150
-1116 y(returned)27 b(b)m(y)i Fy(config.guess)p FD(.)37
-b(Please)29 b(send)f(us)g(y)m(our)g(impro)m(v)m(emen)m(ts)i(to)f(the)g
-(examples)g(supplied)e(in)150 1225 y Fy(configure.eg)p
-FD(.)48 b(The)33 b(regressions)h(arc)m(hiv)m(e)h(at)g
-Fy(http:)s(/)s(/)r(dust)s(.)r(ess)s(.)r(uci)s(.)r(edu)r(/)r(nc)o(o)s(/)
-r(rg)o(r)28 b FD(con)m(tains)150 1335 y(the)38 b(build)e(output)h(from)
-g(our)g(standard)g(test)h(systems.)63 b(Y)-8 b(ou)38
-b(ma)m(y)g(\014nd)e(y)m(ou)i(can)f(solv)m(e)i(the)f(build)150
-1445 y(problem)30 b(y)m(ourself)g(b)m(y)h(examining)g(the)f
+(duce)150 1554 y(these)h(\014les.)47 b(Here)33 b Fy(${GNU_TRP})d
+FD(is)i(the)h(\\)p FC(GNU)g FD(arc)m(hitecture)h(triplet",)h(the)d
+Fz(c)m(hip-v)m(endor-OS)38 b FD(string)150 1664 y(returned)27
+b(b)m(y)i Fy(config.guess)p FD(.)37 b(Please)29 b(send)f(us)g(y)m(our)g
+(impro)m(v)m(emen)m(ts)i(to)f(the)g(examples)g(supplied)e(in)150
+1773 y Fy(configure.eg)p FD(.)48 b(The)33 b(regressions)h(arc)m(hiv)m
+(e)h(at)g Fy(http:)s(/)s(/)r(dust)s(.)r(ess)s(.)r(uci)s(.)r(edu)r(/)r
+(nc)o(o)s(/)r(rg)o(r)28 b FD(con)m(tains)150 1883 y(the)38
+b(build)e(output)h(from)g(our)g(standard)g(test)h(systems.)63
+b(Y)-8 b(ou)38 b(ma)m(y)g(\014nd)e(y)m(ou)i(can)f(solv)m(e)i(the)f
+(build)150 1993 y(problem)30 b(y)m(ourself)g(b)m(y)h(examining)g(the)f
(di\013erences)h(b)s(et)m(w)m(een)g(these)g(\014les)f(and)g(y)m(our)g
(o)m(wn.)p eop end
%%Page: 15 21
@@ -13108,10 +13120,10 @@ Fz(output-\014le)5 b FD(\).)p 150 5154 1200 4 v 199 5221
a Ft(1)275 5253 y Fs(The)29 b Fr(ncrename)i Fs(and)d
Fr(ncatted)j Fs(op)r(erators)f(are)g(exceptions)f(to)g(this)g(rule.)45
b(See)29 b(Section)g(4.11)i([ncrename)e(netCDF)275 5340
-y(Renamer],)d(page)g(201.)p eop end
+y(Renamer],)d(page)g(202.)p eop end
%%Page: 16 22
TeXDict begin 16 21 bop 150 -116 a FD(16)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(Also,)37 b(note)e(this)f(feature)h
+b FD(4.4.6)j(User)d(Guide)150 299 y(Also,)37 b(note)e(this)f(feature)h
(increases)h(the)f(execution)g(time)h(of)f(the)f(op)s(erator)h(b)m(y)g
(appro)m(ximately)h(the)150 408 y(time)i(it)f(tak)m(es)i(to)f(cop)m(y)g
(the)f Fz(output-\014le)1620 375 y Ft(2)1657 408 y FD(.)61
@@ -13139,7 +13151,7 @@ b(This)34 b(is)g(and)g(has)g(alw)m(a)m(ys)i(b)s(een)e(the)h(default)150
(to)g(sp)s(ecify)g(these)g(switc)m(hes.)81 b(Ho)m(w)m(ev)m(er,)50
b(the)44 b(default)150 1554 y(ma)m(y)27 b(c)m(hange)g(some)g(da)m(y)-8
b(,)28 b(esp)s(ecially)f(since)f(writing)h(to)f(RAM)h(disks)f(\(see)h
-(Section)g(3.30)g([RAM)g(disks],)150 1664 y(page)f(79\))g(ma)m(y)g
+(Section)g(3.30)g([RAM)g(disks],)150 1664 y(page)f(80\))g(ma)m(y)g
(some)f(da)m(y)g(b)s(ecome)h(the)f(default.)39 b(The)25
b(`)p Fy(--no_tmp_fl)p FD(')d(switc)m(h)k(causes)f FC(NCO)g
FD(to)h(write)150 1773 y(directly)k(to)g(the)f(\014nal)g(output)g
@@ -13155,7 +13167,7 @@ b FD(since,)d(as)e(describ)s(ed)f(ab)s(o)m(v)m(e,)k(the)150
2212 y(temp)s(orary)26 b(\014le)h(prev)m(en)m(ted)g(o)m(v)m(erlap)i
(issues.)39 b(Ho)m(w)m(ev)m(er,)29 b(if)e(the)g(user)f(creates)i(the)f
(output)f(\014le)h(in)g FC(RAM)150 2321 y FD(\(see)33
-b(Section)f(3.30)i([RAM)e(disks],)g(page)g(79\))h(then)f(it)g(is)g
+b(Section)f(3.30)i([RAM)e(disks],)g(page)g(80\))h(then)f(it)g(is)g
(still)h(p)s(ossible)e(to)h(ha)m(v)m(e)h(the)f(same)g(name)g(for)150
2431 y(b)s(oth)e Fz(output-\014le)35 b FD(and)30 b Fz(input-\014le)p
FD(.)390 2590 y Fy(ncks)47 b(in.nc)f(out.nc)g(#)i(Default:)d(create)h
@@ -13177,7 +13189,7 @@ j(it)d(is)f(unreliable.)62 b(One)37 b(w)m(a)m(y)i(around)d(this)i(is)
150 3626 y(to)e(use)e(`)p Fy(--create_ram)p FD(')e(so)j(that)g(the)g
(output)g(\014le)g(is)f(not)h(written)g(to)h(disk)e(un)m(til)h(the)g
(input)f(\014le)h(is)150 3736 y(closed,)j(See)e(Section)g(3.30)h([RAM)g
-(disks],)f(page)h(79.)57 b(Ho)m(w)m(ev)m(er,)39 b(as)d(of)g(20130328,)k
+(disks],)f(page)h(80.)57 b(Ho)m(w)m(ev)m(er,)39 b(as)d(of)g(20130328,)k
(the)c(b)s(eha)m(vior)g(of)150 3846 y(the)31 b(`)p Fy(--create_ram)p
FD(')c(and)j(`)p Fy(--open_ram)p FD(')e(examples)j(has)f(not)h(b)s(een)
e(thoroughly)i(tested.)275 4005 y(The)26 b FC(NCO)g FD(authors)h(ha)m
@@ -13210,8 +13222,8 @@ b(prompting)g(the)h(user)f(in)m(teractiv)m(ely)-8 b(.)51
b(Sp)s(ecifying)32 b(`)p Fy(-A)p FD(')h(tells)h(the)p
150 5241 1200 4 v 199 5308 a Ft(2)275 5340 y Fs(The)25
b(OS-sp)r(eci\014c)h(system)f(mo)n(v)n(e)h(command)g(is)g(used.)34
-b(This)26 b(is)h Fr(mv)f Fs(for)g(UNIX,)e(and)i Fr(move)g
-Fs(for)h(Windo)n(ws.)p eop end
+b(This)26 b(is)h Fr(mv)f Fs(for)g Fp(UNIX)p Fs(,)g(and)f
+Fr(move)i Fs(for)f(Windo)n(ws.)p eop end
%%Page: 17 23
TeXDict begin 17 22 bop 150 -116 a FD(Chapter)30 b(2:)41
b(Op)s(erator)30 b(Strategies)2264 b(17)150 299 y(op)s(erator)25
@@ -13299,7 +13311,7 @@ b Fs(use)h Fm(paste)k Fs(instead)c(of)g Fm(app)r(end)s
Fs(?)p eop end
%%Page: 18 24
TeXDict begin 18 23 bop 150 -116 a FD(18)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(2.6)68 b(Statistics)47
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(2.6)68 b(Statistics)47
b(vs.)e(Concatenation)150 458 y FD(The)24 b(most)g(frequen)m(tly)h
(used)e(op)s(erators)h(of)h FC(NCO)f FD(are)g(probably)g(the)g
Fz(statisticians)30 b FD(\(i.e.,)d(to)s(ols)e(that)g(do)150
@@ -13344,7 +13356,7 @@ Fy(ncrcat)g(8?.nc)g(8589.nc)p FD(.)150 2439 y(The)39
b(n)m(um)m(b)s(er)f(of)h(records)g(in)g(the)g(input)f(\014les)h(is)h
(arbitrary)f(and)f(can)i(v)-5 b(ary)39 b(from)f(\014le)i(to)f(\014le.)
68 b(See)150 2548 y(Section)28 b(4.10)i([ncrcat)e(netCDF)g(Record)g
-(Concatenator],)i(page)f(199,)h(for)d(a)h(complete)h(description)f(of)
+(Concatenator],)i(page)f(200,)h(for)d(a)h(complete)h(description)f(of)
150 2658 y Fy(ncrcat)p FD(.)275 2817 y(Ho)m(w)m(ev)m(er,)39
b(supp)s(ose)34 b(the)i(ann)m(ual)g(\014les)g(ha)m(v)m(e)h(no)e(record)
h(v)-5 b(ariable,)38 b(and)d(th)m(us)h(their)f(data)i(are)f(all)150
@@ -13468,7 +13480,7 @@ Fy(ncra)g FD(will)h(ha)m(v)m(e)g(the)g(same)g(dimensions)f(as)h(the)g
(input)e(h)m(yp)s(erslabs)h(except)150 3494 y(for)30
b(the)g(record)g(dimension,)g(whic)m(h)g(will)h(ha)m(v)m(e)g(a)g(size)g
(of)f(1)h(\(see)g(Section)g(4.9)h([ncra)e(netCDF)h(Record)150
-3604 y(Av)m(erager],)h(page)f(197,)h(for)f(a)f(complete)i(description)f
+3604 y(Av)m(erager],)h(page)f(198,)h(for)f(a)f(complete)i(description)f
(of)f Fy(ncra)p FD(\).)150 3808 y Fu(2.6.3)63 b(In)m(terp)s(olator)41
b Fl(ncflint)150 3955 y Fy(ncflint)20 b FD(can)i(in)m(terp)s(olate)i
(data)f(b)s(et)m(w)m(een)g(or)f(t)m(w)m(o)h(\014les.)38
@@ -13501,7 +13513,7 @@ b(Ho)m(w)m(ev)m(er,)38 b(the)d(`)p Fy(-n)30 b Fn(loop)p
FD(')j(switc)m(h)i(is)g(useless)g(when)p eop end
%%Page: 20 26
TeXDict begin 20 25 bop 150 -116 a FD(20)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(there)h(is)g(no)g(simple,)g
+b FD(4.4.6)j(User)d(Guide)150 299 y(there)h(is)g(no)g(simple,)g
(arithmetic)h(pattern)f(to)h(the)f(input)f(\014lenames)h(\(e.g.,)h
Fy(h00001.nc)p FD(,)d Fy(h00002.nc)p FD(,)156 408 y(.)22
b(.)g(.)42 b Fy(h90210.nc)m FD(\).)54 b(Moreo)m(v)m(er,)39
@@ -13541,7 +13553,7 @@ b(o)26 b(remedy)f(this)g(situation,)j(m)m(ulti-\014le)e(op)s(erators)g
2346 y Fy(nco_input_file_number)32 b FD(global)39 b(attribute)g(and)e
(the)h(input)e(\014le)i(list)h(itself)f(in)g(the)g Fy(nco_input_)150
2456 y(file_list)g FD(global)43 b(attribute)e(\(see)h(Section)g(3.36)h
-([File)f(List)f(A)m(ttributes],)k(page)d(97\).)74 b(Although)150
+([File)f(List)f(A)m(ttributes],)k(page)d(98\).)74 b(Although)150
2565 y(this)32 b(do)s(es)g(not)h(preserv)m(e)g(the)f(exact)i(command)e
(used)g(to)h(generate)h(the)e(\014le,)i(it)f(do)s(es)f(retains)g(all)i
(the)150 2675 y(information)d(required)e(to)i(reconstruct)g(the)g
@@ -13602,362 +13614,369 @@ b(Op)s(erator)30 b(Strategies)2264 b(21)150 299 y(dies)30
b(if)f(it)h(reac)m(hes)h(this)e(in)m(ternal)i(limit.)41
b(When)29 b(this)h(o)s(ccurs,)f(use)h(either)g(the)f
Fy(stdin)f FD(metho)s(d)h(ab)s(o)m(v)m(e,)150 408 y(or)h(the)h(sym)m(b)
-s(olic)g(link)f(presen)m(ted)g(next.)275 593 y(Ev)m(en)44
+s(olic)g(link)f(presen)m(ted)g(next.)275 597 y(Ev)m(en)44
b(when)g(its)h(in)m(ternal)g(limits)h(ha)m(v)m(e)f(not)g(b)s(een)f
(reac)m(hed,)49 b(the)c Fy(xargs)e FD(tec)m(hnique)i(ma)m(y)h(not)150
-703 y(b)s(e)38 b(sophisticated)j(enough)e(to)g(handle)g(all)h
+707 y(b)s(e)38 b(sophisticated)j(enough)e(to)g(handle)g(all)h
(situations.)68 b(A)39 b(full)g(scripting)g(language)i(lik)m(e)f(P)m
-(erl)g(can)150 812 y(handle)c(an)m(y)i(lev)m(el)g(of)f(complexit)m(y)i
+(erl)g(can)150 817 y(handle)c(an)m(y)i(lev)m(el)g(of)f(complexit)m(y)i
(of)e(\014ltering)g(input)f(\014lenames,)j(and)d(an)m(y)h(n)m(um)m(b)s
-(er)f(of)h(\014lenames.)150 922 y(The)i(tec)m(hnique)h(of)g(last)g
+(er)f(of)h(\014lenames.)150 926 y(The)i(tec)m(hnique)h(of)g(last)g
(resort)g(is)f(to)h(write)g(a)g(script)f(that)h(creates)h(sym)m(b)s
-(olic)e(links)h(b)s(et)m(w)m(een)g(the)150 1031 y(irregular)25
+(olic)e(links)h(b)s(et)m(w)m(een)g(the)150 1036 y(irregular)25
b(input)e(\014lenames)i(and)f(a)h(set)g(of)g(regular,)h(arithmetic)g
(\014lenames)f(that)g(the)g(`)p Fy(-n)30 b Fn(loop)p
-FD(')23 b(switc)m(h)150 1141 y(understands.)62 b(F)-8
+FD(')23 b(switc)m(h)150 1145 y(understands.)62 b(F)-8
b(or)39 b(example,)h(the)f(follo)m(wing)g(P)m(erl)g(script)f(creates)h
-(a)g(monotonically)h(en)m(umerated)150 1251 y(sym)m(b)s(olic)28
+(a)g(monotonically)h(en)m(umerated)150 1255 y(sym)m(b)s(olic)28
b(link)g(to)h(up)e(to)i(one)f(million)h Fy(.nc)e FD(\014les)h(in)g(a)g
(directory)-8 b(.)41 b(If)28 b(there)g(are)g(999,999)j(netCDF)e
-(\014les)150 1360 y(presen)m(t,)i(the)f(links)g(are)h(named)f
-Fy(000001.nc)e FD(to)j Fy(999999.nc)p FD(:)390 1545 y
+(\014les)150 1364 y(presen)m(t,)i(the)f(links)g(are)h(named)f
+Fy(000001.nc)e FD(to)j Fy(999999.nc)p FD(:)390 1553 y
Fy(#)47 b(Create)g(enumerated)e(symbolic)g(links)390
-1654 y(/bin/ls)h(|)h(grep)g(\\.nc)g(|)g(perl)g(-e)g(\\)390
-1764 y('$idx=1;while\(<STDIN>\){c)o(hop;)o(syml)o(ink)41
-b($_,sprintf\("\04506d.nc",$idx)o(++\);)o(}')390 1873
+1663 y(/bin/ls)h(|)h(grep)g(\\.nc)g(|)g(perl)g(-e)g(\\)390
+1773 y('$idx=1;while\(<STDIN>\){c)o(hop;)o(syml)o(ink)41
+b($_,sprintf\("\04506d.nc",$idx)o(++\);)o(}')390 1882
y(ncecat)46 b(-n)h(999999,6,1)e(000001.nc)h(foo.nc)390
-1983 y(#)h(Remove)g(symbolic)e(links)h(when)h(finished)390
-2093 y(/bin/rm)f(??????.nc)275 2277 y FD(The)33 b(`)p
+1992 y(#)h(Remove)g(symbolic)e(links)h(when)h(finished)390
+2101 y(/bin/rm)f(??????.nc)275 2290 y FD(The)33 b(`)p
Fy(-n)d Fn(loop)p FD(')j(option)i(tells)g(the)f FC(NCO)g
FD(op)s(erator)g(to)h(automatically)h(generate)g(the)e(\014lnames)g(of)
-150 2387 y(the)h(sym)m(b)s(olic)g(links.)54 b(This)35
+150 2400 y(the)h(sym)m(b)s(olic)g(links.)54 b(This)35
b(circum)m(v)m(en)m(ts)h(an)m(y)f FC(OS)g FD(and)f(shell)h(limits)h(on)
-e(command)h(line)g(size.)55 b(The)150 2496 y(sym)m(b)s(olic)23
+e(command)h(line)g(size.)55 b(The)150 2509 y(sym)m(b)s(olic)23
b(links)f(are)g(easily)i(remo)m(v)m(ed)f(once)g FC(NCO)f
FD(is)g(\014nished.)37 b(One)21 b(dra)m(wbac)m(k)i(to)g(this)f(metho)s
-(d)g(is)g(that)150 2606 y(the)34 b Fy(history)f FD(attribute)h(\(see)h
+(d)g(is)g(that)150 2619 y(the)34 b Fy(history)f FD(attribute)h(\(see)h
(Section)g(3.35)h([History)f(A)m(ttribute],)i(page)e(97\))g(retains)f
-(the)h(\014lename)150 2716 y(list)g(of)f(the)g(sym)m(b)s(olic)g(links,)
+(the)h(\014lename)150 2729 y(list)g(of)f(the)g(sym)m(b)s(olic)g(links,)
h(rather)f(than)g(the)g(data)h(\014les)f(themselv)m(es.)53
-b(This)33 b(mak)m(es)i(it)f(di\016cult)g(to)150 2825
+b(This)33 b(mak)m(es)i(it)f(di\016cult)g(to)150 2838
y(determine)c(the)h(data)g(pro)m(v)m(enance)h(at)f(a)f(later)i(date.)
-150 3133 y FB(2.8)68 b(Large)46 b(Datasets)150 3292 y
+150 3159 y FB(2.8)68 b(Large)46 b(Datasets)150 3318 y
Fz(Large)33 b(datasets)k FD(are)c(those)g(\014les)f(that)h(are)g
(comparable)g(in)f(size)h(to)g(the)g(amoun)m(t)g(of)f(random)g(access)
-150 3402 y(memory)c(\()p FC(RAM)p FD(\))h(in)f(y)m(our)g(computer.)40
+150 3428 y(memory)c(\()p FC(RAM)p FD(\))h(in)f(y)m(our)g(computer.)40
b(Man)m(y)29 b(users)e(of)h FC(NCO)g FD(w)m(ork)g(with)g(\014les)g
-(larger)h(than)e(100)32 b(MB)q(.)150 3512 y(Files)j(this)f(large)g(not)
+(larger)h(than)e(100)32 b(MB)q(.)150 3538 y(Files)j(this)f(large)g(not)
h(only)e(push)g(the)h(curren)m(t)f(edge)i(of)f(storage)h(tec)m(hnology)
--8 b(,)38 b(they)33 b(presen)m(t)h(sp)s(ecial)150 3621
+-8 b(,)38 b(they)33 b(presen)m(t)h(sp)s(ecial)150 3647
y(problems)i(for)g(programs)h(whic)m(h)f(attempt)i(to)g(access)g(the)e
(en)m(tire)i(\014le)f(at)g(once,)j(suc)m(h)c(as)h Fy(nces)f
-FD(and)150 3731 y Fy(ncecat)p FD(.)h(If)23 b(y)m(ou)g(w)m(ork)h(with)f
+FD(and)150 3757 y Fy(ncecat)p FD(.)h(If)23 b(y)m(ou)g(w)m(ork)h(with)f
(a)h(300)31 b(MB)24 b(\014les)g(on)f(a)h(mac)m(hine)g(with)f(only)g(32)
-32 b(MB)24 b(of)f(memory)h(then)f(y)m(ou)150 3840 y(will)29
+32 b(MB)24 b(of)f(memory)h(then)f(y)m(ou)150 3866 y(will)29
b(need)f(large)i(amoun)m(ts)f(of)f(sw)m(ap)h(space)g(\(virtual)g
(memory)g(on)f(disk\))h(and)f FC(NCO)g FD(will)h(w)m(ork)f(slo)m(wly)-8
-b(,)150 3950 y(or)32 b(ev)m(en)g(fail.)46 b(There)31
+b(,)150 3976 y(or)32 b(ev)m(en)g(fail.)46 b(There)31
b(is)h(no)f(easy)h(solution)h(for)e(this.)45 b(The)31
b(b)s(est)g(strategy)j(is)d(to)i(w)m(ork)f(on)f(a)h(mac)m(hine)150
-4060 y(with)38 b(su\016cien)m(t)h(amoun)m(ts)f(of)g(memory)g(and)g(sw)m
+4086 y(with)38 b(su\016cien)m(t)h(amoun)m(ts)f(of)g(memory)g(and)g(sw)m
(ap)g(space.)65 b(Since)38 b(ab)s(out)g(2004,)k(man)m(y)c(users)g(ha)m
-(v)m(e)150 4169 y(b)s(egun)d(to)j(pro)s(duce)d(or)i(analyze)h(\014les)f
+(v)m(e)150 4195 y(b)s(egun)d(to)j(pro)s(duce)d(or)i(analyze)h(\014les)f
(exceeding)g(2)31 b(GB)38 b(in)e(size.)60 b(These)37
-b(users)e(should)h(familiarize)150 4279 y(themselv)m(es)d(with)f
+b(users)e(should)h(familiarize)150 4305 y(themselv)m(es)d(with)f
FC(NCO)p FD('s)h(Large)g(File)g(Supp)s(ort)d(\()p FC(LFS)p
FD(\))j(capabilities)h(\(see)g(Section)f(3.10)h([Large)f(File)150
-4388 y(Supp)s(ort],)40 b(page)g(40\).)69 b(The)39 b(next)g(section)i
+4414 y(Supp)s(ort],)40 b(page)g(40\).)69 b(The)39 b(next)g(section)i
(will)e(increase)h(y)m(our)g(familiarit)m(y)h(with)e
-FC(NCO)p FD('s)g(memory)150 4498 y(requiremen)m(ts.)70
+FC(NCO)p FD('s)g(memory)150 4524 y(requiremen)m(ts.)70
b(With)41 b(this)f(kno)m(wledge)h(y)m(ou)g(ma)m(y)f(re-design)h(y)m
-(our)f(data)h(reduction)f(approac)m(h)g(to)150 4607 y(divide)30
+(our)f(data)h(reduction)f(approac)m(h)g(to)150 4633 y(divide)30
b(the)h(problem)f(in)m(to)h(pieces)g(solv)-5 b(able)31
-b(in)g(memory-limited)g(situations.)275 4792 y(If)43
-b(y)m(our)i(lo)s(cal)g(mac)m(hine)g(has)f(problems)g(w)m(orking)g(with)
-g(large)i(\014les,)i(try)c(running)e FC(NCO)i FD(from)150
-4902 y(a)38 b(more)f(p)s(o)m(w)m(erful)g(mac)m(hine,)i(suc)m(h)e(as)h
-(a)f(net)m(w)m(ork)h(serv)m(er.)62 b(Certain)37 b(mac)m(hine)h(arc)m
-(hitectures,)i(e.g.,)150 5011 y(Cra)m(y)24 b FC(UNICOS)p
-FD(,)h(ha)m(v)m(e)h(sp)s(ecial)e(commands)f(whic)m(h)h(allo)m(w)h(one)f
-(to)h(increase)g(the)f(amoun)m(t)g(of)g(in)m(teractiv)m(e)150
-5121 y(memory)-8 b(.)39 b(On)22 b(Cra)m(y)g(systems,)j(try)e(to)g
-(increase)h(the)f(a)m(v)-5 b(ailable)25 b(memory)e(with)g(the)g
-Fy(ilimit)e FD(command.)150 5230 y(If)g(y)m(ou)h(get)g(a)g
-(memory-related)h(core)f(dump)e(\(e.g.,)25 b(`)p Fy(Error)k(exit)g
-(\(core)g(dumped\))p FD('\))20 b(on)i(a)f FC(GNU)p FD(/Lin)m(ux)150
-5340 y(system,)31 b(try)f(increasing)h(the)g(pro)s(cess-a)m(v)-5
-b(ailable)32 b(memory)e(with)h Fy(ulimit)p FD(.)p eop
-end
+b(in)g(memory-limited)g(situations.)275 4822 y(If)37
+b(y)m(our)h(lo)s(cal)h(mac)m(hine)g(has)f(problems)f(w)m(orking)h(with)
+g(large)h(\014les,)h(try)e(running)e FC(NCO)i FD(from)g(a)150
+4932 y(more)32 b(p)s(o)m(w)m(erful)f(mac)m(hine,)i(suc)m(h)e(as)h(a)g
+(net)m(w)m(ork)h(serv)m(er.)44 b(If)32 b(y)m(ou)g(get)g(a)g
+(memory-related)h(core)g(dump)150 5042 y(\(e.g.,)h(`)p
+Fy(Error)29 b(exit)h(\(core)e(dumped\))p FD('\))j(on)h(a)g
+FC(GNU)p FD(/Lin)m(ux)g(system,)h(or)f(the)g(op)s(eration)g(ends)f(b)s
+(efore)150 5151 y(the)g(en)m(tire)g(output)f(\014le)g(is)h(written,)f
+(try)h(increasing)g(the)f(pro)s(cess-a)m(v)-5 b(ailable)33
+b(memory)d(with)g Fy(ulimit)p FD(:)390 5340 y Fy(ulimit)46
+b(-f)h(unlimited)p eop end
%%Page: 22 28
TeXDict begin 22 27 bop 150 -116 a FD(22)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)k(sp)s(eed)f(of)i(the)g
+b FD(4.4.6)j(User)d(Guide)275 299 y(This)21 b(ma)m(y)h(solv)m(e)h
+(constrain)m(ts)g(on)f(clusters)g(where)f(su\016cien)m(t)h(hardw)m(are)
+g(resources)g(exist)g(y)m(et)h(where)150 408 y(system)29
+b(administrators)g(felt)g(it)h(wise)f(to)g(prev)m(en)m(t)g(an)m(y)h
+(individual)e(user)g(from)g(consuming)g(to)s(o)i(m)m(uc)m(h)150
+518 y(of)41 b(resource.)74 b(Certain)41 b(mac)m(hine)h(arc)m
+(hitectures,)j(e.g.,)h(Cra)m(y)41 b FC(UNICOS)p FD(,)j(ha)m(v)m(e)f(sp)
+s(ecial)e(commands)150 628 y(whic)m(h)36 b(allo)m(w)i(one)f(to)g
+(increase)g(the)g(amoun)m(t)g(of)g(in)m(teractiv)m(e)i(memory)-8
+b(.)59 b(On)36 b(Cra)m(y)h(systems,)h(try)e(to)150 737
+y(increase)31 b(the)g(a)m(v)-5 b(ailable)32 b(memory)f(with)f(the)g
+Fy(ilimit)f FD(command.)275 902 y(The)34 b(sp)s(eed)f(of)i(the)g
FC(NCO)f FD(op)s(erators)h(also)g(dep)s(ends)e(on)h(\014le)h(size.)54
-b(When)34 b(pro)s(cessing)g(large)i(\014les)150 408 y(the)29
-b(op)s(erators)h(ma)m(y)g(app)s(ear)e(to)i(hang,)g(or)f(do)h(nothing,)f
-(for)g(large)i(p)s(erio)s(ds)c(of)j(time.)41 b(In)29
-b(order)f(to)i(see)150 518 y(what)35 b(the)h(op)s(erator)g(is)f
-(actually)i(doing,)g(it)f(is)f(useful)g(to)h(activ)-5
+b(When)34 b(pro)s(cessing)g(large)i(\014les)150 1012
+y(the)29 b(op)s(erators)h(ma)m(y)g(app)s(ear)e(to)i(hang,)g(or)f(do)h
+(nothing,)f(for)g(large)i(p)s(erio)s(ds)c(of)j(time.)41
+b(In)29 b(order)f(to)i(see)150 1121 y(what)35 b(the)h(op)s(erator)g(is)
+f(actually)i(doing,)g(it)f(is)f(useful)g(to)h(activ)-5
b(ate)38 b(a)e(more)g(v)m(erb)s(ose)f(output)g(mo)s(de.)150
-628 y(This)i(is)h(accomplished)g(b)m(y)g(supplying)e(a)i(n)m(um)m(b)s
+1231 y(This)i(is)h(accomplished)g(b)m(y)g(supplying)e(a)i(n)m(um)m(b)s
(er)e(greater)j(than)30 b(0)38 b(to)h(the)f(`)p Fy(-D)30
-b Fn(debug-level)p FD(')35 b(\(or)150 737 y(`)p Fy(--debug-level)p
+b Fn(debug-level)p FD(')35 b(\(or)150 1341 y(`)p Fy(--debug-level)p
FD(',)29 b(or)j(`)p Fy(--dbg_lvl)p FD('\))e(switc)m(h.)45
b(When)31 b(the)h Fz(debug-lev)m(el)37 b FD(is)31 b(nonzero,)i(the)f
-(op)s(erators)150 847 y(rep)s(ort)42 b(their)h(curren)m(t)f(status)h
+(op)s(erators)150 1450 y(rep)s(ort)42 b(their)h(curren)m(t)f(status)h
(to)h(the)f(terminal)g(through)f(the)h Fz(stderr)48 b
FD(facilit)m(y)-8 b(.)81 b(Using)43 b(`)p Fy(-D)p FD(')f(do)s(es)150
-956 y(not)37 b(slo)m(w)f(the)h(op)s(erators)f(do)m(wn.)58
+1560 y(not)37 b(slo)m(w)f(the)h(op)s(erators)f(do)m(wn.)58
b(Cho)s(ose)36 b(a)h Fz(debug-lev)m(el)k FD(b)s(et)m(w)m(een)31
b(1)37 b(and)30 b(3)36 b(for)g(most)h(situations,)150
-1066 y(e.g.,)49 b Fy(nces)29 b(-D)h(2)g(85.nc)f(86.nc)g(8586.nc)p
+1669 y(e.g.,)49 b Fy(nces)29 b(-D)h(2)g(85.nc)f(86.nc)g(8586.nc)p
FD(.)80 b(A)31 b(full)44 b(description)g(of)g(ho)m(w)g(to)h(estimate)h
-(the)f(actual)150 1176 y(amoun)m(t)33 b(of)g(memory)f(the)h(m)m
+(the)f(actual)150 1779 y(amoun)m(t)33 b(of)g(memory)f(the)h(m)m
(ulti-\014le)h FC(NCO)e FD(op)s(erators)h(consume)f(is)h(giv)m(en)h(in)
-e(Section)h(2.9)h([Memory)150 1285 y(Requiremen)m(ts],)d(page)g(22.)150
-1507 y FB(2.9)68 b(Memory)45 b(Requiremen)l(ts)150 1667
+e(Section)h(2.9)h([Memory)150 1889 y(Requiremen)m(ts],)d(page)g(22.)150
+2138 y FB(2.9)68 b(Memory)45 b(Requiremen)l(ts)150 2297
y FD(Man)m(y)38 b(p)s(eople)g(use)g FC(NCO)f FD(on)h(gargan)m(tuan)g
(\014les)g(whic)m(h)g(dw)m(arf)f(the)h(memory)f(a)m(v)-5
-b(ailable)40 b(\(free)f FC(RAM)150 1776 y FD(plus)c(sw)m(ap)g(space\))h
+b(ailable)40 b(\(free)f FC(RAM)150 2407 y FD(plus)c(sw)m(ap)g(space\))h
(ev)m(en)h(on)e(to)s(da)m(y's)h(p)s(o)m(w)m(erful)f(mac)m(hines.)57
b(These)36 b(users)e(w)m(an)m(t)j FC(NCO)e FD(to)h(consume)150
-1886 y(the)26 b(least)g(memory)f(p)s(ossible)g(so)h(that)g(their)f
+2516 y(the)26 b(least)g(memory)f(p)s(ossible)g(so)h(that)g(their)f
(scripts)h(do)f(not)h(ha)m(v)m(e)g(to)g(tediously)g(cut)g(\014les)f(in)
-m(to)h(smaller)150 1995 y(pieces)i(that)h(\014t)e(in)m(to)i(memory)-8
+m(to)h(smaller)150 2626 y(pieces)i(that)h(\014t)e(in)m(to)i(memory)-8
b(.)40 b(W)-8 b(e)29 b(commend)e(these)i(greedy)f(users)e(for)i
-(pushing)e FC(NCO)h FD(to)i(its)f(limits!)275 2155 y(This)21
+(pushing)e FC(NCO)h FD(to)i(its)f(limits!)275 2791 y(This)21
b(section)i(describ)s(es)f(the)g(memory)g FC(NCO)g FD(requires)g
(during)f(op)s(eration.)38 b(The)22 b(required)f(memory)150
-2264 y(is)40 b(based)g(on)g(the)h(underlying)e(algorithms.)71
+2900 y(is)40 b(based)g(on)g(the)h(underlying)e(algorithms.)71
b(The)40 b(description)h(b)s(elo)m(w)f(is)g(the)h(memory)f(usage)h(p)s
-(er)150 2374 y(thread.)68 b(Users)40 b(with)f(shared)g(memory)h(mac)m
+(er)150 3010 y(thread.)68 b(Users)40 b(with)f(shared)g(memory)h(mac)m
(hines)g(ma)m(y)g(use)g(the)f(threaded)h FC(NCO)f FD(op)s(erators)h
-(\(see)150 2484 y(Section)f(3.3)f([Op)s(enMP)f(Threading],)i(page)g
+(\(see)150 3120 y(Section)f(3.3)f([Op)s(enMP)f(Threading],)i(page)g
(25\).)64 b(The)37 b(p)s(eak)g(and)g(sustained)h(memory)f(usage)i(will)
-150 2593 y(scale)44 b(accordingly)-8 b(,)48 b(i.e.,)f(b)m(y)c(the)g(n)m
+150 3229 y(scale)44 b(accordingly)-8 b(,)48 b(i.e.,)f(b)m(y)c(the)g(n)m
(um)m(b)s(er)e(of)i(threads.)78 b(Memory)43 b(consumption)f(patterns)h
-(of)g(all)150 2703 y(op)s(erators)31 b(are)f(similar,)h(with)f(the)h
-(exception)g(of)g Fy(ncap2)p FD(.)150 2892 y Fu(2.9.1)63
-b(Single)41 b(and)g(Multi-\014le)h(Op)s(erators)150 3039
+(of)g(all)150 3339 y(op)s(erators)31 b(are)f(similar,)h(with)f(the)h
+(exception)g(of)g Fy(ncap2)p FD(.)150 3549 y Fu(2.9.1)63
+b(Single)41 b(and)g(Multi-\014le)h(Op)s(erators)150 3696
y FD(The)d(m)m(ulti-\014le)i(op)s(erators)e(curren)m(tly)h(comprise)g
(the)g(record)f(op)s(erators,)k Fy(ncra)38 b FD(and)h
-Fy(ncrcat)p FD(,)i(and)150 3148 y(the)27 b(ensem)m(ble)h(op)s(erators,)
+Fy(ncrcat)p FD(,)i(and)150 3806 y(the)27 b(ensem)m(ble)h(op)s(erators,)
g Fy(nces)e FD(and)g Fy(ncecat)p FD(.)38 b(The)27 b(record)f(op)s
(erators)i(require)e Fo(much)k(less)35 b FD(memory)150
-3258 y(than)h(the)h(ensem)m(ble)g(op)s(erators.)59 b(This)36
+3915 y(than)h(the)h(ensem)m(ble)g(op)s(erators.)59 b(This)36
b(is)h(b)s(ecause)f(the)h(record)f(op)s(erators)h(op)s(erate)g(on)f
-(one)h(single)150 3367 y(record)23 b(\(i.e.,)k(time-slice\))f(at)e(a)g
+(one)h(single)150 4025 y(record)23 b(\(i.e.,)k(time-slice\))f(at)e(a)g
(time,)i(whereas)e(the)f(ensem)m(ble)h(op)s(erators)g(retriev)m(e)h
-(the)f(en)m(tire)g(v)-5 b(ariable)150 3477 y(in)m(to)34
+(the)f(en)m(tire)g(v)-5 b(ariable)150 4134 y(in)m(to)34
b(memory)-8 b(.)51 b(Let)34 b Fv(M)10 b(S)38 b FD(b)s(e)33
b(the)h(p)s(eak)f(sustained)g(memory)g(demand)g(of)h(an)f(op)s(erator,)
-i Fv(F)13 b(T)46 b FD(b)s(e)33 b(the)150 3587 y(memory)42
+i Fv(F)13 b(T)46 b FD(b)s(e)33 b(the)150 4244 y(memory)42
b(required)g(to)h(store)g(the)f(en)m(tire)h(con)m(ten)m(ts)h(of)f(all)g
(the)g(v)-5 b(ariables)43 b(to)g(b)s(e)e(pro)s(cessed)h(in)g(an)150
-3696 y(input)c(\014le,)j Fv(F)13 b(R)40 b FD(b)s(e)e(the)h(memory)g
+4354 y(input)c(\014le,)j Fv(F)13 b(R)40 b FD(b)s(e)e(the)h(memory)g
(required)f(to)h(store)h(the)f(en)m(tire)h(con)m(ten)m(ts)g(of)f(a)h
-(single)f(record)g(of)150 3806 y(eac)m(h)32 b(of)f(the)f(v)-5
+(single)f(record)g(of)150 4463 y(eac)m(h)32 b(of)f(the)f(v)-5
b(ariables)32 b(to)f(b)s(e)f(pro)s(cessed)g(in)g(an)h(input)e(\014le,)i
Fv(V)21 b(R)31 b FD(b)s(e)f(the)h(memory)f(required)g(to)h(store)150
-3915 y(a)37 b(single)h(record)e(of)h(the)g(largest)i(record)d(v)-5
+4573 y(a)37 b(single)h(record)e(of)h(the)g(largest)i(record)d(v)-5
b(ariable)38 b(to)f(b)s(e)g(pro)s(cessed)f(in)g(an)h(input)f(\014le,)j
-Fv(V)20 b(T)50 b FD(b)s(e)36 b(the)150 4025 y(memory)f(required)f(to)i
+Fv(V)20 b(T)50 b FD(b)s(e)36 b(the)150 4682 y(memory)f(required)f(to)i
(store)g(the)f(largest)i(v)-5 b(ariable)35 b(to)h(b)s(e)f(pro)s(cessed)
f(in)h(an)g(input)f(\014le,)j Fv(V)20 b(I)42 b FD(b)s(e)35
-b(the)150 4134 y(memory)i(required)f(to)i(store)g(the)f(largest)h(v)-5
+b(the)150 4792 y(memory)i(required)f(to)i(store)g(the)f(largest)h(v)-5
b(ariable)38 b(whic)m(h)f(is)g(not)g(pro)s(cessed,)i(but)d(is)h(copied)
-g(from)150 4244 y(the)31 b(initial)g(\014le)g(to)g(the)g(output)f
+g(from)150 4902 y(the)31 b(initial)g(\014le)g(to)g(the)g(output)f
(\014le.)41 b(All)31 b(op)s(erators)g(require)f Fv(M)10
b(I)33 b FD(=)25 b Fv(V)20 b(I)37 b FD(during)30 b(the)g(initial)i(cop)
-m(ying)150 4354 y(of)k(v)-5 b(ariables)36 b(from)f(the)h(\014rst)f
+m(ying)150 5011 y(of)k(v)-5 b(ariables)36 b(from)f(the)h(\014rst)f
(input)g(\014le)g(to)i(the)f(output)f(\014le.)57 b(This)34
b(is)i(the)g Fo(initial)45 b FD(\(and)36 b(transien)m(t\))150
-4463 y(memory)25 b(demand.)37 b(The)25 b Fo(sustaine)-5
+5121 y(memory)25 b(demand.)37 b(The)25 b Fo(sustaine)-5
b(d)35 b FD(memory)24 b(demand)g(is)h(that)g(memory)g(required)e(b)m(y)
-i(the)g(op)s(erators)150 4573 y(during)32 b(the)h(pro)s(cessing)f
+i(the)g(op)s(erators)150 5230 y(during)32 b(the)h(pro)s(cessing)f
(\(i.e.,)j(a)m(v)m(eraging,)i(concatenation\))e(phase)e(whic)m(h)f
-(lasts)i(un)m(til)f(all)h(the)f(input)150 4682 y(\014les)d(ha)m(v)m(e)h
+(lasts)i(un)m(til)f(all)h(the)f(input)150 5340 y(\014les)d(ha)m(v)m(e)h
(b)s(een)e(pro)s(cessed.)41 b(The)29 b(op)s(erators)h(ha)m(v)m(e)h(the)
-g(follo)m(wing)g(memory)f(requiremen)m(ts:)41 b Fy(ncrcat)150
-4792 y FD(requires)d Fv(M)10 b(S)43 b(<)p FD(=)38 b Fv(V)20
-b(R)q FD(.)64 b Fy(ncecat)37 b FD(requires)g Fv(M)10
-b(S)44 b(<)p FD(=)38 b Fv(V)20 b(T)13 b FD(.)64 b Fy(ncra)37
-b FD(requires)g Fv(M)10 b(S)44 b FD(=)38 b(2)p Fv(F)13
-b(R)27 b FD(+)e Fv(V)20 b(R)q FD(.)150 4902 y Fy(nces)35
-b FD(requires)h Fv(M)10 b(S)40 b FD(=)35 b(2)p Fv(F)13
-b(T)38 b FD(+)24 b Fv(V)c(T)13 b FD(.)58 b Fy(ncbo)36
-b FD(requires)f Fv(M)10 b(S)41 b(<)p FD(=)34 b(3)p Fv(V)21
-b(T)49 b FD(\(b)s(oth)36 b(input)g(v)-5 b(ariables)37
-b(and)150 5011 y(the)30 b(output)f(v)-5 b(ariable\).)41
-b Fy(ncflint)28 b FD(requires)h Fv(M)10 b(S)30 b(<)p
-FD(=)25 b(3)p Fv(V)c(T)42 b FD(\(b)s(oth)29 b(input)g(v)-5
-b(ariables)30 b(and)f(the)g(output)150 5121 y(v)-5 b(ariable\).)86
-b Fy(ncpdq)43 b FD(requires)h Fv(M)10 b(S)55 b(<)p FD(=)49
-b(2)p Fv(V)21 b(T)57 b FD(\(one)46 b(input)e(v)-5 b(ariable)46
-b(and)e(the)h(output)g(v)-5 b(ariable\).)150 5230 y Fy(ncwa)31
-b FD(requires)g Fv(M)10 b(S)32 b(<)p FD(=)27 b(8)p Fv(V)21
-b(T)44 b FD(\(see)33 b(b)s(elo)m(w\).)46 b(Note)33 b(that)f(only)g(v)-5
-b(ariables)32 b(that)g(are)h(pro)s(cessed,)e(e.g.,)150
-5340 y(a)m(v)m(eraged,)d(concatenated,)g(or)c(di\013erenced,)i(con)m
-(tribute)f(to)h Fv(M)10 b(S)5 b FD(.)38 b(V)-8 b(ariables)26
-b(whic)m(h)e(do)h(not)f(app)s(ear)g(in)p eop end
+g(follo)m(wing)g(memory)f(requiremen)m(ts:)41 b Fy(ncrcat)p
+eop end
%%Page: 23 29
TeXDict begin 23 28 bop 150 -116 a FD(Chapter)30 b(2:)41
-b(Op)s(erator)30 b(Strategies)2264 b(23)150 299 y(the)32
-b(output)f(\014le)g(\(see)i(Section)f(3.11)h([Subsetting)e(Files],)j
-(page)e(40\))g(are)g(nev)m(er)g(read)f(and)g(con)m(tribute)150
-408 y(nothing)f(to)h(the)g(memory)f(requiremen)m(ts.)275
-577 y(F)-8 b(urther)39 b(note)h(that)g(some)g(op)s(erators)f(p)s
-(erform)f(in)m(ternal)j(t)m(yp)s(e-promotion)f(on)f(some)h(v)-5
-b(ariables)150 686 y(prior)32 b(to)i(arithmetic)g(\(see)g(Section)g
-(3.33)g([T)m(yp)s(e)f(Con)m(v)m(ersion],)h(page)g(88\).)50
-b(F)-8 b(or)33 b(example,)i Fy(ncra)d FD(and)150 796
+b(Op)s(erator)30 b(Strategies)2264 b(23)150 299 y(requires)38
+b Fv(M)10 b(S)43 b(<)p FD(=)38 b Fv(V)20 b(R)q FD(.)64
+b Fy(ncecat)37 b FD(requires)g Fv(M)10 b(S)44 b(<)p FD(=)38
+b Fv(V)20 b(T)13 b FD(.)64 b Fy(ncra)37 b FD(requires)g
+Fv(M)10 b(S)44 b FD(=)38 b(2)p Fv(F)13 b(R)27 b FD(+)e
+Fv(V)20 b(R)q FD(.)150 408 y Fy(nces)35 b FD(requires)h
+Fv(M)10 b(S)40 b FD(=)35 b(2)p Fv(F)13 b(T)38 b FD(+)24
+b Fv(V)c(T)13 b FD(.)58 b Fy(ncbo)36 b FD(requires)f
+Fv(M)10 b(S)41 b(<)p FD(=)34 b(3)p Fv(V)21 b(T)49 b FD(\(b)s(oth)36
+b(input)g(v)-5 b(ariables)37 b(and)150 518 y(the)30 b(output)f(v)-5
+b(ariable\).)41 b Fy(ncflint)28 b FD(requires)h Fv(M)10
+b(S)30 b(<)p FD(=)25 b(3)p Fv(V)c(T)42 b FD(\(b)s(oth)29
+b(input)g(v)-5 b(ariables)30 b(and)f(the)g(output)150
+628 y(v)-5 b(ariable\).)86 b Fy(ncpdq)43 b FD(requires)h
+Fv(M)10 b(S)55 b(<)p FD(=)49 b(2)p Fv(V)21 b(T)57 b FD(\(one)46
+b(input)e(v)-5 b(ariable)46 b(and)e(the)h(output)g(v)-5
+b(ariable\).)150 737 y Fy(ncwa)31 b FD(requires)g Fv(M)10
+b(S)32 b(<)p FD(=)27 b(8)p Fv(V)21 b(T)44 b FD(\(see)33
+b(b)s(elo)m(w\).)46 b(Note)33 b(that)f(only)g(v)-5 b(ariables)32
+b(that)g(are)h(pro)s(cessed,)e(e.g.,)150 847 y(a)m(v)m(eraged,)d
+(concatenated,)g(or)c(di\013erenced,)i(con)m(tribute)f(to)h
+Fv(M)10 b(S)5 b FD(.)38 b(V)-8 b(ariables)26 b(whic)m(h)e(do)h(not)f
+(app)s(ear)g(in)150 956 y(the)32 b(output)f(\014le)g(\(see)i(Section)f
+(3.11)h([Subsetting)e(Files],)j(page)e(40\))g(are)g(nev)m(er)g(read)f
+(and)g(con)m(tribute)150 1066 y(nothing)f(to)h(the)g(memory)f
+(requiremen)m(ts.)275 1244 y(F)-8 b(urther)39 b(note)h(that)g(some)g
+(op)s(erators)f(p)s(erform)f(in)m(ternal)j(t)m(yp)s(e-promotion)f(on)f
+(some)h(v)-5 b(ariables)150 1354 y(prior)32 b(to)i(arithmetic)g(\(see)g
+(Section)g(3.33)g([T)m(yp)s(e)f(Con)m(v)m(ersion],)h(page)g(88\).)50
+b(F)-8 b(or)33 b(example,)i Fy(ncra)d FD(and)150 1463
y Fy(nces)43 b FD(b)s(oth)f(promote)j(in)m(teger)g(t)m(yp)s(es)e(to)i
(double-precision)f(\015oating)g(p)s(oin)m(t)g(prior)f(to)h
-(arithmetic,)150 906 y(then)25 b(p)s(erform)g(the)g(arithmetic,)j(then)
-e(demote)g(bac)m(k)h(to)f(the)g(original)g(in)m(teger)h(t)m(yp)s(e)f
-(after)g(arithmetic.)150 1015 y(This)h(preserv)m(es)h(the)g(on-disk)g
-(storage)h(t)m(yp)s(e)f(while)g(obtaining)g(the)g(accuracy)h(adv)-5
-b(an)m(tages)30 b(of)e(\015oating)150 1125 y(p)s(oin)m(t)37
+(arithmetic,)150 1573 y(then)25 b(p)s(erform)g(the)g(arithmetic,)j
+(then)e(demote)g(bac)m(k)h(to)f(the)g(original)g(in)m(teger)h(t)m(yp)s
+(e)f(after)g(arithmetic.)150 1682 y(This)h(preserv)m(es)h(the)g
+(on-disk)g(storage)h(t)m(yp)s(e)f(while)g(obtaining)g(the)g(accuracy)h
+(adv)-5 b(an)m(tages)30 b(of)e(\015oating)150 1792 y(p)s(oin)m(t)37
b(arithmetic.)60 b(Since)37 b(v)m(ersion)g(4.3.6)h(\(released)g(in)e
(Septem)m(b)s(er,)i(2013\),)i FC(NCO)d FD(also)g(b)m(y)g(default)150
-1234 y(con)m(v)m(erts)k(single-precision)g(\015oating)g(p)s(oin)m(t)f
+1902 y(con)m(v)m(erts)k(single-precision)g(\015oating)g(p)s(oin)m(t)f
(to)g(double-precision)g(prior)f(to)i(arithmetic,)i(whic)m(h)d(in-)150
-1344 y(curs)c(the)h(same)h FC(RAM)f FD(p)s(enalt)m(y)-8
+2011 y(curs)c(the)h(same)h FC(RAM)f FD(p)s(enalt)m(y)-8
b(.)61 b(Hence,)40 b(the)d(sustained)f(memory)h(required)f(for)h(in)m
-(teger)h(v)-5 b(ariables)150 1453 y(and)43 b(single-precision)j
+(teger)h(v)-5 b(ariables)150 2121 y(and)43 b(single-precision)j
(\015oats)e(are)g(t)m(w)m(o)i(or)e(four-times)g(their)g(on-disk,)j
-(uncompressed,)g(unpac)m(k)m(ed)150 1563 y(sizes)35 b(if)f(they)h(meet)
+(uncompressed,)g(unpac)m(k)m(ed)150 2230 y(sizes)35 b(if)f(they)h(meet)
g(the)f(rules)g(for)g(automatic)j(in)m(ternal)e(promotion.)53
b(Put)33 b(another)i(w)m(a)m(y)-8 b(,)37 b(disabling)150
-1673 y(auto-promotion)f(of)f(single-precision)h(v)-5
+2340 y(auto-promotion)f(of)f(single-precision)h(v)-5
b(ariables)35 b(\(with)g(`)p Fy(--flt)p FD('\))f(considerably)h
-(reduces)g(the)g FC(RAM)150 1782 y FD(fo)s(otprin)m(t)c(of)f
-(arithmetic)i(op)s(erators.)275 1951 y(The)78 b(`)p Fy(--open_ram)p
+(reduces)g(the)g FC(RAM)150 2450 y FD(fo)s(otprin)m(t)c(of)f
+(arithmetic)i(op)s(erators.)275 2628 y(The)78 b(`)p Fy(--open_ram)p
FD(')f(switc)m(h)j(\(and)f(switc)m(hes)h(that)g(in)m(v)m(ok)m(e)h(it)f
-(lik)m(e)g(`)p Fy(--ram_all)p FD(')e(and)150 2060 y(`)p
+(lik)m(e)g(`)p Fy(--ram_all)p FD(')e(and)150 2737 y(`)p
Fy(--diskless_all)p FD('\))23 b(incurs)i(a)h FC(RAM)g
FD(p)s(enalt)m(y)-8 b(.)40 b(These)26 b(switc)m(hes)g(cause)h(eac)m(h)g
-(input)e(\014le)h(to)g(b)s(e)f(copied)150 2170 y(to)35
+(input)e(\014le)h(to)g(b)s(e)f(copied)150 2847 y(to)35
b FC(RAM)g FD(up)s(on)e(op)s(ening.)52 b(Hence)36 b(an)m(y)e(op)s
(erator)h(in)m(v)m(oking)h(these)f(switc)m(hes)g(utilizes)h(an)e
-(additional)150 2279 y Fv(F)13 b(T)43 b FD(of)31 b FC(RAM)f
+(additional)150 2956 y Fv(F)13 b(T)43 b FD(of)31 b FC(RAM)f
FD(\(i.e.,)j Fv(M)10 b(S)5 b FD(+)25 b(=)g Fv(F)13 b(T)g
-FD(\).)40 b(See)31 b(Section)g(3.30)h([RAM)f(disks],)f(page)h(79)h(for)
-e(further)f(details.)275 2448 y Fy(ncwa)22 b FD(consumes)h(b)s(et)m(w)m
+FD(\).)40 b(See)31 b(Section)g(3.30)h([RAM)f(disks],)f(page)h(80)h(for)
+e(further)f(details.)275 3134 y Fy(ncwa)22 b FD(consumes)h(b)s(et)m(w)m
(een)h(t)m(w)m(o)g(and)f(sev)m(en)h(times)g(the)f(memory)g(of)h(a)f(v)
--5 b(ariable)25 b(in)e(order)f(to)i(pro)s(cess)150 2557
+-5 b(ariable)25 b(in)e(order)f(to)i(pro)s(cess)150 3244
y(it.)58 b(P)m(eak)37 b(consumption)e(o)s(ccurs)h(when)f(storing)h(sim)
m(ultaneously)h(in)f(memory)g(one)g(input)f(v)-5 b(ariable,)150
-2667 y(one)42 b(tally)h(arra)m(y)-8 b(,)46 b(one)c(input)e(w)m(eigh)m
+3354 y(one)42 b(tally)h(arra)m(y)-8 b(,)46 b(one)c(input)e(w)m(eigh)m
(t,)47 b(one)41 b(conformed/w)m(orking)i(w)m(eigh)m(t,)j(one)c(w)m
-(eigh)m(t)h(tally)-8 b(,)47 b(one)150 2776 y(input)37
+(eigh)m(t)h(tally)-8 b(,)47 b(one)150 3463 y(input)37
b(mask,)j(one)e(conformed/w)m(orking)h(mask,)h(and)d(one)h(output)g(v)
-5 b(ariable.)64 b(When)37 b(in)m(v)m(ok)m(ed,)42 b(the)150
-2886 y(w)m(eigh)m(ting)34 b(and)e(masking)h(features)g(con)m(tribute)h
+3573 y(w)m(eigh)m(ting)34 b(and)e(masking)h(features)g(con)m(tribute)h
(up)d(to)j(three-sev)m(en)m(ths)g(and)e(t)m(w)m(o-sev)m(en)m(ths)j(of)d
-(these)150 2996 y(requiremen)m(ts)j(apiece.)58 b(If)35
+(these)150 3682 y(requiremen)m(ts)j(apiece.)58 b(If)35
b(w)m(eigh)m(ts)h(and)f(masks)g(are)h Fo(not)45 b FD(sp)s(eci\014ed)35
b(\(i.e.,)j(no)d(`)p Fy(-w)p FD(')h(or)f(`)p Fy(-a)p
-FD(')g(options\))150 3105 y(then)30 b Fy(ncwa)f FD(requiremen)m(ts)h
+FD(')g(options\))150 3792 y(then)30 b Fy(ncwa)f FD(requiremen)m(ts)h
(drop)f(to)h Fv(M)10 b(S)31 b(<)p FD(=)24 b(3)p Fv(V)d(T)43
b FD(\(one)30 b(input)f(v)-5 b(ariable,)32 b(one)e(tally)h(arra)m(y)-8
-b(,)31 b(and)f(the)150 3215 y(output)g(v)-5 b(ariable\).)275
-3383 y(The)31 b(ab)s(o)m(v)m(e)h(memory)g(requiremen)m(ts)f(m)m(ust)h
+b(,)31 b(and)f(the)150 3902 y(output)g(v)-5 b(ariable\).)275
+4080 y(The)31 b(ab)s(o)m(v)m(e)h(memory)g(requiremen)m(ts)f(m)m(ust)h
(b)s(e)f(m)m(ultiplied)h(b)m(y)f(the)h(n)m(um)m(b)s(er)e(of)i(threads)f
-Fz(thr)p 3576 3383 28 4 v 39 w(n)m(br)150 3493 y FD(\(see)g(Section)g
+Fz(thr)p 3576 4080 28 4 v 39 w(n)m(br)150 4189 y FD(\(see)g(Section)g
(3.3)h([Op)s(enMP)d(Threading],)h(page)h(25\).)42 b(If)30
b(this)g(causes)h(problems)f(then)g(reduce)g(\(with)150
-3602 y(`)p Fy(-t)g Fn(thr_nbr)p FD('\))f(the)i(n)m(um)m(b)s(er)e(of)h
-(threads.)150 3819 y Fu(2.9.2)63 b(Memory)41 b(for)h
-Fl(ncap2)150 3966 y Fy(ncap2)35 b FD(has)i(unique)f(memory)h
+4299 y(`)p Fy(-t)g Fn(thr_nbr)p FD('\))f(the)i(n)m(um)m(b)s(er)e(of)h
+(threads.)150 4535 y Fu(2.9.2)63 b(Memory)41 b(for)h
+Fl(ncap2)150 4682 y Fy(ncap2)35 b FD(has)i(unique)f(memory)h
(requiremen)m(ts)g(due)f(its)h(abilit)m(y)i(to)e(pro)s(cess)g
-(arbitrarily)g(long)g(scripts)150 4076 y(of)c(an)m(y)h(complexit)m(y)-8
+(arbitrarily)g(long)g(scripts)150 4792 y(of)c(an)m(y)h(complexit)m(y)-8
b(.)51 b(All)34 b(scripts)f(acceptable)i(to)f Fy(ncap2)e
FD(are)h(ultimately)i(pro)s(cessed)e(as)g(a)h(sequence)150
-4185 y(of)j(binary)f(or)g(unary)g(op)s(erations.)60 b
+4902 y(of)j(binary)f(or)g(unary)g(op)s(erations.)60 b
Fy(ncap2)35 b FD(requires)h Fv(M)10 b(S)41 b(<)p FD(=)35
b(2)p Fv(V)21 b(T)49 b FD(under)35 b(most)i(conditions.)60
-b(An)150 4295 y(exception)30 b(to)g(this)e(is)h(when)f(left)i(hand)d
+b(An)150 5011 y(exception)30 b(to)g(this)e(is)h(when)f(left)i(hand)d
(casting)k(\(see)e(Section)h(4.1.4)h([Left)e(hand)f(casting],)j(page)e
-(110\))150 4405 y(is)k(used)g(to)h(stretc)m(h)g(the)g(size)g(of)g
+(110\))150 5121 y(is)k(used)g(to)h(stretc)m(h)g(the)g(size)g(of)g
(deriv)m(ed)f(v)-5 b(ariables)34 b(b)s(ey)m(ond)f(the)g(size)h(of)g(an)
-m(y)g(input)e(v)-5 b(ariables.)50 b(Let)150 4514 y Fv(V)20
+m(y)g(input)e(v)-5 b(ariables.)50 b(Let)150 5230 y Fv(V)20
b(C)40 b FD(b)s(e)34 b(the)g(memory)f(required)g(to)i(store)f(the)g
(largest)h(v)-5 b(ariable)35 b(de\014ned)e(b)m(y)g(left)i(hand)d
-(casting.)53 b(In)150 4624 y(this)30 b(case,)i Fv(M)10
-b(S)30 b(<)p FD(=)25 b(2)p Fv(V)c(C)7 b FD(.)275 4792
-y Fy(ncap2)42 b FD(scripts)h(are)h(complete)g(dynamic)g(and)f(ma)m(y)h
-(b)s(e)e(of)i(arbitrary)f(length.)80 b(A)44 b(script)f(that)150
-4902 y(con)m(tains)28 b(man)m(y)f(thousands)f(of)h(op)s(erations,)h(ma)
-m(y)g(unco)m(v)m(er)f(a)g(slo)m(w)h(memory)f(leak)h(ev)m(en)f(though)g
-(eac)m(h)150 5011 y(single)33 b(op)s(eration)g(consumes)f(little)j
-(additional)e(memory)-8 b(.)48 b(Memory)33 b(leaks)g(are)g(usually)f
-(iden)m(ti\014able)150 5121 y(b)m(y)21 b(their)h(memory)f(usage)h
-(signature.)38 b(Leaks)22 b(cause)f(p)s(eak)h(memory)f(usage)h(to)g
-(increase)g(monotonically)150 5230 y(with)27 b(time)i(regardless)f(of)f
-(script)h(complexit)m(y)-8 b(.)42 b(Slo)m(w)28 b(leaks)g(are)g(v)m(ery)
-g(di\016cult)g(to)g(\014nd.)38 b(Sometimes)29 b(a)150
-5340 y Fy(malloc\(\))d FD(\(or)j Fy(new[])p FD(\))e(failure)i(is)g(the)
-f(only)h(noticeable)h(clue)f(to)g(their)g(existance.)42
-b(If)28 b(y)m(ou)g(ha)m(v)m(e)i(go)s(o)s(d)p eop end
+(casting.)53 b(In)150 5340 y(this)30 b(case,)i Fv(M)10
+b(S)30 b(<)p FD(=)25 b(2)p Fv(V)c(C)7 b FD(.)p eop end
%%Page: 24 30
TeXDict begin 24 29 bop 150 -116 a FD(24)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(reasons)36 b(to)g(b)s(eliev)m(e)h
-(that)f(a)g(memory)f(allo)s(cation)j(failure)e(is)f(ultimately)i(due)e
-(to)h(an)g FC(NCO)f FD(memory)150 408 y(leak)i(\(rather)f(than)g
-(inadequate)h FC(RAM)f FD(on)g(y)m(our)g(system\),)i(then)d(w)m(e)i(w)m
-(ould)f(b)s(e)f(v)m(ery)h(in)m(terested)h(in)150 518
-y(receiving)32 b(a)e(detailed)i(bug)e(rep)s(ort.)150
-751 y FB(2.10)68 b(P)l(erformance)150 910 y FD(An)21
-b(o)m(v)m(erview)h(of)f FC(NCO)g FD(capabilities)i(as)e(of)g(ab)s(out)g
-(2006)i(is)e(in)g(Zender,)h(C.)f(S.)f(\(2008\),)26 b(\\Analysis)c(of)f
-(Self-)150 1020 y(describing)38 b(Gridded)g(Geoscience)i(Data)g(with)e
-(netCDF)h(Op)s(erators)f(\(NCO\)",)i(En)m(viron.)64 b(Mo)s(dell.)150
-1129 y(Soft)m(w.,)43 b(doi:10.1016/j.en)m(vsoft.2008)q(.0)q(3.0)q(04)q
-(.)75 b(This)39 b(pap)s(er)g(is)h(also)h(a)m(v)-5 b(ailable)43
-b(at)e Fy(http:)8 b(/)g(/)e(dust)i(.)150 1239 y
-(ess.uci.edu/ppr/ppr_Zen0)o(8.pd)o(f)p FD(.)275 1398
-y FC(NCO)49 b FD(p)s(erformance)h(and)f(scaling)i(for)f(arithmetic)i
-(op)s(erations)e(is)g(describ)s(ed)f(in)h(Zender,)k(C.)150
-1508 y(S.,)65 b(and)57 b(H.)h(J.)g(Mangalam)h(\(2007\),)67
+b FD(4.4.6)j(User)d(Guide)275 299 y Fy(ncap2)42 b FD(scripts)h(are)h
+(complete)g(dynamic)g(and)f(ma)m(y)h(b)s(e)e(of)i(arbitrary)f(length.)
+80 b(A)44 b(script)f(that)150 408 y(con)m(tains)28 b(man)m(y)f
+(thousands)f(of)h(op)s(erations,)h(ma)m(y)g(unco)m(v)m(er)f(a)g(slo)m
+(w)h(memory)f(leak)h(ev)m(en)f(though)g(eac)m(h)150 518
+y(single)33 b(op)s(eration)g(consumes)f(little)j(additional)e(memory)-8
+b(.)48 b(Memory)33 b(leaks)g(are)g(usually)f(iden)m(ti\014able)150
+628 y(b)m(y)21 b(their)h(memory)f(usage)h(signature.)38
+b(Leaks)22 b(cause)f(p)s(eak)h(memory)f(usage)h(to)g(increase)g
+(monotonically)150 737 y(with)27 b(time)i(regardless)f(of)f(script)h
+(complexit)m(y)-8 b(.)42 b(Slo)m(w)28 b(leaks)g(are)g(v)m(ery)g
+(di\016cult)g(to)g(\014nd.)38 b(Sometimes)29 b(a)150
+847 y Fy(malloc\(\))d FD(\(or)j Fy(new[])p FD(\))e(failure)i(is)g(the)f
+(only)h(noticeable)h(clue)f(to)g(their)g(existance.)42
+b(If)28 b(y)m(ou)g(ha)m(v)m(e)i(go)s(o)s(d)150 956 y(reasons)36
+b(to)g(b)s(eliev)m(e)h(that)f(a)g(memory)f(allo)s(cation)j(failure)e
+(is)f(ultimately)i(due)e(to)h(an)g FC(NCO)f FD(memory)150
+1066 y(leak)i(\(rather)f(than)g(inadequate)h FC(RAM)f
+FD(on)g(y)m(our)g(system\),)i(then)d(w)m(e)i(w)m(ould)f(b)s(e)f(v)m
+(ery)h(in)m(terested)h(in)150 1176 y(receiving)32 b(a)e(detailed)i(bug)
+e(rep)s(ort.)150 1408 y FB(2.10)68 b(P)l(erformance)150
+1567 y FD(An)21 b(o)m(v)m(erview)h(of)f FC(NCO)g FD(capabilities)i(as)e
+(of)g(ab)s(out)g(2006)i(is)e(in)g(Zender,)h(C.)f(S.)f(\(2008\),)26
+b(\\Analysis)c(of)f(Self-)150 1677 y(describing)38 b(Gridded)g
+(Geoscience)i(Data)g(with)e(netCDF)h(Op)s(erators)f(\(NCO\)",)i(En)m
+(viron.)64 b(Mo)s(dell.)150 1787 y(Soft)m(w.,)43 b(doi:10.1016/j.en)m
+(vsoft.2008)q(.0)q(3.0)q(04)q(.)75 b(This)39 b(pap)s(er)g(is)h(also)h
+(a)m(v)-5 b(ailable)43 b(at)e Fy(http:)8 b(/)g(/)e(dust)i(.)150
+1896 y(ess.uci.edu/ppr/ppr_Zen0)o(8.pd)o(f)p FD(.)275
+2056 y FC(NCO)49 b FD(p)s(erformance)h(and)f(scaling)i(for)f
+(arithmetic)i(op)s(erations)e(is)g(describ)s(ed)f(in)h(Zender,)k(C.)150
+2165 y(S.,)65 b(and)57 b(H.)h(J.)g(Mangalam)h(\(2007\),)67
b(\\Scaling)59 b(Prop)s(erties)f(of)g(Common)f(Statistical)j(Op)s(era-)
-150 1617 y(tors)51 b(for)f(Gridded)f(Datasets",)58 b(In)m(t.)101
+150 2275 y(tors)51 b(for)f(Gridded)f(Datasets",)58 b(In)m(t.)101
b(J.)31 b(High)50 b(P)m(erform.)101 b(Comput.)f(Appl.,)55
-b(21\(4\),)j(485-498,)150 1727 y(doi:10.1177/109434)q(20)q(070)q(83)q
+b(21\(4\),)j(485-498,)150 2384 y(doi:10.1177/109434)q(20)q(070)q(83)q
(80)q(2.)75 b(This)39 b(pap)s(er)g(is)h(also)g(a)m(v)-5
b(ailable)43 b(at)d Fy(http:)8 b(/)g(/)e(dust)i(.)e(ess)i(.)e(uci)h(.)
-150 1836 y(edu/ppr/ppr_ZeM07.pdf)p FD(.)275 1996 y(It)30
+150 2494 y(edu/ppr/ppr_ZeM07.pdf)p FD(.)275 2653 y(It)30
b(is)g(helpful)g(to)h(b)s(e)f(a)m(w)m(are)i(of)e(the)h(asp)s(ects)f(of)
h FC(NCO)f FD(design)g(that)h(can)g(limit)g(its)g(p)s(erformance:)199
-2155 y(1.)61 b(No)36 b(data)f(bu\013ering)g(is)g(p)s(erformed)e(during)
+2813 y(1.)61 b(No)36 b(data)f(bu\013ering)g(is)g(p)s(erformed)e(during)
h Fy(nc_get_var)f FD(and)h Fy(nc_put_var)e FD(op)s(erations.)56
-b(Hy-)330 2265 y(p)s(erslabs)23 b(to)s(o)h(large)i(to)s(o)e(hold)g(in)f
+b(Hy-)330 2922 y(p)s(erslabs)23 b(to)s(o)h(large)i(to)s(o)e(hold)g(in)f
(core)i(memory)f(will)g(su\013er)g(substan)m(tial)g(p)s(erformance)f(p)
-s(enalties)330 2374 y(b)s(ecause)30 b(of)h(this.)199
-2509 y(2.)61 b(Since)30 b(co)s(ordinate)h(v)-5 b(ariables)31
+s(enalties)330 3032 y(b)s(ecause)30 b(of)h(this.)199
+3166 y(2.)61 b(Since)30 b(co)s(ordinate)h(v)-5 b(ariables)31
b(are)f(assumed)g(to)h(b)s(e)e(monotonic,)j(the)e(searc)m(h)h(for)f
-(brac)m(k)m(eting)i(the)330 2619 y(user-sp)s(eci\014ed)j(limits)i
+(brac)m(k)m(eting)i(the)330 3276 y(user-sp)s(eci\014ed)j(limits)i
(should)e(emplo)m(y)i(a)f(quic)m(k)m(er)h(algorithm,)i(lik)m(e)e
-(bisection,)i(than)d(the)g(t)m(w)m(o-)330 2728 y(sided)30
+(bisection,)i(than)d(the)g(t)m(w)m(o-)330 3386 y(sided)30
b(incremen)m(tal)i(searc)m(h)f(curren)m(tly)f(implemen)m(ted.)199
-2863 y(3.)61 b Fz(C)p 402 2863 28 4 v 40 w(format)p FD(,)37
-b Fz(F)m(OR)-8 b(TRAN)p 1224 2863 V 41 w(format)p FD(,)37
-b Fz(signedness)p FD(,)f Fz(scale)p 2250 2863 V 41 w(format)i
-FD(and)d Fz(add)p 2923 2863 V 39 w(o\013set)k FD(attributes)d(are)330
-2972 y(ignored)30 b(b)m(y)h Fy(ncks)e FD(when)g(prin)m(ting)i(v)-5
-b(ariables)31 b(to)g(screen.)199 3107 y(4.)61 b(In)33
+3520 y(3.)61 b Fz(C)p 402 3520 28 4 v 40 w(format)p FD(,)37
+b Fz(F)m(OR)-8 b(TRAN)p 1224 3520 V 41 w(format)p FD(,)37
+b Fz(signedness)p FD(,)f Fz(scale)p 2250 3520 V 41 w(format)i
+FD(and)d Fz(add)p 2923 3520 V 39 w(o\013set)k FD(attributes)d(are)330
+3630 y(ignored)30 b(b)m(y)h Fy(ncks)e FD(when)g(prin)m(ting)i(v)-5
+b(ariables)31 b(to)g(screen.)199 3764 y(4.)61 b(In)33
b(the)i(late)g(1990s)h(it)e(w)m(as)h(disco)m(v)m(ered)g(that)g(some)f
(random)f(access)j(op)s(erations)e(on)g(large)h(\014les)330
-3216 y(on)30 b(certain)h(arc)m(hitectures)g(\(e.g.,)h
+3874 y(on)30 b(certain)h(arc)m(hitectures)g(\(e.g.,)h
FC(UNICOS)p FD(\))f(w)m(ere)f(m)m(uc)m(h)g(slo)m(w)m(er)i(with)d
-FC(NCO)h FD(than)g(with)g(similar)330 3326 y(op)s(erations)f(p)s
+FC(NCO)h FD(than)g(with)g(similar)330 3983 y(op)s(erations)f(p)s
(erformed)e(using)h(languages)i(that)f(b)m(ypass)f(the)h(netCDF)g(in)m
-(terface)h(\(e.g.,)h(Y)-8 b(oric)m(k\).)330 3435 y(This)30
+(terface)h(\(e.g.,)h(Y)-8 b(oric)m(k\).)330 4093 y(This)30
b(ma)m(y)i(ha)m(v)m(e)g(b)s(een)e(a)h(p)s(enalt)m(y)g(of)g(unnecessary)
g(b)m(yte-sw)m(apping)g(in)g(the)g(netCDF)g(in)m(terface.)330
-3545 y(It)d(is)g(unclear)g(whether)f(suc)m(h)g(problems)g(exist)i(in)f
+4203 y(It)d(is)g(unclear)g(whether)f(suc)m(h)g(problems)g(exist)i(in)f
(presen)m(t)f(da)m(y)i(\(2007\))h(netCDF/)p FC(NCO)f
-FD(en)m(viron-)330 3655 y(men)m(ts,)i(where)f(unnecessary)g(b)m(yte-sw)
+FD(en)m(viron-)330 4312 y(men)m(ts,)i(where)f(unnecessary)g(b)m(yte-sw)
m(apping)h(has)f(b)s(een)f(reduced)h(or)g(eliminated.)p
eop end
%%Page: 25 31
@@ -14031,7 +14050,7 @@ Fy(--omp_num_threads)p FD(')p 3803 5274 V 150 5325 a
Fk(\012)p 200 5325 3554 4 v 3553 w(\011)p eop end
%%Page: 26 32
TeXDict begin 26 31 bop 150 -116 a FD(26)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y FC(NCO)46 b FD(supp)s(orts)e
+b FD(4.4.6)j(User)d(Guide)275 299 y FC(NCO)46 b FD(supp)s(orts)e
(shared)i(memory)g(parallelism)i(\()p FC(SMP)p FD(\))f(when)e(compiled)
i(with)f(an)h(Op)s(enMP-)150 408 y(enabled)34 b(compiler.)52
b(Threads)33 b(requests)g(and)h(allo)s(cations)i(o)s(ccur)d(in)h(t)m(w)
@@ -14215,7 +14234,7 @@ h(a)n(v)l(ailable)275 5340 y(from)26 b Fr
(/#my)q(_geto)q(pt)p Fs(.)p eop end
%%Page: 28 34
TeXDict begin 28 33 bop 150 -116 a FD(28)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(The)35 b(\014rst)f(four)h(examples)
+b FD(4.4.6)j(User)d(Guide)150 299 y(The)35 b(\014rst)f(four)h(examples)
g(are)h(equiv)-5 b(alen)m(t)37 b(and)d(will)i(w)m(ork)f(as)h(exp)s
(ected.)55 b(The)35 b(\014nal)g(example)h(will)150 408
y(exit)26 b(with)g(an)f(error)g(since)h Fy(ncks)e FD(cannot)i(disam)m
@@ -14420,7 +14439,7 @@ Fp(CCM)275 5340 y Fs(Pro)r(cessor)27 b(capabilities.)p
eop end
%%Page: 30 36
TeXDict begin 30 35 bop 150 -116 a FD(30)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(a)35 b(wrap)e(v)-5
+b FD(4.4.6)j(User)d(Guide)150 299 y(a)35 b(wrap)e(v)-5
b(alue.)54 b(The)33 b(fourth)h(argumen)m(t)h(to)g(`)p
Fy(-n)p FD(',)h(when)d(presen)m(t,)j(sp)s(eci\014es)e(the)g(maxim)m(um)
h(in)m(teger)150 408 y(v)-5 b(alue)29 b(of)g Fz(n)m(umeric)p
@@ -14594,7 +14613,7 @@ b(in)g(a)h(di\013eren)n(t)f(lo)r(cation,)i(and)e(w)n(e)h(will)g(add)f
(searc)n(h)275 5340 y(for)g Fr(hsi)p Fs(.)p eop end
%%Page: 32 38
TeXDict begin 32 37 bop 150 -116 a FD(32)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(The)37 b(\014rst)f(example)i(w)m
+b FD(4.4.6)j(User)d(Guide)150 299 y(The)37 b(\014rst)f(example)i(w)m
(orks)f(v)m(erbatim)h(if)g(y)m(our)f(system)g(is)h(connected)g(to)g
(the)f(In)m(ternet)h(and)e(is)i(not)150 408 y(b)s(ehind)43
b(a)i(\014rew)m(all.)84 b(The)45 b(second)f(example)i(w)m(orks)e(if)h
@@ -14795,14 +14814,14 @@ Fs(abilit)n(y)h(to)g(enable)g(net)n(w)n(ork-transparen)n(t)f(data)h
(access.)36 b Fp(OP)n(eND)n(AP)275 5166 y Fs(has)23 b(man)n(y)g(other)g
(features,)i(including)e(sophisticated)h(h)n(yp)r(erslabbing)f(and)g
(serv)n(er-side)g(pro)r(cessing)i(via)e Fm(constrain)n(t)275
-5253 y(expressions)p Fs(.)39 b(If)27 b(y)n(ou)f(kno)n(w)h(more)h(ab)r
-(out)f(this,)h(please)g(consider)f(writing)h(a)g(section)g(on)f
-Fr(")p Fp(OP)n(eND)n(AP)g Fs(Capabilities)275 5340 y(of)f(In)n(terest)f
-(to)h Fp(NCO)f Fs(Users)p Fr(")i Fs(for)f(incorp)r(oration)h(in)f(the)f
-Fm(NCO)g(User)h(Guide)p Fs(.)p eop end
+5253 y(expressions)p Fs(.)39 b(If)27 b(y)n(ou)g(kno)n(w)g(more)g(ab)r
+(out)g(this,)h(please)g(consider)g(writing)g(a)g(section)f(on)g(\\)p
+Fp(OP)n(eND)n(AP)h Fs(Capabilities)275 5340 y(of)e(In)n(terest)f(to)h
+Fp(NCO)f Fs(Users")i(for)f(incorp)r(oration)h(in)f(the)f
+Fm(NCO)h(User)f(Guide)p Fs(.)p eop end
%%Page: 34 40
TeXDict begin 34 39 bop 150 -116 a FD(34)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(\045)47 b(ncks)g(-H)g(-v)g(one)g
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(\045)47 b(ncks)g(-H)g(-v)g(one)g
(~/foo.nc)390 408 y(one)g(=)g(1)275 586 y FD(And,)30
b(of)h(course,)h FC(OP)n(eND)n(AP)p FD(-enabled)e FC(NCO)h
FD(clien)m(ts)h(con)m(tin)m(ue)g(to)g(supp)s(ort)d(orthogonal)k
@@ -14966,7 +14985,7 @@ b(File)46 b(F)-11 b(ormats)45 b(and)f(Con)l(v)l(ersion)p
eop end
%%Page: 36 42
TeXDict begin 36 41 bop 150 -116 a FD(36)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 51 y Fk(\013)p 200 51 3554
+b FD(4.4.6)j(User)d(Guide)150 51 y Fk(\013)p 200 51 3554
4 v 3553 w(\010)p 150 541 4 442 v 178 188 a FD(Av)-5
b(ailabilit)m(y:)43 b Fy(ncap2)p FD(,)30 b Fy(ncbo)p
FD(,)f Fy(nces)p FD(,)h Fy(ncecat)p FD(,)f Fy(ncflint)p
@@ -15147,212 +15166,218 @@ b(extended)h(\014let)m(yp)s(e)h(determines)f(some)h(of)f(the)h
Fy(ncdump)f(-k)p FD(':)p eop end
%%Page: 38 44
TeXDict begin 38 43 bop 150 -116 a FD(38)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(\045)47 b(ncdump)g(-k)g
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(\045)47 b(ncdump)g(-k)g
(foo_3c.nc)390 408 y(classic)390 518 y(\045)g(ncdump)g(-k)g(foo_364.nc)
390 628 y(64-bit-offset)390 737 y(\045)g(ncdump)g(-k)g(foo_4c.nc)390
847 y(netCDF-4)f(classic)f(model)390 956 y(\045)i(ncdump)g(-k)g
-(foo_4.nc)390 1066 y(netCDF-4)275 1227 y FD(This)29 b(metho)s(d)h
+(foo_4.nc)390 1066 y(netCDF-4)275 1228 y FD(This)29 b(metho)s(d)h
(requires)g(a)h(netCDF4-enabled)g FC(netCDF)h FD(3.6.2)p
-Fy(+)f FD(\(i.e.,)i(from)c(2007)k(or)d(later\).)275 1388
+Fy(+)f FD(\(i.e.,)i(from)c(2007)k(or)d(later\).)275 1391
y(The)f(third)h(option)h(uses)f(the)g(POSIX-standard)f
-Fy(od)h FD(\(o)s(ctal)i(dump\))d(command:)390 1549 y
-Fy(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_3c.nc)533 1658
-y(C)143 b(D)g(F)47 b(001)390 1768 y(\045)g(od)h(-An)f(-c)g(-N4)g
-(foo_364.nc)533 1878 y(C)143 b(D)g(F)47 b(002)390 1987
-y(\045)g(od)h(-An)f(-c)g(-N4)g(foo_4c.nc)438 2097 y(211)142
-b(H)h(D)g(F)390 2206 y(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_4.nc)438
-2316 y(211)142 b(H)h(D)g(F)275 2477 y FD(This)44 b(option)h(w)m(orks)g
+Fy(od)h FD(\(o)s(ctal)i(dump\))d(command:)390 1553 y
+Fy(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_3c.nc)533 1663
+y(C)143 b(D)g(F)47 b(001)390 1773 y(\045)g(od)h(-An)f(-c)g(-N4)g
+(foo_364.nc)533 1882 y(C)143 b(D)g(F)47 b(002)390 1992
+y(\045)g(od)h(-An)f(-c)g(-N4)g(foo_4c.nc)438 2101 y(211)142
+b(H)h(D)g(F)390 2211 y(\045)47 b(od)h(-An)f(-c)g(-N4)g(foo_4.nc)438
+2321 y(211)142 b(H)h(D)g(F)275 2483 y FD(This)44 b(option)h(w)m(orks)g
(without)f FC(NCO)h FD(and)f Fy(ncdump)p FD(.)83 b(V)-8
b(alues)45 b(of)g(`)p Fy(C)31 b(D)f(F)g(001)p FD(')44
-b(and)g(`)p Fy(C)31 b(D)f(F)g(002)p FD(')150 2587 y(indicate)i(32-bit)f
+b(and)g(`)p Fy(C)31 b(D)f(F)g(002)p FD(')150 2593 y(indicate)i(32-bit)f
(\(classic\))i(and)d(64-bit)i(netCDF3)g(formats,)f(resp)s(ectiv)m(ely)
-8 b(,)32 b(while)f(v)-5 b(alues)31 b(of)g(`)p Fy(211)e(H)h(D)150
-2696 y(F)p FD(')g(indicate)i(either)f(of)f(the)h(new)m(er)f(netCDF4)h
-(\014le)g(formats.)150 2899 y Fu(3.9.3)63 b(File)41 b(Con)m(v)m(ersion)
-150 3045 y FD(Let)f(us)e(demonstrate)i(con)m(v)m(erting)h(a)f(\014le)f
+2702 y(F)p FD(')g(indicate)i(either)f(of)f(the)h(new)m(er)f(netCDF4)h
+(\014le)g(formats.)150 2908 y Fu(3.9.3)63 b(File)41 b(Con)m(v)m(ersion)
+150 3054 y FD(Let)f(us)e(demonstrate)i(con)m(v)m(erting)h(a)f(\014le)f
(from)g(an)m(y)g(netCDF-supp)s(orted)g(input)f(format)h(in)m(to)i(an)m
-(y)150 3155 y(netCDF)32 b(output)f(format)h(\(sub)5 b(ject)31
+(y)150 3164 y(netCDF)32 b(output)f(format)h(\(sub)5 b(ject)31
b(to)h(limits)g(of)g(the)g(output)f(format\).)44 b(Here)32
-b(the)f(input)g(\014le)g Fy(in.nc)150 3265 y FD(ma)m(y)38
+b(the)f(input)g(\014le)g Fy(in.nc)150 3274 y FD(ma)m(y)38
b(b)s(e)f(in)h(an)m(y)g(of)g(these)g(formats:)55 b(netCDF3)39
b(\(classic)h(and)d(64bit\),)k(netCDF4)e(\(classic)g(and)e(ex-)150
-3374 y(tended\),)f(HDF4,)h(HDF5,)h(HDF-EOS)d(\(v)m(ersion)g(2)h(or)e
+3383 y(tended\),)f(HDF4,)h(HDF5,)h(HDF-EOS)d(\(v)m(ersion)g(2)h(or)e
(5\),)j(and)d(D)m(AP)-8 b(.)37 b(The)d(switc)m(h)h(determines)g(the)150
-3484 y(output)30 b(format)h(written)f(in)g(the)h(commen)m(t:)390
-3645 y Fy(ncks)47 b(--fl_fmt=classic)c(in.nc)j(foo_3c.nc)g(#)h(netCDF3)
-f(classic)390 3754 y(ncks)h(--fl_fmt=64bit)d(in.nc)i(foo_364.nc)f(#)i
-(netCDF3)f(64bit)390 3864 y(ncks)h(--fl_fmt=netcdf4_classi)o(c)42
-b(in.nc)k(foo_4c.nc)f(#)j(netCDF4)e(classic)390 3974
-y(ncks)h(--fl_fmt=netcdf4)c(in.nc)j(foo_4.nc)g(#)h(netCDF4)390
-4083 y(ncks)g(-3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)e(classic)390
-4193 y(ncks)h(--3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)d(classic)390
-4302 y(ncks)i(-6)g(in.nc)f(foo_364.nc)f(#)j(netCDF3)d(64bit)390
-4412 y(ncks)i(--64)f(in.nc)h(foo_364.nc)e(#)i(netCDF3)f(64bit)390
-4521 y(ncks)h(-4)g(in.nc)f(foo_4.nc)g(#)h(netCDF4)390
-4631 y(ncks)g(--4)g(in.nc)f(foo_4.nc)f(#)j(netCDF4)390
-4741 y(ncks)f(-7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)e(classic)390
-4850 y(ncks)h(--7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)d(classic)275
-5011 y FD(Of)35 b(course)g(since)i(most)f(op)s(erators)f(supp)s(ort)f
+3493 y(output)30 b(format)h(written)f(in)g(the)h(commen)m(t:)1710
+3460 y Ft(12)390 3655 y Fy(ncks)47 b(--fl_fmt=classic)c(in.nc)j
+(foo_3c.nc)g(#)h(netCDF3)f(classic)390 3765 y(ncks)h(--fl_fmt=64bit)d
+(in.nc)i(foo_364.nc)f(#)i(netCDF3)f(64bit)390 3874 y(ncks)h
+(--fl_fmt=netcdf4_classi)o(c)42 b(in.nc)k(foo_4c.nc)f(#)j(netCDF4)e
+(classic)390 3984 y(ncks)h(--fl_fmt=netcdf4)c(in.nc)j(foo_4.nc)g(#)h
+(netCDF4)390 4094 y(ncks)g(-3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)e
+(classic)390 4203 y(ncks)h(--3)g(in.nc)f(foo_3c.nc)f(#)j(netCDF3)d
+(classic)390 4313 y(ncks)i(-6)g(in.nc)f(foo_364.nc)f(#)j(netCDF3)d
+(64bit)390 4422 y(ncks)i(--64)f(in.nc)h(foo_364.nc)e(#)i(netCDF3)f
+(64bit)390 4532 y(ncks)h(-4)g(in.nc)f(foo_4.nc)g(#)h(netCDF4)390
+4642 y(ncks)g(--4)g(in.nc)f(foo_4.nc)f(#)j(netCDF4)390
+4751 y(ncks)f(-7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)e(classic)390
+4861 y(ncks)h(--7)g(in.nc)f(foo_4c.nc)f(#)j(netCDF4)d(classic)275
+5023 y FD(Of)35 b(course)g(since)i(most)f(op)s(erators)f(supp)s(ort)f
(these)i(switc)m(hes,)i(the)e(\\con)m(v)m(ersions")i(can)e(b)s(e)f
-(done)150 5121 y(at)e(the)g(output)f(stage)i(of)f(arithmetic)g(or)g
-(metadata)h(pro)s(cessing)e(rather)h(than)f(requiring)g(a)h(separate)
-150 5230 y(step.)40 b(Pro)s(ducing)26 b(\(netCDF3\))i
-Fy(CLASSIC)d FD(or)i Fy(64BIT)e FD(\014les)i(from)g Fy(NETCDF4_CLASSIC)
-22 b FD(\014les)27 b(will)g(alw)m(a)m(ys)150 5340 y(w)m(ork.)p
-eop end
+(done)150 5133 y(at)e(the)g(output)f(stage)i(of)f(arithmetic)g(or)g
+(metadata)h(pro)s(cessing)e(rather)h(than)f(requiring)g(a)h(separate)p
+150 5241 1200 4 v 166 5308 a Ft(12)275 5340 y Fs(The)25
+b(switc)n(hes)i(`)p Fr(-5)p Fs(',)g(`)p Fr(--5)p Fs(',)g(and)f(`)p
+Fr(pnetcdf)p Fs(')i(are)e(reserv)n(ed)f(for)i(PnetCDF)f(\014les,)g
+(i.e.,)h Fr(NC_FORMAT_PNETCDF)p Fs(.)p eop end
%%Page: 39 45
TeXDict begin 39 44 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(39)150 299 y Fu(3.9.4)63
-b(Auto)s(con)m(v)m(ersion)150 446 y FD(Because)27 b(of)f(the)g(dearth)f
-(of)h(supp)s(ort)e(for)h(netCDF4)i(amongst)f(to)s(ols)g(and)f(user)g
-(comm)m(unities)i(\(includ-)150 555 y(ing)e(the)g FC(CF)g
-FD(con)m(v)m(en)m(tions\),)j(it)e(is)f(often)g(useful)f(to)i(con)m(v)m
-(ert)g(netCDF4)g(to)f(netCDF3)h(for)f(certain)h(appli-)150
-665 y(cations.)46 b(Un)m(til)33 b FC(NCO)e FD(v)m(ersion)h(4.4.0)i
-(\(Jan)m(uary)-8 b(,)32 b(2014\),)j(pro)s(ducing)30 b(netCDF3)j
-(\014les)f(from)f(netCDF4)150 775 y(\014les)22 b(only)g(w)m(ork)m(ed)g
-(if)g(the)g(input)e(\014les)i(con)m(tained)h(no)f(netCDF4-sp)s
-(eci\014c)h(features)f(\(e.g.,)j(atomic)f(t)m(yp)s(es,)150
-884 y(m)m(ultiple)h(record)f(dimensions,)h(or)g(groups\).)38
-b(As)24 b(of)h FC(NCO)f FD(v)m(ersion)h(4.4.0,)i Fy(ncks)d
-FD(supp)s(orts)e Fz(auto)s(con)m(v)m(er-)150 994 y(sion)27
-b FD(of)h(man)m(y)f(netCDF4)i(features)f(to)g(their)f(closest)i
-(netCDF3-compatible)h(represen)m(tations.)41 b(Since)150
-1103 y(con)m(v)m(erting)36 b(netCDF4)g(to)f(netCDF3)h(results)e(in)h
-(loss)f(of)h(features,)h(\\automatic)h(do)m(wn-con)m(v)m(ersion")150
-1213 y(ma)m(y)31 b(b)s(e)f(a)g(more)h(precise)g(description)f(of)h
-(what)f(w)m(e)h(term)f(auto)s(con)m(v)m(ersion.)275 1372
-y FC(NCO)g FD(emplo)m(ys)h(three)f(algorithms)h(to)h(do)m(wncon)m(v)m
-(ert)f(netCDF4)h(to)f(netCDF3:)199 1532 y(1.)61 b(Auto)s(con)m(v)m
+b(NCO)30 b(F)-8 b(eatures)2475 b(39)150 299 y(step.)40
+b(Pro)s(ducing)26 b(\(netCDF3\))i Fy(CLASSIC)d FD(or)i
+Fy(64BIT)e FD(\014les)i(from)g Fy(NETCDF4_CLASSIC)22
+b FD(\014les)27 b(will)g(alw)m(a)m(ys)150 408 y(w)m(ork.)150
+678 y Fu(3.9.4)63 b(Auto)s(con)m(v)m(ersion)150 825 y
+FD(Because)27 b(of)f(the)g(dearth)f(of)h(supp)s(ort)e(for)h(netCDF4)i
+(amongst)f(to)s(ols)g(and)f(user)g(comm)m(unities)i(\(includ-)150
+935 y(ing)e(the)g FC(CF)g FD(con)m(v)m(en)m(tions\),)j(it)e(is)f(often)
+g(useful)f(to)i(con)m(v)m(ert)g(netCDF4)g(to)f(netCDF3)h(for)f(certain)
+h(appli-)150 1044 y(cations.)46 b(Un)m(til)33 b FC(NCO)e
+FD(v)m(ersion)h(4.4.0)i(\(Jan)m(uary)-8 b(,)32 b(2014\),)j(pro)s
+(ducing)30 b(netCDF3)j(\014les)f(from)f(netCDF4)150 1154
+y(\014les)22 b(only)g(w)m(ork)m(ed)g(if)g(the)g(input)e(\014les)i(con)m
+(tained)h(no)f(netCDF4-sp)s(eci\014c)h(features)f(\(e.g.,)j(atomic)f(t)
+m(yp)s(es,)150 1263 y(m)m(ultiple)h(record)f(dimensions,)h(or)g
+(groups\).)38 b(As)24 b(of)h FC(NCO)f FD(v)m(ersion)h(4.4.0,)i
+Fy(ncks)d FD(supp)s(orts)e Fz(auto)s(con)m(v)m(er-)150
+1373 y(sion)27 b FD(of)h(man)m(y)f(netCDF4)i(features)f(to)g(their)f
+(closest)i(netCDF3-compatible)h(represen)m(tations.)41
+b(Since)150 1483 y(con)m(v)m(erting)36 b(netCDF4)g(to)f(netCDF3)h
+(results)e(in)h(loss)f(of)h(features,)h(\\automatic)h(do)m(wn-con)m(v)m
+(ersion")150 1592 y(ma)m(y)31 b(b)s(e)f(a)g(more)h(precise)g
+(description)f(of)h(what)f(w)m(e)h(term)f(auto)s(con)m(v)m(ersion.)275
+1787 y FC(NCO)g FD(emplo)m(ys)h(three)f(algorithms)h(to)h(do)m(wncon)m
+(v)m(ert)f(netCDF4)h(to)f(netCDF3:)199 1981 y(1.)61 b(Auto)s(con)m(v)m
(ersion)31 b(of)e(atomic)i(t)m(yp)s(es:)40 b(Auto)s(con)m(v)m(ersion)31
b(automatically)h(promotes)e Fy(NC_UBYTE)d FD(to)330
-1641 y Fy(NC_SHORT)p FD(,)36 b(and)g Fy(NC_USHORT)f FD(to)i
+2091 y Fy(NC_SHORT)p FD(,)36 b(and)g Fy(NC_USHORT)f FD(to)i
Fy(NC_INT)p FD(.)58 b(It)37 b(automatically)j(demotes)d(the)g(three)g
-(t)m(yp)s(es)g Fy(NC_)330 1751 y(UINT)p FD(,)e Fy(NC_UINT64)p
+(t)m(yp)s(es)g Fy(NC_)330 2201 y(UINT)p FD(,)e Fy(NC_UINT64)p
FD(,)e(and)i Fy(NC_INT64)d FD(to)k Fy(NC_INT)p FD(.)52
b(And)34 b(it)h(con)m(v)m(erts)h Fy(NC_STRING)c FD(to)k
-Fy(NC_CHAR)p FD(.)330 1861 y(All)g(n)m(umeric)f(con)m(v)m(ersions)i(w)m
+Fy(NC_CHAR)p FD(.)330 2310 y(All)g(n)m(umeric)f(con)m(v)m(ersions)i(w)m
(ork)e(for)g(attributes)h(and)f(v)-5 b(ariables)36 b(of)g(an)m(y)f
-(rank.)56 b(Tw)m(o)35 b(n)m(umeric)330 1970 y(t)m(yp)s(es)22
+(rank.)56 b(Tw)m(o)35 b(n)m(umeric)330 2420 y(t)m(yp)s(es)22
b(\()p Fy(NC_UBYTE)f FD(and)g Fy(NC_USHORT)p FD(\))f(are)j
Fo(pr)-5 b(omote)g(d)35 b FD(to)23 b(t)m(yp)s(es)f(with)g(greater)h
-(range)g(\(and)f(greater)330 2080 y(storage\).)48 b(This)32
+(range)g(\(and)f(greater)330 2529 y(storage\).)48 b(This)32
b(extra)h(range)f(is)h(often)f(not)h(used)e(so)i(promotion)g(p)s
-(erhaps)d(con)m(v)m(eys)k(the)e(wrong)330 2189 y(impression.)73
+(erhaps)d(con)m(v)m(eys)k(the)e(wrong)330 2639 y(impression.)73
b(Ho)m(w)m(ev)m(er,)46 b(promotion)c(nev)m(er)f(truncates)h(v)-5
b(alues)42 b(or)f(loses)h(data)g(\(this)g(p)s(erhaps)330
-2299 y(justi\014es)28 b(the)h(extra)g(storage\).)42 b(Three)28
+2749 y(justi\014es)28 b(the)h(extra)g(storage\).)42 b(Three)28
b(n)m(umeric)h(t)m(yp)s(es)f(\()p Fy(NC_UINT)p FD(,)g
-Fy(NC_UINT64)e FD(and)i Fy(NC_INT64)p FD(\))330 2408
+Fy(NC_UINT64)e FD(and)i Fy(NC_INT64)p FD(\))330 2858
y(are)d Fo(demote)-5 b(d)p FD(.)40 b(Since)24 b(the)g(input)g(range)g
(is)g(larger)h(than)f(the)g(output)g(range,)i(demotion)f(can)f(result)
-330 2518 y(in)j(n)m(umeric)g(truncation)h(and)e(th)m(us)h(loss)h(of)f
+330 2968 y(in)j(n)m(umeric)g(truncation)h(and)e(th)m(us)h(loss)h(of)f
(data.)40 b(In)27 b(suc)m(h)g(cases,)i(it)f(w)m(ould)f(p)s(ossible)f
-(to)i(con)m(v)m(ert)330 2628 y(the)37 b(data)h(to)g(\015oating)g(p)s
+(to)i(con)m(v)m(ert)330 3077 y(the)37 b(data)h(to)g(\015oating)g(p)s
(oin)m(t)f(v)-5 b(alues)37 b(instead.)61 b(If)37 b(this)g(feature)g(in)
-m(terests)h(y)m(ou,)h(please)f(b)s(e)f(the)330 2737 y(squeaky)30
-b(wheel)h(and)f(let)h(us)f(kno)m(w.)330 2870 y(String)j(con)m(v)m
+m(terests)h(y)m(ou,)h(please)f(b)s(e)f(the)330 3187 y(squeaky)30
+b(wheel)h(and)f(let)h(us)f(kno)m(w.)330 3357 y(String)j(con)m(v)m
(ersions)h(\(to)g Fy(NC_CHAR)p FD(\))d(w)m(ork)j(for)e(all)i
(attributes,)h(but)d(not)h(for)g(v)-5 b(ariables.)50
-b(This)32 b(is)330 2979 y(b)s(ecause)21 b(attributes)g(are)g(at)h(most)
+b(This)32 b(is)330 3466 y(b)s(ecause)21 b(attributes)g(are)g(at)h(most)
f(one-dimensional)g(and)g(ma)m(y)g(b)s(e)f(of)h(an)m(y)g(size)h
-(whereas)e(v)-5 b(ariables)330 3089 y(require)22 b(gridded)f
+(whereas)e(v)-5 b(ariables)330 3576 y(require)22 b(gridded)f
(dimensions)g(that)h(usually)g(do)g(not)g(\014t)g(the)g(ragged)h(sizes)
-f(of)g(text)h(strings.)38 b(Hence)330 3199 y(scalar)24
+f(of)g(text)h(strings.)38 b(Hence)330 3685 y(scalar)24
b Fy(NC_STRING)c FD(attributes)j(are)g(correctly)h(con)m(v)m(erted)g
(to)f(and)f(stored)h(as)g Fy(NC_CHAR)d FD(attributes)330
-3308 y(in)36 b(the)h(netCDF3)h(output)e(\014le,)j(but)d
+3795 y(in)36 b(the)h(netCDF3)h(output)e(\014le,)j(but)d
Fy(NC_STRING)e FD(v)-5 b(ariables)37 b(are)g(not)g(correctly)h(con)m(v)
-m(erted.)61 b(If)330 3418 y(this)30 b(limitation)i(anno)m(ys)f(or)f
+m(erted.)61 b(If)330 3905 y(this)30 b(limitation)i(anno)m(ys)f(or)f
(enrages)h(y)m(ou,)g(please)h(let)f(us)e(kno)m(w)i(b)m(y)f(b)s(eing)g
-(the)h(squeaky)f(wheel.)199 3550 y(2.)61 b(Con)m(v)m(ert)23
+(the)h(squeaky)f(wheel.)199 4074 y(2.)61 b(Con)m(v)m(ert)23
b(m)m(ultiple)f(record)g(dimensions)f(to)i(\014xed-size)f(dimensions.)
-37 b(Man)m(y)23 b(netCDF4)f(and)g FC(HDF5)330 3660 y
+37 b(Man)m(y)23 b(netCDF4)f(and)g FC(HDF5)330 4184 y
FD(datasets)33 b(ha)m(v)m(e)h(m)m(ultiple)e(unlimited)g(dimensions.)45
b(Since)32 b(a)h(netCDF3)g(\014le)f(ma)m(y)h(ha)m(v)m(e)g(at)g(most)330
-3770 y(one)45 b(unlimited)f(dimension,)j(all)f(but)d(p)s(ossibly)h(one)
-g(unlimited)h(dimension)e(from)h(the)h(input)330 3879
+4294 y(one)45 b(unlimited)f(dimension,)j(all)f(but)d(p)s(ossibly)h(one)
+g(unlimited)h(dimension)e(from)h(the)h(input)330 4403
y(\014le)37 b(m)m(ust)g(b)s(e)g(con)m(v)m(erted)h(to)g(\014xed-length)f
(dimensions)g(prior)f(to)i(storing)f(netCDF4)i(input)d(as)330
-3989 y(netCDF3)26 b(output.)39 b(By)26 b(in)m(v)m(oking)h
+4513 y(netCDF3)26 b(output.)39 b(By)26 b(in)m(v)m(oking)h
Fy(--fix_rec_dmn)f(all)f FD(the)g(user)g(ensures)g(the)g(output)g
-(\014le)h(will)330 4098 y(adhere)31 b(to)h(netCDF3)g(con)m(v)m(en)m
+(\014le)h(will)330 4622 y(adhere)31 b(to)h(netCDF3)g(con)m(v)m(en)m
(tions)h(and)e(the)g(user)g(need)g(not)g(kno)m(w)g(the)g(names)g(of)h
-(the)f(sp)s(eci\014c)330 4208 y(record)i(dimensions)e(to)j(\014x.)47
+(the)f(sp)s(eci\014c)330 4732 y(record)i(dimensions)e(to)j(\014x.)47
b(See)32 b(Section)i(4.7)g([nc)m(ks)f(netCDF)g(Kitc)m(hen)g(Sink],)g
-(page)g(176)h(for)f(a)330 4318 y(description)d(of)h(the)g(`)p
-Fy(--fix_rec_dmn)p FD(')c(option.)199 4450 y(3.)61 b(Flattening)29
+(page)g(176)h(for)f(a)330 4841 y(description)d(of)h(the)g(`)p
+Fy(--fix_rec_dmn)p FD(')c(option.)199 5011 y(3.)61 b(Flattening)29
b(\(remo)m(v)-5 b(al\))30 b(of)d(groups.)39 b(Man)m(y)28
b(netCDF4)h(and)e FC(HDF5)h FD(datasets)g(ha)m(v)m(e)h(group)e(hierar-)
-330 4560 y(c)m(hies.)41 b(Since)30 b(a)f(netCDF3)i(\014le)f(ma)m(y)g
+330 5121 y(c)m(hies.)41 b(Since)30 b(a)f(netCDF3)i(\014le)f(ma)m(y)g
(not)f(ha)m(v)m(e)i(an)m(y)f(groups,)f(groups)g(in)g(the)g(input)g
-(\014le)g(m)m(ust)h(b)s(e)330 4669 y(remo)m(v)m(ed.)43
+(\014le)g(m)m(ust)h(b)s(e)330 5230 y(remo)m(v)m(ed.)43
b(This)30 b(is)h(also)h(called)g(\\\015attening")g(the)g(hierarc)m
(hical)g(\014le.)42 b(See)31 b(Section)h(3.13)g([Group)330
-4779 y(P)m(ath)f(Editing],)g(page)g(46)g(for)f(a)h(description)g(of)f
+5340 y(P)m(ath)f(Editing],)g(page)g(46)g(for)f(a)h(description)g(of)f
(the)h FC(GPE)e FD(option)i(`)p Fy(-G)f(:)p FD(')g(to)h(\015atten)g
-(\014les.)275 4961 y(Putting)i(the)h(three)f(algorithms)h(together,)i
-(one)e(sees)g(that)g(the)f(recip)s(e)h(to)g(con)m(v)m(ert)h(netCDF4)f
-(to)150 5071 y(netCDF4)g(b)s(ecomes)g(increasingly)g(complex)g(as)f
-(the)h(netCDF4)g(features)g(in)f(the)g(input)f(\014le)i(b)s(ecome)150
-5181 y(more)d(elab)s(orate:)390 5340 y Fy(#)47 b(Convert)f(file)h(with)
-g(netCDF4)e(atomic)h(types)p eop end
+(\014les.)p eop end
%%Page: 40 46
TeXDict begin 40 45 bop 150 -116 a FD(40)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncks)47 b(-3)g(in.nc4)f(out.nc3)
-390 408 y(#)h(Convert)f(file)h(with)g(multiple)e(record)h(dimensions)f
-(+)j(netCDF4)d(atomic)i(types)390 518 y(ncks)g(-3)g(--fix_rec_dmn=all)c
-(in.nc4)j(out.nc3)390 628 y(#)h(Convert)f(file)h(with)g(groups,)e
-(multiple)h(record)g(dimensions)f(+)i(netCDF4)f(atomic)g(types)390
-737 y(ncks)h(-3)g(-G)g(:)g(--fix_rec_dmn=all)d(in.nc4)i(out.nc3)275
-971 y FD(F)-8 b(uture)41 b(v)m(ersions)h(of)g FC(NCO)f
-FD(ma)m(y)h(automatically)j(in)m(v)m(ok)m(e)e(the)f(record)g(dimension)
-f(\014xation)h(and)150 1080 y(group)30 b(\015attening)i(when)e(con)m(v)
-m(erting)j(to)f(netCDF3)g(\(rather)f(than)f(requiring)h(it)g(b)s(e)g
-(sp)s(eci\014ed)f(man)m(u-)150 1190 y(ally\).)42 b(If)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(Putting)j(the)h(three)f(algorithms)
+h(together,)i(one)e(sees)g(that)g(the)f(recip)s(e)h(to)g(con)m(v)m(ert)
+h(netCDF4)f(to)150 408 y(netCDF4)g(b)s(ecomes)g(increasingly)g(complex)
+g(as)f(the)h(netCDF4)g(features)g(in)f(the)g(input)f(\014le)i(b)s
+(ecome)150 518 y(more)d(elab)s(orate:)390 712 y Fy(#)47
+b(Convert)f(file)h(with)g(netCDF4)e(atomic)h(types)390
+821 y(ncks)h(-3)g(in.nc4)f(out.nc3)390 931 y(#)h(Convert)f(file)h(with)
+g(multiple)e(record)h(dimensions)f(+)j(netCDF4)d(atomic)i(types)390
+1040 y(ncks)g(-3)g(--fix_rec_dmn=all)c(in.nc4)j(out.nc3)390
+1150 y(#)h(Convert)f(file)h(with)g(groups,)e(multiple)h(record)g
+(dimensions)f(+)i(netCDF4)f(atomic)g(types)390 1259 y(ncks)h(-3)g(-G)g
+(:)g(--fix_rec_dmn=all)d(in.nc4)i(out.nc3)275 1453 y
+FD(F)-8 b(uture)41 b(v)m(ersions)h(of)g FC(NCO)f FD(ma)m(y)h
+(automatically)j(in)m(v)m(ok)m(e)e(the)f(record)g(dimension)f
+(\014xation)h(and)150 1563 y(group)30 b(\015attening)i(when)e(con)m(v)m
+(erting)j(to)f(netCDF3)g(\(rather)f(than)f(requiring)h(it)g(b)s(e)g(sp)
+s(eci\014ed)f(man)m(u-)150 1672 y(ally\).)42 b(If)30
b(this)g(feature)h(w)m(ould)f(in)m(terest)i(y)m(ou,)f(please)g(let)g
-(us)f(kno)m(w.)150 1645 y FB(3.10)68 b(Large)46 b(File)f(Supp)t(ort)150
-1779 y Fk(\013)p 200 1779 3554 4 v 3553 w(\010)p 150
-2269 4 442 v 178 1915 a FD(Av)-5 b(ailabilit)m(y:)43
-b(All)31 b(op)s(erators)178 2025 y(Short)f(options:)41
-b(none)178 2134 y(Long)31 b(options:)41 b(none)p 3803
-2269 V 150 2320 a Fk(\012)p 200 2320 3554 4 v 3553 w(\011)275
-2570 y FC(NCO)29 b FD(has)g(Large)i(File)g(Supp)s(ort)c(\()p
-FC(LFS)p FD(\),)k(meaning)f(that)h FC(NCO)e FD(can)h(write)g(\014les)g
-(larger)g(than)g(2)g(GB)150 2679 y(on)c(some)h(32-bit)h(op)s(erating)f
-(systems)f(with)h(netCDF)g(libraries)f(earlier)i(than)e(v)m(ersion)31
-b(3.6)q(.)39 b(If)26 b(desired,)150 2789 y(LFS)45 b(supp)s(ort)e(m)m
-(ust)j(b)s(e)e(con\014gured)h(when)f(b)s(oth)h(netCDF)h(and)e
-FC(NCO)h FD(are)h(installed.)86 b(netCDF)150 2898 y(v)m(ersions)31
-b(3.6)j(and)f(higher)g(supp)s(ort)f(64-bit)j(\014le)e(addresses)g(as)h
-(part)f(of)h(the)f(netCDF)i(standard.)49 b(W)-8 b(e)150
-3008 y(recommend)24 b(that)h(users)f(ignore)h(LFS)f(supp)s(ort)e(whic)m
-(h)i(is)h(di\016cult)f(to)h(con\014gure)f(and)g(is)g(implemen)m(ted)150
-3118 y(in)f FC(NCO)h FD(only)f(to)i(supp)s(ort)c(netCDF)k(v)m(ersions)e
-(prior)g(to)31 b(3.6)r(.)38 b(This)23 b(ob)m(viates)i(the)f(need)f(for)
-g(con\014guring)150 3227 y(explicit)36 b(LFS)f(supp)s(ort)e(in)i
-(applications)h(\(suc)m(h)f(as)h FC(NCO)p FD(\))f(that)h(no)m(w)f(supp)
-s(ort)e(64-bit)j(\014les)f(directly)150 3337 y(through)c(the)h(netCDF)g
-(in)m(terface.)46 b(See)32 b(Section)h(3.9)f([File)h(F)-8
-b(ormats)33 b(and)e(Con)m(v)m(ersion],)i(page)g(35)f(for)150
-3446 y(instructions)g(on)g(accessing)i(the)f(di\013eren)m(t)g(\014le)f
-(formats,)h(including)f(64-bit)i(\014les,)f(supp)s(orted)d(b)m(y)j(the)
-150 3556 y(mo)s(dern)c(netCDF)i(in)m(terface.)275 3790
-y(If)45 b(y)m(ou)g(are)h(still)g(in)m(terested)h(in)e(explicit)i(LFS)e
-(supp)s(ort)f(for)h(netCDF)h(v)m(ersions)g(prior)e(to)32
-b(3.6)q(,)150 3899 y(kno)m(w)h(that)g(LFS)f(supp)s(ort)f(dep)s(ends)g
-(on)i(a)g(complex,)h(in)m(terlo)s(c)m(king)h(set)e(of)g(op)s(erating)g
-(system)3500 3866 y Ft(12)3604 3899 y FD(and)150 4009
-y(netCDF)26 b(supp)s(ort)d(issues.)39 b(The)24 b(netCDF)i(LFS)f(F)-10
-b(A)m(Q)25 b(\()p Fy(http://my.unidata.ucar.edu)o(/con)o(tent)o(/)150
-4118 y(software)8 b(/)e(netcdf)i(/)e(faq-lf)o(s)i(.)d(html)o
-FD(\))34 b(describ)s(es)39 b(the)h(v)-5 b(arious)40 b(\014le)g(size)h
-(limitations)g(imp)s(osed)e(b)m(y)150 4228 y(di\013eren)m(t)h(v)m
-(ersions)g(of)g(the)h(netCDF)f(standard.)68 b FC(NCO)40
-b FD(and)f(netCDF)i(automatically)h(attempt)f(to)150
-4338 y(con\014gure)30 b(LFS)g(at)h(build)f(time.)150
-4793 y FB(3.11)68 b(Subsetting)46 b(Files)p 150 5241
-1200 4 v 166 5308 a Ft(12)300 5340 y Fs(Lin)n(ux)25 b(and)g
+(us)f(kno)m(w.)150 2007 y FB(3.10)68 b(Large)46 b(File)f(Supp)t(ort)150
+2140 y Fk(\013)p 200 2140 3554 4 v 3553 w(\010)p 150
+2630 4 442 v 178 2277 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 2386 y(Short)f(options:)41
+b(none)178 2496 y(Long)31 b(options:)41 b(none)p 3803
+2630 V 150 2682 a Fk(\012)p 200 2682 3554 4 v 3553 w(\011)275
+2891 y FC(NCO)20 b FD(has)h(Large)h(File)h(Supp)s(ort)c(\()p
+FC(LFS)p FD(\),)24 b(meaning)e(that)f FC(NCO)g FD(can)h(write)f
+(\014les)g(larger)h(than)f(2)31 b(GB)22 b(on)150 3001
+y(some)g(32-bit)g(op)s(erating)g(systems)g(with)f(netCDF)h(libraries)f
+(earlier)h(than)f(v)m(ersion)31 b(3.6)q(.)38 b(If)21
+b(desired,)i FC(LFS)150 3110 y FD(supp)s(ort)e(m)m(ust)i(b)s(e)f
+(con\014gured)g(when)g(b)s(oth)g(netCDF)i(and)e FC(NCO)g
+FD(are)i(installed.)39 b(netCDF)23 b(v)m(ersions)31 b(3.6)150
+3220 y(and)i(higher)h(supp)s(ort)e(64-bit)j(\014le)f(addresses)f(as)h
+(part)g(of)g(the)g(netCDF)h(standard.)50 b(W)-8 b(e)35
+b(recommend)150 3329 y(that)24 b(users)f(ignore)h FC(LFS)g
+FD(supp)s(ort)e(whic)m(h)h(is)h(di\016cult)g(to)g(con\014gure)f(and)g
+(is)h(implemen)m(ted)g(in)f FC(NCO)h FD(only)150 3439
+y(to)h(supp)s(ort)e(netCDF)i(v)m(ersions)g(prior)f(to)31
+b(3.6)q(.)39 b(This)24 b(ob)m(viates)i(the)f(need)f(for)h
+(con\014guring)f(explicit)i FC(LFS)150 3549 y FD(supp)s(ort)35
+b(in)h(applications)h(\(suc)m(h)g(as)f FC(NCO)p FD(\))h(that)g(no)m(w)f
+(supp)s(ort)f(64-bit)j(\014les)e(directly)h(through)f(the)150
+3658 y(netCDF)23 b(in)m(terface.)39 b(See)22 b(Section)h(3.9)g([File)g
+(F)-8 b(ormats)23 b(and)f(Con)m(v)m(ersion],)i(page)f(35)g(for)e
+(instructions)h(on)150 3768 y(accessing)29 b(the)e(di\013eren)m(t)h
+(\014le)g(formats,)g(including)f(64-bit)i(\014les,)f(supp)s(orted)d(b)m
+(y)j(the)f(mo)s(dern)f(netCDF)150 3877 y(in)m(terface.)275
+4071 y(If)46 b(y)m(ou)h(are)f(still)i(in)m(terested)g(in)e(explicit)i
+FC(LFS)e FD(supp)s(ort)f(for)i(netCDF)g(v)m(ersions)g(prior)e(to)32
+b(3.6)q(,)150 4180 y(kno)m(w)i(that)g FC(LFS)g FD(supp)s(ort)e(dep)s
+(ends)g(on)i(a)g(complex,)i(in)m(terlo)s(c)m(king)g(set)e(of)g(op)s
+(erating)g(system)3499 4147 y Ft(13)3604 4180 y FD(and)150
+4290 y(netCDF)28 b(supp)s(ort)e(issues.)39 b(The)27 b(netCDF)h
+FC(LFS)f FD(F)-10 b(A)m(Q)28 b(\()p Fy(http://my.unidata.ucar.edu)o
+(/con)o(tent)o(/)150 4400 y(software)8 b(/)e(netcdf)i(/)e(faq-lf)o(s)i
+(.)d(html)o FD(\))34 b(describ)s(es)39 b(the)h(v)-5 b(arious)40
+b(\014le)g(size)h(limitations)g(imp)s(osed)e(b)m(y)150
+4509 y(di\013eren)m(t)h(v)m(ersions)g(of)g(the)h(netCDF)f(standard.)68
+b FC(NCO)40 b FD(and)f(netCDF)i(automatically)h(attempt)f(to)150
+4619 y(con\014gure)30 b FC(LFS)h FD(at)g(build)e(time.)150
+4953 y FB(3.11)68 b(Subsetting)46 b(Files)p 150 5241
+1200 4 v 166 5308 a Ft(13)300 5340 y Fs(Lin)n(ux)25 b(and)g
Fp(AIX)h Fs(do)f(supp)r(ort)h Fp(LFS)p Fs(.)p eop end
%%Page: 41 47
TeXDict begin 41 46 bop 150 -116 a FD(Chapter)30 b(3:)41
@@ -15454,7 +15479,7 @@ i(\015attening,)150 5115 y(or)d(dismem)m(b)s(ering)g(\014les)g(\(see)i
end
%%Page: 42 48
TeXDict begin 42 47 bop 150 -116 a FD(42)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(Tw)m(o)d(prop)s(erties)f(of)h
+b FD(4.4.6)j(User)d(Guide)275 299 y(Tw)m(o)d(prop)s(erties)f(of)h
(subsetting,)h(recursion)e(and)g(anc)m(horing,)j(are)e(b)s(est)f
(illustrated)i(b)m(y)f(reminding)150 408 y(the)k(user)g(of)g(their)g
FC(UNIX)h FD(equiv)-5 b(alen)m(ts.)45 b(The)30 b FC(UNIX)i
@@ -15542,14 +15567,14 @@ Fy(-g)p FD(')g(options)h(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(sim)m
(ultaneously)i(and)150 4622 y FC(NCO)30 b FD(will,)i(b)m(y)e(default,)h
(extract)h(the)f(in)m(tersection)h(of)f(the)g(lists,)g(i.e.,)h(the)f
(sp)s(eci\014ed)f(v)-5 b(ariables)31 b(found)150 4731
-y(in)d(the)h(sp)s(eci\014ed)f(groups)1038 4698 y Ft(13)1107
+y(in)d(the)h(sp)s(eci\014ed)f(groups)1038 4698 y Ft(14)1107
4731 y FD(.)40 b(The)28 b(`)p Fy(--unn)p FD(')g(option)h(causes)g
FC(NCO)f FD(to)h(extract)h(the)f(union,)f(rather)g(than)150
4841 y(the)37 b(in)m(tersection,)j(of)c(the)h(sp)s(eci\014ed)f(groups)g
(and)f(v)-5 b(ariables.)60 b(Consider)36 b(the)g(follo)m(wing)i
(commands)150 4950 y(\(whic)m(h)30 b(ma)m(y)h(b)s(e)f(assumed)g(to)h
(end)f(with)g(`)p Fy(in.nc)f(out.nc)p FD('\):)p 150 5066
-1200 4 v 166 5134 a Ft(13)300 5166 y Fs(In)n(tersection-mo)r(de)d(can)g
+1200 4 v 166 5134 a Ft(14)300 5166 y Fs(In)n(tersection-mo)r(de)d(can)g
(also)h(b)r(e)f(explicitly)f(in)n(v)n(ok)n(ed)g(with)h(the)f(`)p
Fr(--nsx)p Fs(')j(or)e(`)p Fr(--intersection)p Fs(')k(switc)n(hes.)35
b(These)275 5253 y(switc)n(hes)d(are)f(supplied)g(for)h(clarit)n(y)f
@@ -15645,7 +15670,7 @@ b(ariable)37 b(name)f(then)f(that)h(v)-5 b(ariable)37
b(is)p eop end
%%Page: 44 50
TeXDict begin 44 49 bop 150 -116 a FD(44)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(selected.)48 b(This)31
+b FD(4.4.6)j(User)d(Guide)150 299 y(selected.)48 b(This)31
b(capabilit)m(y)j(is)e(also)h(called)g Fz(wildcarding)p
FD(,)g(and)e(is)i(v)m(ery)f(useful)g(for)f(sub-setting)i(large)150
408 y(data)e(\014les.)275 569 y(Extended)d(regular)i(expressions)f(are)
@@ -15818,7 +15843,7 @@ FD(con)m(v)m(en)m(tion)150 5340 y(describ)s(ed)29 b(in)h(Section)i
end
%%Page: 46 52
TeXDict begin 46 51 bop 150 -116 a FD(46)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(3.13)68 b(Group)45
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(3.13)68 b(Group)45
b(P)l(ath)g(Editing)150 433 y Fk(\013)p 200 433 3554
4 v 3553 w(\010)p 150 1031 4 551 v 178 568 a FD(Options)30
b Fy(-G)g Fn(gpe_dsc)178 677 y FD(Av)-5 b(ailabilit)m(y:)43
@@ -15995,7 +16020,7 @@ b(/g2/v1)390 5230 y(ncks)g(-G)g(g2:1)94 b(-g)47 b(g1/g1)g(-v)g(v1)g(#)h
(all)h(input)f(path)h(components)p eop end
%%Page: 48 54
TeXDict begin 48 53 bop 150 -116 a FD(48)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(#)47 b(Syntax:)f(-G)h([apn]:)g
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(#)47 b(Syntax:)f(-G)h([apn]:)g
(colon)f(without)g(numerical)f(argument)390 408 y(ncks)i(-G)g(:)572
b(-v)47 b(v1)h(#)f(/g?/v1)189 b(->)48 b(/v1)390 518 y(ncks)f(-G)g(:)143
b(-g)47 b(g1)190 b(-v)47 b(v1)h(#)f(/g1/v1)189 b(->)48
@@ -16051,7 +16076,7 @@ FD(.)49 b(Th)m(us)33 b(GPE)h(can)g(b)s(e)e(used)h(to)i(b)s(oth)150
b(recommended)f(w)m(a)m(y)i(to)f(rename)g(groups)g(when)e(when)h
(netCDF)150 4436 y(v)m(ersion)h(4.3.1)i(is)d(a)m(v)-5
b(ailale)34 b(is)d(to)g(use)f Fy(ncrename)f FD(\(see)i(Section)h(4.11)g
-([ncrename)f(netCDF)g(Renamer],)150 4545 y(page)g(201\).)275
+([ncrename)f(netCDF)g(Renamer],)150 4545 y(page)g(202\).)275
4778 y(One)48 b(ma)m(y)i(wish)f(to)h(\015atten)f(hierarc)m(hical)i
(group)e(\014les)g(for)g(man)m(y)h(reasons.)97 b(These)49
b(include)150 4888 y(1.)41 b(Obtaining)d(\015at)g(netCDF3)i(\014les)e
@@ -16066,7 +16091,7 @@ b(-O)g(-G)g(:)g(-g)h(cesm)e(-3)h(~/nco/data/cmip5.nc)c(~/cesm.nc)i(#)j
%%Page: 49 55
TeXDict begin 49 54 bop 150 -116 a FD(Chapter)30 b(3:)41
b(NCO)30 b(F)-8 b(eatures)2475 b(49)275 299 y(The)39
-b Fy(-3)f FD(switc)m(h)855 266 y Ft(14)966 299 y FD(sp)s(eci\014es)h
+b Fy(-3)f FD(switc)m(h)855 266 y Ft(15)966 299 y FD(sp)s(eci\014es)h
(the)g(output)h(dataset)g(should)f(b)s(e)g(in)g(netCDF3)h(format,)j
(the)d Fy(-G)29 b(:)150 408 y FD(option)k(\015attens)g(all)h(extracted)
g(groups,)f(and)f(the)h Fy(-g)d(cesm)i FD(option)h(extracts)h(only)f
@@ -16125,7 +16150,7 @@ y(#)g(Otherwise)f(arguments)f(would)h(be)i(seen)e(as)h(${5},)g(${6},)f
(${7})h(...)390 4854 y(#)g(Command)f(line)h(argument)e(option)i
(parsing)390 4964 y(if)g([)h(-n)f("${1}")f(];)h(then)g(fl_in=${1};)d
(fi)390 5073 y(if)j([)h(-n)f("${2}")f(];)h(then)g(drc_out=${2};)d(fi)p
-150 5154 1200 4 v 166 5221 a Ft(14)275 5253 y Fs(Note)29
+150 5154 1200 4 v 166 5221 a Ft(15)275 5253 y Fs(Note)29
b(that)g(the)f Fr(-3)i Fs(switc)n(h)g(should)f(app)r(ear)h
Fj(after)38 b Fs(the)28 b Fr(-G)i Fs(and)f Fr(-g)h Fs(switc)n(hes.)46
b(This)30 b(is)f(due)g(to)g(an)h(artifact)g(of)g(the)275
@@ -16133,7 +16158,7 @@ b(This)30 b(is)f(due)g(to)g(an)h(artifact)g(of)g(the)275
g(remo)n(v)n(e)f(in)h(the)f(future.)p eop end
%%Page: 50 56
TeXDict begin 50 55 bop 150 -116 a FD(50)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(if)47 b([)h(-n)f("${3}")f(];)h
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(if)47 b([)h(-n)f("${3}")f(];)h
(then)g(flg_cf=${3};)d(fi)390 408 y(if)j([)h(-n)f("${4}")f(];)h(then)g
(cf_vrs=${4};)d(fi)390 518 y(if)j([)h(-n)f("${5}")f(];)h(then)g
(opt=${5};)e(fi)390 737 y(#)i(Prepare)f(output)g(directory)390
@@ -16191,14 +16216,14 @@ b(NCO)30 b(F)-8 b(eatures)2475 b(51)390 299 y Fy
(executable)i(could)f(b)s(e)f(written)g(to)i(dismem)m(b)s(er)d(all)j
(groups)150 572 y(with)27 b(a)h(single)f(in)m(v)m(o)s(cation,)k(y)m(et)
d(dismem)m(b)s(ering)e(without)i(loss)f(of)g(information)h(is)f(p)s
-(ossible)g(no)m(w)g(with)150 682 y(this)h(simple)h(script)f(on)h(all)g
-(platforms)g(with)f(UNIXy)h(utilities.)41 b(Note)30 b(that)f(all)g
-(dimensions)f(inherited)150 791 y(b)m(y)d(groups)f(in)g(the)i(input)d
-(\014le)i(are)h(correctly)g(placed)f(b)m(y)g Fy(ncdismember)d
-FD(in)m(to)k(the)f(\015at)g(\014les.)39 b(Moreo)m(v)m(er,)150
-901 y(eac)m(h)c(output)f(\014le)f(preserv)m(es)h(the)g(group)g
-(metadata)h(of)f(all)h(ancestor)g(groups,)f(including)g(the)g(global)
-150 1011 y(metadata)45 b(from)e(the)g(input)f(\014le.)80
+(ossible)g(no)m(w)g(with)150 682 y(this)j(simple)g(script)g(on)g(all)h
+(platforms)g(with)e FC(UNIX)p FD(y)i(utilities.)42 b(Note)32
+b(that)f(all)g(dimensions)e(inherited)150 791 y(b)m(y)c(groups)f(in)g
+(the)i(input)d(\014le)i(are)h(correctly)g(placed)f(b)m(y)g
+Fy(ncdismember)d FD(in)m(to)k(the)f(\015at)g(\014les.)39
+b(Moreo)m(v)m(er,)150 901 y(eac)m(h)c(output)f(\014le)f(preserv)m(es)h
+(the)g(group)g(metadata)h(of)f(all)h(ancestor)g(groups,)f(including)g
+(the)g(global)150 1011 y(metadata)45 b(from)e(the)g(input)f(\014le.)80
b(As)43 b(written,)k(the)c(script)g(could)g(fail)h(on)f(groups)g(that)h
(con)m(tain)150 1120 y(adv)-5 b(anced)26 b(netCDF4)i(features)f(b)s
(ecause)f(the)g(user)g(requests)g(\(with)h(the)f(`)p
@@ -16218,7 +16243,7 @@ b(CF-compliance)150 1914 y FD(One)21 b(application)i(of)e(dismem)m(b)s
y(in)m(v)m(ok)m(ed)32 b(with)f(the)f(optional)i(third)e(argumn)m(t)h(`)
p Fy(cf)p FD(',)g Fy(ncdismember)d FD(passes)i(eac)m(h)i(\014le)f(it)g
(generates)h(to)150 2133 y(the)f(freely)f(a)m(v)-5 b(ailable)895
-2100 y Ft(15)998 2133 y Fy(cfchecker)28 b FD(command.)390
+2100 y Ft(16)998 2133 y Fy(cfchecker)28 b FD(command.)390
2297 y Fy(zender at roulee:~$)43 b(ncdismember)i(~/nco/data/mdl_1.nc)e
(/data/zender/nco/tmp)f(cf)390 2406 y(NCO)47 b(dismembering)d(file)j
(/home/zender/nco/data/md)o(l_1.)o(nc)390 2516 y(CFchecker)e(reports)h
@@ -16261,7 +16286,7 @@ b(/)g(/)t(wiki)g(.)t(ear)o(thda)o(ta)t(.)t(n)o(asa)t(.)s(gov)t(/)150
(ex-)150 5035 y(tends)28 b(b)s(ey)m(ond)f FC(NASA)i FD(datasets.)41
b(T)-8 b(ak)m(en)29 b(together,)h FC(NCO)p FD('s)e(features)h(\(auto)s
(con)m(v)m(ersion)h(to)f(netCDF3)p 150 5154 1200 4 v
-166 5221 a Ft(15)275 5253 y Fs(CFc)n(hec)n(k)n(er)j(is)h(dev)n(elop)r
+166 5221 a Ft(16)275 5253 y Fs(CFc)n(hec)n(k)n(er)j(is)h(dev)n(elop)r
(ed)f(b)n(y)f(Mic)n(hael)j(Dec)n(k)n(er)e(and)g(Martin)h(Sc)n(h)n(ultz)
e(at)i(F)-6 b(orsc)n(h)n(ungszen)n(trum)31 b(J)r(\177)-41
b(ulic)n(h)34 b(and)e(dis-)275 5340 y(tributed)24 b(at)i
@@ -16269,7 +16294,7 @@ Fr(https://bitbucket.org/mde_/c)q(fche)q(cker)p Fs(.)p
eop end
%%Page: 52 58
TeXDict begin 52 57 bop 150 -116 a FD(52)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(atomic)i(t)m(yp)s(es,)f(\014xing)f
+b FD(4.4.6)j(User)d(Guide)150 299 y(atomic)i(t)m(yp)s(es,)f(\014xing)f
(m)m(ultiple)h(record)f(dimensions,)g(autosensing)h FC(HDF4)g
FD(input,)e(scoping)i(rules)f(for)150 408 y(CF)f(con)m(v)m(en)m
(tions\))i(mak)m(e)f Fy(ncdismember)c FD(reliable)k(and)e(friendly)g
@@ -16368,7 +16393,7 @@ o(2)390 4792 y(cd)g(CFchecker)390 4902 y(sudo)g(python)f(setup.py)f
eop end
%%Page: 54 60
TeXDict begin 54 59 bop 150 -116 a FD(54)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(#)47 b(Many)g(datasets)f(work)g
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(#)47 b(Many)g(datasets)f(work)g
(with)h(a)g(simpler)f(command...)390 408 y(ncdismember)f
(~/nco/data/in.nc)e(${DATA}/nco/tmp/hdf)g(cf)k(1.5)390
518 y(ncdismember)e(~/nco/data/mdl_1.nc)d(${DATA}/nco/tmp/hdf)h(cf)k
@@ -16417,7 +16442,7 @@ y(con)m(v)m(en)m(tions)i(represen)m(t)f(mathematical)i(transp)s(oses)c
b(ariables)150 3601 y(con)m(tain)29 b(the)f(record)g(dimension)f(as)h
(the)g(most)g(slo)m(wly)h(v)-5 b(arying)28 b(dimension.)39
b(See)28 b(Section)g(4.8)h([ncp)s(dq)150 3711 y(netCDF)c(P)m(erm)m(ute)
-g(Dimensions)f(Quic)m(kly],)i(page)f(189)h(for)d(tec)m(hniques)i(to)g
+g(Dimensions)f(Quic)m(kly],)i(page)f(190)h(for)d(tec)m(hniques)i(to)g
(re-order)f(\(including)g(trans-)150 3821 y(p)s(ose\))30
b(dimensions)g(and)g(to)h(rev)m(erse)g(data)g(storage)h(order.)275
3981 y(Consider)f(a)h(\014le)g Fy(85.nc)f FD(con)m(taining)j(12)d(mon)m
@@ -16441,4004 +16466,4043 @@ p eop end
%%Page: 55 61
TeXDict begin 55 60 bop 150 -116 a FD(Chapter)30 b(3:)41
b(NCO)30 b(F)-8 b(eatures)2475 b(55)390 299 y Fy(...)150
-546 y FB(3.15)68 b(Hyp)t(erslabs)150 679 y Fk(\013)p
-200 679 3554 4 v 3553 w(\010)p 150 1279 4 552 v 178 815
+520 y FB(3.15)68 b(Hyp)t(erslabs)150 653 y Fk(\013)p
+200 653 3554 4 v 3553 w(\010)p 150 1253 4 552 v 178 790
a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncbo)p FD(,)30 b
Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g Fy(ncflint)p FD(,)g
Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h Fy(ncra)p FD(,)f Fy(ncrcat)p
-FD(,)g Fy(ncwa)178 925 y FD(Short)h(options:)41 b(`)p
+FD(,)g Fy(ncwa)178 899 y FD(Short)h(options:)41 b(`)p
Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p
-Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 1035 y(Long)h(options:)41
+Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 1009 y(Long)h(options:)41
b(`)p Fy(--dimension)27 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(',)178
-1144 y(`)p Fy(--dmn)i Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
+1118 y(`)p Fy(--dmn)i Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(')p 3803
-1279 V 150 1330 a Fk(\012)p 200 1330 3554 4 v 3553 w(\011)275
-1505 y FD(A)h Fz(h)m(yp)s(erslab)d FD(is)f(a)h(subset)e(of)h(a)h(v)-5
+1253 V 150 1304 a Fk(\012)p 200 1304 3554 4 v 3553 w(\011)275
+1474 y FD(A)h Fz(h)m(yp)s(erslab)d FD(is)f(a)h(subset)e(of)h(a)h(v)-5
b(ariable's)27 b(data.)40 b(The)26 b(co)s(ordinates)g(of)h(a)f(h)m(yp)s
-(erslab)f(are)i(sp)s(eci\014ed)150 1615 y(with)g(the)g
+(erslab)f(are)i(sp)s(eci\014ed)150 1584 y(with)g(the)g
Fy(-d)j Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p
Fy(][,[)p Fn(stri)o(de)p Fy(]])o(])21 b FD(short)27 b(option)g(\(or)h
-(with)e(the)h(same)h(argumen)m(ts)f(to)150 1724 y(the)34
+(with)e(the)h(same)h(argumen)m(ts)f(to)150 1694 y(the)34
b(`)p Fy(--dimension)p FD(')e(or)i(`)p Fy(--dmn)p FD(')f(long)i
(options\).)53 b(A)m(t)35 b(least)g(one)g(h)m(yp)s(erslab)e(argumen)m
-(t)h(\()p Fz(min)p FD(,)i Fz(max)p FD(,)150 1834 y(or)e
+(t)h(\()p Fz(min)p FD(,)i Fz(max)p FD(,)150 1803 y(or)e
Fz(stride)5 b FD(\))35 b(m)m(ust)f(b)s(e)g(presen)m(t.)53
b(The)34 b(b)s(ounds)e(of)i(the)h(h)m(yp)s(erslab)e(to)i(b)s(e)f
-(extracted)i(are)e(sp)s(eci\014ed)g(b)m(y)150 1944 y(the)g(asso)s
+(extracted)i(are)e(sp)s(eci\014ed)g(b)m(y)150 1913 y(the)g(asso)s
(ciated)i Fz(min)e FD(and)f Fz(max)41 b FD(v)-5 b(alues.)53
b(A)30 b(half-op)s(en)k(range)h(is)f(sp)s(eci\014ed)f(b)m(y)i(omitting)
-g(either)g(the)150 2053 y Fz(min)28 b FD(or)g Fz(max)34
+g(either)g(the)150 2022 y Fz(min)28 b FD(or)g Fz(max)34
b FD(parameter.)41 b(The)28 b(separating)h(comma)g(m)m(ust)f(b)s(e)f
(presen)m(t)i(to)g(indicate)g(the)f(omission)h(of)150
-2163 y(one)i(of)g(these)h(argumen)m(ts.)42 b(The)31 b(unsp)s(eci\014ed)
+2132 y(one)i(of)g(these)h(argumen)m(ts.)42 b(The)31 b(unsp)s(eci\014ed)
e(limit)j(is)f(in)m(terpreted)g(as)g(the)g(maxim)m(um)g(or)g(minim)m
-(um)150 2272 y(v)-5 b(alue)35 b(in)f(the)g(unsp)s(eci\014ed)f
+(um)150 2242 y(v)-5 b(alue)35 b(in)f(the)g(unsp)s(eci\014ed)f
(direction.)53 b(A)31 b(cross-section)36 b(at)f(a)g(sp)s(eci\014c)f(co)
-s(ordinate)h(is)f(extracted)i(b)m(y)150 2382 y(sp)s(ecifying)g(only)g
+s(ordinate)h(is)f(extracted)i(b)m(y)150 2351 y(sp)s(ecifying)g(only)g
(the)g Fz(min)f FD(limit)i(and)e(omitting)i(a)f(trailing)h(comma.)58
-b(Dimensions)36 b(not)g(men)m(tioned)150 2492 y(are)e(passed)g(with)f
+b(Dimensions)36 b(not)g(men)m(tioned)150 2461 y(are)e(passed)g(with)f
(no)h(reduction)g(in)f(range.)52 b(The)33 b(dimensionalit)m(y)i(of)f(v)
--5 b(ariables)35 b(is)f(not)g(reduced)f(\(in)150 2601
+-5 b(ariables)35 b(is)f(not)g(reduced)f(\(in)150 2570
y(the)e(case)g(of)g(a)f(cross-section,)j(the)d(size)h(of)g(the)f
(constan)m(t)i(dimension)e(will)h(b)s(e)e(one\).)390
-2765 y Fy(#)47 b(First)g(and)g(second)f(indices)g(of)h(lon)g(dimension)
-390 2875 y(ncks)g(-F)g(-d)g(lon,1,2)f(in.nc)g(out.nc)390
-2984 y(#)h(Second)g(and)f(third)h(indices)f(of)h(lon)g(dimension)390
-3094 y(ncks)g(-d)g(lon,1,2)f(in.nc)g(out.nc)275 3258
-y FD(Co)s(ordinate)21 b(v)-5 b(alues)23 b(should)e(b)s(e)g(sp)s
+2730 y Fy(#)47 b(First)g(and)g(second)f(longitudes)390
+2839 y(ncks)h(-F)g(-d)g(lon,1,2)f(in.nc)g(out.nc)390
+2949 y(#)h(Second)g(and)f(third)h(longitudes)390 3059
+y(ncks)g(-d)g(lon,1,2)f(in.nc)g(out.nc)275 3218 y FD(As)32
+b(of)g(v)m(ersion)g(4.2.1)i(\(August,)f(2012\),)i FC(NCO)d
+FD(allo)m(ws)h(one)f(to)h(extract)h(the)e(last)h Fz(N)42
+b FD(elemen)m(ts)33 b(of)g(a)150 3328 y(h)m(yp)s(erslab.)47
+b(Negativ)m(e)36 b(in)m(tegers)e(as)f Fz(min)f FD(or)h
+Fz(max)39 b FD(elemen)m(ts)34 b(of)f(a)g(h)m(yp)s(erslab)f(sp)s
+(eci\014cation)i(indicate)150 3437 y(o\013sets)24 b(from)e(the)h(end)f
+(\(Python)g(also)i(uses)e(this)h(con)m(v)m(en)m(tion\).)41
+b(Consisten)m(t)23 b(with)f(this)h(con)m(v)m(en)m(tion,)k(the)150
+3547 y(v)-5 b(alue)34 b(`)p Fy(-0)p FD(')g(\(negativ)m(e)i(zero\))f
+(indicates)g(the)f(last)h(elemen)m(t)g(of)f(a)g(dimension,)h(ev)m(en)f
+(though)g(negativ)m(e)150 3656 y(zero)e(is)f(algebraically)j(equiv)-5
+b(alen)m(t)33 b(to)e(zero.)44 b(Previously)-8 b(,)32
+b(for)f(example,)i(`)p Fy(-d)d(time,-2,-1)p FD(')e(caused)k(a)150
+3766 y(domain)e(error.)40 b(No)m(w)31 b(it)f(means)g(select)i(the)e
+(second-to-last)j(and)c(p)s(en)m(ultimate)i(timesteps.)41
+b(Whereas)150 3875 y(`)p Fy(-d)30 b(time,0)p FD(')35
+b(and)g(`)p Fy(-d)30 b(time,-0)p FD(')k(refer)i(to)h(the)f(\014rst)g
+(and)f(last)i(timesteps,)h(resp)s(ectiv)m(ely)-8 b(.)60
+b(Negativ)m(e)150 3985 y(in)m(tegers)32 b(w)m(ork)e(for)g
+Fz(min)g FD(and)g Fz(max)37 b FD(indices,)30 b(though)g(not)h(for)f
+Fz(stride)p FD(.)390 4144 y Fy(#)47 b(Second)g(through)e
+(second-to-last)f(longitudes)390 4254 y(ncks)j(-d)g(lon,1,-2)e(in.nc)i
+(out.nc)390 4364 y(#)g(Second)g(through)e(last)i(longitude)390
+4473 y(ncks)g(-d)g(lon,1,-0)e(in.nc)i(out.nc)390 4583
+y(#)g(Third-to-last)e(to)i(penultimate)e(longitude)390
+4692 y(ncks)i(-d)g(lon,-3,-1)e(in.nc)h(out.nc)390 4802
+y(#)h(Third-to-last)e(to)i(last)f(longitude)390 4912
+y(ncks)h(-d)g(lon,-3,)f(in.nc)g(out.nc)150 5071 y FD(The)29
+b(`)p Fy(-F)p FD(')g(argumen)m(t,)h(if)f(an)m(y)-8 b(,)31
+b(applies)e(the)h(F)-8 b(ortran)30 b(index)f(con)m(v)m(en)m(tion)i
+(only)f(to)g(indices)f(sp)s(eci\014ed)g(as)150 5181 y(p)s(ositiv)m(e)i
+(in)m(tegers)h(\(including)e(zero\).)390 5340 y Fy(#)47
+b(First)g(through)f(second-to-last)e(longitudes)p eop
+end
+%%Page: 56 62
+TeXDict begin 56 61 bop 150 -116 a FD(56)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncks)47 b(-F)g(-d)g(lon,1,-2)f
+(in.nc)g(out.nc)g(\(-F)h(affects)f(only)g(start)h(index\))390
+408 y(#)g(First)g(through)f(last)g(longitude)390 518
+y(ncks)h(-F)g(-d)g(lon,1,-0)f(in.nc)g(out.nc)390 628
+y(#)h(Third-to-last)e(to)i(penultimate)e(longitude)g(\(-F)i(has)g(no)g
+(effect\))390 737 y(ncks)g(-F)g(-d)g(lon,-3,-1)e(in.nc)i(out.nc)390
+847 y(#)g(Third-to-last)e(to)i(last)f(longitude)g(\(-F)h(has)g(no)g
+(effect\))390 956 y(ncks)g(-F)g(-d)g(lon,-3,)f(in.nc)g(out.nc)275
+1157 y FD(Co)s(ordinate)21 b(v)-5 b(alues)23 b(should)e(b)s(e)g(sp)s
(eci\014ed)g(using)g(real)i(notation)g(with)e(a)i(decimal)f(p)s(oin)m
-(t)g(required)f(in)150 3368 y(the)28 b(v)-5 b(alue,)30
+(t)g(required)f(in)150 1267 y(the)28 b(v)-5 b(alue,)30
b(whereas)d(dimension)h(indices)g(are)h(sp)s(eci\014ed)e(using)h(in)m
-(teger)h(notation)g(without)g(a)f(decimal)150 3477 y(p)s(oin)m(t.)38
+(teger)h(notation)g(without)g(a)f(decimal)150 1377 y(p)s(oin)m(t.)38
b(This)23 b(con)m(v)m(en)m(tion)j(serv)m(es)e(only)g(to)g(di\013eren)m
(tiate)h(co)s(ordinate)g(v)-5 b(alues)24 b(from)f(dimension)g(indices.)
-150 3587 y(It)f(is)h(indep)s(enden)m(t)e(of)i(the)f(t)m(yp)s(e)h(of)f
+150 1486 y(It)f(is)h(indep)s(enden)m(t)e(of)i(the)f(t)m(yp)s(e)h(of)f
(an)m(y)h(netCDF)g(co)s(ordinate)g(v)-5 b(ariables.)39
b(F)-8 b(or)23 b(a)g(giv)m(en)g(dimension,)h(the)150
-3697 y(sp)s(eci\014ed)30 b(limits)i(m)m(ust)e(b)s(oth)g(b)s(e)g(co)s
+1596 y(sp)s(eci\014ed)30 b(limits)i(m)m(ust)e(b)s(oth)g(b)s(e)g(co)s
(ordinate)i(v)-5 b(alues)31 b(\(with)g(decimal)h(p)s(oin)m(ts\))f(or)g
-(dimension)f(indices)150 3806 y(\(no)h(decimal)g(p)s(oin)m(ts\).)275
-3970 y(If)i(v)-5 b(alues)35 b(of)f(a)h(co)s(ordinate-v)-5
+(dimension)f(indices)150 1705 y(\(no)h(decimal)g(p)s(oin)m(ts\).)275
+1906 y(If)i(v)-5 b(alues)35 b(of)f(a)h(co)s(ordinate-v)-5
b(ariable)36 b(are)e(used)g(to)h(sp)s(ecify)f(a)g(range)h(or)f
-(cross-section,)j(then)d(the)150 4080 y(co)s(ordinate)25
+(cross-section,)j(then)d(the)150 2016 y(co)s(ordinate)25
b(v)-5 b(ariable)25 b(m)m(ust)f(b)s(e)f(monotonic)i(\(v)-5
b(alues)25 b(either)g(increasing)f(or)h(decreasing\).)39
-b(In)24 b(this)g(case,)150 4190 y(command-line)29 b(v)-5
+b(In)24 b(this)g(case,)150 2125 y(command-line)29 b(v)-5
b(alues)28 b(need)g(not)h(exactly)h(matc)m(h)f(co)s(ordinate)g(v)-5
b(alues)28 b(for)g(the)h(sp)s(eci\014ed)e(dimension.)150
-4299 y(Ranges)37 b(are)g(determined)f(b)m(y)g(seeking)h(the)g(\014rst)f
+2235 y(Ranges)37 b(are)g(determined)f(b)m(y)g(seeking)h(the)g(\014rst)f
(co)s(ordinate)h(v)-5 b(alue)37 b(to)g(o)s(ccur)g(in)f(the)g(closed)i
-(range)150 4409 y([)p Fz(min)p FD(,)p Fz(max)6 b FD(])33
+(range)150 2345 y([)p Fz(min)p FD(,)p Fz(max)6 b FD(])33
b(and)e(including)g(all)i(subsequen)m(t)e(v)-5 b(alues)32
b(un)m(til)h(one)f(falls)g(outside)g(the)g(range.)46
-b(The)31 b(co)s(or-)150 4518 y(dinate)c(v)-5 b(alue)26
+b(The)31 b(co)s(or-)150 2454 y(dinate)c(v)-5 b(alue)26
b(for)g(a)h(cross-section)h(is)e(the)h(co)s(ordinate-v)-5
b(ariable)28 b(v)-5 b(alue)27 b(closest)g(to)g(the)g(sp)s(eci\014ed)e
-(v)-5 b(alue)150 4628 y(and)34 b(m)m(ust)g(lie)i(within)e(the)h(range)g
+(v)-5 b(alue)150 2564 y(and)34 b(m)m(ust)g(lie)i(within)e(the)h(range)g
(or)f(co)s(ordinate-v)-5 b(ariable)37 b(v)-5 b(alues.)53
b(The)34 b Fz(stride)40 b FD(argumen)m(t,)c(if)f(an)m(y)-8
-b(,)150 4737 y(m)m(ust)32 b(b)s(e)g(a)h(dimension)f(index,)h(not)g(a)f
+b(,)150 2673 y(m)m(ust)32 b(b)s(e)g(a)h(dimension)f(index,)h(not)g(a)f
(co)s(ordinate)i(v)-5 b(alue.)47 b(See)33 b(Section)g(3.16)h([Stride],)
-g(page)f(56,)h(for)150 4847 y(more)d(information)f(on)g(the)h
-Fz(stride)k FD(option.)390 5011 y Fy(#)47 b(All)g(longitude)f(values)g
-(between)g(1)h(and)g(2)g(degrees)390 5121 y(ncks)g(-d)g(lon,1.0,2.0)e
-(in.nc)h(out.nc)390 5230 y(#)h(All)g(longitude)f(values)g(between)g(1)h
-(and)g(2)g(degrees)390 5340 y(ncks)g(-F)g(-d)g(lon,1.0,2.0)e(in.nc)h
-(out.nc)p eop end
-%%Page: 56 62
-TeXDict begin 56 61 bop 150 -116 a FD(56)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(#)47 b(Every)g(other)f
-(longitude)f(value)i(between)f(0)h(and)g(90)g(degrees)390
-408 y(ncks)g(-F)g(-d)g(lon,0.0,90.0,2)d(in.nc)i(out.nc)275
-603 y FD(As)e(of)h(v)m(ersion)g(4.2.1)i(\(August,)h(2012\),)j
-FC(NCO)44 b FD(allo)m(ws)i(one)f(to)g(extract)i(the)d(last)i
-Fz(N)55 b FD(elemen)m(ts)150 713 y(of)44 b(a)g(h)m(yp)s(erslab.)79
-b(Negativ)m(e)47 b(in)m(tegers)d(as)g Fz(min)f FD(or)h
-Fz(max)50 b FD(elemen)m(ts)45 b(of)f(a)g(h)m(yp)s(erslab)e(sp)s
-(eci\014cation)150 823 y(indicate)23 b(o\013sets)f(from)g(the)g(end)f
-(\(Python)g(also)i(uses)e(this)h(con)m(v)m(en)m(tion\).)40
-b(Previously)-8 b(,)24 b(for)e(example,)i(`)p Fy(-d)150
-932 y(time,-2,-1)p FD(')c(caused)i(a)g(domain)h(error.)37
-b(No)m(w)23 b(it)g(means)f(select)i(the)e(second-to-last)j(and)c(p)s
-(en)m(ultimate)150 1042 y(timesteps.)41 b(Negativ)m(e)34
-b(in)m(tegers)d(w)m(ork)g(for)f Fz(min)g FD(and)f Fz(max)37
-b FD(indices,)31 b(though)f(not)h(for)f Fz(stride)p FD(.)390
-1237 y Fy(#)47 b(Last)g(two)g(indices)f(of)h(lon)g(dimension)390
-1346 y(ncks)g(-F)g(-d)g(lon,1,-2)f(in.nc)g(out.nc)390
-1456 y(#)h(First)g(to)g(penultimate)e(indices)h(of)h(lon)g(dimension)
-390 1565 y(ncks)g(-F)g(-d)g(lon,1,-2)f(in.nc)g(out.nc)390
-1675 y(#)h(Third-to-last)e(to)i(last)f(index)h(of)g(lon)g(dimension)390
-1785 y(ncks)g(-F)g(-d)g(lon,-3,-1)e(in.nc)i(out.nc)390
-1894 y(#)g(Third-to-last)e(to)i(last)f(index)h(of)g(lon)g(dimension)390
-2004 y(ncks)g(-F)g(-d)g(lon,-3,)f(in.nc)g(out.nc)150
-2199 y FD(As)27 b(sho)m(wn,)g(w)m(e)g(recommend)f(using)g(a)h(full)g
-(\015oating)g(p)s(oin)m(t)g(su\016x)f(of)h Fy(.0)f FD(instead)h(of)g
-(simply)f Fy(.)g FD(in)g(order)150 2308 y(to)31 b(mak)m(e)f(ob)m(vious)
-h(the)f(selection)h(of)f(h)m(yp)s(erslab)f(elemen)m(ts)i(based)f(on)g
-(co)s(ordinate)g(v)-5 b(alue)30 b(rather)g(than)150 2418
-y(index.)275 2613 y(User-sp)s(eci\014ed)d(co)s(ordinate)i(limits)g(are)
-f(promoted)g(to)h(double-precision)f(v)-5 b(alues)28
-b(while)g(searc)m(hing)150 2722 y(for)k(the)h(indices)f(whic)m(h)g
-(brac)m(k)m(et)i(the)f(range.)46 b(Th)m(us,)32 b(h)m(yp)s(erslabs)g(on)
-g(co)s(ordinates)h(of)f(t)m(yp)s(e)h Fy(NC_CHAR)150 2832
-y FD(are)e(computed)f(n)m(umerically)h(rather)f(than)g(lexically)-8
-b(,)34 b(so)c(the)h(results)f(are)h(unpredictable.)275
-3027 y(The)k(relativ)m(e)j(magnitude)e(of)g Fz(min)f
-FD(and)g Fz(max)43 b FD(indicate)37 b(to)f(the)g(op)s(erator)g(whether)
-g(to)g(exp)s(ect)h(a)150 3137 y Fz(wrapp)s(ed)29 b(co)s(ordinate)36
-b FD(\(see)c(Section)f(3.20)i([W)-8 b(rapp)s(ed)30 b(Co)s(ordinates],)h
-(page)h(63\),)g(suc)m(h)e(as)h(longitude.)150 3246 y(If)e
-Fz(min)24 b Fv(>)h Fz(max)7 b FD(,)29 b(the)h FC(NCO)f
-FD(exp)s(ects)g(the)g(co)s(ordinate)h(to)g(b)s(e)f(wrapp)s(ed,)e(and)i
-(a)g(w)m(arning)g(message)i(will)150 3356 y(b)s(e)e(prin)m(ted.)40
-b(When)29 b(this)g(o)s(ccurs,)h FC(NCO)f FD(selects)i(all)g(v)-5
-b(alues)29 b(outside)h(the)g(domain)f([)p Fz(max)j Fv(<)25
-b Fz(min)o FD(],)31 b(i.e.,)150 3465 y(all)h(the)g(v)-5
-b(alues)32 b(exclusiv)m(e)h(of)f(the)f(v)-5 b(alues)32
-b(whic)m(h)f(w)m(ould)h(ha)m(v)m(e)g(b)s(een)f(selected)i(if)f
-Fz(min)f FD(and)g Fz(max)37 b FD(w)m(ere)150 3575 y(sw)m(app)s(ed.)i
-(If)28 b(this)h(seems)g(confusing,)f(test)i(y)m(our)f(command)f(on)h
-(just)f(the)g(co)s(ordinate)i(v)-5 b(ariables)29 b(with)150
-3685 y Fy(ncks)p FD(,)41 b(and)d(then)i(examine)g(the)f(output)g(to)h
-(ensure)f FC(NCO)g FD(selected)i(the)e(h)m(yp)s(erslab)g(y)m(ou)h(exp)s
-(ected)150 3794 y(\(co)s(ordinate)32 b(wrapping)d(is)h(curren)m(tly)h
-(only)f(supp)s(orted)f(b)m(y)h Fy(ncks)p FD(\).)275 3989
-y(Because)35 b(of)g(the)g(w)m(a)m(y)g(wrapp)s(ed)e(co)s(ordinates)i
-(are)g(in)m(terpreted,)h(it)f(is)f(v)m(ery)h(imp)s(ortan)m(t)g(to)g
-(mak)m(e)150 4099 y(sure)d(y)m(ou)i(alw)m(a)m(ys)h(sp)s(ecify)d(h)m(yp)
-s(erslabs)g(in)h(the)g(monotonically)j(increasing)d(sense,)h(i.e.,)i
-Fz(min)29 b Fv(<)h Fz(max)150 4208 y FD(\(ev)m(en)24
-b(if)f(the)g(underlying)f(co)s(ordinate)i(v)-5 b(ariable)24
-b(is)f(monotonically)i(decreasing\).)39 b(The)23 b(only)g(exception)150
-4318 y(to)33 b(this)f(is)g(when)f(y)m(ou)i(are)f(indeed)g(sp)s
-(ecifying)g(a)g(wrapp)s(ed)f(co)s(ordinate.)47 b(The)31
-b(distinction)i(is)f(crucial)150 4427 y(to)25 b(understand)e(b)s
-(ecause)i(the)g(p)s(oin)m(ts)f(selected)j(b)m(y)-8 b(,)26
-b(e.g.,)h Fy(-d)j(longitude,50.,340.)p FD(,)21 b(are)k(exactly)i(the)
-150 4537 y(complemen)m(t)32 b(of)e(the)h(p)s(oin)m(ts)f(selected)i(b)m
-(y)e Fy(-d)g(longitude,340.,50.)p FD(.)275 4732 y(Not)h(sp)s(ecifying)g
-(an)m(y)g(h)m(yp)s(erslab)f(option)h(is)g(equiv)-5 b(alen)m(t)32
-b(to)g(sp)s(ecifying)e(full)h(ranges)g(of)g(all)g(dimen-)150
-4842 y(sions.)38 b(This)22 b(option)i(ma)m(y)f(b)s(e)g(sp)s(eci\014ed)f
-(more)h(than)g(once)h(in)f(a)g(single)h(command)e(\(eac)m(h)j(h)m(yp)s
-(erslabb)s(ed)150 4951 y(dimension)30 b(requires)g(its)g(o)m(wn)h
-Fy(-d)f FD(option\).)150 5290 y FB(3.16)68 b(Stride)p
-eop end
+g(page)f(57,)h(for)150 2783 y(more)d(information)f(on)g(the)h
+Fz(stride)k FD(option.)390 2984 y Fy(#)47 b(All)g(longitude)f(values)g
+(between)g(1)h(and)g(2)g(degrees)390 3093 y(ncks)g(-d)g(lon,1.0,2.0)e
+(in.nc)h(out.nc)390 3203 y(#)h(All)g(longitude)f(values)g(between)g(1)h
+(and)g(2)g(degrees)390 3313 y(ncks)g(-F)g(-d)g(lon,1.0,2.0)e(in.nc)h
+(out.nc)390 3422 y(#)h(Every)g(other)f(longitude)f(value)i(between)f(0)
+h(and)g(90)g(degrees)390 3532 y(ncks)g(-F)g(-d)g(lon,0.0,90.0,2)d
+(in.nc)i(out.nc)275 3733 y FD(As)33 b(sho)m(wn,)h(w)m(e)g(recommend)f
+(using)g(a)h(full)f(\015oating)i(p)s(oin)m(t)e(su\016x)g(of)h
+Fy(.0)f FD(instead)g(of)h(simply)f Fy(.)g FD(in)150 3842
+y(order)27 b(to)i(mak)m(e)g(ob)m(vious)f(the)g(selection)i(of)e(h)m(yp)
+s(erslab)f(elemen)m(ts)i(based)e(on)h(co)s(ordinate)h(v)-5
+b(alue)28 b(rather)150 3952 y(than)i(index.)275 4153
+y(User-sp)s(eci\014ed)d(co)s(ordinate)i(limits)g(are)f(promoted)g(to)h
+(double-precision)f(v)-5 b(alues)28 b(while)g(searc)m(hing)150
+4262 y(for)k(the)h(indices)f(whic)m(h)g(brac)m(k)m(et)i(the)f(range.)46
+b(Th)m(us,)32 b(h)m(yp)s(erslabs)g(on)g(co)s(ordinates)h(of)f(t)m(yp)s
+(e)h Fy(NC_CHAR)150 4372 y FD(are)e(computed)f(n)m(umerically)h(rather)
+f(than)g(lexically)-8 b(,)34 b(so)c(the)h(results)f(are)h
+(unpredictable.)275 4573 y(The)k(relativ)m(e)j(magnitude)e(of)g
+Fz(min)f FD(and)g Fz(max)43 b FD(indicate)37 b(to)f(the)g(op)s(erator)g
+(whether)g(to)g(exp)s(ect)h(a)150 4682 y Fz(wrapp)s(ed)29
+b(co)s(ordinate)36 b FD(\(see)c(Section)f(3.20)i([W)-8
+b(rapp)s(ed)30 b(Co)s(ordinates],)h(page)h(63\),)g(suc)m(h)e(as)h
+(longitude.)150 4792 y(If)e Fz(min)24 b Fv(>)h Fz(max)7
+b FD(,)29 b(the)h FC(NCO)f FD(exp)s(ects)g(the)g(co)s(ordinate)h(to)g
+(b)s(e)f(wrapp)s(ed,)e(and)i(a)g(w)m(arning)g(message)i(will)150
+4902 y(b)s(e)e(prin)m(ted.)40 b(When)29 b(this)g(o)s(ccurs,)h
+FC(NCO)f FD(selects)i(all)g(v)-5 b(alues)29 b(outside)h(the)g(domain)f
+([)p Fz(max)j Fv(<)25 b Fz(min)o FD(],)31 b(i.e.,)150
+5011 y(all)h(the)g(v)-5 b(alues)32 b(exclusiv)m(e)h(of)f(the)f(v)-5
+b(alues)32 b(whic)m(h)f(w)m(ould)h(ha)m(v)m(e)g(b)s(een)f(selected)i
+(if)f Fz(min)f FD(and)g Fz(max)37 b FD(w)m(ere)150 5121
+y(sw)m(app)s(ed.)i(If)28 b(this)h(seems)g(confusing,)f(test)i(y)m(our)f
+(command)f(on)h(just)f(the)g(co)s(ordinate)i(v)-5 b(ariables)29
+b(with)150 5230 y Fy(ncks)p FD(,)41 b(and)d(then)i(examine)g(the)f
+(output)g(to)h(ensure)f FC(NCO)g FD(selected)i(the)e(h)m(yp)s(erslab)g
+(y)m(ou)h(exp)s(ected)150 5340 y(\(co)s(ordinate)32 b(wrapping)d(is)h
+(curren)m(tly)h(only)f(supp)s(orted)f(b)m(y)h Fy(ncks)p
+FD(\).)p eop end
%%Page: 57 63
TeXDict begin 57 62 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(57)150 51 y Fk(\013)p
-200 51 3554 4 v 3553 w(\010)p 150 651 4 552 v 178 188
-a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncbo)p FD(,)30 b
-Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g Fy(ncflint)p FD(,)g
-Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h Fy(ncra)p FD(,)f Fy(ncrcat)p
-FD(,)g Fy(ncwa)178 297 y FD(Short)h(options:)41 b(`)p
-Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p
-Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 407 y(Long)h(options:)41
-b(`)p Fy(--dimension)27 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
-Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(',)178
-516 y(`)p Fy(--dmn)i Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
-Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(')p 3803
-651 V 150 702 a Fk(\012)p 200 702 3554 4 v 3553 w(\011)275
-874 y FD(All)36 b(data)h(op)s(erators)f(supp)s(ort)e(sp)s(ecifying)i(a)
-h Fz(stride)k FD(for)35 b(an)m(y)i(and)e(all)i(dimensions)f(at)g(the)h
-(same)150 984 y(time.)59 b(The)36 b Fz(stride)41 b FD(is)c(the)f
+b(NCO)30 b(F)-8 b(eatures)2475 b(57)275 299 y(Because)35
+b(of)g(the)g(w)m(a)m(y)g(wrapp)s(ed)e(co)s(ordinates)i(are)g(in)m
+(terpreted,)h(it)f(is)f(v)m(ery)h(imp)s(ortan)m(t)g(to)g(mak)m(e)150
+408 y(sure)d(y)m(ou)i(alw)m(a)m(ys)h(sp)s(ecify)d(h)m(yp)s(erslabs)g
+(in)h(the)g(monotonically)j(increasing)d(sense,)h(i.e.,)i
+Fz(min)29 b Fv(<)h Fz(max)150 518 y FD(\(ev)m(en)24 b(if)f(the)g
+(underlying)f(co)s(ordinate)i(v)-5 b(ariable)24 b(is)f(monotonically)i
+(decreasing\).)39 b(The)23 b(only)g(exception)150 628
+y(to)33 b(this)f(is)g(when)f(y)m(ou)i(are)f(indeed)g(sp)s(ecifying)g(a)
+g(wrapp)s(ed)f(co)s(ordinate.)47 b(The)31 b(distinction)i(is)f(crucial)
+150 737 y(to)25 b(understand)e(b)s(ecause)i(the)g(p)s(oin)m(ts)f
+(selected)j(b)m(y)-8 b(,)26 b(e.g.,)h Fy(-d)j(longitude,50.,340.)p
+FD(,)21 b(are)k(exactly)i(the)150 847 y(complemen)m(t)32
+b(of)e(the)h(p)s(oin)m(ts)f(selected)i(b)m(y)e Fy(-d)g
+(longitude,340.,50.)p FD(.)275 1014 y(Not)h(sp)s(ecifying)g(an)m(y)g(h)
+m(yp)s(erslab)f(option)h(is)g(equiv)-5 b(alen)m(t)32
+b(to)g(sp)s(ecifying)e(full)h(ranges)g(of)g(all)g(dimen-)150
+1123 y(sions.)38 b(This)22 b(option)i(ma)m(y)f(b)s(e)g(sp)s(eci\014ed)f
+(more)h(than)g(once)h(in)f(a)g(single)h(command)e(\(eac)m(h)j(h)m(yp)s
+(erslabb)s(ed)150 1233 y(dimension)30 b(requires)g(its)g(o)m(wn)h
+Fy(-d)f FD(option\).)150 1489 y FB(3.16)68 b(Stride)150
+1599 y Fk(\013)p 200 1599 3554 4 v 3553 w(\010)p 150
+2198 4 552 v 178 1735 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncbo)p FD(,)30 b Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g
+Fy(ncflint)p FD(,)g Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h
+Fy(ncra)p FD(,)f Fy(ncrcat)p FD(,)g Fy(ncwa)178 1845
+y FD(Short)h(options:)41 b(`)p Fy(-d)30 b Fn(dim)p Fy(,[)p
+Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(strid)o(e)p
+Fy(]]])o FD(')178 1954 y(Long)h(options:)41 b(`)p Fy(--dimension)27
+b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
+Fn(stride)p Fy(])o(]])p FD(',)178 2064 y(`)p Fy(--dmn)i
+Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
+Fn(stride)p Fy(])o(]])p FD(')p 3803 2198 V 150 2250 a
+Fk(\012)p 200 2250 3554 4 v 3553 w(\011)275 2428 y FD(All)36
+b(data)h(op)s(erators)f(supp)s(ort)e(sp)s(ecifying)i(a)h
+Fz(stride)k FD(for)35 b(an)m(y)i(and)e(all)i(dimensions)f(at)g(the)h
+(same)150 2537 y(time.)59 b(The)36 b Fz(stride)41 b FD(is)c(the)f
(spacing)h(b)s(et)m(w)m(een)g(consecutiv)m(e)h(p)s(oin)m(ts)e(in)g(a)h
(h)m(yp)s(erslab.)57 b(A)31 b Fz(stride)41 b FD(of)31
-b(1)150 1093 y(pic)m(ks)22 b(all)g(the)g(elemen)m(ts)h(of)e(the)h(h)m
+b(1)150 2647 y(pic)m(ks)22 b(all)g(the)g(elemen)m(ts)h(of)e(the)h(h)m
(yp)s(erslab,)h(and)d(a)i Fz(stride)27 b FD(of)j(2)22
b(skips)f(ev)m(ery)h(other)g(elemen)m(t,)j(etc..)39 b
-Fy(ncks)150 1203 y FD(m)m(ultislabs)e(supp)s(ort)e(strides,)j(and)d
+Fy(ncks)150 2757 y FD(m)m(ultislabs)e(supp)s(ort)e(strides,)j(and)d
(are)i(more)g(p)s(o)m(w)m(erful)f(than)g(the)h(regular)f(h)m(yp)s
-(erslabs)g(supp)s(orted)150 1313 y(b)m(y)30 b(the)h(other)f(op)s
+(erslabs)g(supp)s(orted)150 2866 y(b)m(y)30 b(the)h(other)f(op)s
(erators)h(\(see)g(Section)g(3.19)h([Multislabs],)g(page)f(60\).)42
-b(Using)30 b(the)h Fz(stride)k FD(option)c(for)150 1422
+b(Using)30 b(the)h Fz(stride)k FD(option)c(for)150 2976
y(the)j(record)f(dimension)g(with)g Fy(ncra)g FD(and)g
Fy(ncrcat)e FD(mak)m(es)k(it)f(p)s(ossible,)g(for)f(instance,)j(to)e(a)
-m(v)m(erage)i(or)150 1532 y(concatenate)d(regular)e(in)m(terv)-5
+m(v)m(erage)i(or)150 3085 y(concatenate)d(regular)e(in)m(terv)-5
b(als)31 b(across)g(m)m(ulti-\014le)g(input)f(data)h(sets.)275
-1693 y(The)22 b Fz(stride)27 b FD(is)c(sp)s(eci\014ed)f(as)g(the)h
+3252 y(The)22 b Fz(stride)27 b FD(is)c(sp)s(eci\014ed)f(as)g(the)h
(optional)h(fourth)e(argumen)m(t)h(to)g(the)g(`)p Fy(-d)p
-FD(')f(h)m(yp)s(erslab)g(sp)s(eci\014cation:)150 1802
+FD(')f(h)m(yp)s(erslab)g(sp)s(eci\014cation:)150 3362
y Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p
Fy(][,[)p Fn(stri)o(de)p Fy(]])o(])p FD(.)48 b(Sp)s(ecify)34
b Fz(stride)40 b FD(as)35 b(an)g(in)m(teger)h(\(i.e.,)i(no)d(decimal)h
-(p)s(oin)m(t\))150 1912 y(follo)m(wing)31 b(the)f(third)f(comma)h(in)f
+(p)s(oin)m(t\))150 3472 y(follo)m(wing)31 b(the)f(third)f(comma)h(in)f
(the)h(`)p Fy(-d)p FD(')f(argumen)m(t.)41 b(There)29
b(is)h(no)f(default)h(v)-5 b(alue)30 b(for)g Fz(stride)p
-FD(.)40 b(Th)m(us)150 2021 y(using)34 b(`)p Fy(-d)c(time,,,2)p
+FD(.)40 b(Th)m(us)150 3581 y(using)34 b(`)p Fy(-d)c(time,,,2)p
FD(')i(is)j(v)-5 b(alid)35 b(but)e(`)p Fy(-d)d(time,,,2.0)p
FD(')i(and)i(`)p Fy(-d)c(time,,,)p FD(')j(are)i(not.)53
-b(When)34 b Fz(stride)150 2131 y FD(is)39 b(sp)s(eci\014ed)f(but)g
+b(When)34 b Fz(stride)150 3691 y FD(is)39 b(sp)s(eci\014ed)f(but)g
Fz(min)g FD(is)g(not,)k(there)c(is)h(an)g(am)m(biguit)m(y)h(as)f(to)g
-(whether)f(the)h(extracted)h(h)m(yp)s(erslab)150 2241
+(whether)f(the)h(extracted)h(h)m(yp)s(erslab)150 3800
y(should)31 b(b)s(egin)h(with)g(\(using)g(C-st)m(yle,)i(0-based)e
(indexes\))h(elemen)m(t)f(0)g(or)g(elemen)m(t)i(`)p Fy(stride-1)p
-FD('.)44 b FC(NCO)150 2350 y FD(m)m(ust)33 b(resolv)m(e)h(this)f(am)m
+FD('.)44 b FC(NCO)150 3910 y FD(m)m(ust)33 b(resolv)m(e)h(this)f(am)m
(biguit)m(y)h(and)e(it)i(c)m(ho)s(oses)f(elemen)m(t)f(0)h(as)g(the)g
(\014rst)g(elemen)m(t)h(of)f(the)g(h)m(yp)s(erslab)150
-2460 y(when)44 b Fz(min)g FD(is)g(not)h(sp)s(eci\014ed.)83
+4020 y(when)44 b Fz(min)g FD(is)g(not)h(sp)s(eci\014ed.)83
b(Th)m(us)43 b(`)p Fy(-d)30 b(time,,,)p Fn(stride)p FD(')42
b(is)i(syn)m(tactically)k(equiv)-5 b(alen)m(t)46 b(to)f(`)p
-Fy(-d)150 2569 y(time,0,,)p Fn(stride)p FD('.)55 b(This)36
+Fy(-d)150 4129 y(time,0,,)p Fn(stride)p FD('.)55 b(This)36
b(means,)i(for)e(example,)i(that)f(sp)s(ecifying)g(the)f(op)s(eration)h
-(`)p Fy(-d)30 b(time,,,2)p FD(')150 2679 y(on)43 b(the)h(arra)m(y)g(`)p
+(`)p Fy(-d)30 b(time,,,2)p FD(')150 4239 y(on)43 b(the)h(arra)m(y)g(`)p
Fy(1,2,3,4,5)p FD(')d(selects)k(the)e(h)m(yp)s(erslab)g(`)p
Fy(1,3,5)p FD('.)79 b(T)-8 b(o)44 b(obtain)f(the)h(h)m(yp)s(erslab)e(`)
-p Fy(2,4)p FD(')150 2789 y(instead,)31 b(simply)f(explicitly)i(sp)s
+p Fy(2,4)p FD(')150 4348 y(instead,)31 b(simply)f(explicitly)i(sp)s
(ecify)e(the)g(starting)h(index)f(as)h(1,)g(i.e.,)h(`)p
-Fy(-d)e(time,1,,2)p FD('.)275 2950 y(F)-8 b(or)23 b(example,)i
+Fy(-d)e(time,1,,2)p FD('.)275 4515 y(F)-8 b(or)23 b(example,)i
(consider)d(a)h(\014le)f Fy(8501_8912.nc)e FD(whic)m(h)i(con)m(tains)h
-(60)h(consecutiv)m(e)g(mon)m(ths)e(of)h(data.)150 3059
+(60)h(consecutiv)m(e)g(mon)m(ths)e(of)h(data.)150 4625
y(Sa)m(y)36 b(y)m(ou)g(wish)f(to)i(obtain)f(just)f(the)h(Marc)m(h)h
(data)f(from)g(this)f(\014le.)57 b(Using)36 b(0-based)h(subscripts)d
-(\(see)150 3169 y(Section)f(3.14)g([C)e(and)h(F)-8 b(ortran)32
+(\(see)150 4735 y(Section)f(3.14)g([C)e(and)h(F)-8 b(ortran)32
b(Index)f(Con)m(v)m(en)m(tions],)j(page)e(54\))h(these)f(data)h(are)f
-(stored)g(in)f(records)150 3278 y(2,)g(14,)37 b(.)22
+(stored)g(in)f(records)150 4844 y(2,)g(14,)37 b(.)22
b(.)h(.)41 b(50)36 b(so)f(the)h(desired)e Fz(stride)40
b FD(is)31 b(12.)36 b(Without)g(the)f Fz(stride)40 b
-FD(option,)d(the)e(pro)s(cedure)f(is)i(v)m(ery)150 3388
+FD(option,)d(the)e(pro)s(cedure)f(is)i(v)m(ery)150 4954
y(a)m(wkw)m(ard.)41 b(One)29 b(could)h(use)f Fy(ncks)g
FD(\014v)m(e)h(times)g(and)f(then)h(use)f Fy(ncrcat)f
-FD(to)j(concatenate)h(the)e(resulting)150 3497 y(\014les)g(together:)
-390 3658 y Fy(for)47 b(idx)g(in)g(02)g(14)g(26)h(38)f(50;)g(do)g(#)g
-(Bourne)f(Shell)485 3768 y(ncks)h(-d)g(time,${idx})e(8501_8912.nc)f
-(foo.${idx})390 3878 y(done)390 3987 y(foreach)i(idx)h(\(02)g(14)g(26)g
-(38)g(50\))g(#)h(C)f(Shell)485 4097 y(ncks)g(-d)g(time,${idx})e
-(8501_8912.nc)f(foo.${idx})390 4206 y(end)390 4316 y(ncrcat)i(foo.??)g
-(8589_03.nc)390 4426 y(rm)h(foo.??)275 4587 y FD(With)30
-b(the)h Fz(stride)k FD(option,)c Fy(ncks)f FD(p)s(erforms)e(this)j(h)m
-(yp)s(erslab)e(extraction)j(in)e(one)h(op)s(eration:)390
-4747 y Fy(ncks)47 b(-d)g(time,2,,12)e(8501_8912.nc)f(8589_03.nc)275
-4908 y FD(See)30 b(Section)h(4.7)h([nc)m(ks)f(netCDF)g(Kitc)m(hen)f
-(Sink],)h(page)g(176,)h(for)e(more)g(information)h(on)f
-Fy(ncks)p FD(.)275 5069 y(Applying)21 b(the)i Fz(stride)k
-FD(option)c(to)g(the)f(record)g(dimension)g(in)g Fy(ncra)f
-FD(and)h Fy(ncrcat)e FD(mak)m(es)j(it)g(p)s(ossible,)150
-5179 y(for)30 b(instance,)h(to)h(a)m(v)m(erage)h(or)d(concatenate)j
-(regular)e(in)m(terv)-5 b(als)31 b(across)g(m)m(ulti-\014le)g(input)f
-(data)h(sets.)390 5340 y Fy(ncra)47 b(-F)g(-d)g(time,3,,12)e(85.nc)h
-(86.nc)h(87.nc)f(88.nc)g(89.nc)h(8589_03.nc)p eop end
+FD(to)j(concatenate)h(the)e(resulting)150 5063 y(\014les)g(together:)
+390 5230 y Fy(for)47 b(idx)g(in)g(02)g(14)g(26)h(38)f(50;)g(do)g(#)g
+(Bourne)f(Shell)485 5340 y(ncks)h(-d)g(time,${idx})e(8501_8912.nc)f
+(foo.${idx})p eop end
%%Page: 58 64
TeXDict begin 58 63 bop 150 -116 a FD(58)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncrcat)46 b(-F)h(-d)g
-(time,3,,12)e(85.nc)i(86.nc)f(87.nc)h(88.nc)f(89.nc)g(8503_8903.nc)150
-619 y FB(3.17)68 b(Record)46 b(App)t(ending)150 753 y
-Fk(\013)p 200 753 3554 4 v 3553 w(\010)p 150 1243 4 442
-v 178 889 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncra)p
-FD(,)30 b Fy(ncrcat)178 999 y FD(Short)g(options:)41
-b(None)178 1108 y(Long)31 b(options:)41 b(`)p Fy(--rec_apn)p
-FD(',)28 b(`)p Fy(--record_append)p FD(')p 3803 1243
-V 150 1294 a Fk(\012)p 200 1294 3554 4 v 3553 w(\011)275
-1499 y FD(As)i(of)h(v)m(ersion)h(4.2.6)g(\(Marc)m(h,)g(2013\),)i
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(done)390 408 y(foreach)46
+b(idx)h(\(02)g(14)g(26)g(38)g(50\))g(#)h(C)f(Shell)485
+518 y(ncks)g(-d)g(time,${idx})e(8501_8912.nc)f(foo.${idx})390
+628 y(end)390 737 y(ncrcat)i(foo.??)g(8589_03.nc)390
+847 y(rm)h(foo.??)275 1007 y FD(With)30 b(the)h Fz(stride)k
+FD(option,)c Fy(ncks)f FD(p)s(erforms)e(this)j(h)m(yp)s(erslab)e
+(extraction)j(in)e(one)h(op)s(eration:)390 1167 y Fy(ncks)47
+b(-d)g(time,2,,12)e(8501_8912.nc)f(8589_03.nc)275 1328
+y FD(See)30 b(Section)h(4.7)h([nc)m(ks)f(netCDF)g(Kitc)m(hen)f(Sink],)h
+(page)g(176,)h(for)e(more)g(information)h(on)f Fy(ncks)p
+FD(.)275 1488 y(Applying)21 b(the)i Fz(stride)k FD(option)c(to)g(the)f
+(record)g(dimension)g(in)g Fy(ncra)f FD(and)h Fy(ncrcat)e
+FD(mak)m(es)j(it)g(p)s(ossible,)150 1598 y(for)30 b(instance,)h(to)h(a)
+m(v)m(erage)h(or)d(concatenate)j(regular)e(in)m(terv)-5
+b(als)31 b(across)g(m)m(ulti-\014le)g(input)f(data)h(sets.)390
+1758 y Fy(ncra)47 b(-F)g(-d)g(time,3,,12)e(85.nc)h(86.nc)h(87.nc)f
+(88.nc)g(89.nc)h(8589_03.nc)390 1867 y(ncrcat)f(-F)h(-d)g(time,3,,12)e
+(85.nc)i(86.nc)f(87.nc)h(88.nc)f(89.nc)g(8503_8903.nc)150
+2102 y FB(3.17)68 b(Record)46 b(App)t(ending)150 2236
+y Fk(\013)p 200 2236 3554 4 v 3553 w(\010)p 150 2726
+4 442 v 178 2372 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncra)p
+FD(,)30 b Fy(ncrcat)178 2482 y FD(Short)g(options:)41
+b(None)178 2592 y(Long)31 b(options:)41 b(`)p Fy(--rec_apn)p
+FD(',)28 b(`)p Fy(--record_append)p FD(')p 3803 2726
+V 150 2777 a Fk(\012)p 200 2777 3554 4 v 3553 w(\011)275
+2954 y FD(As)i(of)h(v)m(ersion)h(4.2.6)g(\(Marc)m(h,)g(2013\),)i
FC(NCO)c FD(allo)m(ws)i(b)s(oth)e(Multi-File,)k(Multi-Record)e(op)s
-(erators)150 1608 y(\()p Fy(ncra)21 b FD(and)g Fy(ncrcat)p
+(erators)150 3063 y(\()p Fy(ncra)21 b FD(and)g Fy(ncrcat)p
FD(\))f(to)i(app)s(end)e(their)i(output)f(directly)i(to)f(the)g(end)f
(of)h(an)f(existing)i(\014le.)38 b(This)20 b(feature)150
-1718 y(ma)m(y)37 b(b)s(e)e(used)h(to)h(augmen)m(t)g(a)f(target)i
+3173 y(ma)m(y)37 b(b)s(e)e(used)h(to)h(augmen)m(t)g(a)f(target)i
(\014le,)g(rather)e(than)g(construct)h(it)g(from)f(scratc)m(h.)59
-b(This)35 b(helps,)150 1827 y(for)e(example,)h(when)e(a)h(timeseries)h
+b(This)35 b(helps,)150 3282 y(for)e(example,)h(when)e(a)h(timeseries)h
(is)e(concatenated)j(from)e(input)e(data)j(that)f(b)s(ecomes)g(a)m(v)-5
-b(ailable)35 b(in)150 1937 y(stages)d(rather)e(than)g(all)h(at)g(once.)
+b(ailable)35 b(in)150 3392 y(stages)d(rather)e(than)g(all)h(at)g(once.)
42 b(In)29 b(suc)m(h)i(cases)g(this)f(switc)m(h)h(signi\014can)m(tly)g
-(sp)s(eeds)f(writing.)275 2126 y(Consider)d(the)h(use)g(case)h(where)f
+(sp)s(eeds)f(writing.)275 3552 y(Consider)d(the)h(use)g(case)h(where)f
(one)h(wishes)e(to)i(preserv)m(e)g(the)f(con)m(ten)m(ts)i(of)e
-Fy(fl_1.nc)p FD(,)f(and)h(add)f(to)150 2235 y(them)i(new)f(records)g
+Fy(fl_1.nc)p FD(,)f(and)h(add)f(to)150 3662 y(them)i(new)f(records)g
(con)m(tained)i(in)e Fy(fl_2.nc)p FD(.)38 b(Previously)29
b(the)g(output)f(had)g(to)h(b)s(e)f(placed)h(in)g(a)g(third)150
-2345 y(\014le,)i Fy(fl_3.nc)d FD(\(whic)m(h)j(could)f(also)h(safely)g
-(b)s(e)f(named)g Fy(fl_2.nc)p FD(\),)f(via)390 2534 y
-Fy(ncrcat)46 b(-O)h(fl_1.nc)f(fl_2.nc)g(fl_3.nc)275 2722
+3771 y(\014le,)i Fy(fl_3.nc)d FD(\(whic)m(h)j(could)f(also)h(safely)g
+(b)s(e)f(named)g Fy(fl_2.nc)p FD(\),)f(via)390 3932 y
+Fy(ncrcat)46 b(-O)h(fl_1.nc)f(fl_2.nc)g(fl_3.nc)275 4092
y FD(Under)29 b(the)h(ho)s(o)s(d)f(this)h(op)s(eration)g(copies)h(all)g
(information)f(in)g Fy(fl_1.nc)e FD(and)h Fy(fl_2.nc)f
-FD(not)i(once)150 2832 y(but)40 b(t)m(wice.)75 b(The)41
+FD(not)i(once)150 4202 y(but)40 b(t)m(wice.)75 b(The)41
b(\014rst)f(cop)m(y)i(is)f(p)s(erformed)f(through)g(the)i(netCDF)f(in)m
-(terface,)46 b(as)41 b(all)i(data)e(from)150 2941 y Fy(fl_1.nc)28
+(terface,)46 b(as)41 b(all)i(data)e(from)150 4311 y Fy(fl_1.nc)28
b FD(and)i Fy(fl_2.nc)e FD(are)i(extracted)h(and)f(placed)g(in)g(the)g
(output)g(\014le.)41 b(The)29 b(second)h(cop)m(y)h(o)s(ccurs)150
-3051 y(\(usually)c(m)m(uc)m(h\))g(more)g(quic)m(kly)h(as)f(the)g(\(b)m
+4421 y(\(usually)c(m)m(uc)m(h\))g(more)g(quic)m(kly)h(as)f(the)g(\(b)m
(y)h(default\))f(temp)s(orary)g(output)f(\014le)h(is)g(copied)h
-(\(sometimes)150 3161 y(a)34 b(quic)m(k)f(re-link)h(su\016ces\))f(to)h
+(\(sometimes)150 4530 y(a)34 b(quic)m(k)f(re-link)h(su\016ces\))f(to)h
(the)g(\014nal)f(output)f(\014le)i(\(see)g(Section)g(2.3)g([T)-8
-b(emp)s(orary)33 b(Output)f(Files],)150 3270 y(page)f(15\).)42
+b(emp)s(orary)33 b(Output)f(Files],)150 4640 y(page)f(15\).)42
b(All)31 b(this)f(cop)m(ying)i(is)e(exp)s(ensiv)m(e)h(for)f(large)h
-(\014les.)275 3459 y(The)26 b(new)g(`)p Fy(--record_append)p
-FD(')d(switc)m(h)k(causes)g(all)g(records)f(in)h Fy(fl_2.nc)d
-FD(to)k(b)s(e)e(app)s(ended)e(to)k(the)150 3568 y(end)i(of)g(the)h
-(corresp)s(onding)e(records)h(in)g Fy(fl_1.nc)p FD(:)390
-3757 y Fy(ncrcat)46 b(--rec_apn)f(fl_2.nc)h(fl_1.nc)275
-3946 y FD(The)32 b(ordering)h(of)g(the)h(\014lename)f(argumen)m(ts)g
-(ma)m(y)h(seem)g(non-in)m(tuitiv)m(e.)50 b(If)33 b(the)g(record)g(v)-5
-b(ariable)150 4055 y(represen)m(ts)29 b(time)g(in)g(these)g(\014les,)h
+(\014les.)275 4800 y(The)26 b(`)p Fy(--record_append)p
+FD(')d(switc)m(h)28 b(app)s(ends)d(all)j(records)e(in)h
+Fy(fl_2.nc)e FD(to)j(the)f(end)f(\(after)i(the)f(last)150
+4910 y(record\))k(of)f Fy(fl_1.nc)p FD(:)390 5070 y Fy(ncrcat)46
+b(--rec_apn)f(fl_2.nc)h(fl_1.nc)275 5230 y FD(The)32
+b(ordering)h(of)g(the)h(\014lename)f(argumen)m(ts)g(ma)m(y)h(seem)g
+(non-in)m(tuitiv)m(e.)50 b(If)33 b(the)g(record)g(v)-5
+b(ariable)150 5340 y(represen)m(ts)29 b(time)g(in)g(these)g(\014les,)h
(then)e(the)h(v)-5 b(alues)29 b(in)g Fy(fl_1.nc)e FD(precede)i(those)g
-(in)g Fy(fl_2.nc)p FD(,)e(so)i(wh)m(y)150 4165 y(do)c(the)g(\014les)g
+(in)g Fy(fl_2.nc)p FD(,)e(so)i(wh)m(y)p eop end
+%%Page: 59 65
+TeXDict begin 59 64 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(59)150 299 y(do)25 b(the)g(\014les)g
(app)s(ear)g(in)g(the)g(rev)m(erse)h(order)e(on)h(the)h(command)f
(line?)39 b Fy(fl_1.nc)23 b FD(is)i(the)g(last)h(\014le)f(named)150
-4275 y(b)s(ecause)20 b(it)h(is)g(the)g(pre-existing)g(output)f(\014le)h
+408 y(b)s(ecause)20 b(it)h(is)g(the)g(pre-existing)g(output)f(\014le)h
(to)g(whic)m(h)f(w)m(e)h(will)g(app)s(end)e(all)i(the)g(other)f(input)g
-(\014les)g(listed)150 4384 y(\(in)34 b(this)g(case)h(only)f
+(\014les)g(listed)150 518 y(\(in)34 b(this)g(case)h(only)f
Fy(fl_2.nc)p FD(\).)50 b(The)34 b(con)m(ten)m(ts)h(of)f
Fy(fl_1.nc)e FD(are)j(completely)h(preserv)m(ed,)e(and)g(only)150
-4494 y(v)-5 b(alues)26 b(in)g Fy(fl_2.nc)d FD(\(and)j(an)m(y)g(other)g
+628 y(v)-5 b(alues)26 b(in)g Fy(fl_2.nc)d FD(\(and)j(an)m(y)g(other)g
(input)f(\014les\))h(are)g(copied.)39 b(This)25 b(switc)m(h)i(a)m(v)m
-(oids)g(the)f(necessit)m(y)h(of)150 4603 y(cop)m(ying)f(all)g(of)g
+(oids)g(the)f(necessit)m(y)h(of)150 737 y(cop)m(ying)f(all)g(of)g
Fy(fl_1.nc)d FD(through)i(the)g(netCDF)h(in)m(terface)h(to)f(a)f(new)g
(output)g(\014le.)39 b(The)25 b(`)p Fy(--rec_apn)p FD(')150
-4713 y(switc)m(h)33 b(automatically)j(puts)31 b FC(NCO)i
+847 y(switc)m(h)33 b(automatically)j(puts)31 b FC(NCO)i
FD(in)m(to)g(app)s(end)e(mo)s(de)h(\(see)i(Section)f(2.4)h([App)s
-(ending)d(V)-8 b(ariables],)150 4823 y(page)41 b(17\),)j(so)d(sp)s
+(ending)d(V)-8 b(ariables],)150 956 y(page)41 b(17\),)j(so)d(sp)s
(ecifying)f(`)p Fy(-A)p FD(')g(is)h(redundan)m(t,)g(and)f(sim)m
(ultaneously)h(sp)s(ecifying)f(o)m(v)m(erwrite)i(mo)s(de)150
-4932 y(with)27 b(`)p Fy(-O)p FD(')g(causes)g(an)g(error.)39
+1066 y(with)27 b(`)p Fy(-O)p FD(')g(causes)g(an)g(error.)39
b(By)27 b(default,)i(NCO)d(w)m(orks)h(in)g(an)g(in)m(termediate)h(temp)
-s(orary)f(\014le.)40 b(P)m(o)m(w)m(er)150 5042 y(users)25
+s(orary)f(\014le.)40 b(P)m(o)m(w)m(er)150 1176 y(users)25
b(ma)m(y)h(com)m(bine)g(`)p Fy(--rec_apn)p FD(')e(with)h(the)h(`)p
Fy(--no_tmp_fl)p FD(')d(switc)m(h)k(\(see)f(Section)h(2.3)f([T)-8
-b(emp)s(orary)150 5151 y(Output)29 b(Files],)j(page)f(15\):)390
-5340 y Fy(ncrcat)46 b(--rec_apn)f(--no_tmp_fl)g(fl_2.nc)h(fl_1.nc)p
-eop end
-%%Page: 59 65
-TeXDict begin 59 64 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(59)275 299 y(This)33
-b(a)m(v)m(oids)j(creating)f(an)f(in)m(termediate)i(\014le,)g(and)e
-(copies)h(only)f(the)h(minimal)f(amoun)m(t)h(of)f(data)150
-408 y(\(i.e.,)h(all)f(of)f Fy(fl_2.nc)p FD(\).)46 b(Hence,)35
-b(it)e(is)g(fast.)48 b(W)-8 b(e)34 b(recommend)f(users)f(try)g(to)i
-(understand)d(the)i(safet)m(y)150 518 y(trade-o\013s)e(in)m(v)m(olv)m
-(ed.)150 764 y FB(3.18)68 b(Sub)t(cycle)150 898 y Fk(\013)p
-200 898 3554 4 v 3553 w(\010)p 150 1498 4 552 v 178 1034
-a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncra)p FD(,)30 b
-Fy(ncrcat)178 1144 y FD(Short)g(options:)41 b(`)p Fy(-d)30
-b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
-Fn(strid)o(e)p Fy(][,)o([)p Fn(sub)o(cyc)o(le)p Fy(]])o(]])p
-FD(')178 1253 y(Long)h(options:)41 b(`)p Fy(--mro)p FD(')29
-b(`)p Fy(--dimension)f Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
-Fn(max)p Fy(][,[)p Fn(strid)o(e)p Fy(][)o(,[)p Fn(su)o(bcyc)o(le)p
-Fy(])o(]]])p FD(')178 1363 y(`)p Fy(--dmn)h Fn(dim)p
-Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p
-Fy(])o([,[)o Fn(subc)o(ycle)o Fy(]]])o(])p FD(')p 3803
-1498 V 150 1549 a Fk(\012)p 200 1549 3554 4 v 3553 w(\011)275
-1729 y FD(As)c(of)g(v)m(ersion)h(4.2.1)h(\(August,)g(2012\),)h
-FC(NCO)d FD(allo)m(ws)i(b)s(oth)d(Multi-File,)29 b(Multi-Record)e(op)s
-(erators,)150 1838 y Fy(ncra)h FD(and)g Fy(ncrcat)p FD(,)g(to)i
-(extract)h(and)d(op)s(erate)i(on)f(m)m(ultiple)g(groups)g(of)g
-(records.)40 b(These)29 b(groups)f(ma)m(y)150 1948 y(b)s(e)g(connected)
-i(to)f(ph)m(ysical)h Fo(sub-cycles)35 b FD(of)29 b(a)g(p)s(erio)s(dic)f
-(nature,)h(e.g.,)i(mon)m(ths)d(of)h(a)g(y)m(ear,)h(or)f(hours)f(of)150
-2058 y(a)35 b(da)m(y)-8 b(.)54 b(Or)34 b(they)h(ma)m(y)g(b)s(e)f
+b(emp)s(orary)150 1285 y(Output)29 b(Files],)j(page)f(15\):)390
+1446 y Fy(ncrcat)46 b(--rec_apn)f(--no_tmp_fl)g(fl_2.nc)h(fl_1.nc)275
+1606 y FD(This)33 b(a)m(v)m(oids)j(creating)f(an)f(in)m(termediate)i
+(\014le,)g(and)e(copies)h(only)f(the)h(minimal)f(amoun)m(t)h(of)f(data)
+150 1716 y(\(i.e.,)h(all)f(of)f Fy(fl_2.nc)p FD(\).)46
+b(Hence,)35 b(it)e(is)g(fast.)48 b(W)-8 b(e)34 b(recommend)f(users)f
+(try)g(to)i(understand)d(the)i(safet)m(y)150 1825 y(trade-o\013s)e(in)m
+(v)m(olv)m(ed.)150 2060 y FB(3.18)68 b(Sub)t(cycle)150
+2194 y Fk(\013)p 200 2194 3554 4 v 3553 w(\010)p 150
+2794 4 552 v 178 2330 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncra)p FD(,)30 b Fy(ncrcat)178 2440 y FD(Short)g(options:)41
+b(`)p Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
+Fn(max)p Fy(][,[)p Fn(strid)o(e)p Fy(][,)o([)p Fn(sub)o(cyc)o(le)p
+Fy(]])o(]])p FD(')178 2549 y(Long)h(options:)41 b(`)p
+Fy(--mro)p FD(')29 b(`)p Fy(--dimension)f Fn(dim)p Fy(,[)p
+Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(strid)o(e)p
+Fy(][)o(,[)p Fn(su)o(bcyc)o(le)p Fy(])o(]]])p FD(')178
+2659 y(`)p Fy(--dmn)h Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
+Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o([,[)o Fn(subc)o(ycle)o
+Fy(]]])o(])p FD(')p 3803 2794 V 150 2845 a Fk(\012)p
+200 2845 3554 4 v 3553 w(\011)275 3021 y FD(As)c(of)g(v)m(ersion)h
+(4.2.1)h(\(August,)g(2012\),)h FC(NCO)d FD(allo)m(ws)i(b)s(oth)d
+(Multi-File,)29 b(Multi-Record)e(op)s(erators,)150 3131
+y Fy(ncra)h FD(and)g Fy(ncrcat)p FD(,)g(to)i(extract)h(and)d(op)s
+(erate)i(on)f(m)m(ultiple)g(groups)g(of)g(records.)40
+b(These)29 b(groups)f(ma)m(y)150 3240 y(b)s(e)g(connected)i(to)f(ph)m
+(ysical)h Fo(sub-cycles)35 b FD(of)29 b(a)g(p)s(erio)s(dic)f(nature,)h
+(e.g.,)i(mon)m(ths)d(of)h(a)g(y)m(ear,)h(or)f(hours)f(of)150
+3350 y(a)35 b(da)m(y)-8 b(.)54 b(Or)34 b(they)h(ma)m(y)g(b)s(e)f
(though)m(t)i(of)e(as)h(groups)f(of)h(a)g(sp)s(ecifed)f(duration.)53
-b(The)35 b(feature)g(and)f(the)150 2167 y(terminology)h(to)f(describ)s
+b(The)35 b(feature)g(and)f(the)150 3460 y(terminology)h(to)f(describ)s
(e)f(it)h(are)g(new.)50 b(F)-8 b(or)34 b(no)m(w,)h(w)m(e)f(call)g(this)
g(the)g Fz(sub)s(cycle)f(feature)p FD(,)i(sometimes)150
-2277 y(abbreviated)c FC(SSC)800 2244 y Ft(16)870 2277
-y FD(.)275 2441 y(The)22 b(sub)s(cycle)i(feature)f(allo)m(ws)i(pro)s
+3569 y(abbreviated)c FC(SSC)800 3536 y Ft(17)870 3569
+y FD(.)275 3730 y(The)22 b(sub)s(cycle)i(feature)f(allo)m(ws)i(pro)s
(cessing)e(of)h(groups)e(of)i(records)f(separated)h(b)m(y)f(regular)h
-(in)m(terv)-5 b(als)150 2550 y(of)35 b(records.)54 b(It)35
+(in)m(terv)-5 b(als)150 3839 y(of)35 b(records.)54 b(It)35
b(is)g(p)s(erhaps)e(b)s(est)i(illustrated)g(b)m(y)g(an)g(extended)g
(example)g(whic)m(h)g(describ)s(es)f(ho)m(w)h(to)150
-2660 y(solv)m(e)d(the)e(same)h(problem)f(b)s(oth)g(with)g(and)f
-(without)i(the)f FC(SSC)h FD(feature.)275 2824 y(The)37
+3949 y(solv)m(e)d(the)e(same)h(problem)f(b)s(oth)g(with)g(and)f
+(without)i(the)f FC(SSC)h FD(feature.)275 4109 y(The)37
b(\014rst)g(task)i(in)e(climate)j(data)f(pro)s(cessing)f(is)g(often)g
(creating)h(seasonal)h(cycles.)64 b(Supp)s(ose)37 b(a)150
-2934 y(150-y)m(ear)43 b(climate)g(sim)m(ulation)f(pro)s(duces)e(150)i
+4219 y(150-y)m(ear)43 b(climate)g(sim)m(ulation)f(pro)s(duces)e(150)i
(output)f(\014les,)i(eac)m(h)f(comprising)f(12)h(records,)i(eac)m(h)150
-3043 y(record)39 b(a)g(mon)m(thly)g(mean:)58 b Fy(1850.nc)p
+4328 y(record)39 b(a)g(mon)m(thly)g(mean:)58 b Fy(1850.nc)p
FD(,)39 b Fy(1851.nc)p FD(,)h(...)66 b Fy(1999.nc)p FD(.)f(Our)37
-b(goal)k(is)e(to)h(create)g(a)f(single)150 3153 y(\014le)29
+b(goal)k(is)e(to)h(create)g(a)f(single)150 4438 y(\014le)29
b(con)m(taining)h(the)f(summertime)f(\(June,)h(July)-8
b(,)29 b(and)f(August,)h(ak)-5 b(a)30 b(JJA\))e(mean.)40
-b(T)-8 b(raditionally)g(,)31 b(w)m(e)150 3262 y(w)m(ould)h(\014rst)g
+b(T)-8 b(raditionally)g(,)31 b(w)m(e)150 4548 y(w)m(ould)h(\014rst)g
(compute)h(the)g(climatological)k(mon)m(thly)c(mean)g(for)f(eac)m(h)i
-(mon)m(th)e(of)h(summer.)47 b(Eac)m(h)33 b(of)150 3372
-y(these)e(is)f(a)h(150-y)m(ear)i(mean,)e(i.e.,)390 3536
+(mon)m(th)e(of)h(summer.)47 b(Eac)m(h)33 b(of)150 4657
+y(these)e(is)f(a)h(150-y)m(ear)i(mean,)e(i.e.,)390 4817
y Fy(#)47 b(Step)g(1:)g(Create)f(climatological)e(monthly)i(files)g
-(clm06.nc..clm08.nc)390 3646 y(for)h(mth)g(in)g({6..8};)f(do)485
-3755 y(mm=`printf)f("\04502d")i($mth`)485 3865 y(ncra)g(-O)g(-F)g(-d)h
-(time,${mm},,12)c(-n)j(150,4,1)f(1850.nc)f(clm${mm}.nc)390
-3974 y(done)390 4084 y(#)i(Step)g(2:)g(Average)f(climatological)e
-(monthly)i(files)g(into)h(summertime)e(mean)390 4194
-y(ncra)i(-O)g(clm06)f(clm07.nc)g(clm08.nc)f(clm_JJA.nc)150
-4358 y FD(So)34 b(far,)i(nothing)e(is)h(un)m(usual)f(and)f(this)i(task)
-g(can)g(b)s(e)f(p)s(erformed)f(b)m(y)h(an)m(y)h FC(NCO)f
-FD(v)m(ersion.)54 b(The)34 b FC(SSC)150 4467 y FD(feature)d(mak)m(es)g
-(obsolete)h(the)f(need)f(for)g(the)g(shell)h(lo)s(op)f(used)g(in)g
-(Step)g(1)h(ab)s(o)m(v)m(e.)275 4631 y(The)c(new)g FC(SSC)h
-FD(option)g(aggregates)i(more)e(than)g(one)g(input)e(record)i(at)g(a)g
-(time)h(b)s(efore)e(p)s(erforming)150 4741 y(arithmetic)32
-b(op)s(erations,)g(and,)f(with)g(an)g(additional)h(switc)m(h,)g(allo)m
-(ws)g(us)e(to)i(arc)m(hiv)m(e)h(those)e(results)g(in)150
-4850 y(m)m(ultiple)h(record)f(output)h(\(MR)m(O\))g(\014les.)44
-b(This)31 b(reduces)g(the)g(task)h(of)g(pro)s(ducing)e(the)i
-(climatological)150 4960 y(summertime)e(mean)g(to)h(one)g(step:)390
-5124 y Fy(#)47 b(Step)g(1:)g(Compute)f(climatological)e(summertime)h
-(mean)p 150 5241 1200 4 v 166 5308 a Ft(16)275 5340 y
-Fs(When)25 b(originally)i(released)g(in)e(2012)i(this)f(w)n(as)h
-(called)f(the)g Fm(duration)f(feature)p Fs(,)i(and)e(w)n(as)i
-(abbreviated)e Fp(DRN)p Fs(.)p eop end
+(clm06.nc..clm08.nc)390 4927 y(for)h(mth)g(in)g({6..8};)f(do)485
+5037 y(mm=`printf)f("\04502d")i($mth`)485 5146 y(ncra)g(-O)g(-F)g(-d)h
+(time,${mm},,12)c(-n)j(150,4,1)f(1850.nc)f(clm${mm}.nc)p
+150 5241 1200 4 v 166 5308 a Ft(17)275 5340 y Fs(When)25
+b(originally)i(released)g(in)e(2012)i(this)f(w)n(as)h(called)f(the)g
+Fm(duration)f(feature)p Fs(,)i(and)e(w)n(as)i(abbreviated)e
+Fp(DRN)p Fs(.)p eop end
%%Page: 60 66
TeXDict begin 60 65 bop 150 -116 a FD(60)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncra)47 b(-O)g(-F)g(-d)g
-(time,6,,12,3)e(-n)i(150,4,1)f(1850.nc)f(clm_JJA.nc)150
-460 y FD(The)33 b FC(SSC)h FD(option)g(instructs)f Fy(ncra)f
-FD(\(or)i Fy(ncrcat)p FD(\))e(to)i(pro)s(cess)g(\014les)f(in)g(groups)g
-(of)h(three)g(records.)49 b(T)-8 b(o)150 569 y(b)s(etter)31
-b(understand)f(the)i(meaning)f(of)h(eac)m(h)g(argumen)m(t)g(to)g(the)g
-(`)p Fy(-d)p FD(')f(h)m(yp)s(erslab)f(option,)j(read)e(it)h(this)150
-679 y(w)m(a)m(y:)41 b(\\for)30 b(the)f(time)h(dimension)f(start)h(with)
-f(the)g(sixth)h(record,)f(con)m(tin)m(ue)i(without)e(end,)g(rep)s(eat)h
-(the)150 788 y(pro)s(cess)g(ev)m(ery)h(t)m(w)m(elfth)h(record,)e(and)g
-(de\014ne)g(a)g(sub-cycle)h(as)g(three)f(consecutiv)m(e)j(records".)275
-949 y(A)38 b(separate)i(option,)i(`)p Fy(--mro)p FD(',)e(instructs)e
-Fy(ncra)g FD(to)h(output)f(its)h(results)g(from)f(eac)m(h)i(sub-group,)
-150 1059 y(and)f(to)h(pro)s(duce)e(a)i Fz(Multi-Record)g(Output)h
-FD(\(MR)m(O\))f(\014le)g(rather)f(than)g(a)h Fz(Single-Record)g(Output)
-150 1168 y FD(\(SR)m(O\))34 b(\014le.)49 b(Unless)34
-b(`)p Fy(--mro)p FD(')e(is)i(sp)s(eci\014ed,)f Fy(ncra)f
-FD(collects)k(together)f(all)f(the)g(sub-groups,)e(op)s(erates)150
-1278 y(on)39 b(their)g(ensem)m(ble,)j(and)c(pro)s(duces)g(a)h(single)h
-(output)e(record.)66 b(The)39 b(addition)g(of)g(`)p Fy(--mro)p
-FD(')f(to)i(the)150 1387 y(ab)s(o)m(v)m(e)32 b(example)f(causes)f
-Fy(ncra)g FD(to)h(arc)m(hiv)m(e)h(all)f(\(150\))h(ann)m(ual)f
-(summertime)f(means)g(to)h(one)g(\014le:)390 1548 y Fy(#)47
-b(Step)g(1:)g(Archive)f(all)h(150)g(summertime)e(means)h(in)h(one)g
-(file)390 1658 y(ncra)g(--mro)f(-O)h(-F)g(-d)h(time,6,,12,3)c(-n)j
-(150,4,1)f(1850.nc)g(1850_2009_JJA.nc)390 1767 y(#)h(...or)g(all)g
-(\(150\))f(annual)g(means...)390 1877 y(ncra)h(--mro)f(-O)h(-d)g
-(time,,,12,12)e(-n)i(150,4,1)f(1850.nc)g(1850_2009.nc)150
-2038 y FD(These)41 b(op)s(erations)g(generate)h(and)f(require)f(no)h
-(in)m(termediate)i(\014les.)72 b(This)41 b(con)m(trasts)h(to)f
-(previous)150 2147 y FC(NCO)31 b FD(metho)s(ds,)g(whic)m(h)g(require)g
-(generating,)i(a)m(v)m(eraging,)h(then)c(catenating)k(150)e(\014les.)43
-b(The)31 b(`)p Fy(--mro)p FD(')150 2257 y(option)f(has)f(no)g(e\013ect)
-h(on,)g(or)f(rather)g(is)h(redundan)m(t)e(for,)h Fy(ncrcat)f
-FD(since)h Fy(ncrcat)f FD(alw)m(a)m(ys)i(outputs)f(all)150
-2366 y(selected)j(records.)150 2603 y FB(3.19)68 b(Multislabs)150
-2713 y Fk(\013)p 200 2713 3554 4 v 3553 w(\010)p 150
-3422 4 661 v 178 2849 a FD(Av)-5 b(ailabilit)m(y:)43
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(done)390 408 y(#)47
+b(Step)g(2:)g(Average)f(climatological)e(monthly)i(files)g(into)h
+(summertime)e(mean)390 518 y(ncra)i(-O)g(clm06)f(clm07.nc)g(clm08.nc)f
+(clm_JJA.nc)150 679 y FD(So)34 b(far,)i(nothing)e(is)h(un)m(usual)f
+(and)f(this)i(task)g(can)g(b)s(e)f(p)s(erformed)f(b)m(y)h(an)m(y)h
+FC(NCO)f FD(v)m(ersion.)54 b(The)34 b FC(SSC)150 789
+y FD(feature)d(mak)m(es)g(obsolete)h(the)f(need)f(for)g(the)g(shell)h
+(lo)s(op)f(used)g(in)g(Step)g(1)h(ab)s(o)m(v)m(e.)275
+950 y(The)c(new)g FC(SSC)h FD(option)g(aggregates)i(more)e(than)g(one)g
+(input)e(record)i(at)g(a)g(time)h(b)s(efore)e(p)s(erforming)150
+1060 y(arithmetic)32 b(op)s(erations,)g(and,)f(with)g(an)g(additional)h
+(switc)m(h,)g(allo)m(ws)g(us)e(to)i(arc)m(hiv)m(e)h(those)e(results)g
+(in)150 1170 y(m)m(ultiple)h(record)f(output)h(\(MR)m(O\))g(\014les.)44
+b(This)31 b(reduces)g(the)g(task)h(of)g(pro)s(ducing)e(the)i
+(climatological)150 1279 y(summertime)e(mean)g(to)h(one)g(step:)390
+1440 y Fy(#)47 b(Step)g(1:)g(Compute)f(climatological)e(summertime)h
+(mean)390 1550 y(ncra)i(-O)g(-F)g(-d)g(time,6,,12,3)e(-n)i(150,4,1)f
+(1850.nc)f(clm_JJA.nc)150 1711 y FD(The)33 b FC(SSC)h
+FD(option)g(instructs)f Fy(ncra)f FD(\(or)i Fy(ncrcat)p
+FD(\))e(to)i(pro)s(cess)g(\014les)f(in)g(groups)g(of)h(three)g
+(records.)49 b(T)-8 b(o)150 1821 y(b)s(etter)31 b(understand)f(the)i
+(meaning)f(of)h(eac)m(h)g(argumen)m(t)g(to)g(the)g(`)p
+Fy(-d)p FD(')f(h)m(yp)s(erslab)f(option,)j(read)e(it)h(this)150
+1931 y(w)m(a)m(y:)41 b(\\for)30 b(the)f(time)h(dimension)f(start)h
+(with)f(the)g(sixth)h(record,)f(con)m(tin)m(ue)i(without)e(end,)g(rep)s
+(eat)h(the)150 2040 y(pro)s(cess)g(ev)m(ery)h(t)m(w)m(elfth)h(record,)e
+(and)g(de\014ne)g(a)g(sub-cycle)h(as)g(three)f(consecutiv)m(e)j
+(records".)275 2202 y(A)38 b(separate)i(option,)i(`)p
+Fy(--mro)p FD(',)e(instructs)e Fy(ncra)g FD(to)h(output)f(its)h
+(results)g(from)f(eac)m(h)i(sub-group,)150 2311 y(and)f(to)h(pro)s
+(duce)e(a)i Fz(Multi-Record)g(Output)h FD(\(MR)m(O\))f(\014le)g(rather)
+f(than)g(a)h Fz(Single-Record)g(Output)150 2421 y FD(\(SR)m(O\))34
+b(\014le.)49 b(Unless)34 b(`)p Fy(--mro)p FD(')e(is)i(sp)s(eci\014ed,)f
+Fy(ncra)f FD(collects)k(together)f(all)f(the)g(sub-groups,)e(op)s
+(erates)150 2530 y(on)39 b(their)g(ensem)m(ble,)j(and)c(pro)s(duces)g
+(a)h(single)h(output)e(record.)66 b(The)39 b(addition)g(of)g(`)p
+Fy(--mro)p FD(')f(to)i(the)150 2640 y(ab)s(o)m(v)m(e)32
+b(example)f(causes)f Fy(ncra)g FD(to)h(arc)m(hiv)m(e)h(all)f(\(150\))h
+(ann)m(ual)f(summertime)f(means)g(to)h(one)g(\014le:)390
+2801 y Fy(#)47 b(Step)g(1:)g(Archive)f(all)h(150)g(summertime)e(means)h
+(in)h(one)g(file)390 2911 y(ncra)g(--mro)f(-O)h(-F)g(-d)h(time,6,,12,3)
+c(-n)j(150,4,1)f(1850.nc)g(1850_2009_JJA.nc)390 3020
+y(#)h(...or)g(all)g(\(150\))f(annual)g(means...)390 3130
+y(ncra)h(--mro)f(-O)h(-d)g(time,,,12,12)e(-n)i(150,4,1)f(1850.nc)g
+(1850_2009.nc)150 3291 y FD(These)41 b(op)s(erations)g(generate)h(and)f
+(require)f(no)h(in)m(termediate)i(\014les.)72 b(This)41
+b(con)m(trasts)h(to)f(previous)150 3401 y FC(NCO)31 b
+FD(metho)s(ds,)g(whic)m(h)g(require)g(generating,)i(a)m(v)m(eraging,)h
+(then)c(catenating)k(150)e(\014les.)43 b(The)31 b(`)p
+Fy(--mro)p FD(')150 3511 y(option)f(has)f(no)g(e\013ect)h(on,)g(or)f
+(rather)g(is)h(redundan)m(t)e(for,)h Fy(ncrcat)f FD(since)h
+Fy(ncrcat)f FD(alw)m(a)m(ys)i(outputs)f(all)150 3620
+y(selected)j(records.)150 3858 y FB(3.19)68 b(Multislabs)150
+3969 y Fk(\013)p 200 3969 3554 4 v 3553 w(\010)p 150
+4678 4 661 v 178 4105 a FD(Av)-5 b(ailabilit)m(y:)43
b Fy(ncbo)p FD(,)30 b Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g
Fy(ncflint)p FD(,)g Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h
-Fy(ncra)p FD(,)f Fy(ncrcat)178 2959 y FD(Short)h(options:)41
+Fy(ncra)p FD(,)f Fy(ncrcat)178 4215 y FD(Short)h(options:)41
b(`)p Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
-Fn(max)p Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 3068
+Fn(max)p Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 4324
y(Long)h(options:)41 b(`)p Fy(--dimension)27 b Fn(dim)p
Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p
-Fy(])o(]])p FD(',)178 3178 y(`)p Fy(--dmn)i Fn(dim)p
+Fy(])o(]])p FD(',)178 4434 y(`)p Fy(--dmn)i Fn(dim)p
Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p
-Fy(])o(]])p FD(')178 3288 y(`)p Fy(--msa_usr_rdr)p FD(',)f(`)p
-Fy(--msa_user_order)p FD(')p 3803 3422 V 150 3474 a Fk(\012)p
-200 3474 3554 4 v 3553 w(\011)275 3645 y FD(A)35 b(m)m(ultislab)i(is)f
+Fy(])o(]])p FD(')178 4543 y(`)p Fy(--msa_usr_rdr)p FD(',)f(`)p
+Fy(--msa_user_order)p FD(')p 3803 4678 V 150 4729 a Fk(\012)p
+200 4729 3554 4 v 3553 w(\011)275 4902 y FD(A)35 b(m)m(ultislab)i(is)f
(a)g(union)f(of)h(one)g(or)g(more)g(h)m(yp)s(erslabs.)56
b(One)35 b(de\014nes)g(m)m(ultislabs)h(b)m(y)g(c)m(haining)150
-3755 y(together)44 b(h)m(yp)s(erslab)d(commands,)j(i.e.,)j
+5011 y(together)44 b(h)m(yp)s(erslab)d(commands,)j(i.e.,)j
Fn(-d)41 b FD(options)h(\(see)h(Section)g(3.15)h([Hyp)s(erslabs],)h
-(page)d(55\).)150 3864 y(Supp)s(ort)18 b(for)j(sp)s(ecifying)f(a)h
+(page)d(55\).)150 5121 y(Supp)s(ort)18 b(for)j(sp)s(ecifying)f(a)h
Fz(m)m(ulti-h)m(yp)s(erslab)i FD(or)d Fz(m)m(ultislab)j
FD(for)e(an)m(y)g(v)-5 b(ariable)21 b(w)m(as)g(\014rst)f(added)g(to)h
-Fy(ncks)150 3974 y FD(in)31 b(late)i(2002.)46 b(The)31
+Fy(ncks)150 5230 y FD(in)31 b(late)i(2002.)46 b(The)31
b(other)h(op)s(erators)g(receiv)m(ed)g(these)g(capabilities)i(in)d
-(April)g(2008.)46 b(Multi-slabbing)150 4083 y(is)28 b(often)f(referred)
+(April)g(2008.)46 b(Multi-slabbing)150 5340 y(is)28 b(often)f(referred)
g(to)h(b)m(y)g(the)f(acron)m(ym)i FC(MSA)p FD(,)f(whic)m(h)f(stands)g
-(for)h(\\Multi-Slabbing)g(Algorithm".)41 b(As)150 4193
-y(explained)33 b(b)s(elo)m(w,)h(the)f(user)f(ma)m(y)i(additionally)g
-(request)f(that)h(the)f(m)m(ultislabs)g(b)s(e)f(returned)g(in)h(the)150
-4303 y(user-sp)s(eci\014ed)k(order,)j(rather)e(than)g(the)g(on-disk)g
+(for)h(\\Multi-Slabbing)g(Algorithm".)41 b(As)p eop end
+%%Page: 61 67
+TeXDict begin 61 66 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(61)150 299 y(explained)33
+b(b)s(elo)m(w,)h(the)f(user)f(ma)m(y)i(additionally)g(request)f(that)h
+(the)f(m)m(ultislabs)g(b)s(e)f(returned)g(in)h(the)150
+408 y(user-sp)s(eci\014ed)k(order,)j(rather)e(than)g(the)g(on-disk)g
(storage)h(order.)64 b(Although)38 b FC(MSA)h FD(user-ordering)150
-4412 y(has)k(b)s(een)f(a)m(v)-5 b(ailable)45 b(in)e(all)h(op)s(erators)
-f(since)g(2008,)48 b(most)43 b(users)f(w)m(ere)i(una)m(w)m(are)f(of)g
-(it)g(since)h(the)150 4522 y(do)s(cumen)m(tation)31 b(\(b)s(elo)m(w,)g
+518 y(has)k(b)s(een)f(a)m(v)-5 b(ailable)45 b(in)e(all)h(op)s(erators)f
+(since)g(2008,)48 b(most)43 b(users)f(w)m(ere)i(una)m(w)m(are)f(of)g
+(it)g(since)h(the)150 628 y(do)s(cumen)m(tation)31 b(\(b)s(elo)m(w,)g
(and)f(in)g(the)h(man)f(pages\))h(w)m(as)g(not)g(written)f(un)m(til)h
-(July)e(2013.)275 4682 y(Multislabs)47 b(o)m(v)m(ercome)j(man)m(y)d
+(July)e(2013.)275 803 y(Multislabs)47 b(o)m(v)m(ercome)j(man)m(y)d
(restrain)m(ts)h(that)f(limit)h(simple)f(h)m(yp)s(erslabs.)90
-b(A)30 b(single)48 b Fn(-d)f FD(op-)150 4792 y(tion)40
+b(A)30 b(single)48 b Fn(-d)f FD(op-)150 913 y(tion)40
b(can)f(only)g(sp)s(ecify)g(a)g(con)m(tiguous)i(and/or)e(a)g(regularly)
-h(spaced)f(m)m(ulti-dimensional)h(data)g(ar-)150 4902
+h(spaced)f(m)m(ulti-dimensional)h(data)g(ar-)150 1022
y(ra)m(y)-8 b(.)79 b(Multislabs)43 b(are)g(constructed)g(from)f(m)m
(ultiple)i Fn(-d)e FD(options)h(and)f(ma)m(y)h(therefore)g(ha)m(v)m(e)h
-(non-)150 5011 y(regularly)c(spaced)g(arra)m(ys.)70 b(F)-8
+(non-)150 1132 y(regularly)c(spaced)g(arra)m(ys.)70 b(F)-8
b(or)40 b(example,)j(supp)s(ose)c(it)h(is)g(desired)f(to)i(op)s(erate)f
-(on)g(all)g(longitudes)150 5121 y(from)j(10.0)i(to)f(20.0)h(and)e(from)
+(on)g(all)g(longitudes)150 1241 y(from)j(10.0)i(to)f(20.0)h(and)e(from)
g(80.0)i(to)f(90.0)32 b(degrees.)80 b(The)43 b(com)m(bined)h(range)f
-(of)h(longitudes)g(is)150 5230 y(not)d(selectable)i(in)e(a)g(single)g
+(of)h(longitudes)g(is)150 1351 y(not)d(selectable)i(in)e(a)g(single)g
(h)m(yp)s(erslab)f(sp)s(ec\014cation)h(of)g(the)g(form)g(`)p
Fy(-d)30 b Fn(dimension)p Fy(,)p Fn(min)p Fy(,)p Fn(max)p
-FD(')36 b(or)150 5340 y(`)p Fy(-d)30 b Fn(dimension)p
+FD(')36 b(or)150 1461 y(`)p Fy(-d)30 b Fn(dimension)p
Fy(,)p Fn(min)p Fy(,)p Fn(max)p Fy(,)p Fn(stride)o FD(')25
b(b)s(ecause)31 b(its)g(elemen)m(ts)h(are)f(irregularly)g(spaced)g(in)f
-(co)s(ordinate)p eop end
-%%Page: 61 67
-TeXDict begin 61 66 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(61)150 299 y(space)30
-b(\(and)e(presumably)g(in)h(index)g(space)g(to)s(o\).)42
-b(The)28 b(m)m(ultislab)i(sp)s(eci\014cation)g(for)f(obtaining)g(these)
-150 408 y(v)-5 b(alues)29 b(is)g(simply)f(the)h(union)f(of)h(the)g(h)m
-(yp)s(erslabs)e(sp)s(eci\014cations)j(that)f(comprise)g(the)g(m)m
-(ultislab,)h(i.e.,)390 568 y Fy(ncks)47 b(-d)g(lon,10.,20.)e(-d)i
-(lon,80.,90.)d(in.nc)j(out.nc)390 677 y(ncks)g(-d)g(lon,10.,15.)e(-d)i
-(lon,15.,20.)d(-d)k(lon,80.,90.)c(in.nc)j(out.nc)150
-837 y FD(An)m(y)30 b(n)m(um)m(b)s(er)f(of)h(h)m(yp)s(erslabs)g(sp)s
-(eci\014cations)g(ma)m(y)h(b)s(e)f(c)m(hained)g(together)i(to)f(sp)s
-(ecify)f(the)g(m)m(ultislab.)150 946 y FC(MSA)37 b FD(creates)g(an)f
-(output)g(dimension)g(equal)g(in)g(size)h(to)g(the)g(sum)e(of)h(the)h
-(sizes)f(of)h(the)f(m)m(ultislabs.)150 1056 y(This)30
-b(can)g(b)s(e)g(used)g(to)h(extend)f(and)g(or)g(pad)g(co)s(ordinate)h
-(grids.)275 1215 y(Users)f(ma)m(y)h(sp)s(ecify)f(redundan)m(t)f(ranges)
-h(of)h(indices)f(in)h(a)f(m)m(ultislab,)h(e.g.,)390 1375
-y Fy(ncks)47 b(-d)g(lon,0,4)f(-d)h(lon,2,9,2)e(in.nc)h(out.nc)150
-1534 y FD(This)e(command)h(retriev)m(es)h(the)f(\014rst)f(\014v)m(e)h
-(longitudes,)k(and)c(then)f(ev)m(ery)i(other)f(longitude)g(v)-5
-b(alue)150 1644 y(up)36 b(to)h(the)g(ten)m(th.)61 b(Elemen)m(ts)37
+(co)s(ordinate)150 1570 y(space)g(\(and)e(presumably)g(in)h(index)g
+(space)g(to)s(o\).)42 b(The)28 b(m)m(ultislab)i(sp)s(eci\014cation)g
+(for)f(obtaining)g(these)150 1680 y(v)-5 b(alues)29 b(is)g(simply)f
+(the)h(union)f(of)h(the)g(h)m(yp)s(erslabs)e(sp)s(eci\014cations)j
+(that)f(comprise)g(the)g(m)m(ultislab,)h(i.e.,)390 1855
+y Fy(ncks)47 b(-d)g(lon,10.,20.)e(-d)i(lon,80.,90.)d(in.nc)j(out.nc)390
+1965 y(ncks)g(-d)g(lon,10.,15.)e(-d)i(lon,15.,20.)d(-d)k(lon,80.,90.)c
+(in.nc)j(out.nc)150 2140 y FD(An)m(y)30 b(n)m(um)m(b)s(er)f(of)h(h)m
+(yp)s(erslabs)g(sp)s(eci\014cations)g(ma)m(y)h(b)s(e)f(c)m(hained)g
+(together)i(to)f(sp)s(ecify)f(the)g(m)m(ultislab.)150
+2250 y FC(MSA)37 b FD(creates)g(an)f(output)g(dimension)g(equal)g(in)g
+(size)h(to)g(the)g(sum)e(of)h(the)h(sizes)f(of)h(the)f(m)m(ultislabs.)
+150 2359 y(This)30 b(can)g(b)s(e)g(used)g(to)h(extend)f(and)g(or)g(pad)
+g(co)s(ordinate)h(grids.)275 2534 y(Users)f(ma)m(y)h(sp)s(ecify)f
+(redundan)m(t)f(ranges)h(of)h(indices)f(in)h(a)f(m)m(ultislab,)h(e.g.,)
+390 2710 y Fy(ncks)47 b(-d)g(lon,0,4)f(-d)h(lon,2,9,2)e(in.nc)h(out.nc)
+150 2885 y FD(This)e(command)h(retriev)m(es)h(the)f(\014rst)f(\014v)m
+(e)h(longitudes,)k(and)c(then)f(ev)m(ery)i(other)f(longitude)g(v)-5
+b(alue)150 2995 y(up)36 b(to)h(the)g(ten)m(th.)61 b(Elemen)m(ts)37
b(0,)i(2,)h(and)29 b(4)37 b(are)h(sp)s(eci\014ed)e(b)m(y)g(b)s(oth)h(h)
-m(yp)s(erslab)e(argumen)m(ts)i(\(hence)150 1753 y(this)c(is)h(redundan)
+m(yp)s(erslab)e(argumen)m(ts)i(\(hence)150 3104 y(this)c(is)h(redundan)
m(t\))e(but)h(will)g(coun)m(t)h(only)g(once)g(if)f(an)g(arithmetic)i
-(op)s(eration)f(is)f(b)s(eing)g(p)s(erformed.)150 1863
+(op)s(eration)f(is)f(b)s(eing)g(p)s(erformed.)150 3214
y(This)27 b(example)i(uses)e(index-based)h(\(not)h(co)s
(ordinate-based\))g(m)m(ultislabs)f(b)s(ecause)g(the)g
-Fz(stride)33 b FD(option)150 1973 y(only)43 b(supp)s(orts)e
+Fz(stride)33 b FD(option)150 3324 y(only)43 b(supp)s(orts)e
(index-based)i(h)m(yp)s(er-slabbing.)77 b(See)43 b(Section)h(3.16)h
-([Stride],)h(page)e(56,)j(for)c(more)150 2082 y(information)31
-b(on)f(the)h Fz(stride)k FD(option.)275 2242 y(Multislabs)g(are)g(more)
+([Stride],)h(page)e(57,)j(for)c(more)150 3433 y(information)31
+b(on)f(the)h Fz(stride)k FD(option.)275 3608 y(Multislabs)g(are)g(more)
g(e\016cien)m(t)i(than)d(the)h(alternativ)m(e)j(of)d(sequen)m(tially)h
-(p)s(erforming)e(h)m(yp)s(erslab)150 2351 y(op)s(erations)g(and)e
+(p)s(erforming)e(h)m(yp)s(erslab)150 3718 y(op)s(erations)g(and)e
(concatenating)k(the)d(results.)49 b(This)33 b(is)g(b)s(ecause)g
FC(NCO)g FD(emplo)m(ys)h(a)g(no)m(v)m(el)g(m)m(ultislab)150
-2461 y(algorithm)42 b(to)g(minimize)f(the)h(n)m(um)m(b)s(er)d(of)i(I/O)
+3828 y(algorithm)42 b(to)g(minimize)f(the)h(n)m(um)m(b)s(er)d(of)i(I/O)
g(op)s(erations)h(when)e(retrieving)i(irregularly)f(spaced)150
-2570 y(data)36 b(from)f(disk.)55 b(The)35 b FC(NCO)g
+3937 y(data)36 b(from)f(disk.)55 b(The)35 b FC(NCO)g
FD(m)m(ultislab)h(algorithm)g(retriev)m(es)h(eac)m(h)f(elemen)m(t)h
-(from)e(disk)g(once)h(and)150 2680 y(only)31 b(once.)42
+(from)e(disk)g(once)h(and)150 4047 y(only)31 b(once.)42
b(Th)m(us)29 b(users)h(ma)m(y)h(tak)m(e)i(some)e(shortcuts)f(in)h(sp)s
(ecifying)f(m)m(ultislabs)h(and)f(the)h(algorithm)150
-2790 y(will)k(obtain)h(the)f(in)m(tended)g(v)-5 b(alues.)56
+4156 y(will)k(obtain)h(the)f(in)m(tended)g(v)-5 b(alues.)56
b(Sp)s(ecifying)34 b(redundan)m(t)g(ranges)h(is)g(not)h(encouraged,)h
-(but)d(ma)m(y)150 2899 y(b)s(e)c(useful)f(on)i(o)s(ccasion)g(and)f
+(but)d(ma)m(y)150 4266 y(b)s(e)c(useful)f(on)i(o)s(ccasion)g(and)f
(will)h(not)f(result)h(in)f(unin)m(tended)f(consequences.)275
-3059 y(Supp)s(ose)45 b(the)i Fz(Q)k FD(v)-5 b(ariable)48
+4441 y(Supp)s(ose)45 b(the)i Fz(Q)k FD(v)-5 b(ariable)48
b(con)m(tains)g(three)f(dimensional)g(arra)m(ys)g(of)g(distinct)h(c)m
-(hemical)g(con-)150 3168 y(stituen)m(ts)23 b(in)f(no)h(particular)f
+(hemical)g(con-)150 4551 y(stituen)m(ts)23 b(in)f(no)h(particular)f
(order.)38 b(W)-8 b(e)24 b(are)e(in)m(terested)i(in)e(the)h(NOy)f(sp)s
-(ecies)g(in)g(a)h(certain)h(geographic)150 3278 y(range.)46
+(ecies)g(in)g(a)h(certain)h(geographic)150 4661 y(range.)46
b(Sa)m(y)33 b(that)f(NO,)h(NO2,)g(and)e(N2O5)i(are)f(elemen)m(ts)g(0)q
(,)g(1,)h(and)d(5)j(of)f(the)g Fz(sp)s(ecies)k FD(dimension)c(of)150
-3387 y Fz(Q)p FD(.)40 b(The)30 b(m)m(ultislab)h(sp)s(eci\014cation)g
-(migh)m(t)g(lo)s(ok)g(something)g(lik)m(e)390 3547 y
+4770 y Fz(Q)p FD(.)40 b(The)30 b(m)m(ultislab)h(sp)s(eci\014cation)g
+(migh)m(t)g(lo)s(ok)g(something)g(lik)m(e)390 4945 y
Fy(ncks)47 b(-d)g(species,0,1)e(-d)i(species,5)e(-d)i(lon,0,4)f(-d)h
-(lon,2,9,2)e(in.nc)i(out.nc)150 3706 y FD(Multislabs)41
+(lon,2,9,2)e(in.nc)i(out.nc)150 5121 y FD(Multislabs)41
b(are)g(p)s(o)m(w)m(erful)g(b)s(ecause)f(they)h(ma)m(y)g(b)s(e)f(sp)s
(eci\014ed)g(for)h(ev)m(ery)g(dimension)f(at)i(the)f(same)150
-3816 y(time.)g(Th)m(us)29 b(m)m(ultislabs)h(obsolete)h(the)f(need)g(to)
+5230 y(time.)g(Th)m(us)29 b(m)m(ultislabs)h(obsolete)h(the)f(need)g(to)
g(execute)h(m)m(ultiple)g Fy(ncks)d FD(commands)i(to)g(gather)h(the)150
-3925 y(desired)f(range)h(of)f(data.)275 4085 y(The)40
-b FC(MSA)h FD(user-order)f(switc)m(h)h(`)p Fy(--msa_usr_rdr)p
-FD(')d(\(or)j(`)p Fy(--msa_user_order)p FD(',)f(b)s(oth)g(of)h(whic)m
-(h)150 4194 y(shorten)30 b(to)i(`)p Fy(--msa)p FD('\))e(requests)h
-(that)g(the)g(m)m(ultislabs)g(b)s(e)g(output)f(in)g(the)h(user-sp)s
-(eci\014ed)f(order)g(from)150 4304 y(the)44 b(command-line,)j(rather)d
-(than)f(in)g(the)h(input-\014le)f(on-disk)g(storage)i(order.)80
-b(This)43 b(allo)m(ws)i(the)150 4413 y(user)38 b(to)i(p)s(erform)d
-(complex)j(data)f(re-ordering)g(in)g(one)g(op)s(eration)g(that)g(w)m
-(ould)g(otherwise)g(require)150 4523 y(cum)m(b)s(ersome)g(steps)g(of)h
-(h)m(yp)s(erslabbing,)g(concatenating,)45 b(and)39 b(p)s(erm)m(uting.)
-67 b(Consider)38 b(the)i(recen)m(t)150 4633 y(example)28
+5340 y(desired)f(range)h(of)f(data.)p eop end
+%%Page: 62 68
+TeXDict begin 62 67 bop 150 -116 a FD(62)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(The)40 b FC(MSA)h
+FD(user-order)f(switc)m(h)h(`)p Fy(--msa_usr_rdr)p FD(')d(\(or)j(`)p
+Fy(--msa_user_order)p FD(',)f(b)s(oth)g(of)h(whic)m(h)150
+408 y(shorten)30 b(to)i(`)p Fy(--msa)p FD('\))e(requests)h(that)g(the)g
+(m)m(ultislabs)g(b)s(e)g(output)f(in)g(the)h(user-sp)s(eci\014ed)f
+(order)g(from)150 518 y(the)44 b(command-line,)j(rather)d(than)f(in)g
+(the)h(input-\014le)f(on-disk)g(storage)i(order.)80 b(This)43
+b(allo)m(ws)i(the)150 628 y(user)38 b(to)i(p)s(erform)d(complex)j(data)
+f(re-ordering)g(in)g(one)g(op)s(eration)g(that)g(w)m(ould)g(otherwise)g
+(require)150 737 y(cum)m(b)s(ersome)g(steps)g(of)h(h)m(yp)s
+(erslabbing,)g(concatenating,)45 b(and)39 b(p)s(erm)m(uting.)67
+b(Consider)38 b(the)i(recen)m(t)150 847 y(example)28
b(of)g(a)h(user)e(who)g(needed)h(to)g(con)m(v)m(ert)h(datasets)g
(stored)f(with)g(the)g(longitude)g(co)s(ordinate)h Fy(Lon)150
-4742 y FD(ranging)i(from)e([)p FA(\000)p FD(180,180\))34
+956 y FD(ranging)i(from)e([)p FA(\000)p FD(180,180\))34
b(to)d(datasets)h(that)f(follo)m(w)g(the)g([0,360\))i(con)m(v)m(en)m
-(tion.)390 4902 y Fy(\045)47 b(ncks)g(-H)g(-v)g(Lon)g(in.nc)390
-5011 y(Lon[0]=-180)390 5121 y(Lon[1]=-90)390 5230 y(Lon[2]=0)390
-5340 y(Lon[3]=90)p eop end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a FD(62)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(Although)38 b(simple)f(in)g(theory)
--8 b(,)40 b(this)d(task)h(requires)f(b)s(oth)g(mathematics)i(to)f(c)m
-(hange)h(the)e(n)m(umerical)150 408 y(v)-5 b(alue)35
+(tion.)390 1121 y Fy(\045)47 b(ncks)g(-H)g(-v)g(Lon)g(in.nc)390
+1230 y(Lon[0]=-180)390 1340 y(Lon[1]=-90)390 1450 y(Lon[2]=0)390
+1559 y(Lon[3]=90)150 1724 y FD(Although)38 b(simple)f(in)g(theory)-8
+b(,)40 b(this)d(task)h(requires)f(b)s(oth)g(mathematics)i(to)f(c)m
+(hange)h(the)e(n)m(umerical)150 1833 y(v)-5 b(alue)35
b(of)g(the)g(longitude)h(co)s(ordinate,)h(data)e(h)m(yp)s(erslabbing)f
(to)h(split)g(the)g(input)f(on-disk)h(arra)m(ys)g(at)150
-518 y(Green)m(wic)m(h,)f(and)e(data)i(re-ordering)e(within)g(to)i
+1943 y(Green)m(wic)m(h,)f(and)e(data)i(re-ordering)e(within)g(to)i
(stitc)m(h)f(the)g(w)m(estern)g(hemisphere)f(on)m(to)i(the)e(eastern)
-150 628 y(hemisphere)e(at)i(the)g(date-line.)44 b(The)31
+150 2052 y(hemisphere)e(at)i(the)g(date-line.)44 b(The)31
b(`)p Fy(--msa)p FD(')f(user-order)h(switc)m(h)g(o)m(v)m(errides)i(the)
-e(default)g(that)h(data)150 737 y(are)d(output)g(in)f(the)h(same)g
+e(default)g(that)h(data)150 2162 y(are)d(output)g(in)f(the)h(same)g
(order)f(in)h(whic)m(h)f(they)h(are)g(stored)g(on-disk)g(in)f(the)h
-(input)f(\014le,)i(and)e(instead)150 847 y(stores)42
+(input)f(\014le,)i(and)e(instead)150 2271 y(stores)42
b(them)g(in)f(the)h(same)h(order)e(as)h(the)g(m)m(ulti-slabs)g(are)h
(giv)m(en)f(to)h(the)f(command)f(line.)76 b(This)150
-956 y(default)29 b(is)g(in)m(tuitiv)m(e)i(and)d(is)h(not)g(imp)s(ortan)
-m(t)h(in)e(most)h(uses.)40 b(Ho)m(w)m(ev)m(er,)32 b(the)d
-FC(MSA)g FD(user-order)f(switc)m(h)150 1066 y(allo)m(ws)34
+2381 y(default)29 b(is)g(in)m(tuitiv)m(e)i(and)d(is)h(not)g(imp)s
+(ortan)m(t)h(in)e(most)h(uses.)40 b(Ho)m(w)m(ev)m(er,)32
+b(the)d FC(MSA)g FD(user-order)f(switc)m(h)150 2491 y(allo)m(ws)34
b(users)e(to)i(meet)g(their)f(output)g(order)f(needs)h(b)m(y)g(sp)s
(ecifying)f(m)m(ulti-slabs)i(in)f(a)g(certain)h(order.)150
-1176 y(Compare)c(the)h(results)f(of)g(default)h(ordering)f(to)h
-(user-ordering)f(for)g(longitude:)390 1367 y Fy(\045)47
+2600 y(Compare)c(the)h(results)f(of)g(default)h(ordering)f(to)h
+(user-ordering)f(for)g(longitude:)390 2765 y Fy(\045)47
b(ncks)g(-O)g(-H)334 b(-v)47 b(Lon)g(-d)g(Lon,0.,180.)e(-d)i
-(Lon,-180.,-1.0)d(in.nc)390 1477 y(Lon[0]=-180)390 1587
-y(Lon[1]=-90)390 1696 y(Lon[2]=0)390 1806 y(Lon[3]=90)390
-1915 y(\045)j(ncks)g(-O)g(-H)g(--msa)g(-v)g(Lon)g(-d)g(Lon,0.,180.)e
-(-d)i(Lon,-180.,-1.0)d(in.nc)390 2025 y(Lon[0]=0)390
-2134 y(Lon[1]=90)390 2244 y(Lon[2]=-180)390 2354 y(Lon[3]=-90)150
-2545 y FD(The)28 b(t)m(w)m(o)j(m)m(ulti-slabs)e(are)h(the)f(same)g(but)
+(Lon,-180.,-1.0)d(in.nc)390 2874 y(Lon[0]=-180)390 2984
+y(Lon[1]=-90)390 3093 y(Lon[2]=0)390 3203 y(Lon[3]=90)390
+3313 y(\045)j(ncks)g(-O)g(-H)g(--msa)g(-v)g(Lon)g(-d)g(Lon,0.,180.)e
+(-d)i(Lon,-180.,-1.0)d(in.nc)390 3422 y(Lon[0]=0)390
+3532 y(Lon[1]=90)390 3641 y(Lon[2]=-180)390 3751 y(Lon[3]=-90)150
+3915 y FD(The)28 b(t)m(w)m(o)j(m)m(ulti-slabs)e(are)h(the)f(same)g(but)
f(they)h(can)g(b)s(e)g(presen)m(ted)g(to)g(screen,)h(or)f(to)g(an)g
-(output)g(\014le,)150 2655 y(in)j(either)g(order.)46
+(output)g(\014le,)150 4025 y(in)j(either)g(order.)46
b(The)31 b(second)i(example)f(sho)m(ws)g(ho)m(w)g(to)h(place)g(the)g(w)
-m(estern)f(hemisphere)f(after)i(the)150 2765 y(eastern)e(hemisphere,)f
+m(estern)f(hemisphere)f(after)i(the)150 4134 y(eastern)e(hemisphere,)f
(although)g(they)h(are)g(stored)f(in)g(the)h(opp)s(osite)f(order)g(in)g
-(the)h(input)e(\014le.)275 2956 y(With)h(this)f(bac)m(kground,)h(one)g
+(the)h(input)e(\014le.)275 4299 y(With)h(this)f(bac)m(kground,)h(one)g
(sees)g(that)g(the)g(follo)m(wing)h(commands)e(su\016ce)h(to)g(rotate)h
-(the)f(input)150 3066 y(\014le)g(b)m(y)h(180)g(degrees)g(longitude:)390
-3258 y Fy(\045)47 b(ncks)g(-O)g(-v)g(LatLon)g(--msa)f(-d)h(Lon,0.,180.)
-e(-d)i(Lon,-180.,-1.0)d(in.nc)i(out.nc)390 3367 y(\045)h(ncap2)g(-O)g
+(the)f(input)150 4408 y(\014le)g(b)m(y)h(180)g(degrees)g(longitude:)390
+4573 y Fy(\045)47 b(ncks)g(-O)g(-v)g(LatLon)g(--msa)f(-d)h(Lon,0.,180.)
+e(-d)i(Lon,-180.,-1.0)d(in.nc)i(out.nc)390 4682 y(\045)h(ncap2)g(-O)g
(-s)g('where\(Lon)e(<)j(0\))f(Lon=Lon+360')d(out.nc)i(out.nc)390
-3477 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/nco/data/in.nc)390
-3587 y(Lat[0]=-45)f(Lon[0]=-180)g(LatLon[0]=0)390 3696
-y(Lat[0]=-45)g(Lon[1]=-90)g(LatLon[1]=1)390 3806 y(Lat[0]=-45)g
-(Lon[2]=0)h(LatLon[2]=2)390 3915 y(Lat[0]=-45)f(Lon[3]=90)g
-(LatLon[3]=3)390 4025 y(Lat[1]=45)g(Lon[0]=-180)g(LatLon[4]=4)390
-4134 y(Lat[1]=45)g(Lon[1]=-90)g(LatLon[5]=5)390 4244
-y(Lat[1]=45)g(Lon[2]=0)h(LatLon[6]=6)390 4354 y(Lat[1]=45)f(Lon[3]=90)h
-(LatLon[7]=7)390 4463 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/out.nc)
-390 4573 y(Lat[0]=-45)f(Lon[0]=0)h(LatLon[0]=2)390 4682
-y(Lat[0]=-45)f(Lon[1]=90)g(LatLon[1]=3)390 4792 y(Lat[0]=-45)g
-(Lon[2]=180)g(LatLon[2]=0)390 4902 y(Lat[0]=-45)g(Lon[3]=270)g
-(LatLon[3]=1)390 5011 y(Lat[1]=45)g(Lon[0]=0)h(LatLon[4]=6)390
-5121 y(Lat[1]=45)f(Lon[1]=90)h(LatLon[5]=7)390 5230 y(Lat[1]=45)f
-(Lon[2]=180)g(LatLon[6]=4)390 5340 y(Lat[1]=45)g(Lon[3]=270)g
-(LatLon[7]=5)p eop end
+4792 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/nco/data/in.nc)390
+4902 y(Lat[0]=-45)f(Lon[0]=-180)g(LatLon[0]=0)390 5011
+y(Lat[0]=-45)g(Lon[1]=-90)g(LatLon[1]=1)390 5121 y(Lat[0]=-45)g
+(Lon[2]=0)h(LatLon[2]=2)390 5230 y(Lat[0]=-45)f(Lon[3]=90)g
+(LatLon[3]=3)390 5340 y(Lat[1]=45)g(Lon[0]=-180)g(LatLon[4]=4)p
+eop end
%%Page: 63 69
TeXDict begin 63 68 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(63)150 299 y(There)31
-b(are)i(other)f(w)m(ork)-5 b(able,)33 b(v)-5 b(alid)32
-b(metho)s(ds)f(to)i(accomplish)g(this)e(rotation,)j(y)m(et)f(none)f
-(are)g(simpler)150 408 y(nor)43 b(more)g(e\016cien)m(t)i(than)e
-(utilizing)i FC(MSA)e FD(user-ordering.)79 b(Some)44
-b(\014nal)f(commen)m(ts)h(on)f(applying)150 518 y(this)26
+b(NCO)30 b(F)-8 b(eatures)2475 b(63)390 299 y Fy(Lat[1]=45)45
+b(Lon[1]=-90)g(LatLon[5]=5)390 408 y(Lat[1]=45)g(Lon[2]=0)h
+(LatLon[6]=6)390 518 y(Lat[1]=45)f(Lon[3]=90)h(LatLon[7]=7)390
+628 y(\045)h(ncks)g(-C)g(-H)g(-v)h(LatLon)e(~/out.nc)390
+737 y(Lat[0]=-45)f(Lon[0]=0)h(LatLon[0]=2)390 847 y(Lat[0]=-45)f
+(Lon[1]=90)g(LatLon[1]=3)390 956 y(Lat[0]=-45)g(Lon[2]=180)g
+(LatLon[2]=0)390 1066 y(Lat[0]=-45)g(Lon[3]=270)g(LatLon[3]=1)390
+1176 y(Lat[1]=45)g(Lon[0]=0)h(LatLon[4]=6)390 1285 y(Lat[1]=45)f
+(Lon[1]=90)h(LatLon[5]=7)390 1395 y(Lat[1]=45)f(Lon[2]=180)g
+(LatLon[6]=4)390 1504 y(Lat[1]=45)g(Lon[3]=270)g(LatLon[7]=5)150
+1668 y FD(There)31 b(are)i(other)f(w)m(ork)-5 b(able,)33
+b(v)-5 b(alid)32 b(metho)s(ds)f(to)i(accomplish)g(this)e(rotation,)j(y)
+m(et)f(none)f(are)g(simpler)150 1778 y(nor)43 b(more)g(e\016cien)m(t)i
+(than)e(utilizing)i FC(MSA)e FD(user-ordering.)79 b(Some)44
+b(\014nal)f(commen)m(ts)h(on)f(applying)150 1888 y(this)26
b(algorithm:)40 b(Be)27 b(careful)f(to)h(sp)s(ecify)f(hemispheres)f
(that)i(do)f(not)g(o)m(v)m(erlap,)j(e.g.,)f(b)m(y)e(inadv)m(erten)m
-(tly)150 628 y(sp)s(ecifying)e(co)s(ordinate)i(ranges)f(that)g(b)s(oth)
-f(include)g(Green)m(wic)m(h.)40 b(Some)24 b(users)g(will)h(\014nd)e
-(using)h(index-)150 737 y(based)30 b(rather)g(than)g(co)s
+(tly)150 1997 y(sp)s(ecifying)e(co)s(ordinate)i(ranges)f(that)g(b)s
+(oth)f(include)g(Green)m(wic)m(h.)40 b(Some)24 b(users)g(will)h(\014nd)
+e(using)h(index-)150 2107 y(based)30 b(rather)g(than)g(co)s
(ordinate-based)i(h)m(yp)s(erslabs)d(mak)m(es)i(this)f(clearer.)150
-1007 y FB(3.20)68 b(W)-11 b(rapp)t(ed)44 b(Co)t(ordinates)150
-1141 y Fk(\013)p 200 1141 3554 4 v 3553 w(\010)p 150
-1741 4 552 v 178 1277 a FD(Av)-5 b(ailabilit)m(y:)43
-b Fy(ncks)178 1387 y FD(Short)30 b(options:)41 b(`)p
+2353 y FB(3.20)68 b(W)-11 b(rapp)t(ed)44 b(Co)t(ordinates)150
+2487 y Fk(\013)p 200 2487 3554 4 v 3553 w(\010)p 150
+3086 4 552 v 178 2623 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncks)178 2733 y FD(Short)30 b(options:)41 b(`)p
Fy(-d)30 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p
-Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 1496 y(Long)h(options:)41
+Fy(][,[)p Fn(strid)o(e)p Fy(]]])o FD(')178 2842 y(Long)h(options:)41
b(`)p Fy(--dimension)27 b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(',)178
-1606 y(`)p Fy(--dmn)i Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
+2952 y(`)p Fy(--dmn)i Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])p FD(')p 3803
-1741 V 150 1792 a Fk(\012)p 200 1792 3554 4 v 3553 w(\011)275
-1975 y FD(A)h Fz(wrapp)s(ed)e(co)s(ordinate)40 b FD(is)33
+3086 V 150 3138 a Fk(\012)p 200 3138 3554 4 v 3553 w(\011)275
+3313 y FD(A)h Fz(wrapp)s(ed)e(co)s(ordinate)40 b FD(is)33
b(a)h(co)s(ordinate)g(whose)f(v)-5 b(alues)34 b(increase)g(or)g
-(decrease)g(monotonically)150 2084 y(\(nothing)d(un)m(usual)f(so)h
+(decrease)g(monotonically)150 3422 y(\(nothing)d(un)m(usual)f(so)h
(far\),)h(but)e(whic)m(h)g(represen)m(ts)h(a)g(dimension)g(that)g(ends)
-f(where)h(it)g(b)s(egins)f(\(i.e.,)150 2194 y(wraps)39
+f(where)h(it)g(b)s(egins)f(\(i.e.,)150 3532 y(wraps)39
b(around)g(on)h(itself)7 b(\).)70 b(Longitude)40 b(\(i.e.,)k(degrees)d
(on)e(a)i(circle\))g(is)f(a)g(familiar)h(example)f(of)h(a)150
-2304 y(wrapp)s(ed)34 b(co)s(ordinate.)59 b(Longitude)37
+3642 y(wrapp)s(ed)34 b(co)s(ordinate.)59 b(Longitude)37
b(increases)g(to)g(the)f(East)h(of)f(Green)m(wic)m(h,)j(England,)e
-(where)f(it)h(is)150 2413 y(de\014ned)29 b(to)i(b)s(e)e(zero.)42
+(where)f(it)h(is)150 3751 y(de\014ned)29 b(to)i(b)s(e)e(zero.)42
b(Halfw)m(a)m(y)32 b(around)d(the)h(glob)s(e,)h(the)f(longitude)h(is)f
-(180)i(degrees)f(East)f(\(or)h(W)-8 b(est\).)150 2523
+(180)i(degrees)f(East)f(\(or)h(W)-8 b(est\).)150 3861
y(Con)m(tin)m(uing)30 b(east)m(w)m(ard,)h(longitude)g(increases)f(to)g
(360)i(degrees)e(East)g(at)h(Green)m(wic)m(h.)41 b(The)29
-b(longitude)150 2632 y(v)-5 b(alues)24 b(of)g(most)g(geoph)m(ysical)i
+b(longitude)150 3970 y(v)-5 b(alues)24 b(of)g(most)g(geoph)m(ysical)i
(data)f(are)f(either)g(in)g(the)g(range)g([0,360\),)k(or)c([)p
FA(\000)p FD(180,180\).)41 b(In)23 b(either)i(case,)150
-2742 y(the)42 b(W)-8 b(esternmost)42 b(and)f(Easternmost)h(longitudes)g
+4080 y(the)42 b(W)-8 b(esternmost)42 b(and)f(Easternmost)h(longitudes)g
(are)f(n)m(umerically)h(separated)g(b)m(y)f(360)32 b(degrees)q(,)150
-2851 y(but)h(represen)m(t)h(con)m(tiguous)h(regions)g(on)f(the)g(glob)s
+4190 y(but)h(represen)m(t)h(con)m(tiguous)h(regions)g(on)f(the)g(glob)s
(e.)52 b(F)-8 b(or)34 b(example,)i(the)e(Saharan)g(desert)g(stretc)m
-(hes)150 2961 y(from)k(roughly)h(340)h(to)g(50)31 b(degrees)39
+(hes)150 4299 y(from)k(roughly)h(340)h(to)g(50)31 b(degrees)39
b(East.)67 b(Extracting)40 b(the)f(h)m(yp)s(erslab)f(of)h(data)h
-(represen)m(ting)f(the)150 3071 y(Sahara)c(from)g(a)h(global)h(dataset)
+(represen)m(ting)f(the)150 4409 y(Sahara)c(from)g(a)h(global)h(dataset)
g(presen)m(ts)e(sp)s(ecial)i(problems)d(when)h(the)h(global)g(dataset)h
-(is)f(stored)150 3180 y(consecutiv)m(ely)g(in)d(longitude)h(from)f(0)h
+(is)f(stored)150 4518 y(consecutiv)m(ely)g(in)d(longitude)h(from)f(0)h
(to)g(360)e(degrees)q(.)50 b(This)33 b(is)g(b)s(ecause)h(the)g(data)g
-(for)f(the)h(Sahara)150 3290 y(will)d(not)g(b)s(e)e(con)m(tiguous)j(in)
+(for)f(the)h(Sahara)150 4628 y(will)d(not)g(b)s(e)e(con)m(tiguous)j(in)
e(the)h Fz(input-\014le)k FD(but)30 b(is)g(exp)s(ected)h(b)m(y)f(the)h
-(user)f(to)h(b)s(e)f(con)m(tiguous)i(in)e(the)150 3399
+(user)f(to)h(b)s(e)f(con)m(tiguous)i(in)e(the)150 4738
y Fz(output-\014le)p FD(.)40 b(In)26 b(this)h(case,)i
Fy(ncks)d FD(m)m(ust)h(in)m(v)m(ok)m(e)i(sp)s(ecial)e(soft)m(w)m(are)i
-(routines)e(to)g(assem)m(ble)h(the)f(desired)150 3509
+(routines)e(to)g(assem)m(ble)h(the)f(desired)150 4847
y(output)j(h)m(yp)s(erslab)f(from)h(m)m(ultiple)h(reads)f(of)h(the)g
-Fz(input-\014le)p FD(.)275 3681 y(Assume)40 b(the)h(domain)g(of)g(the)g
+Fz(input-\014le)p FD(.)275 5011 y(Assume)40 b(the)h(domain)g(of)g(the)g
(monotonically)i(increasing)e(longitude)h(co)s(ordinate)f
-Fy(lon)f FD(is)h(0)i Fv(<)150 3791 y Fz(lon)29 b Fv(<)f
+Fy(lon)f FD(is)h(0)i Fv(<)150 5121 y Fz(lon)29 b Fv(<)f
FD(360.)49 b Fy(ncks)31 b FD(will)i(extract)h(a)e(h)m(yp)s(erslab)g
(whic)m(h)g(crosses)h(the)g(Green)m(wic)m(h)g(meridian)f(simply)g(b)m
-(y)150 3900 y(sp)s(ecifying)j(the)g(w)m(esternmost)g(longitude)h(as)f
+(y)150 5230 y(sp)s(ecifying)j(the)g(w)m(esternmost)g(longitude)h(as)f
Fz(min)f FD(and)h(the)g(easternmost)g(longitude)h(as)f
-Fz(max)p FD(.)54 b(The)150 4010 y(follo)m(wing)32 b(commands)e(extract)
-i(a)e(h)m(yp)s(erslab)g(con)m(taining)i(the)e(Saharan)g(desert:)390
-4182 y Fy(ncks)47 b(-d)g(lon,340.,50.)d(in.nc)j(out.nc)390
-4291 y(ncks)g(-d)g(lon,340.,50.)d(-d)j(lat,10.,35.)e(in.nc)i(out.nc)150
-4463 y FD(The)41 b(\014rst)h(example)g(selects)i(data)e(in)g(the)g
-(same)g(longitude)h(range)f(as)g(the)g(Sahara.)75 b(The)42
-b(second)150 4573 y(example)33 b(further)d(constrains)i(the)g(data)h
-(to)f(ha)m(ving)h(the)f(same)g(latitude)h(as)f(the)g(Sahara.)45
-b(The)31 b(co)s(or-)150 4682 y(dinate)h Fy(lon)f FD(in)g(the)h
+Fz(max)p FD(.)54 b(The)150 5340 y(follo)m(wing)32 b(commands)e(extract)
+i(a)e(h)m(yp)s(erslab)g(con)m(taining)i(the)e(Saharan)g(desert:)p
+eop end
+%%Page: 64 70
+TeXDict begin 64 69 bop 150 -116 a FD(64)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncks)47 b(-d)g(lon,340.,50.)d
+(in.nc)j(out.nc)390 408 y(ncks)g(-d)g(lon,340.,50.)d(-d)j(lat,10.,35.)e
+(in.nc)i(out.nc)150 573 y FD(The)41 b(\014rst)h(example)g(selects)i
+(data)e(in)g(the)g(same)g(longitude)h(range)f(as)g(the)g(Sahara.)75
+b(The)42 b(second)150 682 y(example)33 b(further)d(constrains)i(the)g
+(data)h(to)f(ha)m(ving)h(the)f(same)g(latitude)h(as)f(the)g(Sahara.)45
+b(The)31 b(co)s(or-)150 792 y(dinate)h Fy(lon)f FD(in)g(the)h
Fz(output-\014le)p FD(,)h Fy(out.nc)p FD(,)d(will)j(no)e(longer)h(b)s
(e)g(monotonic!)46 b(The)31 b(v)-5 b(alues)32 b(of)g
-Fy(lon)f FD(will)150 4792 y(b)s(e,)26 b(e.g.,)i(`)p Fy(340,)i(350,)f
-(0,)h(10,)f(20,)h(30,)f(40,)h(50)p FD('.)38 b(This)25
-b(can)h(ha)m(v)m(e)h(serious)e(implications)i(should)e(y)m(ou)150
-4902 y(run)32 b Fy(out.nc)f FD(through)h(another)i(op)s(eration)f(whic)
-m(h)g(exp)s(ects)g(the)h Fy(lon)e FD(co)s(ordinate)i(to)g(b)s(e)e
-(monotoni-)150 5011 y(cally)e(increasing.)41 b(F)-8 b(ortunately)g(,)32
+Fy(lon)f FD(will)150 901 y(b)s(e,)26 b(e.g.,)i(`)p Fy(340,)i(350,)f(0,)
+h(10,)f(20,)h(30,)f(40,)h(50)p FD('.)38 b(This)25 b(can)h(ha)m(v)m(e)h
+(serious)e(implications)i(should)e(y)m(ou)150 1011 y(run)32
+b Fy(out.nc)f FD(through)h(another)i(op)s(eration)f(whic)m(h)g(exp)s
+(ects)g(the)h Fy(lon)e FD(co)s(ordinate)i(to)g(b)s(e)e(monotoni-)150
+1121 y(cally)e(increasing.)41 b(F)-8 b(ortunately)g(,)32
b(the)d(c)m(hances)h(of)f(this)g(happ)s(ening)f(are)h(slim,)h(since)f
-Fy(lon)g FD(has)f(already)150 5121 y(b)s(een)i(h)m(yp)s(erslabb)s(ed,)f
+Fy(lon)g FD(has)f(already)150 1230 y(b)s(een)i(h)m(yp)s(erslabb)s(ed,)f
(there)i(should)f(b)s(e)g(no)h(reason)g(to)g(h)m(yp)s(erslab)f
Fy(lon)g FD(again.)43 b(Should)30 b(y)m(ou)h(need)f(to)150
-5230 y(h)m(yp)s(erslab)25 b Fy(lon)g FD(again,)j(b)s(e)d(sure)g(to)h
+1340 y(h)m(yp)s(erslab)25 b Fy(lon)g FD(again,)j(b)s(e)d(sure)g(to)h
(giv)m(e)h(dimensional)f(indices)g(as)g(the)g(h)m(yp)s(erslab)f
-(argumen)m(ts,)i(rather)150 5340 y(than)j(co)s(ordinate)h(v)-5
-b(alues)31 b(\(see)g(Section)h(3.15)f([Hyp)s(erslabs],)g(page)g(55\).)p
-eop end
-%%Page: 64 70
-TeXDict begin 64 69 bop 150 -116 a FD(64)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(3.21)68 b(Auxiliary)46
-b(Co)t(ordinates)150 433 y Fk(\013)p 200 433 3554 4 v
-3553 w(\010)p 150 922 4 442 v 178 569 a FD(Av)-5 b(ailabilit)m(y:)43
+(argumen)m(ts,)i(rather)150 1449 y(than)j(co)s(ordinate)h(v)-5
+b(alues)31 b(\(see)g(Section)h(3.15)f([Hyp)s(erslabs],)g(page)g(55\).)
+150 1696 y FB(3.21)68 b(Auxiliary)46 b(Co)t(ordinates)150
+1830 y Fk(\013)p 200 1830 3554 4 v 3553 w(\010)p 150
+2320 4 442 v 178 1966 a FD(Av)-5 b(ailabilit)m(y:)43
b Fy(ncbo)p FD(,)30 b Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g
Fy(ncflint)p FD(,)g Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h
-Fy(ncra)p FD(,)f Fy(ncrcat)178 678 y FD(Short)h(options:)41
+Fy(ncra)p FD(,)f Fy(ncrcat)178 2076 y FD(Short)h(options:)41
b(`)p Fy(-X)30 b Fn(lon_min)p Fy(,)p Fn(lon_max)p Fy(,)p
-Fn(lat_min)p Fy(,)o Fn(lat_)o(max)p FD(')178 788 y(Long)h(options:)41
+Fn(lat_min)p Fy(,)o Fn(lat_)o(max)p FD(')178 2185 y(Long)h(options:)41
b(`)p Fy(--auxiliary)27 b Fn(lon_min)p Fy(,)p Fn(lon_max)p
Fy(,)p Fn(lat_min)p Fy(,)p Fn(la)o(t_m)o(ax)p FD(')p
-3803 922 V 150 974 a Fk(\012)p 200 974 3554 4 v 3553
-w(\011)275 1197 y FD(Utilize)36 b(auxiliary)f(co)s(ordinates)g(sp)s
+3803 2320 V 150 2371 a Fk(\012)p 200 2371 3554 4 v 3553
+w(\011)275 2546 y FD(Utilize)36 b(auxiliary)f(co)s(ordinates)g(sp)s
(eci\014ed)f(in)g(v)-5 b(alues)35 b(of)f(the)h(co)s(ordinate)g(v)-5
-b(ariable's)35 b Fy(standard_)150 1306 y(name)60 b FD(attributes,)69
+b(ariable's)35 b Fy(standard_)150 2656 y(name)60 b FD(attributes,)69
b(if)61 b(an)m(y)-8 b(,)69 b(when)60 b(in)m(terpreting)h(h)m(yp)s
(erslab)f(and)g(m)m(ulti-slab)i(options.)132 b(Also)150
-1416 y(`)p Fy(--auxiliary)p FD('.)36 b(This)25 b(switc)m(h)g(supp)s
+2765 y(`)p Fy(--auxiliary)p FD('.)36 b(This)25 b(switc)m(h)g(supp)s
(orts)e(h)m(yp)s(erslabbing)h(cell-based)i(grids)f(o)m(v)m(er)i(co)s
-(ordinate)e(ranges.)150 1526 y(This)30 b(w)m(orks)g(on)h(datasets)h
+(ordinate)e(ranges.)150 2875 y(This)30 b(w)m(orks)g(on)h(datasets)h
(that)f(asso)s(ciate)i(co)s(ordinate)e(v)-5 b(ariables)31
b(to)h(grid-mappings)e(using)g(the)h FC(CF)p FD(-)150
-1635 y(con)m(v)m(en)m(tion)g(\(see)f(Section)f(3.37)i([CF)e(Con)m(v)m
+2984 y(con)m(v)m(en)m(tion)g(\(see)f(Section)f(3.37)i([CF)e(Con)m(v)m
(en)m(tions],)i(page)e(98\))i Fy(coordinates)25 b FD(and)k
-Fy(standard_name)150 1745 y FD(attributes)35 b(describ)s(ed)e(here)i
+Fy(standard_name)150 3094 y FD(attributes)35 b(describ)s(ed)e(here)i
(\()p Fy(http:)s(/)s(/)s(cfconventions)s(.)s(org)r(/)s(1)s(.)r(6)s(.)s
(h)o(tml)r(#)s(co)o(ordi)o(nate)o(-sy)o(stem)o FD(\).)150
-1854 y(Curren)m(tly)-8 b(,)41 b FC(NCO)d FD(understands)e(auxiliary)k
+3204 y(Curren)m(tly)-8 b(,)41 b FC(NCO)d FD(understands)e(auxiliary)k
(co)s(ordinate)f(v)-5 b(ariables)39 b(p)s(oin)m(ted)g(to)g(b)m(y)g(the)
-f Fy(standard_)150 1964 y(name)j FD(attributes)i(for)g
+f Fy(standard_)150 3313 y(name)j FD(attributes)i(for)g
Fz(latitude)48 b FD(and)42 b Fz(longitude)p FD(.)78 b(Cells)43
b(that)g(con)m(tain)h(a)f(v)-5 b(alue)43 b(within)f(the)g(user-)150
-2074 y(sp)s(eci\014ed)30 b(range)g([)p Fz(lon)p 916 2074
-28 4 v 41 w(min)p FD(,)p Fz(lon)p 1255 2074 V 40 w(max)p
-FD(,)p Fz(lat)p 1594 2074 V 41 w(min)p FD(,)p Fz(lat)p
-1917 2074 V 41 w(max)6 b FD(])31 b(are)g(included)f(in)g(the)g(output)g
-(h)m(yp)s(erslab.)275 2286 y(A)38 b(cell-based)h(grid)f(collapses)h
+3423 y(sp)s(eci\014ed)30 b(range)g([)p Fz(lon)p 916 3423
+28 4 v 41 w(min)p FD(,)p Fz(lon)p 1255 3423 V 40 w(max)p
+FD(,)p Fz(lat)p 1594 3423 V 41 w(min)p FD(,)p Fz(lat)p
+1917 3423 V 41 w(max)6 b FD(])31 b(are)g(included)f(in)g(the)g(output)g
+(h)m(yp)s(erslab.)275 3587 y(A)38 b(cell-based)h(grid)f(collapses)h
(the)f(horizon)m(tal)i(spatial)f(information)f(\(latitude)i(and)d
-(longitude\))150 2395 y(and)g(stores)h(it)g(along)g(a)g
+(longitude\))150 3697 y(and)g(stores)h(it)g(along)g(a)g
(one-dimensional)h(co)s(ordinate)f(that)g(has)f(a)h(one-to-one)i
-(mapping)c(to)j(b)s(oth)150 2505 y(latitude)32 b(and)f(longitude)h(co)s
+(mapping)c(to)j(b)s(oth)150 3806 y(latitude)32 b(and)f(longitude)h(co)s
(ordinates.)44 b(Rectangular)33 b(\(in)e(longitude)h(and)f(latitude\))i
-(horizon)m(tal)g(h)m(y-)150 2614 y(p)s(erslabs)44 b(cannot)i(b)s(e)f
+(horizon)m(tal)g(h)m(y-)150 3916 y(p)s(erslabs)44 b(cannot)i(b)s(e)f
(selected)i(using)e(the)h(t)m(ypical)h(pro)s(cedure)d(\(see)j(Section)f
-(3.15)h([Hyp)s(erslabs],)150 2724 y(page)32 b(55\))g(of)g(separately)g
+(3.15)h([Hyp)s(erslabs],)150 4025 y(page)32 b(55\))g(of)g(separately)g
(sp)s(ecifying)f(`)p Fy(-d)p FD(')g(argumen)m(ts)h(for)f(longitude)h
-(and)e(latitude.)44 b(Instead,)32 b(when)150 2834 y(the)c(`)p
+(and)e(latitude.)44 b(Instead,)32 b(when)150 4135 y(the)c(`)p
Fy(-X)p FD(')h(is)f(used,)g FC(NCO)g FD(learns)g(the)g(names)h(of)f
(the)g(latitude)i(and)d(longitude)i(co)s(ordinates)g(b)m(y)f(searc)m
-(h-)150 2943 y(ing)45 b(the)f Fy(standard_name)d FD(attribute)k(of)g
+(h-)150 4245 y(ing)45 b(the)f Fy(standard_name)d FD(attribute)k(of)g
(all)h(v)-5 b(ariables)45 b(un)m(til)g(it)g(\014nds)d(the)j(t)m(w)m(o)h
-(v)-5 b(ariables)45 b(whose)150 3053 y Fy(standard_name)p
+(v)-5 b(ariables)45 b(whose)150 4354 y Fy(standard_name)p
FD('s)39 b(are)j(\\latitude")j(and)c(\\longitude",)47
b(resp)s(ectiv)m(ely)-8 b(.)79 b(This)41 b Fy(standard_name)e
-FD(at-)150 3162 y(tribute)34 b(for)g(latitude)i(and)e(longitude)h(co)s
+FD(at-)150 4464 y(tribute)34 b(for)g(latitude)i(and)e(longitude)h(co)s
(ordinates)g(follo)m(ws)g(the)g FC(CF)p FD(-con)m(v)m(en)m(tion)i
-(\(see)e(Section)g(3.37)150 3272 y([CF)c(Con)m(v)m(en)m(tions],)h(page)
-f(98\).)275 3484 y(Putting)e(it)h(all)g(together,)h(consider)e(a)h(v)-5
-b(ariable)30 b Fz(gds)p 2112 3484 V 39 w(3dv)-5 b(ar)36
+(\(see)e(Section)g(3.37)150 4573 y([CF)c(Con)m(v)m(en)m(tions],)h(page)
+f(98\).)275 4737 y(Putting)e(it)h(all)g(together,)h(consider)e(a)h(v)-5
+b(ariable)30 b Fz(gds)p 2112 4737 V 39 w(3dv)-5 b(ar)36
b FD(output)29 b(from)g(sim)m(ulations)h(on)f(a)g(cell-)150
-3594 y(based)21 b(geo)s(desic)i(grid.)38 b(Although)21
+4847 y(based)21 b(geo)s(desic)i(grid.)38 b(Although)21
b(the)h(v)-5 b(ariable)22 b(con)m(tains)h(three)f(dimensions)f(of)h
-(data)g(\(time,)j(latitude,)150 3703 y(and)f(longitude\),)k(it)d(is)g
+(data)g(\(time,)j(latitude,)150 4957 y(and)f(longitude\),)k(it)d(is)g
(stored)g(in)g(the)g(netCDF)h(\014le)f(with)f(only)i(t)m(w)m(o)g
(dimensions,)f Fy(time)f FD(and)h Fy(gds_crd)p FD(.)390
-3915 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(gds_3dvar)d(~/nco/data/in.nc)
-390 4025 y(gds_3dvar:)g(type)i(NC_FLOAT,)e(2)i(dimensions,)e(4)j
-(attributes,)c(chunked?)i(no,)h(\\)438 4134 y(compressed?)d(no,)j
-(packed?)f(no,)h(ID)g(=)h(41)390 4244 y(gds_3dvar)d(RAM)i(size)g(is)g
-(10*8*sizeof\(NC_FLOAT\))42 b(=)47 b(80*4)g(=)h(320)e(bytes)390
-4354 y(gds_3dvar)f(dimension)h(0:)h(time,)f(size)h(=)g(10)g(NC_DOUBLE,)
-e(dim.)i(ID)g(=)h(20)f(\\)438 4463 y(\(CRD\)\(REC\))390
-4573 y(gds_3dvar)e(dimension)h(1:)h(gds_crd,)e(size)i(=)g(8)h
-(NC_FLOAT,)d(dim.)i(ID)g(=)g(17)h(\(CRD\))390 4682 y(gds_3dvar)d
-(attribute)h(0:)h(long_name,)e(size)h(=)i(17)f(NC_CHAR,)f(value)g(=)h
-(\\)438 4792 y(Geodesic)e(variable)390 4902 y(gds_3dvar)g(attribute)h
-(1:)h(units,)f(size)g(=)i(5)f(NC_CHAR,)f(value)g(=)i(meter)390
-5011 y(gds_3dvar)d(attribute)h(2:)h(coordinates,)d(size)j(=)g(15)g
-(NC_CHAR,)f(value)g(=)i(\\)438 5121 y(lat_gds)e(lon_gds)390
-5230 y(gds_3dvar)f(attribute)h(3:)h(purpose,)e(size)i(=)g(64)h
-(NC_CHAR,)d(value)h(=)i(\\)438 5340 y(Test)e(auxiliary)g(coordinates)e
-(like)j(those)f(that)h(define)f(geodesic)g(grids)p eop
-end
+5121 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(gds_3dvar)d(~/nco/data/in.nc)
+390 5230 y(gds_3dvar:)g(type)i(NC_FLOAT,)e(2)i(dimensions,)e(4)j
+(attributes,)c(chunked?)i(no,)h(\\)438 5340 y(compressed?)d(no,)j
+(packed?)f(no,)h(ID)g(=)h(41)p eop end
%%Page: 65 71
TeXDict begin 65 70 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(65)275 299 y(The)36
-b Fy(coordinates)e FD(attribute)k(lists)g(the)f(names)g(of)g(the)h
-(latitude)g(and)e(longitude)i(co)s(ordinates,)150 408
-y Fy(lat_gds)d FD(and)h Fy(lon_gds)p FD(,)h(resp)s(ectiv)m(ely)-8
-b(.)63 b(The)36 b Fy(coordinates)e FD(attribute)k(is)f(recommended)f
-(though)150 518 y(optional.)57 b(With)36 b(it,)i(the)e(user)e(can)i
+b(NCO)30 b(F)-8 b(eatures)2475 b(65)390 299 y Fy(gds_3dvar)45
+b(RAM)i(size)g(is)g(10*8*sizeof\(NC_FLOAT\))42 b(=)47
+b(80*4)g(=)h(320)e(bytes)390 408 y(gds_3dvar)f(dimension)h(0:)h(time,)f
+(size)h(=)g(10)g(NC_DOUBLE,)e(dim.)i(ID)g(=)h(20)f(\\)438
+518 y(\(CRD\)\(REC\))390 628 y(gds_3dvar)e(dimension)h(1:)h(gds_crd,)e
+(size)i(=)g(8)h(NC_FLOAT,)d(dim.)i(ID)g(=)g(17)h(\(CRD\))390
+737 y(gds_3dvar)d(attribute)h(0:)h(long_name,)e(size)h(=)i(17)f
+(NC_CHAR,)f(value)g(=)h(\\)438 847 y(Geodesic)e(variable)390
+956 y(gds_3dvar)g(attribute)h(1:)h(units,)f(size)g(=)i(5)f(NC_CHAR,)f
+(value)g(=)i(meter)390 1066 y(gds_3dvar)d(attribute)h(2:)h
+(coordinates,)d(size)j(=)g(15)g(NC_CHAR,)f(value)g(=)i(\\)438
+1176 y(lat_gds)e(lon_gds)390 1285 y(gds_3dvar)f(attribute)h(3:)h
+(purpose,)e(size)i(=)g(64)h(NC_CHAR,)d(value)h(=)i(\\)438
+1395 y(Test)e(auxiliary)g(coordinates)e(like)j(those)f(that)h(define)f
+(geodesic)g(grids)275 1614 y FD(The)36 b Fy(coordinates)e
+FD(attribute)k(lists)g(the)f(names)g(of)g(the)h(latitude)g(and)e
+(longitude)i(co)s(ordinates,)150 1724 y Fy(lat_gds)d
+FD(and)h Fy(lon_gds)p FD(,)h(resp)s(ectiv)m(ely)-8 b(.)63
+b(The)36 b Fy(coordinates)e FD(attribute)k(is)f(recommended)f(though)
+150 1833 y(optional.)57 b(With)36 b(it,)i(the)e(user)e(can)i
(immediately)h(iden)m(tify)f(whic)m(h)f(v)-5 b(ariables)36
-b(con)m(tain)h(the)f(latitude)150 628 y(and)e(longitude)h(co)s
+b(con)m(tain)h(the)f(latitude)150 1943 y(and)e(longitude)h(co)s
(ordinates.)54 b(Without)35 b(a)g Fy(coordinates)c FD(attribute)36
b(it)f(w)m(ould)f(b)s(e)g(unclear)g(at)i(\014rst)150
-737 y(glance)h(whether)d(a)i(v)-5 b(ariable)36 b(resides)f(on)g(a)h
+2052 y(glance)h(whether)d(a)i(v)-5 b(ariable)36 b(resides)f(on)g(a)h
(cell-based)h(grid.)55 b(In)34 b(this)h(example,)j Fy(time)c
-FD(is)h(a)h(normal)150 847 y(record)30 b(dimension)g(and)g
+FD(is)h(a)h(normal)150 2162 y(record)30 b(dimension)g(and)g
Fy(gds_crd)e FD(is)j(the)f(cell-based)i(dimension.)275
-1025 y(The)c(cell-based)i(grid)f(\014le)g(m)m(ust)g(con)m(tain)i(t)m(w)
+2381 y(The)c(cell-based)i(grid)f(\014le)g(m)m(ust)g(con)m(tain)i(t)m(w)
m(o)f(v)-5 b(ariables)30 b(whose)f Fy(standard_name)c
-FD(attributes)30 b(are)150 1134 y(\\latitude",)j(and)c(\\longitude":)
-390 1313 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(lat_gds,lon_gds)43
-b(~/nco/data/in.nc)390 1422 y(lat_gds:)j(type)g(NC_DOUBLE,)f(1)j
-(dimensions,)c(4)k(attributes,)d(\\)438 1532 y(chunked?)g(no,)i
+FD(attributes)30 b(are)150 2491 y(\\latitude",)j(and)c(\\longitude":)
+390 2710 y Fy(\045)47 b(ncks)g(-m)g(-C)g(-v)h(lat_gds,lon_gds)43
+b(~/nco/data/in.nc)390 2819 y(lat_gds:)j(type)g(NC_DOUBLE,)f(1)j
+(dimensions,)c(4)k(attributes,)d(\\)438 2929 y(chunked?)g(no,)i
(compressed?)e(no,)i(packed?)f(no,)h(ID)g(=)g(37)390
-1641 y(lat_gds)f(RAM)h(size)f(is)i(8*sizeof\(NC_DOUBLE\))42
-b(=)48 b(8*8)e(=)i(64)f(bytes)390 1751 y(lat_gds)f(dimension)f(0:)i
+3039 y(lat_gds)f(RAM)h(size)f(is)i(8*sizeof\(NC_DOUBLE\))42
+b(=)48 b(8*8)e(=)i(64)f(bytes)390 3148 y(lat_gds)f(dimension)f(0:)i
(gds_crd,)f(size)g(=)i(8)f(NC_FLOAT,)f(dim.)g(ID)h(=)h(17)f(\(CRD\))390
-1861 y(lat_gds)f(attribute)f(0:)i(long_name,)e(size)i(=)g(8)h(NC_CHAR,)
-d(value)i(=)g(Latitude)390 1970 y(lat_gds)f(attribute)f(1:)i
+3258 y(lat_gds)f(attribute)f(0:)i(long_name,)e(size)i(=)g(8)h(NC_CHAR,)
+d(value)i(=)g(Latitude)390 3367 y(lat_gds)f(attribute)f(1:)i
(standard_name,)d(size)j(=)g(8)h(NC_CHAR,)d(value)i(=)g(latitude)390
-2080 y(lat_gds)f(attribute)f(2:)i(units,)f(size)h(=)g(6)h(NC_CHAR,)d
-(value)i(=)g(degree)390 2189 y(lat_gds)f(attribute)f(3:)i(purpose,)f
-(size)g(=)i(62)f(NC_CHAR,)f(value)g(=)h(\\)438 2299 y(1-D)g(latitude)e
+3477 y(lat_gds)f(attribute)f(2:)i(units,)f(size)h(=)g(6)h(NC_CHAR,)d
+(value)i(=)g(degree)390 3587 y(lat_gds)f(attribute)f(3:)i(purpose,)f
+(size)g(=)i(62)f(NC_CHAR,)f(value)g(=)h(\\)438 3696 y(1-D)g(latitude)e
(coordinate)g(referred)h(to)h(by)g(geodesic)f(grid)g(variables)390
-2518 y(lon_gds:)g(type)g(NC_DOUBLE,)f(1)j(dimensions,)c(4)k
-(attributes,)d(\\)438 2628 y(chunked?)g(no,)i(compressed?)e(no,)i
-(packed?)f(no,)h(ID)g(=)g(38)390 2737 y(lon_gds)f(RAM)h(size)f(is)i
+3915 y(lon_gds:)g(type)g(NC_DOUBLE,)f(1)j(dimensions,)c(4)k
+(attributes,)d(\\)438 4025 y(chunked?)g(no,)i(compressed?)e(no,)i
+(packed?)f(no,)h(ID)g(=)g(38)390 4134 y(lon_gds)f(RAM)h(size)f(is)i
(8*sizeof\(NC_DOUBLE\))42 b(=)48 b(8*8)e(=)i(64)f(bytes)390
-2847 y(lon_gds)f(dimension)f(0:)i(gds_crd,)f(size)g(=)i(8)f(NC_FLOAT,)f
-(dim.)g(ID)h(=)h(17)f(\(CRD\))390 2956 y(lon_gds)f(attribute)f(0:)i
+4244 y(lon_gds)f(dimension)f(0:)i(gds_crd,)f(size)g(=)i(8)f(NC_FLOAT,)f
+(dim.)g(ID)h(=)h(17)f(\(CRD\))390 4354 y(lon_gds)f(attribute)f(0:)i
(long_name,)e(size)i(=)g(9)h(NC_CHAR,)d(value)i(=)g(Longitude)390
-3066 y(lon_gds)f(attribute)f(1:)i(standard_name,)d(size)j(=)g(9)h
-(NC_CHAR,)d(value)i(=)g(longitude)390 3176 y(lon_gds)f(attribute)f(2:)i
+4463 y(lon_gds)f(attribute)f(1:)i(standard_name,)d(size)j(=)g(9)h
+(NC_CHAR,)d(value)i(=)g(longitude)390 4573 y(lon_gds)f(attribute)f(2:)i
(units,)f(size)h(=)g(6)h(NC_CHAR,)d(value)i(=)g(degree)390
-3285 y(lon_gds)f(attribute)f(3:)i(purpose,)f(size)g(=)i(63)f(NC_CHAR,)f
-(value)g(=)h(\\)438 3395 y(1-D)g(longitude)e(coordinate)g(referred)g
-(to)j(by)f(geodesic)e(grid)i(variables)275 3573 y FD(In)31
+4682 y(lon_gds)f(attribute)f(3:)i(purpose,)f(size)g(=)i(63)f(NC_CHAR,)f
+(value)g(=)h(\\)438 4792 y(1-D)g(longitude)e(coordinate)g(referred)g
+(to)j(by)f(geodesic)e(grid)i(variables)275 5011 y FD(In)31
b(this)g(example)i Fy(lat_gds)d FD(and)h Fy(lon_gds)f
FD(represen)m(t)i(the)g(latitude)h(or)f(longitude,)h(resp)s(ectiv)m
-(ely)-8 b(,)150 3682 y(of)26 b(cell-based)i(v)-5 b(ariables.)40
+(ely)-8 b(,)150 5121 y(of)26 b(cell-based)i(v)-5 b(ariables.)40
b(These)25 b(co)s(ordinates)i(\(m)m(ust\))g(ha)m(v)m(e)g(the)g(same)f
-(single)h(dimension)e(\()p Fy(gds_crd)p FD(,)150 3792
+(single)h(dimension)e(\()p Fy(gds_crd)p FD(,)150 5230
y(in)36 b(this)f(case\))j(as)e(the)g(cell-based)h(v)-5
b(ariables.)58 b(And)35 b(the)h(co)s(ordinates)h(m)m(ust)f(b)s(e)f
-(one-dimensional|)150 3902 y(m)m(ultidimensional)c(co)s(ordinates)g
-(will)g(not)g(w)m(ork.)275 4080 y(This)i(infrastructure)h(allo)m(ws)i
+(one-dimensional|)150 5340 y(m)m(ultidimensional)c(co)s(ordinates)g
+(will)g(not)g(w)m(ork.)p eop end
+%%Page: 66 72
+TeXDict begin 66 71 bop 150 -116 a FD(66)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(This)j(infrastructure)h(allo)m(ws)i
FC(NCO)e FD(to)h(iden)m(tify)-8 b(,)37 b(in)m(terpret,)f(and)e(pro)s
-(cess)g(\(e.g.,)k(h)m(yp)s(erslab\))c(the)150 4189 y(v)-5
+(cess)g(\(e.g.,)k(h)m(yp)s(erslab\))c(the)150 408 y(v)-5
b(ariables)37 b(on)g(cell-based)h(grids)e(as)h(easily)g(as)g(it)g(w)m
(orks)g(with)f(regular)h(grids.)59 b(T)-8 b(o)37 b(time-a)m(v)m(erage)j
-(all)150 4299 y(the)31 b(v)-5 b(alues)30 b(b)s(et)m(w)m(een)h(zero)h
+(all)150 518 y(the)31 b(v)-5 b(alues)30 b(b)s(et)m(w)m(een)h(zero)h
(and)d(180)j(degrees)f(longitude)g(and)f(b)s(et)m(w)m(een)h(plus)e(and)
-h(min)m(us)g(30)h(degress)150 4408 y(latitude,)h(w)m(e)e(use)390
-4587 y Fy(ncra)47 b(-O)g(-X)g(0.,180.,-30.,30.)c(-v)48
-b(gds_3dvar)d(in.nc)h(out.nc)275 4765 y FC(NCO)35 b FD(accepts)i(m)m
+h(min)m(us)g(30)h(degress)150 628 y(latitude,)h(w)m(e)e(use)390
+787 y Fy(ncra)47 b(-O)g(-X)g(0.,180.,-30.,30.)c(-v)48
+b(gds_3dvar)d(in.nc)h(out.nc)275 947 y FC(NCO)35 b FD(accepts)i(m)m
(ultiple)f(`)p Fy(-X)p FD(')g(argumen)m(ts)g(for)f(cell-based)i(grid)e
-(m)m(ulti-slabs,)j(just)e(as)f(it)i(accepts)150 4874
+(m)m(ulti-slabs,)j(just)e(as)f(it)i(accepts)150 1057
y(m)m(ultiple)31 b(`)p Fy(-d)p FD(')f(argumen)m(ts)h(for)f(m)m
-(ulti-slabs)h(of)g(regular)f(co)s(ordinates.)390 5052
+(ulti-slabs)h(of)g(regular)f(co)s(ordinates.)390 1216
y Fy(ncra)47 b(-O)g(-X)g(0.,180.,-30.,30.)c(-X)48 b(270.,315.,45.,90.)
-43 b(in.nc)j(out.nc)275 5230 y FD(The)20 b(argumen)m(ts)h(to)g(`)p
+43 b(in.nc)j(out.nc)275 1376 y FD(The)20 b(argumen)m(ts)h(to)g(`)p
Fy(-X)p FD(')g(are)g(alw)m(a)m(ys)h(in)m(terpreted)f(as)g(\015oating)h
(p)s(oin)m(t)f(n)m(um)m(b)s(ers,)g(i.e.,)j(as)d(co)s(ordinate)150
-5340 y(v)-5 b(alues)29 b(rather)g(than)f(dimension)h(indices)g(so)g
+1485 y(v)-5 b(alues)29 b(rather)g(than)f(dimension)h(indices)g(so)g
(that)g(these)g(t)m(w)m(o)h(commands)f(pro)s(duce)f(iden)m(tical)i
-(results)p eop end
-%%Page: 66 72
-TeXDict begin 66 71 bop 150 -116 a FD(66)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncra)47 b(-X)g(0.,180.,-30.,30.)
-c(in.nc)k(out.nc)390 408 y(ncra)g(-X)g(0,180,-30,30)d(in.nc)j(out.nc)
-275 572 y FD(In)38 b(con)m(trast,)k(argumen)m(ts)d(to)h(`)p
+(results)390 1645 y Fy(ncra)47 b(-X)g(0.,180.,-30.,30.)c(in.nc)k
+(out.nc)390 1755 y(ncra)g(-X)g(0,180,-30,30)d(in.nc)j(out.nc)275
+1914 y FD(In)38 b(con)m(trast,)k(argumen)m(ts)d(to)h(`)p
Fy(-d)p FD(')e(require)h(decimal)h(places)f(to)h(b)s(e)e(recognized)i
-(as)f(co)s(ordinates)150 682 y(not)32 b(indices)h(\(see)g(Section)g
+(as)f(co)s(ordinates)150 2024 y(not)32 b(indices)h(\(see)g(Section)g
(3.15)h([Hyp)s(erslabs],)e(page)h(55\).)47 b(W)-8 b(e)34
-b(recommend)e(alw)m(a)m(ys)h(using)f(decimal)150 791
+b(recommend)e(alw)m(a)m(ys)h(using)f(decimal)150 2133
y(p)s(oin)m(ts)e(with)g(`)p Fy(-X)p FD(')h(argumen)m(ts)f(to)h(a)m(v)m
-(oid)h(confusion.)150 1036 y FB(3.22)68 b(UDUnits)46
-b(Supp)t(ort)150 1170 y Fk(\013)p 200 1170 3554 4 v 3553
-w(\010)p 150 1769 4 552 v 178 1306 a FD(Av)-5 b(ailabilit)m(y:)43
+(oid)h(confusion.)150 2367 y FB(3.22)68 b(UDUnits)46
+b(Supp)t(ort)150 2500 y Fk(\013)p 200 2500 3554 4 v 3553
+w(\010)p 150 3100 4 552 v 178 2637 a FD(Av)-5 b(ailabilit)m(y:)43
b Fy(ncbo)p FD(,)30 b Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g
Fy(ncflint)p FD(,)g Fy(ncks)p FD(,)g Fy(ncpdq)p FD(,)h
-Fy(ncra)p FD(,)f Fy(ncrcat)p FD(,)g Fy(ncwa)178 1415
+Fy(ncra)p FD(,)f Fy(ncrcat)p FD(,)g Fy(ncwa)178 2746
y FD(Short)h(options:)41 b(`)p Fy(-d)30 b Fn(dim)p Fy(,[)p
Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p Fn(strid)o(e)p
-Fy(]]])o FD(')178 1525 y(Long)h(options:)41 b(`)p Fy(--dimension)27
+Fy(]]])o FD(')178 2856 y(Long)h(options:)41 b(`)p Fy(--dimension)27
b Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
-Fn(stride)p Fy(])o(]])p FD(',)178 1635 y(`)p Fy(--dmn)i
+Fn(stride)p Fy(])o(]])p FD(',)178 2965 y(`)p Fy(--dmn)i
Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
-Fn(stride)p Fy(])o(]])p FD(')p 3803 1769 V 150 1821 a
-Fk(\012)p 200 1821 3554 4 v 3553 w(\011)275 2000 y FD(There)i(is)h
+Fn(stride)p Fy(])o(]])p FD(')p 3803 3100 V 150 3151 a
+Fk(\012)p 200 3151 3554 4 v 3553 w(\011)275 3327 y FD(There)i(is)h
(more)g(than)g(one)g(w)m(a)m(y)h(to)g(h)m(yp)s(erskin)d(a)j(cat.)46
b(The)32 b(UDUnits)h(\()p Fy(http:)q(/)q(/)q(www)q(.)q(unidata)q(.)150
-2110 y(ucar)t(.)s(edu)t(/)s(packages)t(/)s(uduni)o(ts)p
+3436 y(ucar)t(.)s(edu)t(/)s(packages)t(/)s(uduni)o(ts)p
FD(\))c(pac)m(k)-5 b(age)37 b(pro)m(vides)e(a)h(library)f(whic)m(h,)h
-(if)f(presen)m(t,)i FC(NCO)e FD(uses)f(to)150 2219 y(translate)g
+(if)f(presen)m(t,)i FC(NCO)e FD(uses)f(to)150 3546 y(translate)g
(user-sp)s(eci\014ed)f(ph)m(ysical)g(dimensions)g(in)m(to)h(the)f(ph)m
-(ysical)h(dimensions)f(of)g(data)h(stored)f(in)150 2329
+(ysical)h(dimensions)f(of)g(data)h(stored)f(in)150 3656
y(netCDF)d(\014les.)40 b(Unidata)29 b(pro)m(vides)g(UDUnits)h(under)d
(the)i(same)g(terms)g(as)g(netCDF,)h(so)f(sites)h(should)150
-2438 y(install)h(b)s(oth.)40 b(Compiling)31 b FC(NCO)f
+3765 y(install)h(b)s(oth.)40 b(Compiling)31 b FC(NCO)f
FD(with)g(UDUnits)h(supp)s(ort)e(is)h(curren)m(tly)g(optional)i(but)e
-(ma)m(y)h(b)s(ecome)150 2548 y(required)f(in)g(a)g(future)g(v)m(ersion)
-h(of)f FC(NCO)p FD(.)275 2712 y(Tw)m(o)35 b(examples)i(su\016ce)e(to)i
+(ma)m(y)h(b)s(ecome)150 3875 y(required)f(in)g(a)g(future)g(v)m(ersion)
+h(of)f FC(NCO)p FD(.)275 4034 y(Tw)m(o)35 b(examples)i(su\016ce)e(to)i
(demonstrate)f(the)g(p)s(o)m(w)m(er)g(and)f(con)m(v)m(enience)j(of)e
-(UDUnits)g(supp)s(ort.)150 2821 y(First,)48 b(consider)c(extraction)i
+(UDUnits)g(supp)s(ort.)150 4144 y(First,)48 b(consider)c(extraction)i
(of)e(a)h(v)-5 b(ariable)44 b(con)m(taining)i(non-record)e(co)s
-(ordinates)h(with)e(ph)m(ysical)150 2931 y(dimensions)23
+(ordinates)h(with)e(ph)m(ysical)150 4254 y(dimensions)23
b(stored)i(in)e(MKS)h(units.)38 b(In)23 b(the)i(follo)m(wing)g
(example,)i(the)d(user)f(extracts)j(all)f(w)m(a)m(v)m(elengths)150
-3040 y(in)32 b(the)h(visible)g(p)s(ortion)g(of)g(the)g(sp)s(ectrum)e
+4363 y(in)32 b(the)h(visible)g(p)s(ortion)g(of)g(the)g(sp)s(ectrum)e
(in)i(terms)f(of)h(the)g(units)f(v)m(ery)h(frequen)m(tly)g(used)f(in)g
-(visible)150 3150 y(sp)s(ectroscop)m(y)-8 b(,)32 b(microns:)390
-3313 y Fy(\045)47 b(ncks)g(-C)g(-H)g(-v)h(wvl)f(-d)g(wvl,"0.4)e
-(micron","0.7)g(micron")h(in.nc)390 3423 y(wvl[0]=5e-07)e(meter)150
-3587 y FD(The)36 b(h)m(yp)s(erslab)g(returns)g(the)h(correct)h(v)-5
+(visible)150 4473 y(sp)s(ectroscop)m(y)-8 b(,)32 b(microns:)390
+4632 y Fy(\045)47 b(ncks)g(-C)g(-H)g(-v)h(wvl)f(-d)g(wvl,"0.4)e
+(micron","0.7)g(micron")h(in.nc)390 4742 y(wvl[0]=5e-07)e(meter)150
+4902 y FD(The)36 b(h)m(yp)s(erslab)g(returns)g(the)h(correct)h(v)-5
b(alues)37 b(b)s(ecause)g(the)g Fz(wvl)j FD(v)-5 b(ariable)38
-b(is)f(stored)g(on)g(disk)f(with)150 3696 y(a)45 b(length)h(dimension)e
+b(is)f(stored)g(on)g(disk)f(with)150 5011 y(a)45 b(length)h(dimension)e
(that)h(UDUnits)h(recognizes)h(in)d(the)h Fy(units)f
-FD(attribute.)85 b(The)44 b(automagical)150 3806 y(algorithm)h(that)f
+FD(attribute.)85 b(The)44 b(automagical)150 5121 y(algorithm)h(that)f
(implemen)m(ts)g(this)g(functionalit)m(y)h(is)f(w)m(orth)g(describing)f
-(since)h(understanding)e(it)150 3915 y(helps)36 b(one)h(a)m(v)m(oid)i
+(since)h(understanding)e(it)150 5230 y(helps)36 b(one)h(a)m(v)m(oid)i
(some)e(p)s(oten)m(tial)h(pitfalls.)61 b(First,)39 b(the)e(user)f
(includes)g(the)h(ph)m(ysical)h(units)e(of)h(the)150
-4025 y(h)m(yp)s(erslab)23 b(dimensions)h(she)g(supplies,)h(separated)g
+5340 y(h)m(yp)s(erslab)23 b(dimensions)h(she)g(supplies,)h(separated)g
(b)m(y)g(a)g(simple)f(space)h(from)f(the)h(n)m(umerical)g(v)-5
-b(alues)25 b(of)150 4134 y(the)k(h)m(yp)s(erslab)g(limits.)41
-b(She)28 b(encloses)j(eac)m(h)f(co)s(ordinate)g(sp)s(eci\014cations)g
-(in)f(quotes)h(so)f(that)h(the)g(shell)150 4244 y(do)s(es)h(not)g
-(break)g(the)g Fo(value-sp)-5 b(ac)g(e-unit)40 b FD(string)31
-b(in)m(to)h(separate)g(argumen)m(ts)g(b)s(efore)e(passing)h(them)g(to)
-150 4354 y FC(NCO)p FD(.)57 b(Double)36 b(quotes)h(\()p
-Fy(")p Fn(foo)p Fy(")p FD(\))e(or)h(single)g(quotes)h(\()p
-Fn('foo')p FD(\))e(are)h(equally)h(v)-5 b(alid)36 b(for)g(this)f(purp)s
-(ose.)150 4463 y(Second,)23 b FC(NCO)f FD(recognizes)h(that)f(units)f
-(translation)i(is)f(requested)f(b)s(ecause)h(eac)m(h)h(h)m(yp)s(erslab)
-d(argumen)m(t)150 4573 y(con)m(tains)31 b(text)f(c)m(haracters)h(and)e
-(non-initial)i(spaces.)41 b(Third,)28 b FC(NCO)i FD(determines)f
-(whether)g(the)h Fz(wvl)j FD(is)150 4682 y(dimensioned)24
-b(with)h(a)g(co)s(ordinate)h(v)-5 b(ariable)25 b(that)h(has)e(a)i
-Fy(units)d FD(attribute.)40 b(In)24 b(this)h(case,)i
-Fz(wvl)h FD(itself)e(is)150 4792 y(a)31 b(co)s(ordinate)g(v)-5
-b(ariable.)41 b(The)30 b(v)-5 b(alue)31 b(of)f(its)h
-Fy(units)d FD(attribute)j(is)g Fy(meter)p FD(.)39 b(Th)m(us)29
-b Fz(wvl)34 b FD(passes)c(this)g(test)150 4902 y(so)25
-b(UDUnits)g(con)m(v)m(ersion)h(is)e(attempted.)40 b(If)24
-b(the)h(co)s(ordinate)g(asso)s(ciated)h(with)e(the)h(v)-5
-b(ariable)25 b(do)s(es)g(not)150 5011 y(con)m(tain)31
+b(alues)25 b(of)p eop end
+%%Page: 67 73
+TeXDict begin 67 72 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(67)150 299 y(the)29
+b(h)m(yp)s(erslab)g(limits.)41 b(She)28 b(encloses)j(eac)m(h)f(co)s
+(ordinate)g(sp)s(eci\014cations)g(in)f(quotes)h(so)f(that)h(the)g
+(shell)150 408 y(do)s(es)h(not)g(break)g(the)g Fo(value-sp)-5
+b(ac)g(e-unit)40 b FD(string)31 b(in)m(to)h(separate)g(argumen)m(ts)g
+(b)s(efore)e(passing)h(them)g(to)150 518 y FC(NCO)p FD(.)57
+b(Double)36 b(quotes)h(\()p Fy(")p Fn(foo)p Fy(")p FD(\))e(or)h(single)
+g(quotes)h(\()p Fn('foo')p FD(\))e(are)h(equally)h(v)-5
+b(alid)36 b(for)g(this)f(purp)s(ose.)150 628 y(Second,)23
+b FC(NCO)f FD(recognizes)h(that)f(units)f(translation)i(is)f(requested)
+f(b)s(ecause)h(eac)m(h)h(h)m(yp)s(erslab)d(argumen)m(t)150
+737 y(con)m(tains)31 b(text)f(c)m(haracters)h(and)e(non-initial)i
+(spaces.)41 b(Third,)28 b FC(NCO)i FD(determines)f(whether)g(the)h
+Fz(wvl)j FD(is)150 847 y(dimensioned)24 b(with)h(a)g(co)s(ordinate)h(v)
+-5 b(ariable)25 b(that)h(has)e(a)i Fy(units)d FD(attribute.)40
+b(In)24 b(this)h(case,)i Fz(wvl)h FD(itself)e(is)150
+956 y(a)31 b(co)s(ordinate)g(v)-5 b(ariable.)41 b(The)30
+b(v)-5 b(alue)31 b(of)f(its)h Fy(units)d FD(attribute)j(is)g
+Fy(meter)p FD(.)39 b(Th)m(us)29 b Fz(wvl)34 b FD(passes)c(this)g(test)
+150 1066 y(so)25 b(UDUnits)g(con)m(v)m(ersion)h(is)e(attempted.)40
+b(If)24 b(the)h(co)s(ordinate)g(asso)s(ciated)h(with)e(the)h(v)-5
+b(ariable)25 b(do)s(es)g(not)150 1176 y(con)m(tain)31
b(a)f Fy(units)e FD(attribute,)j(then)e FC(NCO)g FD(ab)s(orts.)40
b(F)-8 b(ourth,)30 b FC(NCO)g FD(passes)f(the)h(sp)s(eci\014ed)f(and)f
-(desired)150 5121 y(dimension)34 b(strings)h(\(microns)g(are)g(sp)s
+(desired)150 1285 y(dimension)34 b(strings)h(\(microns)g(are)g(sp)s
(eci\014ed)f(b)m(y)h(the)g(user,)h(meters)f(are)g(required)f(b)m(y)h
-FC(NCO)p FD(\))g(to)h(the)150 5230 y(UDUnits)e(library)-8
+FC(NCO)p FD(\))g(to)h(the)150 1395 y(UDUnits)e(library)-8
b(.)51 b(Fifth,)35 b(the)f(UDUnits)g(library)g(that)g(these)g
-(dimension)f(are)h(commensurate)h(and)150 5340 y(it)30
+(dimension)f(are)h(commensurate)h(and)150 1504 y(it)30
b(returns)e(the)i(appropriate)f(linear)h(scaling)g(factors)h(to)f(con)m
(v)m(ert)h(from)e(microns)g(to)h(meters)g(to)g FC(NCO)p
-FD(.)p eop end
-%%Page: 67 73
-TeXDict begin 67 72 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(67)150 299 y(If)27 b(the)g(units)g
-(are)g(incommensurate)h(\(i.e.,)h(not)f(expressible)f(in)g(the)g(same)h
-(fundamen)m(tal)f(MKS)g(units\),)150 408 y(or)41 b(are)h(not)f(listed)h
-(in)f(the)g(UDUnits)h(database,)j(then)c(NCO)f(ab)s(orts)h(since)g(it)h
-(cannot)g(determine)150 518 y(the)37 b(user's)f(in)m(ten)m(t.)61
-b(Finally)-8 b(,)39 b FC(NCO)e FD(uses)f(the)h(scaling)h(information)f
-(to)g(con)m(v)m(ert)h(the)f(user-sp)s(eci\014ed)150 628
-y(h)m(yp)s(erslab)22 b(limits)i(in)m(to)h(the)e(same)h(ph)m(ysical)g
-(dimensions)e(as)i(those)g(of)f(the)h(corresp)s(onding)e(co)s
-(oridinate)150 737 y(v)-5 b(ariable)36 b(on)f(disk.)56
-b(A)m(t)36 b(this)f(p)s(oin)m(t,)i FC(NCO)e FD(can)h(p)s(erform)e(a)i
-(co)s(ordinate)g(h)m(yp)s(erslab)e(using)h(the)h(same)150
-847 y(algorithm)31 b(as)g(if)f(the)h(user)f(had)f(sp)s(eci\014ed)h(the)
-h(h)m(yp)s(erslab)e(without)h(requesting)h(units)f(con)m(v)m(ersion.)
-275 1017 y(The)d(translation)i(and)e(dimensional)h(inn)m(terpretation)g
-(of)g(time)h(co)s(ordinates)f(sho)m(ws)g(a)g(more)g(p)s(o)m(w-)150
-1127 y(erful,)d(and)e(probably)g(more)h(common,)i(UDUnits)f
+FD(.)150 1614 y(If)d(the)g(units)g(are)g(incommensurate)h(\(i.e.,)h
+(not)f(expressible)f(in)g(the)g(same)h(fundamen)m(tal)f(MKS)g(units\),)
+150 1724 y(or)41 b(are)h(not)f(listed)h(in)f(the)g(UDUnits)h(database,)
+j(then)c(NCO)f(ab)s(orts)h(since)g(it)h(cannot)g(determine)150
+1833 y(the)37 b(user's)f(in)m(ten)m(t.)61 b(Finally)-8
+b(,)39 b FC(NCO)e FD(uses)f(the)h(scaling)h(information)f(to)g(con)m(v)
+m(ert)h(the)f(user-sp)s(eci\014ed)150 1943 y(h)m(yp)s(erslab)22
+b(limits)i(in)m(to)h(the)e(same)h(ph)m(ysical)g(dimensions)e(as)i
+(those)g(of)f(the)h(corresp)s(onding)e(co)s(oridinate)150
+2052 y(v)-5 b(ariable)36 b(on)f(disk.)56 b(A)m(t)36 b(this)f(p)s(oin)m
+(t,)i FC(NCO)e FD(can)h(p)s(erform)e(a)i(co)s(ordinate)g(h)m(yp)s
+(erslab)e(using)h(the)h(same)150 2162 y(algorithm)31
+b(as)g(if)f(the)h(user)f(had)f(sp)s(eci\014ed)h(the)h(h)m(yp)s(erslab)e
+(without)h(requesting)h(units)f(con)m(v)m(ersion.)275
+2363 y(The)d(translation)i(and)e(dimensional)h(inn)m(terpretation)g(of)
+g(time)h(co)s(ordinates)f(sho)m(ws)g(a)g(more)g(p)s(o)m(w-)150
+2472 y(erful,)d(and)e(probably)g(more)h(common,)i(UDUnits)f
(application.)39 b(In)24 b(this)f(example,)j(the)f(user)e(prin)m(ts)g
-(all)150 1236 y(data)29 b(b)s(et)m(w)m(een)f(4)j(PM)d(and)f(7)k(PM)d
+(all)150 2582 y(data)29 b(b)s(et)m(w)m(een)f(4)j(PM)d(and)f(7)k(PM)d
(on)f(Decem)m(b)s(er)32 b(8,)d(1999,)h(from)d(a)i(v)-5
-b(ariable)28 b(whose)g(time)h(dimension)150 1346 y(is)h(hours)g(since)g
-(the)h(y)m(ear)g(1900:)390 1517 y Fy(\045)47 b(ncks)g(-u)g(-H)g(-C)h
+b(ariable)28 b(whose)g(time)h(dimension)150 2692 y(is)h(hours)g(since)g
+(the)h(y)m(ear)g(1900:)390 2892 y Fy(\045)47 b(ncks)g(-u)g(-H)g(-C)h
(-v)f(time_udunits)d(-d)j(time_udunits,"1999-12-08)42
-b(\\)485 1626 y(16:00:0.0","1999-12-08)g(19:00:0.0")j(in.nc)390
-1736 y(time_udunits[1]=876018)d(hours)k(since)g(1900-01-01)f(00:00:0.0)
-150 1906 y FD(Here,)23 b(the)e(user)f(in)m(v)m(ok)m(es)i(the)f(stride)g
-(\(see)g(Section)g(3.16)i([Stride],)f(page)g(56\))f(capabilit)m(y)i(to)
-e(obtain)g(ev)m(ery)150 2016 y(other)31 b(timeslice.)42
+b(\\)485 3002 y(16:00:0.0","1999-12-08)g(19:00:0.0")j(in.nc)390
+3112 y(time_udunits[1]=876018)d(hours)k(since)g(1900-01-01)f(00:00:0.0)
+150 3313 y FD(Here,)23 b(the)e(user)f(in)m(v)m(ok)m(es)i(the)f(stride)g
+(\(see)g(Section)g(3.16)i([Stride],)f(page)g(57\))f(capabilit)m(y)i(to)
+e(obtain)g(ev)m(ery)150 3422 y(other)31 b(timeslice.)42
b(This)30 b(is)g(p)s(ossible)g(b)s(ecause)h(the)f(UDUnits)h(feature)g
-(is)g(additiv)m(e,)g(not)g(exclusiv)m(e|it)150 2125 y(w)m(orks)g(in)h
+(is)g(additiv)m(e,)g(not)g(exclusiv)m(e|it)150 3532 y(w)m(orks)g(in)h
(conjunction)f(with)g(all)i(other)e(h)m(yp)s(erslabbing)f(\(see)j
(Section)f(3.15)h([Hyp)s(erslabs],)f(page)g(55\))150
-2235 y(options)38 b(and)f(in)h(all)g(op)s(erators)g(whic)m(h)g(supp)s
+3641 y(options)38 b(and)f(in)h(all)g(op)s(erators)g(whic)m(h)g(supp)s
(ort)e(h)m(yp)s(erslabbing.)61 b(The)38 b(follo)m(wing)h(example)f(sho)
-m(ws)150 2345 y(ho)m(w)30 b(one)h(migh)m(t)g(a)m(v)m(erage)i(data)e(in)
+m(ws)150 3751 y(ho)m(w)30 b(one)h(migh)m(t)g(a)m(v)m(erage)i(data)e(in)
f(a)h(time)g(p)s(erio)s(d)e(spread)h(across)h(m)m(ultiple)g(input)e
-(\014les)390 2515 y Fy(ncra)47 b(-d)g(time,"1939-09-09)c
-(12:00:0.0","1945-05-08)f(00:00:0.0")j(\\)485 2625 y(in1.nc)i(in2.nc)f
-(in3.nc)g(out.nc)150 2795 y FD(Note)34 b(that)g(there)g(is)f(no)g
+(\014les)390 3952 y Fy(ncra)47 b(-d)g(time,"1939-09-09)c
+(12:00:0.0","1945-05-08)f(00:00:0.0")j(\\)485 4061 y(in1.nc)i(in2.nc)f
+(in3.nc)g(out.nc)150 4262 y FD(Note)34 b(that)g(there)g(is)f(no)g
(excess)h(whitespace)g(b)s(efore)e(or)h(after)h(the)f(individual)g
-(elemen)m(ts)h(of)g(the)f(`)p Fy(-d)p FD(')150 2905 y(argumen)m(t.)40
+(elemen)m(ts)h(of)g(the)f(`)p Fy(-d)p FD(')150 4372 y(argumen)m(t.)40
b(This)27 b(is)g(imp)s(ortan)m(t)g(since,)i(as)e(far)h(as)f(the)h
(shell)f(kno)m(ws,)h(`)p Fy(-d)p FD(')f(tak)m(es)i(only)e
-Fo(one)35 b FD(command-)150 3014 y(line)26 b(argumen)m(t.)39
+Fo(one)35 b FD(command-)150 4482 y(line)26 b(argumen)m(t.)39
b(P)m(arsing)26 b(this)f(argumen)m(t)g(in)m(to)i(its)e(comp)s(onen)m(t)
h Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
-Fn(stri)o(de)p Fy(]])o(])150 3124 y FD(elemen)m(ts)47
+Fn(stri)o(de)p Fy(]])o(])150 4591 y FD(elemen)m(ts)47
b(\(see)f(Section)g(3.15)h([Hyp)s(erslabs],)i(page)d(55\))h(is)e(the)h
(job)f(of)g FC(NCO)p FD(.)86 b(When)45 b(unquoted)150
-3233 y(whitespace)40 b(is)f(presen)m(t)g(b)s(et)m(w)m(een)h(these)g
+4701 y(whitespace)40 b(is)f(presen)m(t)g(b)s(et)m(w)m(een)h(these)g
(elemen)m(ts,)j(the)c(shell)h(passes)f FC(NCO)g FD(arugmen)m(t)g
-(fragmen)m(ts)150 3343 y(whic)m(h)30 b(will)h(not)f(parse)h(as)f(in)m
-(tended.)275 3513 y FC(NCO)h FD(implemen)m(ted)h(supp)s(ort)d(for)i
+(fragmen)m(ts)150 4810 y(whic)m(h)30 b(will)h(not)f(parse)h(as)f(in)m
+(tended.)275 5011 y FC(NCO)h FD(implemen)m(ted)h(supp)s(ort)d(for)i
(the)h(UDUnits2)g(library)f(with)h(v)m(ersion)f(3.9.2)j(\(August,)e
-(2007\).)150 3623 y(The)53 b(UDUnits2)i(\()p Fy(http:)19
+(2007\).)150 5121 y(The)53 b(UDUnits2)i(\()p Fy(http:)19
b(/)g(/)c(www)j(.)d(unidata)i(.)e(ucar)i(.)e(edu)j(/)d(software)i(/)e
-(udunits)i(/)e(udunits-2)h(/)150 3733 y(udunits2)7 b(.)f(html)p
+(udunits)i(/)e(udunits-2)h(/)150 5230 y(udunits2)7 b(.)f(html)p
FD(\))36 b(pac)m(k)-5 b(age)42 b(supp)s(orts)37 b(non-ASCI)s(I)h(c)m
(haracters)j(and)e(logarithmic)i(units.)67 b(W)-8 b(e)41
-b(are)150 3842 y(in)m(terested)31 b(in)f(user-feedbac)m(k)h(on)g(these)
-f(features.)275 4013 y(One)35 b(asp)s(ect)h(that)h(deserv)m(es)f(men)m
-(tion)g(is)g(that)g(UDUnits,)j(and)c(th)m(us)g FC(NCO)p
-FD(,)i(supp)s(orts)d(run-time)150 4122 y(de\014nition)42
+b(are)150 5340 y(in)m(terested)31 b(in)f(user-feedbac)m(k)h(on)g(these)
+f(features.)p eop end
+%%Page: 68 74
+TeXDict begin 68 73 bop 150 -116 a FD(68)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(One)35 b(asp)s(ect)h(that)h(deserv)
+m(es)f(men)m(tion)g(is)g(that)g(UDUnits,)j(and)c(th)m(us)g
+FC(NCO)p FD(,)i(supp)s(orts)d(run-time)150 408 y(de\014nition)42
b(of)g(the)h(lo)s(cation)h(of)e(the)h(relev)-5 b(an)m(t)43
b(UDUnits)g(databases.)78 b(With)42 b(UDUnits)h(v)m(ersion)31
-b(1)q(,)150 4232 y(users)36 b(ma)m(y)h(sp)s(ecify)f(the)g(directory)h
+b(1)q(,)150 518 y(users)36 b(ma)m(y)h(sp)s(ecify)f(the)g(directory)h
(whic)m(h)g(con)m(tains)g(the)g(UDUnits)g(database,)i
-Fy(udunits.dat)p FD(,)c(via)150 4341 y(the)g Fy(UDUNITS_PATH)d
+Fy(udunits.dat)p FD(,)c(via)150 628 y(the)g Fy(UDUNITS_PATH)d
FD(en)m(vironmen)m(t)k(v)-5 b(ariable.)57 b(With)35 b(UDUnits)h(v)m
(ersion)31 b(2)q(,)36 b(users)f(ma)m(y)h(sp)s(ecify)f(the)150
-4451 y(UDUnits)27 b(database)h(\014le)f(itself,)h Fy(udunits2.xml)p
+737 y(UDUnits)27 b(database)h(\014le)f(itself,)h Fy(udunits2.xml)p
FD(,)c(via)k(the)e Fy(UDUNITS2_XML_PATH)c FD(en)m(vironmen)m(t)27
-b(v)-5 b(ari-)150 4561 y(able.)390 4731 y Fy(#)47 b(UDUnits1)390
-4841 y(export)f(UDUNITS_PATH='/unusual/lo)o(cat)o(ion/)o(shar)o(e/u)o
-(duni)o(ts')390 4950 y(#)h(UDUnits2)390 5060 y(export)f
+b(v)-5 b(ari-)150 847 y(able.)390 1010 y Fy(#)47 b(UDUnits1)390
+1120 y(export)f(UDUNITS_PATH='/unusual/lo)o(cat)o(ion/)o(shar)o(e/u)o
+(duni)o(ts')390 1230 y(#)h(UDUnits2)390 1339 y(export)f
(UDUNITS2_XML_PATH='/unusu)o(al/)o(loca)o(tion)o(/sh)o(are/)o(udun)o
-(its)o(/udu)o(nits)o(2.x)o(ml')275 5230 y FD(This)20
+(its)o(/udu)o(nits)o(2.x)o(ml')275 1503 y FD(This)20
b(run-time)h(\015exibilit)m(y)h(can)g(enable)f(the)h(full)f
(functionalit)m(y)h(of)g(pre-built)e(binaries)h(on)g(mac)m(hines)150
-5340 y(with)30 b(libraries)h(in)f(di\013eren)m(t)g(lo)s(cations.)p
-eop end
-%%Page: 68 74
-TeXDict begin 68 73 bop 150 -116 a FD(68)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)24 b(UDUnits)i(\()p
-Fy(http://www.unidata.ucar.edu)o(/pac)o(kag)o(es/u)o(duni)o(ts)p
-FD(\))19 b(pac)m(k)-5 b(age)28 b(do)s(cumen-)150 408
-y(tation)35 b(describ)s(es)e(the)g(supp)s(orted)f(formats)i(of)f(time)h
-(dimensions.)50 b(Among)34 b(the)f(metadata)i(con)m(v)m(en-)150
-518 y(tions)24 b(that)g(adhere)f(to)i(these)f(formats)f(are)h(the)g
-(Climate)h(and)e(F)-8 b(orecast)26 b(\(CF\))e(Con)m(v)m(en)m(tions)h
-(\()p Fy(http://)150 628 y(cf-pcmdi)14 b(.)e(llnl)i(.)e(gov)p
-FD(\))49 b(and)g(the)h(Co)s(op)s(erativ)m(e)h(Ocean/A)m(tmosphere)g
-(Researc)m(h)f(Data)h(Service)150 737 y(\(CO)m(ARDS\))22
-b(Con)m(v)m(en)m(tions)g(\()p Fy(http://ferret.wrc.noaa.gov/)o(noaa)o
-(_co)o(op/c)o(oop_)o(cdf)o(_pro)o(file)o(.)150 847 y(html)p
-FD(\).)52 b(The)33 b(follo)m(wing)j(`)p Fy(-d)30 b(arguments)p
-FD(')i(extract)k(the)e(same)h(data)g(using)f(commonly)g(encoun)m(tered)
-150 956 y(time)d(dimension)f(formats:)390 1116 y Fy(-d)47
-b(time,'1918-11-11)d(00:00:0.0','1939-09-09)d(00:00:0.0')390
-1226 y(-d)47 b(time,'1918-11-11)d(00:00:0.0','1939-09-09)d(00:00:0.0')
-390 1336 y(-d)47 b(time,'1918-11-11T00:00:0.)o(0Z',)o('19)o(39-0)o
-(9-09)o(T00)o(:00:)o(0.0Z)o(')390 1445 y(-d)g
-(time,'1918-11-11','1939-0)o(9-09)o(')390 1555 y(-d)g
-(time,'1918-11-11','1939-9)o(-9')150 1715 y FD(All)30
-b(of)f(these)h(formats)f(include)g(at)h(least)g(one)g(dash)e
-Fn(-)h FD(in)g(a)g(non-leading)h(c)m(haracter)h(p)s(osition)e(\(a)h
-(dash)150 1824 y(in)37 b(a)h(leading)h(c)m(haracter)g(p)s(osition)e(is)
+1613 y(with)30 b(libraries)h(in)f(di\013eren)m(t)g(lo)s(cations.)275
+1776 y(The)24 b(UDUnits)i(\()p Fy(http://www.unidata.ucar.edu)o(/pac)o
+(kag)o(es/u)o(duni)o(ts)p FD(\))19 b(pac)m(k)-5 b(age)28
+b(do)s(cumen-)150 1886 y(tation)35 b(describ)s(es)e(the)g(supp)s(orted)
+f(formats)i(of)f(time)h(dimensions.)50 b(Among)34 b(the)f(metadata)i
+(con)m(v)m(en-)150 1995 y(tions)24 b(that)g(adhere)f(to)i(these)f
+(formats)f(are)h(the)g(Climate)h(and)e(F)-8 b(orecast)26
+b(\(CF\))e(Con)m(v)m(en)m(tions)h(\()p Fy(http://)150
+2105 y(cf-pcmdi)14 b(.)e(llnl)i(.)e(gov)p FD(\))49 b(and)g(the)h(Co)s
+(op)s(erativ)m(e)h(Ocean/A)m(tmosphere)g(Researc)m(h)f(Data)h(Service)
+150 2215 y(\(CO)m(ARDS\))22 b(Con)m(v)m(en)m(tions)g(\()p
+Fy(http://ferret.wrc.noaa.gov/)o(noaa)o(_co)o(op/c)o(oop_)o(cdf)o(_pro)
+o(file)o(.)150 2324 y(html)p FD(\).)52 b(The)33 b(follo)m(wing)j(`)p
+Fy(-d)30 b(arguments)p FD(')i(extract)k(the)e(same)h(data)g(using)f
+(commonly)g(encoun)m(tered)150 2434 y(time)d(dimension)f(formats:)390
+2597 y Fy(-d)47 b(time,'1918-11-11)d(00:00:0.0','1939-09-09)d
+(00:00:0.0')390 2707 y(-d)47 b(time,'1918-11-11)d
+(00:00:0.0','1939-09-09)d(00:00:0.0')390 2817 y(-d)47
+b(time,'1918-11-11T00:00:0.)o(0Z',)o('19)o(39-0)o(9-09)o(T00)o(:00:)o
+(0.0Z)o(')390 2926 y(-d)g(time,'1918-11-11','1939-0)o(9-09)o(')390
+3036 y(-d)g(time,'1918-11-11','1939-9)o(-9')150 3199
+y FD(All)30 b(of)f(these)h(formats)f(include)g(at)h(least)g(one)g(dash)
+e Fn(-)h FD(in)g(a)g(non-leading)h(c)m(haracter)h(p)s(osition)e(\(a)h
+(dash)150 3309 y(in)37 b(a)h(leading)h(c)m(haracter)g(p)s(osition)e(is)
h(a)g(negativ)m(e)i(sign\).)62 b FC(NCO)38 b FD(assumes)f(that)h(a)g
-(space,)i(colon,)h(or)150 1934 y(non-leading)34 b(dash)f(in)g(a)h
+(space,)i(colon,)h(or)150 3419 y(non-leading)34 b(dash)f(in)g(a)h
(limit)g(string)g(indicates)g(that)g(a)g(UDUnits)g(units)f(con)m(v)m
-(ersion)i(is)f(requested.)150 2044 y(Some)j(date)h(formats)g(lik)m(e)g
+(ersion)i(is)f(requested.)150 3528 y(Some)j(date)h(formats)g(lik)m(e)g
(YYYYMMDD)h(that)f(are)g(v)-5 b(alid)37 b(in)g(UDUnits)h(are)g(am)m
-(biguous)f(to)h FC(NCO)150 2153 y FD(b)s(ecause)31 b(it)g(cannot)h
+(biguous)f(to)h FC(NCO)150 3638 y FD(b)s(ecause)31 b(it)g(cannot)h
(distinguish)e(a)h(purely)f(n)m(umerical)i(date)f(\(i.e.,)i(no)e
-(dashes)f(or)h(text)h(c)m(haracters)g(in)150 2263 y(it\))f(from)f(a)h
-(co)s(ordinate)g(or)g(index)e(v)-5 b(alue:)390 2423 y
+(dashes)f(or)h(text)h(c)m(haracters)g(in)150 3747 y(it\))f(from)f(a)h
+(co)s(ordinate)g(or)g(index)e(v)-5 b(alue:)390 3911 y
Fy(-d)47 b(time,1918-11-11)d(#)j(Interpreted)e(as)i(the)g(date)g
-(November)e(11,)i(1918)390 2533 y(-d)g(time,19181111)140
+(November)e(11,)i(1918)390 4021 y(-d)g(time,19181111)140
b(#)47 b(Interpreted)e(as)i(time-dimension)d(index)i(19181111)390
-2642 y(-d)h(time,19181111.)92 b(#)47 b(Interpreted)e(as)i
-(time-coordinate)d(value)i(19181111.0)275 2802 y FD(Hence,)31
+4130 y(-d)h(time,19181111.)92 b(#)47 b(Interpreted)e(as)i
+(time-coordinate)d(value)i(19181111.0)275 4294 y FD(Hence,)31
b(use)f(the)h(YYYY-MM-DD)i(format)e(rather)f(than)g(YYYYMMDD)i(for)f
-(dates.)150 2962 y(As)26 b(of)f(v)m(ersion)h(4.0.0)i(\(Jan)m(uary)-8
+(dates.)150 4458 y(As)26 b(of)f(v)m(ersion)h(4.0.0)i(\(Jan)m(uary)-8
b(,)27 b(2010\),)i FC(NCO)c FD(supp)s(orts)f(some)i(calendar)g
-(attributes)g(sp)s(eci\014ed)f(b)m(y)h(the)150 3072 y
-FC(CF)k FD(con)m(v)m(en)m(tions.)150 3257 y Fq(Supp)s(orted)f(t)m(yp)s
-(es:)630 3367 y Fy(")p FD(365)p 819 3367 28 4 v 41 w(da)m(y)p
+(attributes)g(sp)s(eci\014ed)f(b)m(y)h(the)150 4567 y
+FC(CF)k FD(con)m(v)m(en)m(tions.)150 4760 y Fq(Supp)s(orted)f(t)m(yp)s
+(es:)630 4870 y Fy(")p FD(365)p 819 4870 28 4 v 41 w(da)m(y)p
Fy(")p FD(/)p Fy(")p FD(noleap)p Fy(")p FD(,)i Fy(")p
-FD(360)p 1686 3367 V 41 w(da)m(y)p Fy(")p FD(,)g Fy(")p
+FD(360)p 1686 4870 V 41 w(da)m(y)p Fy(")p FD(,)g Fy(")p
FD(gregorian)p Fy(")p FD(,)g Fy(")p FD(standard)p Fy(")150
-3528 y Fq(Unsupp)s(orted)d(t)m(yp)s(es:)630 3637 y Fy(")p
-FD(366)p 819 3637 V 41 w(da)m(y)p Fy(")p FD(/)p Fy(")p
-FD(all)p 1237 3637 V 41 w(leap)p Fy(")p FD(,)p Fy(")p
-FD(proleptic)p 1908 3637 V 41 w(gregorian)p Fy(")p FD(,)p
+5038 y Fq(Unsupp)s(orted)d(t)m(yp)s(es:)630 5147 y Fy(")p
+FD(366)p 819 5147 V 41 w(da)m(y)p Fy(")p FD(/)p Fy(")p
+FD(all)p 1237 5147 V 41 w(leap)p Fy(")p FD(,)p Fy(")p
+FD(proleptic)p 1908 5147 V 41 w(gregorian)p Fy(")p FD(,)p
Fy(")p FD(julian)p Fy(")p FD(,)p Fy(")p FD(none)p Fy(")275
-3823 y FD(Unsupp)s(orted)g(t)m(yp)s(es)i(default)h(to)g(mixed)f
-(Gregorian/Julian)i(as)e(de\014ned)f(b)m(y)i(UDUnits.)150
-3983 y(An)f(Example:)41 b(Consider)29 b(the)i(follo)m(wing)h(netCDF)f
-(v)-5 b(ariable)390 4143 y Fy(variables:)485 4253 y(double)47
-b(lon_cal\(lon_cal\))c(;)581 4362 y(lon_cal:long_name)g(=)k("lon_cal")f
-(;)581 4472 y(lon_cal:units)e(=)k("days)e(since)g(1964-2-28)g(0:0:0")g
-(;)581 4581 y(lon_cal:calendar)d(=)48 b("365_day")d(;)390
-4691 y(data:)485 4801 y(lon_cal)h(=)i(1,2,3,4,5,6,7,8,9,10;)275
-4961 y FD(`)p Fy(ncks)29 b(-v)h(lon_cal)e(-d)i(lon_cal,'1964-3-1)c
-(0:00:0.0','1964-3-4)f(00:00:0.0')p FD(')70 b(results)150
-5070 y(in)30 b Fy(lon_cal=1,2,3,4)p FD(.)275 5230 y(netCDF)j(v)-5
-b(ariables)34 b(should)e(alw)m(a)m(ys)j(b)s(e)d(stored)h(with)g(MKS)g
-(\(i.e.,)i(Go)s(d's\))e(units,)h(so)f(that)h(appli-)150
-5340 y(cation)g(programs)f(ma)m(y)g(assume)g(MKS)f(dimensions)g(apply)g
-(to)i(all)f(input)f(v)-5 b(ariables.)49 b(The)32 b(UDUnits)p
+5340 y FD(Unsupp)s(orted)g(t)m(yp)s(es)i(default)h(to)g(mixed)f
+(Gregorian/Julian)i(as)e(de\014ned)f(b)m(y)i(UDUnits.)p
eop end
%%Page: 69 75
TeXDict begin 69 74 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(69)150 299 y(feature)32
-b(is)g(in)m(tended)f(to)i(alleviate)h(some)e(of)g(the)g
-FC(NCO)f FD(user's)g(pain)g(when)g(handling)g(MKS)g(units.)44
-b(It)150 408 y(connects)38 b(users)e(who)g(think)h(in)f(h)m
-(uman-friendly)g(units)g(\(e.g.,)k(miles,)g(millibars,)e(da)m(ys\))g
-(to)f(extract)150 518 y(data)h(whic)m(h)g(are)g(alw)m(a)m(ys)h(stored)e
-(in)h(Go)s(d's)f(units,)i(MKS)e(\(e.g.,)42 b(meters,)e(P)m(ascals,)h
-(seconds\).)62 b(The)150 628 y(feature)35 b(is)f(not)h(in)m(tended)f
-(to)h(encourage)h(writers)e(to)h(store)g(data)g(in)f(esoteric)i(units)e
-(\(e.g.,)j(furlongs,)150 737 y(p)s(ounds)28 b(p)s(er)i(square)g(inc)m
-(h,)g(fortnigh)m(ts\).)150 1007 y FB(3.23)68 b(Rebasing)46
-b(Time)g(Co)t(ordinate)150 1141 y Fk(\013)p 200 1141
-3554 4 v 3553 w(\010)p 150 1412 4 223 v 178 1277 a FD(Av)-5
+b(NCO)30 b(F)-8 b(eatures)2475 b(69)150 299 y(An)30 b(Example:)41
+b(Consider)29 b(the)i(follo)m(wing)h(netCDF)f(v)-5 b(ariable)390
+463 y Fy(variables:)485 573 y(double)47 b(lon_cal\(lon_cal\))c(;)581
+682 y(lon_cal:long_name)g(=)k("lon_cal")f(;)581 792 y(lon_cal:units)e
+(=)k("days)e(since)g(1964-2-28)g(0:0:0")g(;)581 901 y(lon_cal:calendar)
+d(=)48 b("365_day")d(;)390 1011 y(data:)485 1121 y(lon_cal)h(=)i
+(1,2,3,4,5,6,7,8,9,10;)275 1285 y FD(`)p Fy(ncks)29 b(-v)h(lon_cal)e
+(-d)i(lon_cal,'1964-3-1)c(0:00:0.0','1964-3-4)f(00:00:0.0')p
+FD(')70 b(results)150 1394 y(in)30 b Fy(lon_cal=1,2,3,4)p
+FD(.)275 1559 y(netCDF)j(v)-5 b(ariables)34 b(should)e(alw)m(a)m(ys)j
+(b)s(e)d(stored)h(with)g(MKS)g(\(i.e.,)i(Go)s(d's\))e(units,)h(so)f
+(that)h(appli-)150 1668 y(cation)g(programs)f(ma)m(y)g(assume)g(MKS)f
+(dimensions)g(apply)g(to)i(all)f(input)f(v)-5 b(ariables.)49
+b(The)32 b(UDUnits)150 1778 y(feature)g(is)g(in)m(tended)f(to)i
+(alleviate)h(some)e(of)g(the)g FC(NCO)f FD(user's)g(pain)g(when)g
+(handling)g(MKS)g(units.)44 b(It)150 1887 y(connects)38
+b(users)e(who)g(think)h(in)f(h)m(uman-friendly)g(units)g(\(e.g.,)k
+(miles,)g(millibars,)e(da)m(ys\))g(to)f(extract)150 1997
+y(data)h(whic)m(h)g(are)g(alw)m(a)m(ys)h(stored)e(in)h(Go)s(d's)f
+(units,)i(MKS)e(\(e.g.,)42 b(meters,)e(P)m(ascals,)h(seconds\).)62
+b(The)150 2107 y(feature)35 b(is)f(not)h(in)m(tended)f(to)h(encourage)h
+(writers)e(to)h(store)g(data)g(in)f(esoteric)i(units)e(\(e.g.,)j
+(furlongs,)150 2216 y(p)s(ounds)28 b(p)s(er)i(square)g(inc)m(h,)g
+(fortnigh)m(ts\).)150 2463 y FB(3.23)68 b(Rebasing)46
+b(Time)g(Co)t(ordinate)150 2597 y Fk(\013)p 200 2597
+3554 4 v 3553 w(\010)p 150 2867 4 223 v 178 2733 a FD(Av)-5
b(ailabilit)m(y:)43 b Fy(ncra)p FD(,)30 b Fy(ncrcat)f
-FD(Short)g(options:)41 b(None)p 3803 1412 V 150 1463
-a Fk(\012)p 200 1463 3554 4 v 3553 w(\011)275 1646 y
+FD(Short)g(options:)41 b(None)p 3803 2867 V 150 2919
+a Fk(\012)p 200 2919 3554 4 v 3553 w(\011)275 3094 y
FD(Time)22 b(rebasing)g(is)g(in)m(v)m(ok)m(ed)h(when)e(n)m(umerous)g
(\014les)h(share)g(a)g(common)h(record)f(co)s(ordinate,)i(and)e(the)150
-1756 y(record)28 b(co)s(ordinate)h(units)f(c)m(hange)h(among)g(input)e
+3204 y(record)28 b(co)s(ordinate)h(units)f(c)m(hange)h(among)g(input)e
(\014les.)40 b(The)28 b(rebasing)g(is)g(p)s(erformed)f(automatically)
-150 1865 y(if)e(and)f(only)h(if)g(UDUnits)h(is)f(installed.)40
+150 3313 y(if)e(and)f(only)h(if)g(UDUnits)h(is)f(installed.)40
b(Usually)25 b(rebasing)g(o)s(ccurs)g(when)f(the)h(reco)s(ordinate)h
-(is)f(a)g(time-)150 1975 y(based)31 b(v)-5 b(ariable,)32
+(is)f(a)g(time-)150 3423 y(based)31 b(v)-5 b(ariable,)32
b(and)f(times)g(are)h(recorded)f(in)g(units)f(of)h(a)h
-(time-since-basetime,)i(and)d(the)g(basetime)150 2084
+(time-since-basetime,)i(and)d(the)g(basetime)150 3532
y(c)m(hanges)36 b(from)e(\014le)h(to)g(\014le.)54 b(Since)34
b(the)h(output)g(\014le)f(can)h(ha)m(v)m(e)h(only)f(one)g(unit)f
-(\(i.e.,)k(one)d(basetime\))150 2194 y(for)30 b(the)g(record)g(co)s
+(\(i.e.,)k(one)d(basetime\))150 3642 y(for)30 b(the)g(record)g(co)s
(ordinate,)i FC(NCO)p FD(,)e(in)g(suc)m(h)g(cases,)h(c)m(ho)s(oses)g
(the)f(units)g(of)g(the)h(\014rst)e(input)g(\014le)i(to)g(b)s(e)150
-2304 y(the)d(units)g(of)g(the)h(output)e(\014le.)40 b(It)29
+3751 y(the)d(units)g(of)g(the)h(output)e(\014le.)40 b(It)29
b(is)f(necessary)g(to)h(\\rebase")h(all)f(the)f(input)f(record)h(v)-5
-b(ariables)29 b(to)g(this)150 2413 y(output)h(time)h(unit)f(in)g(order)
+b(ariables)29 b(to)g(this)150 3861 y(output)h(time)h(unit)f(in)g(order)
g(for)g(the)h(output)f(\014le)g(to)h(ha)m(v)m(e)h(the)e(correct)i(v)-5
-b(alues.)275 2585 y(F)d(or)32 b(example)g(supp)s(ose)d(the)j(time)g(co)
+b(alues.)275 4025 y(F)d(or)32 b(example)g(supp)s(ose)d(the)j(time)g(co)
s(ordinate)g(is)f(in)g(hours)g(and)f(eac)m(h)j(da)m(y)f(in)f(Jan)m
-(uary)f(is)i(stored)150 2695 y(in)j(its)h(o)m(wn)f(daily)h(\014le.)56
+(uary)f(is)i(stored)150 4135 y(in)j(its)h(o)m(wn)f(daily)h(\014le.)56
b(Eac)m(h)36 b(daily)g(\014le)g(records)f(the)h(temp)s(erature)f(v)-5
-b(ariable)36 b Fy(tpt\(time\))d FD(with)i(an)150 2804
+b(ariable)36 b Fy(tpt\(time\))d FD(with)i(an)150 4244
y(\(unadjusted\))f Fy(time)h FD(co)s(ordinate)h(v)-5
b(alue)36 b(b)s(et)m(w)m(een)g(0{23)h(hours,)f(and)f(uses)g(the)g
-Fy(units)f FD(attribute)i(to)150 2914 y(adv)-5 b(ance)31
-b(the)g(base)f(time:)390 3086 y Fy(file01.nc)45 b(time:units="hours)e
-(since)k(1990-1-1")390 3195 y(file02.nc)e(time:units="hours)e(since)k
-(1990-1-2")390 3305 y(...)390 3415 y(file31.nc)e(time:units="hours)e
-(since)k(1990-1-31")390 3587 y(//)g(Mean)g(noontime)e(temperature)g(in)
-i(January)390 3696 y(ncra)g(-v)g(tpt)g(-d)g(time,"1990-1-1)d
-(12:00:00","1990-1-31)e(23:59:59",24)j(\\)676 3806 y(file??.nc)h
-(noon.nc)390 4025 y(//)h(Concatenate)e(day2)i(noon)f(through)g(day3)h
-(noon)f(records)390 4134 y(ncrcat)g(-v)h(tpt)g(-d)g(time,"1990-1-2)d
-(12:00:00","1990-1-3)f(11:59:59")i(\\)676 4244 y(file01.nc)h(file02.nc)
-f(file03.nc)g(noon.nc)390 4463 y(//)i(Results:)f(time)g(is)i
-("re-based")d(to)i(the)g(time)f(units)h(in)g("file01.nc")390
-4573 y(time=36,)f(37,)g(38,)h(39,)g(40,)g(41,)g(42,)g(43,)g(44,)g(45,)g
-(46,)g(47,)g(48,)f(49,)h(50,)g(\\)629 4682 y(51,)g(52,)f(53,)h(54,)g
-(55,)g(56,)g(57,)g(58,)g(59)g(;)390 4902 y(//)g(If)g(we)h(repeat)e(the)
-h(above)f(command)g(but)h(with)f(only)h(two)g(input)f(files...)390
-5011 y(ncrcat)g(-v)h(tpt)g(-d)g(time,"1990-1-2)d(12:00:00","1990-1-3)f
-(11:59:59")i(\\)676 5121 y(file02.nc)h(file03)g(noon.nc)390
-5340 y(//)h(...then)f(output)g(time)h(coordinate)e(is)i(based)f(on)h
-(time)g(units)f(in)i("file02.nc")p eop end
+Fy(units)f FD(attribute)i(to)150 4354 y(adv)-5 b(ance)31
+b(the)g(base)f(time:)390 4518 y Fy(file01.nc)45 b(time:units="hours)e
+(since)k(1990-1-1")390 4628 y(file02.nc)e(time:units="hours)e(since)k
+(1990-1-2")390 4737 y(...)390 4847 y(file31.nc)e(time:units="hours)e
+(since)k(1990-1-31")390 5011 y(//)g(Mean)g(noontime)e(temperature)g(in)
+i(January)390 5121 y(ncra)g(-v)g(tpt)g(-d)g(time,"1990-1-1)d
+(12:00:00","1990-1-31)e(23:59:59",24)j(\\)676 5230 y(file??.nc)h
+(noon.nc)p eop end
%%Page: 70 76
TeXDict begin 70 75 bop 150 -116 a FD(70)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(time)47 b(=)g(12,)g(13,)g(14,)g
-(15,)g(16,)g(17,)g(18,)f(19,)h(20,)g(21,)g(22,)g(23,)g(24,)g(25,)g(\\)
-629 408 y(26,)g(27,)f(28,)h(29,)g(30,)g(31,)g(32,)g(33,)g(34,)g(35)g(;)
-275 583 y FD(As)28 b(of)g FC(NCO)g FD(v)m(ersion)h(4.2.1)h(\(August,)g
-(2012\),)h FC(NCO)d FD(automatically)j(rebases)d(not)h(only)f(the)h
-(record)150 693 y(co)s(ordinate)38 b(\()p Fy(time)p FD(,)g(here\))g
-(but)e(also)i(an)m(y)f(b)s(ounds)e(asso)s(ciated)k(with)e(the)g(record)
-g(co)s(ordinate)h(\(e.g.,)150 802 y Fy(time_bnds)p FD(\))28
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(//)47 b(Concatenate)e(day2)i
+(noon)f(through)g(day3)h(noon)f(records)390 408 y(ncrcat)g(-v)h(tpt)g
+(-d)g(time,"1990-1-2)d(12:00:00","1990-1-3)f(11:59:59")i(\\)676
+518 y(file01.nc)h(file02.nc)f(file03.nc)g(noon.nc)390
+737 y(//)i(Results:)f(time)g(is)i("re-based")d(to)i(the)g(time)f(units)
+h(in)g("file01.nc")390 847 y(time=36,)f(37,)g(38,)h(39,)g(40,)g(41,)g
+(42,)g(43,)g(44,)g(45,)g(46,)g(47,)g(48,)f(49,)h(50,)g(\\)629
+956 y(51,)g(52,)f(53,)h(54,)g(55,)g(56,)g(57,)g(58,)g(59)g(;)390
+1176 y(//)g(If)g(we)h(repeat)e(the)h(above)f(command)g(but)h(with)f
+(only)h(two)g(input)f(files...)390 1285 y(ncrcat)g(-v)h(tpt)g(-d)g
+(time,"1990-1-2)d(12:00:00","1990-1-3)f(11:59:59")i(\\)676
+1395 y(file02.nc)h(file03)g(noon.nc)390 1614 y(//)h(...then)f(output)g
+(time)h(coordinate)e(is)i(based)f(on)h(time)g(units)f(in)i("file02.nc")
+390 1724 y(time)f(=)g(12,)g(13,)g(14,)g(15,)g(16,)g(17,)g(18,)f(19,)h
+(20,)g(21,)g(22,)g(23,)g(24,)g(25,)g(\\)629 1833 y(26,)g(27,)f(28,)h
+(29,)g(30,)g(31,)g(32,)g(33,)g(34,)g(35)g(;)275 2005
+y FD(As)28 b(of)g FC(NCO)g FD(v)m(ersion)h(4.2.1)h(\(August,)g(2012\),)
+h FC(NCO)d FD(automatically)j(rebases)d(not)h(only)f(the)h(record)150
+2115 y(co)s(ordinate)38 b(\()p Fy(time)p FD(,)g(here\))g(but)e(also)i
+(an)m(y)f(b)s(ounds)e(asso)s(ciated)k(with)e(the)g(record)g(co)s
+(ordinate)h(\(e.g.,)150 2224 y Fy(time_bnds)p FD(\))28
b(\(see)k(Section)f(3.37)h([CF)e(Con)m(v)m(en)m(tions],)i(page)f(98\).)
-150 1080 y FB(3.24)68 b(Multiple)46 b(Record)f(Dimensions)150
-1214 y Fk(\013)p 200 1214 3554 4 v 3553 w(\010)p 150
-1594 4 333 v 178 1350 a FD(Av)-5 b(ailabilit)m(y:)43
+150 2494 y FB(3.24)68 b(Multiple)46 b(Record)f(Dimensions)150
+2628 y Fk(\013)p 200 2628 3554 4 v 3553 w(\010)p 150
+3008 4 333 v 178 2764 a FD(Av)-5 b(ailabilit)m(y:)43
b Fy(ncecat)p FD(,)29 b Fy(ncpdq)g FD(Short)h(options:)41
-b(None)178 1460 y(Long)31 b(options:)41 b(`)p Fy(--mrd)p
-FD(')p 3803 1594 V 150 1646 a Fk(\012)p 200 1646 3554
-4 v 3553 w(\011)275 1831 y FD(The)36 b(netCDF3)i(\014le)f(format)h
+b(None)178 2874 y(Long)31 b(options:)41 b(`)p Fy(--mrd)p
+FD(')p 3803 3008 V 150 3060 a Fk(\012)p 200 3060 3554
+4 v 3553 w(\011)275 3243 y FD(The)36 b(netCDF3)i(\014le)f(format)h
(allo)m(ws)g(only)f(one)g(record)g(dimension,)i(and)d(that)i(dimension)
-e(m)m(ust)150 1941 y(b)s(e)29 b(the)g(\014rst)g(dimension)f(\(i.e.,)j
+e(m)m(ust)150 3352 y(b)s(e)29 b(the)g(\014rst)g(dimension)f(\(i.e.,)j
(the)f(least)g(rapidly)f(v)-5 b(arying)29 b(dimension\))g(of)h(an)m(y)f
-(v)-5 b(ariable)30 b(in)f(whic)m(h)g(it)150 2050 y(app)s(ears.)50
+(v)-5 b(ariable)30 b(in)f(whic)m(h)g(it)150 3462 y(app)s(ears.)50
b(This)33 b(imp)s(oses)h(certain)g(rules)g(on)f(ho)m(w)h(op)s(erators)g
(m)m(ust)g(p)s(erform)e(op)s(erations)j(that)f(alter)150
-2160 y(the)39 b(ordering)g(of)g(dimensions)f(or)g(the)h(n)m(um)m(b)s
+3571 y(the)39 b(ordering)g(of)g(dimensions)f(or)g(the)h(n)m(um)m(b)s
(er)f(of)h(record)g(v)-5 b(ariables.)66 b(The)39 b(netCDF4)h(\014le)f
-(format)150 2269 y(has)e(no)g(suc)m(h)g(restrictions.)62
+(format)150 3681 y(has)e(no)g(suc)m(h)g(restrictions.)62
b(Files)39 b(and)d(v)-5 b(ariables)38 b(ma)m(y)g(ha)m(v)m(e)h(an)m(y)e
-(n)m(um)m(b)s(er)f(of)h(record)h(dimensions)150 2379
+(n)m(um)m(b)s(er)f(of)h(record)h(dimensions)150 3791
y(in)j(an)m(y)g(order.)72 b(This)40 b(additional)i(\015exibilit)m(y)g
(of)f(netCDF4)h(can)g(only)f(b)s(e)f(realized)i(b)m(y)f(selectiv)m(ely)
-150 2489 y(abandoning)i(the)i(constrain)m(ts)g(that)f(w)m(ould)g(mak)m
+150 3900 y(abandoning)i(the)i(constrain)m(ts)g(that)f(w)m(ould)g(mak)m
(e)h(op)s(erations)f(b)s(eha)m(v)m(e)h(completely)g(consisten)m(tly)150
-2598 y(b)s(et)m(w)m(een)31 b(netCDF3)g(and)f(netCDF4)i(\014les.)275
-2773 y FC(NCO)e FD(c)m(ho)s(oses,)i(b)m(y)e(default,)i(to)f(imp)s(ose)f
+4010 y(b)s(et)m(w)m(een)31 b(netCDF3)g(and)f(netCDF4)i(\014les.)275
+4182 y FC(NCO)e FD(c)m(ho)s(oses,)i(b)m(y)e(default,)i(to)f(imp)s(ose)f
(netCDF3-based)i(constrain)m(ts)g(on)e(netCDF4)i(\014les.)42
-b(This)150 2882 y(reduces)33 b(the)g(n)m(um)m(b)s(er)f(of)h(unan)m
+b(This)150 4291 y(reduces)33 b(the)g(n)m(um)m(b)s(er)f(of)h(unan)m
(ticipated)h(consequences)g(and)f(k)m(eeps)g(the)h(op)s(erators)f
-(functioning)g(in)150 2992 y(a)28 b(familiar)h(w)m(a)m(y)-8
+(functioning)g(in)150 4401 y(a)28 b(familiar)h(w)m(a)m(y)-8
b(.)42 b(Put)27 b(another)i(w)m(a)m(y)-8 b(,)30 b FC(NCO)d
FD(limits)i(pro)s(duction)e(of)h(additional)h(record)f(dimensions)g(so)
-150 3102 y(pro)s(cessing)k(netCDF4)h(\014les)f(leads)g(to)h(the)f(same)
+150 4510 y(pro)s(cessing)k(netCDF4)h(\014les)f(leads)g(to)h(the)f(same)
g(results)g(as)g(pro)s(cessing)g(netCDF4)h(\014les.)46
-b(Users)32 b(can)150 3211 y(o)m(v)m(erride)f(this)g(default)f(with)g
+b(Users)32 b(can)150 4620 y(o)m(v)m(erride)f(this)g(default)f(with)g
(the)h(`)p Fy(--mrd)p FD(')f(\(or)g(`)p Fy(--multiple_record_dimensio)o
-(n)p FD('\))25 b(switc)m(h,)31 b(whic)m(h)150 3321 y(enables)g(netCDF4)
+(n)p FD('\))25 b(switc)m(h,)31 b(whic)m(h)150 4730 y(enables)g(netCDF4)
g(v)-5 b(ariables)31 b(to)g(accum)m(ulate)i(additional)e(record)f
-(dimensions.)275 3495 y(Ho)m(w)c(can)g(additional)g(record)g
+(dimensions.)275 4902 y(Ho)m(w)c(can)g(additional)g(record)g
(dimensions)f(b)s(e)g(pro)s(duced?)37 b(Most)27 b(commonly)f
-Fy(ncecat)e FD(\(in)i(record-)150 3605 y(aggregate)40
+Fy(ncecat)e FD(\(in)i(record-)150 5011 y(aggregate)40
b(mo)s(de\))d(de\014nes)f(a)h(new)f(leading)i(record)f(dimension.)60
-b(In)36 b(netCDF4)i(\014les)f(this)g(b)s(ecomes)150 3714
+b(In)36 b(netCDF4)i(\014les)f(this)g(b)s(ecomes)150 5121
y(an)e(additional)g(record)g(dimension)f(unless)g(the)h(original)g
(record)g(dimension)f(is)h(c)m(hanged)g(to)h(a)f(\014xed)150
-3824 y(dimension)i(\(as)i(m)m(ust)f(b)s(e)f(done)h(in)g(netCDF3)h
+5230 y(dimension)i(\(as)i(m)m(ust)f(b)s(e)f(done)h(in)g(netCDF3)h
(\014les\).)64 b(Also)38 b(when)f Fy(ncpdq)g FD(reorders)g(dimensions)g
-(it)150 3934 y(can)g(preserv)m(e)h(the)f(\\record")h(prop)s(ert)m(y)e
+(it)150 5340 y(can)g(preserv)m(e)h(the)f(\\record")h(prop)s(ert)m(y)e
(of)h(record)g(v)-5 b(ariables.)61 b Fy(ncpdq)36 b FD(tries)h(to)h
-(de\014ne)e(as)i(a)f(record)150 4043 y(dimension)f(whic)m(hev)m(er)h
-(dimension)f(ends)g(up)f(\014rst)h(in)g(a)h(record)g(v)-5
-b(ariable,)39 b(and,)f(in)e(netCDF4)i(\014les,)150 4153
-y(this)24 b(b)s(ecomes)g(an)g(additional)h(record)f(dimension)f(unless)
-h(the)g(original)h(record)f(dimension)f(is)h(c)m(hanged)150
-4262 y(to)33 b(a)g(\014xed)e(dimension)h(\(as)h(m)m(ust)f(b)s(e)g(done)
-g(in)g(netCDF3)h(\014les\).)47 b(It)33 b(it)g(easier)g(if)f
-Fy(ncpdq)f FD(and)h Fy(ncecat)150 4372 y FD(do)i(not)g(increase)h(the)g
-(n)m(um)m(b)s(er)e(of)h(record)g(dimensions)f(in)h(a)h(v)-5
-b(ariable)35 b(so)f(that)h(is)f(the)g(default.)53 b(Use)150
-4482 y(`)p Fy(--mrd)p FD(')29 b(to)j(o)m(v)m(erride)f(this.)150
-4760 y FB(3.25)68 b(Missing)46 b(v)-7 b(alues)150 4893
-y Fk(\013)p 200 4893 V 3553 w(\010)p 150 5274 4 333 v
-178 5029 a FD(Av)i(ailabilit)m(y:)43 b Fy(ncap2)p FD(,)30
-b Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h Fy(ncflint)p FD(,)e
-Fy(ncpdq)p FD(,)h Fy(ncra)p FD(,)h Fy(ncwa)178 5139 y
-FD(Short)g(options:)41 b(None)p 3803 5274 V 150 5325
-a Fk(\012)p 200 5325 3554 4 v 3553 w(\011)p eop end
+(de\014ne)e(as)i(a)f(record)p eop end
%%Page: 71 77
TeXDict begin 71 76 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(71)275 299 y(The)25
-b(phrase)h Fz(missing)g(data)h FD(refers)f(to)g(data)h(p)s(oin)m(ts)f
-(that)h(are)g(missing,)g(in)m(v)-5 b(alid,)28 b(or)e(for)g(an)m(y)h
-(reason)150 408 y(not)36 b(in)m(tended)g(to)h(b)s(e)f(arithmetically)i
-(pro)s(cessed)e(in)f(the)i(same)f(fashion)g(as)g(v)-5
-b(alid)37 b(data.)59 b(The)35 b FC(NCO)150 518 y FD(arithmetic)j(op)s
-(erators)f(attempt)g(to)h(handle)e(missing)g(data)h(in)g(an)f(in)m
-(telligen)m(t)j(fashion.)59 b(There)37 b(are)150 628
-y(four)30 b(steps)g(in)g(the)h FC(NCO)f FD(treatmen)m(t)i(of)e(missing)
-g(data:)199 794 y(1.)61 b(Iden)m(tifying)31 b(v)-5 b(ariables)31
-b(that)g(ma)m(y)g(con)m(tain)g(missing)g(data.)330 936
-y FC(NCO)40 b FD(follo)m(ws)g(the)g(con)m(v)m(en)m(tion)i(that)f
-(missing)f(data)g(should)f(b)s(e)g(stored)h(with)g(the)p
-3354 936 28 4 v 80 w Fz(FillV)-8 b(alue)330 1045 y FD(sp)s(eci\014ed)33
-b(in)f(the)i(v)-5 b(ariable's)34 b Fy(_FillValue)c FD(attributes.)50
-b(The)33 b Fo(only)42 b FD(w)m(a)m(y)34 b FC(NCO)f FD(recognizes)i
-(that)330 1155 y(a)d(v)-5 b(ariable)33 b Fo(may)41 b
-FD(con)m(tain)34 b(missing)e(data)g(is)g(if)h(the)f(v)-5
-b(ariable)33 b(has)e(a)i Fy(_FillValue)c FD(attribute.)47
-b(In)330 1264 y(this)35 b(case,)k(an)m(y)c(elemen)m(ts)i(of)f(the)g(v)
--5 b(ariable)36 b(whic)m(h)f(are)h(n)m(umerically)h(equal)f(to)g(the)p
-3354 1264 V 76 w Fz(FillV)-8 b(alue)330 1374 y FD(are)31
-b(treated)g(as)g(missing)f(data.)330 1515 y FC(NCO)g
+b(NCO)30 b(F)-8 b(eatures)2475 b(71)150 299 y(dimension)36
+b(whic)m(hev)m(er)h(dimension)f(ends)g(up)f(\014rst)h(in)g(a)h(record)g
+(v)-5 b(ariable,)39 b(and,)f(in)e(netCDF4)i(\014les,)150
+408 y(this)24 b(b)s(ecomes)g(an)g(additional)h(record)f(dimension)f
+(unless)h(the)g(original)h(record)f(dimension)f(is)h(c)m(hanged)150
+518 y(to)33 b(a)g(\014xed)e(dimension)h(\(as)h(m)m(ust)f(b)s(e)g(done)g
+(in)g(netCDF3)h(\014les\).)47 b(It)33 b(it)g(easier)g(if)f
+Fy(ncpdq)f FD(and)h Fy(ncecat)150 628 y FD(do)i(not)g(increase)h(the)g
+(n)m(um)m(b)s(er)e(of)h(record)g(dimensions)f(in)h(a)h(v)-5
+b(ariable)35 b(so)f(that)h(is)f(the)g(default.)53 b(Use)150
+737 y(`)p Fy(--mrd)p FD(')29 b(to)j(o)m(v)m(erride)f(this.)150
+980 y FB(3.25)68 b(Missing)46 b(v)-7 b(alues)150 1113
+y Fk(\013)p 200 1113 3554 4 v 3553 w(\010)p 150 1494
+4 333 v 178 1250 a FD(Av)i(ailabilit)m(y:)43 b Fy(ncap2)p
+FD(,)30 b Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h Fy(ncflint)p
+FD(,)e Fy(ncpdq)p FD(,)h Fy(ncra)p FD(,)h Fy(ncwa)178
+1359 y FD(Short)g(options:)41 b(None)p 3803 1494 V 150
+1545 a Fk(\012)p 200 1545 3554 4 v 3553 w(\011)275 1719
+y FD(The)25 b(phrase)h Fz(missing)g(data)h FD(refers)f(to)g(data)h(p)s
+(oin)m(ts)f(that)h(are)g(missing,)g(in)m(v)-5 b(alid,)28
+b(or)e(for)g(an)m(y)h(reason)150 1828 y(not)36 b(in)m(tended)g(to)h(b)s
+(e)f(arithmetically)i(pro)s(cessed)e(in)f(the)i(same)f(fashion)g(as)g
+(v)-5 b(alid)37 b(data.)59 b(The)35 b FC(NCO)150 1938
+y FD(arithmetic)j(op)s(erators)f(attempt)g(to)h(handle)e(missing)g
+(data)h(in)g(an)f(in)m(telligen)m(t)j(fashion.)59 b(There)37
+b(are)150 2048 y(four)30 b(steps)g(in)g(the)h FC(NCO)f
+FD(treatmen)m(t)i(of)e(missing)g(data:)199 2210 y(1.)61
+b(Iden)m(tifying)31 b(v)-5 b(ariables)31 b(that)g(ma)m(y)g(con)m(tain)g
+(missing)g(data.)330 2348 y FC(NCO)40 b FD(follo)m(ws)g(the)g(con)m(v)m
+(en)m(tion)i(that)f(missing)f(data)g(should)f(b)s(e)g(stored)h(with)g
+(the)p 3354 2348 28 4 v 80 w Fz(FillV)-8 b(alue)330 2458
+y FD(sp)s(eci\014ed)33 b(in)f(the)i(v)-5 b(ariable's)34
+b Fy(_FillValue)c FD(attributes.)50 b(The)33 b Fo(only)42
+b FD(w)m(a)m(y)34 b FC(NCO)f FD(recognizes)i(that)330
+2567 y(a)d(v)-5 b(ariable)33 b Fo(may)41 b FD(con)m(tain)34
+b(missing)e(data)g(is)g(if)h(the)f(v)-5 b(ariable)33
+b(has)e(a)i Fy(_FillValue)c FD(attribute.)47 b(In)330
+2677 y(this)35 b(case,)k(an)m(y)c(elemen)m(ts)i(of)f(the)g(v)-5
+b(ariable)36 b(whic)m(h)f(are)h(n)m(umerically)h(equal)f(to)g(the)p
+3354 2677 V 76 w Fz(FillV)-8 b(alue)330 2787 y FD(are)31
+b(treated)g(as)g(missing)f(data.)330 2924 y FC(NCO)g
FD(adopted)g(the)g(b)s(eha)m(vior)g(that)h(the)f(default)h(attribute)f
(name,)h(if)f(an)m(y)-8 b(,)31 b(assumed)e(to)i(sp)s(ecify)330
-1625 y(the)h(v)-5 b(alue)33 b(of)f(data)h(to)g(ignore)f(is)g
+3034 y(the)h(v)-5 b(alue)33 b(of)f(data)h(to)g(ignore)f(is)g
Fy(_FillValue)e FD(with)h(v)m(ersion)i(3.9.2)h(\(August,)f(2007\).)47
-b(Prior)32 b(to)330 1735 y(that,)39 b(the)e Fy(missing_value)c
+b(Prior)32 b(to)330 3144 y(that,)39 b(the)e Fy(missing_value)c
FD(attribute,)39 b(if)d(an)m(y)-8 b(,)39 b(w)m(as)e(assumed)f(to)h(sp)s
-(ecify)g(the)f(v)-5 b(alue)38 b(of)e(data)330 1844 y(to)e(ignore.)48
+(ecify)g(the)f(v)-5 b(alue)38 b(of)e(data)330 3253 y(to)e(ignore.)48
b(Supp)s(orting)31 b(b)s(oth)i(of)g(these)g(attributes)g(sim)m
-(ultaneously)h(is)f(not)g(practical.)50 b(Hence)330 1954
+(ultaneously)h(is)f(not)g(practical.)50 b(Hence)330 3363
y(the)26 b(b)s(eha)m(vior)h FC(NCO)f FD(once)g(applied)g(to)h
-Fz(missing)p 1986 1954 V 40 w(v)-5 b(alue)32 b FD(it)27
-b(no)m(w)f(applies)g(to)h(an)m(y)p 3108 1954 V 67 w Fz(FillV)-8
-b(alue)p FD(.)41 b FC(NCO)330 2063 y FD(no)m(w)30 b(treats)i(an)m(y)e
-Fz(missing)p 1249 2063 V 40 w(v)-5 b(alue)36 b FD(as)31
-b(normal)f(data)2119 2030 y Ft(17)2190 2063 y FD(.)330
-2205 y(It)43 b(has)f(b)s(een)h(and)f(remains)g(most)i(advisable)f(to)h
+Fz(missing)p 1986 3363 V 40 w(v)-5 b(alue)32 b FD(it)27
+b(no)m(w)f(applies)g(to)h(an)m(y)p 3108 3363 V 67 w Fz(FillV)-8
+b(alue)p FD(.)41 b FC(NCO)330 3472 y FD(no)m(w)30 b(treats)i(an)m(y)e
+Fz(missing)p 1249 3472 V 40 w(v)-5 b(alue)36 b FD(as)31
+b(normal)f(data)2119 3439 y Ft(18)2190 3472 y FD(.)330
+3610 y(It)43 b(has)f(b)s(een)h(and)f(remains)g(most)i(advisable)f(to)h
(create)g(b)s(oth)e Fy(_FillValue)e FD(and)i Fy(missing_)330
-2315 y(value)30 b FD(attributes)i(with)g(iden)m(tical)h(v)-5
+3720 y(value)30 b FD(attributes)i(with)g(iden)m(tical)h(v)-5
b(alues)32 b(in)f(datasets.)46 b(Man)m(y)33 b(legacy)g(datasets)g(con)m
-(tain)g(only)330 2424 y Fy(missing_value)h FD(attributes.)63
+(tain)g(only)330 3829 y Fy(missing_value)h FD(attributes.)63
b FC(NCO)37 b FD(can)h(help)g(migrating)g(datasets)h(b)s(et)m(w)m(een)f
-(these)g(con)m(v)m(en-)330 2534 y(tions.)g(One)22 b(ma)m(y)g(use)g
+(these)g(con)m(v)m(en-)330 3939 y(tions.)g(One)22 b(ma)m(y)g(use)g
Fy(ncrename)e FD(\(see)j(Section)f(4.11)i([ncrename)e(netCDF)g
-(Renamer],)j(page)d(201\))330 2643 y(to)31 b(rename)g(all)g
+(Renamer],)j(page)d(202\))330 4049 y(to)31 b(rename)g(all)g
Fy(missing_value)c FD(attributes)k(to)g Fy(_FillValue)p
-FD(:)570 2785 y Fy(ncrename)46 b(-a)h(.missing_value,_FillVal)o(ue)42
-b(inout.nc)330 2926 y FD(Alternativ)m(ely)-8 b(,)26 b(one)c(ma)m(y)h
+FD(:)570 4187 y Fy(ncrename)46 b(-a)h(.missing_value,_FillVal)o(ue)42
+b(inout.nc)330 4324 y FD(Alternativ)m(ely)-8 b(,)26 b(one)c(ma)m(y)h
(use)e Fy(ncatted)f FD(\(see)i(Section)h(4.2)g([ncatted)g(netCDF)f(A)m
-(ttribute)g(Editor],)330 3036 y(page)31 b(156\))h(to)f(add)f(a)h
+(ttribute)g(Editor],)330 4434 y(page)31 b(156\))h(to)f(add)f(a)h
Fy(_FillValue)c FD(attribute)k(to)h(all)f(v)-5 b(ariables)570
-3178 y Fy(ncatted)46 b(-O)h(-a)g(_FillValue,,o,f,1.0e36)42
-b(inout.nc)199 3319 y FD(2.)61 b(Con)m(v)m(erting)31
-b(the)p 960 3319 V 71 w Fz(FillV)-8 b(alue)38 b FD(to)31
+4572 y Fy(ncatted)46 b(-O)h(-a)g(_FillValue,,o,f,1.0e36)42
+b(inout.nc)199 4710 y FD(2.)61 b(Con)m(v)m(erting)31
+b(the)p 960 4710 V 71 w Fz(FillV)-8 b(alue)38 b FD(to)31
b(the)f(t)m(yp)s(e)h(of)f(the)h(v)-5 b(ariable,)31 b(if)g(neccessary)-8
-b(.)330 3461 y(Consider)27 b(a)h(v)-5 b(ariable)28 b
+b(.)330 4848 y(Consider)27 b(a)h(v)-5 b(ariable)28 b
Fz(v)-5 b(ar)34 b FD(of)28 b(t)m(yp)s(e)f Fz(v)-5 b(ar)p
-1708 3461 V 40 w(t)m(yp)s(e)33 b FD(with)27 b(a)h Fy(_FillValue)d
-FD(attribute)j(of)g(t)m(yp)s(e)g Fz(att)p 3536 3461 V
-41 w(t)m(yp)s(e)330 3570 y FD(con)m(taining)33 b(the)g(v)-5
-b(alue)p 1174 3570 V 72 w Fz(FillV)d(alue)p FD(.)48 b(As)31
+1708 4848 V 40 w(t)m(yp)s(e)33 b FD(with)27 b(a)h Fy(_FillValue)d
+FD(attribute)j(of)g(t)m(yp)s(e)g Fz(att)p 3536 4848 V
+41 w(t)m(yp)s(e)330 4957 y FD(con)m(taining)33 b(the)g(v)-5
+b(alue)p 1174 4957 V 72 w Fz(FillV)d(alue)p FD(.)48 b(As)31
b(a)i(guideline,)g(the)f(t)m(yp)s(e)g(of)g(the)g Fy(_FillValue)d
-FD(attribute)330 3680 y(should)37 b(b)s(e)h(the)g(same)g(as)h(the)f(t)m
-(yp)s(e)g(of)h(the)f(v)-5 b(ariable)39 b(it)g(is)f(attac)m(hed)i(to.)65
-b(If)37 b Fz(v)-5 b(ar)p 3253 3680 V 40 w(t)m(yp)s(e)44
-b FD(equals)330 3789 y Fz(att)p 451 3789 V 41 w(t)m(yp)s(e)39
-b FD(then)33 b FC(NCO)g FD(straigh)m(tforw)m(ardly)i(compares)f(eac)m
-(h)g(v)-5 b(alue)34 b(of)g Fz(v)-5 b(ar)40 b FD(to)p
-3085 3789 V 74 w Fz(FillV)-8 b(alue)41 b FD(to)34 b(de-)330
-3899 y(termine)39 b(whic)m(h)f(elemen)m(ts)i(of)e Fz(v)-5
-b(ar)45 b FD(are)39 b(to)h(b)s(e)d(treated)j(as)f(missing)f(data.)66
-b(If)38 b(not,)j(then)d FC(NCO)330 4009 y FD(con)m(v)m(erts)p
-701 4009 V 79 w Fz(FillV)-8 b(alue)45 b FD(from)37 b
-Fz(att)p 1477 4009 V 42 w(t)m(yp)s(e)43 b FD(to)38 b
-Fz(v)-5 b(ar)p 1978 4009 V 40 w(t)m(yp)s(e)43 b FD(b)m(y)38
-b(using)f(the)h(implicit)g(con)m(v)m(ersion)h(rules)330
-4118 y(of)31 b(C)o(,)25 b(or,)g(if)e Fz(att)p 877 4118
-V 41 w(t)m(yp)s(e)28 b FD(is)23 b Fy(NC_CHAR)1534 4085
-y Ft(18)1603 4118 y FD(,)h(b)m(y)f(t)m(yp)s(ecasting)i(the)e(results)g
-(of)g(the)g(C)30 b(function)23 b Fy(strtod\()p Fn(_)330
-4228 y(FillValue)p Fy(\))p FD(.)47 b(Y)-8 b(ou)35 b(ma)m(y)f(use)f(the)
-h FC(NCO)f FD(op)s(erator)h Fy(ncatted)d FD(to)k(c)m(hange)f(the)g
-Fy(_FillValue)d FD(at-)330 4337 y(tribute)h(and)g(all)h(data)g(whose)f
-(data)h(is)p 1730 4337 V 72 w Fz(FillV)-8 b(alue)40 b
-FD(to)33 b(a)g(new)e(v)-5 b(alue)33 b(\(see)g(Section)g(4.2)h([ncatted)
-330 4447 y(netCDF)d(A)m(ttribute)g(Editor],)g(page)g(156\).)199
-4588 y(3.)61 b(Iden)m(tifying)31 b(missing)f(data)h(during)e
-(arithmetic)j(op)s(erations.)330 4730 y(When)41 b(an)h
+FD(attribute)p 150 5066 1200 4 v 166 5134 a Ft(18)303
+5166 y Fs(The)g(old)g(functionalit)n(y)-6 b(,)30 b(i.e.,)h(where)e(the)
+f(ignored)i(v)l(alues)e(are)i(indicated)f(b)n(y)e Fr(missing_value)32
+b Fs(not)c Fr(_FillValue)p Fs(,)275 5253 y(ma)n(y)38
+b(still)i(b)r(e)f(selected)h Fj(at)g Fi(NCO)f Fj(build)h(time)k
+Fs(b)n(y)38 b(compiling)i Fp(NCO)f Fs(with)g(the)g(tok)n(en)f
+(de\014nition)g Fh(CPPFLAGS='-)275 5340 y(UNCO_USE_FILL_VALUE')p
+Fs(.)p eop end
+%%Page: 72 78
+TeXDict begin 72 77 bop 150 -116 a FD(72)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)330 299 y(should)37 b(b)s(e)h(the)g(same)g
+(as)h(the)f(t)m(yp)s(e)g(of)h(the)f(v)-5 b(ariable)39
+b(it)g(is)f(attac)m(hed)i(to.)65 b(If)37 b Fz(v)-5 b(ar)p
+3253 299 28 4 v 40 w(t)m(yp)s(e)44 b FD(equals)330 408
+y Fz(att)p 451 408 V 41 w(t)m(yp)s(e)39 b FD(then)33
+b FC(NCO)g FD(straigh)m(tforw)m(ardly)i(compares)f(eac)m(h)g(v)-5
+b(alue)34 b(of)g Fz(v)-5 b(ar)40 b FD(to)p 3085 408 V
+74 w Fz(FillV)-8 b(alue)41 b FD(to)34 b(de-)330 518 y(termine)39
+b(whic)m(h)f(elemen)m(ts)i(of)e Fz(v)-5 b(ar)45 b FD(are)39
+b(to)h(b)s(e)d(treated)j(as)f(missing)f(data.)66 b(If)38
+b(not,)j(then)d FC(NCO)330 628 y FD(con)m(v)m(erts)p
+701 628 V 79 w Fz(FillV)-8 b(alue)45 b FD(from)37 b Fz(att)p
+1477 628 V 42 w(t)m(yp)s(e)43 b FD(to)38 b Fz(v)-5 b(ar)p
+1978 628 V 40 w(t)m(yp)s(e)43 b FD(b)m(y)38 b(using)f(the)h(implicit)g
+(con)m(v)m(ersion)h(rules)330 737 y(of)31 b(C)o(,)25
+b(or,)g(if)e Fz(att)p 877 737 V 41 w(t)m(yp)s(e)28 b
+FD(is)23 b Fy(NC_CHAR)1534 704 y Ft(19)1603 737 y FD(,)h(b)m(y)f(t)m
+(yp)s(ecasting)i(the)e(results)g(of)g(the)g(C)30 b(function)23
+b Fy(strtod\()p Fn(_)330 847 y(FillValue)p Fy(\))p FD(.)47
+b(Y)-8 b(ou)35 b(ma)m(y)f(use)f(the)h FC(NCO)f FD(op)s(erator)h
+Fy(ncatted)d FD(to)k(c)m(hange)f(the)g Fy(_FillValue)d
+FD(at-)330 956 y(tribute)h(and)g(all)h(data)g(whose)f(data)h(is)p
+1730 956 V 72 w Fz(FillV)-8 b(alue)40 b FD(to)33 b(a)g(new)e(v)-5
+b(alue)33 b(\(see)g(Section)g(4.2)h([ncatted)330 1066
+y(netCDF)d(A)m(ttribute)g(Editor],)g(page)g(156\).)199
+1241 y(3.)61 b(Iden)m(tifying)31 b(missing)f(data)h(during)e
+(arithmetic)j(op)s(erations.)330 1416 y(When)41 b(an)h
FC(NCO)f FD(arithmetic)h(op)s(erator)g(pro)s(cesses)f(a)h(v)-5
b(ariable)42 b Fz(v)-5 b(ar)48 b FD(with)41 b(a)h Fy(_FillValue)d
-FD(at-)330 4840 y(tribute,)g(it)f(compares)g(eac)m(h)h(v)-5
-b(alue)38 b(of)g Fz(v)-5 b(ar)43 b FD(to)p 2029 4840
+FD(at-)330 1526 y(tribute,)g(it)f(compares)g(eac)m(h)h(v)-5
+b(alue)38 b(of)g Fz(v)-5 b(ar)43 b FD(to)p 2029 1526
V 79 w Fz(FillV)-8 b(alue)45 b FD(b)s(efore)37 b(p)s(erforming)f(an)h
-(op)s(eration.)p 150 4963 1200 4 v 166 5031 a Ft(17)303
-5063 y Fs(The)29 b(old)g(functionalit)n(y)-6 b(,)30 b(i.e.,)h(where)e
-(the)f(ignored)i(v)l(alues)e(are)i(indicated)f(b)n(y)e
-Fr(missing_value)32 b Fs(not)c Fr(_FillValue)p Fs(,)275
-5150 y(ma)n(y)38 b(still)i(b)r(e)f(selected)h Fj(at)g
-Fi(NCO)f Fj(build)h(time)k Fs(b)n(y)38 b(compiling)i
-Fp(NCO)f Fs(with)g(the)g(tok)n(en)f(de\014nition)g Fh(CPPFLAGS='-)275
-5237 y(UNCO_USE_FILL_VALUE')p Fs(.)166 5308 y Ft(18)275
-5340 y Fs(F)-6 b(or)25 b(example,)h(the)g Fp(DOE)f(ARM)g
-Fs(program)i(often)f(uses)g Fm(att)p 2012 5340 24 4 v
-34 w(t)n(yp)r(e)j Fs(=)c Fr(NC_CHAR)i Fs(and)p 2758 5340
-V 59 w Fm(FillV)-6 b(alue)31 b Fs(=)25 b(`)p Fr(-99999.)p
-Fs('.)p eop end
-%%Page: 72 78
-TeXDict begin 72 77 bop 150 -116 a FD(72)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)330 299 y(Note)c(the)p 700
-299 28 4 v 64 w Fz(FillV)-8 b(alue)31 b FD(comparison)25
-b(imp)s(oses)f(a)g(p)s(erformance)g(p)s(enalt)m(y)g(on)g(the)h(op)s
-(erator.)39 b(Arith-)330 408 y(metic)24 b(pro)s(cessing)f(of)g(v)-5
+(op)s(eration.)330 1636 y(Note)26 b(the)p 700 1636 V
+64 w Fz(FillV)-8 b(alue)31 b FD(comparison)25 b(imp)s(oses)f(a)g(p)s
+(erformance)g(p)s(enalt)m(y)g(on)g(the)h(op)s(erator.)39
+b(Arith-)330 1745 y(metic)24 b(pro)s(cessing)f(of)g(v)-5
b(ariables)24 b(whic)m(h)e(con)m(tain)j(the)e Fy(_FillValue)d
-FD(attribute)k(alw)m(a)m(ys)g(incurs)e(this)330 518 y(p)s(enalt)m(y)-8
-b(,)32 b(ev)m(en)g(when)e(none)g(of)h(the)g(data)h(are)f(missing.)42
-b(Con)m(v)m(ersely)-8 b(,)33 b(arithmetic)f(pro)s(cessing)f(of)330
-628 y(v)-5 b(ariables)31 b(whic)m(h)f(do)h(not)f(con)m(tain)i(the)f
-Fy(_FillValue)c FD(attribute)k(nev)m(er)g(incurs)f(this)g(p)s(enalt)m
-(y)-8 b(.)42 b(In)330 737 y(other)25 b(w)m(ords,)g(do)f(not)g(attac)m
-(h)j(a)d Fy(_FillValue)e FD(attribute)j(to)g(a)f(v)-5
-b(ariable)25 b(whic)m(h)f(do)s(es)g(not)h(con)m(tain)330
-847 y(missing)j(data.)40 b(This)27 b(exhortation)i(can)f(usually)f(b)s
-(e)h(ob)s(ey)m(ed)f(for)h(mo)s(del)f(generated)i(data,)g(but)e(it)330
-956 y(ma)m(y)j(b)s(e)g(harder)e(to)j(kno)m(w)f(in)f(adv)-5
-b(ance)31 b(whether)e(all)h(observ)-5 b(ational)32 b(data)e(will)g(b)s
-(e)g(v)-5 b(alid)30 b(or)f(not.)199 1114 y(4.)61 b(T)-8
-b(reatmen)m(t)32 b(of)e(an)m(y)h(data)g(iden)m(ti\014ed)f(as)h(missing)
-f(in)g(arithmetic)i(op)s(erators.)330 1272 y FC(NCO)c
-FD(a)m(v)m(eragers)i(\()p Fy(ncra)p FD(,)f Fy(nces)p
-FD(,)e Fy(ncwa)p FD(\))h(do)g(not)h(coun)m(t)g(an)m(y)f(elemen)m(t)i
-(with)e(the)h(v)-5 b(alue)p 3354 1272 V 69 w Fz(FillV)d(alue)330
-1381 y FD(to)m(w)m(ards)35 b(the)f(a)m(v)m(erage.)53
-b Fy(ncbo)33 b FD(and)g Fy(ncflint)f FD(de\014ne)h(a)p
-2328 1381 V 74 w Fz(FillV)-8 b(alue)41 b FD(result)34
-b(when)f(either)h(of)g(the)330 1491 y(input)27 b(v)-5
-b(alues)28 b(is)g(a)p 1007 1491 V 68 w Fz(FillV)-8 b(alue)p
-FD(.)43 b(Sometimes)28 b(the)p 2076 1491 V 68 w Fz(FillV)-8
+FD(attribute)k(alw)m(a)m(ys)g(incurs)e(this)330 1855
+y(p)s(enalt)m(y)-8 b(,)32 b(ev)m(en)g(when)e(none)g(of)h(the)g(data)h
+(are)f(missing.)42 b(Con)m(v)m(ersely)-8 b(,)33 b(arithmetic)f(pro)s
+(cessing)f(of)330 1964 y(v)-5 b(ariables)31 b(whic)m(h)f(do)h(not)f
+(con)m(tain)i(the)f Fy(_FillValue)c FD(attribute)k(nev)m(er)g(incurs)f
+(this)g(p)s(enalt)m(y)-8 b(.)42 b(In)330 2074 y(other)25
+b(w)m(ords,)g(do)f(not)g(attac)m(h)j(a)d Fy(_FillValue)e
+FD(attribute)j(to)g(a)f(v)-5 b(ariable)25 b(whic)m(h)f(do)s(es)g(not)h
+(con)m(tain)330 2184 y(missing)j(data.)40 b(This)27 b(exhortation)i
+(can)f(usually)f(b)s(e)h(ob)s(ey)m(ed)f(for)h(mo)s(del)f(generated)i
+(data,)g(but)e(it)330 2293 y(ma)m(y)j(b)s(e)g(harder)e(to)j(kno)m(w)f
+(in)f(adv)-5 b(ance)31 b(whether)e(all)h(observ)-5 b(ational)32
+b(data)e(will)g(b)s(e)g(v)-5 b(alid)30 b(or)f(not.)199
+2468 y(4.)61 b(T)-8 b(reatmen)m(t)32 b(of)e(an)m(y)h(data)g(iden)m
+(ti\014ed)f(as)h(missing)f(in)g(arithmetic)i(op)s(erators.)330
+2644 y FC(NCO)c FD(a)m(v)m(eragers)i(\()p Fy(ncra)p FD(,)f
+Fy(nces)p FD(,)e Fy(ncwa)p FD(\))h(do)g(not)h(coun)m(t)g(an)m(y)f
+(elemen)m(t)i(with)e(the)h(v)-5 b(alue)p 3354 2644 V
+69 w Fz(FillV)d(alue)330 2753 y FD(to)m(w)m(ards)35 b(the)f(a)m(v)m
+(erage.)53 b Fy(ncbo)33 b FD(and)g Fy(ncflint)f FD(de\014ne)h(a)p
+2328 2753 V 74 w Fz(FillV)-8 b(alue)41 b FD(result)34
+b(when)f(either)h(of)g(the)330 2863 y(input)27 b(v)-5
+b(alues)28 b(is)g(a)p 1007 2863 V 68 w Fz(FillV)-8 b(alue)p
+FD(.)43 b(Sometimes)28 b(the)p 2076 2863 V 68 w Fz(FillV)-8
b(alue)35 b FD(ma)m(y)29 b(c)m(hange)g(from)e(\014le)h(to)h(\014le)f
-(in)g(a)330 1601 y(m)m(ulti-\014le)k(op)s(erator,)h(e.g.,)g
+(in)g(a)330 2972 y(m)m(ulti-\014le)k(op)s(erator,)h(e.g.,)g
Fy(ncra)p FD(.)43 b FC(NCO)31 b FD(is)g(written)h(to)g(accoun)m(t)h
-(for)e(this)g(\(it)i(alw)m(a)m(ys)g(compares)330 1710
-y(a)g(v)-5 b(ariable)33 b(to)h(the)p 1030 1710 V 73 w
+(for)e(this)g(\(it)i(alw)m(a)m(ys)g(compares)330 3082
+y(a)g(v)-5 b(ariable)33 b(to)h(the)p 1030 3082 V 73 w
Fz(FillV)-8 b(alue)40 b FD(assigned)32 b(to)i(that)f(v)-5
b(ariable)33 b(in)g(the)g(curren)m(t)f(\014le\).)48 b(Su\016ce)32
-b(it)h(to)330 1820 y(sa)m(y)e(that,)g(in)f(all)i(kno)m(wn)d(cases,)j
+b(it)h(to)330 3192 y(sa)m(y)e(that,)g(in)f(all)i(kno)m(wn)d(cases,)j
FC(NCO)e FD(do)s(es)g(\\the)h(righ)m(t)g(thing".)330
-1978 y(It)22 b(is)g(imp)s(ossible)f(to)h(determine)g(and)g(store)g(the)
+3367 y(It)22 b(is)g(imp)s(ossible)f(to)h(determine)g(and)g(store)g(the)
g(correct)h(result)e(of)h(a)g(binary)f(op)s(eration)i(in)e(a)h(single)
-330 2087 y(v)-5 b(ariable.)62 b(One)36 b(suc)m(h)h(corner)g(case)h(o)s
+330 3476 y(v)-5 b(ariable.)62 b(One)36 b(suc)m(h)h(corner)g(case)h(o)s
(ccurs)f(when)f(b)s(oth)g(op)s(erands)g(ha)m(v)m(e)j(di\013ering)p
-3354 2087 V 77 w Fz(FillV)-8 b(alue)330 2197 y FD(attributes,)42
+3354 3476 V 77 w Fz(FillV)-8 b(alue)330 3586 y FD(attributes,)42
b(i.e.,)h(attributes)c(with)g(di\013eren)m(t)h(n)m(umerical)f(v)-5
b(alues.)67 b(Since)39 b(the)h(output)e(\(result\))330
-2306 y(of)c(the)f(op)s(eration)h(can)g(only)f(ha)m(v)m(e)i(one)p
-1767 2306 V 73 w Fz(FillV)-8 b(alue)p FD(,)37 b(some)d(information)f
-(ma)m(y)h(b)s(e)f(lost.)50 b(In)33 b(this)330 2416 y(case,)i
+3695 y(of)c(the)f(op)s(eration)h(can)g(only)f(ha)m(v)m(e)i(one)p
+1767 3695 V 73 w Fz(FillV)-8 b(alue)p FD(,)37 b(some)d(information)f
+(ma)m(y)h(b)s(e)f(lost.)50 b(In)33 b(this)330 3805 y(case,)i
FC(NCO)e FD(alw)m(a)m(ys)h(de\014nes)e(the)h(output)g(v)-5
-b(ariable)34 b(to)f(ha)m(v)m(e)i(the)e(same)p 2890 2416
+b(ariable)34 b(to)f(ha)m(v)m(e)i(the)e(same)p 2890 3805
V 73 w Fz(FillV)-8 b(alue)40 b FD(as)34 b(the)f(\014rst)330
-2526 y(input)f(v)-5 b(ariable.)51 b(Prior)33 b(to)h(p)s(erforming)e
+3915 y(input)f(v)-5 b(ariable.)51 b(Prior)33 b(to)h(p)s(erforming)e
(the)i(arithmetic)g(op)s(eration,)h(all)f(v)-5 b(alues)34
-b(of)f(the)h(second)330 2635 y(op)s(erand)j(equal)h(to)g(the)g(second)p
-1525 2635 V 78 w Fz(FillV)-8 b(alue)45 b FD(are)38 b(replaced)h(with)e
-(the)h(\014rst)p 3064 2635 V 77 w Fz(FillV)-8 b(alue)p
-FD(.)65 b(Then)330 2745 y(the)29 b(arithmetic)i(op)s(eration)e(pro)s
+b(of)f(the)h(second)330 4024 y(op)s(erand)j(equal)h(to)g(the)g(second)p
+1525 4024 V 78 w Fz(FillV)-8 b(alue)45 b FD(are)38 b(replaced)h(with)e
+(the)h(\014rst)p 3064 4024 V 77 w Fz(FillV)-8 b(alue)p
+FD(.)65 b(Then)330 4134 y(the)29 b(arithmetic)i(op)s(eration)e(pro)s
(ceeds)g(as)g(normal,)h(comparing)f(eac)m(h)h(elemen)m(t)h(of)e(eac)m
-(h)h(op)s(erand)330 2854 y(to)k(a)g(single)p 785 2854
+(h)h(op)s(erand)330 4243 y(to)k(a)g(single)p 785 4243
V 74 w Fz(FillV)-8 b(alue)p FD(.)52 b(Comparing)33 b(eac)m(h)i(elemen)m
-(t)g(to)f(t)m(w)m(o)h(distinct)p 2898 2854 V 73 w Fz(FillV)-8
-b(alue)5 b FD('s)36 b(w)m(ould)e(b)s(e)330 2964 y(m)m(uc)m(h)d(slo)m(w)
+(t)g(to)f(t)m(w)m(o)h(distinct)p 2898 4243 V 73 w Fz(FillV)-8
+b(alue)5 b FD('s)36 b(w)m(ould)e(b)s(e)330 4353 y(m)m(uc)m(h)d(slo)m(w)
m(er)h(and)f(w)m(ould)f(b)s(e)h(no)g(lik)m(elier)h(to)g(yield)f(a)h
(more)f(satisfactory)i(answ)m(er.)42 b(In)30 b(practice,)330
-3073 y(judicious)37 b(c)m(hoice)j(of)p 1115 3073 V 78
+4463 y(judicious)37 b(c)m(hoice)j(of)p 1115 4463 V 78
w Fz(FillV)-8 b(alue)46 b FD(v)-5 b(alues)38 b(prev)m(en)m(ts)g(an)m(y)
h(imp)s(ortan)m(t)f(information)g(from)f(b)s(eing)330
-3183 y(lost.)150 3485 y FB(3.26)68 b(Ch)l(unking)150
-3619 y Fk(\013)p 200 3619 3554 4 v 3553 w(\010)p 150
-4547 4 881 v 178 3755 a FD(Av)-5 b(ailabilit)m(y:)43
-b Fy(ncap2)p FD(,)30 b Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h
-Fy(ncecat)p FD(,)f Fy(ncflint)p FD(,)f Fy(ncks)p FD(,)i
-Fy(ncpdq)p FD(,)f Fy(ncra)p FD(,)g Fy(ncrcat)p FD(,)g
-Fy(ncwa)178 3865 y FD(Short)h(options:)41 b(none)178
-3974 y(Long)31 b(options:)41 b(`)p Fy(--cnk_byt)28 b
-Fn(cnk_sz)p FD(',)h(`)p Fy(--chunk_byte)e Fn(cnk_sz)p
-FD(')178 4084 y(`)p Fy(--cnk_dmn)h Fn(dmn_nm)p Fy(,)p
-Fn(cnk_sz)p FD(',)g(`)p Fy(--chunk_dimension)d Fn(dmn_nm)p
-Fy(,)p Fn(cnk_sz)p FD(')178 4193 y(,)31 b(`)p Fy(--cnk_map)d
-Fn(cnk_map)p FD(',)h(`)p Fy(--chunk_map)e Fn(cnk_map)p
-FD(',)178 4303 y(`)p Fy(--cnk_plc)h Fn(cnk_plc)p FD(',)h(`)p
-Fy(--chunk_policy)e Fn(cnk_plc)p FD(',)178 4413 y(`)p
-Fy(--cnk_scl)h Fn(cnk_sz)p FD(',)h(`)p Fy(--chunk_scalar)e
-Fn(cnk_sz)p FD(')p 3803 4547 V 150 4599 a Fk(\012)p 200
-4599 3554 4 v 3553 w(\011)275 4792 y FD(All)k(netCDF4-enabled)g
+4572 y(lost.)150 4927 y FB(3.26)68 b(Ch)l(unking)p 150
+5241 1200 4 v 166 5308 a Ft(19)275 5340 y Fs(F)-6 b(or)25
+b(example,)h(the)g Fp(DOE)f(ARM)g Fs(program)i(often)f(uses)g
+Fm(att)p 2012 5340 24 4 v 34 w(t)n(yp)r(e)j Fs(=)c Fr(NC_CHAR)i
+Fs(and)p 2758 5340 V 59 w Fm(FillV)-6 b(alue)31 b Fs(=)25
+b(`)p Fr(-99999.)p Fs('.)p eop end
+%%Page: 73 79
+TeXDict begin 73 78 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(73)150 51 y Fk(\013)p
+200 51 3554 4 v 3553 w(\010)p 150 980 4 881 v 178 188
+a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncap2)p FD(,)30 b
+Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h Fy(ncecat)p FD(,)f
+Fy(ncflint)p FD(,)f Fy(ncks)p FD(,)i Fy(ncpdq)p FD(,)f
+Fy(ncra)p FD(,)g Fy(ncrcat)p FD(,)g Fy(ncwa)178 297 y
+FD(Short)h(options:)41 b(none)178 407 y(Long)31 b(options:)41
+b(`)p Fy(--cnk_byt)28 b Fn(cnk_sz)p FD(',)h(`)p Fy(--chunk_byte)e
+Fn(cnk_sz)p FD(')178 516 y(`)p Fy(--cnk_dmn)h Fn(dmn_nm)p
+Fy(,)p Fn(cnk_sz)p FD(',)g(`)p Fy(--chunk_dimension)d
+Fn(dmn_nm)p Fy(,)p Fn(cnk_sz)p FD(')178 626 y(,)31 b(`)p
+Fy(--cnk_map)d Fn(cnk_map)p FD(',)h(`)p Fy(--chunk_map)e
+Fn(cnk_map)p FD(',)178 736 y(`)p Fy(--cnk_plc)h Fn(cnk_plc)p
+FD(',)h(`)p Fy(--chunk_policy)e Fn(cnk_plc)p FD(',)178
+845 y(`)p Fy(--cnk_scl)h Fn(cnk_sz)p FD(',)h(`)p Fy(--chunk_scalar)e
+Fn(cnk_sz)p FD(')p 3803 980 V 150 1031 a Fk(\012)p 200
+1031 3554 4 v 3553 w(\011)275 1205 y FD(All)k(netCDF4-enabled)g
FC(NCO)g FD(op)s(erators)f(that)h(de\014ne)f(v)-5 b(ariables)31
-b(supp)s(ort)e(a)h(plethora)h(of)g(c)m(h)m(unk-)150 4902
+b(supp)s(ort)e(a)h(plethora)h(of)g(c)m(h)m(unk-)150 1314
y(size)39 b(options.)63 b(Ch)m(unking)36 b(can)i(signi\014can)m(tly)h
(accelerate)i(or)d(degrade)g(read/write)g(access)h(to)g(large)150
-5011 y(datasets.)67 b(Dataset)42 b(c)m(h)m(unking)c(issues)h(are)g
+1424 y(datasets.)67 b(Dataset)42 b(c)m(h)m(unking)c(issues)h(are)g
(describ)s(ed)f(in)h(detail)h(here)e(\()p Fy(http:)7
-b(/)g(/)e(www)i(.)e(hdfgroup)i(.)150 5121 y(org)14 b(/)d(HDF5)j(/)d
+b(/)g(/)e(www)i(.)e(hdfgroup)i(.)150 1533 y(org)14 b(/)d(HDF5)j(/)d
(doc)j(/)d(H5)j(.)d(user)j(/)d(Chun)o(kin)o(g)j(.)d(ht)o(ml)p
FD(\),)46 b(here)i(\()p Fy(http:)14 b(/)g(/)d(www)j(.)d(unidata)j(.)d
-(ucar)j(.)d(ed)o(u)j(/)150 5230 y(blogs)s(/)r(developer)s(/)r(en)s(/)r
+(ucar)j(.)d(ed)o(u)j(/)150 1643 y(blogs)s(/)r(developer)s(/)r(en)s(/)r
(entry)s(/)r(chunk)o(ing_)o(dat)o(a_wh)o(y_it)o(_ma)o(tter)o(s)p
FD(\),)30 b(and)j(here)h(\()p Fy(http:)s(/)s(/)r(www)s(.)150
-5340 y(unidata.ucar.edu/blogs/d)o(evel)o(oper)o(/en)o(/ent)o(ry/c)o
+1753 y(unidata.ucar.edu/blogs/d)o(evel)o(oper)o(/en)o(/ent)o(ry/c)o
(hun)o(king)o(_dat)o(a_c)o(hoos)o(ing_)o(sha)o(pes)p
-FD(\).)p eop end
-%%Page: 73 79
-TeXDict begin 73 78 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(73)275 299 y(The)23
-b FC(NCO)g FD(c)m(h)m(unking)h(implemen)m(tation)h(is)f(designed)f(to)h
-(b)s(e)g(\015exible.)38 b(Users)24 b(con)m(trol)h(three)f(asp)s(ects)
-150 408 y(of)33 b(the)g(c)m(h)m(unking)g(implemen)m(tation.)50
+FD(\).)275 1915 y(The)23 b FC(NCO)g FD(c)m(h)m(unking)h(implemen)m
+(tation)h(is)f(designed)f(to)h(b)s(e)g(\015exible.)38
+b(Users)24 b(con)m(trol)h(three)f(asp)s(ects)150 2025
+y(of)33 b(the)g(c)m(h)m(unking)g(implemen)m(tation.)50
b(These)32 b(are)i(kno)m(wn)e(as)h(the)g Fz(c)m(h)m(unking)g(p)s(olicy)
-p FD(,)h Fz(c)m(h)m(unking)f(map)p FD(,)150 518 y(and)d
+p FD(,)h Fz(c)m(h)m(unking)f(map)p FD(,)150 2134 y(and)d
Fz(c)m(h)m(unksize)p FD(.)44 b(The)30 b(\014rst)h(t)m(w)m(o)h(are)g
(high-lev)m(el)g(mec)m(hanisms)f(that)h(apply)f(to)h(an)e(en)m(tire)i
-(\014le)g(and)e(all)150 628 y(v)-5 b(ariables)30 b(and)e(dimensions,)h
+(\014le)g(and)e(all)150 2244 y(v)-5 b(ariables)30 b(and)e(dimensions,)h
(while)g(the)g(third)f(allo)m(ws)j(p)s(er-dimension)c(sp)s
-(eci\014cation)j(of)f(parameters.)150 737 y(The)20 b(implemen)m(tation)
-i(is)e(a)h(h)m(ybrid)e(of)i(the)f Fy(ncpdq)f FD(pac)m(king)i(p)s
-(olicies)g(\(see)h(Section)f(4.8)g([ncp)s(dq)e(netCDF)150
-847 y(P)m(erm)m(ute)28 b(Dimensions)f(Quic)m(kly],)h(page)g(189\),)h
-(and)e(the)g(h)m(yp)s(erslab)e(sp)s(eci\014cations)j(\(see)g(Section)f
-(3.15)150 956 y([Hyp)s(erslabs],)39 b(page)g(55\).)63
+(eci\014cation)j(of)f(parameters.)150 2354 y(The)20 b(implemen)m
+(tation)i(is)e(a)h(h)m(ybrid)e(of)i(the)f Fy(ncpdq)f
+FD(pac)m(king)i(p)s(olicies)g(\(see)h(Section)f(4.8)g([ncp)s(dq)e
+(netCDF)150 2463 y(P)m(erm)m(ute)28 b(Dimensions)f(Quic)m(kly],)h(page)
+g(190\),)h(and)e(the)g(h)m(yp)s(erslab)e(sp)s(eci\014cations)j(\(see)g
+(Section)f(3.15)150 2573 y([Hyp)s(erslabs],)39 b(page)g(55\).)63
b(Eac)m(h)39 b(asp)s(ect)f(is)f(in)m(tended)h(to)g(ha)m(v)m(e)h(a)f
-(sensible)g(default,)h(so)f(that)h(most)150 1066 y(users)c(will)h(only)
+(sensible)g(default,)h(so)f(that)h(most)150 2682 y(users)c(will)h(only)
g(need)g(to)h(set)f(one)g(switc)m(h)h(to)f(obtain)h(sensible)e(c)m(h)m
(unking.)58 b(P)m(o)m(w)m(er)37 b(users)e(can)h(tune)150
-1176 y(the)31 b(three)f(switc)m(hes)h(in)f(tandem)h(to)g(obtain)f
-(optimal)i(p)s(erformance.)275 1335 y(The)j(user)h(sp)s(eci\014es)f
+2792 y(the)31 b(three)f(switc)m(hes)h(in)f(tandem)h(to)g(obtain)f
+(optimal)i(p)s(erformance.)275 2955 y(The)j(user)h(sp)s(eci\014es)f
(the)i(desired)e(c)m(h)m(unking)h(p)s(olicy)h(with)f(the)g(`)p
Fy(-P)p FD(')g(switc)m(h)h(\(or)f(its)h(long)f(option)150
-1445 y(equiv)-5 b(alen)m(ts,)33 b(`)p Fy(--cnk_plc)p
+3064 y(equiv)-5 b(alen)m(ts,)33 b(`)p Fy(--cnk_plc)p
FD(')c(and)i(`)p Fy(--chunk_policy)p FD('\))d(and)i(its)i
-Fz(cnk)p 2568 1445 28 4 v 40 w(plc)37 b FD(argumen)m(t.)43
-b(As)32 b(of)f(August,)150 1555 y(2014,)h(six)f(c)m(h)m(unking)f(p)s
-(olicies)h(are)g(curren)m(tly)g(implemen)m(ted:)150 1849
-y Fz(Ch)m(unk)e(All)i(V)-8 b(ariables)630 1959 y FD(De\014nition:)49
-b(Ch)m(unk)33 b(all)i(v)-5 b(ariables)35 b(p)s(ossible.)51
-b(F)-8 b(or)35 b(ob)m(vious)g(reasons,)g(scalar)g(v)-5
-b(ariables)630 2069 y(cannot)31 b(b)s(e)f(c)m(h)m(unk)m(ed.)630
-2178 y(Alternate)i(in)m(v)m(o)s(cation:)43 b Fy(ncchunk)630
-2288 y Fz(cnk)p 775 2288 V 40 w(plc)36 b FD(k)m(ey)31
+Fz(cnk)p 2568 3064 28 4 v 40 w(plc)37 b FD(argumen)m(t.)43
+b(As)32 b(of)f(August,)150 3174 y(2014,)h(six)f(c)m(h)m(unking)f(p)s
+(olicies)h(are)g(implemen)m(ted:)150 3474 y Fz(Ch)m(unk)e(All)i(V)-8
+b(ariables)630 3584 y FD(De\014nition:)49 b(Ch)m(unk)33
+b(all)i(v)-5 b(ariables)35 b(p)s(ossible.)51 b(F)-8 b(or)35
+b(ob)m(vious)g(reasons,)g(scalar)g(v)-5 b(ariables)630
+3693 y(cannot)31 b(b)s(e)f(c)m(h)m(unk)m(ed.)630 3803
+y(Alternate)i(in)m(v)m(o)s(cation:)43 b Fy(ncchunk)630
+3912 y Fz(cnk)p 775 3912 V 40 w(plc)36 b FD(k)m(ey)31
b(v)-5 b(alues:)41 b(`)p Fy(all)p FD(',)30 b(`)p Fy(cnk_all)p
-FD(',)f(`)p Fy(plc_all)p FD(')630 2397 y(Mnemonic:)41
-b(All)150 2667 y Fz(Ch)m(unk)29 b(V)-8 b(ariables)32
+FD(',)f(`)p Fy(plc_all)p FD(')630 4022 y(Mnemonic:)41
+b(All)150 4297 y Fz(Ch)m(unk)29 b(V)-8 b(ariables)32
b(with)e(at)h(least)g(Tw)m(o)g(Dimensions)g([)p Fo(default)9
-b Fz(])630 2777 y FD(De\014nition:)41 b(Ch)m(unk)29 b(all)j(v)-5
+b Fz(])630 4407 y FD(De\014nition:)41 b(Ch)m(unk)29 b(all)j(v)-5
b(ariables)31 b(p)s(ossible)e(with)i(at)g(least)g(t)m(w)m(o)h
-(dimensions)630 2886 y(Alternate)g(in)m(v)m(o)s(cation:)43
-b(none)630 2996 y Fz(cnk)p 775 2996 V 40 w(plc)36 b FD(k)m(ey)31
+(dimensions)630 4517 y(Alternate)g(in)m(v)m(o)s(cation:)43
+b(none)630 4626 y Fz(cnk)p 775 4626 V 40 w(plc)36 b FD(k)m(ey)31
b(v)-5 b(alues:)41 b(`)p Fy(g2d)p FD(',)30 b(`)p Fy(cnk_g2d)p
-FD(',)f(`)p Fy(plc_g2d)p FD(')630 3106 y(Mnemonic:)41
+FD(',)f(`)p Fy(plc_g2d)p FD(')630 4736 y(Mnemonic:)41
b Fo(G)8 b FD(reater)32 b(than)e(or)g(equal)h(to)g Fo(2)43
-b(D)9 b FD(imensions)150 3376 y Fz(Ch)m(unk)29 b(V)-8
+b(D)9 b FD(imensions)150 5011 y Fz(Ch)m(unk)29 b(V)-8
b(ariables)32 b(with)e(at)h(least)g(Three)f(Dimensions)630
-3485 y FD(De\014nition:)41 b(Ch)m(unk)29 b(all)j(v)-5
+5121 y FD(De\014nition:)41 b(Ch)m(unk)29 b(all)j(v)-5
b(ariables)31 b(p)s(ossible)e(with)i(at)g(least)g(three)g(dimensions)
-630 3595 y(Alternate)h(in)m(v)m(o)s(cation:)43 b(none)630
-3704 y Fz(cnk)p 775 3704 V 40 w(plc)36 b FD(k)m(ey)31
+630 5230 y(Alternate)h(in)m(v)m(o)s(cation:)43 b(none)630
+5340 y Fz(cnk)p 775 5340 V 40 w(plc)36 b FD(k)m(ey)31
b(v)-5 b(alues:)41 b(`)p Fy(g3d)p FD(',)30 b(`)p Fy(cnk_g3d)p
-FD(',)f(`)p Fy(plc_g3d)p FD(')630 3814 y(Mnemonic:)41
-b Fo(G)8 b FD(reater)32 b(than)e(or)g(equal)h(to)g Fo(3)43
-b(D)9 b FD(imensions)150 4084 y Fz(Ch)m(unk)29 b(One-Dimensional)i
-(Record)g(V)-8 b(ariables)630 4193 y FD(De\014nition:)41
-b(Ch)m(unk)29 b(all)j(1-D)f(record)f(v)-5 b(ariables)630
-4303 y(Alternate)32 b(in)m(v)m(o)s(cation:)43 b(none)630
-4413 y(An)m(y)34 b(sp)s(eci\014ed)g(\(with)h(`)p Fy(--cnk_dmn)p
-FD('\))d(record)j(dimension)f(c)m(h)m(unksizes)h(will)f(b)s(e)g
-(applied)630 4522 y(to)f(1-D)g(record)f(v)-5 b(ariables)33
-b(\(and)f(to)h(no)f(other)g(v)-5 b(ariables\).)47 b(Other)31
-b(dimensions)h(ma)m(y)h(b)s(e)630 4632 y(c)m(h)m(unk)m(ed)39
-b(with)g(their)g(o)m(wn)g(`)p Fy(--cnk_dmn)p FD(')e(options)j(that)f
-(will)h(apply)e(to)i(all)g(v)-5 b(ariables.)630 4741
-y Fz(cnk)p 775 4741 V 40 w(plc)36 b FD(k)m(ey)31 b(v)-5
-b(alues:)41 b(`)p Fy(r1d)p FD(',)30 b(`)p Fy(cnk_r1d)p
-FD(',)f(`)p Fy(plc_r1d)p FD(')630 4851 y(Mnemonic:)41
-b Fo(R)t FD(ecord)31 b Fo(1)p FD(-)p Fo(D)39 b FD(v)-5
-b(ariables)150 5121 y Fz(Ch)m(unk)29 b(V)-8 b(ariables)32
-b(Con)m(taining)f(Explicitly)g(Ch)m(unk)m(ed)f(Dimensions)630
-5230 y FD(De\014nition:)62 b(Ch)m(unk)40 b(all)i(v)-5
-b(ariables)41 b(p)s(ossible)g(that)g(con)m(tain)h(at)g(least)g(one)g
-(dimension)630 5340 y(whose)j(c)m(h)m(unksize)h(w)m(as)g(explicitly)h
-(set)f(with)f(the)h(`)p Fy(--cnk_dmn)p FD(')d(option.)86
-b(Alternate)p eop end
+FD(',)f(`)p Fy(plc_g3d)p FD(')p eop end
%%Page: 74 80
TeXDict begin 74 79 bop 150 -116 a FD(74)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)630 299 y(in)m(v)m(o)s(cation:)43
-b(none)630 408 y Fz(cnk)p 775 408 28 4 v 40 w(plc)36
-b FD(k)m(ey)31 b(v)-5 b(alues:)41 b(`)p Fy(xpl)p FD(',)30
-b(`)p Fy(cnk_xpl)p FD(',)f(`)p Fy(plc_xpl)p FD(')630
-518 y(Mnemonic:)41 b(E)p Fo(XPL)p FD(icitly)31 b(sp)s(eci\014ed)f
-(dimensions)150 803 y Fz(Ch)m(unk)f(V)-8 b(ariables)32
-b(with)e(Existing)h(Ch)m(unk)d(Sizes)630 913 y FD(De\014nition:)46
-b(Ch)m(unk)31 b(all)i(v)-5 b(ariables)33 b(p)s(ossible)f(that)h(are)g
-(already)g(c)m(h)m(unk)m(ed)g(in)f(the)h(input)630 1023
-y(\014le.)55 b(When)35 b(used)f(in)h(conjunction)g(with)g(`)p
-Fy(cnk_map=xst)p FD(')e(this)i(option)g(preserv)m(es)h(and)630
-1132 y(copies)j(the)f(c)m(h)m(unking)g(parameters)h(from)e(the)i(input)
-e(to)i(the)f(output)g(\014le.)63 b(Alternate)630 1242
-y(in)m(v)m(o)s(cation:)43 b(none)630 1351 y Fz(cnk)p
-775 1351 V 40 w(plc)36 b FD(k)m(ey)31 b(v)-5 b(alues:)41
-b(`)p Fy(xst)p FD(',)30 b(`)p Fy(cnk_xst)p FD(',)f(`)p
-Fy(plc_xst)p FD(')630 1461 y(Mnemonic:)41 b(E)p Fo(X)14
-b FD(i)p Fo(ST)e FD(ing)31 b(c)m(h)m(unk)f(sizes)150
-1746 y Fz(Unc)m(h)m(unking)630 1856 y FD(De\014nition:)68
+b FD(4.4.6)j(User)d(Guide)630 299 y(Mnemonic:)41 b Fo(G)8
+b FD(reater)32 b(than)e(or)g(equal)h(to)g Fo(3)43 b(D)9
+b FD(imensions)150 569 y Fz(Ch)m(unk)29 b(One-Dimensional)i(Record)g(V)
+-8 b(ariables)630 678 y FD(De\014nition:)41 b(Ch)m(unk)29
+b(all)j(1-D)f(record)f(v)-5 b(ariables)630 788 y(Alternate)32
+b(in)m(v)m(o)s(cation:)43 b(none)630 898 y(An)m(y)34
+b(sp)s(eci\014ed)g(\(with)h(`)p Fy(--cnk_dmn)p FD('\))d(record)j
+(dimension)f(c)m(h)m(unksizes)h(will)f(b)s(e)g(applied)630
+1007 y(to)f(1-D)g(record)f(v)-5 b(ariables)33 b(\(and)f(to)h(no)f
+(other)g(v)-5 b(ariables\).)47 b(Other)31 b(dimensions)h(ma)m(y)h(b)s
+(e)630 1117 y(c)m(h)m(unk)m(ed)39 b(with)g(their)g(o)m(wn)g(`)p
+Fy(--cnk_dmn)p FD(')e(options)j(that)f(will)h(apply)e(to)i(all)g(v)-5
+b(ariables.)630 1226 y Fz(cnk)p 775 1226 28 4 v 40 w(plc)36
+b FD(k)m(ey)31 b(v)-5 b(alues:)41 b(`)p Fy(r1d)p FD(',)30
+b(`)p Fy(cnk_r1d)p FD(',)f(`)p Fy(plc_r1d)p FD(')630
+1336 y(Mnemonic:)41 b Fo(R)t FD(ecord)31 b Fo(1)p FD(-)p
+Fo(D)39 b FD(v)-5 b(ariables)150 1606 y Fz(Ch)m(unk)29
+b(V)-8 b(ariables)32 b(Con)m(taining)f(Explicitly)g(Ch)m(unk)m(ed)f
+(Dimensions)630 1715 y FD(De\014nition:)62 b(Ch)m(unk)40
+b(all)i(v)-5 b(ariables)41 b(p)s(ossible)g(that)g(con)m(tain)h(at)g
+(least)g(one)g(dimension)630 1825 y(whose)j(c)m(h)m(unksize)h(w)m(as)g
+(explicitly)h(set)f(with)f(the)h(`)p Fy(--cnk_dmn)p FD(')d(option.)86
+b(Alternate)630 1935 y(in)m(v)m(o)s(cation:)43 b(none)630
+2044 y Fz(cnk)p 775 2044 V 40 w(plc)36 b FD(k)m(ey)31
+b(v)-5 b(alues:)41 b(`)p Fy(xpl)p FD(',)30 b(`)p Fy(cnk_xpl)p
+FD(',)f(`)p Fy(plc_xpl)p FD(')630 2154 y(Mnemonic:)41
+b(E)p Fo(XPL)p FD(icitly)31 b(sp)s(eci\014ed)f(dimensions)150
+2424 y Fz(Ch)m(unk)f(V)-8 b(ariables)32 b(with)e(Existing)h(Ch)m(unk)d
+(Sizes)630 2533 y FD(De\014nition:)46 b(Ch)m(unk)31 b(all)i(v)-5
+b(ariables)33 b(p)s(ossible)f(that)h(are)g(already)g(c)m(h)m(unk)m(ed)g
+(in)f(the)h(input)630 2643 y(\014le.)55 b(When)35 b(used)f(in)h
+(conjunction)g(with)g(`)p Fy(cnk_map=xst)p FD(')e(this)i(option)g
+(preserv)m(es)h(and)630 2752 y(copies)j(the)f(c)m(h)m(unking)g
+(parameters)h(from)e(the)i(input)e(to)i(the)f(output)g(\014le.)63
+b(Alternate)630 2862 y(in)m(v)m(o)s(cation:)43 b(none)630
+2972 y Fz(cnk)p 775 2972 V 40 w(plc)36 b FD(k)m(ey)31
+b(v)-5 b(alues:)41 b(`)p Fy(xst)p FD(',)30 b(`)p Fy(cnk_xst)p
+FD(',)f(`)p Fy(plc_xst)p FD(')630 3081 y(Mnemonic:)41
+b(E)p Fo(X)14 b FD(i)p Fo(ST)e FD(ing)31 b(c)m(h)m(unk)f(sizes)150
+3351 y Fz(Unc)m(h)m(unking)630 3461 y FD(De\014nition:)68
b(Unc)m(h)m(unk)43 b(all)h(v)-5 b(ariables)45 b(p)s(ossible.)80
b(The)43 b FC(HDF5)h FD(storge)g(la)m(y)m(er)h(requires)630
-1965 y(that)27 b(record)g(v)-5 b(ariables)28 b(\(i.e.,)h(v)-5
+3570 y(that)27 b(record)g(v)-5 b(ariables)28 b(\(i.e.,)h(v)-5
b(ariables)28 b(that)f(con)m(tain)h(at)g(least)g(one)f(record)g
-(dimension\))630 2075 y(m)m(ust)35 b(b)s(e)g(c)m(h)m(unk)m(ed.)55
+(dimension\))630 3680 y(m)m(ust)35 b(b)s(e)g(c)m(h)m(unk)m(ed.)55
b(Also)36 b(v)-5 b(ariables)36 b(that)g(are)g(compressed)f(or)g(use)g
-(c)m(hec)m(ksums)h(m)m(ust)630 2185 y(b)s(e)30 b(c)m(h)m(unk)m(ed.)41
+(c)m(hec)m(ksums)h(m)m(ust)630 3789 y(b)s(e)30 b(c)m(h)m(unk)m(ed.)41
b(Suc)m(h)29 b(v)-5 b(ariables)31 b(cannot)g(b)s(e)f(unc)m(h)m(unk)m
-(ed.)630 2294 y(Alternate)i(in)m(v)m(o)s(cation:)43 b
-Fy(ncunchunk)630 2404 y Fz(cnk)p 775 2404 V 40 w(plc)36
+(ed.)630 3899 y(Alternate)i(in)m(v)m(o)s(cation:)43 b
+Fy(ncunchunk)630 4009 y Fz(cnk)p 775 4009 V 40 w(plc)36
b FD(k)m(ey)31 b(v)-5 b(alues:)41 b(`)p Fy(uck)p FD(',)30
b(`)p Fy(cnk_uck)p FD(',)f(`)p Fy(plc_uck)p FD(',)h(`)p
-Fy(unchunk)p FD(')630 2513 y(Mnemonic:)41 b Fo(U)15 b
-FD(n)p Fo(C)e FD(h)m(un)p Fo(K)150 2824 y FD(Equiv)-5
+Fy(unchunk)p FD(')630 4118 y(Mnemonic:)41 b Fo(U)15 b
+FD(n)p Fo(C)e FD(h)m(un)p Fo(K)150 4413 y FD(Equiv)-5
b(alen)m(t)26 b(k)m(ey)g(v)-5 b(alues)26 b(are)g(fully)f(in)m(terc)m
(hangeable.)41 b(Multiple)26 b(equiv)-5 b(alen)m(t)27
-b(options)f(are)f(pro)m(vided)g(to)150 2933 y(satisfy)g(disparate)g
+b(options)f(are)f(pro)m(vided)g(to)150 4523 y(satisfy)g(disparate)g
(needs)f(and)g(tastes)h(of)g FC(NCO)f FD(users)g(w)m(orking)g(with)h
-(scripts)f(and)g(from)g(the)g(command)150 3043 y(line.)275
-3210 y(The)32 b(c)m(h)m(unking)h(algorithms)h(m)m(ust)f(kno)m(w)g(the)h
+(scripts)f(and)g(from)g(the)g(command)150 4632 y(line.)275
+4792 y(The)32 b(c)m(h)m(unking)h(algorithms)h(m)m(ust)f(kno)m(w)g(the)h
(c)m(h)m(unksizes)f(of)h(eac)m(h)g(dimension)f(of)g(eac)m(h)h(v)-5
-b(ariable)150 3320 y(to)29 b(b)s(e)e(c)m(h)m(unk)m(ed.)40
+b(ariable)150 4902 y(to)29 b(b)s(e)e(c)m(h)m(unk)m(ed.)40
b(The)28 b(corresp)s(ondence)f(b)s(et)m(w)m(een)i(the)f(input)f(v)-5
b(ariable)29 b(shap)s(e)e(and)g(the)h(c)m(h)m(unksizes)h(is)150
-3429 y(called)i(the)e Fz(c)m(h)m(unking)g(map)p FD(.)40
+5011 y(called)i(the)e Fz(c)m(h)m(unking)g(map)p FD(.)40
b(The)29 b(user)g(sp)s(eci\014es)g(the)h(desired)e(c)m(h)m(unking)i
(map)f(with)g(the)g(`)p Fy(-M)p FD(')g(switc)m(h)150
-3539 y(\(or)c(its)g(long)g(option)g(equiv)-5 b(alen)m(ts,)27
+5121 y(\(or)c(its)g(long)g(option)g(equiv)-5 b(alen)m(ts,)27
b(`)p Fy(--cnk_map)p FD(')22 b(and)i(`)p Fy(--chunk_map)p
-FD('\))f(and)h(its)g Fz(cnk)p 3115 3539 V 40 w(map)j
-FD(argumen)m(t.)150 3649 y(F)-8 b(our)31 b(c)m(h)m(unking)f(maps)g(are)
-h(curren)m(tly)f(implemen)m(ted:)150 3959 y Fz(Ch)m(unksize)g(Equals)g
-(Dimension)h(Size)g([)p Fo(default)9 b Fz(])630 4068
-y FD(De\014nition:)43 b(Ch)m(unksize)30 b(defaults)h(to)h(dimension)f
-(size.)44 b(Explicitly)32 b(sp)s(ecify)e(c)m(h)m(unksizes)630
-4178 y(for)g(particular)h(dimensions)e(with)i(`)p Fy(--cnk_dmn)p
-FD(')d(option.)630 4288 y Fz(cnk)p 775 4288 V 40 w(map)33
-b FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(dmn)p FD(',)30
-b(`)p Fy(cnk_dmn)p FD(',)f(`)p Fy(map_dmn)p FD(')630
-4397 y(Mnemonic:)41 b Fo(D)9 b FD(i)p Fo(M)15 b FD(e)p
-Fo(N)g FD(sion)150 4682 y Fz(Ch)m(unksize)30 b(Equals)g(Dimension)h
-(Size)g(except)g(Record)g(Dimension)630 4792 y FD(De\014nition:)52
-b(Ch)m(unksize)35 b(equals)h(dimension)f(size)h(except)g(record)g
-(dimension)f(has)g(size)630 4902 y(one.)55 b(Explicitly)36
-b(sp)s(ecify)f(c)m(h)m(unksizes)h(for)e(particular)i(dimensions)e(with)
-h(`)p Fy(--cnk_dmn)p FD(')630 5011 y(option.)630 5121
-y Fz(cnk)p 775 5121 V 40 w(map)e FD(k)m(ey)e(v)-5 b(alues:)41
-b(`)p Fy(rd1)p FD(',)30 b(`)p Fy(cnk_rd1)p FD(',)f(`)p
-Fy(map_rd1)p FD(')630 5230 y(Mnemonic:)41 b Fo(R)t FD(ecord)31
-b Fo(D)9 b FD(imension)29 b(size)i Fo(1)p eop end
+FD('\))f(and)h(its)g Fz(cnk)p 3115 5121 V 40 w(map)j
+FD(argumen)m(t.)150 5230 y(F)-8 b(our)31 b(c)m(h)m(unking)f(maps)g(are)
+h(curren)m(tly)f(implemen)m(ted:)p eop end
%%Page: 75 81
TeXDict begin 75 80 bop 150 -116 a FD(Chapter)30 b(3:)41
b(NCO)30 b(F)-8 b(eatures)2475 b(75)150 299 y Fz(Ch)m(unksize)30
-b(Equals)g(Scalar)h(Size)g(Sp)s(eci\014ed)630 408 y FD(De\014nition:)41
+b(Equals)g(Dimension)h(Size)g([)p Fo(default)9 b Fz(])630
+408 y FD(De\014nition:)43 b(Ch)m(unksize)30 b(defaults)h(to)h
+(dimension)f(size.)44 b(Explicitly)32 b(sp)s(ecify)e(c)m(h)m(unksizes)
+630 518 y(for)g(particular)h(dimensions)e(with)i(`)p
+Fy(--cnk_dmn)p FD(')d(option.)630 628 y Fz(cnk)p 775
+628 28 4 v 40 w(map)33 b FD(k)m(ey)e(v)-5 b(alues:)41
+b(`)p Fy(dmn)p FD(',)30 b(`)p Fy(cnk_dmn)p FD(',)f(`)p
+Fy(map_dmn)p FD(')630 737 y(Mnemonic:)41 b Fo(D)9 b FD(i)p
+Fo(M)15 b FD(e)p Fo(N)g FD(sion)150 1000 y Fz(Ch)m(unksize)30
+b(Equals)g(Dimension)h(Size)g(except)g(Record)g(Dimension)630
+1110 y FD(De\014nition:)52 b(Ch)m(unksize)35 b(equals)h(dimension)f
+(size)h(except)g(record)g(dimension)f(has)g(size)630
+1219 y(one.)55 b(Explicitly)36 b(sp)s(ecify)f(c)m(h)m(unksizes)h(for)e
+(particular)i(dimensions)e(with)h(`)p Fy(--cnk_dmn)p
+FD(')630 1329 y(option.)630 1439 y Fz(cnk)p 775 1439
+V 40 w(map)e FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(rd1)p
+FD(',)30 b(`)p Fy(cnk_rd1)p FD(',)f(`)p Fy(map_rd1)p
+FD(')630 1548 y(Mnemonic:)41 b Fo(R)t FD(ecord)31 b Fo(D)9
+b FD(imension)29 b(size)i Fo(1)150 1811 y Fz(Ch)m(unksize)f(Equals)g
+(Scalar)h(Size)g(Sp)s(eci\014ed)630 1921 y FD(De\014nition:)41
b(Ch)m(unksize)30 b(for)g(all)i(dimensions)d(is)i(set)g(with)f(the)g(`)
-p Fy(--cnk_scl)p FD(')f(option.)630 518 y Fz(cnk)p 775
-518 28 4 v 40 w(map)k FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p
+p Fy(--cnk_scl)p FD(')f(option.)630 2030 y Fz(cnk)p 775
+2030 V 40 w(map)k FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p
Fy(xpl)p FD(',)30 b(`)p Fy(cnk_xpl)p FD(',)f(`)p Fy(map_xpl)p
-FD(')630 628 y(Mnemonic:)41 b(E)p Fo(XPL)p FD(icitly)31
-b(sp)s(eci\014ed)f(dimensions)150 908 y Fz(Ch)m(unksize)g(Pro)s(duct)f
-(Matc)m(hes)j(Scalar)f(Size)g(Sp)s(eci\014ed)630 1017
+FD(')630 2140 y(Mnemonic:)41 b(E)p Fo(XPL)p FD(icitly)31
+b(sp)s(eci\014ed)f(dimensions)150 2403 y Fz(Ch)m(unksize)g(Pro)s(duct)f
+(Matc)m(hes)j(Scalar)f(Size)g(Sp)s(eci\014ed)630 2513
y FD(De\014nition:)47 b(The)32 b(pro)s(duct)g(of)i(the)f(c)m(h)m
(unksizes)h(for)f(eac)m(h)h(v)-5 b(ariable)34 b(matc)m(hes)g(\(appro)m
-(xi-)630 1127 y(mately)f(equals\))g(the)f(size)g(sp)s(eci\014ed)f(with)
+(xi-)630 2622 y(mately)f(equals\))g(the)f(size)g(sp)s(eci\014ed)f(with)
h(the)g(`)p Fy(--cnk_scl)p FD(')e(option.)46 b(A)31 b(dimension)h(of)
-630 1236 y(size)37 b(one)g(is)f(said)h(to)g(b)s(e)f Fo(de)-5
+630 2732 y(size)37 b(one)g(is)f(said)h(to)g(b)s(e)f Fo(de)-5
b(gener)g(ate)p FD(.)60 b(F)-8 b(or)37 b(a)g(v)-5 b(ariable)37
b(of)g(rank)f Fz(R)g FD(\(i.e.,)k(with)c Fz(R)g FD(non-)630
-1346 y(degenerate)30 b(dimensions\),)f(the)g(c)m(h)m(unksize)h(in)e
+2841 y(degenerate)30 b(dimensions\),)f(the)g(c)m(h)m(unksize)h(in)e
(eac)m(h)i(non-degenerate)g(dimension)e(is)h(the)630
-1456 y Fz(R)p FD(th)h(ro)s(ot)h(of)f Fz(cnk)p 1256 1456
-V 40 w(scl)p FD(.)630 1565 y Fz(cnk)p 775 1565 V 40 w(map)j
+2951 y Fz(R)p FD(th)h(ro)s(ot)h(of)f Fz(cnk)p 1256 2951
+V 40 w(scl)p FD(.)630 3061 y Fz(cnk)p 775 3061 V 40 w(map)j
FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(prd)p FD(',)30
b(`)p Fy(cnk_prd)p FD(',)f(`)p Fy(map_prd)p FD(')630
-1675 y(Mnemonic:)41 b Fo(PR)t FD(o)p Fo(D)9 b FD(uct)150
-1955 y Fz(Ch)m(unksize)30 b(Lefter)h(Pro)s(duct)e(Matc)m(hes)j(Scalar)f
-(Size)g(Sp)s(eci\014ed)630 2064 y FD(De\014nition:)63
+3170 y(Mnemonic:)41 b Fo(PR)t FD(o)p Fo(D)9 b FD(uct)150
+3433 y Fz(Ch)m(unksize)30 b(Lefter)h(Pro)s(duct)e(Matc)m(hes)j(Scalar)f
+(Size)g(Sp)s(eci\014ed)630 3543 y FD(De\014nition:)63
b(The)40 b(pro)s(duct)g(of)h(the)g(c)m(h)m(unksizes)h(for)f(eac)m(h)h
-(v)-5 b(ariable)42 b(\(appro)m(ximately\))630 2174 y(equals)g(the)f
+(v)-5 b(ariable)42 b(\(appro)m(ximately\))630 3652 y(equals)g(the)f
(size)i(sp)s(eci\014ed)d(with)h(the)h(`)p Fy(--cnk_scl)p
-FD(')d(option.)74 b(This)41 b(is)g(accomplished)630 2283
+FD(')d(option.)74 b(This)41 b(is)g(accomplished)630 3762
y(b)m(y)d(using)f(dimension)h(sizes)h(as)f(c)m(h)m(unksizes)g(for)g
(the)g(righ)m(tmost)h(\(most)g(rapidly)f(v)-5 b(ary-)630
-2393 y(ing\))28 b(dimensions,)g(and)g(then)f(\\\015exing")i(the)f(c)m
+3871 y(ing\))28 b(dimensions,)g(and)g(then)f(\\\015exing")i(the)f(c)m
(h)m(unksize)h(of)f(the)g(leftmost)h(\(least)g(rapidly)630
-2503 y(v)-5 b(arying\))30 b(dimensions)f(suc)m(h)g(that)h(the)f(pro)s
+3981 y(v)-5 b(arying\))30 b(dimensions)f(suc)m(h)g(that)h(the)f(pro)s
(duct)g(of)g(all)i(c)m(h)m(unksizes)f(matc)m(hes)g(the)g(sp)s(eci-)630
-2612 y(\014ed)g(size.)42 b(All)31 b(dimensions)f(to)h(the)g(left)h(of)e
+4091 y(\014ed)g(size.)42 b(All)31 b(dimensions)f(to)h(the)g(left)h(of)e
(and)g(including)g(the)h(\014rst)f(record)h(dimension)630
-2722 y(de\014ne)f(the)g(left-hand)h(side.)40 b(This)30
+4200 y(de\014ne)f(the)g(left-hand)h(side.)40 b(This)30
b(map)g(w)m(as)h(\014rst)e(prop)s(osed)g(b)m(y)i(Chris)e(Bark)m(er.)630
-2831 y Fz(cnk)p 775 2831 V 40 w(map)k FD(k)m(ey)e(v)-5
+4310 y Fz(cnk)p 775 4310 V 40 w(map)k FD(k)m(ey)e(v)-5
b(alues:)41 b(`)p Fy(lfp)p FD(',)30 b(`)p Fy(cnk_lfp)p
-FD(',)f(`)p Fy(map_lfp)p FD(')630 2941 y(Mnemonic:)41
+FD(',)f(`)p Fy(map_lfp)p FD(')630 4419 y(Mnemonic:)41
b Fo(L)p FD(e)p Fo(F)12 b FD(ter)32 b Fo(P)9 b FD(ro)s(duct)150
-3221 y Fz(Ch)m(unksize)30 b(Equals)g(Existing)h(Ch)m(unksize)630
-3331 y FD(De\014nition:)54 b(Ch)m(unksizes)36 b(are)h(copied)g(from)f
+4682 y Fz(Ch)m(unksize)30 b(Equals)g(Existing)h(Ch)m(unksize)630
+4792 y FD(De\014nition:)54 b(Ch)m(unksizes)36 b(are)h(copied)g(from)f
(the)h(input)f(to)h(the)g(output)f(\014le)h(for)f(ev)m(ery)630
-3440 y(v)-5 b(ariable)36 b(that)f(is)g(c)m(h)m(unk)m(ed)g(in)f(the)h
+4902 y(v)-5 b(ariable)36 b(that)f(is)g(c)m(h)m(unk)m(ed)g(in)f(the)h
(input)f(\014le.)54 b(V)-8 b(ariables)36 b(not)f(c)m(h)m(unk)m(ed)g(in)
-f(the)h(input)630 3550 y(\014le)30 b(will)h(b)s(e)f(c)m(h)m(unk)m(ed)g
-(with)h(default)f(mappings.)630 3659 y Fz(cnk)p 775 3659
+f(the)h(input)630 5011 y(\014le)30 b(will)h(b)s(e)f(c)m(h)m(unk)m(ed)g
+(with)h(default)f(mappings.)630 5121 y Fz(cnk)p 775 5121
V 40 w(map)j FD(k)m(ey)e(v)-5 b(alues:)41 b(`)p Fy(xst)p
FD(',)30 b(`)p Fy(cnk_xst)p FD(',)f(`)p Fy(map_xst)p
-FD(')630 3769 y(Mnemonic:)41 b(E)p Fo(X)14 b FD(i)p Fo(ST)150
-4049 y Fz(Ch)m(unksize)30 b(Balances)i(1D)f(and)f(\(N-1\)-D)j(Access)e
-(to)g(N-D)g(V)-8 b(ariable)630 4158 y FD(De\014nition:)40
-b(Ch)m(unksizes)27 b(are)i(c)m(hosen)f(so)g(that)h(1-D)g(and)e(\()p
-Fz(\(N-1\))q FD(\)-D)k(h)m(yp)s(erslabs)c(of)h Fz(3)p
-FD(-D)630 4268 y(v)-5 b(ariables)41 b(\(e.g.,)k(p)s(oin)m(t-timeseries)
-d(orn)e(latitude/longitude)j(surfaces)e(of)f(3-D)i(\014elds\))630
-4378 y(b)s(oth)f(require)h(appro)m(ximately)h(the)g(n)m(um)m(b)s(er)d
-(of)j(c)m(h)m(unks.)75 b(Hence)43 b(their)f(access)h(time)630
-4487 y(should)31 b(b)s(e)g(balanced.)44 b(Russ)31 b(Rew)h(explains)f
-(the)h(motiv)-5 b(ation)33 b(and)e(deriv)-5 b(ation)33
-b(for)e(this)630 4597 y(strategy)h(here)f(\()p Fy
-(http://www.unidata.ucar.edu/blogs/devel)o(oper)o(/en/ent)o(ry/)630
-4706 y(chunking_data_choosing_s)o(hape)o(s)p FD(\).)630
-4816 y Fz(cnk)p 775 4816 V 40 w(map)i FD(k)m(ey)e(v)-5
+FD(')630 5230 y(Mnemonic:)41 b(E)p Fo(X)14 b FD(i)p Fo(ST)p
+eop end
+%%Page: 76 82
+TeXDict begin 76 81 bop 150 -116 a FD(76)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y Fz(Ch)m(unksize)g(Balances)i(1D)f
+(and)f(\(N-1\)-D)j(Access)e(to)g(N-D)g(V)-8 b(ariable)630
+408 y FD(De\014nition:)40 b(Ch)m(unksizes)27 b(are)i(c)m(hosen)f(so)g
+(that)h(1-D)g(and)e(\()p Fz(\(N-1\))q FD(\)-D)k(h)m(yp)s(erslabs)c(of)h
+Fz(3)p FD(-D)630 518 y(v)-5 b(ariables)41 b(\(e.g.,)k(p)s(oin)m
+(t-timeseries)d(orn)e(latitude/longitude)j(surfaces)e(of)f(3-D)i
+(\014elds\))630 628 y(b)s(oth)f(require)h(appro)m(ximately)h(the)g(n)m
+(um)m(b)s(er)d(of)j(c)m(h)m(unks.)75 b(Hence)43 b(their)f(access)h
+(time)630 737 y(should)31 b(b)s(e)g(balanced.)44 b(Russ)31
+b(Rew)h(explains)f(the)h(motiv)-5 b(ation)33 b(and)e(deriv)-5
+b(ation)33 b(for)e(this)630 847 y(strategy)h(here)f(\()p
+Fy(http://www.unidata.ucar.edu/blogs/devel)o(oper)o(/en/ent)o(ry/)630
+956 y(chunking_data_choosing_s)o(hape)o(s)p FD(\).)630
+1066 y Fz(cnk)p 775 1066 28 4 v 40 w(map)i FD(k)m(ey)e(v)-5
b(alues:)41 b(`)p Fy(rew)p FD(',)30 b(`)p Fy(cnk_rew)p
-FD(',)f(`)p Fy(map_rew)p FD(')630 4926 y(Mnemonic:)41
-b(Russ)30 b Fo(REW)150 5230 y FD(It)49 b(is)g(p)s(ossible)f(to)i(com)m
+FD(',)f(`)p Fy(map_rew)p FD(')630 1176 y(Mnemonic:)41
+b(Russ)30 b Fo(REW)150 1492 y FD(It)49 b(is)g(p)s(ossible)f(to)i(com)m
(bine)g(the)f(ab)s(o)m(v)m(e)h(c)m(h)m(unking)f(map)f(algorithms)i
-(with)f(user-sp)s(eci\014ed)f(p)s(er-)150 5340 y(dimension)23
+(with)f(user-sp)s(eci\014ed)f(p)s(er-)150 1601 y(dimension)23
b(\(though)h(not)g(p)s(er-v)-5 b(ariable\))24 b(c)m(h)m(unksizes)g
(that)g(o)m(v)m(erride)h(sp)s(eci\014c)e(c)m(h)m(unksizes)h(determined)
-p eop end
-%%Page: 76 82
-TeXDict begin 76 81 bop 150 -116 a FD(76)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(b)m(y)i(the)h(maps)f(ab)s(o)m(v)m
-(e.)49 b(The)32 b(user)f(sp)s(eci\014es)i(the)f(p)s(er-dimension)g(c)m
-(h)m(unksizes)h(with)f(the)h(\(equiv)-5 b(alen)m(t\))150
-408 y(long)23 b(options)g(`)p Fy(--cnk_dmn)p FD(')d(or)i(`)p
+150 1711 y(b)m(y)32 b(the)h(maps)f(ab)s(o)m(v)m(e.)49
+b(The)32 b(user)f(sp)s(eci\014es)i(the)f(p)s(er-dimension)g(c)m(h)m
+(unksizes)h(with)f(the)h(\(equiv)-5 b(alen)m(t\))150
+1821 y(long)23 b(options)g(`)p Fy(--cnk_dmn)p FD(')d(or)i(`)p
Fy(--chunk_dimension)p FD('\).)34 b(The)22 b(option)h(tak)m(es)h(t)m(w)
-m(o)f(comma-separated)150 518 y(argumen)m(ts,)30 b Fz(dmn)p
-801 518 28 4 v 39 w(nm)p FD(,)p Fz(cnk)p 1131 518 V 40
-w(sz)p FD(,)g(whic)m(h)f(are)h(the)g(dimension)f(name)h(and)f(its)h(c)m
-(h)m(unksize,)h(resp)s(ectiv)m(ely)-8 b(.)150 628 y(The)30
+m(o)f(comma-separated)150 1930 y(argumen)m(ts,)30 b Fz(dmn)p
+801 1930 V 39 w(nm)p FD(,)p Fz(cnk)p 1131 1930 V 40 w(sz)p
+FD(,)g(whic)m(h)f(are)h(the)g(dimension)f(name)h(and)f(its)h(c)m(h)m
+(unksize,)h(resp)s(ectiv)m(ely)-8 b(.)150 2040 y(The)30
b(`)p Fy(--cnk_dmn)p FD(')e(option)j(ma)m(y)g(b)s(e)f(used)f(as)i(man)m
-(y)f(times)h(as)g(necessary)-8 b(.)390 847 y Fy(#)47
-b(Simple)g(chunking)e(and)i(unchunking)390 956 y(ncks)g(-O)g(-4)g
-(--cnk_plc=all)235 b(in.nc)46 b(out.nc)h(#)g(Chunk)f(in.nc)390
-1066 y(ncks)h(-O)g(-4)g(--cnk_plc=unchunk)c(in.nc)j(out.nc)h(#)g
-(Unchunk)f(in.nc)390 1285 y(#)h(Chunk)g(data)f(then)h(unchunk)f(it,)h
-(printing)e(informative)g(metadata)390 1395 y(ncks)i(-O)g(-4)g(-D)g(4)h
-(--cnk_plc=all)c(~/nco/data/in.nc)f(~/foo.nc)390 1504
+(y)f(times)h(as)g(necessary)-8 b(.)275 2210 y(The)25
+b(default)h(b)s(eha)m(vior)g(of)f(c)m(h)m(unking)h(dep)s(ends)e(on)i
+(sev)m(eral)h(factors.)40 b(When)25 b(no)h(c)m(h)m(unking)g(options)150
+2320 y(are)i(explicitly)h(sp)s(eci\014ed)d(b)m(y)i(the)f(user,)h(then)f
+(output)g(netCDF4)h(\014les)g(are)g(c)m(h)m(unk)m(ed)f(with)g(the)h
+(default)150 2430 y(b)s(eha)m(vior)e(of)h(the)f(netCDF4)h(library)-8
+b(.)40 b(When)26 b(an)m(y)g(c)m(h)m(unking)g(option)h
+Fo(exc)-5 b(ept)35 b FD(`)p Fy(cnk_plc)p FD(')25 b(or)h(`)p
+Fy(cnk_map)p FD(')150 2539 y(is)k(sp)s(eci\014ed,)g(then)g(`)p
+Fy(cnk_plc)p FD(')f(and)h(`)p Fy(cnk_map)p FD(')f(are)i(set)g(to)g(`)p
+Fy(g2d)p FD(')f(and)g(`)p Fy(rd1)p FD(',)g(resp)s(ectiv)m(ely)-8
+b(.)390 2710 y Fy(#)47 b(Simple)g(chunking)e(and)i(unchunking)390
+2819 y(ncks)g(-O)g(-4)g(--cnk_plc=all)235 b(in.nc)46
+b(out.nc)h(#)g(Chunk)f(in.nc)390 2929 y(ncks)h(-O)g(-4)g
+(--cnk_plc=unchunk)c(in.nc)j(out.nc)h(#)g(Unchunk)f(in.nc)390
+3148 y(#)h(Chunk)g(data)f(then)h(unchunk)f(it,)h(printing)e
+(informative)g(metadata)390 3258 y(ncks)i(-O)g(-4)g(-D)g(4)h
+(--cnk_plc=all)c(~/nco/data/in.nc)f(~/foo.nc)390 3367
y(ncks)k(-O)g(-4)g(-D)g(4)h(--cnk_plc=uck)c(~/foo.nc)h(~/foo.nc)390
-1724 y(#)i(Set)g(total)g(chunksize)e(to)i(8192)g(B)390
-1833 y(ncks)g(-O)g(-4)g(-D)g(4)h(--cnk_plc=all)c(--cnk_byt=8192)g
-(~/nco/data/in.nc)f(~/foo.nc)390 2052 y(#)k(More)g(complex)f(chunking)f
-(procedures,)g(with)i(informative)e(metadata)390 2162
+3587 y(#)i(Set)g(total)g(chunksize)e(to)i(8192)g(B)390
+3696 y(ncks)g(-O)g(-4)g(-D)g(4)h(--cnk_plc=all)c(--cnk_byt=8192)g
+(~/nco/data/in.nc)f(~/foo.nc)390 3915 y(#)k(More)g(complex)f(chunking)f
+(procedures,)g(with)i(informative)e(metadata)390 4025
y(ncks)i(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(~/nco/data/in.nc)g(~/foo.nc)
-390 2271 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(dstmch90_clm.nc)g
-(~/foo.nc)390 2381 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_dmn)d(lat,64)h
-(--cnk_dmn)f(lon,128)h(dstmch90_clm.nc)e(\\)438 2491
-y(~/foo.nc)390 2600 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_plc=uck)c
-(~/foo.nc)h(~/foo.nc)390 2710 y(ncks)i(-O)g(-4)g(-D)g(4)h
+390 4134 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(dstmch90_clm.nc)g
+(~/foo.nc)390 4244 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_dmn)d(lat,64)h
+(--cnk_dmn)f(lon,128)h(dstmch90_clm.nc)e(\\)438 4354
+y(~/foo.nc)390 4463 y(ncks)j(-O)g(-4)g(-D)g(4)h(--cnk_plc=uck)c
+(~/foo.nc)h(~/foo.nc)390 4573 y(ncks)i(-O)g(-4)g(-D)g(4)h
(--cnk_plc=g2d)c(--cnk_map=rd1)g(--cnk_dmn)h(lat,32)h(\\)438
-2819 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)390
-3039 y(#)47 b(Chunking)f(works)g(with)h(all)g(operators...)390
-3148 y(ncap2)f(-O)i(-4)f(-D)g(4)g(--cnk_scl=8)e(-S)i
-(~/nco/data/ncap2_tst.nco)41 b(\\)438 3258 y(~/nco/data/in.nc)i
-(~/foo.nc)390 3367 y(ncbo)k(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(-p)k
-(~/nco/data)d(in.nc)h(in.nc)g(~/foo.nc)390 3477 y(ncecat)g(-O)h(-4)g
-(-D)h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g(\\)438 3587
-y(-p)h(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h(~/foo.nc)390
-3696 y(ncflint)j(-O)h(-4)g(-D)g(4)h(--cnk_scl=8)d(~/nco/data/in.nc)e
-(~/foo.nc)390 3806 y(ncpdq)j(-O)i(-4)f(-D)g(4)g(-P)h(all_new)d
+4682 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)390
+4902 y(#)47 b(Chunking)f(works)g(with)h(all)g(operators...)390
+5011 y(ncap2)f(-O)i(-4)f(-D)g(4)g(--cnk_scl=8)e(-S)i
+(~/nco/data/ncap2_tst.nco)41 b(\\)438 5121 y(~/nco/data/in.nc)i
+(~/foo.nc)390 5230 y(ncbo)k(-O)g(-4)g(-D)g(4)h(--cnk_scl=8)c(-p)k
+(~/nco/data)d(in.nc)h(in.nc)g(~/foo.nc)390 5340 y(ncecat)g(-O)h(-4)g
+(-D)h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g(\\)p eop
+end
+%%Page: 77 83
+TeXDict begin 77 82 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(77)438 299 y Fy(-p)47
+b(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h(~/foo.nc)390
+408 y(ncflint)j(-O)h(-4)g(-D)g(4)h(--cnk_scl=8)d(~/nco/data/in.nc)e
+(~/foo.nc)390 518 y(ncpdq)j(-O)i(-4)f(-D)g(4)g(-P)h(all_new)d
(--cnk_scl=8)g(-L)i(5)h(~/nco/data/in.nc)43 b(~/foo.nc)390
-3915 y(ncrcat)j(-O)h(-4)g(-D)h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g
-(\\)438 4025 y(-p)h(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h
-(~/foo.nc)390 4134 y(ncwa)k(-O)g(-4)g(-D)g(4)h(-a)f(time)f
+628 y(ncrcat)j(-O)h(-4)g(-D)h(4)f(-n)g(12,2,1)f(--cnk_dmn)g(lat,32)g
+(\\)438 737 y(-p)h(/data/zender/dstmch90)42 b(dstmch90_clm01.nc)h
+(~/foo.nc)390 847 y(ncwa)k(-O)g(-4)g(-D)g(4)h(-a)f(time)f
(--cnk_plc=g2d)f(--cnk_map=rd1)f(--cnk_dmn)h(lat,32)h(\\)438
-4244 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)275
-4463 y FD(Ch)m(unking)27 b(p)s(olicy)i(`)p Fy(r1d)p FD(')g(c)m(hanges)g
+956 y(--cnk_dmn)f(lon,128)h(dstmch90_clm_0112.nc)c(~/foo.nc)275
+1123 y FD(Ch)m(unking)27 b(p)s(olicy)i(`)p Fy(r1d)p FD(')g(c)m(hanges)g
(the)g(c)m(h)m(unksize)h(of)f(1-D)h(record)f(v)-5 b(ariables)29
-b(\(and)g(no)f(other)h(v)-5 b(ari-)150 4573 y(ables\))25
+b(\(and)g(no)f(other)h(v)-5 b(ari-)150 1233 y(ables\))25
b(to)g(the)g(sp)s(eci\014ed)e(\(with)i(`)p Fy(--cnk_dmn)p
FD('\))d(c)m(h)m(unksize.)40 b(An)m(y)24 b(sp)s(eci\014ed)g(record)g
-(dimension)g(c)m(h)m(unk-)150 4682 y(sizes)33 b(will)f(b)s(e)g(applied)
+(dimension)g(c)m(h)m(unk-)150 1342 y(sizes)33 b(will)f(b)s(e)g(applied)
g(to)h(1-D)g(record)g(v)-5 b(ariables)32 b(only)-8 b(.)47
b(Other)32 b(dimensions)f(ma)m(y)i(b)s(e)f(c)m(h)m(unk)m(ed)g(with)150
-4792 y(their)e(o)m(wn)h(`)p Fy(--cnk_dmn)p FD(')d(options)j(that)g
+1452 y(their)e(o)m(wn)h(`)p Fy(--cnk_dmn)p FD(')d(options)j(that)g
(will)g(apply)f(to)h(all)g(v)-5 b(ariables.)41 b(F)-8
-b(or)31 b(example,)390 5011 y Fy(ncks)47 b(--cnk_plc=r1d)d
-(--cnk_dmn=time,1000.)e(in.nc)k(out.nc)275 5230 y FD(This)34
+b(or)31 b(example,)390 1618 y Fy(ncks)47 b(--cnk_plc=r1d)d
+(--cnk_dmn=time,1000.)e(in.nc)k(out.nc)275 1785 y FD(This)34
b(sets)h Fy(time)e FD(c)m(h)m(unks)i(to)g(1000)i(only)e(in)f(1-D)i
(record)f(v)-5 b(ariables.)55 b(Without)35 b(the)h(`)p
-Fy(r1d)p FD(')e(p)s(olicy)-8 b(,)150 5340 y Fy(time)29
+Fy(r1d)p FD(')e(p)s(olicy)-8 b(,)150 1894 y Fy(time)29
b FD(c)m(h)m(unks)h(w)m(ould)g(c)m(hange)i(in)e(all)h(v)-5
-b(ariables.)p eop end
-%%Page: 77 83
-TeXDict begin 77 82 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(77)275 299 y(It)32 b(is)g(appropriate)
-g(to)h(conclude)f(b)m(y)g(informing)f(users)g(ab)s(out)h(an)g(asp)s
-(ect)h(of)f(c)m(h)m(unking)g(that)g(ma)m(y)150 408 y(not)h(b)s(e)f(exp)
-s(ected.)48 b(Three)33 b(t)m(yp)s(es)f(of)h(v)-5 b(ariables)34
-b(are)f Fo(always)42 b FD(c)m(h)m(unk)m(ed:)k(Record)33
-b(v)-5 b(ariables,)34 b(De\015ated)150 518 y(\(compressed\))40
+b(ariables.)275 2061 y(It)32 b(is)g(appropriate)g(to)h(conclude)f(b)m
+(y)g(informing)f(users)g(ab)s(out)h(an)g(asp)s(ect)h(of)f(c)m(h)m
+(unking)g(that)g(ma)m(y)150 2171 y(not)h(b)s(e)f(exp)s(ected.)48
+b(Three)33 b(t)m(yp)s(es)f(of)h(v)-5 b(ariables)34 b(are)f
+Fo(always)42 b FD(c)m(h)m(unk)m(ed:)k(Record)33 b(v)-5
+b(ariables,)34 b(De\015ated)150 2280 y(\(compressed\))40
b(v)-5 b(ariables,)44 b(and)39 b(Chec)m(ksummed)h(v)-5
b(ariables.)70 b(Hence)41 b(all)g(v)-5 b(ariables)40
-b(that)h(con)m(tain)h(a)150 628 y(record)30 b(dimension)g(are)h(also)h
+b(that)h(con)m(tain)h(a)150 2390 y(record)30 b(dimension)g(are)h(also)h
(c)m(h)m(unk)m(ed)f(\(since)g(data)g(m)m(ust)f(b)s(e)g(c)m(h)m(unk)m
-(ed)h(in)f(all)i(dimensions,)e(not)h(just)150 737 y(one\).)62
+(ed)h(in)f(all)i(dimensions,)e(not)h(just)150 2499 y(one\).)62
b(Unless)37 b(otherwise)h(sp)s(eci\014ed)f(b)m(y)g(the)g(user,)i(the)e
(other)h(\(\014xed,)h(non-record\))e(dimensions)g(of)150
-847 y(record)d(v)-5 b(ariables)36 b(are)f(assigned)g(default)f(c)m(h)m
+2609 y(record)d(v)-5 b(ariables)36 b(are)f(assigned)g(default)f(c)m(h)m
(unk)h(sizes.)54 b(The)34 b FC(HDF5)h FD(la)m(y)m(er)h(do)s(es)e(all)i
-(this)e(automati-)150 956 y(cally)f(to)g(optimize)g(the)g(on-disk)f(v)
+(this)e(automati-)150 2718 y(cally)f(to)g(optimize)g(the)g(on-disk)f(v)
-5 b(ariable/\014le)33 b(storage)h(geometry)f(of)f(record)g(v)-5
-b(ariables.)46 b(Do)33 b(not)g(b)s(e)150 1066 y(surprised)f(to)i(learn)
+b(ariables.)46 b(Do)33 b(not)g(b)s(e)150 2828 y(surprised)f(to)i(learn)
g(that)g(\014les)f(created)i(without)e(an)m(y)h(explicit)h
(instructions)f(to)g(activ)-5 b(ate)36 b(c)m(h)m(unking)150
-1176 y(nev)m(ertheless)31 b(con)m(tain)h(c)m(h)m(unk)m(ed)f(v)-5
-b(ariables.)150 1444 y FB(3.27)68 b(De\015ation)150 1555
-y Fk(\013)p 200 1555 3554 4 v 3553 w(\010)p 150 2044
-4 442 v 178 1691 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncap2)p
+2938 y(nev)m(ertheless)31 b(con)m(tain)h(c)m(h)m(unk)m(ed)f(v)-5
+b(ariables.)150 3191 y FB(3.27)68 b(De\015ation)150 3302
+y Fk(\013)p 200 3302 3554 4 v 3553 w(\010)p 150 3792
+4 442 v 178 3438 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncap2)p
FD(,)30 b Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h Fy(ncecat)p
FD(,)f Fy(ncflint)p FD(,)f Fy(ncks)p FD(,)i Fy(ncpdq)p
FD(,)f Fy(ncra)p FD(,)g Fy(ncrcat)p FD(,)g Fy(ncwa)178
-1800 y FD(Short)h(options:)41 b(`)p Fy(-L)p FD(')178
-1910 y(Long)31 b(options:)41 b(`)p Fy(--dfl_lvl)p FD(',)28
-b(`)p Fy(--deflate)p FD(')p 3803 2044 V 150 2096 a Fk(\012)p
-200 2096 3554 4 v 3553 w(\011)275 2278 y FD(All)38 b
+3548 y FD(Short)h(options:)41 b(`)p Fy(-L)p FD(')178
+3657 y(Long)31 b(options:)41 b(`)p Fy(--dfl_lvl)p FD(',)28
+b(`)p Fy(--deflate)p FD(')p 3803 3792 V 150 3843 a Fk(\012)p
+200 3843 3554 4 v 3553 w(\011)275 4021 y FD(All)38 b
FC(NCO)f FD(op)s(erators)h(that)g(de\014ne)f(v)-5 b(ariables)39
b(supp)s(ort)d(the)i(netCDF4)g(feature)g(of)g(storing)g(v)-5
-b(ari-)150 2388 y(ables)35 b(compressed)g(with)f(Lemp)s(el-Ziv)h
+b(ari-)150 4130 y(ables)35 b(compressed)g(with)f(Lemp)s(el-Ziv)h
(de\015ation.)54 b(The)34 b(Lemp)s(el-Ziv)h(algorithm)h(is)f(a)g
-(lossless)g(data)150 2497 y(compression)e(tec)m(hnique.)50
+(lossless)g(data)150 4240 y(compression)e(tec)m(hnique.)50
b(Activ)-5 b(ate)35 b(this)f(de\015ation)f(with)g(the)g
Fy(-L)d Fn(dfl_lvl)h FD(short)i(option)h(\(or)f(with)150
-2607 y(the)e(same)g(argumen)m(t)h(to)f(the)g(`)p Fy(--dfl_lvl)p
+4349 y(the)e(same)g(argumen)m(t)h(to)f(the)g(`)p Fy(--dfl_lvl)p
FD(')e(or)i(`)p Fy(--deflate)p FD(')e(long)i(options\).)43
-b(Sp)s(ecify)30 b(the)i(de\015ation)150 2717 y(lev)m(el)i
-Fz(d\015)p 467 2717 28 4 v 39 w(lvl)i FD(on)d(a)f(scale)i(from)e(no)g
-(de\015ation)h(\()p Fz(d\015)p 1924 2717 V 39 w(lvl)g(=)f(0)7
+b(Sp)s(ecify)30 b(the)i(de\015ation)150 4459 y(lev)m(el)i
+Fz(d\015)p 467 4459 28 4 v 39 w(lvl)i FD(on)d(a)f(scale)i(from)e(no)g
+(de\015ation)h(\()p Fz(d\015)p 1924 4459 V 39 w(lvl)g(=)f(0)7
b FD(\))33 b(to)h(maxim)m(um)e(de\015ation)h(\()p Fz(d\015)p
-3370 2717 V 39 w(lvl)g(=)f(9)7 b FD(\).)150 2826 y(Minimal)35
-b(de\015ation)g(\()p Fz(d\015)p 1036 2826 V 40 w(lvl)g(=)f(1)7
+3370 4459 V 39 w(lvl)g(=)f(9)7 b FD(\).)150 4569 y(Minimal)35
+b(de\015ation)g(\()p Fz(d\015)p 1036 4569 V 40 w(lvl)g(=)f(1)7
b FD(\))36 b(ac)m(hiev)m(es)g(considerable)g(storage)g(compression)e
-(with)h(little)h(time)150 2936 y(p)s(enalt)m(y)-8 b(.)40
+(with)h(little)h(time)150 4678 y(p)s(enalt)m(y)-8 b(.)40
b(Higher)27 b(de\015ation)g(lev)m(els)h(require)f(more)f(time)i(for)e
(compression.)40 b(File)27 b(sizes)h(resulting)e(from)150
-3045 y(minimal)37 b(\()p Fz(d\015)p 653 3045 V 39 w(lvl)g(=)f(1)7
-b FD(\))37 b(and)f(maximal)h(\()p Fz(d\015)p 1755 3045
+4788 y(minimal)37 b(\()p Fz(d\015)p 653 4788 V 39 w(lvl)g(=)f(1)7
+b FD(\))37 b(and)f(maximal)h(\()p Fz(d\015)p 1755 4788
V 40 w(lvl)f(=)h(9)7 b FD(\))37 b(de\015ation)g(lev)m(els)h(t)m
-(ypically)g(di\013er)e(b)m(y)g(a)h(few)150 3155 y(p)s(ercen)m(t)30
-b(in)h(size.)275 3326 y(T)-8 b(o)30 b(compress)h(an)f(en)m(tire)h
-(\014le)g(using)e(de\015ation,)i(use)390 3498 y Fy(ncks)47
+(ypically)g(di\013er)e(b)m(y)g(a)h(few)150 4897 y(p)s(ercen)m(t)30
+b(in)h(size.)275 5064 y(T)-8 b(o)30 b(compress)h(an)f(en)m(tire)h
+(\014le)g(using)e(de\015ation,)i(use)390 5230 y Fy(ncks)47
b(-4)g(-L)g(0)g(in.nc)g(out.nc)f(#)h(No)h(deflation)d(\(fast,)h(no)h
-(time)g(penalty\))390 3607 y(ncks)g(-4)g(-L)g(1)g(in.nc)g(out.nc)f(#)h
-(Minimal)f(deflation)f(\(little)h(time)h(penalty\))390
-3717 y(ncks)g(-4)g(-L)g(9)g(in.nc)g(out.nc)f(#)h(Maximal)f(deflation)f
-(\(much)i(slower\))275 3888 y FD(Unscien)m(ti\014c)29
-b(testing)g(sho)m(ws)f(that)h(de\015ation)f(compresses)h(t)m(ypical)g
-(climate)h(datasets)g(b)m(y)e(30-60\045.)150 3998 y(P)m(ac)m(king,)51
-b(a)45 b(lossy)h(compression)f(tec)m(hnique)h(a)m(v)-5
-b(ailable)47 b(for)e(all)h(netCDF)g(\014les)f(\(see)h(Section)g(3.31)
-150 4108 y([P)m(ac)m(k)m(ed)33 b(data],)f(page)f(81\),)h(can)f(easily)h
-(compress)e(\014les)h(b)m(y)f(50\045.)42 b(P)m(ac)m(k)m(ed)33
-b(data)e(ma)m(y)h(b)s(e)e(de\015ated)g(to)150 4217 y(squeeze)h
-(datasets)h(b)m(y)e(ab)s(out)g(80\045:)390 4389 y Fy(ncks)94
-b(-4)48 b(-L)f(1)g(in.nc)g(out.nc)f(#)h(Minimal)f(deflation)f
-(\(~30-60\045)h(compression\))390 4498 y(ncks)94 b(-4)48
-b(-L)f(9)g(in.nc)g(out.nc)f(#)h(Maximal)f(deflation)f(\(~31-63\045)h
-(compression\))390 4608 y(ncpdq)428 b(in.nc)47 b(out.nc)f(#)h(Standard)
-f(packing)93 b(\(~50\045)47 b(compression\))390 4717
-y(ncpdq)f(-4)i(-L)f(9)g(in.nc)g(out.nc)f(#)h(Deflated)f(packing)93
-b(\(~80\045)47 b(compression\))275 4889 y(ncks)23 b FD(prin)m(ts)h
-(de\015ation)i(parameters,)g(if)f(an)m(y)-8 b(,)27 b(to)e(screen)g
-(\(see)h(Section)g(4.7)g([nc)m(ks)f(netCDF)g(Kitc)m(hen)150
-4998 y(Sink],)30 b(page)h(176\).)150 5267 y FB(3.28)68
-b(MD5)45 b(digests)p eop end
+(time)g(penalty\))390 5340 y(ncks)g(-4)g(-L)g(1)g(in.nc)g(out.nc)f(#)h
+(Minimal)f(deflation)f(\(little)h(time)h(penalty\))p
+eop end
%%Page: 78 84
TeXDict begin 78 83 bop 150 -116 a FD(78)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 51 y Fk(\013)p 200 51 3554
-4 v 3553 w(\010)p 150 541 4 442 v 178 188 a FD(Av)-5
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncks)47 b(-4)g(-L)g(9)g(in.nc)g
+(out.nc)f(#)h(Maximal)f(deflation)f(\(much)i(slower\))275
+469 y FD(Unscien)m(ti\014c)29 b(testing)g(sho)m(ws)f(that)h
+(de\015ation)f(compresses)h(t)m(ypical)g(climate)h(datasets)g(b)m(y)e
+(30-60\045.)150 578 y(P)m(ac)m(king,)51 b(a)45 b(lossy)h(compression)f
+(tec)m(hnique)h(a)m(v)-5 b(ailable)47 b(for)e(all)h(netCDF)g(\014les)f
+(\(see)h(Section)g(3.31)150 688 y([P)m(ac)m(k)m(ed)33
+b(data],)f(page)f(81\),)h(can)f(easily)h(compress)e(\014les)h(b)m(y)f
+(50\045.)42 b(P)m(ac)m(k)m(ed)33 b(data)e(ma)m(y)h(b)s(e)e(de\015ated)g
+(to)150 797 y(squeeze)h(datasets)h(b)m(y)e(ab)s(out)g(80\045:)390
+967 y Fy(ncks)94 b(-4)48 b(-L)f(1)g(in.nc)g(out.nc)f(#)h(Minimal)f
+(deflation)f(\(~30-60\045)h(compression\))390 1077 y(ncks)94
+b(-4)48 b(-L)f(9)g(in.nc)g(out.nc)f(#)h(Maximal)f(deflation)f
+(\(~31-63\045)h(compression\))390 1186 y(ncpdq)428 b(in.nc)47
+b(out.nc)f(#)h(Standard)f(packing)93 b(\(~50\045)47 b(compression\))390
+1296 y(ncpdq)f(-4)i(-L)f(9)g(in.nc)g(out.nc)f(#)h(Deflated)f(packing)93
+b(\(~80\045)47 b(compression\))275 1466 y(ncks)23 b FD(prin)m(ts)h
+(de\015ation)i(parameters,)g(if)f(an)m(y)-8 b(,)27 b(to)e(screen)g
+(\(see)h(Section)g(4.7)g([nc)m(ks)f(netCDF)g(Kitc)m(hen)150
+1575 y(Sink],)30 b(page)h(176\).)150 1839 y FB(3.28)68
+b(MD5)45 b(digests)150 1972 y Fk(\013)p 200 1972 3554
+4 v 3553 w(\010)p 150 2462 4 442 v 178 2108 a FD(Av)-5
b(ailabilit)m(y:)43 b Fy(ncecat)p FD(,)29 b Fy(ncks)p
-FD(,)h Fy(ncrcat)178 297 y FD(Short)g(options:)178 407
+FD(,)h Fy(ncrcat)178 2218 y FD(Short)g(options:)178 2328
y(Long)h(options:)41 b(`)p Fy(--md5_dgs)p FD(',)28 b(`)p
Fy(--md5_digest)p FD(',)g(`)p Fy(--md5_wrt_att)p FD(',)g(`)p
-Fy(--md5_write_attribute)p FD(')p 3803 541 V 150 593
-a Fk(\012)p 200 593 3554 4 v 3553 w(\011)275 776 y FD(As)c(of)h
-FC(NCO)g FD(v)m(ersion)g(4.1.0)h(\(April,)g(2012\),)j
+Fy(--md5_write_attribute)p FD(')p 3803 2462 V 150 2514
+a Fk(\012)p 200 2514 3554 4 v 3553 w(\011)275 2699 y
+FD(As)c(of)h FC(NCO)g FD(v)m(ersion)g(4.1.0)h(\(April,)g(2012\),)j
FC(NCO)24 b FD(supp)s(orts)f(data)i(in)m(tegrit)m(y)i(v)m
-(eri\014cation)g(using)d(the)150 886 y FC(MD5)32 b FD(digest)g
+(eri\014cation)g(using)d(the)150 2809 y FC(MD5)32 b FD(digest)g
(algorithm.)46 b(This)31 b(supp)s(ort)f(is)i(curren)m(tly)g(implemen)m
(ted)g(in)f Fy(ncks)g FD(and)g(in)g(the)h(m)m(ulti\014le)150
-995 y(concan)m(tenators)38 b Fy(ncecat)c FD(and)i Fy(ncrcat)p
+2918 y(concan)m(tenators)38 b Fy(ncecat)c FD(and)i Fy(ncrcat)p
FD(.)55 b(Activ)-5 b(ate)39 b(it)d(with)g(the)g(`)p Fy(--md5_dgs)p
-FD(')e(or)i(`)p Fy(--md5_digest)p FD(')150 1105 y(long)43
+FD(')e(or)i(`)p Fy(--md5_digest)p FD(')150 3028 y(long)43
b(options.)78 b(As)43 b(of)g FC(NCO)f FD(v)m(ersion)h(4.3.3)i(\(July)-8
b(,)46 b(2013\),)i FC(NCO)43 b FD(will)g(write)g(the)g
-FC(MD5)f FD(digest)i(of)150 1215 y(eac)m(h)34 b(v)-5
+FC(MD5)f FD(digest)i(of)150 3138 y(eac)m(h)34 b(v)-5
b(ariable)34 b(as)f(an)f Fy(NC_CHAR)f FD(attribute)i(named)g
Fy(MD5)p FD(.)47 b(This)32 b(supp)s(ort)f(is)i(curren)m(tly)f(implemen)
-m(ted)150 1324 y(in)45 b Fy(ncks)f FD(and)g(in)h(the)g(m)m(ulti\014le)h
+m(ted)150 3247 y(in)45 b Fy(ncks)f FD(and)g(in)h(the)g(m)m(ulti\014le)h
(concan)m(tenators)h Fy(ncecat)c FD(and)h Fy(ncrcat)p
-FD(.)83 b(Activ)-5 b(ate)47 b(it)f(with)f(the)150 1434
+FD(.)83 b(Activ)-5 b(ate)47 b(it)f(with)f(the)150 3357
y(`)p Fy(--md5_wrt_att)p FD(')27 b(or)k(`)p Fy(--md5_write_attribute)p
-FD(')25 b(long)31 b(options.)275 1601 y(The)g(b)s(eha)m(vior)i(and)e(v)
+FD(')25 b(long)31 b(options.)275 3526 y(The)g(b)s(eha)m(vior)i(and)e(v)
m(erb)s(osit)m(y)i(of)g(the)f FC(MD5)g FD(digest)h(is)g(op)s
(erator-dep)s(enden)m(t.)46 b(When)32 b(activ)-5 b(ating)150
-1711 y FC(MD5)30 b FD(digests)i(with)e Fy(ncks)f FD(it)i(is)g(assumed)f
+3636 y FC(MD5)30 b FD(digests)i(with)e Fy(ncks)f FD(it)i(is)g(assumed)f
(that)h(the)f(user)g(simply)g(wishes)g(to)h(see)h(the)e(digest)h(of)g
-(ev)m(ery)150 1820 y(v)-5 b(ariable)29 b(and)e(this)h(is)h(done)f(when)
+(ev)m(ery)150 3746 y(v)-5 b(ariable)29 b(and)e(this)h(is)h(done)f(when)
f(the)h(debugging)g(lev)m(el)i(exceeds)f(one.)40 b(This)28
-b(incurs)f(only)h(the)g(minor)150 1930 y(o)m(v)m(erhead)41
+b(incurs)f(only)h(the)g(minor)150 3855 y(o)m(v)m(erhead)41
b(of)f(p)s(erforming)f(the)h(hash)f(algorithm)i(for)f(eac)m(h)h(v)-5
b(ariable)40 b(read.)70 b FC(MD5)40 b FD(digests)g(ma)m(y)h(b)s(e)150
-2040 y(activ)-5 b(ated)39 b(in)d(b)s(oth)g(the)h(one-)h(and)e(t)m(w)m
+3965 y(activ)-5 b(ated)39 b(in)d(b)s(oth)g(the)h(one-)h(and)e(t)m(w)m
(o-\014lename)j(argumen)m(t)e(forms)f(of)h Fy(ncks)p
-FD(,)g(whic)m(h)g(are)g(used)f(for)150 2149 y(prin)m(ting)j(and)f(for)h
+FD(,)g(whic)m(h)g(are)g(used)f(for)150 4074 y(prin)m(ting)j(and)f(for)h
(sub-setting,)j(resp)s(ectiv)m(ely)-8 b(.)68 b(The)39
b FC(MD5)g FD(digests)h(are)f(sho)m(wn)f(as)i(a)f(32-c)m(haracter)150
-2259 y(hexadecimal)32 b(string)e(in)g(whic)m(h)g(eac)m(h)i(t)m(w)m(o)f
+4184 y(hexadecimal)32 b(string)e(in)g(whic)m(h)g(eac)m(h)i(t)m(w)m(o)f
(c)m(haracters)h(represen)m(t)f(one)f(b)m(yte)h(of)g(the)f(16-b)m(yte)j
-(digest:)390 2426 y Fy(>)47 b(ncks)g(-O)g(-D)g(2)h(-C)f(--md5)f(-v)i
-(md5_a,md5_abc)c(~/nco/data/in.nc)390 2536 y(...)390
-2646 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i(0cc175b9c0f1b6a831c399e269)o
-(7726)o(61)390 2755 y(md5_a)f(=)i('a')390 2865 y(ncks:)e(INFO)h
+(digest:)390 4354 y Fy(>)47 b(ncks)g(-O)g(-D)g(2)h(-C)f(--md5)f(-v)i
+(md5_a,md5_abc)c(~/nco/data/in.nc)390 4463 y(...)390
+4573 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i(0cc175b9c0f1b6a831c399e269)o
+(7726)o(61)390 4682 y(md5_a)f(=)i('a')390 4792 y(ncks:)e(INFO)h
(MD5\(md5_abc\))d(=)k(900150983cd24fb0d6963f7d)o(28e1)o(7f7)o(2)390
-2974 y(lev[0]=100)d(md5_abc[0--2]='abc')390 3084 y(>)i(ncks)g(-O)g(-D)g
+4902 y(lev[0]=100)d(md5_abc[0--2]='abc')390 5011 y(>)i(ncks)g(-O)g(-D)g
(2)h(-C)f(-d)g(lev,0)g(--md5)f(-v)h(md5_a,md5_abc)d(~/nco/data/in.nc)
-390 3194 y(...)390 3303 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i
-(0cc175b9c0f1b6a831c399e269)o(7726)o(61)390 3413 y(md5_a)f(=)i('a')390
-3522 y(ncks:)e(INFO)h(MD5\(md5_abc\))d(=)k(0cc175b9c0f1b6a831c399e2)o
-(6977)o(266)o(1)390 3632 y(lev[0]=100)d(md5_abc[0--0]='a')275
-3799 y FD(In)37 b(fact)j(these)f(examples)g(demonstrate)g(the)g(v)-5
+390 5121 y(...)390 5230 y(ncks:)i(INFO)h(MD5\(md5_a\))e(=)i
+(0cc175b9c0f1b6a831c399e269)o(7726)o(61)390 5340 y(md5_a)f(=)i('a')p
+eop end
+%%Page: 79 85
+TeXDict begin 79 84 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(79)390 299 y Fy(ncks:)46
+b(INFO)h(MD5\(md5_abc\))d(=)k(0cc175b9c0f1b6a831c399e2)o(6977)o(266)o
+(1)390 408 y(lev[0]=100)d(md5_abc[0--0]='a')275 580 y
+FD(In)37 b(fact)j(these)f(examples)g(demonstrate)g(the)g(v)-5
b(alidit)m(y)40 b(of)f(the)g(hash)f(algorithm)h(since)g(the)g
-FC(MD5)150 3909 y FD(hashes)f(of)h(the)f(strings)g(\\a")i(and)e(\\ab)s
+FC(MD5)150 690 y FD(hashes)f(of)h(the)f(strings)g(\\a")i(and)e(\\ab)s
(c")h(are)g(widely)f(kno)m(wn.)65 b(The)38 b(second)g(example)h(sho)m
-(ws)f(that)150 4019 y(the)33 b(h)m(yp)s(erslab)f(of)h(v)-5
+(ws)f(that)150 799 y(the)33 b(h)m(yp)s(erslab)f(of)h(v)-5
b(ariable)34 b Fy(md5_abc)d FD(\(=)i(\\ab)s(c"\))h(consisting)g(of)f
(only)h(its)f(\014rst)f(letter)j(\(=)e(\\a"\))h(has)150
-4128 y(the)h(same)g(hash)e(as)i(the)g(v)-5 b(ariable)35
+909 y(the)h(same)g(hash)e(as)i(the)g(v)-5 b(ariable)35
b Fy(md5_a)e FD(\(\\a"\).)55 b(This)34 b(illustrates)h(that)g
-FC(MD5)g FD(digests)g(act)g(only)g(on)150 4238 y(v)-5
-b(ariable)31 b(data,)g(not)g(on)f(metadata.)275 4405
+FC(MD5)g FD(digests)g(act)g(only)g(on)150 1018 y(v)-5
+b(ariable)31 b(data,)g(not)g(on)f(metadata.)275 1190
y(When)21 b(activ)-5 b(ating)24 b FC(MD5)d FD(digests)i(with)e
Fy(ncecat)f FD(or)i Fy(ncrcat)d FD(it)k(is)e(assumed)g(that)h(the)g
-(user)f(wishes)g(to)150 4515 y(v)m(erify)j(that)g(ev)m(ery)g(v)-5
+(user)f(wishes)g(to)150 1299 y(v)m(erify)j(that)g(ev)m(ery)g(v)-5
b(ariable)24 b(written)g(to)g(disk)f(has)g(the)h(same)f
FC(MD5)h FD(digest)g(as)g(when)e(it)i(is)f(subsequen)m(tly)150
-4624 y(read)g(from)f(disk.)38 b(This)22 b(incurs)h(the)g(ma)5
+1409 y(read)g(from)f(disk.)38 b(This)22 b(incurs)h(the)g(ma)5
b(jor)23 b(additional)h(o)m(v)m(erhead)g(of)f(reading)g(in)g(eac)m(h)h
-(v)-5 b(ariable)24 b(after)f(it)150 4734 y(is)i(written)g(and)g(p)s
+(v)-5 b(ariable)24 b(after)f(it)150 1519 y(is)i(written)g(and)g(p)s
(erforming)e(the)j(hash)e(algorithm)i(again)g(on)f(that)h(to)g(compare)
-f(to)h(the)f(original)h(hash.)150 4844 y(Moreo)m(v)m(er,)33
+f(to)h(the)f(original)h(hash.)150 1628 y(Moreo)m(v)m(er,)33
b(it)d(is)g(assumed)g(that)h(suc)m(h)e(op)s(erations)i(are)f(generally)
-i(done)e(\\pro)s(duction)f(mo)s(de")h(where)150 4953
+i(done)e(\\pro)s(duction)f(mo)s(de")h(where)150 1738
y(the)39 b(user)f(is)g(not)h(in)m(terested)h(in)e(actually)i(examining)
f(the)g(digests)g(herself.)65 b(The)38 b(digests)h(pro)s(ceed)150
-5063 y(silen)m(tly)32 b(unless)d(the)i(debugging)f(lev)m(el)i(exceeds)g
-(three:)390 5230 y Fy(>)47 b(ncecat)g(-O)g(-D)g(4)g(--md5)g(-p)g
+1847 y(silen)m(tly)32 b(unless)d(the)i(debugging)f(lev)m(el)i(exceeds)g
+(three:)390 2019 y Fy(>)47 b(ncecat)g(-O)g(-D)g(4)g(--md5)g(-p)g
(~/nco/data)e(in.nc)h(in.nc)h(~/foo.nc)e(|)j(grep)e(MD5)390
-5340 y(...)p eop end
-%%Page: 79 85
-TeXDict begin 79 84 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(79)390 299 y Fy(ncecat:)46
-b(INFO)g(MD5\(wnd_spd\))f(=)i(bec190dd944f2ce2794a7a4abf)o(224)o(b28)
-390 408 y(ncecat:)f(INFO)g(MD5)h(digests)f(of)h(RAM)g(and)g(disk)g
-(contents)e(for)i(wnd_spd)f(agree)390 518 y(>)h(ncrcat)g(-O)g(-D)g(4)g
-(--md5)g(-p)g(~/nco/data)e(in.nc)h(in.nc)h(~/foo.nc)e(|)j(grep)e(MD5)
-390 628 y(...)390 737 y(ncrcat:)g(INFO)g(MD5\(wnd_spd\))f(=)i
-(74699bb0a72b7f16456badb2c9)o(95f)o(1a1)390 847 y(ncrcat:)f(INFO)g(MD5)
-h(digests)f(of)h(RAM)g(and)g(disk)g(contents)e(for)i(wnd_spd)f(agree)
-275 1006 y FD(Regardless)32 b(of)g(the)g(debugging)g(lev)m(el,)j(an)d
-(error)f(is)h(returned)f(when)g(the)h(digests)h(of)f(the)g(v)-5
-b(ariable)150 1116 y(read)30 b(from)g(the)h(source)f(\014le)h(and)f
-(from)f(the)i(output)f(\014le)g(disagree.)275 1275 y(These)c(rules)h
+2129 y(...)390 2238 y(ncecat:)g(INFO)g(MD5\(wnd_spd\))f(=)i
+(bec190dd944f2ce2794a7a4abf)o(224)o(b28)390 2348 y(ncecat:)f(INFO)g
+(MD5)h(digests)f(of)h(RAM)g(and)g(disk)g(contents)e(for)i(wnd_spd)f
+(agree)390 2457 y(>)h(ncrcat)g(-O)g(-D)g(4)g(--md5)g(-p)g(~/nco/data)e
+(in.nc)h(in.nc)h(~/foo.nc)e(|)j(grep)e(MD5)390 2567 y(...)390
+2676 y(ncrcat:)g(INFO)g(MD5\(wnd_spd\))f(=)i
+(74699bb0a72b7f16456badb2c9)o(95f)o(1a1)390 2786 y(ncrcat:)f(INFO)g
+(MD5)h(digests)f(of)h(RAM)g(and)g(disk)g(contents)e(for)i(wnd_spd)f
+(agree)275 2958 y FD(Regardless)32 b(of)g(the)g(debugging)g(lev)m(el,)j
+(an)d(error)f(is)h(returned)f(when)g(the)h(digests)h(of)f(the)g(v)-5
+b(ariable)150 3067 y(read)30 b(from)g(the)h(source)f(\014le)h(and)f
+(from)f(the)i(output)f(\014le)g(disagree.)275 3239 y(These)c(rules)h
(are)g(ev)m(olving)i(and)d(as)h FC(NCO)g FD(pa)m(ys)g(more)h(atten)m
(tion)h(to)e(data)h(in)m(tegrit)m(y)-8 b(.)42 b(W)-8
-b(e)28 b(w)m(elcome)150 1385 y(feedbac)m(k)j(and)f(suggestions)h(from)f
-(users.)150 1609 y FB(3.29)68 b(Bu\013er)45 b(sizes)150
-1720 y Fk(\013)p 200 1720 3554 4 v 3553 w(\010)p 150
-2209 4 442 v 178 1856 a FD(Av)-5 b(ailabilit)m(y:)43
-b(All)31 b(op)s(erators)178 1965 y(Short)f(options:)178
-2075 y(Long)h(options:)41 b(`)p Fy(--bfr_sz_hnt)p FD(',)28
-b(`)p Fy(--buffer_size_hint)p FD(')p 3803 2209 V 150
-2261 a Fk(\012)p 200 2261 3554 4 v 3553 w(\011)275 2436
+b(e)28 b(w)m(elcome)150 3348 y(feedbac)m(k)j(and)f(suggestions)h(from)f
+(users.)150 3617 y FB(3.29)68 b(Bu\013er)45 b(sizes)150
+3728 y Fk(\013)p 200 3728 3554 4 v 3553 w(\010)p 150
+4217 4 442 v 178 3864 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 3973 y(Short)f(options:)178
+4083 y(Long)h(options:)41 b(`)p Fy(--bfr_sz_hnt)p FD(',)28
+b(`)p Fy(--buffer_size_hint)p FD(')p 3803 4217 V 150
+4269 a Fk(\012)p 200 4269 3554 4 v 3553 w(\011)275 4456
y FD(As)e(of)h FC(NCO)f FD(v)m(ersion)h(4.2.0)i(\(Ma)m(y)-8
b(,)29 b(2012\),)h FC(NCO)c FD(allo)m(ws)i(the)f(user)f(to)i(request)e
-(sp)s(eci\014c)h(bu\013er)e(sizes)150 2546 y(to)k(allo)s(cate)i(for)d
+(sp)s(eci\014c)h(bu\013er)e(sizes)150 4566 y(to)k(allo)s(cate)i(for)d
(reading)g(and)g(writing)g(\014les.)40 b(This)27 b(bu\013er)h(size)h
-(determines)f(ho)m(w)g(man)m(y)g(system)h(calls)150 2655
+(determines)f(ho)m(w)g(man)m(y)g(system)h(calls)150 4676
y(the)23 b(netCDF)h(la)m(y)m(er)g(m)m(ust)f(in)m(v)m(ok)m(e)i(to)f
(read)f(and)f(write)h(\014les.)39 b(By)23 b(default,)i(netCDF)e(uses)g
-(the)g(preferred)150 2765 y(I/O)i(blo)s(c)m(k)g(size)g(returned)f(as)h
+(the)g(preferred)150 4785 y(I/O)i(blo)s(c)m(k)g(size)g(returned)f(as)h
(the)g(`)p Fy(st_blksize)p FD(')d(mem)m(b)s(er)i(of)h(the)g(`)p
Fy(stat)p FD(')f(structure)h(returned)e(b)m(y)i(the)150
-2875 y Fy(stat\(\))j FD(system)i(call)902 2842 y Ft(19)974
-2875 y FD(.)40 b(Otherwise,)30 b(netCDF)g(uses)g(t)m(wice)h(the)f
+4895 y Fy(stat\(\))j FD(system)i(call)902 4862 y Ft(20)974
+4895 y FD(.)40 b(Otherwise,)30 b(netCDF)g(uses)g(t)m(wice)h(the)f
(system)g(pagesize.)42 b(Larger)30 b(sizes)h(can)150
-2984 y(increase)g(access)g(sp)s(eed)d(b)m(y)i(reducing)f(the)h(n)m(um)m
-(b)s(er)e(of)i(system)g(calls)h(netCDF)f(mak)m(es)h(to)f(read/write)150
-3094 y(data)j(from/to)h(disk.)47 b(Because)34 b(netCDF)g(cannot)f
-(guaran)m(tee)h(the)f(bu\013er)f(size)h(request)g(will)g(b)s(e)f(met,)
-150 3203 y(the)f(actual)g(bu\013er)f(size)h(gran)m(ted)g(b)m(y)f(the)h
-(system)f(is)h(prin)m(ted)f(as)g(an)g(INF)m(O)h(statemen)m(t.)390
-3363 y Fy(#)47 b(Request)f(2)i(MB)f(file)g(buffer)f(instead)f(of)j
-(default)d(8)j(kB)f(buffer)390 3472 y(>)g(ncks)g(-O)g(-D)g(3)h
-(--bfr_sz=2097152)43 b(~/nco/data/in.nc)h(~/foo.nc)390
-3582 y(...)390 3691 y(ncks:)i(INFO)h(nc__open\(\))e(will)i(request)e
-(file)i(buffer)f(size)h(=)g(2097152)f(bytes)390 3801
-y(ncks:)g(INFO)h(nc__open\(\))e(opened)h(file)h(with)f(buffer)g(size)h
-(=)h(2097152)d(bytes)390 3911 y(...)150 4135 y FB(3.30)68
-b(RAM)45 b(disks)150 4245 y Fk(\013)p 200 4245 V 3553
-w(\010)p 150 4735 4 442 v 178 4382 a FD(Av)-5 b(ailabilit)m(y:)43
-b(All)31 b(op)s(erators)178 4491 y(Short)f(options:)178
-4601 y(Long)h(options:)41 b(`)p Fy(--ram_all)p FD(',)28
-b(`)p Fy(--create_ram)p FD(',)g(`)p Fy(--open_ram)p FD(',)h(`)p
-Fy(--diskless_all)p FD(')p 3803 4735 V 150 4787 a Fk(\012)p
-200 4787 3554 4 v 3553 w(\011)275 4962 y FD(As)41 b(of)h
-FC(NCO)g FD(v)m(ersion)g(4.2.1)i(\(August,)h(2012\),)i
-FC(NCO)42 b FD(supp)s(orts)e(the)i(use)f(of)h(diskless)g(\014les,)j(ak)
--5 b(a)150 5072 y FC(RAM)45 b FD(disks,)k(for)44 b(\014le)i(access)g
-(and)e(creation.)86 b(Tw)m(o)45 b(indep)s(enden)m(t)f(switc)m(hes,)50
-b(`)p Fy(--open_ram)p FD(')43 b(and)p 150 5154 1200 4
-v 166 5221 a Ft(19)303 5253 y Fs(On)28 b(mo)r(dern)g(Lin)n(ux)f
-(systems)i(the)f(blo)r(c)n(k)g(size)i(defaults)f(to)f(8192)g(B.)43
+5004 y(increase)g(access)g(sp)s(eed)d(b)m(y)i(reducing)f(the)h(n)m(um)m
+(b)s(er)e(of)i(system)g(calls)h(netCDF)f(mak)m(es)h(to)f(read/write)p
+150 5154 1200 4 v 166 5221 a Ft(20)303 5253 y Fs(On)e(mo)r(dern)g(Lin)n
+(ux)f(systems)i(the)f(blo)r(c)n(k)g(size)i(defaults)f(to)f(8192)g(B.)43
b(The)28 b(GLADE)g(\014lesystem)h(at)f(NCAR)g(has)h(a)275
5340 y(blo)r(c)n(k)c(size)i(of)f(512)h(kB.)p eop end
%%Page: 80 86
TeXDict begin 80 85 bop 150 -116 a FD(80)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(`)p Fy(--create_ram)p
-FD(',)j(con)m(trol)i(this)f(feature.)53 b(Before)35 b(describing)f(the)
-g(sp)s(eci\014cs)g(of)h(these)f(switc)m(hes,)i(w)m(e)150
-408 y(describ)s(e)23 b(wh)m(y)h(man)m(y)g FC(NCO)g FD(op)s(erations)h
-(will)f(not)g(b)s(ene\014t)g(from)f(them.)39 b(Essen)m(tially)-8
-b(,)27 b(reading/writing)150 518 y(from/to)g FC(RAM)g
-FD(rather)f(than)f(disk)h(only)g(hastens)g(the)h(task)f(when)g
-(reads/writes)g(to)h(disk)f(are)g(a)m(v)m(oided.)150
-628 y(Most)k FC(NCO)g FD(op)s(erations)g(are)f(simple)h(enough)f(that)h
-(they)g(require)f(a)h(single)g(read-from/write-to)h(disk)150
-737 y(for)j(ev)m(ery)h(blo)s(c)m(k)g(of)f(input/output.)52
+b FD(4.4.6)j(User)d(Guide)150 299 y(data)j(from/to)h(disk.)47
+b(Because)34 b(netCDF)g(cannot)f(guaran)m(tee)h(the)f(bu\013er)f(size)h
+(request)g(will)g(b)s(e)f(met,)150 408 y(the)f(actual)g(bu\013er)f
+(size)h(gran)m(ted)g(b)m(y)f(the)h(system)f(is)h(prin)m(ted)f(as)g(an)g
+(INF)m(O)h(statemen)m(t.)390 575 y Fy(#)47 b(Request)f(2)i(MB)f(file)g
+(buffer)f(instead)f(of)j(default)d(8)j(kB)f(buffer)390
+684 y(>)g(ncks)g(-O)g(-D)g(3)h(--bfr_sz=2097152)43 b(~/nco/data/in.nc)h
+(~/foo.nc)390 794 y(...)390 904 y(ncks:)i(INFO)h(nc__open\(\))e(will)i
+(request)e(file)i(buffer)f(size)h(=)g(2097152)f(bytes)390
+1013 y(ncks:)g(INFO)h(nc__open\(\))e(opened)h(file)h(with)f(buffer)g
+(size)h(=)h(2097152)d(bytes)390 1123 y(...)150 1376 y
+FB(3.30)68 b(RAM)45 b(disks)150 1487 y Fk(\013)p 200
+1487 3554 4 v 3553 w(\010)p 150 1977 4 442 v 178 1623
+a FD(Av)-5 b(ailabilit)m(y:)43 b(All)31 b(op)s(erators)178
+1733 y(Short)f(options:)178 1842 y(Long)h(options:)41
+b(`)p Fy(--ram_all)p FD(',)28 b(`)p Fy(--create_ram)p
+FD(',)g(`)p Fy(--open_ram)p FD(',)h(`)p Fy(--diskless_all)p
+FD(')p 3803 1977 V 150 2028 a Fk(\012)p 200 2028 3554
+4 v 3553 w(\011)275 2211 y FD(As)41 b(of)h FC(NCO)g FD(v)m(ersion)g
+(4.2.1)i(\(August,)h(2012\),)i FC(NCO)42 b FD(supp)s(orts)e(the)i(use)f
+(of)h(diskless)g(\014les,)j(ak)-5 b(a)150 2320 y FC(RAM)45
+b FD(disks,)k(for)44 b(\014le)i(access)g(and)e(creation.)86
+b(Tw)m(o)45 b(indep)s(enden)m(t)f(switc)m(hes,)50 b(`)p
+Fy(--open_ram)p FD(')43 b(and)150 2430 y(`)p Fy(--create_ram)p
+FD(',)33 b(con)m(trol)i(this)f(feature.)53 b(Before)35
+b(describing)f(the)g(sp)s(eci\014cs)g(of)h(these)f(switc)m(hes,)i(w)m
+(e)150 2539 y(describ)s(e)23 b(wh)m(y)h(man)m(y)g FC(NCO)g
+FD(op)s(erations)h(will)f(not)g(b)s(ene\014t)g(from)f(them.)39
+b(Essen)m(tially)-8 b(,)27 b(reading/writing)150 2649
+y(from/to)g FC(RAM)g FD(rather)f(than)f(disk)h(only)g(hastens)g(the)h
+(task)f(when)g(reads/writes)g(to)h(disk)f(are)g(a)m(v)m(oided.)150
+2758 y(Most)k FC(NCO)g FD(op)s(erations)g(are)f(simple)h(enough)f(that)
+h(they)g(require)f(a)h(single)g(read-from/write-to)h(disk)150
+2868 y(for)j(ev)m(ery)h(blo)s(c)m(k)g(of)f(input/output.)52
b(Diskless)35 b(access)g(do)s(es)f(not)h(c)m(hange)g(this,)g(but)f(it)h
-(do)s(es)e(add)h(an)150 847 y(extra)d(read-from/write-to)h(RAM.)e(Ho)m
+(do)s(es)e(add)h(an)150 2978 y(extra)d(read-from/write-to)h(RAM.)e(Ho)m
(w)m(ev)m(er)i(this)e(extra)h FC(RAM)g FD(write/read)f(do)s(es)g(a)m(v)
-m(oid)i(con)m(ten)m(tion)150 956 y(for)d(limited)g(system)g(resources)g
-(lik)m(e)h(disk-head)f(access.)42 b(Op)s(erators)28 b(whic)m(h)h(ma)m
-(y)g(b)s(ene\014t)f(from)h FC(RAM)150 1066 y FD(disks)23
-b(include)f Fy(ncwa)p FD(,)i(whic)m(h)f(ma)m(y)h(need)f(to)h(read)f(w)m
-(eigh)m(ting)i(v)-5 b(ariables)23 b(m)m(ultiple)h(times,)i(the)d(m)m
-(ulti-\014le)150 1176 y(op)s(erators)j Fy(ncra)p FD(,)h
-Fy(ncrcat)p FD(,)e(and)h Fy(ncecat)p FD(,)f(whic)m(h)h(ma)m(y)h(try)f
-(to)h(write)g(output)e(at)i(least)h(once)f(p)s(er)e(input)150
-1285 y(\014le,)31 b(and)e Fy(ncap2)g FD(scripts)i(whic)m(h)f(ma)m(y)h
-(b)s(e)e(arbitrarily)i(long)g(and)f(con)m(v)m(oluted.)275
-1457 y(The)g(`)p Fy(--open_ram)p FD(')e(switc)m(h)j(causes)g(input)f
+m(oid)i(con)m(ten)m(tion)150 3087 y(for)d(limited)g(system)g(resources)
+g(lik)m(e)h(disk-head)f(access.)42 b(Op)s(erators)28
+b(whic)m(h)h(ma)m(y)g(b)s(ene\014t)f(from)h FC(RAM)150
+3197 y FD(disks)23 b(include)f Fy(ncwa)p FD(,)i(whic)m(h)f(ma)m(y)h
+(need)f(to)h(read)f(w)m(eigh)m(ting)i(v)-5 b(ariables)23
+b(m)m(ultiple)h(times,)i(the)d(m)m(ulti-\014le)150 3306
+y(op)s(erators)j Fy(ncra)p FD(,)h Fy(ncrcat)p FD(,)e(and)h
+Fy(ncecat)p FD(,)f(whic)m(h)h(ma)m(y)h(try)f(to)h(write)g(output)e(at)i
+(least)h(once)f(p)s(er)e(input)150 3416 y(\014le,)31
+b(and)e Fy(ncap2)g FD(scripts)i(whic)m(h)f(ma)m(y)h(b)s(e)e
+(arbitrarily)i(long)g(and)f(con)m(v)m(oluted.)275 3582
+y(The)g(`)p Fy(--open_ram)p FD(')e(switc)m(h)j(causes)g(input)f
(\014les)g(to)h(copied)g(to)h FC(RAM)f FD(when)e(op)s(ened.)41
-b(All)31 b(further)150 1567 y(metadata)26 b(and)f(data)g(access)h(o)s
+b(All)31 b(further)150 3692 y(metadata)26 b(and)f(data)g(access)h(o)s
(ccurs)e(in)h FC(RAM)g FD(and)f(th)m(us)g(a)m(v)m(oids)j(access)f(time)
-f(dela)m(ys)h(caused)e(b)m(y)h(disk-)150 1677 y(head)34
+f(dela)m(ys)h(caused)e(b)m(y)h(disk-)150 3802 y(head)34
b(mo)m(v)m(emen)m(t.)53 b(Usually)35 b(input)e(data)h(is)g(read)g(at)h
(most)f(once)h(so)f(it)h(is)f(unlik)m(ely)g(that)h(requesting)150
-1786 y(input)28 b(\014les)h(b)s(e)g(stored)g(in)g FC(RAM)g
+3911 y(input)28 b(\014les)h(b)s(e)g(stored)g(in)g FC(RAM)g
FD(will)g(sa)m(v)m(e)i(m)m(uc)m(h)e(time.)41 b(The)29
b(lik)m(eliest)i(exceptions)f(are)g(\014les)f(that)h(are)150
-1896 y(accessed)i(n)m(umerous)d(times,)i(suc)m(h)f(as)h(those)g
+4021 y(accessed)i(n)m(umerous)d(times,)i(suc)m(h)f(as)h(those)g
(analyzed)g(extensiv)m(ely)h(analyzed)f(b)m(y)g Fy(ncap2)p
-FD(.)275 2068 y(In)m(v)m(oking)24 b(`)p Fy(--open_ram)p
+FD(.)275 4187 y(In)m(v)m(oking)24 b(`)p Fy(--open_ram)p
FD(',)e(`)p Fy(--ram_all)p FD(',)h(or)g(`)p Fy(--diskless_all)p
-FD(')d(uses)j(m)m(uc)m(h)g(more)g(system)h(mem-)150 2178
+FD(')d(uses)j(m)m(uc)m(h)g(more)g(system)h(mem-)150 4297
y(ory)-8 b(.)71 b(T)-8 b(o)41 b(cop)m(y)g(the)g(input)e(\014le)i(to)g
FC(RAM)f FD(increases)h(the)g(sustained)f(memory)g(use)g(b)m(y)h
-(exactly)h(the)150 2287 y(on-disk)33 b(\014lesize)h(of)f(the)g(input)f
+(exactly)h(the)150 4406 y(on-disk)33 b(\014lesize)h(of)f(the)g(input)f
(\014le,)i(i.e.,)h Fv(M)10 b(S)5 b FD(+)30 b(=)f Fv(F)13
b(T)g FD(.)49 b(F)-8 b(or)33 b(large)i(input)d(\014les)h(this)g(can)g
-(b)s(e)f(a)i(h)m(uge)150 2397 y(memory)i(burden)f(that)i(starv)m(es)g
+(b)s(e)f(a)i(h)m(uge)150 4516 y(memory)i(burden)f(that)i(starv)m(es)g
(the)g(rest)f(of)h(the)g FC(NCO)f FD(analysis)h(of)f(su\016cien)m(t)h
-FC(RAM)p FD(.)60 b(T)-8 b(o)36 b(b)s(e)g(safe,)150 2506
+FC(RAM)p FD(.)60 b(T)-8 b(o)36 b(b)s(e)g(safe,)150 4626
y(use)h(`)p Fy(--open_ram)p FD(',)h(`)p Fy(--ram_all)p
FD(',)g(or)f(`)p Fy(--diskless_all)p FD(')d(only)k(on)g(\014les)f(that)
-i(are)f(m)m(uc)m(h)f(\(sa)m(y)i(at)150 2616 y(least)d(a)f(factor)h(of)f
+i(are)f(m)m(uc)m(h)f(\(sa)m(y)i(at)150 4735 y(least)d(a)f(factor)h(of)f
(four\))f(smaller)h(than)f(y)m(our)h(a)m(v)-5 b(ailable)37
b(system)e FC(RAM)p FD(.)54 b(See)35 b(Section)g(2.9)h([Memory)150
-2725 y(Requiremen)m(ts],)31 b(page)g(22)h(for)e(further)f(details.)275
-2898 y(The)20 b(`)p Fy(--create_ram)p FD(')e(switc)m(h)j(causes)g
+4845 y(Requiremen)m(ts],)31 b(page)g(22)h(for)e(further)f(details.)275
+5011 y(The)20 b(`)p Fy(--create_ram)p FD(')e(switc)m(h)j(causes)g
(output)f(\014les)h(to)h(b)s(e)e(created)i(in)e(RAM,)h(rather)g(than)g
-(on)f(disk.)150 3007 y(These)27 b(\014les)g(are)g(copied)h(to)g(disk)e
+(on)f(disk.)150 5121 y(These)27 b(\014les)g(are)g(copied)h(to)g(disk)e
(only)i(when)e(closed,)i(i.e.,)i(when)c(the)h(op)s(erator)g(completes.)
-41 b(Creating)150 3117 y(\014les)e(in)f FC(RAM)h FD(ma)m(y)g(sa)m(v)m
+41 b(Creating)150 5230 y(\014les)e(in)f FC(RAM)h FD(ma)m(y)g(sa)m(v)m
(e)h(time,)i(esp)s(ecially)e(with)e Fy(ncap2)f FD(computations)j(that)f
-(are)g(iterativ)m(e,)k(e.g.,)150 3226 y(lo)s(ops,)34
+(are)g(iterativ)m(e,)k(e.g.,)150 5340 y(lo)s(ops,)34
b(and)e(for)g(m)m(ulti-\014le)i(op)s(erators)f(that)h(write)f(output)f
-(ev)m(ery)i(record)e(\(timestep\))j(or)d(\014le.)49 b(RAM)150
-3336 y(\014les)32 b(pro)m(vide)h(man)m(y)g(of)f(the)h(same)g(b)s
-(ene\014ts)e(as)i FC(RAM)g FD(v)-5 b(ariables)33 b(in)f(suc)m(h)h
-(cases)g(\(see)g(Section)h(4.1.12)150 3446 y([RAM)d(v)-5
-b(ariables],)32 b(page)f(121\).)275 3618 y(Tw)m(o)e(switc)m(hes,)h(`)p
+(ev)m(ery)i(record)e(\(timestep\))j(or)d(\014le.)49 b(RAM)p
+eop end
+%%Page: 81 87
+TeXDict begin 81 86 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(81)150 299 y(\014les)32
+b(pro)m(vide)h(man)m(y)g(of)f(the)h(same)g(b)s(ene\014ts)e(as)i
+FC(RAM)g FD(v)-5 b(ariables)33 b(in)f(suc)m(h)h(cases)g(\(see)g
+(Section)h(4.1.12)150 408 y([RAM)d(v)-5 b(ariables],)32
+b(page)f(121\).)275 575 y(Tw)m(o)e(switc)m(hes,)h(`)p
Fy(--ram_all)p FD(')e(and)g(`)p Fy(--diskless_all)p FD(',)f(are)i(con)m
-(v)m(enien)m(t)j(shortcuts)d(for)g(sp)s(ecify-)150 3727
+(v)m(enien)m(t)j(shortcuts)d(for)g(sp)s(ecify-)150 685
y(ing)i(b)s(oth)e(`)p Fy(--create_ram)p FD(')f(and)h(`)p
-Fy(--diskless_ram)p FD('.)38 b(Th)m(us)390 3900 y Fy(ncks)47
+Fy(--diskless_ram)p FD('.)38 b(Th)m(us)390 851 y Fy(ncks)47
b(in.nc)f(out.nc)g(#)i(Default:)d(Open)i(in.nc)f(on)h(disk,)g(write)f
-(out.nc)g(to)h(disk)390 4009 y(ncks)g(--open_ram)e(in.nc)h(out.nc)g(#)i
+(out.nc)g(to)h(disk)390 961 y(ncks)g(--open_ram)e(in.nc)h(out.nc)g(#)i
(Open)e(in.nc)h(in)g(RAM,)f(write)h(out.nc)f(to)h(disk)390
-4119 y(ncks)g(--create_ram)d(in.nc)i(out.nc)h(#)g(Create)f(out.nc)g(in)
-h(RAM,)g(write)f(to)i(disk)390 4228 y(#)f(Open)g(in.nc)f(in)i(RAM,)e
+1070 y(ncks)g(--create_ram)d(in.nc)i(out.nc)h(#)g(Create)f(out.nc)g(in)
+h(RAM,)g(write)f(to)i(disk)390 1180 y(#)f(Open)g(in.nc)f(in)i(RAM,)e
(create)g(out.nc)g(in)i(RAM,)e(then)h(write)f(out.nc)g(to)i(disk)390
-4338 y(ncks)f(--open_ram)e(--create_ram)f(in.nc)i(out.nc)390
-4448 y(ncks)h(--ram_all)e(in.nc)h(out.nc)g(#)i(Same)e(as)i(above)390
-4557 y(ncks)f(--diskless_all)d(in.nc)i(out.nc)g(#)h(Same)g(as)g(above)
-275 4729 y FD(It)24 b(is)g(straigh)m(tforw)m(ard)g(to)h(demonstrate)g
+1289 y(ncks)f(--open_ram)e(--create_ram)f(in.nc)i(out.nc)390
+1399 y(ncks)h(--ram_all)e(in.nc)h(out.nc)g(#)i(Same)e(as)i(above)390
+1509 y(ncks)f(--diskless_all)d(in.nc)i(out.nc)g(#)h(Same)g(as)g(above)
+275 1675 y FD(It)24 b(is)g(straigh)m(tforw)m(ard)g(to)h(demonstrate)g
(the)f(e\016cacy)h(of)f FC(RAM)h FD(disks.)38 b(F)-8
-b(or)24 b FC(NASA)h FD(w)m(e)g(constructed)150 4839 y(a)30
+b(or)24 b FC(NASA)h FD(w)m(e)g(constructed)150 1785 y(a)30
b(test)h(that)f(emplo)m(ys)h Fy(ncecat)d FD(an)h(arbitrary)h(n)m(um)m
(b)s(er)f(\(set)h(to)h(one)f(h)m(undred)e(thousand\))h(of)h(\014les)g
-(are)150 4949 y(all)h(sym)m(b)s(olically)h(link)m(ed)f(to)g(the)f(same)
+(are)150 1894 y(all)h(sym)m(b)s(olically)h(link)m(ed)f(to)g(the)f(same)
h(\014le.)41 b(Ev)m(erything)31 b(is)f(on)g(the)h(lo)s(cal)g
-(\014lesystem)g(\(not)g FC(D)n(AP)p FD(\).)390 5121 y
+(\014lesystem)g(\(not)g FC(D)n(AP)p FD(\).)390 2061 y
Fy(#)47 b(Create)g(symbolic)e(links)h(for)h(benchmark)390
-5230 y(cd)g(${DATA}/nco)e(#)i(Do)h(all)e(work)h(here)390
-5340 y(for)g(idx)g(in)g({1..99999};)e(do)p eop end
-%%Page: 81 87
-TeXDict begin 81 86 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(81)485 299 y Fy(idx_fmt=`printf)44
-b("\04505d")i(${idx}`)485 408 y(/bin/ln)g(-s)h
+2171 y(cd)g(${DATA}/nco)e(#)i(Do)h(all)e(work)h(here)390
+2280 y(for)g(idx)g(in)g({1..99999};)e(do)485 2390 y(idx_fmt=`printf)f
+("\04505d")i(${idx}`)485 2499 y(/bin/ln)g(-s)h
(${DATA}/nco/LPRM-AMSR_E_L3)o(_D_S)o(OIL)o(M3_V)o(002-)o(201)o(2051)o
-(2T11)o(193)o(1Z_2)o(0020)o(619)o(.nc)41 b(\\)1010 518
-y(${DATA}/nco/${idx_fmt}.nc)390 628 y(done)390 737 y(#)47
-b(Benchmark)f(time)g(to)i(ncecat)e(one)h(hundred)e(thousand)h(files)390
-847 y(time)h(ncecat)f(--create_ram)e(-O)j(-u)h(time)e(-v)h(ts)h(-d)f
-(Latitude,40.0)d(\\)438 956 y(-d)j(Longitude,-105.0)c(-p)k(${DATA}/nco)
-e(-n)i(99999,5,1)f(00001.nc)f(~/foo.nc)275 1116 y FD(Run)27
-b(normally)h(on)h(a)f(laptop)h(in)f(201303,)k(this)c(completes)i(in)e
-(21)j(seconds.)40 b(The)28 b(`)p Fy(--create_ram)p FD(')150
-1225 y(reduces)35 b(the)g(elapsed)h(time)g(to)g(9)30
+(2T11)o(193)o(1Z_2)o(0020)o(619)o(.nc)41 b(\\)1010 2609
+y(${DATA}/nco/${idx_fmt}.nc)390 2718 y(done)390 2828
+y(#)47 b(Benchmark)f(time)g(to)i(ncecat)e(one)h(hundred)e(thousand)h
+(files)390 2938 y(time)h(ncecat)f(--create_ram)e(-O)j(-u)h(time)e(-v)h
+(ts)h(-d)f(Latitude,40.0)d(\\)438 3047 y(-d)j(Longitude,-105.0)c(-p)k
+(${DATA}/nco)e(-n)i(99999,5,1)f(00001.nc)f(~/foo.nc)275
+3214 y FD(Run)27 b(normally)h(on)h(a)f(laptop)h(in)f(201303,)k(this)c
+(completes)i(in)e(21)j(seconds.)40 b(The)28 b(`)p Fy(--create_ram)p
+FD(')150 3323 y(reduces)35 b(the)g(elapsed)h(time)g(to)g(9)30
b(seconds.)56 b(Some)35 b(of)g(this)g(sp)s(eed)g(ma)m(y)h(b)s(e)e(due)h
-(to)h(using)f(symlinks)150 1335 y(and)g(cac)m(hing.)58
+(to)h(using)f(symlinks)150 3433 y(and)g(cac)m(hing.)58
b(Ho)m(w)m(ev)m(er,)39 b(the)d(e\016cacy)h(of)f(`)p Fy(--create_ram)p
FD(')c(is)k(clear.)58 b(Placing)36 b(the)g(output)g(\014le)f(in)150
-1445 y FC(RAM)26 b FD(a)m(v)m(oids)h(thousands)d(of)i(disk)f(writes.)39
+3543 y FC(RAM)26 b FD(a)m(v)m(oids)h(thousands)d(of)i(disk)f(writes.)39
b(It)26 b(is)f(not)h(unreasonable)f(to)i(for)e FC(NCO)g
-FD(to)h(pro)s(cess)f(a)h(million)150 1554 y(\014les)k(lik)m(e)i(this)f
+FD(to)h(pro)s(cess)f(a)h(million)150 3652 y(\014les)k(lik)m(e)i(this)f
(in)f(a)h(few)f(min)m(utes.)41 b(Ho)m(w)m(ev)m(er,)33
b(there)e(is)f(no)h(substitute)f(for)g(b)s(enc)m(hmarking)g(with)g
-(real)150 1664 y(\014les.)275 1823 y(A)22 b(completely)i(indep)s(enden)
+(real)150 3762 y(\014les.)275 3928 y(A)22 b(completely)i(indep)s(enden)
m(t)c(w)m(a)m(y)j(to)g(reduce)f(time)h(sp)s(en)m(t)f(writing)g(\014les)
-g(is)g(to)h(refrain)e(from)h(writing)150 1933 y(temp)s(orary)h(output)f
+g(is)g(to)h(refrain)e(from)h(writing)150 4038 y(temp)s(orary)h(output)f
(\014les.)39 b(This)22 b(is)h(accomplished)h(with)f(the)g(`)p
Fy(--no_tmp_fl)p FD(')d(switc)m(h)k(\(see)g(Section)g(2.3)150
-2042 y([T)-8 b(emp)s(orary)30 b(Output)f(Files],)j(page)f(15\).)150
-2266 y FB(3.31)68 b(P)l(ac)l(k)l(ed)46 b(data)150 2376
-y Fk(\013)p 200 2376 3554 4 v 3553 w(\010)p 150 2866
-4 442 v 178 2513 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncap2)p
+4147 y([T)-8 b(emp)s(orary)30 b(Output)f(Files],)j(page)f(15\).)150
+4401 y FB(3.31)68 b(P)l(ac)l(k)l(ed)46 b(data)150 4512
+y Fk(\013)p 200 4512 3554 4 v 3553 w(\010)p 150 5002
+4 442 v 178 4648 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncap2)p
FD(,)30 b Fy(ncbo)p FD(,)f Fy(nces)p FD(,)h Fy(ncflint)p
FD(,)e Fy(ncpdq)p FD(,)h Fy(ncra)p FD(,)h Fy(ncwa)178
-2622 y FD(Short)g(options:)41 b(None)178 2732 y(Long)31
+4757 y FD(Short)g(options:)41 b(None)178 4867 y(Long)31
b(options:)41 b(`)p Fy(--hdf_upk)p FD(',)28 b(`)p Fy(--hdf_unpack)p
-FD(')p 3803 2866 V 150 2918 a Fk(\012)p 200 2918 3554
-4 v 3553 w(\011)275 3088 y FD(The)22 b(phrase)h Fz(pac)m(k)m(ed)h(data)
+FD(')p 3803 5002 V 150 5053 a Fk(\012)p 200 5053 3554
+4 v 3553 w(\011)275 5230 y FD(The)22 b(phrase)h Fz(pac)m(k)m(ed)h(data)
g FD(refers)f(to)h(data)g(whic)m(h)f(are)h(stored)g(in)f(the)g
-(standard)g(netCDF3)h(pac)m(king)150 3198 y(format)43
+(standard)g(netCDF3)h(pac)m(king)150 5340 y(format)43
b(whic)m(h)g(emplo)m(ys)h(a)f(lossy)h(algorithm.)80 b(See)43
-b(Section)h(4.7)g([nc)m(ks)g(netCDF)g(Kitc)m(hen)f(Sink],)150
-3307 y(page)j(176)g(for)f(a)h(description)f(of)h(de\015ation,)j(a)d
-(lossless)g(compression)f(tec)m(hnique)h(a)m(v)-5 b(ailable)47
-b(with)150 3417 y(netCDF4)31 b(only)-8 b(.)42 b(P)m(ac)m(k)m(ed)32
-b(data)f(ma)m(y)g(b)s(e)f(de\015ated)g(to)h(sa)m(v)m(e)h(additional)g
-(space.)150 3607 y Fu(P)m(ac)m(king)40 b(Algorithm)150
-3754 y Fz(P)m(ac)m(king)h FD(The)30 b(standard)g(netCDF)i(pac)m(king)g
-(algorithm)g(\(describ)s(ed)e(here)h(\()p Fy(http:)q(/)q(/www)q
-(.unidata)q(.)150 3864 y(ucar)10 b(.)e(edu)i(/)e(software)i(/)e(netcdf)
-i(/)e(doc)o(s)i(/)e(net)o(cdf)h(/)f(Attr)o(ibut)o(e-C)o(onve)o(ntio)o
-(ns)i(.)e(h)o(tml)p FD(\)\))37 b(pro)s(duces)150 3973
-y(data)h(with)f(the)h(same)g(dynamic)f(range)h(as)g(the)g(original)g
-(but)f(whic)m(h)h(requires)f(no)g(more)h(than)f(half)150
-4083 y(the)f(space)g(to)g(store.)57 b(Lik)m(e)36 b(all)g(pac)m(king)h
-(algorithms,)h(it)e(is)f Fo(lossy)p FD(.)57 b(The)35
-b(pac)m(k)m(ed)i(v)-5 b(ariable)36 b(is)g(stored)150
-4193 y(\(usually\))26 b(as)h(t)m(yp)s(e)f Fy(NC_SHORT)e
-FD(with)h(the)i(t)m(w)m(o)g(attributes)g(required)e(to)i(unpac)m(k)e
-(the)i(v)-5 b(ariable,)28 b Fy(scale_)150 4302 y(factor)i
-FD(and)g Fy(add_offset)p FD(,)f(stored)j(at)g(the)f(original)h(\(unpac)
-m(k)m(ed\))h(precision)e(of)g(the)h(v)-5 b(ariable)3478
-4269 y Ft(20)3549 4302 y FD(.)43 b(Let)150 4412 y Fz(min)30
-b FD(and)g Fz(max)36 b FD(b)s(e)30 b(the)h(minim)m(um)e(and)h(maxim)m
-(um)g(v)-5 b(alues)31 b(of)f Fz(x)p FD(.)1046 4559 y(scale)p
-1238 4559 28 4 v 41 w(factor)c(=)f(\(max)c FA(\000)f
-FD(min)o(\))p Fv(=)p FD(ndrv)1106 4693 y(add)p 1259 4693
-V 40 w(o\013set)26 b(=)f(\(min)20 b(+)g(max\))p Fv(=)p
-FD(2)1364 4828 y(p)s(c)m(k)25 b(=)g(\(upk)20 b FA(\000)g
-FD(add)p 2073 4828 V 39 w(o\013set)q(\))p Fv(=)p FD(scale)p
-2588 4828 V 42 w(factor)1528 5023 y(=)1634 4962 y(ndrv)f
-FA(\002)h FD([upk)f FA(\000)h FD(\(min)g(+)g(max\))p
-Fv(=)p FD(2])p 1634 5002 1200 4 v 2018 5086 a(max)h FA(\000)e
-FD(min)p 150 5154 V 166 5221 a Ft(20)275 5253 y Fs(Although)26
-b(not)g(a)h(part)g(of)g(the)f(standard,)i Fp(NCO)e Fs(enforces)i(the)e
-(p)r(olicy)h(that)f(the)h Fr(_FillValue)i Fs(attribute,)e(if)g(an)n(y)
--6 b(,)26 b(of)275 5340 y(a)g(pac)n(k)n(ed)e(v)l(ariable)j(is)f(also)h
-(stored)f(at)g(the)f(original)i(precision.)p eop end
+b(Section)h(4.7)g([nc)m(ks)g(netCDF)g(Kitc)m(hen)f(Sink],)p
+eop end
%%Page: 82 88
TeXDict begin 82 87 bop 150 -116 a FD(82)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(where)c Fz(ndrv)34
-b FD(is)27 b(the)g(n)m(um)m(b)s(er)e(of)i(discrete)h(represen)m(table)g
-(v)-5 b(alues)27 b(for)g(giv)m(en)h(t)m(yp)s(e)f(of)g(pac)m(k)m(ed)h(v)
--5 b(ariable.)150 408 y(The)31 b(theoretical)k(maxim)m(um)d(v)-5
+b FD(4.4.6)j(User)d(Guide)150 299 y(page)46 b(176)g(for)f(a)h
+(description)f(of)h(de\015ation,)j(a)d(lossless)g(compression)f(tec)m
+(hnique)h(a)m(v)-5 b(ailable)47 b(with)150 408 y(netCDF4)31
+b(only)-8 b(.)42 b(P)m(ac)m(k)m(ed)32 b(data)f(ma)m(y)g(b)s(e)f
+(de\015ated)g(to)h(sa)m(v)m(e)h(additional)g(space.)150
+594 y Fu(P)m(ac)m(king)40 b(Algorithm)150 741 y Fz(P)m(ac)m(king)h
+FD(The)30 b(standard)g(netCDF)i(pac)m(king)g(algorithm)g(\(describ)s
+(ed)e(here)h(\()p Fy(http:)q(/)q(/www)q(.unidata)q(.)150
+851 y(ucar)10 b(.)e(edu)i(/)e(software)i(/)e(netcdf)i(/)e(doc)o(s)i(/)e
+(net)o(cdf)h(/)f(Attr)o(ibut)o(e-C)o(onve)o(ntio)o(ns)i(.)e(h)o(tml)p
+FD(\)\))37 b(pro)s(duces)150 960 y(data)h(with)f(the)h(same)g(dynamic)f
+(range)h(as)g(the)g(original)g(but)f(whic)m(h)h(requires)f(no)g(more)h
+(than)f(half)150 1070 y(the)f(space)g(to)g(store.)57
+b(Lik)m(e)36 b(all)g(pac)m(king)h(algorithms,)h(it)e(is)f
+Fo(lossy)p FD(.)57 b(The)35 b(pac)m(k)m(ed)i(v)-5 b(ariable)36
+b(is)g(stored)150 1180 y(\(usually\))26 b(as)h(t)m(yp)s(e)f
+Fy(NC_SHORT)e FD(with)h(the)i(t)m(w)m(o)g(attributes)g(required)e(to)i
+(unpac)m(k)e(the)i(v)-5 b(ariable,)28 b Fy(scale_)150
+1289 y(factor)i FD(and)g Fy(add_offset)p FD(,)f(stored)j(at)g(the)f
+(original)h(\(unpac)m(k)m(ed\))h(precision)e(of)g(the)h(v)-5
+b(ariable)3478 1256 y Ft(21)3549 1289 y FD(.)43 b(Let)150
+1399 y Fz(min)30 b FD(and)g Fz(max)36 b FD(b)s(e)30 b(the)h(minim)m(um)
+e(and)h(maxim)m(um)g(v)-5 b(alues)31 b(of)f Fz(x)p FD(.)1046
+1524 y(scale)p 1238 1524 28 4 v 41 w(factor)c(=)f(\(max)c
+FA(\000)f FD(min)o(\))p Fv(=)p FD(ndrv)1106 1659 y(add)p
+1259 1659 V 40 w(o\013set)26 b(=)f(\(min)20 b(+)g(max\))p
+Fv(=)p FD(2)1364 1793 y(p)s(c)m(k)25 b(=)g(\(upk)20 b
+FA(\000)g FD(add)p 2073 1793 V 39 w(o\013set)q(\))p Fv(=)p
+FD(scale)p 2588 1793 V 42 w(factor)1528 1989 y(=)1634
+1928 y(ndrv)f FA(\002)h FD([upk)f FA(\000)h FD(\(min)g(+)g(max\))p
+Fv(=)p FD(2])p 1634 1968 1200 4 v 2018 2051 a(max)h FA(\000)e
+FD(min)150 2170 y(where)26 b Fz(ndrv)34 b FD(is)27 b(the)g(n)m(um)m(b)s
+(er)e(of)i(discrete)h(represen)m(table)g(v)-5 b(alues)27
+b(for)g(giv)m(en)h(t)m(yp)s(e)f(of)g(pac)m(k)m(ed)h(v)-5
+b(ariable.)150 2280 y(The)31 b(theoretical)k(maxim)m(um)d(v)-5
b(alue)32 b(for)g Fz(ndrv)38 b FD(is)32 b(t)m(w)m(o)h(raised)f(to)h
(the)f(n)m(um)m(b)s(er)f(of)h(bits)g(used)f(to)h(store)150
-518 y(the)24 b(pac)m(k)m(ed)h(v)-5 b(ariable.)39 b(Th)m(us)22
+2389 y(the)24 b(pac)m(k)m(ed)h(v)-5 b(ariable.)39 b(Th)m(us)22
b(if)i(the)g(v)-5 b(ariable)24 b(is)g(pac)m(k)m(ed)g(in)m(to)h(t)m(yp)s
(e)f Fy(NC_SHORT)p FD(,)f(a)h(t)m(w)m(o-b)m(yte)i(datat)m(yp)s(e,)150
-628 y(then)g(there)g(are)h(at)f(most)h(2)1099 595 y Ft(16)1195
-628 y FD(=)e(65536)j(distinct)f(v)-5 b(alues)26 b(represen)m(table.)40
-b(In)25 b(practice,)k(the)d(n)m(um)m(b)s(er)f(of)150
-737 y(discretely)33 b(represen)m(tible)f(v)-5 b(alues)32
-b(is)g(tak)m(en)g(to)h(b)s(e)e(t)m(w)m(o)i(less)f(than)f(the)h
-(theoretical)i(maxim)m(um.)45 b(This)150 847 y(lea)m(v)m(es)26
+2499 y(then)g(there)g(are)h(at)f(most)h(2)1099 2466 y
+Ft(16)1195 2499 y FD(=)e(65536)j(distinct)f(v)-5 b(alues)26
+b(represen)m(table.)40 b(In)25 b(practice,)k(the)d(n)m(um)m(b)s(er)f
+(of)150 2608 y(discretely)33 b(represen)m(tible)f(v)-5
+b(alues)32 b(is)g(tak)m(en)g(to)h(b)s(e)e(t)m(w)m(o)i(less)f(than)f
+(the)h(theoretical)i(maxim)m(um.)45 b(This)150 2718 y(lea)m(v)m(es)26
b(space)f(for)f(a)h(missing)f(v)-5 b(alue)25 b(and)e(solv)m(es)j(p)s
(oten)m(tial)f(problems)f(with)g(rounding)e(that)j(ma)m(y)g(o)s(ccur)
-150 956 y(during)k(the)h(unpac)m(king)g(of)h(the)f(v)-5
+150 2828 y(during)k(the)h(unpac)m(king)g(of)h(the)f(v)-5
b(ariable.)41 b(Th)m(us)29 b(for)h Fy(NC_SHORT)p FD(,)e
Fv(ndr)s(v)g FD(=)d(65536)d FA(\000)e FD(2)25 b(=)g(65534.)43
-b(Less)150 1066 y(often,)28 b(the)f(v)-5 b(ariable)27
+b(Less)150 2937 y(often,)28 b(the)f(v)-5 b(ariable)27
b(ma)m(y)h(b)s(e)e(pac)m(k)m(ed)h(in)m(to)h(t)m(yp)s(e)f
Fy(NC_CHAR)p FD(,)e(where)i Fv(ndr)s(v)h FD(=)d(2)2889
-1033 y Ft(8)2939 1066 y FA(\000)13 b FD(2)25 b(=)g(256)13
-b FA(\000)g FD(2)26 b(=)f(254,)150 1176 y(or)33 b(t)m(yp)s(e)g
+2904 y Ft(8)2939 2937 y FA(\000)13 b FD(2)25 b(=)g(256)13
+b FA(\000)g FD(2)26 b(=)f(254,)150 3047 y(or)33 b(t)m(yp)s(e)g
Fy(NC_INT)f FD(where)g(where)h Fv(ndr)s(v)g FD(=)c(2)1690
-1143 y Ft(32)1783 1176 y FA(\000)22 b FD(2)30 b(=)f(4294967295)e
+3014 y Ft(32)1783 3047 y FA(\000)22 b FD(2)30 b(=)f(4294967295)e
FA(\000)22 b FD(2)30 b(=)g(4294967293.)53 b(One)33 b(useful)150
-1285 y(feature)27 b(of)h(\(lossy\))g(netCDF)f(pac)m(king)h(algorithm)g
+3156 y(feature)27 b(of)h(\(lossy\))g(netCDF)f(pac)m(king)h(algorithm)g
(is)g(that)f(additional,)i(loss-less)f(pac)m(king)g(algorithms)150
-1395 y(p)s(erform)h(w)m(ell)i(on)g(top)f(of)h(it.)150
-1593 y Fu(Unpac)m(king)41 b(Algorithm)150 1740 y Fz(Unpac)m(king)48
+3266 y(p)s(erform)h(w)m(ell)i(on)g(top)f(of)h(it.)150
+3452 y Fu(Unpac)m(king)41 b(Algorithm)150 3599 y Fz(Unpac)m(king)48
b FD(The)38 b(unpac)m(king)h(algorithm)i(dep)s(ends)c(on)i(the)g
(presence)h(of)f(t)m(w)m(o)h(attributes,)j Fy(scale_)150
-1849 y(factor)26 b FD(and)g Fy(add_offset)p FD(.)37 b(If)27
+3708 y(factor)26 b FD(and)g Fy(add_offset)p FD(.)37 b(If)27
b Fy(scale_factor)d FD(is)k(presen)m(t)f(for)g(a)h(v)-5
b(ariable,)29 b(the)f(data)g(are)f(m)m(ultiplied)150
-1959 y(b)m(y)34 b(the)g(v)-5 b(alue)35 b Fz(scale)p 871
-1959 28 4 v 41 w(factor)42 b FD(after)34 b(the)h(data)f(are)h(read.)52
+3818 y(b)m(y)34 b(the)g(v)-5 b(alue)35 b Fz(scale)p 871
+3818 28 4 v 41 w(factor)42 b FD(after)34 b(the)h(data)f(are)h(read.)52
b(If)33 b Fy(add_offset)e FD(is)j(presen)m(t)h(for)e(a)i(v)-5
-b(ariable,)150 2068 y(then)23 b(the)h Fz(add)p 653 2068
+b(ariable,)150 3927 y(then)23 b(the)h Fz(add)p 653 3927
V 39 w(o\013set)i FD(v)-5 b(alue)24 b(is)g(added)e(to)j(the)e(data)h
(after)g(the)g(data)g(are)f(read.)39 b(If)23 b(b)s(oth)f
-Fy(scale_factor)150 2178 y FD(and)31 b Fy(add_offset)d
+Fy(scale_factor)150 4037 y FD(and)31 b Fy(add_offset)d
FD(attributes)k(are)f(presen)m(t,)h(the)g(data)g(are)f(\014rst)g
-(scaled)h(b)m(y)f Fz(scale)p 3047 2178 V 41 w(factor)39
-b FD(b)s(efore)31 b(the)150 2287 y(o\013set)g Fz(add)p
-543 2287 V 40 w(o\013set)i FD(is)e(added.)1147 2467 y(upk)24
-b(=)h(scale)p 1609 2467 V 42 w(factor)c FA(\002)f FD(p)s(c)m(k)g(+)g
-(add)p 2389 2467 V 39 w(o\013set)1321 2663 y(=)1427 2602
+(scaled)h(b)m(y)f Fz(scale)p 3047 4037 V 41 w(factor)39
+b FD(b)s(efore)31 b(the)150 4147 y(o\013set)g Fz(add)p
+543 4147 V 40 w(o\013set)i FD(is)e(added.)1147 4272 y(upk)24
+b(=)h(scale)p 1609 4272 V 42 w(factor)c FA(\002)f FD(p)s(c)m(k)g(+)g
+(add)p 2389 4272 V 39 w(o\013set)1321 4468 y(=)1427 4406
y(p)s(c)m(k)h FA(\002)e FD(\(max)i FA(\000)f FD(min\))p
-1427 2642 753 4 v 1711 2725 a(ndrv)2210 2663 y(+)2311
-2602 y(min)g(+)g(max)p 2311 2642 432 4 v 2504 2725 a(2)150
-2896 y(When)35 b Fy(scale_factor)d FD(and)j Fy(add_offset)e
+1427 4447 753 4 v 1711 4530 a(ndrv)2210 4468 y(+)2311
+4406 y(min)g(+)g(max)p 2311 4447 432 4 v 2504 4530 a(2)150
+4647 y(When)35 b Fy(scale_factor)d FD(and)j Fy(add_offset)e
FD(are)j(used)f(for)g(pac)m(king,)j(the)e(asso)s(ciated)h(v)-5
-b(ariable)36 b(\(con-)150 3006 y(taining)f(the)f(pac)m(k)m(ed)h(data\))
+b(ariable)36 b(\(con-)150 4756 y(taining)f(the)f(pac)m(k)m(ed)h(data\))
g(is)f(t)m(ypically)i(of)e(t)m(yp)s(e)h Fy(byte)e FD(or)h
Fy(short)p FD(,)f(whereas)h(the)g(unpac)m(k)m(ed)h(v)-5
-b(alues)150 3115 y(are)32 b(in)m(tended)f(to)g(b)s(e)g(of)g(t)m(yp)s(e)
+b(alues)150 4866 y(are)32 b(in)m(tended)f(to)g(b)s(e)g(of)g(t)m(yp)s(e)
h Fy(int)p FD(,)e Fy(float)p FD(,)g(or)i Fy(double)p
FD(.)41 b(An)31 b(attribute's)h Fy(scale_factor)c FD(and)i
-Fy(add_)150 3225 y(offset)g FD(and)i Fy(_FillValue)p
+Fy(add_)150 4975 y(offset)g FD(and)i Fy(_FillValue)p
FD(,)e(if)i(an)m(y)-8 b(,)34 b(should)d(all)i(b)s(e)e(of)i(the)f(t)m
(yp)s(e)g(in)m(tended)g(for)g(the)h(unpac)m(k)m(ed)f(data,)150
-3334 y(i.e.,)g Fy(int)p FD(,)d Fy(float)g FD(or)i Fy(double)p
-FD(.)150 3532 y Fu(Default)41 b(Handling)h(of)g(P)m(ac)m(k)m(ed)c(Data)
-150 3679 y FD(Most)44 b(\014les)f(originally)h(written)f(in)g
-FC(HDF)h FD(format)f(use)g(the)g FC(HDF)h FD(pac)m(king/unpac)m(king)h
-(algorithm.)150 3789 y(This)32 b(algorithm)i(is)f(incompatible)h(with)e
-(the)h(netCDF)h(pac)m(king)g(algorithm)f(describ)s(ed)f(ab)s(o)m(v)m
-(e.)49 b(The)150 3898 y(unpac)m(king)30 b(comp)s(onen)m(t)h(of)g(the)f
+5085 y(i.e.,)g Fy(int)p FD(,)d Fy(float)g FD(or)i Fy(double)p
+FD(.)p 150 5154 1200 4 v 166 5221 a Ft(21)275 5253 y
+Fs(Although)26 b(not)g(a)h(part)g(of)g(the)f(standard,)i
+Fp(NCO)e Fs(enforces)i(the)e(p)r(olicy)h(that)f(the)h
+Fr(_FillValue)i Fs(attribute,)e(if)g(an)n(y)-6 b(,)26
+b(of)275 5340 y(a)g(pac)n(k)n(ed)e(v)l(ariable)j(is)f(also)h(stored)f
+(at)g(the)f(original)i(precision.)p eop end
+%%Page: 83 89
+TeXDict begin 83 88 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(83)150 299 y Fu(Default)41
+b(Handling)h(of)g(P)m(ac)m(k)m(ed)c(Data)150 446 y FD(Most)44
+b(\014les)f(originally)h(written)f(in)g FC(HDF)h FD(format)f(use)g(the)
+g FC(HDF)h FD(pac)m(king/unpac)m(king)h(algorithm.)150
+555 y(This)32 b(algorithm)i(is)f(incompatible)h(with)e(the)h(netCDF)h
+(pac)m(king)g(algorithm)f(describ)s(ed)f(ab)s(o)m(v)m(e.)49
+b(The)150 665 y(unpac)m(king)30 b(comp)s(onen)m(t)h(of)g(the)f
FC(HDF)i FD(algorithm)f(\(describ)s(ed)f(here)g(\()p
-Fy(http://www.hdfgroup.org/)150 4008 y(HDF5/doc/UG/UG_frame10Da)o(tase)
-o(ts.h)o(tml)o FD(\)\))25 b(is)1172 4211 y(upk)f(=)h(scale)p
-1634 4211 28 4 v 42 w(factor)c FA(\002)f FD(\(p)s(c)m(k)g
-FA(\000)g FD(add)p 2449 4211 V 40 w(o\013set)q(\))150
-4413 y(Confusingly)-8 b(,)34 b(the)f(\(incompatible\))j(netCDF)e(and)e
+Fy(http://www.hdfgroup.org/)150 775 y(HDF5/doc/UG/UG_frame10Da)o(tase)o
+(ts.h)o(tml)o FD(\)\))25 b(is)1172 950 y(upk)f(=)h(scale)p
+1634 950 28 4 v 42 w(factor)c FA(\002)f FD(\(p)s(c)m(k)g
+FA(\000)g FD(add)p 2449 950 V 40 w(o\013set)q(\))150
+1126 y(Confusingly)-8 b(,)34 b(the)f(\(incompatible\))j(netCDF)e(and)e
FC(HDF)i FD(algorithms)h(b)s(oth)d(store)i(their)g(parameters)150
-4523 y(in)k(attributes)i(with)e(the)h(same)g(names)f(\()p
+1235 y(in)k(attributes)i(with)e(the)h(same)g(names)f(\()p
Fy(scale_factor)e FD(and)i Fy(add_offset)p FD(\).)63
-b(Data)40 b(pac)m(k)m(ed)g(with)150 4633 y(one)d(algorithm)h(should)f
+b(Data)40 b(pac)m(k)m(ed)g(with)150 1345 y(one)d(algorithm)h(should)f
(nev)m(er)g(b)s(e)f(unpac)m(k)m(ed)h(with)g(the)h(other;)i(doing)e(so)f
-(will)g(result)g(in)g(incorrect)150 4742 y(answ)m(ers.)44
+(will)g(result)g(in)g(incorrect)150 1455 y(answ)m(ers.)44
b(Unfortunately)-8 b(,)33 b(few)f(users)e(are)i(a)m(w)m(are)h(that)g
(their)e(datasets)i(ma)m(y)f(b)s(e)f(pac)m(k)m(ed,)j(and)d(few)m(er)150
-4852 y(kno)m(w)42 b(the)g(details)g(of)g(the)g(pac)m(king)g(algorithm)h
+1564 y(kno)m(w)42 b(the)g(details)g(of)g(the)g(pac)m(king)g(algorithm)h
(emplo)m(y)m(ed.)76 b(This)41 b(is)g(what)h(w)m(e)g(in)f(the)h
-(\\bizness")150 4961 y(call)30 b(an)e Fz(in)m(terop)s(erabilit)m(y)38
+(\\bizness")150 1674 y(call)30 b(an)e Fz(in)m(terop)s(erabilit)m(y)38
b FD(issue)28 b(b)s(ecause)g(it)h(hamp)s(ers)e(data)i(analysis)g(p)s
-(erformed)e(on)i(heterogeneous)150 5071 y(systems.)275
-5230 y(As)21 b(describ)s(ed)f(b)s(elo)m(w,)k FC(NCO)d
+(erformed)e(on)i(heterogeneous)150 1783 y(systems.)275
+1943 y(As)21 b(describ)s(ed)f(b)s(elo)m(w,)k FC(NCO)d
FD(automatically)k(unpac)m(ks)c(data)h(b)s(efore)f(p)s(erforming)g
-(arithmetic.)39 b(This)150 5340 y(automatic)e(unpac)m(king)f(o)s(ccurs)
+(arithmetic.)39 b(This)150 2052 y(automatic)e(unpac)m(king)f(o)s(ccurs)
f(silen)m(tly)i(since)f(there)g(is)f(usually)g(no)h(reason)f(to)i(b)s
-(other)e(users)f(with)p eop end
-%%Page: 83 89
-TeXDict begin 83 88 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(83)150 299 y(these)25
-b(details.)40 b(There)24 b(is)g(as)h(y)m(et)h(no)e(generic)i(w)m(a)m(y)
-f(for)f FC(NCO)g FD(to)i(kno)m(w)e(whic)m(h)g(pac)m(king)i(con)m(v)m
-(en)m(tion)h(w)m(as)150 408 y(used,)36 b(so)g FC(NCO)f
-Fo(assumes)44 b FD(the)36 b(netCDF)g(con)m(v)m(en)m(tion)i(w)m(as)e
-(used.)56 b FC(NCO)35 b FD(uses)g(the)h(same)g(con)m(v)m(en)m(tion)150
-518 y(for)c(unpac)m(king)h(unless)f(explicitly)i(told)f(otherwise)g
+(other)e(users)f(with)150 2162 y(these)25 b(details.)40
+b(There)24 b(is)g(as)h(y)m(et)h(no)e(generic)i(w)m(a)m(y)f(for)f
+FC(NCO)g FD(to)i(kno)m(w)e(whic)m(h)g(pac)m(king)i(con)m(v)m(en)m(tion)
+h(w)m(as)150 2271 y(used,)36 b(so)g FC(NCO)f Fo(assumes)44
+b FD(the)36 b(netCDF)g(con)m(v)m(en)m(tion)i(w)m(as)e(used.)56
+b FC(NCO)35 b FD(uses)g(the)h(same)g(con)m(v)m(en)m(tion)150
+2381 y(for)c(unpac)m(king)h(unless)f(explicitly)i(told)f(otherwise)g
(with)f(the)h(`)p Fy(--hdf_upk)p FD(')e(\(also)i(`)p
-Fy(--hdf_unpack)p FD('\))150 628 y(switc)m(h.)38 b(Un)m(til)24
+Fy(--hdf_unpack)p FD('\))150 2491 y(switc)m(h.)38 b(Un)m(til)24
b(and)d(unless)h(a)h(metho)s(d)e(of)i(automatically)i(detecting)f(the)e
-(pac)m(king)i(metho)s(d)d(is)i(devised,)150 737 y(it)i(m)m(ust)g
+(pac)m(king)i(metho)s(d)d(is)i(devised,)150 2600 y(it)i(m)m(ust)g
(remain)g(the)g(user's)f(resp)s(onsibilit)m(y)g(to)i(tell)g
FC(NCO)e FD(when)g(to)i(use)e(the)h FC(HDF)h FD(con)m(v)m(en)m(tion)h
-(instead)150 847 y(of)k(the)f(netCDF)h(con)m(v)m(en)m(tion)i(to)e
-(unpac)m(k.)275 1007 y(If)25 b(y)m(our)h(data)h(originally)g(came)g
+(instead)150 2710 y(of)k(the)f(netCDF)h(con)m(v)m(en)m(tion)i(to)e
+(unpac)m(k.)275 2869 y(If)25 b(y)m(our)h(data)h(originally)g(came)g
(from)f(an)g FC(HDF)h FD(\014le)f(\(e.g.,)j FC(NASA)e(EOS)p
FD(\))e(then)h(it)h(w)m(as)f(lik)m(ely)i(pac)m(k)m(ed)150
-1116 y(with)37 b(the)h FC(HDF)g FD(con)m(v)m(en)m(tion)i(and)d(m)m(ust)
+2979 y(with)37 b(the)h FC(HDF)g FD(con)m(v)m(en)m(tion)i(and)d(m)m(ust)
h(b)s(e)f(unpac)m(k)m(ed)g(with)h(the)f(same)h(con)m(v)m(en)m(tion.)65
-b(Our)36 b(recom-)150 1226 y(mendation)d(is)f(to)i(only)e(request)h
+b(Our)36 b(recom-)150 3088 y(mendation)d(is)f(to)i(only)e(request)h
FC(HDF)g FD(unpac)m(king)g(when)e(y)m(ou)i(are)g(certain.)49
-b(Most)33 b(pac)m(k)m(ed)h(datasets)150 1335 y(encoun)m(tered)26
+b(Most)33 b(pac)m(k)m(ed)h(datasets)150 3198 y(encoun)m(tered)26
b(b)m(y)f FC(NCO)g FD(will)h(ha)m(v)m(e)h(used)e(the)g(netCDF)h(con)m
(v)m(en)m(tion.)42 b(Those)25 b(that)h(w)m(ere)g(not)g(will)f(hop)s(e-)
-150 1445 y(fully)36 b(pro)s(duce)f(noticeably)j(w)m(eird)e(v)-5
+150 3308 y(fully)36 b(pro)s(duce)f(noticeably)j(w)m(eird)e(v)-5
b(alues)37 b(when)e(unpac)m(k)m(ed)i(b)m(y)f(the)h(wrong)f(algorithm.)
-60 b(Before)37 b(or)150 1555 y(after)31 b(panic)m(king,)h(treat)f(this)
+60 b(Before)37 b(or)150 3417 y(after)31 b(panic)m(king,)h(treat)f(this)
g(as)g(a)g(clue)g(to)g(re-try)g(y)m(our)f(commands)h(with)f(the)h(`)p
-Fy(--hdf_upk)p FD(')d(switc)m(h.)150 1664 y(See)34 b(Section)h(4.8)h
+Fy(--hdf_upk)p FD(')d(switc)m(h.)150 3527 y(See)34 b(Section)h(4.8)h
([ncp)s(dq)c(netCDF)j(P)m(erm)m(ute)g(Dimensions)f(Quic)m(kly],)i(page)
-f(189)h(for)e(an)g(easy)h(tec)m(h-)150 1774 y(nique)23
+f(190)h(for)e(an)g(easy)h(tec)m(h-)150 3636 y(nique)23
b(to)g(unpac)m(k)g(data)h(pac)m(k)m(ed)g(with)f(the)g
FC(HDF)h FD(con)m(v)m(en)m(tion,)j(and)c(then)f(re-pac)m(k)j(it)e(with)
-g(the)g(netCDF)150 1883 y(con)m(v)m(en)m(tion.)150 2083
+g(the)g(netCDF)150 3746 y(con)m(v)m(en)m(tion.)150 3938
y Fu(Default)41 b(Handling)h(of)g(P)m(ac)m(k)m(ed)c(Data)150
-2230 y FD(All)23 b FC(NCO)g FD(arithmetic)h(op)s(erators)e(understand)f
+4085 y FD(All)23 b FC(NCO)g FD(arithmetic)h(op)s(erators)e(understand)f
(pac)m(k)m(ed)j(data.)39 b(The)22 b(op)s(erators)h(automatically)i
-(unpac)m(k)150 2340 y(an)m(y)33 b(pac)m(k)m(ed)h(v)-5
+(unpac)m(k)150 4194 y(an)m(y)33 b(pac)m(k)m(ed)h(v)-5
b(ariable)34 b(in)f(the)g(input)f(\014le)h(whic)m(h)g(will)g(b)s(e)f
(arithmetically)j(pro)s(cessed.)48 b(F)-8 b(or)34 b(example,)150
-2449 y Fy(ncra)26 b FD(unpac)m(ks)g(all)h(record)g(v)-5
+4304 y Fy(ncra)26 b FD(unpac)m(ks)g(all)h(record)g(v)-5
b(ariables,)28 b(and)e Fy(ncwa)g FD(unpac)m(ks)g(all)i(v)-5
b(ariable)27 b(whic)m(h)f(con)m(tain)i(a)g(dimension)150
-2559 y(to)j(b)s(e)f(a)m(v)m(eraged.)43 b(These)30 b(v)-5
+4413 y(to)j(b)s(e)f(a)m(v)m(eraged.)43 b(These)30 b(v)-5
b(ariables)31 b(are)g(stored)f(unpac)m(k)m(ed)h(in)f(the)g(output)g
-(\014le.)275 2719 y(On)37 b(the)h(other)h(hand,)g(arithmetic)h(op)s
+(\014le.)275 4573 y(On)37 b(the)h(other)h(hand,)g(arithmetic)h(op)s
(erators)e(do)g(not)h(unpac)m(k)f(non-pro)s(cessed)f(v)-5
-b(ariables.)65 b(F)-8 b(or)150 2828 y(example,)33 b Fy(ncra)e
+b(ariables.)65 b(F)-8 b(or)150 4682 y(example,)33 b Fy(ncra)e
FD(lea)m(v)m(es)k(all)d(non-record)g(v)-5 b(ariables)33
b(pac)m(k)m(ed,)h(and)d Fy(ncwa)g FD(lea)m(v)m(es)j(pac)m(k)m(ed)f(all)
-g(v)-5 b(ariables)150 2938 y(lac)m(king)27 b(an)e(a)m(v)m(eraged)i
+g(v)-5 b(ariables)150 4792 y(lac)m(king)27 b(an)e(a)m(v)m(eraged)i
(dimension.)38 b(These)25 b(v)-5 b(ariables)25 b(\(called)i(\014xed)d
(v)-5 b(ariables\))26 b(are)g(passed)e(unaltered)150
-3048 y(from)c(the)i(input)e(to)h(the)g(output)g(\014le.)38
+4902 y(from)c(the)i(input)e(to)h(the)g(output)g(\014le.)38
b(Hence)21 b(\014xed)g(v)-5 b(ariables)21 b(whic)m(h)g(are)g(pac)m(k)m
-(ed)h(in)f(input)f(\014les)h(remain)150 3157 y(pac)m(k)m(ed)31
+(ed)h(in)f(input)f(\014les)h(remain)150 5011 y(pac)m(k)m(ed)31
b(in)e(output)h(\014les.)40 b(Completely)31 b(pac)m(king)g(and)e(unpac)
m(king)h(\014les)g(is)g(easily)h(accomplished)f(with)150
-3267 y Fy(ncpdq)d FD(\(see)j(Section)g(4.8)f([ncp)s(dq)f(netCDF)h(P)m
-(erm)m(ute)h(Dimensions)f(Quic)m(kly],)h(page)f(189\).)42
-b(P)m(ac)m(k)31 b(and)150 3376 y(unpac)m(k)26 b(individual)g(v)-5
+5121 y Fy(ncpdq)d FD(\(see)j(Section)g(4.8)f([ncp)s(dq)f(netCDF)h(P)m
+(erm)m(ute)h(Dimensions)f(Quic)m(kly],)h(page)f(190\).)42
+b(P)m(ac)m(k)31 b(and)150 5230 y(unpac)m(k)26 b(individual)g(v)-5
b(ariables)28 b(with)e Fy(ncpdq)f FD(and)h(the)h Fy(ncap2)e(pack\(\))g
-FD(and)h Fy(unpack\(\))f FD(functions)h(\(see)150 3486
+FD(and)h Fy(unpack\(\))f FD(functions)h(\(see)150 5340
y(Section)31 b(4.1.11)i([Metho)s(ds)d(and)g(functions],)g(page)i
-(119\).)150 3719 y FB(3.32)68 b(Op)t(eration)46 b(T)l(yp)t(es)150
-3853 y Fk(\013)p 200 3853 3554 4 v 3553 w(\010)p 150
-4343 4 442 v 178 3989 a FD(Av)-5 b(ailabilit)m(y:)43
-b Fy(ncap2)p FD(,)30 b Fy(ncra)p FD(,)f Fy(nces)p FD(,)h
-Fy(ncwa)178 4099 y FD(Short)g(options:)41 b(`)p Fy(-y)p
-FD(')178 4208 y(Long)31 b(options:)41 b(`)p Fy(--operation)p
-FD(',)28 b(`)p Fy(--op_typ)p FD(')p 3803 4343 V 150 4394
-a Fk(\012)p 200 4394 3554 4 v 3553 w(\011)150 4565 y
-FD(The)c(`)p Fy(-y)30 b Fn(op_typ)p FD(')23 b(switc)m(h)h(allo)m(ws)i
-(sp)s(eci\014cation)f(of)g(man)m(y)f(di\013eren)m(t)h(t)m(yp)s(es)f(of)
-h(op)s(erations)f(Set)h Fz(op)p 3582 4565 28 4 v 40 w(t)m(yp)150
-4675 y FD(to)31 b(the)g(abbreviated)f(k)m(ey)i(for)e(the)g(corresp)s
-(onding)g(op)s(eration:)150 4860 y Fy(avg)336 b FD(Mean)31
-b(v)-5 b(alue)150 5020 y Fy(sqravg)192 b FD(Square)30
-b(of)g(the)h(mean)150 5180 y Fy(avgsqr)192 b FD(Mean)31
-b(of)g(sum)e(of)h(squares)150 5340 y Fy(max)336 b FD(Maximium)31
-b(v)-5 b(alue)p eop end
+(119\).)p eop end
%%Page: 84 90
TeXDict begin 84 89 bop 150 -116 a FD(84)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(min)336 b FD(Minimium)30
-b(v)-5 b(alue)150 466 y Fy(rms)336 b FD(Ro)s(ot-mean-square)32
-b(\(normalized)f(b)m(y)f Fz(N)10 b FD(\))150 634 y Fy(rmssdn)192
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(3.32)68 b(Op)t(eration)46
+b(T)l(yp)t(es)150 433 y Fk(\013)p 200 433 3554 4 v 3553
+w(\010)p 150 922 4 442 v 178 569 a FD(Av)-5 b(ailabilit)m(y:)43
+b Fy(ncap2)p FD(,)30 b Fy(ncra)p FD(,)f Fy(nces)p FD(,)h
+Fy(ncwa)178 678 y FD(Short)g(options:)41 b(`)p Fy(-y)p
+FD(')178 788 y(Long)31 b(options:)41 b(`)p Fy(--operation)p
+FD(',)28 b(`)p Fy(--op_typ)p FD(')p 3803 922 V 150 974
+a Fk(\012)p 200 974 3554 4 v 3553 w(\011)150 1144 y FD(The)c(`)p
+Fy(-y)30 b Fn(op_typ)p FD(')23 b(switc)m(h)h(allo)m(ws)i(sp)s
+(eci\014cation)f(of)g(man)m(y)f(di\013eren)m(t)h(t)m(yp)s(es)f(of)h(op)
+s(erations)f(Set)h Fz(op)p 3582 1144 28 4 v 40 w(t)m(yp)150
+1254 y FD(to)31 b(the)g(abbreviated)f(k)m(ey)i(for)e(the)g(corresp)s
+(onding)g(op)s(eration:)150 1436 y Fy(avg)336 b FD(Mean)31
+b(v)-5 b(alue)150 1593 y Fy(sqravg)192 b FD(Square)30
+b(of)g(the)h(mean)150 1749 y Fy(avgsqr)192 b FD(Mean)31
+b(of)g(sum)e(of)h(squares)150 1905 y Fy(max)336 b FD(Maximium)31
+b(v)-5 b(alue)150 2061 y Fy(min)336 b FD(Minimium)30
+b(v)-5 b(alue)150 2217 y Fy(rms)336 b FD(Ro)s(ot-mean-square)32
+b(\(normalized)f(b)m(y)f Fz(N)10 b FD(\))150 2373 y Fy(rmssdn)192
b FD(Ro)s(ot-mean)31 b(square)g(\(normalized)g(b)m(y)f
-Fz(N-1)7 b FD(\))150 802 y Fy(sqrt)288 b FD(Square)30
-b(ro)s(ot)g(of)h(the)g(mean)150 969 y Fy(ttl)336 b FD(Sum)29
-b(of)i(v)-5 b(alues)150 1162 y FC(NCO)44 b FD(assumes)f(co)s(ordinate)i
+Fz(N-1)7 b FD(\))150 2529 y Fy(sqrt)288 b FD(Square)30
+b(ro)s(ot)g(of)h(the)g(mean)150 2686 y Fy(ttl)336 b FD(Sum)29
+b(of)i(v)-5 b(alues)150 2868 y FC(NCO)44 b FD(assumes)f(co)s(ordinate)i
(v)-5 b(ariables)44 b(represen)m(t)g(grid)g(axes,)k(e.g.,)g(longitude.)
-82 b(The)43 b(only)h(rank-)150 1271 y(reduction)30 b(whic)m(h)f(mak)m
+82 b(The)43 b(only)h(rank-)150 2978 y(reduction)30 b(whic)m(h)f(mak)m
(es)h(sense)g(for)f(co)s(ordinate)i(v)-5 b(ariables)30
b(is)g(a)m(v)m(eraging.)43 b(Hence)30 b FC(NCO)f FD(implemen)m(ts)150
-1381 y(the)35 b(op)s(eration)h(t)m(yp)s(e)f(requested)g(with)g(`)p
+3087 y(the)35 b(op)s(eration)h(t)m(yp)s(e)f(requested)g(with)g(`)p
Fy(-y)p FD(')g(on)g(all)h(non-co)s(ordinate)g(v)-5 b(ariables,)37
-b(not)e(on)g(co)s(ordinate)150 1490 y(v)-5 b(ariables.)66
+b(not)e(on)g(co)s(ordinate)150 3197 y(v)-5 b(ariables.)66
b(When)39 b(an)g(op)s(eration)g(requires)f(a)h(co)s(ordinate)h(v)-5
b(ariable)39 b(to)h(b)s(e)e(reduced)g(in)g(rank,)j(i.e.,)150
-1600 y(from)30 b(one)g(dimension)f(to)i(a)g(scalar)g(or)f(from)f(one)i
+3307 y(from)30 b(one)g(dimension)f(to)i(a)g(scalar)g(or)f(from)f(one)i
(dimension)e(to)i(a)f(degenerate)i(\(single)f(v)-5 b(alue\))31
-b(arra)m(y)-8 b(,)150 1710 y(then)37 b FC(NCO)g Fo(always)k(aver)-5
+b(arra)m(y)-8 b(,)150 3416 y(then)37 b FC(NCO)g Fo(always)k(aver)-5
b(ages)45 b FD(the)38 b(co)s(ordinate)g(v)-5 b(ariable)38
b(regardless)f(of)h(the)f(arithmetic)h(op)s(eration)150
-1819 y(t)m(yp)s(e)31 b(p)s(erformed)d(on)j(the)f(non-co)s(ordinate)h(v)
--5 b(ariables.)275 1983 y(The)20 b(mathematical)k(de\014nition)d(of)g
+3526 y(t)m(yp)s(e)31 b(p)s(erformed)d(on)j(the)f(non-co)s(ordinate)h(v)
+-5 b(ariables.)275 3685 y(The)20 b(mathematical)k(de\014nition)d(of)g
(eac)m(h)h(arithmetic)h(op)s(eration)f(is)f(giv)m(en)h(b)s(elo)m(w.)38
-b(See)21 b(Section)h(4.12)150 2092 y([ncw)m(a)44 b(netCDF)f(W)-8
-b(eigh)m(ted)46 b(Av)m(erager],)i(page)c(205,)j(for)c(additional)h
-(information)g(on)f(masks)g(and)150 2202 y(normalization.)e(If)26
+b(See)21 b(Section)h(4.12)150 3795 y([ncw)m(a)44 b(netCDF)f(W)-8
+b(eigh)m(ted)46 b(Av)m(erager],)i(page)c(206,)j(for)c(additional)h
+(information)g(on)f(masks)g(and)150 3904 y(normalization.)e(If)26
b(an)h(op)s(eration)g(t)m(yp)s(e)g(is)g(not)g(sp)s(eci\014ed)f(with)g
(`)p Fy(-y)p FD(')h(then)f(the)h(op)s(erator)g(p)s(erforms)e(an)150
-2312 y(arithmetic)30 b(a)m(v)m(erage)h(b)m(y)e(default.)40
+4014 y(arithmetic)30 b(a)m(v)m(erage)h(b)m(y)e(default.)40
b(Av)m(eraging)31 b(is)e(describ)s(ed)e(\014rst)h(so)h(the)g
-(terminology)h(for)f(the)g(other)150 2421 y(op)s(erations)i(is)f
-(familiar.)275 2585 y(The)f(mask)m(ed,)i(w)m(eigh)m(ted)h(a)m(v)m
+(terminology)h(for)f(the)g(other)150 4123 y(op)s(erations)i(is)f
+(familiar.)275 4283 y(The)f(mask)m(ed,)i(w)m(eigh)m(ted)h(a)m(v)m
(erage)h(of)e(a)f(v)-5 b(ariable)32 b Fv(x)e FD(can)h(b)s(e)e
-(generally)j(represen)m(ted)e(as)1538 2868 y(\026)-48
-b Fv(x)1587 2882 y Fg(j)1647 2868 y FD(=)1753 2742 y
-Ff(P)1841 2763 y Fg(i)p Ft(=)p Fg(N)1841 2830 y(i)p Ft(=1)1993
-2807 y Fv(\026)2048 2821 y Fg(i)2075 2807 y Fv(m)2155
-2821 y Fg(i)2183 2807 y Fv(w)2248 2821 y Fg(i)2276 2807
-y Fv(x)2328 2821 y Fg(i)p 1753 2847 603 4 v 1793 2876
-a Ff(P)1880 2897 y Fg(i)p Ft(=)p Fg(N)1880 2963 y(i)p
-Ft(=1)2033 2941 y Fv(\026)2088 2955 y Fg(i)2115 2941
-y Fv(m)2195 2955 y Fg(i)2223 2941 y Fv(w)2288 2955 y
-Fg(i)150 3148 y FD(where)40 b(\026)-48 b Fv(x)472 3162
-y Fg(j)544 3148 y FD(is)37 b(the)g Fv(j)5 b FD('th)38
+(generally)j(represen)m(ted)e(as)1538 4540 y(\026)-48
+b Fv(x)1587 4554 y Fg(j)1647 4540 y FD(=)1753 4414 y
+Ff(P)1841 4434 y Fg(i)p Ft(=)p Fg(N)1841 4501 y(i)p Ft(=1)1993
+4478 y Fv(\026)2048 4492 y Fg(i)2075 4478 y Fv(m)2155
+4492 y Fg(i)2183 4478 y Fv(w)2248 4492 y Fg(i)2276 4478
+y Fv(x)2328 4492 y Fg(i)p 1753 4518 603 4 v 1793 4548
+a Ff(P)1880 4568 y Fg(i)p Ft(=)p Fg(N)1880 4635 y(i)p
+Ft(=1)2033 4612 y Fv(\026)2088 4626 y Fg(i)2115 4612
+y Fv(m)2195 4626 y Fg(i)2223 4612 y Fv(w)2288 4626 y
+Fg(i)150 4792 y FD(where)40 b(\026)-48 b Fv(x)472 4806
+y Fg(j)544 4792 y FD(is)37 b(the)g Fv(j)5 b FD('th)38
b(elemen)m(t)h(of)e(the)h(output)e(h)m(yp)s(erslab,)j
-Fv(x)2416 3162 y Fg(i)2480 3148 y FD(is)f(the)f Fv(i)p
-FD('th)g(elemen)m(t)i(of)e(the)h(input)150 3257 y(h)m(yp)s(erslab,)30
-b Fv(\026)643 3271 y Fg(i)701 3257 y FD(is)g(1)h(unless)f
-Fv(x)1189 3271 y Fg(i)1247 3257 y FD(equals)h(the)f(missing)h(v)-5
-b(alue,)31 b Fv(m)2344 3271 y Fg(i)2402 3257 y FD(is)f(1)h(unless)f
-Fv(x)2890 3271 y Fg(i)2948 3257 y FD(is)h(mask)m(ed,)g(and)f
-Fv(w)3631 3271 y Fg(i)3689 3257 y FD(is)150 3367 y(the)j(w)m(eigh)m(t.)
+Fv(x)2416 4806 y Fg(i)2480 4792 y FD(is)f(the)f Fv(i)p
+FD('th)g(elemen)m(t)i(of)e(the)h(input)150 4902 y(h)m(yp)s(erslab,)30
+b Fv(\026)643 4916 y Fg(i)701 4902 y FD(is)g(1)h(unless)f
+Fv(x)1189 4916 y Fg(i)1247 4902 y FD(equals)h(the)f(missing)h(v)-5
+b(alue,)31 b Fv(m)2344 4916 y Fg(i)2402 4902 y FD(is)f(1)h(unless)f
+Fv(x)2890 4916 y Fg(i)2948 4902 y FD(is)h(mask)m(ed,)g(and)f
+Fv(w)3631 4916 y Fg(i)3689 4902 y FD(is)150 5011 y(the)j(w)m(eigh)m(t.)
48 b(This)32 b(formiddable)g(lo)s(oking)h(form)m(ula)g(represen)m(ts)g
(a)g(simple)f(w)m(eigh)m(ted)i(a)m(v)m(erage)h(whose)150
-3476 y(b)s(ells)d(and)g(whistles)h(are)g(all)g(explained)g(b)s(elo)m
+5121 y(b)s(ells)d(and)g(whistles)h(are)g(all)g(explained)g(b)s(elo)m
(w.)47 b(It)32 b(is)h(not)g(to)s(o)g(early)g(to)g(note,)h(ho)m(w)m(ev)m
-(er,)h(that)e(when)150 3586 y Fv(\026)205 3600 y Fg(i)264
-3586 y FD(=)f Fv(m)447 3600 y Fg(i)507 3586 y FD(=)f
-Fv(w)674 3600 y Fg(i)734 3586 y FD(=)h(1,)k(the)e(generic)i(a)m(v)m
+(er,)h(that)e(when)150 5230 y Fv(\026)205 5244 y Fg(i)264
+5230 y FD(=)f Fv(m)447 5244 y Fg(i)507 5230 y FD(=)f
+Fv(w)674 5244 y Fg(i)734 5230 y FD(=)h(1,)k(the)e(generic)i(a)m(v)m
(eraging)h(expression)d(ab)s(o)m(v)m(e)h(reduces)f(to)h(a)g(simple)g
-(arithmetic)150 3696 y(a)m(v)m(erage.)72 b(F)-8 b(urthermore,)42
-b Fv(m)1184 3710 y Fg(i)1252 3696 y FD(=)f Fv(w)1429
-3710 y Fg(i)1497 3696 y FD(=)g(1)f(for)g(all)g(op)s(erators)g(except)h
-Fy(ncwa)p FD(.)68 b(These)39 b(v)-5 b(ariables)41 b(are)150
-3805 y(included)i(in)h(the)g(discussion)g(b)s(elo)m(w)g(for)g
-(completeness,)k(and)c(for)g(p)s(ossible)f(future)g(use)h(in)g(other)
-150 3915 y(op)s(erators.)275 4078 y(The)21 b(size)h Fv(J)31
-b FD(of)22 b(the)g(output)f(h)m(yp)s(erslab)g(for)g(a)h(giv)m(en)h(v)-5
+(arithmetic)150 5340 y(a)m(v)m(erage.)72 b(F)-8 b(urthermore,)42
+b Fv(m)1184 5354 y Fg(i)1252 5340 y FD(=)f Fv(w)1429
+5354 y Fg(i)1497 5340 y FD(=)g(1)f(for)g(all)g(op)s(erators)g(except)h
+Fy(ncwa)p FD(.)68 b(These)39 b(v)-5 b(ariables)41 b(are)p
+eop end
+%%Page: 85 91
+TeXDict begin 85 90 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(85)150 299 y(included)43
+b(in)h(the)g(discussion)g(b)s(elo)m(w)g(for)g(completeness,)k(and)c
+(for)g(p)s(ossible)f(future)g(use)h(in)g(other)150 408
+y(op)s(erators.)275 573 y(The)21 b(size)h Fv(J)31 b FD(of)22
+b(the)g(output)f(h)m(yp)s(erslab)g(for)g(a)h(giv)m(en)h(v)-5
b(ariable)22 b(is)g(the)g(pro)s(duct)e(of)i(all)h(the)f(dimensions)150
-4188 y(of)43 b(the)h(input)e(v)-5 b(ariable)44 b(whic)m(h)f(are)h(not)f
+682 y(of)43 b(the)h(input)e(v)-5 b(ariable)44 b(whic)m(h)f(are)h(not)f
(a)m(v)m(eraged)j(o)m(v)m(er.)81 b(The)42 b(size)j Fv(N)53
-b FD(of)43 b(the)h(input)e(h)m(yp)s(erslab)150 4297 y(con)m(tributing)k
-(to)g(eac)m(h)k(\026)-49 b Fv(x)1080 4311 y Fg(j)1161
-4297 y FD(is)45 b(simply)g(the)g(pro)s(duct)f(of)i(the)f(sizes)h(of)g
-(all)g(dimensions)f(whic)m(h)g(are)150 4407 y(a)m(v)m(eraged)27
+b FD(of)43 b(the)h(input)e(h)m(yp)s(erslab)150 792 y(con)m(tributing)k
+(to)g(eac)m(h)k(\026)-49 b Fv(x)1080 806 y Fg(j)1161
+792 y FD(is)45 b(simply)g(the)g(pro)s(duct)f(of)i(the)f(sizes)h(of)g
+(all)g(dimensions)f(whic)m(h)g(are)150 901 y(a)m(v)m(eraged)27
b(o)m(v)m(er)f(\(i.e.,)h(dimensions)d(sp)s(eci\014ed)g(with)h(`)p
Fy(-a)p FD('\).)39 b(Th)m(us)23 b Fv(N)35 b FD(is)25
b(the)g(n)m(um)m(b)s(er)e(of)i(input)f(elemen)m(ts)150
-4517 y(whic)m(h)36 b Fo(p)-5 b(otential)5 b(ly)46 b FD(con)m(tribute)36
+1011 y(whic)m(h)36 b Fo(p)-5 b(otential)5 b(ly)46 b FD(con)m(tribute)36
b(to)h(eac)m(h)g(output)f(elemen)m(t.)58 b(An)36 b(input)f(elemen)m(t)i
-Fv(x)3127 4531 y Fg(i)3191 4517 y FD(con)m(tributes)f(to)150
-4626 y(the)31 b(output)f(elemen)m(t)h Fv(x)992 4640 y
-Fg(j)1058 4626 y FD(except)g(in)f(t)m(w)m(o)i(conditions:)199
-4790 y(1.)61 b Fv(x)382 4804 y Fg(i)434 4790 y FD(equals)26
+Fv(x)3127 1025 y Fg(i)3191 1011 y FD(con)m(tributes)f(to)150
+1120 y(the)31 b(output)f(elemen)m(t)h Fv(x)992 1134 y
+Fg(j)1058 1120 y FD(except)g(in)f(t)m(w)m(o)i(conditions:)199
+1285 y(1.)61 b Fv(x)382 1299 y Fg(i)434 1285 y FD(equals)26
b(the)f Fz(missing)g(v)-5 b(alue)30 b FD(\(see)c(Section)g(3.25)g
-([Missing)g(V)-8 b(alues],)27 b(page)f(70\))g(for)f(the)g(v)-5
-b(ariable.)199 4928 y(2.)61 b Fv(x)382 4942 y Fg(i)438
-4928 y FD(is)29 b(lo)s(cated)h(at)f(a)g(p)s(oin)m(t)f(where)g(the)h
+([Missing)g(V)-8 b(alues],)27 b(page)f(71\))g(for)f(the)g(v)-5
+b(ariable.)199 1424 y(2.)61 b Fv(x)382 1438 y Fg(i)438
+1424 y FD(is)29 b(lo)s(cated)h(at)f(a)g(p)s(oin)m(t)f(where)g(the)h
(mask)g(condition)g(\(see)g(Section)h(4.12.1)g([Mask)g(condition],)330
-5038 y(page)h(206\))h(is)f(false.)275 5230 y(P)m(oin)m(ts)c
-Fv(x)602 5244 y Fg(i)655 5230 y FD(in)f(either)h(of)f(these)h(t)m(w)m
+1533 y(page)h(207\))h(is)f(false.)275 1727 y(P)m(oin)m(ts)c
+Fv(x)602 1741 y Fg(i)655 1727 y FD(in)f(either)h(of)f(these)h(t)m(w)m
(o)g(categories)i(do)d(not)g(con)m(tribute)h(to)g Fv(x)2793
-5244 y Fg(j)2828 5230 y FD(|they)f(are)g(ignored.)40
-b(W)-8 b(e)150 5340 y(no)m(w)30 b(de\014ne)g(these)h(criteria)g(more)g
-(rigorously)-8 b(.)p eop end
-%%Page: 85 91
-TeXDict begin 85 90 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(85)275 299 y(Eac)m(h)45
-b Fv(x)567 313 y Fg(i)640 299 y FD(has)g(an)g(asso)s(ciated)i(Bo)s
-(olean)f(w)m(eigh)m(t)h Fv(\026)2128 313 y Fg(i)2200
-299 y FD(whose)e(v)-5 b(alue)46 b(is)f(0)h(or)f(1)g(\(false)h(or)g
-(true\).)150 408 y(The)38 b(v)-5 b(alue)40 b(of)f Fv(\026)756
-422 y Fg(i)822 408 y FD(is)g(1)h(\(true\))f(unless)g
-Fv(x)1608 422 y Fg(i)1674 408 y FD(equals)g(the)h Fz(missing)e(v)-5
+1741 y Fg(j)2828 1727 y FD(|they)f(are)g(ignored.)40
+b(W)-8 b(e)150 1837 y(no)m(w)30 b(de\014ne)g(these)h(criteria)g(more)g
+(rigorously)-8 b(.)275 2001 y(Eac)m(h)45 b Fv(x)567 2015
+y Fg(i)640 2001 y FD(has)g(an)g(asso)s(ciated)i(Bo)s(olean)f(w)m(eigh)m
+(t)h Fv(\026)2128 2015 y Fg(i)2200 2001 y FD(whose)e(v)-5
+b(alue)46 b(is)f(0)h(or)f(1)g(\(false)h(or)g(true\).)150
+2110 y(The)38 b(v)-5 b(alue)40 b(of)f Fv(\026)756 2124
+y Fg(i)822 2110 y FD(is)g(1)h(\(true\))f(unless)g Fv(x)1608
+2124 y Fg(i)1674 2110 y FD(equals)g(the)h Fz(missing)e(v)-5
b(alue)45 b FD(\(see)40 b(Section)g(3.25)g([Missing)150
-518 y(V)-8 b(alues],)31 b(page)f(70\))g(for)f(the)h(v)-5
+2220 y(V)-8 b(alues],)31 b(page)f(71\))g(for)f(the)h(v)-5
b(ariable.)41 b(Th)m(us,)29 b(for)g(a)g(v)-5 b(ariable)30
b(with)f(no)g Fy(_FillValue)e FD(attribute,)j Fv(\026)3632
-532 y Fg(i)3689 518 y FD(is)150 628 y(alw)m(a)m(ys)35
+2234 y Fg(i)3689 2220 y FD(is)150 2329 y(alw)m(a)m(ys)35
b(1.)52 b(All)34 b FC(NCO)g FD(arithmetic)h(op)s(erators)f(\()p
Fy(ncbo)p FD(,)g Fy(ncra)p FD(,)g Fy(nces)p FD(,)g Fy(ncflint)p
-FD(,)f Fy(ncwa)p FD(\))g(treat)i(missing)150 737 y(v)-5
-b(alues)31 b(analogously)-8 b(.)275 897 y(Besides)36
+FD(,)f Fy(ncwa)p FD(\))g(treat)i(missing)150 2439 y(v)-5
+b(alues)31 b(analogously)-8 b(.)275 2603 y(Besides)36
b(\(w)m(eigh)m(ted\))h(a)m(v)m(eraging,)j Fy(ncwa)p FD(,)c
Fy(ncra)p FD(,)g(and)f Fy(nces)f FD(also)j(compute)e(some)h(common)g
-(non-)150 1006 y(linear)c(op)s(erations)g(whic)m(h)f(ma)m(y)i(b)s(e)e
+(non-)150 2713 y(linear)c(op)s(erations)g(whic)m(h)f(ma)m(y)i(b)s(e)e
(sp)s(eci\014ed)g(with)g(the)h(`)p Fy(-y)p FD(')g(switc)m(h)g(\(see)g
-(Section)h(3.32)g([Op)s(eration)150 1116 y(T)m(yp)s(es],)h(page)f
-(83\).)50 b(The)33 b(other)g(rank-reducing)g(op)s(erations)g(are)g
+(Section)h(3.32)g([Op)s(eration)150 2822 y(T)m(yp)s(es],)h(page)f
+(84\).)50 b(The)33 b(other)g(rank-reducing)g(op)s(erations)g(are)g
(simple)g(v)-5 b(ariations)35 b(of)e(the)g(generic)150
-1225 y(w)m(eigh)m(ted)f(mean)e(describ)s(ed)f(ab)s(o)m(v)m(e.)42
+2932 y(w)m(eigh)m(ted)f(mean)e(describ)s(ed)f(ab)s(o)m(v)m(e.)42
b(The)30 b(total)i(v)-5 b(alue)31 b(of)g Fv(x)f FD(\()p
-Fy(-y)g(ttl)p FD(\))g(is)1594 1507 y(\026)-48 b Fv(x)1643
-1521 y Fg(j)1703 1507 y FD(=)1799 1402 y Fg(i)p Ft(=)p
-Fg(N)1805 1427 y Ff(X)1812 1603 y Fg(i)p Ft(=1)1947 1507
-y Fv(\026)2002 1521 y Fg(i)2030 1507 y Fv(m)2110 1521
-y Fg(i)2137 1507 y Fv(w)2202 1521 y Fg(i)2230 1507 y
-Fv(x)2282 1521 y Fg(i)150 1780 y FD(Note)26 b(that)f(the)f(total)i(is)f
+Fy(-y)g(ttl)p FD(\))g(is)1594 3231 y(\026)-48 b Fv(x)1643
+3245 y Fg(j)1703 3231 y FD(=)1799 3125 y Fg(i)p Ft(=)p
+Fg(N)1805 3150 y Ff(X)1812 3327 y Fg(i)p Ft(=1)1947 3231
+y Fv(\026)2002 3245 y Fg(i)2030 3231 y Fv(m)2110 3245
+y Fg(i)2137 3231 y Fv(w)2202 3245 y Fg(i)2230 3231 y
+Fv(x)2282 3245 y Fg(i)150 3521 y FD(Note)26 b(that)f(the)f(total)i(is)f
(the)f(same)h(as)f(the)h(n)m(umerator)f(of)h(the)f(mean)h(of)f
Fv(x)p FD(,)i(and)e(ma)m(y)h(also)g(b)s(e)f(obtained)150
-1890 y(in)45 b Fy(ncwa)e FD(b)m(y)i(using)f(the)h(`)p
+3631 y(in)45 b Fy(ncwa)e FD(b)m(y)i(using)f(the)h(`)p
Fy(-N)p FD(')g(switc)m(h)g(\(see)h(Section)g(4.12)g([ncw)m(a)g(netCDF)f
-(W)-8 b(eigh)m(ted)47 b(Av)m(erager],)150 2000 y(page)31
-b(205\).)275 2159 y(The)e(minim)m(um)h(v)-5 b(alue)31
-b(of)f Fv(x)h FD(\()p Fy(-y)f(min)p FD(\))g(is)975 2365
-y(\026)-49 b Fv(x)1023 2379 y Fg(j)1084 2365 y FD(=)24
-b(min[)p Fv(\026)1411 2379 y Ft(1)1448 2365 y Fv(m)1528
-2379 y Ft(1)1565 2365 y Fv(w)1630 2379 y Ft(1)1668 2365
-y Fv(x)1720 2379 y Ft(1)1757 2365 y Fv(;)15 b(\026)1852
-2379 y Ft(2)1889 2365 y Fv(m)1969 2379 y Ft(2)2006 2365
-y Fv(w)2071 2379 y Ft(2)2109 2365 y Fv(x)2161 2379 y
-Ft(2)2198 2365 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2454 2379
-y Fg(N)2518 2365 y Fv(m)2598 2379 y Fg(N)2660 2365 y
-Fv(w)2725 2379 y Fg(N)2788 2365 y Fv(x)2840 2379 y Fg(N)2903
-2365 y FD(])150 2571 y(Analogously)-8 b(,)32 b(the)f(maxim)m(um)f(v)-5
+(W)-8 b(eigh)m(ted)47 b(Av)m(erager],)150 3741 y(page)31
+b(206\).)275 3905 y(The)e(minim)m(um)h(v)-5 b(alue)31
+b(of)f Fv(x)h FD(\()p Fy(-y)f(min)p FD(\))g(is)975 4128
+y(\026)-49 b Fv(x)1023 4142 y Fg(j)1084 4128 y FD(=)24
+b(min[)p Fv(\026)1411 4142 y Ft(1)1448 4128 y Fv(m)1528
+4142 y Ft(1)1565 4128 y Fv(w)1630 4142 y Ft(1)1668 4128
+y Fv(x)1720 4142 y Ft(1)1757 4128 y Fv(;)15 b(\026)1852
+4142 y Ft(2)1889 4128 y Fv(m)1969 4142 y Ft(2)2006 4128
+y Fv(w)2071 4142 y Ft(2)2109 4128 y Fv(x)2161 4142 y
+Ft(2)2198 4128 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2454 4142
+y Fg(N)2518 4128 y Fv(m)2598 4142 y Fg(N)2660 4128 y
+Fv(w)2725 4142 y Fg(N)2788 4128 y Fv(x)2840 4142 y Fg(N)2903
+4128 y FD(])150 4351 y(Analogously)-8 b(,)32 b(the)f(maxim)m(um)f(v)-5
b(alue)31 b(of)g Fv(x)f FD(\()p Fy(-y)g(max)p FD(\))g(is)966
-2777 y(\026)-49 b Fv(x)1014 2791 y Fg(j)1075 2777 y FD(=)25
-b(max[)p Fv(\026)1420 2791 y Ft(1)1457 2777 y Fv(m)1537
-2791 y Ft(1)1574 2777 y Fv(w)1639 2791 y Ft(1)1676 2777
-y Fv(x)1728 2791 y Ft(1)1766 2777 y Fv(;)15 b(\026)1861
-2791 y Ft(2)1898 2777 y Fv(m)1978 2791 y Ft(2)2015 2777
-y Fv(w)2080 2791 y Ft(2)2118 2777 y Fv(x)2170 2791 y
-Ft(2)2207 2777 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2463 2791
-y Fg(N)2526 2777 y Fv(m)2606 2791 y Fg(N)2669 2777 y
-Fv(w)2734 2791 y Fg(N)2797 2777 y Fv(x)2849 2791 y Fg(N)2912
-2777 y FD(])150 2983 y(Th)m(us)29 b(the)i(minima)f(and)g(maxima)h(are)g
+4574 y(\026)-49 b Fv(x)1014 4588 y Fg(j)1075 4574 y FD(=)25
+b(max[)p Fv(\026)1420 4588 y Ft(1)1457 4574 y Fv(m)1537
+4588 y Ft(1)1574 4574 y Fv(w)1639 4588 y Ft(1)1676 4574
+y Fv(x)1728 4588 y Ft(1)1766 4574 y Fv(;)15 b(\026)1861
+4588 y Ft(2)1898 4574 y Fv(m)1978 4588 y Ft(2)2015 4574
+y Fv(w)2080 4588 y Ft(2)2118 4574 y Fv(x)2170 4588 y
+Ft(2)2207 4574 y Fv(;)g(:)g(:)g(:)h(;)f(\026)2463 4588
+y Fg(N)2526 4574 y Fv(m)2606 4588 y Fg(N)2669 4574 y
+Fv(w)2734 4588 y Fg(N)2797 4574 y Fv(x)2849 4588 y Fg(N)2912
+4574 y FD(])150 4798 y(Th)m(us)29 b(the)i(minima)f(and)g(maxima)h(are)g
(determined)f(after)h(an)m(y)f(w)m(eigh)m(ts)i(are)f(applied.)275
-3142 y(The)e(square)i(of)f(the)h(mean)f(v)-5 b(alue)31
+4962 y(The)e(square)i(of)f(the)h(mean)f(v)-5 b(alue)31
b(of)f Fv(x)h FD(\()p Fy(-y)f(sqravg)p FD(\))f(is)1454
-3435 y(\026)-49 b Fv(x)1502 3449 y Fg(j)1563 3435 y FD(=)1659
-3291 y Ff( )1734 3309 y(P)1822 3330 y Fg(i)p Ft(=)p Fg(N)1822
-3396 y(i)p Ft(=1)1974 3373 y Fv(\026)2029 3387 y Fg(i)2057
-3373 y Fv(m)2137 3387 y Fg(i)2164 3373 y Fv(w)2229 3387
-y Fg(i)2257 3373 y Fv(x)2309 3387 y Fg(i)p 1734 3414
-603 4 v 1774 3443 a Ff(P)1862 3464 y Fg(i)p Ft(=)p Fg(N)1862
-3530 y(i)p Ft(=1)2014 3507 y Fv(\026)2069 3521 y Fg(i)2097
-3507 y Fv(m)2177 3521 y Fg(i)2204 3507 y Fv(w)2269 3521
-y Fg(i)2347 3291 y Ff(!)2412 3308 y Ft(2)150 3710 y FD(The)30
-b(mean)g(of)h(the)f(sum)g(of)g(squares)g(of)h Fv(x)f
-FD(\()p Fy(-y)g(avgsqr)p FD(\))f(is)1533 3984 y(\026)-48
-b Fv(x)1582 3998 y Fg(j)1642 3984 y FD(=)1748 3858 y
-Ff(P)1836 3878 y Fg(i)p Ft(=)p Fg(N)1836 3945 y(i)p Ft(=1)1988
-3922 y Fv(\026)2043 3936 y Fg(i)2071 3922 y Fv(m)2151
-3936 y Fg(i)2178 3922 y Fv(w)2243 3936 y Fg(i)2271 3922
-y Fv(x)2323 3889 y Ft(2)2323 3945 y Fg(i)p 1748 3963
-613 4 v 1793 3992 a Ff(P)1880 4012 y Fg(i)p Ft(=)p Fg(N)1880
-4079 y(i)p Ft(=1)2033 4056 y Fv(\026)2088 4070 y Fg(i)2115
-4056 y Fv(m)2195 4070 y Fg(i)2223 4056 y Fv(w)2288 4070
-y Fg(i)150 4253 y FD(If)21 b Fv(x)h FD(represen)m(ts)g(a)g(deviation)h
-(from)e(the)h(mean)g(of)g(another)g(v)-5 b(ariable,)25
-b Fv(x)2601 4267 y Fg(i)2653 4253 y FD(=)g Fv(y)2794
-4267 y Fg(i)2825 4253 y FA(\000)t FD(\026)-46 b Fv(y)24
-b FD(\(p)s(ossibly)d(created)i(b)m(y)150 4362 y Fy(ncbo)28
-b FD(in)g(a)h(previous)f(step\),)i(then)f(applying)f
-Fy(avgsqr)f FD(to)j Fv(x)e FD(computes)h(the)g(appro)m(ximate)h(v)-5
-b(ariance)30 b(of)150 4472 y Fv(y)s FD(.)39 b(Computing)24
-b(the)h(true)g(v)-5 b(ariance)26 b(of)f Fv(y)j FD(requires)c
-(subtracting)h(1)h(from)e(the)h(denominator,)i(discussed)150
-4581 y(b)s(elo)m(w.)41 b(F)-8 b(or)31 b(a)g(large)g(sample)g(size)g(ho)
-m(w)m(ev)m(er,)h(the)f(t)m(w)m(o)g(results)f(will)h(b)s(e)f(nearly)g
-(indistinguishable.)275 4741 y(The)f(ro)s(ot)i(mean)g(square)f(of)g
-Fv(x)g FD(\()p Fy(-y)h(rms)p FD(\))e(is)1489 5055 y(\026)-48
-b Fv(x)1538 5069 y Fg(j)1598 5055 y FD(=)1694 4876 y
-Ff(v)1694 4922 y(u)1694 4972 y(u)1694 5022 y(t)p 1782
-4876 632 4 v 1792 4929 a(P)1880 4950 y Fg(i)p Ft(=)p
-Fg(N)1880 5016 y(i)p Ft(=1)2032 4993 y Fv(\026)2087 5007
-y Fg(i)2115 4993 y Fv(m)2195 5007 y Fg(i)2222 4993 y
-Fv(w)2287 5007 y Fg(i)2315 4993 y Fv(x)2367 4962 y Ft(2)2367
-5014 y Fg(i)p 1792 5034 613 4 v 1836 5063 a Ff(P)1924
-5084 y Fg(i)p Ft(=)p Fg(N)1924 5150 y(i)p Ft(=1)2077
-5127 y Fv(\026)2132 5141 y Fg(i)2159 5127 y Fv(m)2239
-5141 y Fg(i)2267 5127 y Fv(w)2332 5141 y Fg(i)150 5340
-y FD(Th)m(us)29 b Fy(rms)h FD(simply)g(computes)g(the)h(squarero)s(ot)f
-(of)h(the)f(quan)m(tit)m(y)i(computed)e(b)m(y)h Fy(avgsqr)p
-FD(.)p eop end
+5271 y(\026)-49 b Fv(x)1502 5285 y Fg(j)1563 5271 y FD(=)1659
+5127 y Ff( )1734 5146 y(P)1822 5166 y Fg(i)p Ft(=)p Fg(N)1822
+5233 y(i)p Ft(=1)1974 5210 y Fv(\026)2029 5224 y Fg(i)2057
+5210 y Fv(m)2137 5224 y Fg(i)2164 5210 y Fv(w)2229 5224
+y Fg(i)2257 5210 y Fv(x)2309 5224 y Fg(i)p 1734 5250
+603 4 v 1774 5279 a Ff(P)1862 5300 y Fg(i)p Ft(=)p Fg(N)1862
+5367 y(i)p Ft(=1)2014 5344 y Fv(\026)2069 5358 y Fg(i)2097
+5344 y Fv(m)2177 5358 y Fg(i)2204 5344 y Fv(w)2269 5358
+y Fg(i)2347 5127 y Ff(!)2412 5145 y Ft(2)p eop end
%%Page: 86 92
TeXDict begin 86 91 bop 150 -116 a FD(86)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)37 b(ro)s(ot)i(mean)f(square)g
-(of)h Fv(x)f FD(with)g(standard-deviation-lik)m(e)j(normalization)f(\()
-p Fy(-y)30 b(rmssdn)p FD(\))37 b(is)150 408 y(implemen)m(ted)f(as)f
-(follo)m(ws.)56 b(When)34 b(w)m(eigh)m(ts)j(are)e(not)g(sp)s
-(eci\014ed,)h(this)f(function)g(is)g(the)g(same)g(as)h(the)150
-518 y(ro)s(ot)31 b(mean)f(square)g(of)h Fv(x)f FD(except)h(one)g(is)f
-(subtracted)h(from)f(the)g(sum)g(in)g(the)g(denominator)1467
-810 y(\026)-49 b Fv(x)1515 824 y Fg(j)1576 810 y FD(=)1672
-631 y Ff(v)1672 678 y(u)1672 727 y(u)1672 777 y(t)p 1759
-631 678 4 v 1838 684 a(P)1926 705 y Fg(i)p Ft(=)p Fg(N)1926
-772 y(i)p Ft(=1)2078 749 y Fv(\026)2133 763 y Fg(i)2161
-749 y Fv(m)2241 763 y Fg(i)2268 749 y Fv(x)2320 717 y
-Ft(2)2320 769 y Fg(i)p 1769 789 658 4 v 1769 883 a FA(\000)p
-FD(1)21 b(+)1996 818 y Ff(P)2084 839 y Fg(i)p Ft(=)p
-Fg(N)2084 905 y(i)p Ft(=1)2237 883 y Fv(\026)2292 897
-y Fg(i)2319 883 y Fv(m)2399 897 y Fg(i)150 1078 y FD(If)29
-b Fv(x)h FD(represen)m(ts)g(the)g(deviation)h(from)f(the)g(mean)g(of)g
-(another)g(v)-5 b(ariable,)31 b Fv(x)2769 1092 y Fg(i)2822
-1078 y FD(=)25 b Fv(y)2963 1092 y Fg(i)3009 1078 y FA(\000)c
-FD(\026)-47 b Fv(y)s FD(,)30 b(then)g(applying)150 1188
-y Fy(rmssdn)e FD(to)i Fv(x)f FD(computes)h(the)g(standard)e(deviation)j
-(of)f Fv(y)s FD(.)40 b(In)29 b(this)g(case)i(the)e FA(\000)p
-FD(1)h(in)f(the)h(denominator)150 1298 y(comp)s(ensates)45
+b FD(4.4.6)j(User)d(Guide)150 299 y(The)g(mean)g(of)h(the)f(sum)g(of)g
+(squares)g(of)h Fv(x)f FD(\()p Fy(-y)g(avgsqr)p FD(\))f(is)1533
+521 y(\026)-48 b Fv(x)1582 535 y Fg(j)1642 521 y FD(=)1748
+395 y Ff(P)1836 416 y Fg(i)p Ft(=)p Fg(N)1836 482 y(i)p
+Ft(=1)1988 459 y Fv(\026)2043 473 y Fg(i)2071 459 y Fv(m)2151
+473 y Fg(i)2178 459 y Fv(w)2243 473 y Fg(i)2271 459 y
+Fv(x)2323 426 y Ft(2)2323 482 y Fg(i)p 1748 500 613 4
+v 1793 529 a Ff(P)1880 549 y Fg(i)p Ft(=)p Fg(N)1880
+616 y(i)p Ft(=1)2033 593 y Fv(\026)2088 607 y Fg(i)2115
+593 y Fv(m)2195 607 y Fg(i)2223 593 y Fv(w)2288 607 y
+Fg(i)150 738 y FD(If)21 b Fv(x)h FD(represen)m(ts)g(a)g(deviation)h
+(from)e(the)h(mean)g(of)g(another)g(v)-5 b(ariable,)25
+b Fv(x)2601 752 y Fg(i)2653 738 y FD(=)g Fv(y)2794 752
+y Fg(i)2825 738 y FA(\000)t FD(\026)-46 b Fv(y)24 b FD(\(p)s(ossibly)d
+(created)i(b)m(y)150 848 y Fy(ncbo)28 b FD(in)g(a)h(previous)f(step\),)
+i(then)f(applying)f Fy(avgsqr)f FD(to)j Fv(x)e FD(computes)h(the)g
+(appro)m(ximate)h(v)-5 b(ariance)30 b(of)150 958 y Fv(y)s
+FD(.)39 b(Computing)24 b(the)h(true)g(v)-5 b(ariance)26
+b(of)f Fv(y)j FD(requires)c(subtracting)h(1)h(from)e(the)h
+(denominator,)i(discussed)150 1067 y(b)s(elo)m(w.)41
+b(F)-8 b(or)31 b(a)g(large)g(sample)g(size)g(ho)m(w)m(ev)m(er,)h(the)f
+(t)m(w)m(o)g(results)f(will)h(b)s(e)f(nearly)g(indistinguishable.)275
+1227 y(The)f(ro)s(ot)i(mean)g(square)f(of)g Fv(x)g FD(\()p
+Fy(-y)h(rms)p FD(\))e(is)1489 1489 y(\026)-48 b Fv(x)1538
+1503 y Fg(j)1598 1489 y FD(=)1694 1310 y Ff(v)1694 1357
+y(u)1694 1406 y(u)1694 1456 y(t)p 1782 1310 632 4 v 1792
+1364 a(P)1880 1384 y Fg(i)p Ft(=)p Fg(N)1880 1451 y(i)p
+Ft(=1)2032 1428 y Fv(\026)2087 1442 y Fg(i)2115 1428
+y Fv(m)2195 1442 y Fg(i)2222 1428 y Fv(w)2287 1442 y
+Fg(i)2315 1428 y Fv(x)2367 1396 y Ft(2)2367 1448 y Fg(i)p
+1792 1468 613 4 v 1836 1497 a Ff(P)1924 1518 y Fg(i)p
+Ft(=)p Fg(N)1924 1585 y(i)p Ft(=1)2077 1562 y Fv(\026)2132
+1576 y Fg(i)2159 1562 y Fv(m)2239 1576 y Fg(i)2267 1562
+y Fv(w)2332 1576 y Fg(i)150 1723 y FD(Th)m(us)29 b Fy(rms)h
+FD(simply)g(computes)g(the)h(squarero)s(ot)f(of)h(the)f(quan)m(tit)m(y)
+i(computed)e(b)m(y)h Fy(avgsqr)p FD(.)275 1882 y(The)37
+b(ro)s(ot)i(mean)f(square)g(of)h Fv(x)f FD(with)g
+(standard-deviation-lik)m(e)j(normalization)f(\()p Fy(-y)30
+b(rmssdn)p FD(\))37 b(is)150 1992 y(implemen)m(ted)f(as)f(follo)m(ws.)
+56 b(When)34 b(w)m(eigh)m(ts)j(are)e(not)g(sp)s(eci\014ed,)h(this)f
+(function)g(is)g(the)g(same)g(as)h(the)150 2102 y(ro)s(ot)31
+b(mean)f(square)g(of)h Fv(x)f FD(except)h(one)g(is)f(subtracted)h(from)
+f(the)g(sum)g(in)g(the)g(denominator)1467 2359 y(\026)-49
+b Fv(x)1515 2373 y Fg(j)1576 2359 y FD(=)1672 2180 y
+Ff(v)1672 2227 y(u)1672 2276 y(u)1672 2326 y(t)p 1759
+2180 678 4 v 1838 2234 a(P)1926 2254 y Fg(i)p Ft(=)p
+Fg(N)1926 2321 y(i)p Ft(=1)2078 2298 y Fv(\026)2133 2312
+y Fg(i)2161 2298 y Fv(m)2241 2312 y Fg(i)2268 2298 y
+Fv(x)2320 2267 y Ft(2)2320 2318 y Fg(i)p 1769 2338 658
+4 v 1769 2432 a FA(\000)p FD(1)21 b(+)1996 2367 y Ff(P)2084
+2388 y Fg(i)p Ft(=)p Fg(N)2084 2455 y(i)p Ft(=1)2237
+2432 y Fv(\026)2292 2446 y Fg(i)2319 2432 y Fv(m)2399
+2446 y Fg(i)150 2593 y FD(If)29 b Fv(x)h FD(represen)m(ts)g(the)g
+(deviation)h(from)f(the)g(mean)g(of)g(another)g(v)-5
+b(ariable,)31 b Fv(x)2769 2607 y Fg(i)2822 2593 y FD(=)25
+b Fv(y)2963 2607 y Fg(i)3009 2593 y FA(\000)c FD(\026)-47
+b Fv(y)s FD(,)30 b(then)g(applying)150 2703 y Fy(rmssdn)e
+FD(to)i Fv(x)f FD(computes)h(the)g(standard)e(deviation)j(of)f
+Fv(y)s FD(.)40 b(In)29 b(this)g(case)i(the)e FA(\000)p
+FD(1)h(in)f(the)h(denominator)150 2812 y(comp)s(ensates)45
b(for)f(the)g(degree)h(of)g(freedom)f(already)g(used)g(in)g(computing)h
(\026)-46 b Fv(y)47 b FD(in)d(the)h(n)m(umerator.)150
-1407 y(Consult)30 b(a)h(statistics)h(b)s(o)s(ok)e(for)g(more)g
-(details.)275 1567 y(When)42 b(w)m(eigh)m(ts)h(are)g(sp)s(eci\014ed)e
+2922 y(Consult)30 b(a)h(statistics)h(b)s(o)s(ok)e(for)g(more)g
+(details.)275 3081 y(When)42 b(w)m(eigh)m(ts)h(are)g(sp)s(eci\014ed)e
(it)i(is)f(unclear)h(ho)m(w)f(to)h(comp)s(ensate)g(for)f(this)g(extra)h
-(degree)g(of)150 1676 y(freedom.)59 b(W)-8 b(eigh)m(ting)39
+(degree)g(of)150 3191 y(freedom.)59 b(W)-8 b(eigh)m(ting)39
b(the)e(n)m(umerator)f(and)g(denominator)h(of)g(the)f(ab)s(o)m(v)m(e)i
-(b)m(y)f Fv(w)3053 1690 y Fg(i)3117 1676 y FD(and)f(subtracting)150
-1786 y(one)21 b(from)f(the)g(denominator)h(is)f(only)h(appropriate)f
+(b)m(y)f Fv(w)3053 3205 y Fg(i)3117 3191 y FD(and)f(subtracting)150
+3300 y(one)21 b(from)f(the)g(denominator)h(is)f(only)h(appropriate)f
(when)g(all)h(the)g(w)m(eigh)m(ts)g(are)g(1.0.)39 b(When)20
-b(the)h(w)m(eigh)m(ts)150 1895 y(are)38 b(arbitrary)e(\(e.g.,)41
+b(the)h(w)m(eigh)m(ts)150 3410 y(are)38 b(arbitrary)e(\(e.g.,)41
b(Gaussian)d(w)m(eigh)m(ts\),)i(subtracting)e(one)f(from)g(the)g(sum)g
-(in)f(the)i(denominator)150 2005 y(do)s(es)28 b(not)g(necessarily)h
+(in)f(the)i(denominator)150 3520 y(do)s(es)28 b(not)g(necessarily)h
(remo)m(v)m(e)h(one)e(degree)h(of)f(freedom.)40 b(Therefore)28
-b(when)f Fy(-y)i(rmssdn)e FD(is)h(requested)150 2115
+b(when)f Fy(-y)i(rmssdn)e FD(is)h(requested)150 3629
y(and)37 b(w)m(eigh)m(ts)i(are)f(sp)s(eci\014ed,)h Fy(ncwa)e
FD(actually)i(implemen)m(ts)f(the)g Fy(rms)f FD(pro)s(cedure.)61
-b Fy(nces)37 b FD(and)g Fy(ncra)p FD(,)150 2224 y(whic)m(h)32
+b Fy(nces)37 b FD(and)g Fy(ncra)p FD(,)150 3739 y(whic)m(h)32
b(do)g(not)h(allo)m(w)h(w)m(eigh)m(ts)f(to)h(b)s(e)d(sp)s(eci\014ed,)i
(alw)m(a)m(ys)h(implemen)m(t)f(the)f Fy(rmssdn)f FD(pro)s(cedure)g
-(when)150 2334 y(ask)m(ed.)275 2493 y(2)-43 b(\030)s(0130827:)48
+(when)150 3848 y(ask)m(ed.)275 4008 y(2)-43 b(\030)s(0130827:)48
b(F)-8 b(edora)34 b(Core)e(19)i(\(F)m(C19\))g(brok)m(e)f(here)f(with)h
-("./nco.texi:6394:)49 b(Missing)33 b(dollarsign)150 2603
+("./nco.texi:6394:)49 b(Missing)33 b(dollarsign)150 4117
y(inserted.")27 b(U)-54 b(\030)14 b(bun)m(tu)25 b(alw)m(a)m(ys)j(built)
e(nco.texi)h(\014ne)f(A)-54 b(\030)14 b(dding)25 b(a)i(dollarsign)g(c)m
-(haracter)g(righ)m(t)g(here)f(breaks)150 2712 y(Ubun)m(tu)33
+(haracter)g(righ)m(t)g(here)f(breaks)150 4227 y(Ubun)m(tu)33
b(builds)f(to)s(o)j(H)-54 b(\030)14 b(ence)35 b(I)e(m)m(ust)h
(carefully)g(sp)s(ell-out)g(the)g(w)m(ord)g(dollarsign)g(instead)g(2)
--42 b(\030)s(0130829:)150 2822 y(Making)40 b(man)m(y)g(smaller)g(T)-8
+-42 b(\030)s(0130829:)150 4337 y(Making)40 b(man)m(y)g(smaller)g(T)-8
b(eX)40 b(en)m(vironmen)m(ts)g(do)s(es)f(not)h(solv)m(e)g(problem)f(2)
--42 b(\030)s(0130910:)62 b(Using)39 b(latest)150 2931
+-42 b(\030)s(0130910:)62 b(Using)39 b(latest)150 4446
y(texinfo.tex)k(from)d(GNU)i(do)s(es)e(not)i(solv)m(e)g(problem)e(2)-42
b(\030)s(0130910:)65 b(Karl)41 b(Berry)g(solv)m(ed)h(problem)e(b)m(y)
-150 3041 y(\014xing)i(bug)g(in)h(texinfo.tex)h(B)-52
+150 4556 y(\014xing)i(bug)g(in)h(texinfo.tex)h(B)-52
b(\030)12 b(ug)43 b(w)m(as)g(triggered)g(in)g(F)-8 b(edora)43
-b(b)m(y)g(ap)s(ostrophe)f(in)g("User's)i(Guide")150 3151
+b(b)m(y)g(ap)s(ostrophe)f(in)g("User's)i(Guide")150 4665
y(\(man)m(ual)28 b(title\))i(B)-52 b(\030)12 b(ug)27
b(not)h(presen)m(t)g(in)f(texinfo.tex)i(v)m(ersion)f(2008-04-18.10)33
-b(\(used)27 b(b)m(y)g(Ubun)m(tu)g(13.04\))150 3260 y(B)-52
+b(\(used)27 b(b)m(y)g(Ubun)m(tu)g(13.04\))150 4775 y(B)-52
b(\030)12 b(ug)22 b(presen)m(t)g(in)g(texinfo.tex)h(v)m(ersion)f
(2013-02-01.11)28 b(\(used)21 b(b)m(y)h(F)m(C19\))h(B)-52
b(\030)13 b(ug)21 b(just)h(\014xed)f(in)g(texinfo.tex)150
-3370 y(v)m(ersion)k(2013-09-11)30 b(\(committed)c(b)m(y)f(Karl\))30
+4884 y(v)m(ersion)k(2013-09-11)30 b(\(committed)c(b)m(y)f(Karl\))30
b(\030)-45 b(nco/autobld/texinfo.tex)28 b(no)m(w)d(con)m(tains)h
-(\014xed)e(v)m(ersion)150 3479 y(B)-52 b(\030)12 b(reak)-5
+(\014xed)e(v)m(ersion)150 4994 y(B)-52 b(\030)12 b(reak)-5
b(age)32 b(alw)m(a)m(ys)g(o)s(ccurs)e(near)h(here)f(The)g(square)g(ro)s
(ot)h(of)f(the)h(mean)f(of)h Fv(x)f FD(\()p Fy(-y)g(sqrt)p
-FD(\))g(is)1494 3777 y(\026)-48 b Fv(x)1543 3791 y Fg(j)1603
-3777 y FD(=)1699 3597 y Ff(v)1699 3644 y(u)1699 3694
-y(u)1699 3744 y(t)p 1787 3597 623 4 v 1797 3651 a(P)1884
-3671 y Fg(i)p Ft(=)p Fg(N)1884 3738 y(i)p Ft(=1)2037
-3715 y Fv(\026)2092 3729 y Fg(i)2119 3715 y Fv(m)2199
-3729 y Fg(i)2227 3715 y Fv(w)2292 3729 y Fg(i)2319 3715
-y Fv(x)2371 3729 y Fg(i)p 1797 3756 603 4 v 1836 3785
-a Ff(P)1924 3805 y Fg(i)p Ft(=)p Fg(N)1924 3872 y(i)p
-Ft(=1)2077 3849 y Fv(\026)2132 3863 y Fg(i)2159 3849
-y Fv(m)2239 3863 y Fg(i)2267 3849 y Fv(w)2332 3863 y
-Fg(i)150 4045 y FD(The)37 b(de\014nitions)g(of)h(some)g(of)g(these)g
-(op)s(erations)g(are)g(not)f(univ)m(ersally)h(useful.)62
-b(Mostly)39 b(they)e(w)m(ere)150 4154 y(c)m(hosen)d(to)h(facilitate)h
-(standard)d(statistical)k(computations)d(within)f(the)h
-FC(NCO)g FD(framew)m(ork.)51 b(W)-8 b(e)35 b(are)150
-4264 y(op)s(en)20 b(to)h(rede\014ning)f(and)g(or)g(adding)h(to)g(the)g
-(ab)s(o)m(v)m(e.)38 b(If)20 b(y)m(ou)h(are)g(in)m(terested)h(in)e(ha)m
-(ving)h(other)g(statistical)150 4374 y(quan)m(tities)34
-b(de\014ned)e(in)g FC(NCO)g FD(please)i(con)m(tact)h(the)e
-FC(NCO)f FD(pro)5 b(ject)33 b(\(see)h(Section)g(1.7)f([Help)h(Requests)
-150 4483 y(and)c(Bug)g(Rep)s(orts],)h(page)g(13\).)150
-4643 y(EXAMPLES)150 4802 y(Supp)s(ose)d(y)m(ou)j(wish)e(to)i(examine)g
-(the)f(v)-5 b(ariable)31 b Fy(prs_sfc\(time,lat,lon\))24
-b FD(whic)m(h)30 b(con)m(tains)i(a)e(time)150 4912 y(series)35
-b(of)f(the)g(surface)h(pressure)d(as)j(a)g(function)f(of)g(latitude)h
-(and)f(longitude.)53 b(Find)34 b(the)g(minimium)150 5021
-y(v)-5 b(alue)31 b(of)f Fy(prs_sfc)f FD(o)m(v)m(er)i(all)h(dimensions:)
-390 5181 y Fy(ncwa)47 b(-y)g(min)g(-v)g(prs_sfc)f(in.nc)g(foo.nc)150
-5340 y FD(Find)30 b(the)g(maxim)m(um)h(v)-5 b(alue)31
-b(of)f Fy(prs_sfc)e FD(at)k(eac)m(h)f(time)g(in)m(terv)-5
-b(al)32 b(for)e(eac)m(h)h(latitude:)p eop end
+FD(\))g(is)1494 5257 y(\026)-48 b Fv(x)1543 5271 y Fg(j)1603
+5257 y FD(=)1699 5078 y Ff(v)1699 5124 y(u)1699 5174
+y(u)1699 5224 y(t)p 1787 5078 623 4 v 1797 5131 a(P)1884
+5152 y Fg(i)p Ft(=)p Fg(N)1884 5218 y(i)p Ft(=1)2037
+5195 y Fv(\026)2092 5209 y Fg(i)2119 5195 y Fv(m)2199
+5209 y Fg(i)2227 5195 y Fv(w)2292 5209 y Fg(i)2319 5195
+y Fv(x)2371 5209 y Fg(i)p 1797 5236 603 4 v 1836 5265
+a Ff(P)1924 5285 y Fg(i)p Ft(=)p Fg(N)1924 5352 y(i)p
+Ft(=1)2077 5329 y Fv(\026)2132 5343 y Fg(i)2159 5329
+y Fv(m)2239 5343 y Fg(i)2267 5329 y Fv(w)2332 5343 y
+Fg(i)p eop end
%%Page: 87 93
TeXDict begin 87 92 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(87)390 299 y Fy(ncwa)47
-b(-y)g(max)g(-v)g(prs_sfc)f(-a)h(lon)g(in.nc)f(foo.nc)150
-474 y FD(Find)30 b(the)g(ro)s(ot-mean-square)i(v)-5 b(alue)31
-b(of)f(the)h(time-series)g(of)g Fy(prs_sfc)d FD(at)j(ev)m(ery)h(gridp)s
-(oin)m(t:)390 650 y Fy(ncra)47 b(-y)g(rms)g(-v)g(prs_sfc)f(in.nc)g
-(foo.nc)390 759 y(ncwa)h(-y)g(rms)g(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f
-(foo.nc)150 934 y FD(The)34 b(previous)f(t)m(w)m(o)j(commands)d(giv)m
-(e)j(the)e(same)h(answ)m(er)f(but)f Fy(ncra)g FD(is)h(preferred)f(b)s
-(ecause)h(it)h(has)f(a)150 1044 y(smaller)i(memory)g(fo)s(otprin)m(t.)
-58 b(A)36 b(dimension)f(of)h(size)h(one)f(is)g(said)g(to)h(b)s(e)e
-Fz(degenerate)p FD(.)59 b(By)36 b(default,)150 1154 y
+b(NCO)30 b(F)-8 b(eatures)2475 b(87)150 299 y(The)37
+b(de\014nitions)g(of)h(some)g(of)g(these)g(op)s(erations)g(are)g(not)f
+(univ)m(ersally)h(useful.)62 b(Mostly)39 b(they)e(w)m(ere)150
+408 y(c)m(hosen)d(to)h(facilitate)h(standard)d(statistical)k
+(computations)d(within)f(the)h FC(NCO)g FD(framew)m(ork.)51
+b(W)-8 b(e)35 b(are)150 518 y(op)s(en)20 b(to)h(rede\014ning)f(and)g
+(or)g(adding)h(to)g(the)g(ab)s(o)m(v)m(e.)38 b(If)20
+b(y)m(ou)h(are)g(in)m(terested)h(in)e(ha)m(ving)h(other)g(statistical)
+150 628 y(quan)m(tities)34 b(de\014ned)e(in)g FC(NCO)g
+FD(please)i(con)m(tact)h(the)e FC(NCO)f FD(pro)5 b(ject)33
+b(\(see)h(Section)g(1.7)f([Help)h(Requests)150 737 y(and)c(Bug)g(Rep)s
+(orts],)h(page)g(13\).)150 898 y(EXAMPLES)150 1059 y(Supp)s(ose)d(y)m
+(ou)j(wish)e(to)i(examine)g(the)f(v)-5 b(ariable)31 b
+Fy(prs_sfc\(time,lat,lon\))24 b FD(whic)m(h)30 b(con)m(tains)i(a)e
+(time)150 1168 y(series)35 b(of)f(the)g(surface)h(pressure)d(as)j(a)g
+(function)f(of)g(latitude)h(and)f(longitude.)53 b(Find)34
+b(the)g(minimium)150 1278 y(v)-5 b(alue)31 b(of)f Fy(prs_sfc)f
+FD(o)m(v)m(er)i(all)h(dimensions:)390 1439 y Fy(ncwa)47
+b(-y)g(min)g(-v)g(prs_sfc)f(in.nc)g(foo.nc)150 1599 y
+FD(Find)30 b(the)g(maxim)m(um)h(v)-5 b(alue)31 b(of)f
+Fy(prs_sfc)e FD(at)k(eac)m(h)f(time)g(in)m(terv)-5 b(al)32
+b(for)e(eac)m(h)h(latitude:)390 1760 y Fy(ncwa)47 b(-y)g(max)g(-v)g
+(prs_sfc)f(-a)h(lon)g(in.nc)f(foo.nc)150 1921 y FD(Find)30
+b(the)g(ro)s(ot-mean-square)i(v)-5 b(alue)31 b(of)f(the)h(time-series)g
+(of)g Fy(prs_sfc)d FD(at)j(ev)m(ery)h(gridp)s(oin)m(t:)390
+2082 y Fy(ncra)47 b(-y)g(rms)g(-v)g(prs_sfc)f(in.nc)g(foo.nc)390
+2191 y(ncwa)h(-y)g(rms)g(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f(foo.nc)150
+2352 y FD(The)34 b(previous)f(t)m(w)m(o)j(commands)d(giv)m(e)j(the)e
+(same)h(answ)m(er)f(but)f Fy(ncra)g FD(is)h(preferred)f(b)s(ecause)h
+(it)h(has)f(a)150 2461 y(smaller)i(memory)g(fo)s(otprin)m(t.)58
+b(A)36 b(dimension)f(of)h(size)h(one)f(is)g(said)g(to)h(b)s(e)e
+Fz(degenerate)p FD(.)59 b(By)36 b(default,)150 2571 y
Fy(ncra)i FD(lea)m(v)m(es)j(the)f(\(degenerate\))h Fy(time)d
FD(dimension)h(in)g(the)g(output)g(\014le)g(\(whic)m(h)g(is)g(usually)g
-(useful\))150 1263 y(whereas)30 b Fy(ncwa)f FD(remo)m(v)m(es)j(the)f
+(useful\))150 2681 y(whereas)30 b Fy(ncwa)f FD(remo)m(v)m(es)j(the)f
Fy(time)e FD(dimension)h(\(unless)g(`)p Fy(-b)p FD(')g(is)g(giv)m
-(en\).)150 1439 y(These)g(op)s(erations)h(w)m(ork)f(as)g(exp)s(ected)h
+(en\).)150 2841 y(These)g(op)s(erations)h(w)m(ork)f(as)g(exp)s(ected)h
(in)f(m)m(ulti-\014le)h(op)s(erators.)41 b(Supp)s(ose)28
-b(that)j Fy(prs_sfc)e FD(is)h(stored)150 1548 y(in)h(m)m(ultiple)h
+b(that)j Fy(prs_sfc)e FD(is)h(stored)150 2951 y(in)h(m)m(ultiple)h
(timesteps)g(p)s(er)e(\014le)h(across)h(m)m(ultiple)g(\014les,)f(sa)m
(y)h Fy(jan.nc)p FD(,)e Fy(feb.nc)p FD(,)g Fy(march.nc)p
-FD(.)41 b(W)-8 b(e)33 b(can)150 1658 y(no)m(w)d(\014nd)f(the)i(three)f
+FD(.)41 b(W)-8 b(e)33 b(can)150 3061 y(no)m(w)d(\014nd)f(the)i(three)f
(mon)m(th)h(maximium)f(surface)g(pressure)f(at)i(ev)m(ery)g(p)s(oin)m
-(t.)390 1833 y Fy(nces)47 b(-y)g(max)g(-v)g(prs_sfc)f(jan.nc)g(feb.nc)g
-(march.nc)f(out.nc)150 2008 y FD(It)24 b(is)h(p)s(ossible)f(to)h(use)f
+(t.)390 3221 y Fy(nces)47 b(-y)g(max)g(-v)g(prs_sfc)f(jan.nc)g(feb.nc)g
+(march.nc)f(out.nc)150 3382 y FD(It)24 b(is)h(p)s(ossible)f(to)h(use)f
(a)g(com)m(bination)i(of)e(these)h(op)s(erations)g(to)g(compute)f(the)h
-(v)-5 b(ariance)25 b(and)f(standard)150 2118 y(deviation)29
+(v)-5 b(ariance)25 b(and)f(standard)150 3492 y(deviation)29
b(of)f(a)g(\014eld)f(stored)h(in)g(a)g(single)g(\014le)g(or)g(across)g
(m)m(ultiple)g(\014les.)40 b(The)28 b(pro)s(cedure)e(to)j(compute)150
-2228 y(the)j(temp)s(oral)h(standard)e(deviation)j(of)e(the)h(surface)f
+3601 y(the)j(temp)s(oral)h(standard)e(deviation)j(of)e(the)h(surface)f
(pressure)f(at)i(all)g(p)s(oin)m(ts)f(in)g(a)h(single)g(\014le)f
-Fy(in.nc)150 2337 y FD(in)m(v)m(olv)m(es)g(three)f(steps.)390
-2513 y Fy(ncwa)47 b(-O)g(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f(out.nc)390
-2622 y(ncbo)h(-O)g(-v)g(prs_sfc)f(in.nc)g(out.nc)g(out.nc)390
-2732 y(ncra)h(-O)g(-y)g(rmssdn)f(out.nc)g(out.nc)275
-2907 y FD(First)25 b(construct)g(the)g(temp)s(oral)h(mean)f(of)g
+Fy(in.nc)150 3711 y FD(in)m(v)m(olv)m(es)g(three)f(steps.)390
+3871 y Fy(ncwa)47 b(-O)g(-v)g(prs_sfc)f(-a)h(time)g(in.nc)f(out.nc)390
+3981 y(ncbo)h(-O)g(-v)g(prs_sfc)f(in.nc)g(out.nc)g(out.nc)390
+4091 y(ncra)h(-O)g(-y)g(rmssdn)f(out.nc)g(out.nc)275
+4251 y FD(First)25 b(construct)g(the)g(temp)s(oral)h(mean)f(of)g
Fy(prs_sfc)e FD(in)i(the)g(\014le)g Fy(out.nc)p FD(.)37
-b(Next)26 b(o)m(v)m(erwrite)h Fy(out.nc)150 3017 y FD(with)d(the)g
+b(Next)26 b(o)m(v)m(erwrite)h Fy(out.nc)150 4361 y FD(with)d(the)g
(anomaly)h(\(deviation)h(from)e(the)g(mean\).)39 b(Finally)25
b(o)m(v)m(erwrite)h Fy(out.nc)d FD(with)g(the)i(ro)s(ot-mean-)150
-3126 y(square)33 b(of)g(itself.)49 b(Note)35 b(the)e(use)f(of)i(`)p
+4471 y(square)33 b(of)g(itself.)49 b(Note)35 b(the)e(use)f(of)i(`)p
Fy(-y)c(rmssdn)p FD(')h(\(rather)i(than)g(`)p Fy(-y)d(rms)p
-FD('\))j(in)f(the)i(\014nal)e(step.)49 b(This)150 3236
+FD('\))j(in)f(the)i(\014nal)e(step.)49 b(This)150 4580
y(ensures)38 b(the)h(standard)f(deviation)i(is)f(correctly)i
(normalized)e(b)m(y)g(one)g(few)m(er)g(than)g(the)g(n)m(um)m(b)s(er)f
-(of)150 3345 y(time)31 b(samples.)40 b(The)30 b(pro)s(cedure)f(to)i
+(of)150 4690 y(time)31 b(samples.)40 b(The)30 b(pro)s(cedure)f(to)i
(compute)f(the)h(v)-5 b(ariance)31 b(is)f(iden)m(tical)i(except)f(for)f
-(the)g(use)g(of)g(`)p Fy(-y)150 3455 y(var)p FD(')g(instead)g(of)h(`)p
+(the)g(use)g(of)g(`)p Fy(-y)150 4799 y(var)p FD(')g(instead)g(of)h(`)p
Fy(-y)f(rmssdn)p FD(')f(in)h(the)g(\014nal)g(step.)275
-3630 y Fy(ncap2)e FD(can)j(also)g(compute)g(statistics)h(lik)m(e)g
+4960 y Fy(ncap2)e FD(can)j(also)g(compute)g(statistics)h(lik)m(e)g
(standard)d(deviations.)42 b(Brute-force)31 b(implemen)m(tation)150
-3740 y(of)g(form)m(ulae)g(is)f(one)h(option,)g(e.g.,)390
-3915 y Fy(ncap2)46 b(-s)i('prs_sfc_sdn=sqrt\(\(prs_)o(sfc)o(-prs)o
+5070 y(of)g(form)m(ulae)g(is)f(one)h(option,)g(e.g.,)390
+5230 y Fy(ncap2)46 b(-s)i('prs_sfc_sdn=sqrt\(\(prs_)o(sfc)o(-prs)o
(_sfc)o(.av)o(g\($t)o(ime\))o(^2\))o(.tot)o(al\($)o(tim)o(e\)/\()o
-($tim)o(e.s)o(ize-)o(1\)\))o(')676 4025 y(in.nc)f(out.nc)275
-4200 y FD(The)27 b(op)s(eration)i(ma)m(y)-8 b(,)30 b(of)f(course,)g(b)s
-(e)e(brok)m(en)i(in)m(to)g(m)m(ultiple)g(steps)f(in)g(order)g(to)h(arc)
-m(hiv)m(e)h(in)m(terme-)150 4310 y(diate)h(quan)m(tities,)h(suc)m(h)e
-(as)h(the)f(time-anomalies)390 4485 y Fy(ncap2)46 b(-s)i
-('prs_sfc_anm=prs_sfc-pr)o(s_s)o(fc.a)o(vg\($)o(tim)o(e\)')41
-b(\\)676 4595 y(-s)48 b('prs_sfc_sdn=sqrt\(\(prs_)o(sfc)o(_anm)o(^2\).)
-o(tot)o(al\($)o(time)o(\)/\()o($tim)o(e.si)o(ze-)o(1\)\)')41
-b(\\)676 4704 y(in.nc)47 b(out.nc)275 4880 y(ncap2)j
-FD(supp)s(orts)g(in)m(trinsic)j(standard)e(deviation)i(functions)f
-(\(see)h(Section)f(3.32)i([Op)s(eration)150 4989 y(T)m(yp)s(es],)30
-b(page)h(83\))h(whic)m(h)e(simplify)g(the)h(ab)s(o)m(v)m(e)g
-(expression)f(to)390 5165 y Fy(ncap2)46 b(-s)i
-('prs_sfc_sdn=\(prs_sfc-p)o(rs_)o(sfc.)o(avg\()o($ti)o(me\)\))o(.rms)o
-(sdn)o(\($ti)o(me\)')41 b(in.nc)46 b(out.nc)275 5340
-y FD(These)30 b(instrinsic)g(functions)g(compute)g(the)h(answ)m(er)f
-(quic)m(kly)h(and)f(concisely)-8 b(.)p eop end
+($tim)o(e.s)o(ize-)o(1\)\))o(')676 5340 y(in.nc)f(out.nc)p
+eop end
%%Page: 88 94
TeXDict begin 88 93 bop 150 -116 a FD(88)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)d(pro)s(cedure)g(to)i(compute)f
-(the)g(spatial)h(standard)e(deviation)i(of)g(a)f(\014eld)g(in)f(a)i
-(single)f(\014le)g Fy(in.nc)150 408 y FD(in)m(v)m(olv)m(es)k(three)f
-(steps.)390 572 y Fy(ncwa)47 b(-O)g(-v)g(prs_sfc,gw)e(-a)i(lat,lon)f
-(-w)h(gw)g(in.nc)g(out.nc)390 682 y(ncbo)g(-O)g(-v)g(prs_sfc,gw)e
-(in.nc)h(out.nc)g(out.nc)390 791 y(ncwa)h(-O)g(-y)g(rmssdn)f(-v)h
-(prs_sfc)f(-a)h(lat,lon)f(-w)h(gw)g(out.nc)g(out.nc)275
-955 y FD(First)35 b(the)h(appropriately)g(w)m(eigh)m(ted)h(\(with)e(`)p
+b FD(4.4.6)j(User)d(Guide)275 299 y(The)d(op)s(eration)i(ma)m(y)-8
+b(,)30 b(of)f(course,)g(b)s(e)e(brok)m(en)i(in)m(to)g(m)m(ultiple)g
+(steps)f(in)g(order)g(to)h(arc)m(hiv)m(e)h(in)m(terme-)150
+408 y(diate)h(quan)m(tities,)h(suc)m(h)e(as)h(the)f(time-anomalies)390
+604 y Fy(ncap2)46 b(-s)i('prs_sfc_anm=prs_sfc-pr)o(s_s)o(fc.a)o(vg\($)o
+(tim)o(e\)')41 b(\\)676 714 y(-s)48 b('prs_sfc_sdn=sqrt\(\(prs_)o(sfc)o
+(_anm)o(^2\).)o(tot)o(al\($)o(time)o(\)/\()o($tim)o(e.si)o(ze-)o
+(1\)\)')41 b(\\)676 823 y(in.nc)47 b(out.nc)275 1019
+y(ncap2)j FD(supp)s(orts)g(in)m(trinsic)j(standard)e(deviation)i
+(functions)f(\(see)h(Section)f(3.32)i([Op)s(eration)150
+1129 y(T)m(yp)s(es],)30 b(page)h(84\))h(whic)m(h)e(simplify)g(the)h(ab)
+s(o)m(v)m(e)g(expression)f(to)390 1324 y Fy(ncap2)46
+b(-s)i('prs_sfc_sdn=\(prs_sfc-p)o(rs_)o(sfc.)o(avg\()o($ti)o(me\)\))o
+(.rms)o(sdn)o(\($ti)o(me\)')41 b(in.nc)46 b(out.nc)275
+1520 y FD(These)30 b(instrinsic)g(functions)g(compute)g(the)h(answ)m
+(er)f(quic)m(kly)h(and)f(concisely)-8 b(.)275 1716 y(The)27
+b(pro)s(cedure)g(to)i(compute)f(the)g(spatial)h(standard)e(deviation)i
+(of)g(a)f(\014eld)g(in)f(a)i(single)f(\014le)g Fy(in.nc)150
+1825 y FD(in)m(v)m(olv)m(es)k(three)f(steps.)390 2021
+y Fy(ncwa)47 b(-O)g(-v)g(prs_sfc,gw)e(-a)i(lat,lon)f(-w)h(gw)g(in.nc)g
+(out.nc)390 2131 y(ncbo)g(-O)g(-v)g(prs_sfc,gw)e(in.nc)h(out.nc)g
+(out.nc)390 2240 y(ncwa)h(-O)g(-y)g(rmssdn)f(-v)h(prs_sfc)f(-a)h
+(lat,lon)f(-w)h(gw)g(out.nc)g(out.nc)275 2436 y FD(First)35
+b(the)h(appropriately)g(w)m(eigh)m(ted)h(\(with)e(`)p
Fy(-w)30 b(gw)p FD('\))35 b(spatial)i(mean)e(v)-5 b(alues)36
-b(are)g(written)g(to)g(the)150 1065 y(output)i(\014le.)66
+b(are)g(written)g(to)g(the)150 2546 y(output)i(\014le.)66
b(This)38 b(example)h(includes)f(the)h(use)f(of)h(a)g(w)m(eigh)m(ted)h
(v)-5 b(ariable)40 b(sp)s(eci\014ed)e(with)g(`)p Fy(-w)30
-b(gw)p FD('.)150 1174 y(When)40 b(using)f(w)m(eigh)m(ts)i(to)g(compute)
+b(gw)p FD('.)150 2655 y(When)40 b(using)f(w)m(eigh)m(ts)i(to)g(compute)
f(standard)f(deviations)i(one)f(m)m(ust)g(remem)m(b)s(er)f(to)i
-(include)f(the)150 1284 y(w)m(eigh)m(ts)f(in)e(the)h(initial)h(output)e
+(include)f(the)150 2765 y(w)m(eigh)m(ts)f(in)e(the)h(initial)h(output)e
(\014les)h(so)g(that)g(they)g(ma)m(y)g(b)s(e)f(used)g(again)h(in)g(the)
-g(\014nal)f(step.)62 b(The)150 1394 y(initial)33 b(output)f(\014le)f
+g(\014nal)f(step.)62 b(The)150 2874 y(initial)33 b(output)f(\014le)f
(is)h(then)g(o)m(v)m(erwritten)h(with)f(the)g(gridp)s(oin)m(t)f
-(deviations)i(from)f(the)g(spatial)h(mean.)150 1503 y(Finally)e(the)g
+(deviations)i(from)f(the)g(spatial)h(mean.)150 2984 y(Finally)e(the)g
(ro)s(ot-mean-square)g(of)g(the)f(appropriately)h(w)m(eigh)m(ted)h
-(spatial)f(deviations)g(is)g(tak)m(en.)275 1667 y(The)e
+(spatial)f(deviations)g(is)g(tak)m(en.)275 3180 y(The)e
Fy(ncap2)g FD(solution)i(to)g(the)g(spatially-w)m(eigh)m(ted)i
-(standard)d(deviation)h(problem)f(is)390 1831 y Fy(ncap2)46
+(standard)d(deviation)h(problem)f(is)390 3375 y Fy(ncap2)46
b(-s)i('prs_sfc_sdn=\(prs_sfc*g)o(w-p)o(rs_s)o(fc*g)o(w.a)o(vg\($)o
(lat,)o($lo)o(n\)\).)o(rmss)o(dn\()o($lat)o(,$lo)o(n\)')41
-b(\\)676 1940 y(in.nc)47 b(out.nc)275 2104 y FD(Be)27
+b(\\)676 3485 y(in.nc)47 b(out.nc)275 3681 y FD(Be)27
b(sure)f(to)h(m)m(ultiply)g(the)f(v)-5 b(ariable)28 b(b)m(y)e(the)h(w)m
(eigh)m(t)h(prior)d(to)j(computing)e(the)h(the)g(anomalies)h(and)150
-2214 y(the)j(standard)e(deviation.)275 2378 y(The)k(pro)s(cedure)g(to)i
+3790 y(the)j(standard)e(deviation.)275 3986 y(The)k(pro)s(cedure)g(to)i
(compute)g(the)g(standard)e(deviation)i(of)g(a)f(time-series)i(across)f
-(m)m(ultiple)g(\014les)150 2487 y(in)m(v)m(olv)m(es)d(one)f(extra)g
+(m)m(ultiple)g(\014les)150 4096 y(in)m(v)m(olv)m(es)d(one)f(extra)g
(step)g(since)f(all)i(the)e(input)g(m)m(ust)g(\014rst)f(b)s(e)h
-(collected)j(in)m(to)e(one)g(\014le.)390 2651 y Fy(ncrcat)46
-b(-O)h(-v)g(tpt)g(in.nc)g(in.nc)f(foo1.nc)390 2761 y(ncwa)h(-O)g(-a)g
-(time)g(foo1.nc)e(foo2.nc)390 2870 y(ncbo)i(-O)g(-v)g(tpt)g(foo1.nc)f
-(foo2.nc)g(foo3.nc)390 2980 y(ncra)h(-O)g(-y)g(rmssdn)f(foo3.nc)g
-(out.nc)275 3144 y FD(The)32 b(\014rst)g(step)h(assem)m(bles)h(all)g
+(collected)j(in)m(to)e(one)g(\014le.)390 4291 y Fy(ncrcat)46
+b(-O)h(-v)g(tpt)g(in.nc)g(in.nc)f(foo1.nc)390 4401 y(ncwa)h(-O)g(-a)g
+(time)g(foo1.nc)e(foo2.nc)390 4511 y(ncbo)i(-O)g(-v)g(tpt)g(foo1.nc)f
+(foo2.nc)g(foo3.nc)390 4620 y(ncra)h(-O)g(-y)g(rmssdn)f(foo3.nc)g
+(out.nc)275 4816 y FD(The)32 b(\014rst)g(step)h(assem)m(bles)h(all)g
(the)f(data)h(in)m(to)g(a)f(single)h(\014le.)48 b(Though)32
-b(this)h(ma)m(y)h(consume)f(a)g(lot)150 3253 y(of)28
+b(this)h(ma)m(y)h(consume)f(a)g(lot)150 4925 y(of)28
b(temp)s(orary)g(disk)f(space,)i(it)g(is)f(more)g(or)g(less)g(required)
f(b)m(y)h(the)g Fy(ncbo)f FD(op)s(eration)i(in)e(the)i(third)e(step.)
-150 3499 y FB(3.33)68 b(T)l(yp)t(e)45 b(Con)l(v)l(ersion)150
-3633 y Fk(\013)p 200 3633 3554 4 v 3553 w(\010)p 150
-4347 4 666 v 178 3774 a FD(Av)-5 b(ailabilit)m(y)33 b(\(automatic)g(t)m
-(yp)s(e)d(con)m(v)m(ersion\):)43 b Fy(ncap2)p FD(,)29
-b Fy(ncbo)p FD(,)g Fy(nces)p FD(,)h Fy(ncflint)p FD(,)e
-Fy(ncra)p FD(,)i Fy(ncwa)178 3883 y FD(Short)g(options:)41
-b(None)31 b(\(it's)g Fo(automatic)5 b FD(\))178 3993
-y(Av)-5 b(ailabilit)m(y)33 b(\(man)m(ual)e(t)m(yp)s(e)g(con)m(v)m
-(ersion\):)42 b Fy(nces)p FD(,)30 b Fy(ncra)p FD(,)f
-Fy(ncwa)178 4103 y FD(Short)h(options:)41 b(None)178
-4212 y(Long)31 b(options:)41 b(`)p Fy(--dbl)p FD(',)29
-b(`)p Fy(--flt)p FD(',)h(`)p Fy(--rth_dbl)p FD(',)f(`)p
-Fy(--rth_flt)p FD(')p 3803 4347 V 150 4398 a Fk(\012)p
-200 4398 3554 4 v 3553 w(\011)275 4573 y FD(T)m(yp)s(e)39
-b(con)m(v)m(ersion)j(refers)d(to)i(the)f(casting)i(or)e(co)s(ercion)h
-(of)f(one)g(fundamen)m(tal)g(or)h(atomic)g(data)150 4682
-y(t)m(yp)s(e)34 b(to)h(another,)h(e.g.,)g(con)m(v)m(erting)g
-Fy(NC_SHORT)c FD(\(t)m(w)m(o)k(b)m(ytes\))f(to)g Fy(NC_DOUBLE)d
-FD(\(eigh)m(t)k(b)m(ytes\).)52 b(T)m(yp)s(e)150 4792
-y(con)m(v)m(ersion)31 b(alw)m(a)m(ys)h Fz(promotes)i
+150 5267 y FB(3.33)68 b(T)l(yp)t(e)45 b(Con)l(v)l(ersion)p
+eop end
+%%Page: 89 95
+TeXDict begin 89 94 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(89)150 51 y Fk(\013)p
+200 51 3554 4 v 3553 w(\010)p 150 766 4 666 v 178 193
+a FD(Av)-5 b(ailabilit)m(y)33 b(\(automatic)g(t)m(yp)s(e)d(con)m(v)m
+(ersion\):)43 b Fy(ncap2)p FD(,)29 b Fy(ncbo)p FD(,)g
+Fy(nces)p FD(,)h Fy(ncflint)p FD(,)e Fy(ncra)p FD(,)i
+Fy(ncwa)178 302 y FD(Short)g(options:)41 b(None)31 b(\(it's)g
+Fo(automatic)5 b FD(\))178 412 y(Av)-5 b(ailabilit)m(y)33
+b(\(man)m(ual)e(t)m(yp)s(e)g(con)m(v)m(ersion\):)42 b
+Fy(nces)p FD(,)30 b Fy(ncra)p FD(,)f Fy(ncwa)178 521
+y FD(Short)h(options:)41 b(None)178 631 y(Long)31 b(options:)41
+b(`)p Fy(--dbl)p FD(',)29 b(`)p Fy(--flt)p FD(',)h(`)p
+Fy(--rth_dbl)p FD(',)f(`)p Fy(--rth_flt)p FD(')p 3803
+766 V 150 817 a Fk(\012)p 200 817 3554 4 v 3553 w(\011)275
+987 y FD(T)m(yp)s(e)39 b(con)m(v)m(ersion)j(refers)d(to)i(the)f
+(casting)i(or)e(co)s(ercion)h(of)f(one)g(fundamen)m(tal)g(or)h(atomic)g
+(data)150 1097 y(t)m(yp)s(e)34 b(to)h(another,)h(e.g.,)g(con)m(v)m
+(erting)g Fy(NC_SHORT)c FD(\(t)m(w)m(o)k(b)m(ytes\))f(to)g
+Fy(NC_DOUBLE)d FD(\(eigh)m(t)k(b)m(ytes\).)52 b(T)m(yp)s(e)150
+1206 y(con)m(v)m(ersion)31 b(alw)m(a)m(ys)h Fz(promotes)i
FD(or)c Fz(demotes)k FD(the)c(range)g(and/or)g(precision)g(of)g(the)h
-(v)-5 b(alues)30 b(a)g(v)-5 b(ariable)150 4902 y(can)44
+(v)-5 b(alues)30 b(a)g(v)-5 b(ariable)150 1316 y(can)44
b(hold.)81 b(T)m(yp)s(e)43 b(con)m(v)m(ersion)i(is)f(automatic)i(when)c
(the)i(language)i(carries)e(out)g(this)g(promotion)150
-5011 y(according)30 b(to)f(an)g(in)m(ternal)g(set)h(of)f(rules)f
+1426 y(according)30 b(to)f(an)g(in)m(ternal)g(set)h(of)f(rules)f
(without)h(explicit)h(user)e(in)m(terv)m(en)m(tion.)42
-b(In)28 b(con)m(trast,)j(man)m(ual)150 5121 y(t)m(yp)s(e)20
+b(In)28 b(con)m(trast,)j(man)m(ual)150 1535 y(t)m(yp)s(e)20
b(con)m(v)m(ersion)i(refers)e(to)h(explicit)h(user)d(commands)h(to)h(c)
m(hange)h(the)e(t)m(yp)s(e)g(of)h(a)g(v)-5 b(ariable)21
-b(or)f(attribute.)150 5230 y(Most)28 b(t)m(yp)s(e)g(con)m(v)m(ersion)g
+b(or)f(attribute.)150 1645 y(Most)28 b(t)m(yp)s(e)g(con)m(v)m(ersion)g
(happ)s(ens)e(automatically)-8 b(,)31 b(y)m(et)d(there)g(are)f
(situations)h(in)f(whic)m(h)g(man)m(ual)h(t)m(yp)s(e)150
-5340 y(con)m(v)m(ersion)k(is)e(adv)-5 b(an)m(tageous.)p
-eop end
-%%Page: 89 95
-TeXDict begin 89 94 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(89)150 299 y Fu(3.33.1)63
-b(Automatic)40 b(t)m(yp)s(e)h(con)m(v)m(ersion)150 446
-y FD(There)27 b(are)g(at)h(least)g(t)m(w)m(o)h(reasons)e(to)h(a)m(v)m
-(oid)g(t)m(yp)s(e)f(con)m(v)m(ersions.)41 b(First,)28
+1754 y(con)m(v)m(ersion)k(is)e(adv)-5 b(an)m(tageous.)150
+1941 y Fu(3.33.1)63 b(Automatic)40 b(t)m(yp)s(e)h(con)m(v)m(ersion)150
+2088 y FD(There)27 b(are)g(at)h(least)g(t)m(w)m(o)h(reasons)e(to)h(a)m
+(v)m(oid)g(t)m(yp)s(e)f(con)m(v)m(ersions.)41 b(First,)28
b(t)m(yp)s(e)g(con)m(v)m(ersions)g(are)f(exp)s(en-)150
-555 y(siv)m(e)32 b(since)g(they)g(require)f(creating)h(\(temp)s
+2198 y(siv)m(e)32 b(since)g(they)g(require)f(creating)h(\(temp)s
(orary\))g(bu\013ers)e(and)h(casting)h(eac)m(h)h(elemen)m(t)g(of)e(a)h
-(v)-5 b(ariable)150 665 y(from)38 b(its)g(storage)h(t)m(yp)s(e)g(to)f
+(v)-5 b(ariable)150 2307 y(from)38 b(its)g(storage)h(t)m(yp)s(e)g(to)f
(some)h(other)f(t)m(yp)s(e)g(and)g(then,)h(often,)i(con)m(v)m(erting)f
-(it)e(bac)m(k.)65 b(Second,)40 b(a)150 775 y(dataset's)31
+(it)e(bac)m(k.)65 b(Second,)40 b(a)150 2417 y(dataset's)31
b(creator)f(p)s(erhaps)d(had)i(a)g(go)s(o)s(d)g(reason)h(for)e(storing)
i(data)g(as,)g(sa)m(y)-8 b(,)30 b Fy(NC_FLOAT)d FD(rather)i(than)150
-884 y Fy(NC_DOUBLE)p FD(.)45 b(In)32 b(a)h(scien)m(ti\014c)h(framew)m
+2526 y Fy(NC_DOUBLE)p FD(.)45 b(In)32 b(a)h(scien)m(ti\014c)h(framew)m
(ork)f(there)g(is)g(no)f(reason)h(to)h(store)f(data)g(with)g(more)g
-(precision)150 994 y(than)e(the)g(observ)-5 b(ations)32
+(precision)150 2636 y(than)e(the)g(observ)-5 b(ations)32
b(merit.)44 b(Normally)32 b(this)f(is)g(single-precision,)i(whic)m(h)e
-(guaran)m(tees)i(6{9)f(digits)150 1103 y(of)38 b(precision.)63
+(guaran)m(tees)i(6{9)f(digits)150 2746 y(of)38 b(precision.)63
b(Reasons)39 b(to)f(engage)i(in)d(t)m(yp)s(e)h(con)m(v)m(ersion)h
(include)f(a)m(v)m(oiding)i(rounding)c(errors)i(and)150
-1213 y(out-of-range)25 b(limitations)g(of)f(less-precise)g(t)m(yp)s
+2855 y(out-of-range)25 b(limitations)g(of)f(less-precise)g(t)m(yp)s
(es.)39 b(This)22 b(is)i(the)g(case)g(with)f(most)h(in)m(tegers.)40
-b(Th)m(us)22 b FC(NCO)150 1323 y FD(defaults)31 b(to)g(automatically)i
+b(Th)m(us)22 b FC(NCO)150 2965 y FD(defaults)31 b(to)g(automatically)i
(promote)e(in)m(teger)h(t)m(yp)s(es)f(to)g(\015oating)h(p)s(oin)m(t)e
-(when)g(p)s(erforming)f(length)m(y)150 1432 y(arithmetic,)j(y)m(et)f
+(when)g(p)s(erforming)f(length)m(y)150 3074 y(arithmetic,)j(y)m(et)f
FC(NCO)g FD(defaults)f(to)h(not)g(promoting)f(single)h(to)g
-(double-precision)g(\015oats.)275 1598 y(Before)g(discussing)g(the)g
+(double-precision)g(\015oats.)275 3234 y(Before)g(discussing)g(the)g
(more)g(subtle)g(\015oating)h(p)s(oin)m(t)e(issues,)h(w)m(e)h(\014rst)e
-(examine)i(in)m(teger)g(promo-)150 1708 y(tion.)69 b(W)-8
+(examine)i(in)m(teger)g(promo-)150 3343 y(tion.)69 b(W)-8
b(e)41 b(will)f(sho)m(w)g(ho)m(w)g(follo)m(wing)h(parsimonious)e(con)m
(v)m(ersion)i(rules)e(dogmatically)j(can)e(cause)150
-1817 y(problems,)27 b(and)g(what)g FC(NCO)g FD(do)s(es)f(ab)s(out)h
+3453 y(problems,)27 b(and)g(what)g FC(NCO)g FD(do)s(es)f(ab)s(out)h
(that.)41 b(That)27 b(said,)h(there)f(are)g(situations)h(in)f(whic)m(h)
-g(implicit)150 1927 y(con)m(v)m(ersion)35 b(of)f(single-)g(to)h
+g(implicit)150 3563 y(con)m(v)m(ersion)35 b(of)f(single-)g(to)h
(double-precision)e(is)h(also)g(w)m(arran)m(ted.)51 b(Understanding)33
-b(the)h(narro)m(wness)150 2036 y(of)j(these)h(situations)g(tak)m(es)g
+b(the)h(narro)m(wness)150 3672 y(of)j(these)h(situations)g(tak)m(es)g
(time,)i(and)c(w)m(e)i(hop)s(e)e(the)i(reader)f(appreciates)h(the)f
-(follo)m(wing)i(detailed)150 2146 y(discussion.)275 2312
+(follo)m(wing)i(detailed)150 3782 y(discussion.)275 3941
y(Consider)k(the)h(a)m(v)m(erage)j(of)e(the)f(t)m(w)m(o)h
Fy(NC_SHORT)p FD(s)d Fy(17000s)h FD(and)g Fy(17000s)p
-FD(.)81 b(A)44 b(straigh)m(tforw)m(ard)150 2421 y(a)m(v)m(erage)28
+FD(.)81 b(A)44 b(straigh)m(tforw)m(ard)150 4051 y(a)m(v)m(erage)28
b(without)d(promotion)g(results)f(in)h(garbage)h(since)g(the)f(in)m
(termediate)h(v)-5 b(alue)26 b(whic)m(h)e(holds)h(their)150
-2531 y(sum)32 b(is)h(also)h(of)g(t)m(yp)s(e)f Fy(NC_SHORT)e
+4160 y(sum)32 b(is)h(also)h(of)g(t)m(yp)s(e)f Fy(NC_SHORT)e
FD(and)h(th)m(us)h(o)m(v)m(er\015o)m(ws)h(on)g(\(i.e.,)h(cannot)f
-(represen)m(t\))f(v)-5 b(alues)34 b(greater)150 2640
-y(than)27 b(32,767)609 2607 y Ft(21)681 2640 y FD(.)40
+(represen)m(t\))f(v)-5 b(alues)34 b(greater)150 4270
+y(than)27 b(32,767)609 4237 y Ft(22)681 4270 y FD(.)40
b(There)26 b(are)i(v)-5 b(alid)27 b(reasons)g(for)f(exp)s(ecting)i
(this)f(op)s(eration)g(to)h(succeed)f(and)f(the)h FC(NCO)150
-2750 y FD(philosoph)m(y)h(is)g(to)i(mak)m(e)f(op)s(erators)f(do)h(what)
+4380 y FD(philosoph)m(y)h(is)g(to)i(mak)m(e)f(op)s(erators)f(do)h(what)
f(y)m(ou)h(w)m(an)m(t,)g(not)g(what)f(is)h(purest.)39
-b(Th)m(us,)28 b(unlik)m(e)h(C)f(and)150 2860 y(F)-8 b(ortran,)32
+b(Th)m(us,)28 b(unlik)m(e)h(C)f(and)150 4489 y(F)-8 b(ortran,)32
b(but)e(lik)m(e)i(man)m(y)f(other)g(higher)f(lev)m(el)j(in)m(terpreted)
e(languages,)h FC(NCO)f FD(arithmetic)h(op)s(erators)150
-2969 y(will)38 b(p)s(erform)e(automatic)j(t)m(yp)s(e)f(con)m(v)m
+4599 y(will)38 b(p)s(erform)e(automatic)j(t)m(yp)s(e)f(con)m(v)m
(ersion)g(on)g(in)m(tegers)g(when)f(all)h(the)g(follo)m(wing)h
-(conditions)f(are)150 3079 y(met)301 3046 y Ft(22)372
-3079 y FD(:)199 3245 y(1.)61 b(The)35 b(requested)h(op)s(eration)g(is)f
+(conditions)f(are)150 4708 y(met)301 4675 y Ft(23)372
+4708 y FD(:)199 4868 y(1.)61 b(The)35 b(requested)h(op)s(eration)g(is)f
(arithmetic.)58 b(This)34 b(is)i(wh)m(y)f(t)m(yp)s(e)h(con)m(v)m
-(ersion)h(is)e(limited)h(to)h(the)330 3354 y(op)s(erators)31
+(ersion)h(is)e(limited)h(to)h(the)330 4977 y(op)s(erators)31
b Fy(ncap2)p FD(,)e Fy(ncbo)p FD(,)g Fy(nces)p FD(,)h
Fy(ncflint)p FD(,)e Fy(ncra)p FD(,)i(and)g Fy(ncwa)p
-FD(.)199 3495 y(2.)61 b(The)36 b(arithmetic)h(op)s(eration)g(could)f(b)
-s(ene\014t)f(from)h(t)m(yp)s(e)g(con)m(v)m(ersion.)59
-b(Op)s(erations)36 b(that)h(could)330 3605 y(b)s(ene\014t)27
-b(include)i(a)m(v)m(eraging,)i(summation,)e(or)f(an)m(y)h(\\hard")f
-(arithmetic)i(that)f(could)f(o)m(v)m(er\015o)m(w)i(or)330
-3714 y(under\015o)m(w.)39 b(Larger)29 b(represen)m(table)g(sums)e(help)
-i(a)m(v)m(oid)h(o)m(v)m(er\015o)m(w,)g(and)f(more)f(precision)h(helps)f
-(to)330 3824 y(a)m(v)m(oid)34 b(under\015o)m(w.)45 b(T)m(yp)s(e)32
+FD(.)p 150 5051 1200 4 v 166 5118 a Ft(22)300 5150 y
+Fs(32767)23 b(=)f(2)633 5118 y Ft(15)720 5150 y Fe(\000)17
+b Fs(1)166 5221 y Ft(23)275 5253 y Fs(Op)r(erators)27
+b(b)r(egan)g(p)r(erforming)h(automatic)g(t)n(yp)r(e)e(con)n(v)n
+(ersions)h(b)r(efore)h(arithmetic)g(in)e Fp(NCO)h Fs(v)n(ersion)f(1.2)q
+(,)h(August,)275 5340 y(2000.)36 b(Previous)26 b(v)n(ersions)g(nev)n
+(er)f(p)r(erformed)h(unnecessary)g(t)n(yp)r(e)f(con)n(v)n(ersion)h(for)
+g(arithmetic.)p eop end
+%%Page: 90 96
+TeXDict begin 90 95 bop 150 -116 a FD(90)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)199 299 y(2.)61 b(The)36 b(arithmetic)h(op)s
+(eration)g(could)f(b)s(ene\014t)f(from)h(t)m(yp)s(e)g(con)m(v)m
+(ersion.)59 b(Op)s(erations)36 b(that)h(could)330 408
+y(b)s(ene\014t)27 b(include)i(a)m(v)m(eraging,)i(summation,)e(or)f(an)m
+(y)h(\\hard")f(arithmetic)i(that)f(could)f(o)m(v)m(er\015o)m(w)i(or)330
+518 y(under\015o)m(w.)39 b(Larger)29 b(represen)m(table)g(sums)e(help)i
+(a)m(v)m(oid)h(o)m(v)m(er\015o)m(w,)g(and)f(more)f(precision)h(helps)f
+(to)330 628 y(a)m(v)m(oid)34 b(under\015o)m(w.)45 b(T)m(yp)s(e)32
b(con)m(v)m(ersion)i(do)s(es)e(not)g(b)s(ene\014t)g(searc)m(hing)h(for)
-f(minima)h(and)e(maxima)330 3934 y(\(`)p Fy(-y)f(min)p
-FD(',)g(or)h(`)p Fy(-y)f(max)p FD('\).)199 4074 y(3.)61
+f(minima)h(and)e(maxima)330 737 y(\(`)p Fy(-y)f(min)p
+FD(',)g(or)h(`)p Fy(-y)f(max)p FD('\).)199 879 y(3.)61
b(The)37 b(v)-5 b(ariable)39 b(on)f(disk)f(is)h(of)g(t)m(yp)s(e)g
Fy(NC_BYTE)p FD(,)g Fy(NC_CHAR)p FD(,)g Fy(NC_SHORT)p
FD(,)g(or)g Fy(NC_INT)p FD(.)61 b(T)m(yp)s(e)38 b Fy(NC_)330
-4184 y(DOUBLE)22 b FD(is)h(not)h(promoted)f(b)s(ecause)h(there)f(is)h
+988 y(DOUBLE)22 b FD(is)h(not)h(promoted)f(b)s(ecause)h(there)f(is)h
(no)f(t)m(yp)s(e)h(of)f(higher)h(precision.)38 b(Con)m(v)m(ersion)24
-b(of)g(t)m(yp)s(e)330 4294 y Fy(NC_FLOAT)31 b FD(is)i(discussed)f(in)h
+b(of)g(t)m(yp)s(e)330 1098 y Fy(NC_FLOAT)31 b FD(is)i(discussed)f(in)h
(detail)h(b)s(elo)m(w.)49 b(When)33 b(it)h(o)s(ccurs,)f(it)h(follo)m
-(ws)g(the)g(same)f(pro)s(cedure)330 4403 y(\(promotion)e(then)f
+(ws)g(the)g(same)f(pro)s(cedure)330 1207 y(\(promotion)e(then)f
(arithmetic)i(then)e(demotion\))h(as)g(con)m(v)m(ersion)g(of)g(in)m
-(teger)h(t)m(yp)s(es.)275 4600 y(When)e(these)i(criteria)g(are)g(all)g
+(teger)h(t)m(yp)s(es.)275 1406 y(When)e(these)i(criteria)g(are)g(all)g
(met,)g(the)f(op)s(erator)g(promotes)h(the)f(v)-5 b(ariable)32
-b(in)f(question)g(to)h(t)m(yp)s(e)150 4710 y Fy(NC_DOUBLE)p
+b(in)f(question)g(to)h(t)m(yp)s(e)150 1515 y Fy(NC_DOUBLE)p
FD(,)h(p)s(erforms)g(all)i(the)g(arithmetic)h(op)s(erations,)g(casts)f
(the)g Fy(NC_DOUBLE)d FD(t)m(yp)s(e)i(bac)m(k)i(to)f(the)150
-4820 y(original)g(t)m(yp)s(e,)g(and)e(\014nally)h(writes)g(the)g
+1625 y(original)g(t)m(yp)s(e,)g(and)e(\014nally)h(writes)g(the)g
(result)g(to)g(disk.)51 b(The)33 b(result)h(written)g(to)h(disk)e(ma)m
-(y)h(not)h(b)s(e)150 4929 y(what)40 b(y)m(ou)f(exp)s(ect,)k(b)s(ecause)
+(y)h(not)h(b)s(e)150 1734 y(what)40 b(y)m(ou)f(exp)s(ect,)k(b)s(ecause)
d(of)g(incommensurate)f(ranges)h(represen)m(ted)g(b)m(y)f(di\013eren)m
-(t)h(t)m(yp)s(es,)j(and)p 150 5051 1200 4 v 166 5118
-a Ft(21)300 5150 y Fs(32767)23 b(=)f(2)633 5118 y Ft(15)720
-5150 y Fe(\000)17 b Fs(1)166 5221 y Ft(22)275 5253 y
-Fs(Op)r(erators)27 b(b)r(egan)g(p)r(erforming)h(automatic)g(t)n(yp)r(e)
-e(con)n(v)n(ersions)h(b)r(efore)h(arithmetic)g(in)e Fp(NCO)h
-Fs(v)n(ersion)f(1.2)q(,)h(August,)275 5340 y(2000.)36
-b(Previous)26 b(v)n(ersions)g(nev)n(er)f(p)r(erformed)h(unnecessary)g
-(t)n(yp)r(e)f(con)n(v)n(ersion)h(for)g(arithmetic.)p
-eop end
-%%Page: 90 96
-TeXDict begin 90 95 bop 150 -116 a FD(90)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(b)s(ecause)k(of)g(\(lac)m(k)i(of)7
-b(\))34 b(rounding.)50 b(First,)35 b(con)m(tin)m(uing)g(the)f(ab)s(o)m
-(v)m(e)h(example,)h(the)e(a)m(v)m(erage)j(\(e.g.,)f(`)p
-Fy(-y)150 408 y(avg)p FD('\))20 b(of)h Fy(17000s)d FD(and)i
+(t)h(t)m(yp)s(es,)j(and)150 1844 y(b)s(ecause)34 b(of)g(\(lac)m(k)i(of)
+7 b(\))34 b(rounding.)50 b(First,)35 b(con)m(tin)m(uing)g(the)f(ab)s(o)
+m(v)m(e)h(example,)h(the)e(a)m(v)m(erage)j(\(e.g.,)f(`)p
+Fy(-y)150 1954 y(avg)p FD('\))20 b(of)h Fy(17000s)d FD(and)i
Fy(17000s)f FD(is)h(written)h(to)g(disk)f(as)h Fy(17000s)p
FD(.)35 b(The)20 b(t)m(yp)s(e)h(con)m(v)m(ersion)h(feature)f(of)f
-FC(NCO)150 518 y FD(mak)m(es)30 b(this)f(p)s(ossible)g(since)g(the)h
+FC(NCO)150 2063 y FD(mak)m(es)30 b(this)f(p)s(ossible)g(since)g(the)h
(arithmetic)g(and)f(in)m(termediate)i(v)-5 b(alues)29
-b(are)h(stored)f(as)g Fy(NC_DOUBLE)p FD(s,)150 628 y(i.e.,)k
+b(are)h(stored)f(as)g Fy(NC_DOUBLE)p FD(s,)150 2173 y(i.e.,)k
Fy(34000.0d)c FD(and)i(only)h(the)f(\014nal)h(result)f(m)m(ust)g(b)s(e)
g(represen)m(ted)h(as)f(an)h Fy(NC_SHORT)p FD(.)41 b(Without)33
-b(the)150 737 y(t)m(yp)s(e)i(con)m(v)m(ersion)i(feature)f(of)f
+b(the)150 2282 y(t)m(yp)s(e)i(con)m(v)m(ersion)i(feature)f(of)f
FC(NCO)p FD(,)i(the)e(a)m(v)m(erage)j(w)m(ould)d(ha)m(v)m(e)i(b)s(een)d
-(garbage)j(\(alb)s(eit)f(predictable)150 847 y(garbage)25
+(garbage)j(\(alb)s(eit)f(predictable)150 2392 y(garbage)25
b(near)f Fy(-15768s)p FD(\).)37 b(Similarly)-8 b(,)25
b(the)f(total)i(\(e.g.,)h(`)p Fy(-y)j(ttl)p FD('\))23
b(of)h Fy(17000s)e FD(and)h Fy(17000s)f FD(written)i(to)150
-956 y(disk)29 b(is)h(garbage)h(\(actually)h Fy(-31536s)p
+2502 y(disk)29 b(is)h(garbage)h(\(actually)h Fy(-31536s)p
FD(\))c(since)j(the)f(\014nal)f(result)h(\(the)g(true)g(total\))i(of)e
-(34000)i(is)e(outside)150 1066 y(the)h(range)f(of)h(t)m(yp)s(e)f
-Fy(NC_SHORT)p FD(.)275 1235 y(After)20 b(arithmetic)i(is)f(computed)f
+(34000)i(is)e(outside)150 2611 y(the)h(range)f(of)h(t)m(yp)s(e)f
+Fy(NC_SHORT)p FD(.)275 2778 y(After)20 b(arithmetic)i(is)f(computed)f
(in)g(double-precision)h(for)g(promoted)f(v)-5 b(ariables,)24
-b(the)c(in)m(termediate)150 1345 y(double-precision)31
+b(the)c(in)m(termediate)150 2887 y(double-precision)31
b(v)-5 b(alues)32 b(m)m(ust)f(b)s(e)g(demoted)g(to)h(the)f(v)-5
b(ariables')33 b(original)f(storage)h(t)m(yp)s(e)e(\(e.g.,)i(from)150
-1454 y Fy(NC_DOUBLE)39 b FD(to)j Fy(NC_SHORT)p FD(\).)71
+2997 y Fy(NC_DOUBLE)39 b FD(to)j Fy(NC_SHORT)p FD(\).)71
b FC(NCO)41 b FD(has)g(handled)f(this)h(demotion)h(in)f(three)g(w)m(a)m
-(ys)h(in)f(its)g(history)-8 b(.)150 1564 y(Prior)44 b(to)h(Octob)s(er,)
+(ys)h(in)f(its)g(history)-8 b(.)150 3106 y(Prior)44 b(to)h(Octob)s(er,)
k(2011)d(\(v)m(ersion)f(4.0.8\),)50 b FC(NCO)45 b FD(emplo)m(y)m(ed)g
-(the)g(C)30 b(library)44 b(truncate)h(function,)150 1674
-y Fy(trunc\(\))486 1641 y Ft(23)554 1674 y FD(.)60 b(T)-8
+(the)g(C)30 b(library)44 b(truncate)h(function,)150 3216
+y Fy(trunc\(\))486 3183 y Ft(24)554 3216 y FD(.)60 b(T)-8
b(runcation)37 b(rounds)e Fz(x)43 b FD(to)38 b(the)f(nearest)g(in)m
(teger)h(not)f(larger)h(in)e(absolute)i(v)-5 b(alue.)60
-b(F)-8 b(or)150 1783 y(example,)26 b(truncation)d(rounds)f
+b(F)-8 b(or)150 3325 y(example,)26 b(truncation)d(rounds)f
Fy(1.0d)p FD(,)i Fy(1.5d)p FD(,)f(and)g Fy(1.8d)f FD(to)i(the)g(same)g
(v)-5 b(alue,)25 b Fy(1s)p FD(.)38 b(Clearly)-8 b(,)26
-b(truncation)150 1893 y(do)s(es)36 b(not)h(round)f(\015oating)h(p)s
+b(truncation)150 3435 y(do)s(es)36 b(not)h(round)f(\015oating)h(p)s
(oin)m(t)g(n)m(um)m(b)s(ers)e(to)j(the)f(nearest)g(in)m(teger!)61
-b(Y)-8 b(et)38 b(truncation)f(is)g(ho)m(w)g(the)150 2002
+b(Y)-8 b(et)38 b(truncation)f(is)g(ho)m(w)g(the)150 3545
y(C)30 b(language)i(p)s(erforms)d(implicit)i(con)m(v)m(ersion)h(of)e
-(real)h(n)m(um)m(b)s(ers)e(to)i(in)m(tegers.)275 2172
+(real)h(n)m(um)m(b)s(ers)e(to)i(in)m(tegers.)275 3711
y FC(NCO)k FD(stopp)s(ed)g(using)g(truncation)h(for)g(demotion)g(when)f
(an)g(alert)i(user)e(\(Neil)i(Da)m(vis\))h(informed)150
-2281 y(us)32 b(that)h(this)f(caused)h(a)f(small)h(bias)g(in)f(the)h
+3821 y(us)32 b(that)h(this)f(caused)h(a)f(small)h(bias)g(in)f(the)h
(pac)m(king)g(algorithm)h(emplo)m(y)m(ed)f(b)m(y)f Fy(ncpdq)p
-FD(.)46 b(This)32 b(led)g(to)150 2391 y FC(NCO)h FD(adopting)h
+FD(.)46 b(This)32 b(led)g(to)150 3930 y FC(NCO)h FD(adopting)h
(rounding)f(functions)g(for)g(demotion.)51 b(Rounding)33
-b(functions)g(eliminated)i(the)e(small)150 2501 y(bias)d(in)g(the)h
-(pac)m(king)g(algorithm.)275 2670 y(F)-8 b(rom)42 b(F)-8
+b(functions)g(eliminated)i(the)e(small)150 4040 y(bias)d(in)g(the)h
+(pac)m(king)g(algorithm.)275 4206 y(F)-8 b(rom)42 b(F)-8
b(ebruary)g(,)44 b(2012)f(through)e(Marc)m(h,)k(2013)f(\(v)m(ersions)e
(4.0.9{4.2.6\),)49 b FC(NCO)41 b FD(emplo)m(y)m(ed)i(the)150
-2779 y(C)30 b(library)i(family)g(of)g(rounding)f(functions,)h
+4316 y(C)30 b(library)i(family)g(of)g(rounding)f(functions,)h
Fy(lround\(\))p FD(.)44 b(These)32 b(functions)f(round)g
-Fz(x)38 b FD(to)33 b(the)f(nearest)150 2889 y(in)m(teger,)d(halfw)m(a)m
+Fz(x)38 b FD(to)33 b(the)f(nearest)150 4425 y(in)m(teger,)d(halfw)m(a)m
(y)e(cases)g(a)m(w)m(a)m(y)h(from)d(zero.)41 b(The)25
b(problem)h(with)f Fy(lround\(\))f FD(is)j(that)f(it)h(alw)m(a)m(ys)h
-(rounds)150 2999 y(real)35 b(v)-5 b(alues)35 b(ending)g(in)f
+(rounds)150 4535 y(real)35 b(v)-5 b(alues)35 b(ending)g(in)f
Fy(.5)g FD(a)m(w)m(a)m(y)j(from)d(zero.)54 b(This)34
b(rounds,)h(for)f(example,)j Fy(1.5d)c FD(and)i Fy(2.5d)e
-FD(to)j Fy(2s)150 3108 y FD(and)30 b Fy(3s)p FD(,)g(resp)s(ectiv)m(ely)
--8 b(.)275 3277 y(Since)25 b(April,)h(2013)g(\(v)m(ersion)g(4.3.0\),)j
+FD(to)j Fy(2s)150 4644 y FD(and)30 b Fy(3s)p FD(,)g(resp)s(ectiv)m(ely)
+-8 b(.)275 4811 y(Since)25 b(April,)h(2013)g(\(v)m(ersion)g(4.3.0\),)j
FC(NCO)c FD(has)f(emplo)m(y)m(ed)i(the)g(other)f(C)30
-b(library)25 b(family)g(of)g(round-)150 3387 y(ing)33
+b(library)25 b(family)g(of)g(round-)150 4920 y(ing)33
b(functions,)g Fy(lrint\(\))p FD(.)46 b(This)33 b(algorithm)g(rounds)f
Fz(x)39 b FD(to)33 b(the)g(nearest)h(in)m(teger,)h(using)d(the)h
-(curren)m(t)150 3497 y(rounding)i(direction.)58 b(Halfw)m(a)m(y)38
+(curren)m(t)150 5030 y(rounding)i(direction.)58 b(Halfw)m(a)m(y)38
b(cases)f(are)f(rounded)f(to)h(the)h(nearest)f(ev)m(en)h(in)m(teger.)59
-b(This)35 b(rounds,)150 3606 y(for)k(example,)k(b)s(oth)c
-Fy(1.5d)f FD(and)h Fy(2.5d)f FD(to)j(the)e(same)h(v)-5
-b(alue,)43 b Fy(2s)p FD(,)e(as)f(recommended)f(b)m(y)h(the)f
-FC(IEEE)p FD(.)150 3716 y(This)30 b(rounding)f(is)i(symmetric:)41
+b(This)35 b(rounds,)p 150 5154 1200 4 v 166 5221 a Ft(24)302
+5253 y Fs(The)28 b(actual)h(t)n(yp)r(e)e(con)n(v)n(ersions)h(with)g
+(trunction)f(w)n(ere)i(handled)e(b)n(y)g(in)n(trinsic)h(t)n(yp)r(e)f
+(con)n(v)n(ersion,)i(so)f(the)f Fr(trunc\(\))275 5340
+y Fs(function)e(w)n(as)i(nev)n(er)e(explicitly)h(called,)h(although)f
+(the)f(results)h(w)n(ould)g(b)r(e)g(the)f(same)h(if)h(it)f(w)n(ere.)p
+eop end
+%%Page: 91 97
+TeXDict begin 91 96 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(91)150 299 y(for)39
+b(example,)k(b)s(oth)c Fy(1.5d)f FD(and)h Fy(2.5d)f FD(to)j(the)e(same)
+h(v)-5 b(alue,)43 b Fy(2s)p FD(,)e(as)f(recommended)f(b)m(y)h(the)f
+FC(IEEE)p FD(.)150 408 y(This)30 b(rounding)f(is)i(symmetric:)41
b(up)29 b(half)i(the)g(time,)g(do)m(wn)f(half)h(the)f(time.)42
-b(This)30 b(is)g(the)h(curren)m(t)g(and)150 3825 y(hop)s(efully)e
+b(This)30 b(is)g(the)h(curren)m(t)g(and)150 518 y(hop)s(efully)e
(\014nal)h(demotion)h(algorithm)h(emplo)m(y)m(ed)f(b)m(y)g
-FC(NCO)p FD(.)275 3995 y(Hence)h(b)s(ecause)g(of)g(automatic)i(con)m(v)
-m(ersion,)f FC(NCO)f FD(will)g(compute)g(the)g(a)m(v)m(erage)j(of)d
-Fy(2s)f FD(and)g Fy(3s)g FD(in)150 4104 y(double-precision)23
+FC(NCO)p FD(.)275 691 y(Hence)h(b)s(ecause)g(of)g(automatic)i(con)m(v)m
+(ersion,)f FC(NCO)f FD(will)g(compute)g(the)g(a)m(v)m(erage)j(of)d
+Fy(2s)f FD(and)g Fy(3s)g FD(in)150 801 y(double-precision)23
b(arithmetic)i(as)e(\()p Fy(2)p Fv(:)p Fy(0d)6 b FD(+)g
Fy(3)p Fv(:)p Fy(0d)o FD(\))p Fv(=)p Fy(2)p Fv(:)p Fy(0d)p
FD(\))26 b(=)e Fy(2)p Fv(:)p Fy(5d)p FD(.)38 b(It)23
-b(then)g(demotes)h(this)f(in)m(termediate)150 4214 y(result)34
+b(then)g(demotes)h(this)f(in)m(termediate)150 910 y(result)34
b(bac)m(k)h(to)f Fy(NC_SHORT)e FD(and)h(stores)i(it)f(on)g(disk)g(as)g
Fy(trunc)p FD(\()p Fy(2)p Fv(:)p Fy(5d)p FD(\))c(=)h
-Fy(2s)i FD(\(v)m(ersions)i(up)e(to)i(4.0.8\),)150 4323
+Fy(2s)i FD(\(v)m(ersions)i(up)e(to)i(4.0.8\),)150 1020
y Fy(lround)p FD(\()p Fy(2)p Fv(:)p Fy(5d)p FD(\))24
b(=)h Fy(3s)k FD(\(v)m(ersions)j(4.0.9{4.2.6\),)j(and)29
b Fy(lrint)p FD(\()p Fy(2)p Fv(:)p Fy(5d)p FD(\))24 b(=)h
Fy(2s)30 b FD(\(v)m(ersions)h(4.3.0)h(and)e(later\).)150
-4543 y Fu(3.33.2)63 b(Promoting)42 b(Single-precision)h(to)e(Double)150
-4689 y FD(Promotion)k(of)f(real)h(n)m(um)m(b)s(ers)d(from)i(single-)h
+1246 y Fu(3.33.2)63 b(Promoting)42 b(Single-precision)h(to)e(Double)150
+1393 y FD(Promotion)k(of)f(real)h(n)m(um)m(b)s(ers)d(from)i(single-)h
(to)g(double-precision)f(is)g(fundamen)m(tal)g(to)h(scien)m(ti\014c)150
-4799 y(computing.)j(When)33 b(it)g(should)f(o)s(ccur)h(dep)s(ends)e(on)
+1503 y(computing.)j(When)33 b(it)g(should)f(o)s(ccur)h(dep)s(ends)e(on)
h(the)h(precision)g(of)g(the)g(inputs)f(and)g(the)h(n)m(um)m(b)s(er)150
-4909 y(of)e(op)s(erations.)41 b(Single-precision)32 b(\(four-b)m(yte\))
+1612 y(of)e(op)s(erations.)41 b(Single-precision)32 b(\(four-b)m(yte\))
f(n)m(um)m(b)s(ers)f(con)m(tain)h(ab)s(out)g(sev)m(en)g(signi\014can)m
-(t)g(\014gures,)150 5018 y(while)26 b(double-precision)g(con)m(tain)i
+(t)g(\014gures,)150 1722 y(while)26 b(double-precision)g(con)m(tain)i
(ab)s(out)d(sixteen.)40 b(More,)28 b(err,)f(precisely)-8
-b(,)28 b(the)e FC(IEEE)f FD(single-precision)p 150 5154
-1200 4 v 166 5221 a Ft(23)302 5253 y Fs(The)j(actual)h(t)n(yp)r(e)e
-(con)n(v)n(ersions)h(with)g(trunction)f(w)n(ere)i(handled)e(b)n(y)g(in)
-n(trinsic)h(t)n(yp)r(e)f(con)n(v)n(ersion,)i(so)f(the)f
-Fr(trunc\(\))275 5340 y Fs(function)e(w)n(as)i(nev)n(er)e(explicitly)h
-(called,)h(although)f(the)f(results)h(w)n(ould)g(b)r(e)g(the)f(same)h
-(if)h(it)f(w)n(ere.)p eop end
-%%Page: 91 97
-TeXDict begin 91 96 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(91)150 299 y(represen)m(tation)24
-b(giv)m(es)h(from)e(6)31 b(to)g(9)24 b(signi\014can)m(t)g(decimal)g
-(digits)g(precision)2758 266 y Ft(24)2829 299 y FD(.)38
-b(And)23 b(the)g FC(IEEE)f FD(double-)150 408 y(precision)39
-b(represen)m(tation)h(giv)m(es)h(from)e(15)31 b(to)g(17)40
-b(signi\014can)m(t)g(decimal)g(digits)g(precision)3348
-375 y Ft(25)3418 408 y FD(.)67 b(Hence)150 518 y(double-precision)35
-b(n)m(um)m(b)s(ers)f(represen)m(t)h(ab)s(out)f(nine)h(digits)h(more)f
-(precision)g(than)g(single-precision)150 628 y(n)m(um)m(b)s(ers.)275
-802 y(Giv)m(en)40 b(these)f(prop)s(erties,)j(there)d(are)h(at)g(least)g
-(t)m(w)m(o)h(p)s(ossible)e(arithmetic)h(con)m(v)m(en)m(tions)i(for)d
-(the)150 911 y(treatmen)m(t)32 b(of)f(real)g(n)m(um)m(b)s(ers:)199
-1086 y(1.)61 b(Conserv)-5 b(ativ)m(e,)30 b(ak)-5 b(a)29
+b(,)28 b(the)e FC(IEEE)f FD(single-precision)150 1831
+y(represen)m(tation)f(giv)m(es)h(from)e(6)31 b(to)g(9)24
+b(signi\014can)m(t)g(decimal)g(digits)g(precision)2758
+1798 y Ft(25)2829 1831 y FD(.)38 b(And)23 b(the)g FC(IEEE)f
+FD(double-)150 1941 y(precision)39 b(represen)m(tation)h(giv)m(es)h
+(from)e(15)31 b(to)g(17)40 b(signi\014can)m(t)g(decimal)g(digits)g
+(precision)3348 1908 y Ft(26)3418 1941 y FD(.)67 b(Hence)150
+2051 y(double-precision)35 b(n)m(um)m(b)s(ers)f(represen)m(t)h(ab)s
+(out)f(nine)h(digits)h(more)f(precision)g(than)g(single-precision)150
+2160 y(n)m(um)m(b)s(ers.)275 2333 y(Giv)m(en)40 b(these)f(prop)s
+(erties,)j(there)d(are)h(at)g(least)g(t)m(w)m(o)h(p)s(ossible)e
+(arithmetic)h(con)m(v)m(en)m(tions)i(for)d(the)150 2443
+y(treatmen)m(t)32 b(of)f(real)g(n)m(um)m(b)s(ers:)199
+2616 y(1.)61 b(Conserv)-5 b(ativ)m(e,)30 b(ak)-5 b(a)29
b(F)-8 b(ortran)29 b(Con)m(v)m(en)m(tion)g(Automatic)h(t)m(yp)s(e)e
-(con)m(v)m(ersion)h(during)e(arithmetic)i(in)330 1195
+(con)m(v)m(ersion)h(during)e(arithmetic)i(in)330 2725
y(the)35 b(F)-8 b(ortran)36 b(language)g(is,)h(b)m(y)d(default,)j(p)s
(erformed)c(only)j(when)e(necessary)-8 b(.)55 b(All)36
-b(op)s(erands)d(in)330 1305 y(an)44 b(op)s(eration)h(are)g(con)m(v)m
+b(op)s(erands)d(in)330 2835 y(an)44 b(op)s(eration)h(are)g(con)m(v)m
(erted)h(to)f(the)f(most)h(precise)g(t)m(yp)s(e)f(in)m(v)m(olv)m(ed)i
-(the)f(op)s(eration)f(b)s(efore)330 1414 y(the)i(arithmetic)h(op)s
+(the)f(op)s(eration)f(b)s(efore)330 2945 y(the)i(arithmetic)h(op)s
(eration.)86 b(Expressions)45 b(whic)m(h)g(in)m(v)m(olv)m(e)j(only)e
-(single-precision)g(n)m(um)m(b)s(ers)330 1524 y(are)31
+(single-precision)g(n)m(um)m(b)s(ers)330 3054 y(are)31
b(computed)f(en)m(tirely)i(in)e(single-precision.)43
b(Expressions)30 b(in)m(v)m(olving)i(mixed)e(precision)h(t)m(yp)s(es)
-330 1633 y(are)42 b(computed)f(in)g(the)h(t)m(yp)s(e)g(of)f(higher)h
+330 3164 y(are)42 b(computed)f(in)g(the)h(t)m(yp)s(e)g(of)f(higher)h
(precision.)74 b FC(NCO)41 b FD(b)m(y)g(default)h(emplo)m(ys)g(the)g(F)
--8 b(ortan)330 1743 y(Con)m(v)m(en)m(tion)32 b(for)e(promotion.)199
-1892 y(2.)61 b(Aggressiv)m(e,)50 b(ak)-5 b(a)45 b(C)f(Con)m(v)m(en)m
+-8 b(ortan)330 3273 y(Con)m(v)m(en)m(tion)32 b(for)e(promotion.)199
+3421 y(2.)61 b(Aggressiv)m(e,)50 b(ak)-5 b(a)45 b(C)f(Con)m(v)m(en)m
(tion)i(The)d(C)30 b(language)46 b(is)e(b)m(y)h(default)f(m)m(uc)m(h)g
-(more)h(aggressiv)m(e)330 2002 y(\(and)30 b(th)m(us)g(w)m(asteful\))h
+(more)h(aggressiv)m(e)330 3531 y(\(and)30 b(th)m(us)g(w)m(asteful\))h
(than)f(F)-8 b(ortran,)31 b(and)e(will)i(alw)m(a)m(ys)g(implicitly)g
-(con)m(v)m(ert)h(single-)f(to)g(double-)330 2111 y(precision)37
+(con)m(v)m(ert)h(single-)f(to)g(double-)330 3641 y(precision)37
b(n)m(um)m(b)s(ers)e(for)i(no)f(go)s(o)s(d)h(reason.)60
b(All)38 b(real-n)m(um)m(b)s(er)e(standard)g(C)30 b(library)36
-b(functions)330 2221 y(are)g(double-precision,)g(and)f(C)30
+b(functions)330 3750 y(are)g(double-precision,)g(and)f(C)30
b(programmers)35 b(m)m(ust)g(tak)m(e)h(extra)g(steps)f(to)h(only)g
-(utilize)g(single)330 2331 y(precision)d(arithmetic.)48
+(utilize)g(single)330 3860 y(precision)d(arithmetic.)48
b(The)32 b(high)h(lev)m(el)h(in)m(terpreted)f(data)g(analysis)g
-(languages)h FC(IDL)p FD(,)f(Matlab,)330 2440 y(and)d
+(languages)h FC(IDL)p FD(,)f(Matlab,)330 3969 y(and)d
FC(NCL)g FD(all)h(adopt)g(the)g(C)f(Con)m(v)m(en)m(tion)q(.)275
-2654 y FC(NCO)i FD(do)s(es)g(not)g(automatically)k(promote)d
+4181 y FC(NCO)i FD(do)s(es)g(not)g(automatically)k(promote)d
Fy(NC_FLOAT)d FD(b)s(ecause,)j(in)f(our)g(judgemen)m(t,)h(the)g(p)s
-(erfor-)150 2764 y(mance)i(p)s(enalt)m(y)f(of)g(alw)m(a)m(ys)i(doing)e
+(erfor-)150 4290 y(mance)i(p)s(enalt)m(y)f(of)g(alw)m(a)m(ys)i(doing)e
(so)g(w)m(ould)g(out)m(w)m(eigh)i(the)e(p)s(oten)m(tial)i(b)s
-(ene\014ts.)51 b(The)33 b(no)m(w-classic)150 2873 y(text)f(\\Numerical)
-h(Recip)s(es)e(in)f(C")i(discusses)f(this)g(p)s(oin)m(t)g(under)f(the)i
-(section)g(\\Implicit)g(Con)m(v)m(ersion)150 2983 y(of)f(Float)h(to)f
-(Double")932 2950 y Ft(26)1003 2983 y FD(.)41 b(That)30
-b(said,)h(suc)m(h)f(promotion)g(is)h(w)m(arran)m(ted)g(in)f(some)g
-(circumstances.)275 3157 y(F)-8 b(or)28 b(example,)h(rounding)d(errors)
-h(can)h(accum)m(ulate)i(to)e(w)m(orrisome)g(lev)m(els)h(during)e
-(arithmetic)i(p)s(er-)150 3266 y(formed)i(on)g(large)h(arra)m(ys)f(of)h
-(single-precision)g(\015oats.)43 b(This)31 b(use-case)h(o)s(ccurs)f
-(often)g(in)g(geoscien)m(ti\014c)150 3376 y(studies)f(of)h(climate)h
-(where)e(thousands-to-millions)i(of)f(gridp)s(oin)m(ts)f(ma)m(y)h(con)m
-(tribute)g(to)h(a)f(single)g(a)m(v-)150 3486 y(erage.)67
-b(If)38 b(the)h(inputs)f(are)h(all)g(single-precision,)k(then)38
-b(so)h(should)f(b)s(e)g(the)h(output.)65 b(Ho)m(w)m(ev)m(er)41
-b(the)150 3595 y(in)m(termediate)28 b(results)e(where)g(running)f(sums)
-g(are)h(accum)m(ulated)i(ma)m(y)f(su\013er)f(from)g(to)s(o)h(m)m(uc)m
-(h)f(round-)150 3705 y(ing)31 b(or)f(from)g(under\015o)m(w)f(unless)g
-(computed)i(in)f(double-precision.)p 150 3859 1200 4
-v 166 3927 a Ft(24)275 3959 y Fs(According)23 b(to)g(Wikip)r(edia's)h
+(ene\014ts.)51 b(The)33 b(no)m(w-classic)p 150 4440 1200
+4 v 166 4508 a Ft(25)275 4540 y Fs(According)23 b(to)g(Wikip)r(edia's)h
(summary)e(of)i Fp(IEEE)f Fs(standard)g(754,)i(\\If)e(a)g(decimal)h
(string)g(with)f(at)g(most)g(6)g(signi\014can)n(t)275
-4046 y(digits)d(is)g(con)n(v)n(erted)e(to)i Fp(IEEE)g
+4627 y(digits)d(is)g(con)n(v)n(erted)e(to)i Fp(IEEE)g
Fs(754)g(single-precision)h(and)f(then)e(con)n(v)n(erted)h(bac)n(k)g
(to)h(the)f(same)h(n)n(um)n(b)r(er)e(of)i(signi\014can)n(t)275
-4133 y(decimal,)25 b(then)e(the)h(\014nal)g(string)g(should)g(matc)n(h)
+4714 y(decimal,)25 b(then)e(the)h(\014nal)g(string)g(should)g(matc)n(h)
g(the)f(original;)k(and)d(if)g(an)g Fp(IEEE)g Fs(754)i
-(single-precision)f(is)g(con)n(v)n(erted)275 4220 y(to)i(a)g(decimal)h
+(single-precision)f(is)g(con)n(v)n(erted)275 4801 y(to)i(a)g(decimal)h
(string)g(with)f(at)g(least)i(9)e(signi\014can)n(t)h(decimal)g(and)e
(then)h(con)n(v)n(erted)f(bac)n(k)h(to)g(single,)i(then)d(the)h
-(\014nal)275 4307 y(n)n(um)n(b)r(er)d(m)n(ust)h(matc)n(h)h(the)f
-(original".)166 4379 y Ft(25)275 4410 y Fs(According)20
+(\014nal)275 4888 y(n)n(um)n(b)r(er)d(m)n(ust)h(matc)n(h)h(the)f
+(original".)166 4960 y Ft(26)275 4991 y Fs(According)20
b(to)h(Wikip)r(edia's)g(summary)g(of)g Fp(IEEE)g Fs(standard)f(754,)j
(\\If)e(a)g(decimal)g(string)g(with)g(at)f(most)h(15)g(signi\014can)n
-(t)275 4498 y(digits)j(is)f(con)n(v)n(erted)g(to)g Fp(IEEE)h
+(t)275 5078 y(digits)j(is)f(con)n(v)n(erted)g(to)g Fp(IEEE)h
Fs(754)g(double-precision)g(represen)n(tation)g(and)f(then)f(con)n(v)n
-(erted)h(bac)n(k)g(to)g(a)h(string)g(with)275 4585 y(the)e(same)h(n)n
+(erted)h(bac)n(k)g(to)g(a)h(string)g(with)275 5166 y(the)e(same)h(n)n
(um)n(b)r(er)f(of)h(signi\014can)n(t)h(digits,)g(then)e(the)g(\014nal)h
(string)g(should)g(matc)n(h)f(the)h(original;)i(and)e(if)g(an)g
-Fp(IEEE)g Fs(754)275 4672 y(double)28 b(precision)i(is)g(con)n(v)n
+Fp(IEEE)g Fs(754)275 5253 y(double)28 b(precision)i(is)g(con)n(v)n
(erted)e(to)h(a)g(decimal)h(string)g(with)f(at)g(least)h(17)g
(signi\014can)n(t)f(digits)h(and)e(then)h(con)n(v)n(erted)275
-4759 y(bac)n(k)c(to)h(double,)f(then)g(the)h(\014nal)f(n)n(um)n(b)r(er)
-g(m)n(ust)g(matc)n(h)h(the)f(original".)166 4830 y Ft(26)275
-4862 y Fs(See)g(page)h(21)h(in)e(Section)h(1.2)h(of)f(the)g(First)g
-(edition)g(for)g(this)g(gem:)390 5014 y(One)35 b(do)r(es)g(not)g(need)g
-(m)n(uc)n(h)f(exp)r(erience)i(in)f(scien)n(ti\014c)g(computing)g(to)h
-(recognize)g(that)f(the)g(implicit)390 5101 y(con)n(v)n(ersion)j(rules)
-h(are,)j(in)37 b(fact,)43 b(sheer)38 b(madness!)72 b(In)37
-b(e\013ect,)k(they)d(mak)n(e)f(it)h(imp)r(ossible)i(to)e(write)390
-5188 y(e\016cien)n(t)26 b(n)n(umerical)g(programs.)p
-eop end
+5340 y(bac)n(k)c(to)h(double,)f(then)g(the)h(\014nal)f(n)n(um)n(b)r(er)
+g(m)n(ust)g(matc)n(h)h(the)f(original".)p eop end
%%Page: 92 98
TeXDict begin 92 97 bop 150 -116 a FD(92)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)i(order)g(of)g(op)s(erations)h
-(matters)g(to)h(\015oating)f(p)s(oin)m(t)g(math)f(ev)m(en)i(when)d(the)
-i(analytic)h(expres-)150 408 y(sions)40 b(are)h(equal.)71
-b(Cautious)40 b(users)g(feel)h(disquieted)f(when)g(results)g(from)f
-(equally)j(v)-5 b(alid)40 b(analyses)150 518 y(di\013er)i(in)h(the)g
-(\014nal)f(bits)h(instead)g(of)g(agreeing)h(bit-for-bit.)79
-b(F)-8 b(or)43 b(example,)k(a)m(v)m(eraging)e(arra)m(ys)e(in)150
-628 y(m)m(ultiple)33 b(stages)g(pro)s(duces)e(di\013eren)m(t)i(answ)m
-(ers)f(than)f(a)m(v)m(eraging)k(them)d(in)g(one)g(step.)46
-b(This)32 b(is)g(easily)150 737 y(seen)40 b(in)g(the)h(computation)g
+b FD(4.4.6)j(User)d(Guide)150 299 y(text)i(\\Numerical)h(Recip)s(es)e
+(in)f(C")i(discusses)f(this)g(p)s(oin)m(t)g(under)f(the)i(section)g
+(\\Implicit)g(Con)m(v)m(ersion)150 408 y(of)f(Float)h(to)f(Double")932
+375 y Ft(27)1003 408 y FD(.)41 b(That)30 b(said,)h(suc)m(h)f(promotion)
+g(is)h(w)m(arran)m(ted)g(in)f(some)g(circumstances.)275
+568 y(F)-8 b(or)28 b(example,)h(rounding)d(errors)h(can)h(accum)m
+(ulate)i(to)e(w)m(orrisome)g(lev)m(els)h(during)e(arithmetic)i(p)s(er-)
+150 677 y(formed)i(on)g(large)h(arra)m(ys)f(of)h(single-precision)g
+(\015oats.)43 b(This)31 b(use-case)h(o)s(ccurs)f(often)g(in)g(geoscien)
+m(ti\014c)150 787 y(studies)f(of)h(climate)h(where)e
+(thousands-to-millions)i(of)f(gridp)s(oin)m(ts)f(ma)m(y)h(con)m
+(tribute)g(to)h(a)f(single)g(a)m(v-)150 897 y(erage.)67
+b(If)38 b(the)h(inputs)f(are)h(all)g(single-precision,)k(then)38
+b(so)h(should)f(b)s(e)g(the)h(output.)65 b(Ho)m(w)m(ev)m(er)41
+b(the)150 1006 y(in)m(termediate)28 b(results)e(where)g(running)f(sums)
+g(are)h(accum)m(ulated)i(ma)m(y)f(su\013er)f(from)g(to)s(o)h(m)m(uc)m
+(h)f(round-)150 1116 y(ing)31 b(or)f(from)g(under\015o)m(w)f(unless)g
+(computed)i(in)f(double-precision.)275 1275 y(The)i(order)g(of)g(op)s
+(erations)h(matters)g(to)h(\015oating)f(p)s(oin)m(t)g(math)f(ev)m(en)i
+(when)d(the)i(analytic)h(expres-)150 1385 y(sions)40
+b(are)h(equal.)71 b(Cautious)40 b(users)g(feel)h(disquieted)f(when)g
+(results)g(from)f(equally)j(v)-5 b(alid)40 b(analyses)150
+1494 y(di\013er)i(in)h(the)g(\014nal)f(bits)h(instead)g(of)g(agreeing)h
+(bit-for-bit.)79 b(F)-8 b(or)43 b(example,)k(a)m(v)m(eraging)e(arra)m
+(ys)e(in)150 1604 y(m)m(ultiple)33 b(stages)g(pro)s(duces)e(di\013eren)
+m(t)i(answ)m(ers)f(than)f(a)m(v)m(eraging)k(them)d(in)g(one)g(step.)46
+b(This)32 b(is)g(easily)150 1714 y(seen)40 b(in)g(the)h(computation)g
(of)f(ensem)m(ble)h(a)m(v)m(erages)i(b)m(y)d(t)m(w)m(o)h(di\013eren)m
-(t)g(metho)s(ds.)69 b(The)40 b FC(NCO)g FD(test)150 847
+(t)g(metho)s(ds.)69 b(The)40 b FC(NCO)g FD(test)150 1823
y(\014le)f Fy(in.nc)f FD(con)m(tains)j(single-)f(and)f
(double-precision)g(represen)m(tations)h(of)g(the)f(same)h(temp)s
-(erature)150 956 y(timeseries)30 b(as)g Fy(tpt_flt)d
+(erature)150 1933 y(timeseries)30 b(as)g Fy(tpt_flt)d
FD(and)h Fy(tpt_dbl)p FD(.)39 b(Pretend)28 b(eac)m(h)j(datap)s(oin)m(t)
-e(in)g(this)g(timeseries)i(represen)m(ts)e(a)150 1066
+e(in)g(this)g(timeseries)i(represen)m(ts)e(a)150 2042
y(mon)m(thly-mean)j(temp)s(erature.)43 b(W)-8 b(e)32
b(will)g(mimic)f(the)h(deriv)-5 b(ation)32 b(of)f(a)h(\014fteen-y)m
-(ear)g(ensem)m(ble-mean)150 1176 y(Jan)m(uary)40 b(temp)s(erature)h(b)m
+(ear)g(ensem)m(ble-mean)150 2152 y(Jan)m(uary)40 b(temp)s(erature)h(b)m
(y)g(concatenating)i(the)e(input)f(\014le)h(\014v)m(e)g(times,)j(and)c
-(then)h(a)m(v)m(eraging)i(the)150 1285 y(datap)s(oin)m(ts)e(represen)m
+(then)h(a)m(v)m(eraging)i(the)150 2262 y(datap)s(oin)m(ts)e(represen)m
(ting)f(Jan)m(uary)g(t)m(w)m(o)h(di\013eren)m(t)g(w)m(a)m(ys.)70
b(In)40 b(Metho)s(d)30 b(1)40 b(w)m(e)h(deriv)m(e)g(the)f(15-y)m(ear)
-150 1395 y(ensem)m(ble)g(Jan)m(uary)f(a)m(v)m(erage)j(in)d(t)m(w)m(o)i
+150 2371 y(ensem)m(ble)g(Jan)m(uary)f(a)m(v)m(erage)j(in)d(t)m(w)m(o)i
(steps,)g(as)f(the)g(a)m(v)m(erage)i(of)d(three)h(\014v)m(e-y)m(ear)h
-(a)m(v)m(erages.)70 b(This)150 1504 y(metho)s(d)34 b(is)h(naturally)g
+(a)m(v)m(erages.)70 b(This)150 2481 y(metho)s(d)34 b(is)h(naturally)g
(used)f(when)g(eac)m(h)i(input)e(\014le)g(con)m(tains)i(m)m(ultiple)g
-(y)m(ears)f(and)f(m)m(ultiple)i(input)150 1614 y(\014les)j(are)g
-(needed)774 1581 y Ft(27)844 1614 y FD(.)66 b(In)38 b(Metho)s(d)31
+(y)m(ears)f(and)f(m)m(ultiple)i(input)150 2590 y(\014les)j(are)g
+(needed)774 2557 y Ft(28)844 2590 y FD(.)66 b(In)38 b(Metho)s(d)31
b(2)39 b(w)m(e)g(obtain)g(15-y)m(ear)i(ensem)m(ble)f(Jan)m(uary)e(a)m
-(v)m(erage)k(in)c(a)h(single)150 1724 y(step,)31 b(b)m(y)f(a)m(v)m
+(v)m(erage)k(in)c(a)h(single)150 2700 y(step,)31 b(b)m(y)f(a)m(v)m
(eraging)j(all)e(15)g(Jan)m(uaries)g(at)g(one)g(time:)390
-1907 y Fy(#)47 b(tpt_flt)f(and)h(tpt_dbl)f(are)h(identical)e(except)h
-(for)h(precision)390 2016 y(ncks)g(--cdl)f(-C)h(-v)g(tpt_flt,tpt_dbl)d
-(~/nco/data/in.nc)390 2126 y(#)j(tpt_dbl)f(=)i(273.1,)e(273.2,)g
+2859 y Fy(#)47 b(tpt_flt)f(and)h(tpt_dbl)f(are)h(identical)e(except)h
+(for)h(precision)390 2969 y(ncks)g(--cdl)f(-C)h(-v)g(tpt_flt,tpt_dbl)d
+(~/nco/data/in.nc)390 3078 y(#)j(tpt_dbl)f(=)i(273.1,)e(273.2,)g
(273.3,)g(273.4,)g(273.5,)g(273.6,)g(273.7,)g(273.8,)g(273.9,)h(274)390
-2236 y(#)g(tpt_flt)f(=)i(273.1,)e(273.2,)g(273.3,)g(273.4,)g(273.5,)g
-(273.6,)g(273.7,)g(273.8,)g(273.9,)h(274)390 2345 y(#)g(Create)g(file)f
+3188 y(#)g(tpt_flt)f(=)i(273.1,)e(273.2,)g(273.3,)g(273.4,)g(273.5,)g
+(273.6,)g(273.7,)g(273.8,)g(273.9,)h(274)390 3298 y(#)g(Create)g(file)f
(with)h(five)f("ten-month)f(years")i(\(i.e.,)f(50)h(timesteps\))e(of)i
-(temperature)e(data)390 2455 y(ncrcat)h(-O)h(-v)g(tpt_flt,tpt_dbl)d(-p)
+(temperature)e(data)390 3407 y(ncrcat)h(-O)h(-v)g(tpt_flt,tpt_dbl)d(-p)
j(~/nco/data)e(in.nc)i(in.nc)f(in.nc)g(in.nc)h(in.nc)f(~/foo.nc)390
-2564 y(#)h(Average)f(1st)h(five)g("Januaries")e(\(elements)g(1,)i(11,)g
-(21,)g(31,)g(41\))390 2674 y(ncra)g(--flt)f(-O)h(-F)g(-d)h(time,1,,10)d
-(~/foo.nc)g(~/foo_avg1.nc)390 2784 y(#)i(Average)f(2nd)h(five)g
+3517 y(#)h(Average)f(1st)h(five)g("Januaries")e(\(elements)g(1,)i(11,)g
+(21,)g(31,)g(41\))390 3626 y(ncra)g(--flt)f(-O)h(-F)g(-d)h(time,1,,10)d
+(~/foo.nc)g(~/foo_avg1.nc)390 3736 y(#)i(Average)f(2nd)h(five)g
("Januaries")e(\(elements)g(2,)i(12,)g(22,)g(32,)g(42\))390
-2893 y(ncra)g(--flt)f(-O)h(-F)g(-d)h(time,2,,10)d(~/foo.nc)g
-(~/foo_avg2.nc)390 3003 y(#)i(Average)f(3rd)h(five)g("Januaries")e
-(\(elements)g(3,)i(13,)g(23,)g(33,)g(43\))390 3112 y(ncra)g(--flt)f(-O)
+3846 y(ncra)g(--flt)f(-O)h(-F)g(-d)h(time,2,,10)d(~/foo.nc)g
+(~/foo_avg2.nc)390 3955 y(#)i(Average)f(3rd)h(five)g("Januaries")e
+(\(elements)g(3,)i(13,)g(23,)g(33,)g(43\))390 4065 y(ncra)g(--flt)f(-O)
h(-F)g(-d)h(time,3,,10)d(~/foo.nc)g(~/foo_avg3.nc)390
-3222 y(#)i(Method)g(1:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
-(averaging)e(the)i(averages)390 3332 y(ncra)g(--flt)f(-O)h
+4174 y(#)i(Method)g(1:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
+(averaging)e(the)i(averages)390 4284 y(ncra)g(--flt)f(-O)h
(~/foo_avg1.nc)d(~/foo_avg2.nc)h(~/foo_avg3.nc)f(~/foo_avg_mth1.nc)390
-3441 y(#)j(Method)g(2:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
-(averaging)e(the)i(raw)g(data)390 3551 y(#)g(Employ)g(ncra's)f
+4394 y(#)j(Method)g(2:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
+(averaging)e(the)i(raw)g(data)390 4503 y(#)g(Employ)g(ncra's)f
("subcycle")f(feature)g(\(http://nco.sf.net/nco.htm)o(l#ss)o(c\))390
-3660 y(ncra)i(--flt)f(-O)h(-F)g(-d)h(time,1,,10,3)c(~/foo.nc)i
-(~/foo_avg_mth2.nc)390 3770 y(#)h(Difference)e(the)i(two)g(methods)390
-3880 y(ncbo)g(-O)g(~/foo_avg_mth1.nc)c(~/foo_avg_mth2.nc)g
-(~/foo_avg_dff.nc)390 3989 y(ncks)k(--cdl)f(~/foo_avg_dff.nc)390
-4099 y(#)h(tpt_dbl)f(=)i(5.6843418860808e-14)42 b(;)390
-4208 y(#)47 b(tpt_flt)f(=)i(-3.051758e-05)c(;)275 4392
-y FD(Although)29 b(the)g(t)m(w)m(o)i(metho)s(ds)d(are)i(arithmetically)
-h(equiv)-5 b(alen)m(t,)32 b(they)d(pro)s(duce)f(sligh)m(tly)i
-(di\013eren)m(t)150 4501 y(answ)m(ers)j(due)g(to)h(the)g(di\013eren)m
-(t)g(order)f(of)g(op)s(erations.)50 b(Moreo)m(v)m(er,)37
-b(it)d(app)s(ears)f(at)h(\014rst)e(glance)j(that)150
-4611 y(the)29 b(single-precision)h(answ)m(ers)f(su\013er)f(from)g
-(greater)j(error)d(than)h(the)g(double-precision)g(answ)m(ers.)40
-b(In)150 4720 y(fact)34 b(b)s(oth)d(precisions)i(su\013er)f(from)g
-(non-zero)h(rounding)f(errors.)47 b(The)32 b(answ)m(ers)g(di\013er)g
-(negligibly)i(to)150 4830 y(mac)m(hine)f(precision,)g(whic)m(h)f(is)g
-(ab)s(out)g(sev)m(en)h(signi\014can)m(t)g(\014gures)f(for)g(single)h
-(precision)f(\015oats)h(\()p Fy(tpt_)150 4940 y(flt)p
-FD(\),)40 b(and)d(sixteen)i(signi\014can)m(t)g(\014gures)e(for)h
-(double)f(precision)i(\()p Fy(tpt_dbl)p FD(\).)62 b(The)38
-b(input)f(precision)150 5049 y(determines)30 b(the)h(answ)m(er)f
-(precision.)p 150 5241 1200 4 v 166 5308 a Ft(27)275
-5340 y Fs(F)-6 b(or)25 b(example,)h(the)g Fp(CMIP5)g
-Fs(arc)n(hiv)n(e)f(tends)g(to)h(distribute)g(mon)n(thly)f(a)n(v)n
-(erage)h(timeseries)h(in)f(50-y)n(ear)g(c)n(h)n(unks.)p
+4613 y(ncra)i(--flt)f(-O)h(-F)g(-d)h(time,1,,10,3)c(~/foo.nc)i
+(~/foo_avg_mth2.nc)p 150 4689 1200 4 v 166 4757 a Ft(27)275
+4789 y Fs(See)25 b(page)h(21)h(in)e(Section)h(1.2)h(of)f(the)g(First)g
+(edition)g(for)g(this)g(gem:)390 4926 y(One)35 b(do)r(es)g(not)g(need)g
+(m)n(uc)n(h)f(exp)r(erience)i(in)f(scien)n(ti\014c)g(computing)g(to)h
+(recognize)g(that)f(the)g(implicit)390 5013 y(con)n(v)n(ersion)j(rules)
+h(are,)j(in)37 b(fact,)43 b(sheer)38 b(madness!)72 b(In)37
+b(e\013ect,)k(they)d(mak)n(e)f(it)h(imp)r(ossible)i(to)e(write)390
+5100 y(e\016cien)n(t)26 b(n)n(umerical)g(programs.)166
+5308 y Ft(28)275 5340 y Fs(F)-6 b(or)25 b(example,)h(the)g
+Fp(CMIP5)g Fs(arc)n(hiv)n(e)f(tends)g(to)h(distribute)g(mon)n(thly)f(a)
+n(v)n(erage)h(timeseries)h(in)f(50-y)n(ear)g(c)n(h)n(unks.)p
eop end
%%Page: 93 99
TeXDict begin 93 98 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(93)275 299 y FC(IEEE)29
-b FD(arithmetic)j(guaran)m(tees)g(that)g(t)m(w)m(o)g(metho)s(ds)e(will)
-h(pro)s(duce)f(bit-for-bit)i(iden)m(tical)g(answ)m(ers)150
-408 y(only)h(if)h(they)f(compute)h(the)f(same)h(op)s(erations)g(in)f
-(the)g(same)h(order.)49 b(Bit-for-bit)35 b(iden)m(tical)g(answ)m(ers)
-150 518 y(ma)m(y)40 b(also)g(o)s(ccur)f(b)m(y)h(happ)s(enstance)e(when)
-h(rounding)f(errors)h(exactly)i(comp)s(ensate)f(one)f(another.)150
-628 y(This)h(is)g(demonstrated)h(b)m(y)f(rep)s(eating)h(the)g(example)g
-(ab)s(o)m(v)m(e)h(with)e(the)h(`)p Fy(--dbl)p FD(')e(\(or)i(`)p
-Fy(--rth_dbl)p FD(')150 737 y(for)35 b(clarit)m(y\))i(option)e(whic)m
+b(NCO)30 b(F)-8 b(eatures)2475 b(93)390 299 y Fy(#)47
+b(Difference)e(the)i(two)g(methods)390 408 y(ncbo)g(-O)g
+(~/foo_avg_mth1.nc)c(~/foo_avg_mth2.nc)g(~/foo_avg_dff.nc)390
+518 y(ncks)k(--cdl)f(~/foo_avg_dff.nc)390 628 y(#)h(tpt_dbl)f(=)i
+(5.6843418860808e-14)42 b(;)390 737 y(#)47 b(tpt_flt)f(=)i
+(-3.051758e-05)c(;)275 956 y FD(Although)29 b(the)g(t)m(w)m(o)i(metho)s
+(ds)d(are)i(arithmetically)h(equiv)-5 b(alen)m(t,)32
+b(they)d(pro)s(duce)f(sligh)m(tly)i(di\013eren)m(t)150
+1066 y(answ)m(ers)j(due)g(to)h(the)g(di\013eren)m(t)g(order)f(of)g(op)s
+(erations.)50 b(Moreo)m(v)m(er,)37 b(it)d(app)s(ears)f(at)h(\014rst)e
+(glance)j(that)150 1176 y(the)29 b(single-precision)h(answ)m(ers)f
+(su\013er)f(from)g(greater)j(error)d(than)h(the)g(double-precision)g
+(answ)m(ers.)40 b(In)150 1285 y(fact)34 b(b)s(oth)d(precisions)i
+(su\013er)f(from)g(non-zero)h(rounding)f(errors.)47 b(The)32
+b(answ)m(ers)g(di\013er)g(negligibly)i(to)150 1395 y(mac)m(hine)f
+(precision,)g(whic)m(h)f(is)g(ab)s(out)g(sev)m(en)h(signi\014can)m(t)g
+(\014gures)f(for)g(single)h(precision)f(\015oats)h(\()p
+Fy(tpt_)150 1504 y(flt)p FD(\),)40 b(and)d(sixteen)i(signi\014can)m(t)g
+(\014gures)e(for)h(double)f(precision)i(\()p Fy(tpt_dbl)p
+FD(\).)62 b(The)38 b(input)f(precision)150 1614 y(determines)30
+b(the)h(answ)m(er)f(precision.)275 1833 y FC(IEEE)f FD(arithmetic)j
+(guaran)m(tees)g(that)g(t)m(w)m(o)g(metho)s(ds)e(will)h(pro)s(duce)f
+(bit-for-bit)i(iden)m(tical)g(answ)m(ers)150 1943 y(only)h(if)h(they)f
+(compute)h(the)f(same)h(op)s(erations)g(in)f(the)g(same)h(order.)49
+b(Bit-for-bit)35 b(iden)m(tical)g(answ)m(ers)150 2052
+y(ma)m(y)40 b(also)g(o)s(ccur)f(b)m(y)h(happ)s(enstance)e(when)h
+(rounding)f(errors)h(exactly)i(comp)s(ensate)f(one)f(another.)150
+2162 y(This)h(is)g(demonstrated)h(b)m(y)f(rep)s(eating)h(the)g(example)
+g(ab)s(o)m(v)m(e)h(with)e(the)h(`)p Fy(--dbl)p FD(')e(\(or)i(`)p
+Fy(--rth_dbl)p FD(')150 2271 y(for)35 b(clarit)m(y\))i(option)e(whic)m
(h)f(forces)i(con)m(v)m(ersion)g(of)f(single-precision)h(n)m(um)m(b)s
-(ers)d(to)j(double-precision)150 847 y(prior)51 b(to)h(arithmetic.)106
+(ers)d(to)j(double-precision)150 2381 y(prior)51 b(to)h(arithmetic.)106
b(No)m(w)53 b Fy(ncra)d FD(will)i(treat)h(the)f(\014rst)f(v)-5
b(alue)52 b(of)g Fy(tpt_flt)p FD(,)j Fy(273.1000f)p FD(,)g(as)150
-956 y Fy(273.1000000000000d)p FD(.)42 b(Arithmetic)34
+2491 y Fy(273.1000000000000d)p FD(.)42 b(Arithmetic)34
b(on)e Fy(tpt_flt)f FD(then)h(pro)s(ceeds)g(in)g(double-precision)h(un)
-m(til)g(the)150 1066 y(\014nal)d(answ)m(er,)h(whic)m(h)f(is)g(con)m(v)m
+m(til)g(the)150 2600 y(\014nal)d(answ)m(er,)h(whic)m(h)f(is)g(con)m(v)m
(erted)i(bac)m(k)f(to)g(single-precision)h(for)e(\014nal)g(storage.)390
-1258 y Fy(#)47 b(Average)f(1st)h(five)g("Januaries")e(\(elements)g(1,)i
-(11,)g(21,)g(31,)g(41\))390 1367 y(ncra)g(--dbl)f(-O)h(-F)g(-d)h
-(time,1,,10)d(~/foo.nc)g(~/foo_avg1.nc)390 1477 y(#)i(Average)f(2nd)h
+2819 y Fy(#)47 b(Average)f(1st)h(five)g("Januaries")e(\(elements)g(1,)i
+(11,)g(21,)g(31,)g(41\))390 2929 y(ncra)g(--dbl)f(-O)h(-F)g(-d)h
+(time,1,,10)d(~/foo.nc)g(~/foo_avg1.nc)390 3039 y(#)i(Average)f(2nd)h
(five)g("Januaries")e(\(elements)g(2,)i(12,)g(22,)g(32,)g(42\))390
-1587 y(ncra)g(--dbl)f(-O)h(-F)g(-d)h(time,2,,10)d(~/foo.nc)g
-(~/foo_avg2.nc)390 1696 y(#)i(Average)f(3rd)h(five)g("Januaries")e
-(\(elements)g(3,)i(13,)g(23,)g(33,)g(43\))390 1806 y(ncra)g(--dbl)f(-O)
+3148 y(ncra)g(--dbl)f(-O)h(-F)g(-d)h(time,2,,10)d(~/foo.nc)g
+(~/foo_avg2.nc)390 3258 y(#)i(Average)f(3rd)h(five)g("Januaries")e
+(\(elements)g(3,)i(13,)g(23,)g(33,)g(43\))390 3367 y(ncra)g(--dbl)f(-O)
h(-F)g(-d)h(time,3,,10)d(~/foo.nc)g(~/foo_avg3.nc)390
-1915 y(#)i(Method)g(1:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
-(averaging)e(the)i(averages)390 2025 y(ncra)g(--dbl)f(-O)h
+3477 y(#)i(Method)g(1:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
+(averaging)e(the)i(averages)390 3587 y(ncra)g(--dbl)f(-O)h
(~/foo_avg1.nc)d(~/foo_avg2.nc)h(~/foo_avg3.nc)f(~/foo_avg_mth1.nc)390
-2134 y(#)j(Method)g(2:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
-(averaging)e(the)i(raw)g(data)390 2244 y(#)g(Employ)g(ncra's)f
+3696 y(#)j(Method)g(2:)g(Obtain)f(ensemble)f(January)h(average)g(by)h
+(averaging)e(the)i(raw)g(data)390 3806 y(#)g(Employ)g(ncra's)f
("subcycle")f(feature)g(\(http://nco.sf.net/nco.htm)o(l#ss)o(c\))390
-2354 y(ncra)i(--dbl)f(-O)h(-F)g(-d)h(time,1,,10,3)c(~/foo.nc)i
-(~/foo_avg_mth2.nc)390 2463 y(#)h(Difference)e(the)i(two)g(methods)390
-2573 y(ncbo)g(-O)g(~/foo_avg_mth1.nc)c(~/foo_avg_mth2.nc)g
-(~/foo_avg_dff.nc)390 2682 y(#)k(Show)g(differences)390
-2792 y(ncks)g(--cdl)f(~/foo_avg_dff.nc)390 2902 y(#)h(tpt_dbl)f(=)i
-(5.6843418860808e-14)42 b(;)390 3011 y(#)47 b(tpt_flt)f(=)i(0)f(;)275
-3203 y FD(The)30 b(`)p Fy(--dbl)p FD(')g(switc)m(h)i(has)f(no)f
+3915 y(ncra)i(--dbl)f(-O)h(-F)g(-d)h(time,1,,10,3)c(~/foo.nc)i
+(~/foo_avg_mth2.nc)390 4025 y(#)h(Difference)e(the)i(two)g(methods)390
+4134 y(ncbo)g(-O)g(~/foo_avg_mth1.nc)c(~/foo_avg_mth2.nc)g
+(~/foo_avg_dff.nc)390 4244 y(#)k(Show)g(differences)390
+4354 y(ncks)g(--cdl)f(~/foo_avg_dff.nc)390 4463 y(#)h(tpt_dbl)f(=)i
+(5.6843418860808e-14)42 b(;)390 4573 y(#)47 b(tpt_flt)f(=)i(0)f(;)275
+4792 y FD(The)30 b(`)p Fy(--dbl)p FD(')g(switc)m(h)i(has)f(no)f
(e\013ect)j(on)e(the)g(results)g(computed)g(from)g(double-precision)g
-(inputs.)150 3313 y(But)43 b(no)m(w)g(the)g(t)m(w)m(o)h(metho)s(ds)f
+(inputs.)150 4902 y(But)43 b(no)m(w)g(the)g(t)m(w)m(o)h(metho)s(ds)f
(pro)s(duce)e(bit-for-bit)j(iden)m(tical)h(results)d(from)h(the)g
-(single-precision)150 3422 y(inputs!)50 b(This)33 b(is)h(due)g(to)g
+(single-precision)150 5011 y(inputs!)50 b(This)33 b(is)h(due)g(to)g
(the)h(happ)s(enstance)e(of)h(rounding)f(along)i(with)e(the)h
-(e\013ects)i(of)e(the)g(`)p Fy(--dbl)p FD(')150 3532
+(e\013ects)i(of)e(the)g(`)p Fy(--dbl)p FD(')150 5121
y(switc)m(h.)61 b(The)37 b(`)p Fy(--flt)p FD(')f(and)g(`)p
Fy(--rth_flt)p FD(')f(switc)m(hes)j(are)g(pro)m(vided)e(for)h(symmetry)
--8 b(.)61 b(They)36 b(enforce)150 3641 y(the)26 b(traditional)i
+-8 b(.)61 b(They)36 b(enforce)150 5230 y(the)26 b(traditional)i
FC(NCO)d FD(and)h(F)-8 b(ortran)26 b(con)m(v)m(en)m(tion)j(of)d(k)m
(eeping)h(single-precision)g(arithmetic)g(in)f(single-)150
-3751 y(precision)31 b(unless)e(a)i(double-precision)f(n)m(um)m(b)s(er)g
-(is)g(explicitly)i(in)m(v)m(olv)m(ed.)275 3943 y(As)26
-b(has)h(b)s(een)f(seen,)i(forced)f(promotion)g(of)h(single-)f(to)h
-(double-precision)f(prior)f(to)i(arithmetic)g(has)150
-4052 y(adv)-5 b(an)m(tages)42 b(and)e(disadv)-5 b(an)m(tages.)71
-b(The)40 b(primary)f(disadv)-5 b(an)m(tages)42 b(are)e(sp)s(eed)g(and)f
-(size.)71 b(Double-)150 4162 y(precision)49 b(arithmetic)h(is)f
-(10{60\045)i(slo)m(w)m(er)f(than,)k(and)48 b(requires)h(t)m(wice)h(the)
-f(memory)g(of)g(single-)150 4271 y(precision)39 b(arithmetic.)68
-b(The)38 b(primary)h(adv)-5 b(an)m(tage)40 b(is)f(that)h(rounding)e
-(errors)g(in)h(double-precision)150 4381 y(are)31 b(m)m(uc)m(h)g(less)h
-(lik)m(ely)g(to)g(accum)m(ulate)h(to)e(v)-5 b(alues)32
-b(near)e(the)i(precision)f(of)g(the)g(underlying)f(geoph)m(ysi-)150
-4491 y(cal)h(v)-5 b(ariable.)275 4682 y(F)d(or)31 b(example,)i(if)e(w)m
-(e)h(kno)m(w)f(temp)s(erature)g(to)h(\014v)m(e)f(signi\014can)m(t)h
-(digits,)h(then)d(a)i(rounding)e(error)h(of)150 4792
-y(1-bit)g(could)f(a\013ect)i(the)e(least)h(precise)g(digit)g(of)f(temp)
-s(erature)g(after)g(1,000{10,000)35 b(consecutiv)m(e)d(one-)150
-4902 y(sided)c(rounding)f(errors)h(under)f(the)h(w)m(orst)h(p)s
+5340 y(precision)31 b(unless)e(a)i(double-precision)f(n)m(um)m(b)s(er)g
+(is)g(explicitly)i(in)m(v)m(olv)m(ed.)p eop end
+%%Page: 94 100
+TeXDict begin 94 99 bop 150 -116 a FD(94)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(W)-8 b(e)48 b(ha)m(v)m(e)g(sho)m
+(wn)e(that)i(forced)f(promotion)g(of)h(single-)g(to)f(double-precision)
+g(prior)g(to)h(arith-)150 408 y(metic)38 b(has)e(adv)-5
+b(an)m(tages)38 b(and)e(disadv)-5 b(an)m(tages.)61 b(The)36
+b(primary)f(disadv)-5 b(an)m(tages)38 b(are)f(sp)s(eed)f(and)g(size.)
+150 518 y(Double-precision)24 b(arithmetic)h(is)e(10{60\045)i(slo)m(w)m
+(er)f(than,)h(and)e(requires)f(t)m(wice)j(the)f(memory)f(of)g(single-)
+150 628 y(precision)j(arithmetic.)40 b(The)25 b(primary)g(adv)-5
+b(an)m(tage)28 b(is)e(that)g(rounding)e(errors)h(in)h(double-precision)
+g(are)150 737 y(m)m(uc)m(h)37 b(less)f(lik)m(ely)i(to)f(accum)m(ulate)i
+(to)e(v)-5 b(alues)37 b(near)f(the)h(precision)f(of)h(the)g(underlying)
+e(geoph)m(ysical)150 847 y(v)-5 b(ariable.)275 1008 y(F)d(or)31
+b(example,)i(if)e(w)m(e)h(kno)m(w)f(temp)s(erature)g(to)h(\014v)m(e)f
+(signi\014can)m(t)h(digits,)h(then)d(a)i(rounding)e(error)h(of)150
+1117 y(1-bit)g(could)f(a\013ect)i(the)e(least)h(precise)g(digit)g(of)f
+(temp)s(erature)g(after)g(1,000{10,000)35 b(consecutiv)m(e)d(one-)150
+1227 y(sided)c(rounding)f(errors)h(under)f(the)h(w)m(orst)h(p)s
(ossible)f(scenario.)41 b(Man)m(y)29 b(geoph)m(ysical)h(grids)e(ha)m(v)
-m(e)i(tens-)150 5011 y(of-thousands)e(to)h(millions)g(of)g(p)s(oin)m
+m(e)i(tens-)150 1336 y(of-thousands)e(to)h(millions)g(of)g(p)s(oin)m
(ts)f(that)h(m)m(ust)f(b)s(e)g(summed)f(prior)h(to)h(normalization)h
-(to)g(compute)150 5121 y(an)40 b(a)m(v)m(erage.)74 b(It)41
+(to)g(compute)150 1446 y(an)40 b(a)m(v)m(erage.)74 b(It)41
b(is)g(p)s(ossible)f(for)g(single-precision)i(rouding)e(errors)g(to)h
-(accum)m(ulate)i(and)d(degrade)150 5230 y(the)c(precision)g(in)g(suc)m
+(accum)m(ulate)i(and)d(degrade)150 1556 y(the)c(precision)g(in)g(suc)m
(h)g(situtations.)58 b(Double-precision)37 b(arithmetic)g(mititgates)i
-(this)d(problem,)h(so)150 5340 y(`)p Fy(--dbl)p FD(')29
-b(w)m(ould)i(b)s(e)e(w)m(arran)m(ted.)p eop end
-%%Page: 94 100
-TeXDict begin 94 99 bop 150 -116 a FD(94)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(This)39 b(can)h(b)s(e)f(seen)h
-(with)g(another)g(example,)j(a)m(v)m(eraging)f(a)f(global)g(surface)f
-(temp)s(erature)f(\014eld)150 408 y(with)23 b Fy(ncwa)p
-FD(.)38 b(The)23 b(input)f(con)m(tains)j(a)f(single-precision)h(global)
-g(temp)s(erature)e(\014eld)g(\(stored)h(in)f Fy(TREFHT)p
-FD(\))150 518 y(pro)s(duced)c(b)m(y)i(the)h FC(CAM3)e
-FD(general)i(circulation)h(mo)s(del)e(\()p FC(GCM)p FD(\))h(run)d(and)i
-(stored)g(at)h(1.9)31 b(b)m(y)f(2.5)22 b(degrees)150
-628 y(resolution.)39 b(This)23 b(requires)g(94)31 b(latitudes)25
-b(and)e(144)31 b(longitudes)q(,)25 b(or)f(13)p Fv(;)15
-b FD(824)26 b(total)f(surface)f(gridp)s(oin)m(ts,)150
-737 y(a)j(t)m(ypical)g(GCM)g(resolution)f(these)h(da)m(ys.)40
+(this)d(problem,)h(so)150 1665 y(`)p Fy(--dbl)p FD(')29
+b(w)m(ould)i(b)s(e)e(w)m(arran)m(ted.)275 1826 y(This)39
+b(can)h(b)s(e)f(seen)h(with)g(another)g(example,)j(a)m(v)m(eraging)f(a)
+f(global)g(surface)f(temp)s(erature)f(\014eld)150 1936
+y(with)23 b Fy(ncwa)p FD(.)38 b(The)23 b(input)f(con)m(tains)j(a)f
+(single-precision)h(global)g(temp)s(erature)e(\014eld)g(\(stored)h(in)f
+Fy(TREFHT)p FD(\))150 2045 y(pro)s(duced)c(b)m(y)i(the)h
+FC(CAM3)e FD(general)i(circulation)h(mo)s(del)e(\()p
+FC(GCM)p FD(\))h(run)d(and)i(stored)g(at)h(1.9)31 b(b)m(y)f(2.5)22
+b(degrees)150 2155 y(resolution.)39 b(This)23 b(requires)g(94)31
+b(latitudes)25 b(and)e(144)31 b(longitudes)q(,)25 b(or)f(13)p
+Fv(;)15 b FD(824)26 b(total)f(surface)f(gridp)s(oin)m(ts,)150
+2265 y(a)j(t)m(ypical)g(GCM)g(resolution)f(these)h(da)m(ys.)40
b(These)26 b(input)f(c)m(haracteristics)k(are)d(pro)m(vided)g(only)g
-(to)h(sho)m(w)150 847 y(the)33 b(con)m(text)i(to)e(the)g(in)m(terested)
-h(reader,)g(equiv)-5 b(alen)m(t)34 b(results)f(w)m(ould)f(b)s(e)h
-(found)e(in)i(statistics)i(of)e(an)m(y)150 956 y(dataset)g(of)f
+(to)h(sho)m(w)150 2374 y(the)33 b(con)m(text)i(to)e(the)g(in)m
+(terested)h(reader,)g(equiv)-5 b(alen)m(t)34 b(results)f(w)m(ould)f(b)s
+(e)h(found)e(in)i(statistics)i(of)e(an)m(y)150 2484 y(dataset)g(of)f
(comparable)h(size.)45 b(Mo)s(dels)32 b(often)h(represen)m(t)e(Earth)h
-(on)g(a)g(spherical)g(grid)f(where)h(global)150 1066
+(on)g(a)g(spherical)g(grid)f(where)h(global)150 2593
y(a)m(v)m(erages)i(m)m(ust)e(b)s(e)f(created)i(b)m(y)f(w)m(eigh)m(ting)
h(eac)m(h)g(gridcell)g(b)m(y)f(its)g(latitude-dep)s(enden)m(t)g(w)m
-(eigh)m(t)h(\(i.e.,)150 1176 y(the)38 b(Gaussian)h(w)m(eigh)m(t)g
+(eigh)m(t)h(\(i.e.,)150 2703 y(the)38 b(Gaussian)h(w)m(eigh)m(t)g
(stored)g(in)f Fy(gw)p FD(\),)i(or)e(b)m(y)g(the)g(surface)h(area)g(of)
-f(eac)m(h)h(con)m(tributing)g(gridp)s(oin)m(t)150 1285
-y(\(stored)31 b(in)f Fy(area)p FD(\).)275 1459 y(Lik)m(e)51
+f(eac)m(h)h(con)m(tributing)g(gridp)s(oin)m(t)150 2812
+y(\(stored)31 b(in)f Fy(area)p FD(\).)275 2973 y(Lik)m(e)51
b(man)m(y)f(geoph)m(ysical)i(mo)s(dels)e(and)f(most)i
FC(GCM)p FD(s,)k FC(CAM3)50 b FD(runs)e(completely)k(in)e(double-)150
-1568 y(precision)60 b(y)m(et)g(stores)g(its)g(arc)m(hiv)-5
+3083 y(precision)60 b(y)m(et)g(stores)g(its)g(arc)m(hiv)-5
b(al)61 b(output)e(in)g(single-precision)i(to)f(sa)m(v)m(e)h(space.)129
-b(In)59 b(prac-)150 1678 y(tice)54 b(suc)m(h)e(mo)s(dels)g(usually)g
+b(In)59 b(prac-)150 3193 y(tice)54 b(suc)m(h)e(mo)s(dels)g(usually)g
(sa)m(v)m(e)i(m)m(ulti-dimensional)f(prognostic)g(and)f(diagnostic)i
-(\014elds)d(\(lik)m(e)150 1788 y Fy(TREFHT\(lat,lon\))19
+(\014elds)d(\(lik)m(e)150 3302 y Fy(TREFHT\(lat,lon\))19
b FD(and)j Fy(area\(lat,lon\))p FD(\))e(as)j(single-precision,)j(while)
-d(sa)m(ving)h(all)g(one-dimensional)150 1897 y(co)s(ordinates)31
+d(sa)m(ving)h(all)g(one-dimensional)150 3412 y(co)s(ordinates)31
b(and)e(w)m(eigh)m(ts)j(\(here)e Fy(lat)p FD(,)f Fy(lon)p
FD(,)h(and)f Fy(gw\(lon\))p FD(\))g(as)h(double-precision.)41
-b(T)-8 b(o)30 b(obtain)h(pure)150 2007 y(double-precision)25
+b(T)-8 b(o)30 b(obtain)h(pure)150 3521 y(double-precision)25
b(arithmetic)i Fo(and)36 b FD(storage)27 b(of)e(the)h(globla)g(mean)g
(temp)s(erature,)g(w)m(e)g(\014rst)f(create)i(and)150
-2116 y(store)k(double-precision)f(v)m(ersions)h(of)g(the)f
-(single-precision)i(\014elds:)390 2290 y Fy(ncap2)46
+3631 y(store)k(double-precision)f(v)m(ersions)h(of)g(the)f
+(single-precision)i(\014elds:)390 3792 y Fy(ncap2)46
b(-O)i(-s)f('TREFHT_dbl=double\(TREF)o(HT\);)o(area)o(_db)o(l=do)o
-(uble)o(\(ar)o(ea\)')41 b(in.nc)46 b(in.nc)275 2464 y
+(uble)o(\(ar)o(ea\)')41 b(in.nc)46 b(in.nc)275 3953 y
FD(The)26 b(single-)i(and)e(double-precision)h(temp)s(eratures)g(ma)m
(y)g(eac)m(h)h(b)s(e)f(a)m(v)m(eraged)i(globally)f(using)f(four)150
-2573 y(p)s(erm)m(utations)h(for)h(the)g(precision)f(of)h(the)g(w)m
+4062 y(p)s(erm)m(utations)h(for)h(the)g(precision)f(of)h(the)g(w)m
(eigh)m(t)h(and)e(of)g(the)h(in)m(termediate)h(arithmetic)g(represen)m
-(ta-)150 2683 y(tion:)199 2857 y(1.)61 b(Single-precision)31
+(ta-)150 4172 y(tion:)199 4333 y(1.)61 b(Single-precision)31
b(w)m(eigh)m(t)h(\()p Fy(area)p FD(\),)e(single-precision)i(arithmetic)
-199 3006 y(2.)61 b(Double-precision)31 b(w)m(eigh)m(t)h(\()p
-Fy(gw)p FD(\),)f(single-precision)h(arithmetic)199 3154
+199 4469 y(2.)61 b(Double-precision)31 b(w)m(eigh)m(t)h(\()p
+Fy(gw)p FD(\),)f(single-precision)h(arithmetic)199 4605
y(3.)61 b(Single-precision)31 b(w)m(eigh)m(t)h(\()p Fy(area)p
-FD(\),)e(double-precision)h(arithmetic)199 3303 y(4.)61
+FD(\),)e(double-precision)h(arithmetic)199 4741 y(4.)61
b(Double-precision)31 b(w)m(eigh)m(t)h(\()p Fy(gw)p FD(\),)f
-(double-precision)f(arithmetic)390 3477 y Fy(#)47 b(NB:)g(Values)f
+(double-precision)f(arithmetic)390 4902 y Fy(#)47 b(NB:)g(Values)f
(below)h(are)g(printed)f(with)g(C-format)g(\0455.6f)g(using)390
-3587 y(#)h(ncks)g(-H)g(-C)g(-s)h('\0455.6f')d(-v)j(TREFHT,TREFHT_dbl)43
-b(out.nc)390 3696 y(#)k(Single-precision)d(weight)i(\(area\),)g
-(single-precision)d(arithmetic)390 3806 y(ncwa)k(--flt)f(-O)h(-a)g
-(lat,lon)f(-w)h(area)g(in.nc)f(out.nc)390 3915 y(#)h(TREFHT)237
-b(=)48 b(289.246735)390 4025 y(#)f(TREFHT_dbl)e(=)j(289.239964)390
-4134 y(#)f(Double-precision)d(weight)i(\(gw\),)142 b(single-precision)
-43 b(arithmetic)390 4244 y(ncwa)k(--flt)f(-O)h(-a)g(lat,lon)f(-w)h(gw)
-143 b(in.nc)46 b(out.nc)390 4354 y(#)h(TREFHT)237 b(=)48
-b(289.226135)390 4463 y(#)f(TREFHT_dbl)e(=)j(289.239964)390
-4573 y(#)f(Single-precision)d(weight)i(\(area\),)g(double-precision)d
-(arithmetic)390 4682 y(ncwa)k(--dbl)f(-O)h(-a)g(lat,lon)f(-w)h(area)g
-(in.nc)f(out.nc)390 4792 y(#)h(TREFHT)237 b(=)48 b(289.239960)390
-4902 y(#)f(TREFHT_dbl)e(=)j(289.239964)390 5011 y(#)f(Double-precision)
-d(weight)i(\(gw\),)142 b(double-precision)43 b(arithmetic)390
-5121 y(ncwa)k(--dbl)f(-O)h(-a)g(lat,lon)f(-w)h(gw)143
-b(in.nc)46 b(out.nc)390 5230 y(#)h(TREFHT)237 b(=)48
-b(289.239960)390 5340 y(#)f(TREFHT_dbl)e(=)j(289.239964)p
-eop end
+5011 y(#)h(ncks)g(-H)g(-C)g(-s)h('\0455.6f')d(-v)j(TREFHT,TREFHT_dbl)43
+b(out.nc)390 5121 y(#)k(Single-precision)d(weight)i(\(area\),)g
+(single-precision)d(arithmetic)390 5230 y(ncwa)k(--flt)f(-O)h(-a)g
+(lat,lon)f(-w)h(area)g(in.nc)f(out.nc)390 5340 y(#)h(TREFHT)237
+b(=)48 b(289.246735)p eop end
%%Page: 95 101
TeXDict begin 95 100 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(95)275 299 y(First)35
-b(note)h(that)f(the)h Fy(TREFHT_dbl)c FD(a)m(v)m(erage)38
-b(nev)m(er)d(c)m(hanges)h(b)s(ecause)f Fy(TREFHT_dbl\(lat,lon\))150
-408 y FD(is)h(double-precision)h(in)f(the)h(input)e(\014le.)59
-b(As)37 b(describ)s(ed)e(ab)s(o)m(v)m(e,)40 b FC(NCO)c
-FD(automatically)j(con)m(v)m(erts)f(all)150 518 y(op)s(erands)26
-b(in)m(v)m(olving)j(to)f(the)f(highest)h(precision)f(in)m(v)m(olv)m(ed)
-i(in)e(the)g(op)s(eration.)41 b(So)27 b(sp)s(ecifying)g(`)p
-Fy(--dbl)p FD(')150 628 y(is)j(redundan)m(t)g(for)g(double-precision)g
-(inputs.)275 787 y(Second,)47 b(the)e(single-precision)h(arithmetic)f
-(a)m(v)m(erages)i(of)e(the)g(single-precision)g(input)f
-Fy(TREFHT)150 897 y FD(di\013er)33 b(b)m(y)h(289)p Fv(:)p
-FD(246735)26 b FA(\000)c FD(289)p Fv(:)p FD(226135)35
-b(=)30 b(0)p Fv(:)p FD(0206)36 b(from)d(eac)m(hother,)j(and,)e(more)g
-(imp)s(ortan)m(tly)-8 b(,)35 b(b)m(y)f(as)150 1006 y(m)m(uc)m(h)h(as)h
-(289)p Fv(:)p FD(239964)28 b FA(\000)23 b FD(289)p Fv(:)p
-FD(226135)37 b(=)d(0)p Fv(:)p FD(013829)k(from)d(the)g(correct)i
-(\(double-precision\))f(answ)m(er.)150 1116 y(These)26
+b(NCO)30 b(F)-8 b(eatures)2475 b(95)390 299 y Fy(#)47
+b(TREFHT_dbl)e(=)j(289.239964)390 408 y(#)f(Double-precision)d(weight)i
+(\(gw\),)142 b(single-precision)43 b(arithmetic)390 518
+y(ncwa)k(--flt)f(-O)h(-a)g(lat,lon)f(-w)h(gw)143 b(in.nc)46
+b(out.nc)390 628 y(#)h(TREFHT)237 b(=)48 b(289.226135)390
+737 y(#)f(TREFHT_dbl)e(=)j(289.239964)390 847 y(#)f(Single-precision)d
+(weight)i(\(area\),)g(double-precision)d(arithmetic)390
+956 y(ncwa)k(--dbl)f(-O)h(-a)g(lat,lon)f(-w)h(area)g(in.nc)f(out.nc)390
+1066 y(#)h(TREFHT)237 b(=)48 b(289.239960)390 1176 y(#)f(TREFHT_dbl)e
+(=)j(289.239964)390 1285 y(#)f(Double-precision)d(weight)i(\(gw\),)142
+b(double-precision)43 b(arithmetic)390 1395 y(ncwa)k(--dbl)f(-O)h(-a)g
+(lat,lon)f(-w)h(gw)143 b(in.nc)46 b(out.nc)390 1504 y(#)h(TREFHT)237
+b(=)48 b(289.239960)390 1614 y(#)f(TREFHT_dbl)e(=)j(289.239964)275
+1778 y FD(First)35 b(note)h(that)f(the)h Fy(TREFHT_dbl)c
+FD(a)m(v)m(erage)38 b(nev)m(er)d(c)m(hanges)h(b)s(ecause)f
+Fy(TREFHT_dbl\(lat,lon\))150 1888 y FD(is)h(double-precision)h(in)f
+(the)h(input)e(\014le.)59 b(As)37 b(describ)s(ed)e(ab)s(o)m(v)m(e,)40
+b FC(NCO)c FD(automatically)j(con)m(v)m(erts)f(all)150
+1997 y(op)s(erands)26 b(in)m(v)m(olving)j(to)f(the)f(highest)h
+(precision)f(in)m(v)m(olv)m(ed)i(in)e(the)g(op)s(eration.)41
+b(So)27 b(sp)s(ecifying)g(`)p Fy(--dbl)p FD(')150 2107
+y(is)j(redundan)m(t)g(for)g(double-precision)g(inputs.)275
+2271 y(Second,)47 b(the)e(single-precision)h(arithmetic)f(a)m(v)m
+(erages)i(of)e(the)g(single-precision)g(input)f Fy(TREFHT)150
+2381 y FD(di\013er)33 b(b)m(y)h(289)p Fv(:)p FD(246735)26
+b FA(\000)c FD(289)p Fv(:)p FD(226135)35 b(=)30 b(0)p
+Fv(:)p FD(0206)36 b(from)d(eac)m(hother,)j(and,)e(more)g(imp)s(ortan)m
+(tly)-8 b(,)35 b(b)m(y)f(as)150 2490 y(m)m(uc)m(h)h(as)h(289)p
+Fv(:)p FD(239964)28 b FA(\000)23 b FD(289)p Fv(:)p FD(226135)37
+b(=)d(0)p Fv(:)p FD(013829)k(from)d(the)g(correct)i
+(\(double-precision\))f(answ)m(er.)150 2600 y(These)26
b(a)m(v)m(erages)j(di\013er)d(in)g(the)g(\014fth)f(digit,)j(i.e.,)h
(they)d(agree)i(only)e(to)h(four)e(signi\014can)m(t)i(\014gures!)39
-b(Giv)m(en)150 1225 y(that)f(climate)h(scien)m(tists)g(are)e(concerned)
+b(Giv)m(en)150 2710 y(that)f(climate)h(scien)m(tists)g(are)e(concerned)
h(ab)s(out)f(global)h(temp)s(erature)f(v)-5 b(ariations)38
-b(of)g(a)f(ten)m(th)h(of)g(a)150 1335 y(degree)32 b(or)f(less,)h(this)f
+b(of)g(a)f(ten)m(th)h(of)g(a)150 2819 y(degree)32 b(or)f(less,)h(this)f
(di\013erence)h(is)g(large.)44 b(It)31 b(means)h(that)f(the)h(global)h
-(mean)e(temp)s(erature)g(c)m(hanges)150 1445 y(scien)m(tists)h(are)e
+(mean)e(temp)s(erature)g(c)m(hanges)150 2929 y(scien)m(tists)h(are)e
(lo)s(oking)h(for)f(are)h(comparable)g(in)f(size)h(to)f(the)h(n)m
(umerical)g(artifacts)g(pro)s(duced)e(b)m(y)h(the)150
-1554 y(a)m(v)m(eraging)j(pro)s(cedure.)275 1714 y(Wh)m(y)39
+3038 y(a)m(v)m(eraging)j(pro)s(cedure.)275 3203 y(Wh)m(y)39
b(are)g(the)g(single-precision)g(n)m(umerical)h(artifacts)g(so)f
(large?)66 b(Eac)m(h)40 b(global)g(a)m(v)m(erage)h(is)e(the)150
-1823 y(result)33 b(of)g(m)m(ultiplying)g(almost)h(15,000)h(elemen)m(ts)
+3312 y(result)33 b(of)g(m)m(ultiplying)g(almost)h(15,000)h(elemen)m(ts)
g(eac)m(h)f(b)m(y)e(its)i(w)m(eigh)m(t,)h(summing)d(those,)i(and)e
-(then)150 1933 y(dividing)g(b)m(y)g(the)h(summed)e(w)m(eigh)m(ts.)48
+(then)150 3422 y(dividing)g(b)m(y)g(the)h(summed)e(w)m(eigh)m(ts.)48
b(Th)m(us)31 b(ab)s(out)i(50,000)h(single-precision)g(\015oating)f(p)s
-(oin)m(t)g(op)s(era-)150 2042 y(tions)c(caused)g(the)h(loss)f(of)g(t)m
+(oin)m(t)g(op)s(era-)150 3531 y(tions)c(caused)g(the)h(loss)f(of)g(t)m
(w)m(o)i(to)e(three)h(signi\014can)m(t)f(digits)h(of)f(precision.)41
-b(The)28 b(net)h(error)g(of)g(a)h(series)150 2152 y(of)g(indep)s(enden)
+b(The)28 b(net)h(error)g(of)g(a)h(series)150 3641 y(of)g(indep)s(enden)
m(t)e(rounding)g(errors)i(is)f(a)h(random)f(w)m(alk)h(phenomena)2568
-2119 y Ft(28)2638 2152 y FD(.)41 b(Successiv)m(e)30 b(rounding)e
-(errors)150 2262 y(displace)j(the)f(answ)m(er)g(further)f(from)h(the)g
+3608 y Ft(29)2638 3641 y FD(.)41 b(Successiv)m(e)30 b(rounding)e
+(errors)150 3751 y(displace)j(the)f(answ)m(er)g(further)f(from)h(the)g
(truth.)40 b(An)30 b(ensem)m(ble)g(of)h(suc)m(h)f(a)m(v)m(erages)i
-(will,)f(on)f(a)m(v)m(erage,)150 2371 y(ha)m(v)m(e)h(no)f(net)h(bias.)
+(will,)f(on)f(a)m(v)m(erage,)150 3860 y(ha)m(v)m(e)h(no)f(net)h(bias.)
41 b(In)29 b(other)h(w)m(ords,)g(the)h(exp)s(ectation)h(v)-5
b(alue)30 b(of)h(a)f(series)h(of)f FC(IEEE)f FD(rounding)f(errors)150
-2481 y(is)36 b(zero.)60 b(And)36 b(the)g(error)g(of)h(an)m(y)g(giv)m
+3970 y(is)36 b(zero.)60 b(And)36 b(the)g(error)g(of)h(an)m(y)g(giv)m
(en)g(sequence)g(of)f(rounding)g(errors)f(ob)s(eys,)j(for)f(large)g
-(series,)i(a)150 2590 y(Gaussian)31 b(distribution)e(cen)m(tered)j(on)e
-(zero.)275 2750 y(Single-precision)d(n)m(um)m(b)s(ers)d(use)i(three)h
+(series,)i(a)150 4079 y(Gaussian)31 b(distribution)e(cen)m(tered)j(on)e
+(zero.)275 4244 y(Single-precision)d(n)m(um)m(b)s(ers)d(use)i(three)h
(of)f(their)g(four)g(eigh)m(t-bit)i(b)m(ytes)e(to)h(represen)m(t)g(the)
-f(man)m(tissa)150 2859 y(so)j(the)g(smallest)h(represen)m(table)f
+f(man)m(tissa)150 4353 y(so)j(the)g(smallest)h(represen)m(table)f
(single-precision)h(man)m(tissa)g(is)f Fv(\017)c FA(\021)g
-FD(2)2615 2826 y Fd(\000)p Ft(23)2763 2859 y FD(=)g(1)p
-Fv(:)p FD(19209)20 b FA(\002)d FD(10)3352 2826 y Fd(\000)p
-Ft(7)3442 2859 y FD(.)40 b(This)28 b Fv(\017)150 2969
+FD(2)2615 4320 y Fd(\000)p Ft(23)2763 4353 y FD(=)g(1)p
+Fv(:)p FD(19209)20 b FA(\002)d FD(10)3352 4320 y Fd(\000)p
+Ft(7)3442 4353 y FD(.)40 b(This)28 b Fv(\017)150 4463
y FD(is)f(the)g(smallest)g Fz(x)33 b FD(suc)m(h)27 b(that)g(1)p
Fv(:)p FD(0)13 b(+)g Fv(x)25 b FA(6)p FD(=)g(1)p Fv(:)p
FD(0.)41 b(This)26 b(is)h(the)f(rounding)g(error)g(for)g(non-exact)i
-(precision-)150 3078 y(n)m(um)m(b)s(ers.)58 b(Applying)36
+(precision-)150 4572 y(n)m(um)m(b)s(ers.)58 b(Applying)36
b(random)f(w)m(alk)i(theory)g(to)g(rounding,)g(it)g(can)g(b)s(e)f(sho)m
-(wn)g(that)h(the)g(exp)s(ected)150 3188 y(rounding)d(error)g(after)i
-Fz(n)e FD(inexact)j(op)s(erations)e(is)1935 3115 y Ff(p)p
-2018 3115 201 4 v 73 x FD(2)p Fv(n=\031)k FD(for)34 b(large)e
+(wn)g(that)h(the)g(exp)s(ected)150 4682 y(rounding)d(error)g(after)i
+Fz(n)e FD(inexact)j(op)s(erations)e(is)1935 4609 y Ff(p)p
+2018 4609 201 4 v 73 x FD(2)p Fv(n=\031)k FD(for)34 b(large)e
Fz(n)o FD(.)55 b(The)35 b(exp)s(ected)g(\(i.e.,)j(mean)150
-3298 y(absolute\))e(rounding)e(error)h(in)g(our)f(example)i(with)f(13)p
+4792 y(absolute\))e(rounding)e(error)h(in)g(our)f(example)i(with)f(13)p
Fv(;)15 b FD(824)38 b(additions)d(is)g(ab)s(out)3079
-3225 y Ff(p)p 3162 3225 485 4 v 73 x FD(2)20 b FA(\002)g
-FD(13824)p Fv(=\031)39 b FD(=)150 3407 y(91)p Fv(:)p
+4719 y Ff(p)p 3162 4719 485 4 v 73 x FD(2)20 b FA(\002)g
+FD(13824)p Fv(=\031)39 b FD(=)150 4901 y(91)p Fv(:)p
FD(96.)j(Hence,)30 b(addition)e(alone)h(of)g(ab)s(out)f(\014fteen)g
(thousand)f(single-precision)j(\015oats)e(is)h(exp)s(ected)f(to)150
-3517 y(consume)k(ab)s(out)g(t)m(w)m(o)h(signi\014can)m(t)g(digits)g(of)
+5011 y(consume)k(ab)s(out)g(t)m(w)m(o)h(signi\014can)m(t)g(digits)g(of)
f(precision.)46 b(This)32 b(neglects)h(the)f(error)g(due)g(to)g(the)h
-(inner)150 3626 y(pro)s(duct)d(\(w)m(eigh)m(ts)j(times)f(v)-5
+(inner)150 5120 y(pro)s(duct)d(\(w)m(eigh)m(ts)j(times)f(v)-5
b(alues\))32 b(and)e(normalization)j(\(division)f(b)m(y)f(tally\))i
-(asp)s(ects)e(of)h(a)g(w)m(eigh)m(ted)150 3736 y(a)m(v)m(erage.)43
+(asp)s(ects)e(of)h(a)g(w)m(eigh)m(ted)p 150 5241 1200
+4 v 166 5308 a Ft(29)300 5340 y Fs(Thanks)26 b(to)g(Mic)n(hael)g(J.)h
+(Prather)f(for)g(explaining)g(this)g(to)g(me.)p eop end
+%%Page: 96 102
+TeXDict begin 96 101 bop 150 -116 a FD(96)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y(a)m(v)m(erage.)43
b(the)29 b(ratio)h(of)f(t)m(w)m(o)h(n)m(um)m(b)s(ers)e(eac)m(h)i(con)m
(taining)g(a)f(n)m(umerical)h(bias)f(can)g(magnify)g(the)g(size)h(of)
-150 3846 y(the)g(bias.)41 b(In)29 b(summary)-8 b(,)29
+150 408 y(the)g(bias.)41 b(In)29 b(summary)-8 b(,)29
b(a)i(global)g(mean)f(n)m(um)m(b)s(er)e(computed)i(from)f(ab)s(out)h
-(15,000)i(gridp)s(oin)m(ts)e(eac)m(h)150 3955 y(with)35
+(15,000)i(gridp)s(oin)m(ts)e(eac)m(h)150 518 y(with)35
b(w)m(eigh)m(ts)j(can)e(b)s(e)f(exp)s(ected)h(to)h(lose)f(up)f(to)i
(three)f(signi\014can)m(t)g(digits.)58 b(Since)36 b(single-precision)
-150 4065 y(starts)h(with)f(ab)s(out)g(sev)m(en)h(signi\014can)m(t)g
+150 628 y(starts)h(with)f(ab)s(out)g(sev)m(en)h(signi\014can)m(t)g
(digits,)i(w)m(e)e(should)e(not)i(exp)s(ect)g(to)g(retain)g(more)g
-(than)f(four)150 4174 y(signi\014can)m(t)28 b(digits)g(after)g
+(than)f(four)150 737 y(signi\014can)m(t)28 b(digits)g(after)g
(computing)f(w)m(eigh)m(ted)i(a)m(v)m(erages)g(in)e(single-precision.)
-41 b(The)27 b(ab)s(o)m(v)m(e)h(example)150 4284 y(with)i
+41 b(The)27 b(ab)s(o)m(v)m(e)h(example)150 847 y(with)i
Fy(TREFHT)f FD(sho)m(ws)h(the)g(exp)s(ected)h(four)f(digits)h(of)f
-(agreemen)m(t.)275 4443 y(The)25 b FC(NCO)h FD(results)g(ha)m(v)m(e)h
+(agreemen)m(t.)275 1044 y(The)25 b FC(NCO)h FD(results)g(ha)m(v)m(e)h
(b)s(een)f(indep)s(enden)m(tly)f(v)-5 b(alidated)27 b(to)g(the)f(exten)
-m(t)i(p)s(ossible)e(in)f(three)i(other)150 4553 y(languages:)55
+m(t)i(p)s(ossible)e(in)f(three)i(other)150 1154 y(languages:)55
b(C,)38 b(Matlab,)i(and)d FC(NCL)p FD(.)60 b(C)36 b(and)g
FC(NCO)h FD(are)g(the)g(only)g(languages)h(that)g(p)s(ermit)e(single-)
-150 4663 y(precision)31 b(n)m(um)m(b)s(ers)d(to)k(b)s(e)d(treated)j
-(with)e(single)h(precision)f(arithmetic:)390 4822 y Fy(#)47
+150 1263 y(precision)31 b(n)m(um)m(b)s(ers)d(to)k(b)s(e)d(treated)j
+(with)e(single)h(precision)f(arithmetic:)390 1461 y Fy(#)47
b(Double-precision)d(weight)i(\(gw\),)142 b(single-precision)43
-b(arithmetic)i(\(C\))390 4932 y(ncwa_3528514.exe)390
-5041 y(#)i(TREFHT)237 b(=)48 b(289.240112)390 5151 y(#)f
+b(arithmetic)i(\(C\))390 1570 y(ncwa_3528514.exe)390
+1680 y(#)i(TREFHT)237 b(=)48 b(289.240112)390 1789 y(#)f
(Double-precision)d(weight)i(\(gw\),)142 b(double-precision)43
-b(arithmetic)i(\(C\))p 150 5241 1200 4 v 166 5308 a Ft(28)300
-5340 y Fs(Thanks)26 b(to)g(Mic)n(hael)g(J.)h(Prather)f(for)g
-(explaining)g(this)g(to)g(me.)p eop end
-%%Page: 96 102
-TeXDict begin 96 101 bop 150 -116 a FD(96)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(#)47 b(TREFHT)237
-b(=)48 b(289.239964)390 408 y(#)f(Single-precision)d(weight)i
-(\(area\),)g(double-precision)d(arithmetic)i(\(Matlab\))390
-518 y(#)i(TREFHT)237 b(=)48 b(289.239964)390 628 y(#)f
-(Double-precision)d(weight)i(\(gw\),)142 b(double-precision)43
-b(arithmetic)i(\(Matlab\))390 737 y(#)i(TREFHT)237 b(=)48
-b(289.239964)390 847 y(#)f(Single-precision)d(weight)i(\(area\),)g
-(double-precision)d(arithmetic)i(\(NCL\))390 956 y(ncl)i(<)g
-(ncwa_3528514.ncl)390 1066 y(#)g(TREFHT)237 b(=)48 b(289.239960)390
-1176 y(#)f(TREFHT_dbl)e(=)j(289.239964)390 1285 y(#)f(Double-precision)
-d(weight)i(\(gw\),)142 b(double-precision)43 b(arithmetic)i(\(NCL\))390
-1395 y(#)i(TREFHT)237 b(=)48 b(289.239960)390 1504 y(#)f(TREFHT_dbl)e
-(=)j(289.239964)275 1673 y FD(All)23 b(languages)h(tested)f(\(C,)g
-(Matlab,)j FC(NCL)p FD(,)e(and)e FC(NCO)p FD(\))h(agree)h(to)g(mac)m
-(hine)f(precision)g(with)f(double-)150 1782 y(precision)38
-b(arithmetic.)66 b(Users)38 b(are)h(fortunate)g(to)g(ha)m(v)m(e)g(a)g
-(v)-5 b(ariet)m(y)40 b(of)e(high)g(qualit)m(y)i(soft)m(w)m(are)f(that)
-150 1892 y(lib)s(erates)29 b(them)f(from)f(the)i(drudgery)d(of)j(co)s
-(ding)f(their)g(o)m(wn.)40 b(Man)m(y)29 b(pac)m(k)-5
-b(ages)30 b(are)e(free)g(\(as)h(in)f(b)s(eer\)!)150 2001
-y(As)34 b(sho)m(wn)f(ab)s(o)m(v)m(e)h FC(NCO)g FD(p)s(ermits)e(one)i
-(to)h(shift)e(to)h(their)g(\015oat-promotion)h(preferences)e(as)h
-(desired.)150 2111 y(No)d(other)g(language)g(allo)m(ws)h(this)e(with)g
-(a)h(simple)f(switc)m(h.)275 2279 y(T)-8 b(o)31 b(summarize,)h(un)m
-(til)g(v)m(ersion)g(4.3.6)h(\(Septem)m(b)s(er,)f(2013\),)i(the)d
-(default)h(arithmetic)h(con)m(v)m(en)m(tion)150 2389
-y(of)k FC(NCO)f FD(follo)m(w)m(ed)i(the)f(b)s(eha)m(vior)f(of)h(F)-8
-b(ortran,)39 b(and)d(automatically)j(promoted)e(single-precision)g(to)
-150 2498 y(double-precision)32 b(in)g(all)g(mixed-precision)h
-(expressions,)f(and)f(left-alone)j(pure)d(single-precision)i(ex-)150
-2608 y(pressions.)40 b(This)29 b(is)h(faster)g(and)f(more)h(memory)f
-(e\016cien)m(t)j(than)d(other)h(con)m(v)m(en)m(tions.)43
-b(Ho)m(w)m(ev)m(er,)32 b(pure)150 2718 y(single-precision)j(arithmetic)
-g(can)f(lose)g(to)s(o)h(m)m(uc)m(h)e(precision)h(when)f(used)g(to)h
-(condense)g(\(e.g.,)i(a)m(v)m(er-)150 2827 y(age\))k(large)g(arra)m
-(ys.)65 b(Statistics)40 b(in)m(v)m(olving)g(ab)s(out)e
-Fv(n)h FD(=)f(10)p Fv(;)15 b FD(000)41 b(single-precision)f(inputs)d
-(will)i(lose)150 2937 y(ab)s(out)d(2{3)j(digits)e(if)g(not)g(promoted)f
-(to)i(double-precision)f(prior)f(to)h(arithmetic.)61
-b(The)37 b(loss)g(scales)150 3046 y(with)29 b(the)g(squarero)s(ot)h(of)
-g Fz(n)p FD(.)40 b(F)-8 b(or)30 b(larger)g Fz(n)p FD(,)f(users)f
-(should)g(promote)i(\015oats)g(with)f(the)g(`)p Fy(--dbl)p
-FD(')f(option)150 3156 y(if)i(they)h(w)m(an)m(t)g(to)g(preserv)m(e)g
-(more)f(than)g(four)g(signi\014can)m(t)h(digits)g(in)f(their)h
-(results.)275 3324 y(The)e(`)p Fy(--dbl)p FD(')h(and)f(`)p
-Fy(--flt)p FD(')g(switc)m(hes)i(are)g(only)f(a)m(v)-5
-b(ailable)33 b(with)d(the)g FC(NCO)g FD(arithmetic)i(op)s(erators)150
-3434 y(that)23 b(could)g(p)s(oten)m(tially)i(p)s(erform)c(more)i(than)g
+b(arithmetic)i(\(C\))390 1899 y(#)i(TREFHT)237 b(=)48
+b(289.239964)390 2008 y(#)f(Single-precision)d(weight)i(\(area\),)g
+(double-precision)d(arithmetic)i(\(Matlab\))390 2118
+y(#)i(TREFHT)237 b(=)48 b(289.239964)390 2228 y(#)f(Double-precision)d
+(weight)i(\(gw\),)142 b(double-precision)43 b(arithmetic)i(\(Matlab\))
+390 2337 y(#)i(TREFHT)237 b(=)48 b(289.239964)390 2447
+y(#)f(Single-precision)d(weight)i(\(area\),)g(double-precision)d
+(arithmetic)i(\(NCL\))390 2556 y(ncl)i(<)g(ncwa_3528514.ncl)390
+2666 y(#)g(TREFHT)237 b(=)48 b(289.239960)390 2776 y(#)f(TREFHT_dbl)e
+(=)j(289.239964)390 2885 y(#)f(Double-precision)d(weight)i(\(gw\),)142
+b(double-precision)43 b(arithmetic)i(\(NCL\))390 2995
+y(#)i(TREFHT)237 b(=)48 b(289.239960)390 3104 y(#)f(TREFHT_dbl)e(=)j
+(289.239964)275 3302 y FD(All)23 b(languages)h(tested)f(\(C,)g(Matlab,)
+j FC(NCL)p FD(,)e(and)e FC(NCO)p FD(\))h(agree)h(to)g(mac)m(hine)f
+(precision)g(with)f(double-)150 3411 y(precision)38 b(arithmetic.)66
+b(Users)38 b(are)h(fortunate)g(to)g(ha)m(v)m(e)g(a)g(v)-5
+b(ariet)m(y)40 b(of)e(high)g(qualit)m(y)i(soft)m(w)m(are)f(that)150
+3521 y(lib)s(erates)29 b(them)f(from)f(the)i(drudgery)d(of)j(co)s(ding)
+f(their)g(o)m(wn.)40 b(Man)m(y)29 b(pac)m(k)-5 b(ages)30
+b(are)e(free)g(\(as)h(in)f(b)s(eer\)!)150 3630 y(As)34
+b(sho)m(wn)f(ab)s(o)m(v)m(e)h FC(NCO)g FD(p)s(ermits)e(one)i(to)h
+(shift)e(to)h(their)g(\015oat-promotion)h(preferences)e(as)h(desired.)
+150 3740 y(No)d(other)g(language)g(allo)m(ws)h(this)e(with)g(a)h
+(simple)f(switc)m(h.)275 3937 y(T)-8 b(o)22 b(summarize,)h(un)m(til)f
+(v)m(ersion)g(4.3.6)h(\(Septem)m(b)s(er,)g(2013\),)j(the)c(default)f
+(arithmetic)i(con)m(v)m(en)m(tion)h(of)150 4047 y FC(NCO)31
+b FD(adhered)f(to)h(F)-8 b(ortran)32 b(b)s(eha)m(vior,)f(and)g
+(automatically)i(promoted)e(single-precision)h(to)g(double-)150
+4156 y(precision)26 b(in)f(all)h(mixed-precision)g(expressions,)g(and)f
+(left-alone)j(pure)c(single-precision)j(expressions.)150
+4266 y(This)39 b(is)g(faster)h(and)f(more)h(memory)g(e\016cien)m(t)h
+(than)e(other)h(con)m(v)m(en)m(tions.)70 b(Ho)m(w)m(ev)m(er,)44
+b(pure)39 b(single-)150 4376 y(precision)k(arithmetic)i(can)e(lose)h
+(to)s(o)g(m)m(uc)m(h)g(precision)f(when)f(used)h(to)g(condense)h
+(\(e.g.,)k(a)m(v)m(erage\))150 4485 y(large)35 b(arra)m(ys.)54
+b(Statistics)35 b(in)m(v)m(olving)h(ab)s(out)e Fv(n)e
+FD(=)f(10)p Fv(;)15 b FD(000)37 b(single-precision)f(inputs)d(will)i
+(lose)g(ab)s(out)150 4595 y(2{3)c(digits)f(if)g(not)g(promoted)g(to)h
+(double-precision)e(prior)h(to)g(arithmetic.)42 b(The)29
+b(loss)h(scales)h(with)f(the)150 4704 y(squarero)s(ot)k(of)d
+Fz(n)o FD(.)52 b(F)-8 b(or)35 b(larger)g Fz(n)p FD(,)f(users)g(should)f
+(promote)h(\015oats)h(with)f(the)g(`)p Fy(--dbl)p FD(')f(option)i(if)f
+(they)150 4814 y(w)m(an)m(t)d(to)g(preserv)m(e)g(more)f(than)h(four)e
+(signi\014can)m(t)i(digits)g(in)g(their)f(results.)275
+5011 y(The)f(`)p Fy(--dbl)p FD(')h(and)f(`)p Fy(--flt)p
+FD(')g(switc)m(hes)i(are)g(only)f(a)m(v)-5 b(ailable)33
+b(with)d(the)g FC(NCO)g FD(arithmetic)i(op)s(erators)150
+5121 y(that)23 b(could)g(p)s(oten)m(tially)i(p)s(erform)c(more)i(than)g
(a)g(few)g(single-precision)h(\015oating)g(p)s(oin)m(t)f(op)s(erations)
-g(p)s(er)150 3543 y(result.)46 b(These)31 b(are)i Fy(nces)p
+g(p)s(er)150 5230 y(result.)46 b(These)31 b(are)i Fy(nces)p
FD(,)e Fy(ncra)p FD(,)h(and)f Fy(ncwa)p FD(.)45 b(Eac)m(h)32
b(is)g(capable)h(of)g(thousands)d(to)j(millions)g(or)f(more)150
-3653 y(op)s(erations)f(p)s(er)f(result.)41 b(By)31 b(con)m(trast,)h
+5340 y(op)s(erations)f(p)s(er)f(result.)41 b(By)31 b(con)m(trast,)h
(the)f(arithmetic)h(op)s(erators)f Fy(ncbo)e FD(and)h
-Fy(ncflint)f FD(p)s(erform)g(at)150 3763 y(most)k(one)g(\015oating)g(p)
-s(oin)m(t)f(op)s(eration)h(p)s(er)f(result.)47 b(Pro)m(viding)32
-b(the)h(`)p Fy(--dbl)p FD(')f(option)g(for)h(suc)m(h)f(trivial)150
-3872 y(op)s(erations)f(mak)m(es)g(little)h(sense,)f(so)f(the)h(option)g
-(is)f(not)h(curren)m(tly)f(made)h(a)m(v)-5 b(ailable.)275
-4041 y(A)m(t)39 b(the)f(time)h(of)f(this)g(writing)g(\(Septem)m(b)s(er)
-g(2013\),)43 b(w)m(e)38 b(are)h(in)m(terested)g(in)f(users')f(opinions)
-h(on)150 4150 y(these)i(matters.)71 b(Curren)m(tly)39
-b(the)h(default)h(b)s(eha)m(vior)f(is)g(`)p Fy(--flt)p
-FD('.)69 b(W)-8 b(e)41 b(are)f(willing)h(to)g(c)m(hange)g(the)150
-4260 y(default)i(to)h(`)p Fy(--dbl)p FD(')e(if)h(users)f(prefer.)77
-b(Or)42 b(w)m(e)i(could)f(set)g(a)g(threshold)g(\(e.g.,)k
-Fv(n)f FA(\025)g FD(10000\))f(after)150 4369 y(whic)m(h)36
-b(single-)i(to)g(double-precision)e(promotion)h(is)g(automatically)j
-(in)m(v)m(ok)m(ed.)61 b(Or)36 b(w)m(e)h(could)g(mak)m(e)150
-4479 y(the)j(default)f(promotion)h(con)m(v)m(en)m(tion)i(settable)f
-(via)f(an)f(en)m(vironmen)m(t)h(v)-5 b(ariable)40 b(\()p
-FC(GSL)g FD(do)s(es)f(this)h(a)150 4589 y(lot\).)i(Please)32
-b(let)f(us)f(kno)m(w)g(what)g(y)m(ou)h(think)f(of)g(the)h(selected)h
-(defaults)e(and)g(options.)150 4806 y Fu(3.33.3)63 b(Man)m(ual)41
-b(t)m(yp)s(e)f(con)m(v)m(ersion)150 4952 y Fy(ncap2)26
-b FD(pro)m(vides)i(in)m(trinsic)g(functions)f(for)h(p)s(erforming)e
-(man)m(ual)i(t)m(yp)s(e)g(con)m(v)m(ersions.)41 b(This,)28
-b(for)f(exam-)150 5062 y(ple,)i(con)m(v)m(erts)g(v)-5
+Fy(ncflint)f FD(p)s(erform)g(at)p eop end
+%%Page: 97 103
+TeXDict begin 97 102 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(97)150 299 y(most)33
+b(one)g(\015oating)g(p)s(oin)m(t)f(op)s(eration)h(p)s(er)f(result.)47
+b(Pro)m(viding)32 b(the)h(`)p Fy(--dbl)p FD(')f(option)g(for)h(suc)m(h)
+f(trivial)150 408 y(op)s(erations)f(mak)m(es)g(little)h(sense,)f(so)f
+(the)h(option)g(is)f(not)h(curren)m(tly)f(made)h(a)m(v)-5
+b(ailable.)275 568 y(W)d(e)26 b(are)h(in)m(terested)f(in)g(users')f
+(opinions)g(on)h(these)g(matters.)40 b(The)25 b(default)h(b)s(eha)m
+(vior)g(w)m(as)g(c)m(hanged)150 678 y(from)20 b(`)p Fy(--flt)p
+FD(')g(to)i(`)p Fy(--dbl)p FD(')e(with)g(the)h(release)h(of)f
+FC(NCO)g FD(v)m(ersion)g(4.3.6)i(\(Octob)s(er)e(2013\).)40
+b(W)-8 b(e)22 b(will)f(c)m(hange)150 787 y(the)35 b(default)g(bac)m(k)h
+(to)f(`)p Fy(--flt)p FD(')f(if)h(users)f(prefer.)53 b(Or)34
+b(w)m(e)h(could)g(set)h(a)f(threshold)f(\(e.g.,)k Fv(n)32
+b FA(\025)g FD(10000\))150 897 y(after)39 b(whic)m(h)f(single-)i(to)f
+(double-precision)f(promotion)h(is)g(automatically)i(in)m(v)m(ok)m(ed.)
+66 b(Or)38 b(w)m(e)h(could)150 1006 y(mak)m(e)27 b(the)f(default)g
+(promotion)h(con)m(v)m(en)m(tion)h(settable)f(via)g(an)f(en)m(vironmen)
+m(t)g(v)-5 b(ariable)27 b(\()p FC(GSL)f FD(do)s(es)g(this)150
+1116 y(a)31 b(lot\).)42 b(Please)31 b(let)h(us)d(kno)m(w)i(what)f(y)m
+(ou)h(think)f(of)g(the)h(selected)h(defaults)e(and)g(options.)150
+1316 y Fu(3.33.3)63 b(Man)m(ual)41 b(t)m(yp)s(e)f(con)m(v)m(ersion)150
+1463 y Fy(ncap2)26 b FD(pro)m(vides)i(in)m(trinsic)g(functions)f(for)h
+(p)s(erforming)e(man)m(ual)i(t)m(yp)s(e)g(con)m(v)m(ersions.)41
+b(This,)28 b(for)f(exam-)150 1572 y(ple,)i(con)m(v)m(erts)g(v)-5
b(ariable)28 b Fy(tpt)f FD(to)i(external)f(t)m(yp)s(e)g
Fy(NC_SHORT)e FD(\(a)i(C-t)m(yp)s(e)g Fy(short)p FD(\),)g(and)f(v)-5
-b(ariable)28 b Fy(prs)f FD(to)150 5172 y(external)k(t)m(yp)s(e)g
+b(ariable)28 b Fy(prs)f FD(to)150 1682 y(external)k(t)m(yp)s(e)g
Fy(NC_DOUBLE)d FD(\(a)j(C-t)m(yp)s(e)f Fy(double)p FD(\).)390
-5340 y Fy(ncap2)46 b(-s)i('tpt=short\(tpt\);prs=dou)o(ble)o(\(prs)o
-(\)')42 b(in.nc)k(out.nc)p eop end
-%%Page: 97 103
-TeXDict begin 97 102 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(97)275 299 y(See)30
-b(Section)h(4.1)h([ncap2)f(netCDF)g(Arithmetic)g(Pro)s(cessor],)g(page)
-g(104,)h(for)e(more)h(details.)150 530 y FB(3.34)68 b(Batc)l(h)45
-b(Mo)t(de)150 641 y Fk(\013)p 200 641 3554 4 v 3553 w(\010)p
-150 1130 4 442 v 178 777 a FD(Av)-5 b(ailabilit)m(y:)43
-b(All)31 b(op)s(erators)178 886 y(Short)f(options:)41
-b(`)p Fy(-O)p FD(',)31 b(`)p Fy(-A)p FD(')178 996 y(Long)g(options:)41
+1841 y Fy(ncap2)46 b(-s)i('tpt=short\(tpt\);prs=dou)o(ble)o(\(prs)o
+(\)')42 b(in.nc)k(out.nc)275 2001 y FD(See)30 b(Section)h(4.1)h([ncap2)
+f(netCDF)g(Arithmetic)g(Pro)s(cessor],)g(page)g(104,)h(for)e(more)h
+(details.)150 2234 y FB(3.34)68 b(Batc)l(h)45 b(Mo)t(de)150
+2344 y Fk(\013)p 200 2344 3554 4 v 3553 w(\010)p 150
+2834 4 442 v 178 2481 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 2590 y(Short)f(options:)41
+b(`)p Fy(-O)p FD(',)31 b(`)p Fy(-A)p FD(')178 2700 y(Long)g(options:)41
b(`)p Fy(--ovr)p FD(',)29 b(`)p Fy(--overwrite)p FD(',)g(`)p
-Fy(--apn)p FD(',)g(`)p Fy(--append)p FD(')p 3803 1130
-V 150 1182 a Fk(\012)p 200 1182 3554 4 v 3553 w(\011)275
-1352 y FD(If)35 b(the)h Fz(output-\014le)41 b FD(sp)s(eci\014ed)35
+Fy(--apn)p FD(',)g(`)p Fy(--append)p FD(')p 3803 2834
+V 150 2886 a Fk(\012)p 200 2886 3554 4 v 3553 w(\011)275
+3056 y FD(If)35 b(the)h Fz(output-\014le)41 b FD(sp)s(eci\014ed)35
b(for)h(a)g(command)g(is)g(a)g(pre-existing)h(\014le,)h(then)d(the)h
-(op)s(erator)h(will)150 1462 y(prompt)d(the)i(user)e(whether)h(to)h(o)m
+(op)s(erator)h(will)150 3166 y(prompt)d(the)i(user)e(whether)h(to)h(o)m
(v)m(erwrite)g(\(erase\))h(the)e(existing)i Fz(output-\014le)p
-FD(,)f(attempt)h(to)f(app)s(end)150 1571 y(to)43 b(it,)k(or)42
+FD(,)f(attempt)h(to)f(app)s(end)150 3275 y(to)43 b(it,)k(or)42
b(ab)s(ort)h(the)g(op)s(eration.)78 b(Ho)m(w)m(ev)m(er,)48
b(in)m(teractiv)m(e)d(questions)e(reduce)f(pro)s(ductivit)m(y)h(when)
-150 1681 y(pro)s(cessing)38 b(large)i(amoun)m(ts)f(of)f(data.)66
+150 3385 y(pro)s(cessing)38 b(large)i(amoun)m(ts)f(of)f(data.)66
b(Therefore)38 b FC(NCO)g FD(also)i(implemen)m(ts)f(t)m(w)m(o)g(w)m(a)m
-(ys)h(to)f(o)m(v)m(erride)150 1791 y(its)i(o)m(wn)g(safet)m(y)h
+(ys)h(to)f(o)m(v)m(erride)150 3494 y(its)i(o)m(wn)g(safet)m(y)h
(features,)i(the)d(`)p Fy(-O)p FD(')f(and)g(`)p Fy(-A)p
FD(')h(switc)m(hes.)73 b(Sp)s(ecifying)40 b(`)p Fy(-O)p
-FD(')g(tells)i(the)f(op)s(erator)g(to)150 1900 y(o)m(v)m(erwrite)30
+FD(')g(tells)i(the)f(op)s(erator)g(to)150 3604 y(o)m(v)m(erwrite)30
b(an)m(y)f(existing)g Fz(output-\014le)34 b FD(without)28
b(prompting)g(the)h(user)f(in)m(teractiv)m(ely)-8 b(.)43
-b(Sp)s(ecifying)28 b(`)p Fy(-A)p FD(')150 2010 y(tells)33
+b(Sp)s(ecifying)28 b(`)p Fy(-A)p FD(')150 3714 y(tells)33
b(the)e(op)s(erator)h(to)g(attempt)h(to)f(app)s(end)e(to)i(an)m(y)g
(existing)h Fz(output-\014le)j FD(without)c(prompting)f(the)150
-2119 y(user)h(in)m(teractiv)m(ely)-8 b(.)53 b(These)33
+3823 y(user)h(in)m(teractiv)m(ely)-8 b(.)53 b(These)33
b(switc)m(hes)h(are)f(useful)f(in)h(batc)m(h)h(en)m(vironmen)m(ts)g(b)s
-(ecause)f(they)g(suppress)150 2229 y(in)m(teractiv)m(e)39
+(ecause)f(they)g(suppress)150 3933 y(in)m(teractiv)m(e)39
b(k)m(eyb)s(oard)d(input.)56 b(NB:)37 b(As)f(of)g(20120515,)41
b Fy(ncap2)34 b FD(is)i(unable)g(to)h(app)s(end)d(to)i(\014les)g(that)
-150 2338 y(already)31 b(con)m(tain)h(the)e(app)s(ended)f(dimensions.)
-150 2570 y FB(3.35)68 b(History)46 b(A)l(ttribute)150
-2703 y Fk(\013)p 200 2703 V 3553 w(\010)p 150 3193 4
-442 v 178 2840 a FD(Av)-5 b(ailabilit)m(y:)43 b(All)31
-b(op)s(erators)178 2949 y(Short)f(options:)41 b(`)p Fy(-h)p
-FD(')178 3059 y(Long)31 b(options:)41 b(`)p Fy(--hst)p
-FD(',)29 b(`)p Fy(--history)p FD(')p 3803 3193 V 150
-3245 a Fk(\012)p 200 3245 3554 4 v 3553 w(\011)275 3415
+150 4042 y(already)31 b(con)m(tain)h(the)e(app)s(ended)f(dimensions.)
+150 4275 y FB(3.35)68 b(History)46 b(A)l(ttribute)150
+4409 y Fk(\013)p 200 4409 V 3553 w(\010)p 150 4899 4
+442 v 178 4545 a FD(Av)-5 b(ailabilit)m(y:)43 b(All)31
+b(op)s(erators)178 4655 y(Short)f(options:)41 b(`)p Fy(-h)p
+FD(')178 4764 y(Long)31 b(options:)41 b(`)p Fy(--hst)p
+FD(',)29 b(`)p Fy(--history)p FD(')p 3803 4899 V 150
+4950 a Fk(\012)p 200 4950 3554 4 v 3553 w(\011)275 5121
y FD(All)e(op)s(erators)g(automatically)j(app)s(end)25
b(a)j Fy(history)c FD(global)29 b(attribute)e(to)h(an)m(y)f(\014le)g
-(they)g(create)i(or)150 3525 y(mo)s(dify)-8 b(.)39 b(The)26
+(they)g(create)i(or)150 5230 y(mo)s(dify)-8 b(.)39 b(The)26
b Fy(history)e FD(attribute)j(consists)g(of)g(a)g(timestamp)g(and)f
(the)g(full)g(string)h(of)f(the)h(in)m(v)m(o)s(cation)150
-3634 y(command)e(to)i(the)f(op)s(erator,)h(e.g.,)h(`)p
+5340 y(command)e(to)i(the)f(op)s(erator,)h(e.g.,)h(`)p
Fy(Mon)i(May)f(26)h(20:10:24)e(1997:)h(ncks)g(in.nc)g(foo.nc)p
-FD('.)38 b(The)25 b(full)150 3744 y(con)m(ten)m(ts)30
-b(of)f(an)f(existing)i Fy(history)c FD(attribute)j(are)g(copied)g(from)
-f(the)g(\014rst)g Fz(input-\014le)33 b FD(to)c(the)g
-Fz(output-)150 3853 y(\014le)p FD(.)39 b(The)25 b(timestamps)h(app)s
-(ear)f(in)h(rev)m(erse)g(c)m(hronological)i(order,)f(with)e(the)h(most)
-g(recen)m(t)g(timestamp)150 3963 y(app)s(earing)37 b(\014rst)h(in)f
-(the)h Fy(history)e FD(attribute.)64 b(Since)38 b FC(NCO)f
-FD(and)g(man)m(y)h(other)g(netCDF)h(op)s(erators)150
-4073 y(adhere)33 b(to)h(the)g Fy(history)d FD(con)m(v)m(en)m(tion,)36
-b(the)e(en)m(tire)g(data)g(pro)s(cessing)f(path)g(of)h(a)g(giv)m(en)g
-(netCDF)g(\014le)150 4182 y(ma)m(y)h(often)g(b)s(e)e(deduced)h(from)g
-(examination)h(of)g(its)f Fy(history)f FD(attribute.)53
-b(As)34 b(of)h(Ma)m(y)-8 b(,)37 b(2002,)g FC(NCO)150
-4292 y FD(is)f(case-insensitiv)m(e)i(to)f(the)f(sp)s(elling)g(of)g(the)
-g Fy(history)e FD(attribute)j(name.)57 b(Th)m(us)35 b(attributes)h
-(named)150 4401 y Fy(History)20 b FD(or)j Fy(HISTORY)d
-FD(\(whic)m(h)j(are)g(non-standard)e(and)h(not)h(recommended\))f(will)h
-(b)s(e)e(treated)j(as)f(v)-5 b(alid)150 4511 y(history)40
-b(attributes.)71 b(When)40 b(more)g(than)g(one)h(global)g(attribute)g
-(\014ts)f(the)h(case-insensitiv)m(e)h(searc)m(h)150 4620
-y(for)e Fy(")p FD(history)p Fy(")p FD(,)i(the)e(\014rst)f(one)h(found)e
-(will)j(b)s(e)e(used.)68 b Fy(history)38 b FD(attribute)j(T)-8
-b(o)40 b(a)m(v)m(oid)i(information)150 4730 y(o)m(v)m(erkill,)g(all)c
-(op)s(erators)g(ha)m(v)m(e)h(an)e(optional)i(switc)m(h)f(\(`)p
+FD('.)38 b(The)25 b(full)p eop end
+%%Page: 98 104
+TeXDict begin 98 103 bop 150 -116 a FD(98)2627 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y(con)m(ten)m(ts)g(of)f(an)f
+(existing)i Fy(history)c FD(attribute)j(are)g(copied)g(from)f(the)g
+(\014rst)g Fz(input-\014le)33 b FD(to)c(the)g Fz(output-)150
+408 y(\014le)p FD(.)39 b(The)25 b(timestamps)h(app)s(ear)f(in)h(rev)m
+(erse)g(c)m(hronological)i(order,)f(with)e(the)h(most)g(recen)m(t)g
+(timestamp)150 518 y(app)s(earing)37 b(\014rst)h(in)f(the)h
+Fy(history)e FD(attribute.)64 b(Since)38 b FC(NCO)f FD(and)g(man)m(y)h
+(other)g(netCDF)h(op)s(erators)150 628 y(adhere)33 b(to)h(the)g
+Fy(history)d FD(con)m(v)m(en)m(tion,)36 b(the)e(en)m(tire)g(data)g(pro)
+s(cessing)f(path)g(of)h(a)g(giv)m(en)g(netCDF)g(\014le)150
+737 y(ma)m(y)h(often)g(b)s(e)e(deduced)h(from)g(examination)h(of)g(its)
+f Fy(history)f FD(attribute.)53 b(As)34 b(of)h(Ma)m(y)-8
+b(,)37 b(2002,)g FC(NCO)150 847 y FD(is)f(case-insensitiv)m(e)i(to)f
+(the)f(sp)s(elling)g(of)g(the)g Fy(history)e FD(attribute)j(name.)57
+b(Th)m(us)35 b(attributes)h(named)150 956 y Fy(History)20
+b FD(or)j Fy(HISTORY)d FD(\(whic)m(h)j(are)g(non-standard)e(and)h(not)h
+(recommended\))f(will)h(b)s(e)e(treated)j(as)f(v)-5 b(alid)150
+1066 y(history)40 b(attributes.)71 b(When)40 b(more)g(than)g(one)h
+(global)g(attribute)g(\014ts)f(the)h(case-insensitiv)m(e)h(searc)m(h)
+150 1176 y(for)e(\\history",)k(the)c(\014rst)f(one)i(found)e(will)h(b)s
+(e)g(used.)69 b Fy(history)38 b FD(attribute)j(T)-8 b(o)41
+b(a)m(v)m(oid)h(information)150 1285 y(o)m(v)m(erkill,)g(all)c(op)s
+(erators)g(ha)m(v)m(e)h(an)e(optional)i(switc)m(h)f(\(`)p
Fy(-h)p FD(',)h(`)p Fy(--hst)p FD(',)g(or)f(`)p Fy(--history)p
-FD('\))e(to)i(o)m(v)m(erride)150 4840 y(automatically)29
+FD('\))e(to)i(o)m(v)m(erride)150 1395 y(automatically)29
b(app)s(ending)24 b(the)i Fy(history)e FD(attribute)i(\(see)h(Section)g
-(4.2)g([ncatted)g(netCDF)f(A)m(ttribute)150 4949 y(Editor],)35
+(4.2)g([ncatted)g(netCDF)f(A)m(ttribute)150 1504 y(Editor],)35
b(page)f(156\).)53 b(Note)35 b(that)f(the)g(`)p Fy(-h)p
FD(')f(switc)m(h)h(also)h(turns)d(o\013)j(writing)e(the)h
-Fy(nco_input_file_)150 5059 y(list)29 b FD(attribute)i(for)f(m)m
+Fy(nco_input_file_)150 1614 y(list)29 b FD(attribute)i(for)f(m)m
(ulti-\014le)i(op)s(erators)e(\(see)i(Section)f(3.36)h([File)g(List)e
-(A)m(ttributes],)i(page)f(97\).)150 5290 y FB(3.36)68
-b(File)46 b(List)f(A)l(ttributes)p eop end
-%%Page: 98 104
-TeXDict begin 98 103 bop 150 -116 a FD(98)2627 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 51 y Fk(\013)p 200 51 3554
-4 v 3553 w(\010)p 150 541 4 442 v 178 188 a FD(Av)-5
-b(ailabilit)m(y:)43 b Fy(nces)p FD(,)30 b Fy(ncecat)p
-FD(,)f Fy(ncra)p FD(,)g Fy(ncrcat)178 297 y FD(Short)h(options:)41
-b(`)p Fy(-H)p FD(')178 407 y(Long)31 b(options:)41 b(`)p
-Fy(--fl_lst_in)p FD(',)28 b(`)p Fy(--file_list)p FD(')p
-3803 541 V 150 593 a Fk(\012)p 200 593 3554 4 v 3553
-w(\011)275 763 y FD(Man)m(y)41 b(metho)s(ds)g(of)g(sp)s(ecifying)g
-(large)h(n)m(um)m(b)s(ers)e(of)h(input)g(\014le)g(names)g(pass)g(these)
-g(names)g(via)150 873 y(pip)s(es,)29 b(enco)s(dings,)g(or)h(argumen)m
-(t)g(transfer)e(programs)h(\(see)i(Section)f(2.7)g([Large)h(Num)m(b)s
-(ers)d(of)h(Files],)150 983 y(page)34 b(19\).)52 b(When)34
-b(these)g(metho)s(ds)f(are)h(used,)g(the)g(input)f(\014le)h(list)g(is)g
-(not)g(explicitly)h(passed)e(on)h(the)150 1092 y(command)e(line.)48
-b(This)32 b(results)g(in)g(a)h(loss)g(of)g(information)f(since)h(the)g
-Fy(history)e FD(attribute)i(no)f(longer)150 1202 y(con)m(tains)g(the)e
+(A)m(ttributes],)i(page)f(98\).)150 1989 y FB(3.36)68
+b(File)46 b(List)f(A)l(ttributes)150 2099 y Fk(\013)p
+200 2099 3554 4 v 3553 w(\010)p 150 2589 4 442 v 178
+2235 a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(nces)p FD(,)30
+b Fy(ncecat)p FD(,)f Fy(ncra)p FD(,)g Fy(ncrcat)178 2345
+y FD(Short)h(options:)41 b(`)p Fy(-H)p FD(')178 2454
+y(Long)31 b(options:)41 b(`)p Fy(--fl_lst_in)p FD(',)28
+b(`)p Fy(--file_list)p FD(')p 3803 2589 V 150 2640 a
+Fk(\012)p 200 2640 3554 4 v 3553 w(\011)275 2858 y FD(Man)m(y)41
+b(metho)s(ds)g(of)g(sp)s(ecifying)g(large)h(n)m(um)m(b)s(ers)e(of)h
+(input)g(\014le)g(names)g(pass)g(these)g(names)g(via)150
+2968 y(pip)s(es,)29 b(enco)s(dings,)g(or)h(argumen)m(t)g(transfer)e
+(programs)h(\(see)i(Section)f(2.7)g([Large)h(Num)m(b)s(ers)d(of)h
+(Files],)150 3077 y(page)34 b(19\).)52 b(When)34 b(these)g(metho)s(ds)f
+(are)h(used,)g(the)g(input)f(\014le)h(list)g(is)g(not)g(explicitly)h
+(passed)e(on)h(the)150 3187 y(command)e(line.)48 b(This)32
+b(results)g(in)g(a)h(loss)g(of)g(information)f(since)h(the)g
+Fy(history)e FD(attribute)i(no)f(longer)150 3296 y(con)m(tains)g(the)e
(exact)i(command)e(b)m(y)g(whic)m(h)h(the)f(\014le)h(w)m(as)f(created.)
-275 1361 y FC(NCO)g FD(solv)m(es)i(this)e(dilemma)h(b)m(y)g(arc)m
+275 3503 y FC(NCO)g FD(solv)m(es)i(this)e(dilemma)h(b)m(y)g(arc)m
(hiving)g(input)f(\014le)h(list)g(attributes.)42 b(When)31
-b(the)g(input)f(\014le)g(list)150 1471 y(to)g(a)g(m)m(ulti-\014le)g(op)
+b(the)g(input)f(\014le)g(list)150 3613 y(to)g(a)g(m)m(ulti-\014le)g(op)
s(erator)g(is)g(sp)s(eci\014ed)e(via)j Fy(stdin)p FD(,)d(the)i(op)s
(erator,)g(b)m(y)f(default,)h(attac)m(hes)i(t)m(w)m(o)f(global)150
-1581 y(attributes)f(to)h(an)m(y)f(\014le)f(they)h(create)h(or)f(mo)s
+3722 y(attributes)f(to)h(an)m(y)f(\014le)f(they)h(create)h(or)f(mo)s
(dify)-8 b(.)40 b(The)29 b Fy(nco_input_file_number)24
-b FD(global)31 b(attribute)150 1690 y(con)m(tains)45
+b FD(global)31 b(attribute)150 3832 y(con)m(tains)45
b(the)g(n)m(um)m(b)s(er)e(of)h(input)f(\014les,)48 b(and)c
Fy(nco_input_file_list)39 b FD(con)m(tains)45 b(the)f(\014le)h(names,)
-150 1800 y(sp)s(eci\014ed)28 b(as)h(standard)f(input)g(to)h(the)g(m)m
+150 3942 y(sp)s(eci\014ed)28 b(as)h(standard)f(input)g(to)h(the)g(m)m
(ulti-\014le)h(op)s(erator.)40 b(This)28 b(information)h(helps)g(to)g
-(v)m(erify)g(that)150 1909 y(all)e(input)f(\014les)g(the)h(user)f
+(v)m(erify)g(that)150 4051 y(all)e(input)f(\014les)g(the)h(user)f
(thinks)g(w)m(ere)h(pip)s(ed)e(through)g Fy(stdin)g FD(actually)k
-(arriv)m(ed.)39 b(Without)27 b(the)g Fy(nco_)150 2019
+(arriv)m(ed.)39 b(Without)27 b(the)g Fy(nco_)150 4161
y(input_file_list)37 b FD(attribute,)46 b(the)c(information)g(is)f
(lost)i(forev)m(er)f(and)f(the)h(\\c)m(hain)h(of)f(evidence")150
-2129 y(w)m(ould)30 b(b)s(e)g(brok)m(en.)275 2288 y(The)36
+4270 y(w)m(ould)30 b(b)s(e)g(brok)m(en.)275 4477 y(The)36
b(`)p Fy(-H)p FD(')g(switc)m(h)h(o)m(v)m(errides)h(\(turns)d(o\013)7
b(\))38 b(the)e(default)h(b)s(eha)m(vior)g(of)g(writing)f(the)h(input)f
-(\014le)g(list)150 2398 y(global)h(attributes)g(when)e(input)g(is)h
+(\014le)g(list)150 4587 y(global)h(attributes)g(when)e(input)g(is)h
(from)g Fy(stdin)p FD(.)56 b(The)36 b(`)p Fy(-h)p FD(')g(switc)m(h)g
-(do)s(es)g(this)g(to)s(o,)i(and)e(turns)f(o\013)150 2508
+(do)s(es)g(this)g(to)s(o,)i(and)e(turns)f(o\013)150 4696
y(the)e Fy(history)f FD(attribute)i(as)f(w)m(ell)h(\(see)h(Section)f
(3.35)g([History)h(A)m(ttribute],)g(page)f(97\).)51 b(Hence)34
-b(b)s(oth)150 2617 y(switc)m(hes)25 b(allo)m(ws)h(space-conscious)h
+b(b)s(oth)150 4806 y(switc)m(hes)25 b(allo)m(ws)h(space-conscious)h
(users)d(to)h(a)m(v)m(oid)h(storing)g(what)e(ma)m(y)i(amoun)m(t)f(to)g
-(man)m(y)g(thousands)150 2727 y(of)31 b(\014lenames)f(in)g(a)h
-(metadata)h(attribute.)150 2960 y FB(3.37)68 b Fu(CF)45
-b FB(Con)l(v)l(en)l(tions)150 3071 y Fk(\013)p 200 3071
-V 3553 w(\010)p 150 3451 4 333 v 178 3207 a FD(Av)-5
-b(ailabilit)m(y:)43 b Fy(ncbo)p FD(,)30 b Fy(nces)p FD(,)f
-Fy(ncecat)p FD(,)g Fy(ncflint)p FD(,)g Fy(ncpdq)p FD(,)g
-Fy(ncra)p FD(,)h Fy(ncwa)178 3316 y FD(Short)g(options:)41
-b(None)p 3803 3451 V 150 3502 a Fk(\012)p 200 3502 3554
-4 v 3553 w(\011)275 3678 y FC(NCO)i FD(recognizes)i(some)f(Climate)h
-(and)d(F)-8 b(orecast)46 b(\()p FC(CF)p FD(\))f(metadata)g(con)m(v)m
-(en)m(tions,)k(and)43 b(applies)150 3788 y(sp)s(ecial)e(rules)g(to)g
-(suc)m(h)f(data.)73 b FC(NCO)40 b FD(w)m(as)h(con)m(temp)s(oraneous)h
-(with)e FC(CO)n(ARDS)h FD(and)f(still)i(con)m(tains)150
-3897 y(some)33 b(rules)f(to)h(handle)f(older)h FC(NCAR)g
-FD(mo)s(del)f(datasets,)j(suc)m(h)d(as)h FC(CCM)f FD(and)g(early)h
-FC(CCSM)g FD(datasets,)150 4007 y(that)g(pre-date)g FC(CF)p
-FD(.)46 b(Suc)m(h)32 b(datasets)i(ma)m(y)f(not)f(con)m(tain)i(an)e
-(explicit)i Fy(Conventions)29 b FD(attribute)k(\(e.g.,)150
-4116 y(`)p Fy(CF-1.0)p FD('\).)56 b(Nev)m(ertheless,)39
-b(w)m(e)d(refer)f(to)h(all)h(suc)m(h)e(metadata)j(collectiv)m(ely)h(as)
-d FC(CF)g FD(metadata.)58 b(Skip)150 4226 y(this)30 b(section)i(if)e(y)
-m(ou)h(nev)m(er)g(w)m(ork)f(with)g FC(CF)h FD(metadata.)275
-4386 y(The)k(latest)j FC(CF)f FD(netCDF)g(con)m(v)m(en)m(tions)h(are)f
+(man)m(y)g(thousands)150 4915 y(of)31 b(\014lenames)f(in)g(a)h
+(metadata)h(attribute.)150 5290 y FB(3.37)68 b Fu(CF)45
+b FB(Con)l(v)l(en)l(tions)p eop end
+%%Page: 99 105
+TeXDict begin 99 104 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2475 b(99)150 51 y Fk(\013)p
+200 51 3554 4 v 3553 w(\010)p 150 432 4 333 v 178 188
+a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncbo)p FD(,)30 b
+Fy(nces)p FD(,)f Fy(ncecat)p FD(,)g Fy(ncflint)p FD(,)g
+Fy(ncpdq)p FD(,)g Fy(ncra)p FD(,)h Fy(ncwa)178 297 y
+FD(Short)g(options:)41 b(None)p 3803 432 V 150 483 a
+Fk(\012)p 200 483 3554 4 v 3553 w(\011)275 678 y FC(NCO)i
+FD(recognizes)i(some)f(Climate)h(and)d(F)-8 b(orecast)46
+b(\()p FC(CF)p FD(\))f(metadata)g(con)m(v)m(en)m(tions,)k(and)43
+b(applies)150 787 y(sp)s(ecial)e(rules)g(to)g(suc)m(h)f(data.)73
+b FC(NCO)40 b FD(w)m(as)h(con)m(temp)s(oraneous)h(with)e
+FC(CO)n(ARDS)h FD(and)f(still)i(con)m(tains)150 897 y(some)33
+b(rules)f(to)h(handle)f(older)h FC(NCAR)g FD(mo)s(del)f(datasets,)j
+(suc)m(h)d(as)h FC(CCM)f FD(and)g(early)h FC(CCSM)g FD(datasets,)150
+1006 y(that)g(pre-date)g FC(CF)p FD(.)46 b(Suc)m(h)32
+b(datasets)i(ma)m(y)f(not)f(con)m(tain)i(an)e(explicit)i
+Fy(Conventions)29 b FD(attribute)k(\(e.g.,)150 1116 y(`)p
+Fy(CF-1.0)p FD('\).)56 b(Nev)m(ertheless,)39 b(w)m(e)d(refer)f(to)h
+(all)h(suc)m(h)e(metadata)j(collectiv)m(ely)h(as)d FC(CF)g
+FD(metadata.)58 b(Skip)150 1226 y(this)30 b(section)i(if)e(y)m(ou)h
+(nev)m(er)g(w)m(ork)f(with)g FC(CF)h FD(metadata.)275
+1404 y(The)k(latest)j FC(CF)f FD(netCDF)g(con)m(v)m(en)m(tions)h(are)f
(describ)s(ed)e(here)h(\()p Fy(http:)5 b(/)g(/)t(cfconventions)g(.)t
-(org)t(/)150 4495 y(1)q(.)q(6)q(.)q(html)p FD(\).)44
+(org)t(/)150 1514 y(1)q(.)q(6)q(.)q(html)p FD(\).)44
b(Most)33 b FC(CF)e FD(netCDF)i(con)m(v)m(en)m(tions)h(are)e
-(transparen)m(t)g(to)h FC(NCO)2807 4462 y Ft(29)2877
-4495 y FD(.)45 b(There)31 b(are)i(no)e(kno)m(wn)150 4605
+(transparen)m(t)g(to)h FC(NCO)2807 1481 y Ft(30)2877
+1514 y FD(.)45 b(There)31 b(are)i(no)e(kno)m(wn)150 1623
y(pitfalls)38 b(asso)s(ciated)h(with)e(using)g(an)m(y)g
FC(NCO)g FD(op)s(erator)h(on)f(\014les)g(adhering)g(to)i(these)e(con)m
-(v)m(en)m(tions)3652 4572 y Ft(30)3725 4605 y FD(.)p
-150 4702 1200 4 v 166 4769 a Ft(29)298 4801 y Fs(The)23
-b(exception)g(is)h(app)r(ending/altering)h(the)e(attributes)g
-Fr(x_op)p Fs(,)i Fr(y_op)p Fs(,)g Fr(z_op)p Fs(,)g(and)e
-Fr(t_op)h Fs(for)g(v)l(ariables)g(whic)n(h)g(ha)n(v)n(e)275
-4888 y(b)r(een)f(a)n(v)n(eraged)g(across)i(space)f(and)f(time)h
-(dimensions.)35 b(This)24 b(feature)g(is)g(sc)n(heduled)f(for)h(future)
-f(inclusion)h(in)g Fp(NCO)p Fs(.)166 4960 y Ft(30)308
-4991 y Fs(The)33 b Fp(CF)g Fs(con)n(v)n(en)n(tions)g(recommend)g
-Fr(time)h Fs(b)r(e)f(stored)g(in)g(the)g(format)h Fm(time)j
-Fs(since)d Fm(base)p 3008 4991 24 4 v 34 w(time)p Fs(,)i(e.g.,)g(the)d
-Fr(units)275 5078 y Fs(attribute)k(of)h Fr(time)h Fs(migh)n(t)e(b)r(e)h
-(`)p Fr(days)27 b(since)f(1992-10-8)i(15:15:42.5)g(-6:00)p
-Fs('.)71 b(A)26 b(problem)37 b(with)h(this)g(format)275
-5166 y(o)r(ccurs)30 b(when)g(using)g Fr(ncrcat)h Fs(to)f(concatenate)h
-(m)n(ultiple)f(\014les,)i(eac)n(h)e(with)g(a)g(di\013eren)n(t)g
-Fm(base)p 3084 5166 V 34 w(time)p Fs(.)47 b(That)31 b(is,)h(an)n(y)275
-5253 y Fr(time)f Fs(v)l(alues)h(from)f(\014les)h(follo)n(wing)h(the)e
-(\014rst)g(\014le)g(to)g(b)r(e)g(concatenated)h(should)f(b)r(e)g
-(corrected)g(to)g(the)g Fm(base)p 3567 5253 V 34 w(time)275
-5340 y Fs(o\013set)26 b(sp)r(eci\014ed)g(in)g(the)g Fr(units)h
-Fs(attribute)f(of)h Fr(time)g Fs(from)g(the)f(\014rst)g(\014le.)36
-b(The)26 b(analogous)i(problem)f(has)f(b)r(een)g(\014xed)p
-eop end
-%%Page: 99 105
-TeXDict begin 99 104 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2475 b(99)150 299 y(Ho)m(w)m(ev)m(er,)31
-b(to)e(facilitate)i(maxim)m(um)e(user)e(friendliness,)i
-FC(NCO)f FD(applies)g(sp)s(ecial)h(rules)f(to)h(certain)g(v)-5
-b(ari-)150 408 y(ables)27 b(in)f FC(CF)g FD(\014les.)40
-b(The)26 b(sp)s(ecial)h(functions)f(are)h(not)f(required)g(b)m(y)g(the)
-h FC(CF)f FD(netCDF)h(con)m(v)m(en)m(tions,)j(y)m(et)150
-518 y(exp)s(erience)h(sho)m(ws)f(that)h(they)f(simplify)g(data)h
-(analysis.)275 696 y(Curren)m(tly)-8 b(,)26 b FC(NCO)e
-FD(determines)h(whether)g(a)g(data\014le)h(is)f(a)h FC(CF)f
-FD(output)g(data\014le)h(simply)e(b)m(y)h(c)m(hec)m(king)150
-805 y(\(case-insensitiv)m(ely\))38 b(whether)c(the)g(v)-5
+(v)m(en)m(tions)3652 1590 y Ft(31)3725 1623 y FD(.)150
+1733 y(Ho)m(w)m(ev)m(er,)31 b(to)e(facilitate)i(maxim)m(um)e(user)e
+(friendliness,)i FC(NCO)f FD(applies)g(sp)s(ecial)h(rules)f(to)h
+(certain)g(v)-5 b(ari-)150 1842 y(ables)27 b(in)f FC(CF)g
+FD(\014les.)40 b(The)26 b(sp)s(ecial)h(functions)f(are)h(not)f
+(required)g(b)m(y)g(the)h FC(CF)f FD(netCDF)h(con)m(v)m(en)m(tions,)j
+(y)m(et)150 1952 y(exp)s(erience)h(sho)m(ws)f(that)h(they)f(simplify)g
+(data)h(analysis.)275 2130 y(Curren)m(tly)-8 b(,)26 b
+FC(NCO)e FD(determines)h(whether)g(a)g(data\014le)h(is)f(a)h
+FC(CF)f FD(output)g(data\014le)h(simply)e(b)m(y)h(c)m(hec)m(king)150
+2240 y(\(case-insensitiv)m(ely\))38 b(whether)c(the)g(v)-5
b(alue)35 b(of)g(the)f(global)i(attribute)f Fy(Conventions)d
-FD(\(if)i(an)m(y\))i(equals)150 915 y(`)p Fy(CF-1.0)p
+FD(\(if)i(an)m(y\))i(equals)150 2350 y(`)p Fy(CF-1.0)p
FD(')e(or)i(`)p Fy(NCAR-CSM)p FD(')e(Should)g Fy(Conventions)e
FD(equal)k(either)g(of)g(these)g(in)f(the)h(\(\014rst\))f
-Fz(input-\014le)p FD(,)150 1024 y FC(NCO)28 b FD(will)h(apply)f(sp)s
+Fz(input-\014le)p FD(,)150 2459 y FC(NCO)28 b FD(will)h(apply)f(sp)s
(ecial)h(rules)e(to)j(certain)f(v)-5 b(ariables)29 b(b)s(ecause)f(of)h
(their)f(usual)g(meaning)g(in)g FC(CF)h FD(\014les.)150
-1134 y FC(NCO)39 b FD(will)h(not)g(a)m(v)m(erage)j(the)c(follo)m(wing)j
+2569 y FC(NCO)39 b FD(will)h(not)g(a)m(v)m(erage)j(the)c(follo)m(wing)j
(v)-5 b(ariables)40 b(often)g(found)e(in)i FC(CF)f FD(\014les:)60
b Fy(ntrm)p FD(,)41 b Fy(ntrn)p FD(,)g Fy(ntrk)p FD(,)150
-1244 y Fy(ndbase)p FD(,)27 b Fy(nsbase)p FD(,)g Fy(nbdate)p
+2678 y Fy(ndbase)p FD(,)27 b Fy(nsbase)p FD(,)g Fy(nbdate)p
FD(,)g Fy(nbsec)p FD(,)h Fy(mdt)p FD(,)g Fy(mhisf)p FD(.)38
b(These)28 b(v)-5 b(ariables)29 b(con)m(tain)g(scalar)g(metadata)h(suc)
-m(h)150 1353 y(as)25 b(the)g(resolution)g(of)g(the)g(host)f(geoph)m
+m(h)150 2788 y(as)25 b(the)g(resolution)g(of)g(the)g(host)f(geoph)m
(ysical)j(mo)s(del)e(and)f(it)h(mak)m(es)g(no)g(sense)f(to)i(c)m(hange)
-g(their)e(v)-5 b(alues.)275 1531 y(F)d(urthermore,)39
+g(their)e(v)-5 b(alues.)275 2966 y(F)d(urthermore,)39
b(the)f Fz(size)g(and)f(rank-preserving)g(arithmetic)h(op)s(erators)k
-FD(try)37 b(not)h(to)g(op)s(erate)g(on)150 1640 y(certain)28
+FD(try)37 b(not)h(to)g(op)s(erate)g(on)150 3076 y(certain)28
b(grid)f(prop)s(erties.)39 b(These)26 b(op)s(erators)h(are)h
Fy(ncap2)p FD(,)e Fy(ncbo)p FD(,)h Fy(nces)p FD(,)g Fy(ncflint)p
-FD(,)f(and)g Fy(ncpdq)g FD(\(when)150 1750 y(used)f(for)g(pac)m(king,)j
+FD(,)f(and)g Fy(ncpdq)g FD(\(when)150 3186 y(used)f(for)g(pac)m(king,)j
(not)d(for)h(p)s(erm)m(utation\).)39 b(These)25 b(op)s(erators)h(do)f
(not)h(op)s(erate,)i(b)m(y)d(default,)i(on)e(\(i.e.,)150
-1859 y(add,)e(subtract,)g(pac)m(k,)i(etc.\))39 b(the)22
+3295 y(add,)e(subtract,)g(pac)m(k,)i(etc.\))39 b(the)22
b(follo)m(wing)h(v)-5 b(ariables:)37 b Fy(ORO)p FD(,)22
b Fy(area)p FD(,)h Fy(datesec)p FD(,)e Fy(date)p FD(,)i
-Fy(gw)p FD(,)f Fy(hyai)p FD(,)h Fy(hyam)p FD(,)150 1969
+Fy(gw)p FD(,)f Fy(hyai)p FD(,)h Fy(hyam)p FD(,)150 3405
y Fy(hybi)p FD(.)44 b Fy(hybm)p FD(,)31 b Fy(lat_bnds)p
FD(,)f Fy(lon_bnds)p FD(,)g Fy(msk_*)p FD(.)43 b(These)31
b(v)-5 b(ariables)33 b(represen)m(t)f(the)f(Gaussian)h(w)m(eigh)m(ts,)
-150 2079 y(the)23 b(orograph)m(y)g(\014eld,)h(time)f(\014elds,)h(h)m
+150 3514 y(the)23 b(orograph)m(y)g(\014eld,)h(time)f(\014elds,)h(h)m
(ybrid)e(pressure)f(co)s(e\016cien)m(ts,)26 b(and)c
-(latititude/longitude)k(b)s(ound-)150 2188 y(aries.)57
+(latititude/longitude)k(b)s(ound-)150 3624 y(aries.)57
b(W)-8 b(e)37 b(call)g(these)f(\014elds)f(non-co)s(ordinate)i
Fz(grid)e(prop)s(erties)p FD(.)56 b(Co)s(ordinate)36
-b(grid)f(prop)s(erties)h(are)150 2298 y(easy)31 b(to)g(iden)m(tify)g(b)
+b(grid)f(prop)s(erties)h(are)150 3734 y(easy)31 b(to)g(iden)m(tify)g(b)
s(ecause)f(they)h(are)g(co)s(ordinate)g(v)-5 b(ariables)31
b(suc)m(h)f(as)h Fy(latitude)d FD(and)h Fy(longitude)p
-FD(.)275 2475 y(Users)39 b(usually)h(w)m(an)m(t)h Fo(al)5
+FD(.)275 3912 y(Users)39 b(usually)h(w)m(an)m(t)h Fo(al)5
b(l)50 b FD(grid)40 b(prop)s(erties)g(to)g(remain)g(unaltered)g(in)g
(the)g(output)g(\014le.)70 b(T)-8 b(o)41 b(b)s(e)150
-2585 y(treated)31 b(as)f(a)g(grid)f(prop)s(ert)m(y)-8
+4022 y(treated)31 b(as)f(a)g(grid)f(prop)s(ert)m(y)-8
b(,)30 b(the)g(v)-5 b(ariable)30 b(name)g(m)m(ust)f Fo(exactly)39
b FD(matc)m(h)30 b(a)g(name)g(in)f(the)h(ab)s(o)m(v)m(e)h(list,)150
-2694 y(or)41 b(b)s(e)f(a)i(co)s(ordinate)g(v)-5 b(ariable.)73
+4131 y(or)41 b(b)s(e)f(a)i(co)s(ordinate)g(v)-5 b(ariable.)73
b(The)40 b(handling)h(of)g Fy(msk_*)e FD(is)i(exceptional)i(in)e(that)g
-Fo(any)50 b FD(v)-5 b(ariable)150 2804 y(name)36 b(b)s(eginning)f(with)
+Fo(any)50 b FD(v)-5 b(ariable)150 4241 y(name)36 b(b)s(eginning)f(with)
g(the)h(string)g Fy(msk_)f FD(is)h(considered)f(to)i(b)s(e)e(a)h
-(\\mask")h(and)e(is)h(th)m(us)f(preserv)m(ed)150 2914
-y(\(not)c(op)s(erated)f(on)h(arithmetically\).)275 3091
-y(Y)-8 b(ou)40 b(m)m(ust)f(sp)s(o)s(of)g FC(NCO)h FD(if)f(y)m(ou)h(w)m
-(ould)g(lik)m(e)h(an)m(y)f(grid)f(prop)s(erties)h(or)f(other)h(sp)s
-(ecial)h FC(CF)e FD(\014elds)150 3201 y(pro)s(cessed)g(normally)-8
-b(.)69 b(F)-8 b(or)40 b(example)g(rename)f(the)h(v)-5
-b(ariables)40 b(\014rst)f(with)g Fy(ncrename)p FD(,)h(or)f(alter)i(the)
-150 3310 y Fy(Conventions)27 b FD(attribute.)275 3488
-y(As)i(of)h FC(NCO)g FD(v)m(ersion)h(4.0.8)g(\(April,)g(2011\),)h
-FC(NCO)e FD(supp)s(orts)e(the)i FC(CF)g Fy(bounds)e FD(con)m(v)m(en)m
-(tion)k(for)e(cell)150 3597 y(b)s(oundaries)37 b(describ)s(ed)h(here)g
-(\()p Fy(http:)7 b(/)g(/)e(cfconventions)i(.)e(org)h(/)f(1)i(.)t(6)g(.)
-e(ht)o(ml)i(#)t(cell)o(-bou)o(nda)o(ries)o FD(\).)150
-3707 y(This)43 b(con)m(v)m(en)m(tion)i(allo)m(ws)g(co)s(ordinate)f(v)-5
+(\\mask")h(and)e(is)h(th)m(us)f(preserv)m(ed)150 4350
+y(\(not)c(op)s(erated)f(on)h(arithmetically\).)p 150
+4528 1200 4 v 166 4595 a Ft(30)298 4627 y Fs(The)23 b(exception)g(is)h
+(app)r(ending/altering)h(the)e(attributes)g Fr(x_op)p
+Fs(,)i Fr(y_op)p Fs(,)g Fr(z_op)p Fs(,)g(and)e Fr(t_op)h
+Fs(for)g(v)l(ariables)g(whic)n(h)g(ha)n(v)n(e)275 4714
+y(b)r(een)f(a)n(v)n(eraged)g(across)i(space)f(and)f(time)h(dimensions.)
+35 b(This)24 b(feature)g(is)g(sc)n(heduled)f(for)h(future)f(inclusion)h
+(in)g Fp(NCO)p Fs(.)166 4785 y Ft(31)308 4817 y Fs(The)33
+b Fp(CF)g Fs(con)n(v)n(en)n(tions)g(recommend)g Fr(time)h
+Fs(b)r(e)f(stored)g(in)g(the)g(format)h Fm(time)j Fs(since)d
+Fm(base)p 3008 4817 24 4 v 34 w(time)p Fs(,)i(e.g.,)g(the)d
+Fr(units)275 4904 y Fs(attribute)k(of)h Fr(time)h Fs(migh)n(t)e(b)r(e)h
+(`)p Fr(days)27 b(since)f(1992-10-8)i(15:15:42.5)g(-6:00)p
+Fs('.)71 b(A)26 b(problem)37 b(with)h(this)g(format)275
+4991 y(o)r(ccurs)30 b(when)g(using)g Fr(ncrcat)h Fs(to)f(concatenate)h
+(m)n(ultiple)f(\014les,)i(eac)n(h)e(with)g(a)g(di\013eren)n(t)g
+Fm(base)p 3084 4991 V 34 w(time)p Fs(.)47 b(That)31 b(is,)h(an)n(y)275
+5078 y Fr(time)f Fs(v)l(alues)h(from)f(\014les)h(follo)n(wing)h(the)e
+(\014rst)g(\014le)g(to)g(b)r(e)g(concatenated)h(should)f(b)r(e)g
+(corrected)g(to)g(the)g Fm(base)p 3567 5078 V 34 w(time)275
+5166 y Fs(o\013set)26 b(sp)r(eci\014ed)g(in)g(the)g Fr(units)h
+Fs(attribute)f(of)h Fr(time)g Fs(from)g(the)f(\014rst)g(\014le.)36
+b(The)26 b(analogous)i(problem)f(has)f(b)r(een)g(\014xed)275
+5253 y(in)h Fp(ARM)g Fs(\014les)h(\(see)g(Section)f(3.38)i([ARM)e(Con)n
+(v)n(en)n(tions],)i(page)f(101\))h(and)e(could)g(b)r(e)h(\014xed)e(for)
+j Fp(CF)e Fs(\014les)h(if)g(there)f(is)275 5340 y(su\016cien)n(t)e
+(lobb)n(ying.)p eop end
+%%Page: 100 106
+TeXDict begin 100 105 bop 150 -116 a FD(100)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(Y)-8 b(ou)40 b(m)m(ust)f(sp)s(o)s
+(of)g FC(NCO)h FD(if)f(y)m(ou)h(w)m(ould)g(lik)m(e)h(an)m(y)f(grid)f
+(prop)s(erties)h(or)f(other)h(sp)s(ecial)h FC(CF)e FD(\014elds)150
+408 y(pro)s(cessed)g(normally)-8 b(.)69 b(F)-8 b(or)40
+b(example)g(rename)f(the)h(v)-5 b(ariables)40 b(\014rst)f(with)g
+Fy(ncrename)p FD(,)h(or)f(alter)i(the)150 518 y Fy(Conventions)27
+b FD(attribute.)275 710 y(As)i(of)h FC(NCO)g FD(v)m(ersion)h(4.0.8)g
+(\(April,)g(2011\),)h FC(NCO)e FD(supp)s(orts)e(the)i
+FC(CF)g Fy(bounds)e FD(con)m(v)m(en)m(tion)k(for)e(cell)150
+819 y(b)s(oundaries)37 b(describ)s(ed)h(here)g(\()p Fy(http:)7
+b(/)g(/)e(cfconventions)i(.)e(org)h(/)f(1)i(.)t(6)g(.)e(ht)o(ml)i(#)t
+(cell)o(-bou)o(nda)o(ries)o FD(\).)150 929 y(This)43
+b(con)m(v)m(en)m(tion)i(allo)m(ws)g(co)s(ordinate)f(v)-5
b(ariables)44 b(\(including)g(m)m(ultidimensional)g(co)s(ordinates\))g
-(to)150 3817 y(describ)s(e)31 b(the)h(b)s(oundaries)f(of)h(their)g
+(to)150 1039 y(describ)s(e)31 b(the)h(b)s(oundaries)f(of)h(their)g
(cells.)47 b(This)31 b(is)h(done)g(b)m(y)f(naming)h(the)g(v)-5
-b(ariable)33 b(whic)m(h)f(con)m(tains)150 3926 y(the)23
+b(ariable)33 b(whic)m(h)f(con)m(tains)150 1148 y(the)23
b(b)s(ounds)e(in)i(in)f(the)i Fy(bounds)d FD(attribute.)39
b(Note)24 b(that)g(co)s(ordinates)g(of)f(rank)f Fv(N)33
-b FD(ha)m(v)m(e)24 b(b)s(ounds)d(of)i(rank)150 4036 y
+b FD(ha)m(v)m(e)24 b(b)s(ounds)d(of)i(rank)150 1258 y
Fv(N)34 b FD(+)24 b(1.)59 b(NCO-generated)38 b(subsets)d(of)i
FC(CF)p FD(-complian)m(t)h(\014les)f(with)f Fy(bounds)e
-FD(attributes)j(will)g(include)150 4145 y(the)28 b(co)s(ordinates)g(sp)
+FD(attributes)j(will)g(include)150 1367 y(the)28 b(co)s(ordinates)g(sp)
s(eci\014ed)e(b)m(y)i(the)f Fy(bounds)f FD(attribute,)j(if)e(an)m(y)-8
b(.)41 b(Hence)28 b(the)f(subsets)g(will)h(themselv)m(es)150
-4255 y(b)s(e)f FC(CF)p FD(-complian)m(t.)42 b(Bounds)27
+1477 y(b)s(e)f FC(CF)p FD(-complian)m(t.)42 b(Bounds)27
b(are)h(sub)5 b(ject)28 b(to)g(the)g(user-sp)s(eci\014ed)f(o)m(v)m
(erride)i(switc)m(hes)f(\(including)g(`)p Fy(-c)p FD(')150
-4365 y(and)i(`)p Fy(-C)p FD('\))g(describ)s(ed)g(in)g(Section)h(3.12)h
+1587 y(and)i(`)p Fy(-C)p FD('\))g(describ)s(ed)g(in)g(Section)h(3.12)h
([Subsetting)e(Co)s(ordinate)h(V)-8 b(ariables],)32 b(page)f(45.)275
-4542 y(As)d(of)g FC(NCO)g FD(v)m(ersion)g(4.4.5)i(\(July)-8
+1778 y(As)d(of)g FC(NCO)g FD(v)m(ersion)g(4.4.5)i(\(July)-8
b(,)29 b(2014\),)i FC(NCO)d FD(supp)s(orts)e(the)i FC(CF)g
-Fy(ancillary_variables)23 b FD(con-)150 4652 y(v)m(en)m(tion)43
+Fy(ancillary_variables)23 b FD(con-)150 1888 y(v)m(en)m(tion)43
b(for)f(describ)s(ed)e(here)i(\()p Fy(http:)9 b(/)g(/)e(cfconventions)i
(.)e(org)i(/)e(1)i(.)e(6)i(.)e(html)i(#)e(anc)o(illa)o(ry-)o(data)o
-FD(\).)150 4761 y(This)31 b(con)m(v)m(en)m(tion)i(allo)m(ws)g
+FD(\).)150 1998 y(This)31 b(con)m(v)m(en)m(tion)i(allo)m(ws)g
(ancillary)f(v)-5 b(ariables)32 b(to)g(b)s(e)f(asso)s(ciated)i(with)e
-(one)g(or)h(more)f(primary)f(v)-5 b(ari-)150 4871 y(ables.)38
+(one)g(or)h(more)f(primary)f(v)-5 b(ari-)150 2107 y(ables.)38
b FC(NCO)23 b FD(attac)m(hes)h(an)m(y)f(suc)m(h)f(v)-5
b(ariables)23 b(to)g(the)g(extraction)h(list)f(along)h(with)e(the)h
-(primary)e(v)-5 b(ariable)150 4980 y(and)33 b(its)i(usual)f
+(primary)e(v)-5 b(ariable)150 2217 y(and)33 b(its)i(usual)f
(\(one-dimensional\))h(co)s(ordinates,)h(if)e(an)m(y)-8
b(.)53 b(Ancillary)35 b(v)-5 b(ariables)35 b(are)f(sub)5
-b(ject)34 b(to)h(the)p 150 5154 1200 4 v 275 5253 a Fs(in)27
-b Fp(ARM)g Fs(\014les)h(\(see)g(Section)f(3.38)i([ARM)e(Con)n(v)n(en)n
-(tions],)i(page)f(100\))h(and)e(could)g(b)r(e)h(\014xed)e(for)j
-Fp(CF)e Fs(\014les)h(if)g(there)f(is)275 5340 y(su\016cien)n(t)e(lobb)n
-(ying.)p eop end
-%%Page: 100 106
-TeXDict begin 100 105 bop 150 -116 a FD(100)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(user-sp)s(eci\014ed)g(o)m(v)m
-(erride)i(switc)m(hes)g(\(including)e(`)p Fy(-c)p FD(')h(and)g(`)p
-Fy(-C)p FD('\))g(describ)s(ed)e(in)i(Section)h(3.12)g([Subset-)150
-408 y(ting)f(Co)s(ordinate)f(V)-8 b(ariables],)33 b(page)e(45.)275
-576 y(As)36 b(of)g FC(NCO)g FD(v)m(ersion)g(3.9.6)i(\(Jan)m(uary)-8
-b(,)39 b(2009\),)h FC(NCO)c FD(supp)s(orts)e(the)i FC(CF)g
-Fy(coordinates)d FD(con)m(v)m(en-)150 686 y(tion)i(describ)s(ed)f(here)
-g(\()p Fy(http:)s(/)s(/)s(cfconventions)s(.)s(org)s(/)s(1)s(.)s(6)s(.)s
-(ht)o(ml)s(#)s(c)o(oord)o(ina)o(te-s)o(yste)o(m)p FD(\).)48
-b(This)150 796 y(con)m(v)m(en)m(tion)41 b(allo)m(ws)e(v)-5
+b(ject)34 b(to)h(the)150 2326 y(user-sp)s(eci\014ed)30
+b(o)m(v)m(erride)i(switc)m(hes)g(\(including)e(`)p Fy(-c)p
+FD(')h(and)g(`)p Fy(-C)p FD('\))g(describ)s(ed)e(in)i(Section)h(3.12)g
+([Subset-)150 2436 y(ting)f(Co)s(ordinate)f(V)-8 b(ariables],)33
+b(page)e(45.)275 2628 y(As)36 b(of)g FC(NCO)g FD(v)m(ersion)g(3.9.6)i
+(\(Jan)m(uary)-8 b(,)39 b(2009\),)h FC(NCO)c FD(supp)s(orts)e(the)i
+FC(CF)g Fy(coordinates)d FD(con)m(v)m(en-)150 2737 y(tion)i(describ)s
+(ed)f(here)g(\()p Fy(http:)s(/)s(/)s(cfconventions)s(.)s(org)s(/)s(1)s
+(.)s(6)s(.)s(ht)o(ml)s(#)s(c)o(oord)o(ina)o(te-s)o(yste)o(m)p
+FD(\).)48 b(This)150 2847 y(con)m(v)m(en)m(tion)41 b(allo)m(ws)e(v)-5
b(ariables)39 b(to)g(sp)s(ecify)f(additional)i(co)s(ordinates)f
-(\(including)f(m)m(ultidimensional)150 905 y(co)s(ordinates\))32
+(\(including)f(m)m(ultidimensional)150 2956 y(co)s(ordinates\))32
b(in)e(a)i(space-separated)g(string)f(attribute)g(named)g
Fy(coordinates)p FD(.)39 b FC(NCO)31 b FD(attac)m(hes)i(an)m(y)150
-1015 y(suc)m(h)f(co)s(ordinates)h(to)f(the)h(extraction)g(list)g(along)
+3066 y(suc)m(h)f(co)s(ordinates)h(to)f(the)h(extraction)g(list)g(along)
g(with)f(v)-5 b(ariable)33 b(and)e(its)i(usual)e(\(one-dimensional\))
-150 1124 y(co)s(ordinates,)38 b(if)e(an)m(y)-8 b(.)58
+150 3176 y(co)s(ordinates,)38 b(if)e(an)m(y)-8 b(.)58
b(These)35 b(auxiliary)i(co)s(ordinates)g(are)f(sub)5
b(ject)35 b(to)i(the)f(user-sp)s(eci\014ed)f(o)m(v)m(erride)150
-1234 y(switc)m(hes)k(\(including)f(`)p Fy(-c)p FD(')g(and)g(`)p
+3285 y(switc)m(hes)k(\(including)f(`)p Fy(-c)p FD(')g(and)g(`)p
Fy(-C)p FD('\))g(describ)s(ed)f(in)h(Section)h(3.12)g([Subsetting)g(Co)
-s(ordinate)f(V)-8 b(ari-)150 1344 y(ables],)31 b(page)g(45.)275
-1512 y(As)e(of)g FC(NCO)g FD(v)m(ersion)h(4.4.2)h(\(F)-8
+s(ordinate)f(V)-8 b(ari-)150 3395 y(ables],)31 b(page)g(45.)275
+3587 y(As)e(of)g FC(NCO)g FD(v)m(ersion)h(4.4.2)h(\(F)-8
b(ebruary)g(,)30 b(2014\),)i FC(NCO)d FD(supp)s(orts)e(some)j(of)f(the)
-h FC(CF)f Fy(cell_methods)150 1621 y FD(con)m(v)m(en)m(tion)35
+h FC(CF)f Fy(cell_methods)150 3696 y FD(con)m(v)m(en)m(tion)35
b(\()p Fy(http:)r(/)r(/)q(cfconventions)r(.)q(org)r(/)q(1)q(.)q(6)r(.)q
(html)q(#)q(cel)o(l-me)o(tho)o(ds)p FD(\))27 b(to)33
-b(describ)s(e)f(the)h(anal-)150 1731 y(ysis)e(pro)s(cedures)g(that)h
+b(describ)s(e)f(the)h(anal-)150 3806 y(ysis)e(pro)s(cedures)g(that)h
(ha)m(v)m(e)g(b)s(een)f(applied)h(to)g(data.)45 b(The)31
b(con)m(v)m(en)m(tion)i(creates)g(\(or)f(app)s(ends)e(to)i(an)150
-1840 y(existing\))38 b Fy(cell_methods)c FD(attribute)k(a)f
+3915 y(existing\))38 b Fy(cell_methods)c FD(attribute)k(a)f
(space-separated)i(list)e(of)h(couplets)f(of)h(the)f(form)f
-Fz(dmn:)53 b(op)150 1950 y FD(where)38 b Fz(dmn)f FD(is)i(a)g
+Fz(dmn:)53 b(op)150 4025 y FD(where)38 b Fz(dmn)f FD(is)i(a)g
(comma-separated)h(list)f(of)g(dimensions)f(previously)g(con)m(tained)i
-(in)e(the)h(v)-5 b(ariable)150 2059 y(that)36 b(ha)m(v)m(e)h(b)s(een)e
+(in)e(the)h(v)-5 b(ariable)150 4134 y(that)36 b(ha)m(v)m(e)h(b)s(een)e
(reduced)g(b)m(y)h(the)f(arithmetic)i(op)s(eration)g
Fz(op)p FD(.)56 b(F)-8 b(or)36 b(example,)i(the)e Fy(cell_methods)150
-2169 y FD(v)-5 b(alue)29 b Fy(time:)g(mean)e FD(sa)m(ys)h(that)h(the)f
+4244 y FD(v)-5 b(alue)29 b Fy(time:)g(mean)e FD(sa)m(ys)h(that)h(the)f
(v)-5 b(ariable)29 b(in)f(question)h(w)m(as)f(a)m(v)m(eraged)i(o)m(v)m
-(er)g(the)e Fy(time)f FD(dimension.)150 2279 y(In)h(suc)m(h)h(cases)h
+(er)g(the)e Fy(time)f FD(dimension.)150 4354 y(In)h(suc)m(h)h(cases)h
Fy(time)d FD(will)j(either)f(b)s(e)f(a)i(scalar)f(v)-5
b(ariable)30 b(or)f(a)g(degenerate)i(dimension)d(or)h(co)s(ordinate.)
-150 2388 y(This)34 b(simply)h(means)f(that)i(it)f(has)g(b)s(een)f(a)m
+150 4463 y(This)34 b(simply)h(means)f(that)i(it)f(has)g(b)s(een)f(a)m
(v)m(eraged-o)m(v)m(er.)58 b(The)35 b(v)-5 b(alue)35
-b Fy(time,)29 b(lon:)g(mean)h(lat:)f(max)150 2498 y FD(sa)m(ys)f(that)f
+b Fy(time,)29 b(lon:)g(mean)h(lat:)f(max)150 4573 y FD(sa)m(ys)f(that)f
(the)h(v)-5 b(ariable)27 b(in)g(question)h(is)f(the)g(maxim)m(um)g
(zonal)h(mean)f(of)g(the)h(time)g(a)m(v)m(eraged)h(original)150
-2607 y(v)-5 b(ariable.)41 b(Whic)m(h)31 b(is)f(to)g(sa)m(y)h(that)f
+4682 y(v)-5 b(ariable.)41 b(Whic)m(h)31 b(is)f(to)g(sa)m(y)h(that)f
(the)g(v)-5 b(ariable)31 b(w)m(as)f(\014rst)g(a)m(v)m(eraged)i(o)m(v)m
-(er)f(time)f(and)g(longitude,)h(and)150 2717 y(then)e(the)h(residual)g
+(er)f(time)f(and)g(longitude,)h(and)150 4792 y(then)e(the)h(residual)g
(latitudinal)g(arra)m(y)h(w)m(as)f(reduced)f(b)m(y)g(c)m(ho)s(osing)i
(the)f(maxim)m(um)f(v)-5 b(alue.)41 b(Since)30 b(the)150
-2827 y Fy(cell)f(methods)22 b FD(con)m(v)m(en)m(tion)27
+4902 y Fy(cell)f(methods)22 b FD(con)m(v)m(en)m(tion)27
b(ma)m(y)e(alter)g(metadata)h(in)e(an)g(undesirable)g(\(or)g(p)s
-(ossibly)g(incorrect\))h(fash-)150 2936 y(ion,)k(w)m(e)g(pro)m(vide)f
+(ossibly)g(incorrect\))h(fash-)150 5011 y(ion,)k(w)m(e)g(pro)m(vide)f
(switc)m(hes)h(to)h(ensure)d(it)i(is)f(alw)m(a)m(ys)i(or)f(nev)m(er)f
(used.)40 b(Use)28 b(long-options)i(`)p Fy(--cll_mth)p
-FD(')150 3046 y(or)25 b(`)p Fy(--cell_methods)p FD(')c(to)k(in)m(v)m
+FD(')150 5121 y(or)25 b(`)p Fy(--cell_methods)p FD(')c(to)k(in)m(v)m
(ok)m(e)i(the)e(algorithm)h(\(true)e(b)m(y)h(default\),)i(and)d
-(options)h(`)p Fy(--no_cll_mth)p FD(')150 3155 y(or)36
+(options)h(`)p Fy(--no_cll_mth)p FD(')150 5230 y(or)36
b(`)p Fy(--no_cell_methods)p FD(')c(to)37 b(turn)e(it)i(o\013.)58
b(These)36 b(options)g(are)h(only)f(a)m(v)-5 b(ailable)39
-b(in)c(the)i(op)s(erators)150 3265 y Fy(ncwa)29 b FD(and)h
-Fy(ncra)p FD(.)150 3523 y FB(3.38)68 b Fu(ARM)45 b FB(Con)l(v)l(en)l
-(tions)150 3634 y Fk(\013)p 200 3634 3554 4 v 3553 w(\010)p
-150 4014 4 333 v 178 3770 a FD(Av)-5 b(ailabilit)m(y:)43
-b Fy(ncrcat)178 3879 y FD(Short)30 b(options:)41 b(None)p
-3803 4014 V 150 4065 a Fk(\012)p 200 4065 3554 4 v 3553
-w(\011)275 4244 y Fy(ncrcat)19 b FD(has)i(b)s(een)g(programmed)f(to)i
-(correctly)h(handle)e(data)h(\014les)f(whic)m(h)g(utilize)i(the)e(A)m
-(tmospheric)150 4354 y(Radiation)36 b(Measuremen)m(t)h(\()p
-FC(ARM)p FD(\))f(Program)f(con)m(v)m(en)m(tion)j(\()p
-Fy(http:)t(/)t(/)s(www)t(.)s(arm)t(.)s(gov)t(/)s(data)t(/)s(time)s(.)
-150 4463 y(stm)p FD(\))31 b(for)g(time)h(and)f(time)h(o\013sets.)44
+b(in)c(the)i(op)s(erators)150 5340 y Fy(ncwa)29 b FD(and)h
+Fy(ncra)p FD(.)p eop end
+%%Page: 101 107
+TeXDict begin 101 106 bop 150 -116 a FD(Chapter)30 b(3:)41
+b(NCO)30 b(F)-8 b(eatures)2430 b(101)150 299 y FB(3.38)68
+b Fu(ARM)45 b FB(Con)l(v)l(en)l(tions)150 409 y Fk(\013)p
+200 409 3554 4 v 3553 w(\010)p 150 790 4 333 v 178 545
+a FD(Av)-5 b(ailabilit)m(y:)43 b Fy(ncrcat)178 655 y
+FD(Short)30 b(options:)41 b(None)p 3803 790 V 150 841
+a Fk(\012)p 200 841 3554 4 v 3553 w(\011)275 1011 y Fy(ncrcat)19
+b FD(has)i(b)s(een)g(programmed)f(to)i(correctly)h(handle)e(data)h
+(\014les)f(whic)m(h)g(utilize)i(the)e(A)m(tmospheric)150
+1121 y(Radiation)36 b(Measuremen)m(t)h(\()p FC(ARM)p
+FD(\))f(Program)f(con)m(v)m(en)m(tion)j(\()p Fy(http:)t(/)t(/)s(www)t
+(.)s(arm)t(.)s(gov)t(/)s(data)t(/)s(time)s(.)150 1230
+y(stm)p FD(\))31 b(for)g(time)h(and)f(time)h(o\013sets.)44
b(If)31 b(y)m(ou)h(do)f(not)h(w)m(ork)f(with)h FC(ARM)f
-FD(data)h(then)f(y)m(ou)h(ma)m(y)g(skip)f(this)150 4573
+FD(data)h(then)f(y)m(ou)h(ma)m(y)g(skip)f(this)150 1340
y(section.)51 b FC(ARM)34 b FD(data)g(\014les)f(store)h(time)h
(information)e(in)g(t)m(w)m(o)i(v)-5 b(ariables,)35 b(a)f(scalar,)i
-Fy(base_time)p FD(,)c(and)150 4682 y(a)g(record)g(v)-5
+Fy(base_time)p FD(,)c(and)150 1450 y(a)g(record)g(v)-5
b(ariable,)33 b Fy(time_offset)p FD(.)43 b(Subtle)31
b(but)g(serious)h(problems)f(can)h(arise)g(when)f(these)i(t)m(yp)s(e)f
-(of)150 4792 y(\014les)d(are)g(just)g(blindly)f(concatenated.)42
+(of)150 1559 y(\014les)d(are)g(just)g(blindly)f(concatenated.)42
b(Therefore)29 b Fy(ncrcat)e FD(has)i(b)s(een)g(sp)s(ecially)g
-(programmed)g(to)h(b)s(e)150 4902 y(able)35 b(to)h(c)m(hain)g(together)
+(programmed)g(to)h(b)s(e)150 1669 y(able)35 b(to)h(c)m(hain)g(together)
g(consecutiv)m(e)h FC(ARM)e Fz(input-\014les)j FD(and)c(pro)s(duce)g
-(and)g(an)h Fz(output-\014le)40 b FD(whic)m(h)150 5011
+(and)g(an)h Fz(output-\014le)40 b FD(whic)m(h)150 1778
y(con)m(tains)23 b(the)f(correct)h(time)f(information.)38
b(Curren)m(tly)-8 b(,)24 b Fy(ncrcat)c FD(determines)h(whether)h(a)g
-(data\014le)g(is)g(an)150 5121 y FC(ARM)29 b FD(data\014le)g(simply)f
+(data\014le)g(is)g(an)150 1888 y FC(ARM)29 b FD(data\014le)g(simply)f
(b)m(y)g(testing)i(for)e(the)g(existence)i(of)f(the)f(v)-5
b(ariables)29 b Fy(base_time)p FD(,)e Fy(time_offset)p
-FD(,)150 5230 y(and)f(the)i(dimension)e Fy(time)p FD(.)38
+FD(,)150 1998 y(and)f(the)i(dimension)e Fy(time)p FD(.)38
b(If)27 b(these)g(are)h(found)d(in)i(the)g Fz(input-\014le)32
b FD(then)26 b Fy(ncrcat)g FD(will)h(automatically)150
-5340 y(p)s(erform)f(t)m(w)m(o)j(non-standard,)f(but)f(hop)s(efully)g
+2107 y(p)s(erform)f(t)m(w)m(o)j(non-standard,)f(but)f(hop)s(efully)g
(useful,)h(pro)s(cedures.)38 b(First,)29 b Fy(ncrcat)d
-FD(will)i(ensure)f(that)p eop end
-%%Page: 101 107
-TeXDict begin 101 106 bop 150 -116 a FD(Chapter)30 b(3:)41
-b(NCO)30 b(F)-8 b(eatures)2430 b(101)150 299 y(v)-5 b(alues)26
-b(of)g Fy(time_offset)c FD(app)s(earing)j(in)g(the)h
-Fz(output-\014le)31 b FD(are)26 b(relativ)m(e)h(to)g(the)e
-Fy(base_time)e FD(app)s(earing)150 408 y(in)i(the)g(\014rst)f
-Fz(input-\014le)30 b FD(\(and)24 b(presumably)-8 b(,)26
-b(though)f(not)g(necessarily)-8 b(,)28 b(also)e(app)s(earing)e(in)h
-(the)g Fz(output-)150 518 y(\014le)5 b FD(\).)38 b(Second,)23
-b(if)e(a)g(co)s(ordinate)h(v)-5 b(ariable)22 b(named)e
-Fy(time)g FD(is)h(not)g(found)f(in)g(the)i Fz(input-\014les)p
-FD(,)g(then)f Fy(ncrcat)150 628 y FD(automatically)28
-b(creates)f(the)f Fy(time)e FD(co)s(ordinate)i(in)f(the)h
-Fz(output-\014le)p FD(.)39 b(The)25 b(v)-5 b(alues)26
-b(of)f Fy(time)f FD(are)i(de\014ned)150 737 y(b)m(y)31
+FD(will)i(ensure)f(that)150 2217 y(v)-5 b(alues)26 b(of)g
+Fy(time_offset)c FD(app)s(earing)j(in)g(the)h Fz(output-\014le)31
+b FD(are)26 b(relativ)m(e)h(to)g(the)e Fy(base_time)e
+FD(app)s(earing)150 2326 y(in)i(the)g(\014rst)f Fz(input-\014le)30
+b FD(\(and)24 b(presumably)-8 b(,)26 b(though)f(not)g(necessarily)-8
+b(,)28 b(also)e(app)s(earing)e(in)h(the)g Fz(output-)150
+2436 y(\014le)5 b FD(\).)38 b(Second,)23 b(if)e(a)g(co)s(ordinate)h(v)
+-5 b(ariable)22 b(named)e Fy(time)g FD(is)h(not)g(found)f(in)g(the)i
+Fz(input-\014les)p FD(,)g(then)f Fy(ncrcat)150 2546 y
+FD(automatically)28 b(creates)f(the)f Fy(time)e FD(co)s(ordinate)i(in)f
+(the)h Fz(output-\014le)p FD(.)39 b(The)25 b(v)-5 b(alues)26
+b(of)f Fy(time)f FD(are)i(de\014ned)150 2655 y(b)m(y)31
b(the)g FC(ARM)h FD(con)m(v)m(en)m(tions)h Fz(time)g
-FD(=)26 b Fz(base)p 1645 737 28 4 v 45 w(time)h FD(+)20
-b Fz(time)p 2160 737 V 46 w(o\013set)s FD(.)43 b(Th)m(us,)31
+FD(=)26 b Fz(base)p 1645 2655 28 4 v 45 w(time)h FD(+)20
+b Fz(time)p 2160 2655 V 46 w(o\013set)s FD(.)43 b(Th)m(us,)31
b(if)g Fz(output-\014le)36 b FD(con)m(tains)d(the)150
-847 y Fy(time_offset)d FD(v)-5 b(ariable,)35 b(it)f(will)g(also)g(con)m
-(tain)h(the)f Fy(time)e FD(co)s(ordinate.)50 b(A)31 b(short)i(message)h
-(is)g(added)150 956 y(to)d(the)g Fy(history)d FD(global)k(attribute)f
-(whenev)m(er)f(these)h FC(ARM)p FD(-sp)s(eci\014c)g(pro)s(cedures)e
-(are)i(executed.)150 1189 y FB(3.39)68 b(Op)t(erator)46
-b(V)-11 b(ersion)150 1323 y Fk(\013)p 200 1323 3554 4
-v 3553 w(\010)p 150 1812 4 442 v 178 1459 a FD(Av)-5
-b(ailabilit)m(y:)43 b(All)31 b(op)s(erators)178 1568
-y(Short)f(options:)41 b(`)p Fy(-r)p FD(')178 1678 y(Long)31
-b(options:)41 b(`)p Fy(--revision)p FD(',)28 b(`)p Fy(--version)p
-FD(',)h(or)h(`)p Fy(--vrs)p FD(')p 3803 1812 V 150 1864
-a Fk(\012)p 200 1864 3554 4 v 3553 w(\011)275 2034 y
-FD(All)36 b(op)s(erators)f(can)h(b)s(e)f(told)h(to)h(prin)m(t)e(their)g
-(v)m(ersion)h(information,)i(library)d(v)m(ersion,)j(cop)m(yrigh)m(t)
-150 2144 y(notice,)i(and)c(compile-time)j(con\014guration)e(with)g(the)
-g(`)p Fy(-r)p FD(')f(switc)m(h,)j(or)e(its)g(long-option)h(equiv)-5
-b(alen)m(t)150 2253 y(`)p Fy(revision)p FD('.)63 b(The)38
+2765 y Fy(time_offset)d FD(v)-5 b(ariable,)35 b(it)f(will)g(also)g(con)
+m(tain)h(the)f Fy(time)e FD(co)s(ordinate.)50 b(A)31
+b(short)i(message)h(is)g(added)150 2874 y(to)d(the)g
+Fy(history)d FD(global)k(attribute)f(whenev)m(er)f(these)h
+FC(ARM)p FD(-sp)s(eci\014c)g(pro)s(cedures)e(are)i(executed.)150
+3107 y FB(3.39)68 b(Op)t(erator)46 b(V)-11 b(ersion)150
+3240 y Fk(\013)p 200 3240 3554 4 v 3553 w(\010)p 150
+3730 4 442 v 178 3377 a FD(Av)-5 b(ailabilit)m(y:)43
+b(All)31 b(op)s(erators)178 3486 y(Short)f(options:)41
+b(`)p Fy(-r)p FD(')178 3596 y(Long)31 b(options:)41 b(`)p
+Fy(--revision)p FD(',)28 b(`)p Fy(--version)p FD(',)h(or)h(`)p
+Fy(--vrs)p FD(')p 3803 3730 V 150 3782 a Fk(\012)p 200
+3782 3554 4 v 3553 w(\011)275 3952 y FD(All)36 b(op)s(erators)f(can)h
+(b)s(e)f(told)h(to)h(prin)m(t)e(their)g(v)m(ersion)h(information,)i
+(library)d(v)m(ersion,)j(cop)m(yrigh)m(t)150 4062 y(notice,)i(and)c
+(compile-time)j(con\014guration)e(with)g(the)g(`)p Fy(-r)p
+FD(')f(switc)m(h,)j(or)e(its)g(long-option)h(equiv)-5
+b(alen)m(t)150 4171 y(`)p Fy(revision)p FD('.)63 b(The)38
b(`)p Fy(--version)p FD(')f(or)h(`)p Fy(--vrs)p FD(')g(switc)m(hes)h
(prin)m(t)f(the)h(op)s(erator)g(v)m(ersion)g(information)150
-2363 y(only)-8 b(.)69 b(The)40 b(in)m(ternal)g(v)m(ersion)g(n)m(um)m(b)
+4281 y(only)-8 b(.)69 b(The)40 b(in)m(ternal)g(v)m(ersion)g(n)m(um)m(b)
s(er)f(v)-5 b(aries)40 b(b)s(et)m(w)m(een)g(op)s(erators,)j(and)c
-(indicates)i(the)f(most)g(re-)150 2472 y(cen)m(t)c(c)m(hange)g(to)f(a)g
+(indicates)i(the)f(most)g(re-)150 4390 y(cen)m(t)c(c)m(hange)g(to)f(a)g
(particular)h(op)s(erator's)f(source)g(co)s(de.)54 b(This)34
b(is)h(useful)f(in)g(making)h(sure)f(y)m(ou)i(are)150
-2582 y(w)m(orking)31 b(with)g(the)h(most)f(recen)m(t)h(op)s(erators.)44
+4500 y(w)m(orking)31 b(with)g(the)h(most)f(recen)m(t)h(op)s(erators.)44
b(The)30 b(v)m(ersion)i(of)f FC(NCO)g FD(y)m(ou)g(are)h(using)f(migh)m
-(t)g(b)s(e,)g(e.g.,)150 2692 y Fy(3.9.5)p FD(.)39 b(Using)31
+(t)g(b)s(e,)g(e.g.,)150 4610 y Fy(3.9.5)p FD(.)39 b(Using)31
b(`)p Fy(-r)p FD(')f(on,)g(sa)m(y)-8 b(,)31 b Fy(ncks)p
FD(,)f(pro)s(duces)f(something)h(lik)m(e)i(`)p Fy(NCO)d(netCDF)g
-(Operators)f(version)150 2801 y("3.9.5")g(last)i(modified)e(2008/05/11)
-f(built)i(May)h(12)f(2008)h(on)f(neige)g(by)150 2911
+(Operators)f(version)150 4719 y("3.9.5")g(last)i(modified)e(2008/05/11)
+f(built)i(May)h(12)f(2008)h(on)f(neige)g(by)150 4829
y(zender)g(Copyright)f(\(C\))h(1995--2008)f(Charlie)g(Zender)h(ncks)g
(version)f(20090918)p FD('.)64 b(This)38 b(tells)150
-3020 y(y)m(ou)31 b(that)g Fy(ncks)e FD(con)m(tains)i(all)h(patc)m(hes)f
+4938 y(y)m(ou)31 b(that)g Fy(ncks)e FD(con)m(tains)i(all)h(patc)m(hes)f
(up)e(to)i(v)m(ersion)g Fy(3.9.5)p FD(,)e(whic)m(h)i(dates)f(from)g(Ma)
m(y)i(11)q(,)e(2008.)p eop end
%%Page: 102 108
@@ -20462,7 +20526,7 @@ b(Only)25 b(options)150 996 y(sp)s(eci\014c)39 b(to,)k(or)d(most)f
b(b)s(elo)m(w.)p eop end
%%Page: 104 110
TeXDict begin 104 109 bop 150 -116 a FD(104)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(4.1)68 b Fc(ncap2)43
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.1)68 b Fc(ncap2)43
b FB(netCDF)i(Arithmetic)g(Pro)t(cessor)150 436 y Fk(\013)p
200 436 3554 4 v 3553 w(\010)p 150 1163 4 679 v 178 572
a Fy(ncap2)35 b FD(understands)f(a)j(relativ)m(ely)h(full-featured)e
@@ -20503,7 +20567,7 @@ b FD(w)m(as)i(written)f(to)i(p)s(erform)d(arbi-)150 2888
y(trary)37 b(algebraic)i(transformations)f(of)f(data)h(and)f(arc)m(hiv)
m(e)i(the)e(results)g(as)h(easily)g(as)g(p)s(ossible.)61
b(See)150 2998 y(Section)33 b(3.25)h([Missing)f(V)-8
-b(alues],)35 b(page)e(70,)h(for)f(treatmen)m(t)h(of)e(missing)h(v)-5
+b(alues],)35 b(page)e(71,)h(for)f(treatmen)m(t)h(of)e(missing)h(v)-5
b(alues.)47 b(The)32 b(results)g(of)h(the)150 3107 y(algebraic)f
(manipulations)f(are)f(called)i Fz(deriv)m(ed)e(\014elds)p
FD(.)275 3277 y(Unlik)m(e)c(the)g(other)f(op)s(erators,)i
@@ -20610,7 +20674,7 @@ b(ariable)28 b(and)e(the)h(other)f(an)h(attribute,)h(the)f(result)g
eop end
%%Page: 106 112
TeXDict begin 106 111 bop 150 -116 a FD(106)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)225 299 y FA(\017)60 b FD(When)37
+b FD(4.4.6)j(User)d(Guide)225 299 y FA(\017)60 b FD(When)37
b(b)s(oth)g(op)s(erands)f(are)h(attributes,)j(the)e(result)f(has)g(the)
h(precision)f(of)h(the)f(more)h(precise)330 408 y(attribute.)225
540 y FA(\017)60 b FD(The)46 b(exp)s(onen)m(tiation)i(op)s(erator)f(\\)
@@ -20714,7 +20778,7 @@ h(only)f(requiremen)m(t)h(on)150 5230 y(expr1)g(is)f(that)h(the)g(n)m
g(t)m(yp)s(e.)p eop end
%%Page: 108 114
TeXDict begin 108 113 bop 150 -116 a FD(108)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)180 299 y Fq(Other)h(Assign)f(Op)s(erators)h
+b FD(4.4.6)j(User)d(Guide)180 299 y Fq(Other)h(Assign)f(Op)s(erators)h
Fy(+)p Fq(=,-=,*=./=)150 408 y Fo(var1)j('ass)p 511 408
28 4 v 41 w(op')g(exp1)150 518 y FD(if)j(exp1)h(is)f(a)g(v)-5
b(ariable)38 b(and)f(it)h(do)s(esn't)f(conform)g(to)h(v)-5
@@ -20727,18 +20791,17 @@ b(elemen)m(ts)i(as)e(v)-5 b(ar1.)62 b(If)37 b(expr1)g(has)g(a)g
(con)m(v)m(erted)i(to)f(the)g(v)-5 b(ar1)150 847 y(t)m(yp)s(e.)390
1014 y Fy(z1=four+=one*=10)43 b(//)48 b(z1=14)e(four=14)g(one=10;)390
1124 y(time-=2)475 b(//)48 b(time=)e(-1,0,1,2,3,4,5,6,7,8)150
-1291 y Fq(Incremen)m(t/)32 b(Decremen)m(t)g(Op)s(erators)180
-1401 y FD(These)e(w)m(ork)g(in)g(a)g(similar)g(fashion)g(to)h(their)f
-(regular)g(C)g(coun)m(terparts.)41 b(If)29 b(sa)m(y)i(the)f(v)-5
-b(ariable)31 b Fy(")p FD(four)p Fy(")150 1510 y FD(is)25
-b(input)f(only)g(then)h(the)g(statemen)m(t)h Fy("++)p
-FD(four)p Fy(")d FD(e\013ectiv)m(ely)28 b(means)c(-read)h(four)f(from)h
-(input)e(incremen)m(t)150 1620 y(eac)m(h)32 b(elemen)m(t)f(b)m(y)g(one)
-f(,)h(then)f(write)h(the)f(new)g(v)-5 b(alues)31 b(to)g(Output;)275
-1787 y(Example:)390 1955 y Fy(n2=++four;)140 b(n2=5,)47
-b(four=5)390 2064 y(n3=one--+20;)d(n3=21)95 b(one=0;)390
-2174 y(n4=--time;)140 b(n4=time=0.,1.,2.,3.,4.,5.,)o(6.,7)o(.,8)o(.,9.)
-o(;)150 2341 y Fq(Conditional)31 b(Op)s(erator)g(?:)150
+1291 y Fq(Incremen)m(t/Decremen)m(t)33 b(Op)s(erators)184
+1401 y FD(These)g(w)m(ork)h(in)f(a)h(similar)g(fashion)f(to)i(their)e
+(regular)h(C)f(coun)m(terparts.)51 b(If)34 b(sa)m(y)g(the)g(v)-5
+b(ariable)34 b Fy(four)150 1510 y FD(is)c(input)e(only)i(then)f(the)h
+(statemen)m(t)h Fy(++four)d FD(e\013ectiv)m(ely)k(means)e(read)f
+Fy(four)g FD(from)g(input)f(incremen)m(t)150 1620 y(eac)m(h)k(elemen)m
+(t)f(b)m(y)g(one,)g(then)f(write)g(the)h(new)f(v)-5 b(alues)30
+b(to)h(Output;)275 1787 y(Example:)390 1955 y Fy(n2=++four;)140
+b(n2=5,)47 b(four=5)390 2064 y(n3=one--+20;)d(n3=21)95
+b(one=0;)390 2174 y(n4=--time;)140 b(n4=time=0.,1.,2.,3.,4.,5.,)o(6.,7)
+o(.,8)o(.,9.)o(;)150 2341 y Fq(Conditional)31 b(Op)s(erator)g(?:)150
2451 y Fo(exp1)i(?)43 b(exp2)33 b(:)42 b(exp3)150 2560
y FD(The)26 b(conditional)i(op)s(erator)f(\(or)g(ternary)f(Op)s
(erator\))g(is)h(a)g(succinct)g(w)m(a)m(y)g(of)g(writing)g(an)f
@@ -20820,7 +20883,7 @@ i(its)f(dimensions)e(in)h(Input)f(are)150 5340 y(automagically)c
(t\))p eop end
%%Page: 110 116
TeXDict begin 110 115 bop 150 -116 a FD(110)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fu(4.1.4)63 b(Left)41
+b FD(4.4.6)j(User)d(Guide)150 299 y Fu(4.1.4)63 b(Left)41
b(hand)g(casting)150 446 y FD(The)36 b(follo)m(wing)h(examples)g
(demonstrate)f(the)h(utilit)m(y)g(of)f(the)h Fz(left)f(hand)f(casting)
45 b FD(abilit)m(y)38 b(of)e Fy(ncap2)p FD(.)150 555
@@ -20948,31 +21011,31 @@ y(argumen)m(ts)d(for)f(a)h(v)-5 b(ariable)31 b(of)f(rank)g
Fz(N)10 b FD(:)390 2524 y Fy(var1\(arg1,arg2)44 b(...)j(argN\);)275
2685 y FD(where)29 b(eac)m(h)j(h)m(yp)s(erslab)d(argumen)m(t)i(is)g(of)
f(the)h(form)390 2845 y Fy(start:end:stride)275 3005
-y FD(and)43 b(the)i(argumen)m(ts)g(for)f(di\013eren)m(t)h(dimensions)f
-(are)h(separated)g(b)m(y)f(commas.)84 b(If)44 b Fy(")p
-FD(start)p Fy(")h FD(is)150 3114 y(omitted,)37 b(it)f(defaults)f(to)h
-(0.)55 b(If)34 b Fy(")p FD(end)p Fy(")g FD(is)h(omitted,)j(it)d
-(defaults)g(to)h(dimension)e(size)i(min)m(us)e(one.)55
-b(If)150 3224 y Fy(")p FD(stride)p Fy(")30 b FD(is)g(omitted,)i(it)f
-(defaults)f(to)h(1.)150 3494 y(If)26 b(a)i(single)f(v)-5
-b(alue)28 b(is)f(presen)m(t)f(then)h(it)g(is)g(assumed)g(that)g(that)g
-(dimension)g(collapses)h(to)g(a)f(single)g(v)-5 b(alue)150
-3603 y(\(i.e.,)28 b(a)d(cross-section\).)41 b(The)25
-b(n)m(um)m(b)s(er)f(of)h(h)m(yp)s(erslab)f(argumen)m(ts)i(MUST)e(equal)
-i(the)f(v)-5 b(ariable's)26 b(rank.)150 3873 y Fq(Hyp)s(erslabs)k(on)g
-(the)g(Righ)m(t)i(Hand)e(Side)g(of)g(an)g(assign)275
-4143 y FD(A)g(simple)g(1D)i(example:)390 4303 y Fy(\($time.size=10\))
-390 4413 y(od[$time]={20,22,24,26,2)o(8,30)o(,32,)o(34,)o(36,3)o(8};)
-390 4632 y(od\(7\);)237 b(//)47 b(34)390 4741 y(od\(7:\);)189
-b(//)47 b(34,36,38)390 4851 y(od\(:7\);)189 b(//)47 b
-(20,22,24,26,28,30,32,34)390 4961 y(od\(::4\);)141 b(//)47
-b(20,28,36)390 5070 y(od\(1:6:2\))93 b(//)47 b(22,26,30)390
-5180 y(od\(:\))285 b(//)47 b(20,22,24,26,28,30,32,34,3)o(6,38)275
-5340 y FD(A)30 b(more)h(complex)g(three)f(dimensional)h(example:)p
-eop end
+y FD(and)23 b(the)i(argumen)m(ts)g(for)f(di\013eren)m(t)h(dimensions)f
+(are)h(separated)g(b)m(y)g(commas.)39 b(If)24 b Fz(start)j
+FD(is)e(omitted,)150 3114 y(it)35 b(defaults)f(to)h(zero.)54
+b(If)34 b Fz(end)j FD(is)d(omitted,)j(it)e(defaults)f(to)h(dimension)f
+(size)h(min)m(us)f(one.)53 b(If)34 b Fz(stride)39 b FD(is)150
+3224 y(omitted,)32 b(it)f(defaults)f(to)h(one.)150 3494
+y(If)26 b(a)i(single)f(v)-5 b(alue)28 b(is)f(presen)m(t)f(then)h(it)g
+(is)g(assumed)g(that)g(that)g(dimension)g(collapses)h(to)g(a)f(single)g
+(v)-5 b(alue)150 3603 y(\(i.e.,)28 b(a)d(cross-section\).)41
+b(The)25 b(n)m(um)m(b)s(er)f(of)h(h)m(yp)s(erslab)f(argumen)m(ts)i
+(MUST)e(equal)i(the)f(v)-5 b(ariable's)26 b(rank.)150
+3873 y Fq(Hyp)s(erslabs)k(on)g(the)g(Righ)m(t)i(Hand)e(Side)g(of)g(an)g
+(assign)275 4143 y FD(A)g(simple)g(1D)i(example:)390
+4303 y Fy(\($time.size=10\))390 4413 y(od[$time]={20,22,24,26,2)o(8,30)
+o(,32,)o(34,)o(36,3)o(8};)390 4632 y(od\(7\);)237 b(//)47
+b(34)390 4741 y(od\(7:\);)189 b(//)47 b(34,36,38)390
+4851 y(od\(:7\);)189 b(//)47 b(20,22,24,26,28,30,32,34)390
+4961 y(od\(::4\);)141 b(//)47 b(20,28,36)390 5070 y(od\(1:6:2\))93
+b(//)47 b(22,26,30)390 5180 y(od\(:\))285 b(//)47 b
+(20,22,24,26,28,30,32,34,3)o(6,38)275 5340 y FD(A)30
+b(more)h(complex)g(three)f(dimensional)h(example:)p eop
+end
%%Page: 112 118
TeXDict begin 112 117 bop 150 -116 a FD(112)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(\($lat.size=2,$lon.size=4)o(\))
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(\($lat.size=2,$lon.size=4)o(\))
390 408 y(th[$time,$lat,$lon]=)1631 518 y({1,)47 b(2,)g(3,)g(4,)g(5,)h
(6,)f(7,)g(8,)1631 628 y(9,10,11,12,13,14,15,16,)1631
737 y(17,18,19,20,21,22,23,24,)1631 847 y(-99,-99,-99,-99,-99,-99,)o
@@ -21066,7 +21129,7 @@ b FD(can)31 b(b)s(e)e(used)h(on)g(the)h(RHS)f(of)g(an)h(assign...)390
o(in+a)o(1 at ma)o(x\)/)o(2,a1)o(@max)o(};)p eop end
%%Page: 114 120
TeXDict begin 114 119 bop 150 -116 a FD(114)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(The)c(netCDF)h(sp)s(eci\014cation)g
+b FD(4.4.6)j(User)d(Guide)275 299 y(The)c(netCDF)h(sp)s(eci\014cation)g
(allo)m(ws)h(all)g(attribute)f(t)m(yp)s(es)g(to)g(ha)m(v)m(e)h(a)f
(size)g(greater)h(than)f(one.)39 b(The)150 408 y(maxim)m(um)g(is)g
(de\014ned)e(b)m(y)i Fy(NC_MAX_ATTRS)p FD(.)63 b(The)39
@@ -21093,9 +21156,9 @@ b(name.)150 2373 y Fq(A)m(ttribute)f(Propagation)h(and)e(Inheritance)
b(v)-5 b(ariable)27 b(b)s(eing)f(de\014ned)330 2657 y(on)k(the)h(LHS)f
(gets)h(copies)g(of)g(the)f(attributes)h(from)f(the)h(leftermost)g(v)-5
b(ariable)31 b(on)g(the)f(RHS.)225 2806 y FA(\017)60
-b FD(A)m(ttribute)33 b(Inheritance:)45 b(The)32 b(LHS)g(v)-5
-b(ariable)33 b Fy(")p FD(inherits)p Fy(")f FD(attributes)h(from)f(an)g
-(Input)f(v)-5 b(ariable)330 2915 y(with)30 b(the)h(same)f(name)225
+b FD(A)m(ttribute)34 b(Inheritance:)46 b(The)32 b(LHS)g(v)-5
+b(ariable)34 b(\\inherits")f(attributes)h(from)e(an)h(Input)e(v)-5
+b(ariable)330 2915 y(with)30 b(the)h(same)f(name)225
3064 y FA(\017)60 b FD(It)28 b(is)g(p)s(ossible)f(to)i(ha)m(v)m(e)g(a)f
(regular)g(assign)g(statemen)m(t)h(for)f(whic)m(h)f(b)s(oth)h
(propagation)g(and)f(inher-)330 3174 y(itance)32 b(o)s(ccur.)390
@@ -21172,7 +21235,7 @@ h(well:)390 4902 y(if\(exp1\){)533 5011 y(stmt1;)533
eop end
%%Page: 116 122
TeXDict begin 116 121 bop 150 -116 a FD(116)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)533 299 y Fy(stmt2;)390 408
+b FD(4.4.6)j(User)d(Guide)533 299 y Fy(stmt2;)390 408
y(else{)533 518 y(stmt3;)533 628 y(stmt3a;)533 737 y(stmt3b;)390
847 y(})150 1066 y FD(F)-8 b(or)29 b(a)g(v)-5 b(ariable)29
b(or)g(attribute)g(expression)f(to)h(b)s(e)f(logically)j(true)d(all)i
@@ -21272,7 +21335,7 @@ o(_Fil)o(lVal)o(ue)g(=)48 b(-999;)390 5340 y(n2=rec_var_int_mss_val_i)o
eop end
%%Page: 118 124
TeXDict begin 118 123 bop 150 -116 a FD(118)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 408 y Fy(n2=-999,-999,11,11,11,11)o(,11,)
+b FD(4.4.6)j(User)d(Guide)390 408 y Fy(n2=-999,-999,11,11,11,11)o(,11,)
o(11,9)o(99,)o(-999)o(;)275 568 y FD(The)25 b(follo)m(wing)j(metho)s
(ds)e(manipulate)h(missing)f(v)-5 b(alue)27 b(information)f(asso)s
(ciated)i(with)e(a)h(v)-5 b(ariable.)150 677 y(They)30
@@ -21377,13 +21440,13 @@ b(alues)390 4341 y Fy(//)47 b(Average)f(a)h(variable)f(over)h(time)390
b(or)25 b(more)f(information)h(see)f(see)h(Section)g(3.31)g([P)m(ac)m
(k)m(ed)i(data],)f(page)f(81)g(and)f(see)g(Section)h(4.8)g([ncp)s(dq)
150 4939 y(netCDF)31 b(P)m(erm)m(ute)g(Dimensions)g(Quic)m(kly],)g
-(page)g(189)150 5230 y Fy(pack\(\))e(&)h(pack_short\(\))630
+(page)g(190)150 5230 y Fy(pack\(\))e(&)h(pack_short\(\))630
5340 y FD(The)g(default)g(pac)m(king)i(algorithm)f(is)g(applied)f(and)g
(v)-5 b(ariable)31 b(is)f(pac)m(k)m(ed)i(to)f Fy(NC_SHORT)p
eop end
%%Page: 120 126
TeXDict begin 120 125 bop 150 -116 a FD(120)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(pack_byte\(\))630
+b FD(4.4.6)j(User)d(Guide)150 299 y Fy(pack_byte\(\))630
408 y FD(V)-8 b(ariable)32 b(is)e(pac)m(k)m(ed)i(to)f
Fy(NC_BYTE)150 559 y(pack_short\(\))630 669 y FD(V)-8
b(ariable)32 b(is)e(pac)m(k)m(ed)i(to)f Fy(NC_SHORT)150
@@ -21421,7 +21484,7 @@ b(to)g(disk)f(i.e.,)i(con)m(v)m(erts)g(it)f(to)g(a)g(regular)f(disk)g
4171 y FD(Deletes)32 b(a)f FC(RAM)g FD(v)-5 b(ariable)31
b(or)f(an)h(attribute)150 4461 y Fq(PDQ)f(Metho)s(ds)180
4571 y FD(See)h(see)g(Section)g(4.8)h([ncp)s(dq)d(netCDF)i(P)m(erm)m
-(ute)g(Dimensions)f(Quic)m(kly],)i(page)f(189)150 4751
+(ute)g(Dimensions)f(Quic)m(kly],)i(page)f(190)150 4751
y Fy(reverse\(dim)c(args\))630 4860 y FD(Rev)m(erses)k(the)g(dimension)
f(ordering)g(of)g(elemen)m(ts)i(in)e(a)h(v)-5 b(ariable.)150
5011 y Fy(permute\(dim)27 b(args\))630 5121 y FD(Re-shap)s(es)g(v)-5
@@ -21509,7 +21572,7 @@ Fy(*)p FD(\))g(when)e(the)i(v)-5 b(ariable)38 b(is)f
eop end
%%Page: 122 128
TeXDict begin 122 127 bop 150 -116 a FD(122)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FC(RAM)c FD(v)-5
+b FD(4.4.6)j(User)d(Guide)150 299 y FC(RAM)c FD(v)-5
b(ariables)26 b(\(and)g(reco)m(v)m(er)h(their)f(memory\))g(use)f(the)h
Fy(ram_delete\(\))c FD(metho)s(d.)39 b(T)-8 b(o)26 b(write)g(a)g
FC(RAM)150 408 y FD(v)-5 b(ariable)31 b(to)g(disk)f(\(lik)m(e)i(a)f
@@ -21631,7 +21694,7 @@ h(as)g(zero)g(times)f(variable)g(to)h(be)g(masked)676
b(*/)p eop end
%%Page: 124 130
TeXDict begin 124 129 bop 150 -116 a FD(124)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(*uwnd_msk=0.0*uwnd;)390
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(*uwnd_msk=0.0*uwnd;)390
408 y(where\(\(lat)45 b(>=)i(35.6)g(&&)g(lat)g(<=)g(37.0\))f(&&)i
(\(lon)e(>=)h(-100.5)g(&&)g(lon)g(<=)g(-99.0\)\))485
518 y(uwnd_msk=uwnd;)390 628 y(elsewhere)485 737 y
@@ -21756,7 +21819,7 @@ Fz(srt)p 1470 5230 V 40 w(map)p FD(.)40 b(This)29 b(giv)m(es)j(the)e
(useful)h(in)g(sp)s(ecial)h(situations.)p eop end
%%Page: 126 132
TeXDict begin 126 131 bop 150 -116 a FD(126)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(a1[$time]={10,2,3,4,6,5,)o(7,3,)
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(a1[$time]={10,2,3,4,6,5,)o(7,3,)
o(4,1})o(;)390 408 y(a1_sort=sort\(a1\);)390 518 y(print\(a1_sort\);)
390 628 y(//)47 b(1,)g(2,)h(3,)f(3,)g(4,)g(4,)g(5,)g(6,)h(7,)f(10;)390
847 y(a2[$lon]={2,1,4,3};)390 956 y(a2_sort=sort\(a2,&a2_map\))o(;)390
@@ -21845,7 +21908,7 @@ k(3)f(==)h(0\))f(msk_flg=1;)e(elsewhere)g(msk_flg=0;)p
eop end
%%Page: 128 134
TeXDict begin 128 133 bop 150 -116 a FD(128)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(//)47 b(print\("msk_flg)d(=)k
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(//)47 b(print\("msk_flg)d(=)k
("\);print\(msk_flg\);)42 b(//)48 b(For)e(debugging...)390
518 y(/*)h(The)g(sort\(\))f(routine)g(is)h(overloaded,)e(and)i(takes)f
(one)h(or)g(two)g(arguments)533 628 y(The)g(second)f(argument)g
@@ -21956,7 +22019,7 @@ e(is)i(how)g(dimensionality)d(affects)i(offsets)g(*/)390
(lesser)f(dimensions)p eop end
%%Page: 130 136
TeXDict begin 130 135 bop 150 -116 a FD(130)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(srt_map_3d*=$lat.size*$l)o(on.s)
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(srt_map_3d*=$lat.size*$l)o(on.s)
o(ize;)390 408 y(lon_idx=array\(0,1,$lon\);)390 518 y
(lat_idx=array\(0,1,$lat\)*)o($lon)o(.siz)o(e;)390 628
y(lat_lon_idx[$lat,$lon]=l)o(at_i)o(dx+l)o(on_)o(idx;)390
@@ -22057,13 +22120,13 @@ b(lon\(time,south)p 2411 1636 V 41 w(north,east)p 2851
h(c)m(hange)h(with)e(time.)275 1972 y(Grids)41 b(with)g
Fz(R)h Fy(>)f FD(1)h(often)g(use)g(missing)f(v)-5 b(alues)42
b(to)h(indicated)f(empt)m(y)g(p)s(oin)m(ts.)75 b(F)-8
-b(or)42 b(example,)150 2082 y(so-called)e Fy(")p FD(staggered)f(grids)p
-Fy(")f FD(will)g(use)g(few)m(er)g(east)p 2017 2082 V
-41 w(w)m(est)h(p)s(oin)m(ts)f(near)g(the)g(p)s(oles)g(and)g(more)g
-(near)150 2191 y(the)f(equator.)61 b(netCDF)38 b(only)f(accepts)h
-(rectangular)g(arra)m(ys)f(so)g(space)h(m)m(ust)f(b)s(e)f(allo)s(cated)
-j(for)e(the)150 2301 y(maxim)m(um)30 b(n)m(um)m(b)s(er)e(of)i(east)p
-1169 2301 V 41 w(w)m(est)g(p)s(oin)m(ts)g(at)h(all)f(latitudes.)42
+b(or)42 b(example,)150 2082 y(so-called)e(\\staggered)h(grids")d(will)h
+(use)f(few)m(er)h(east)p 2015 2082 V 41 w(w)m(est)g(p)s(oin)m(ts)f
+(near)h(the)f(p)s(oles)h(and)e(more)i(near)150 2191 y(the)e(equator.)61
+b(netCDF)38 b(only)f(accepts)h(rectangular)g(arra)m(ys)f(so)g(space)h
+(m)m(ust)f(b)s(e)f(allo)s(cated)j(for)e(the)150 2301
+y(maxim)m(um)30 b(n)m(um)m(b)s(er)e(of)i(east)p 1169
+2301 V 41 w(w)m(est)g(p)s(oin)m(ts)g(at)h(all)f(latitudes.)42
b(Then)28 b(the)i(application)h(writes)f(missing)150
2410 y(v)-5 b(alues)31 b(in)m(to)g(the)g(un)m(used)e(p)s(oin)m(ts)h
(near)g(the)h(p)s(oles.)275 2578 y(W)-8 b(e)41 b(demonstrate)g(the)g
@@ -22109,7 +22172,7 @@ b FC(WRF)g FD(grid)g(do)s(cumen)m(tation)h(should)e(describ)s(e)150
eop end
%%Page: 132 138
TeXDict begin 132 137 bop 150 -116 a FD(132)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(mask_var)46 b(=)h(\(XLAT)f(>=)i
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(mask_var)46 b(=)h(\(XLAT)f(>=)i
(lat_min)d(&&)j(XLAT)e(<=)h(lat_max\))f(&&)h(\(XLONG)f(>=)h(lon_min)f
(&&)h(XLONG)g(<=)g(lon_max\);)275 458 y FD(A)38 b(few)g(notes:)57
b(Irregular)38 b(regions)g(are)h(the)g(union)e(of)h(arra)m(ys)h
@@ -22215,7 +22278,7 @@ y Fy(defdim\("lat_in",6\);)390 3915 y(defdim\("lon_in",5\);)390
5230 y(20,55,60,35,20.0)d(};)p eop end
%%Page: 134 140
TeXDict begin 134 139 bop 150 -116 a FD(134)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(defdim\("lat_out",4\);)390
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(defdim\("lat_out",4\);)390
408 y(defdim\("lon_out",3\);)390 628 y(//)47 b(Coordinate)e(variables)
390 737 y(lat_out[$lat_out]={-90,0)o(,70,)o(88.0)o(};)390
847 y(lon_out[$lon_out]={0,190)o(,355)o(.0};)390 1066
@@ -22226,32 +22289,32 @@ y(print\(T_out\);)390 1504 y(//)i(13.4375,)f(49.5,)g(14.09375,)390
1614 y(//)h(16.25,)f(54,)h(16.625,)390 1724 y(//)g(19.25,)f(58.8,)h
(19.325,)390 1833 y(//)g(20.15,)f(60.24,)g(20.135)g(;)150
2052 y Fu(4.1.19)63 b(GSL)41 b(sp)s(ecial)h(functions)150
-2199 y FD(As)47 b(of)h(v)m(ersion)g(3.9.6)h(\(released)g(Jan)m(uary)-8
-b(,)52 b(2009\),)i FC(NCO)48 b FD(can)g(link)f(to)h(the)g(GNU)g(Scien)m
-(ti\014c)h(Li-)150 2308 y(brary)37 b(\()p FC(GSL)p FD(\).)65
-b Fy(ncap2)37 b FD(can)h(access)h(most)g FC(GSL)f FD(sp)s(ecial)h
-(functions)e(including)h(Airy)-8 b(,)41 b(Bessel,)g(error,)150
-2418 y(gamma,)d(b)s(eta,)f(h)m(yp)s(ergeometric,)i(and)c(Legendre)g
-(functions)g(and)g(elliptical)j(in)m(tegrals.)58 b FC(GSL)36
-b FD(m)m(ust)150 2527 y(b)s(e)28 b(v)m(ersion)j(1.4)f(or)e(later.)41
-b(T)-8 b(o)29 b(list)h(the)f FC(GSL)f FD(functions)h(a)m(v)-5
-b(ailable)31 b(with)d(y)m(our)g FC(NCO)h FD(build,)f(use)g
-Fy(ncap2)150 2637 y(-f)i(|)g(grep)f(^gsl)p FD(.)150 2806
-y(The)36 b(function)g(names)g(used)g(b)m(y)g FC(ncap2)f
-FD(mirror)h(their)g FC(GSL)h FD(names.)58 b(The)36 b
-FC(NCO)g FD(wrapp)s(ers)f(for)h FC(GSL)150 2916 y FD(functions)26
-b(automatically)j(call)e(the)f(error-handling)g(v)m(ersion)g(of)h(the)f
-FC(GSL)g FD(function)g(when)f(a)m(v)-5 b(ailable)3685
-2883 y Ft(2)3725 2916 y FD(.)150 3025 y(This)26 b(allo)m(ws)j
-FC(NCO)e FD(to)h(return)e(a)i(missing)f(v)-5 b(alue)27
-b(when)g(the)g FC(GSL)g FD(library)g(encoun)m(ters)h(a)f(domain)g
-(error)150 3135 y(or)35 b(a)h(\015oating)g(p)s(oin)m(t)f(exception.)57
-b(The)34 b(slo)m(w-do)m(wn)i(due)e(to)i(calling)h(the)f(error-handling)
-e(v)m(ersion)i(of)150 3244 y(the)42 b FC(GSL)h FD(n)m(umerical)f
-(functions)g(w)m(as)h(found)d(to)j(b)s(e)f(negligible)i(\(please)f(let)
-g(us)f(kno)m(w)g(if)g(y)m(ou)g(\014nd)150 3354 y(otherwise\).)150
-3523 y(Consider)30 b(the)g(gamma)h(function.)150 3633
-y(The)f FC(GSL)g FD(function)g(protot)m(yp)s(e)h(is)150
+2199 y FD(As)49 b(of)g(v)m(ersion)g(3.9.6)h(\(released)g(Jan)m(uary)-8
+b(,)54 b(2009\),)i FC(NCO)48 b FD(can)h(link)g(to)h(the)e
+FC(GNU)i FD(Scien)m(ti\014c)g(Li-)150 2308 y(brary)37
+b(\()p FC(GSL)p FD(\).)65 b Fy(ncap2)37 b FD(can)h(access)h(most)g
+FC(GSL)f FD(sp)s(ecial)h(functions)e(including)h(Airy)-8
+b(,)41 b(Bessel,)g(error,)150 2418 y(gamma,)d(b)s(eta,)f(h)m(yp)s
+(ergeometric,)i(and)c(Legendre)g(functions)g(and)g(elliptical)j(in)m
+(tegrals.)58 b FC(GSL)36 b FD(m)m(ust)150 2527 y(b)s(e)28
+b(v)m(ersion)j(1.4)f(or)e(later.)41 b(T)-8 b(o)29 b(list)h(the)f
+FC(GSL)f FD(functions)h(a)m(v)-5 b(ailable)31 b(with)d(y)m(our)g
+FC(NCO)h FD(build,)f(use)g Fy(ncap2)150 2637 y(-f)i(|)g(grep)f(^gsl)p
+FD(.)150 2806 y(The)36 b(function)g(names)g(used)g(b)m(y)g
+FC(ncap2)f FD(mirror)h(their)g FC(GSL)h FD(names.)58
+b(The)36 b FC(NCO)g FD(wrapp)s(ers)f(for)h FC(GSL)150
+2916 y FD(functions)26 b(automatically)j(call)e(the)f(error-handling)g
+(v)m(ersion)g(of)h(the)f FC(GSL)g FD(function)g(when)f(a)m(v)-5
+b(ailable)3685 2883 y Ft(2)3725 2916 y FD(.)150 3025
+y(This)26 b(allo)m(ws)j FC(NCO)e FD(to)h(return)e(a)i(missing)f(v)-5
+b(alue)27 b(when)g(the)g FC(GSL)g FD(library)g(encoun)m(ters)h(a)f
+(domain)g(error)150 3135 y(or)35 b(a)h(\015oating)g(p)s(oin)m(t)f
+(exception.)57 b(The)34 b(slo)m(w-do)m(wn)i(due)e(to)i(calling)h(the)f
+(error-handling)e(v)m(ersion)i(of)150 3244 y(the)42 b
+FC(GSL)h FD(n)m(umerical)f(functions)g(w)m(as)h(found)d(to)j(b)s(e)f
+(negligible)i(\(please)f(let)g(us)f(kno)m(w)g(if)g(y)m(ou)g(\014nd)150
+3354 y(otherwise\).)150 3523 y(Consider)30 b(the)g(gamma)h(function.)
+150 3633 y(The)f FC(GSL)g FD(function)g(protot)m(yp)s(e)h(is)150
3742 y Fy(int)e(gsl_sf_gamma_e\(const)c(double)k(x,)h(gsl_sf_result)c
(*)31 b(result\))18 b FD(The)j Fy(ncap2)e FD(script)i(w)m(ould)150
3852 y(b)s(e:)390 4021 y Fy(lon_in[lon]={-1,0.1,0,2,)o(0.3})o(;)390
@@ -22347,7 +22410,7 @@ b(int)29 b(lmax,)g(double)g(x,)h(double)e(*result_array\);)390
5340 y(a1=time.double\(\);)p eop end
%%Page: 136 142
TeXDict begin 136 141 bop 150 -116 a FD(136)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(x=0.3;)390 408
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(x=0.3;)390 408
y(status=gsl_sf_legendre_P)o(l_ar)o(ray\()o(a1.)o(size)o(\(\)-1)o(,)42
b(x,&a1\);)390 518 y(print\(status\);)150 701 y FD(This)25
b(call)i(calculates)g Fz(P)p 992 701 28 4 v 40 w(l)t
@@ -22747,7 +22810,7 @@ V 41 w(6j)p 853 5340 V 40 w(e)583 b(N)112 b(gsl)p 1802
V 40 w(6j)p eop end
%%Page: 138 144
TeXDict begin 138 143 bop 150 -116 a FD(138)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+b FD(4.4.6)j(User)d(Guide)150 299 y(gsl)p 262 299 28
4 v 41 w(sf)p 367 299 V 39 w(coupling)p 739 299 V 41
w(RacahW)p 1121 299 V 41 w(e)314 b(N)112 b(gsl)p 1802
299 V 40 w(sf)p 1906 299 V 40 w(coupling)p 2279 299 V
@@ -23131,7 +23194,7 @@ b(gsl)p 1802 5230 V 40 w(sf)p 1906 5230 V 40 w(b)s(eta\(dbl)p
5340 V 40 w(inc)p eop end
%%Page: 140 146
TeXDict begin 140 145 bop 150 -116 a FD(140)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+b FD(4.4.6)j(User)d(Guide)150 299 y(gsl)p 262 299 28
4 v 41 w(sf)p 367 299 V 39 w(gegenp)s(oly)p 799 299 V
41 w(1)p 885 299 V 41 w(e)550 b(Y)112 b(gsl)p 1802 299
V 40 w(sf)p 1906 299 V 40 w(gegenp)s(oly)p 2339 299 V
@@ -23539,7 +23602,7 @@ w(p)s(olar)592 b(N)112 b(gsl)p 1802 5340 V 40 w(sf)p
V 40 w(p)s(olar)p eop end
%%Page: 142 148
TeXDict begin 142 147 bop 150 -116 a FD(142)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(gsl)p 262 299 28
+b FD(4.4.6)j(User)d(Guide)150 299 y(gsl)p 262 299 28
4 v 41 w(sf)p 367 299 V 39 w(sin)p 518 299 V 40 w(err)p
670 299 V 39 w(e)767 b(N)112 b(gsl)p 1802 299 V 40 w(sf)p
1906 299 V 40 w(sin)p 2058 299 V 39 w(err)150 408 y(gsl)p
@@ -23690,7 +23753,7 @@ y(The)41 b('&')h(pre\014x)e(indicates)j(that)f(these)g(are)g(call-b)m
(scalar)i(v)-5 b(ariables)31 b(of)p eop end
%%Page: 144 150
TeXDict begin 144 149 bop 150 -116 a FD(144)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(t)m(yp)s(e)i Fy(double)p
+b FD(4.4.6)j(User)d(Guide)150 299 y(t)m(yp)s(e)i Fy(double)p
FD(.)45 b(If)32 b(they)g(already)h(exist)g(then)f(their)g(existing)h(v)
-5 b(alue)33 b(is)f(o)m(v)m(erwritten.)48 b(If)32 b(the)g(function)150
408 y(call)g(is)e(successful)g(then)g Fy(status=0)p FD(.)275
@@ -23806,7 +23869,7 @@ y(print\(a1_avg\);)44 b(//)j(5.5)390 4902 y(a1_var=gsl_stats_varianc)o
eop end
%%Page: 146 152
TeXDict begin 146 151 bop 150 -116 a FD(146)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(F)-8 b(or)37 b(functions)f(with)g
+b FD(4.4.6)j(User)d(Guide)150 299 y(F)-8 b(or)37 b(functions)f(with)g
(the)h(signature)f Fq(func)p 1669 299 28 5 v 40 w(nm\(v)-5
b(ar)p 1997 299 V 39 w(data,data)p 2409 299 V 41 w(stride,n\))p
FD(,)39 b(one)d(ma)m(y)h(omit)g(the)g(sec-)150 408 y(ond)43
@@ -23916,7 +23979,7 @@ Fy(NC_INT)p FD(.)150 5340 y(Please)36 b(b)s(e)e(a)m(w)m(are)j(of)e
(functions)f(functions)g(from)p eop end
%%Page: 148 154
TeXDict begin 148 153 bop 150 -116 a FD(148)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(the)f FC(GSL)g FD(library)g(whic)m
+b FD(4.4.6)j(User)d(Guide)150 299 y(the)f FC(GSL)g FD(library)g(whic)m
(h)f(return)g Fy(unsigned)g(int)p FD(.)40 b(Examples)28
b(of)i(these)f(are)g Fy(gsl_ran_geometric\(\))150 408
y FD(and)h Fy(gsl_ran_pascal\(\))p FD(.)390 573 y Fy(export)46
@@ -24038,7 +24101,7 @@ b(-s)i('ORO_msk=\(ORO==2.0\);ORO)o(=OR)o(O_ms)o(k*3.)o(0+!)o(ORO_)o
(msk*)o(ORO)o(')42 b(in.nc)k(out.nc)p eop end
%%Page: 150 156
TeXDict begin 150 155 bop 150 -116 a FD(150)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(This)g(creates)j(and)e(uses)h
+b FD(4.4.6)j(User)d(Guide)275 299 y(This)g(creates)j(and)e(uses)h
Fy(ORO_msk)d FD(to)k(mask)e(the)h(subsequen)m(t)f(arithmetic)i(op)s
(eration.)45 b(V)-8 b(alues)33 b(of)150 408 y Fy(ORO)c
FD(are)i(only)g(c)m(hanged)g(where)f Fy(ORO_msk)e FD(is)i(true,)h
@@ -24225,7 +24288,7 @@ b(cosh\(0)p Fv(:)p FD(0\))27 b(=)e(1)p Fv(:)p FD(0)p
eop end
%%Page: 152 158
TeXDict begin 152 157 bop 150 -116 a FD(152)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(erf\(x\))192 b
+b FD(4.4.6)j(User)d(Guide)150 299 y Fy(erf\(x\))192 b
Fz(Error)43 b(function)h FD(Error)g(function)g(of)g Fz(x)50
b FD(where)44 b Fz(x)51 b FD(is)44 b(sp)s(eci\014ed)f(b)s(et)m(w)m(een)
i FA(\000)p FD(1)g(and)e(1.)630 408 y(Example:)e(erf\(1)p
@@ -24398,7 +24461,7 @@ Fs(,)j(p)r(erforming)f(the)e(op)r(eration,)j(and)d(then)g(re-casting.)
end
%%Page: 154 160
TeXDict begin 154 159 bop 150 -116 a FD(154)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(section\).)43 b(If)30
+b FD(4.4.6)j(User)d(Guide)150 299 y(section\).)43 b(If)30
b(y)m(ou)h(w)m(an)m(t)g(to)g(use)g(metac)m(haracters)i(in)d(a)h(name)f
(or)h(use)f(a)h(metho)s(d)f(name)g(as)h(a)g(v)-5 b(ariable)150
408 y(name)30 b(then)g(the)h(name)f(has)h(to)g(b)s(e)e(quoted)i(wherev)
@@ -24461,470 +24524,469 @@ b(If)47 b(UTF-8)g(is)g(supported,)e(then)i(a)g(multi-byte)e(UTF-8)438
1285 y(*/)p eop end
%%Page: 156 162
TeXDict begin 156 161 bop 150 -116 a FD(156)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(4.2)68 b Fc(ncatted)42
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.2)68 b Fc(ncatted)42
b FB(netCDF)j(A)l(ttribute)g(Editor)150 458 y FD(SYNT)-8
-b(AX)390 618 y Fy(ncatted)46 b([-a)h Fn(att_dsc)p Fy(])e([-a)i(...)o(])
+b(AX)390 620 y Fy(ncatted)46 b([-a)h Fn(att_dsc)p Fy(])e([-a)i(...)o(])
h([-D)f Fn(dbg)p Fy(])f([-h])h([--hdr_pad)e Fn(nbr)p
-Fy(])390 727 y([-l)i Fn(path)p Fy(])f([-O])h([-o)g Fn(output-file)p
+Fy(])390 730 y([-l)i Fn(path)p Fy(])f([-O])h([-o)g Fn(output-file)p
Fy(])d([-p)j Fn(path)p Fy(])g([-R])f([-r])h([--ram_all])390
-837 y Fn(input-file)e Fy([[)p Fn(output-file)p Fy(]])150
-996 y FD(DESCRIPTION)275 1156 y Fy(ncatted)35 b FD(edits)k(attributes)f
-(in)g(a)g(netCDF)h(\014le.)63 b(If)38 b(y)m(ou)g(are)g(editing)h
-(attributes)g(then)e(y)m(ou)i(are)150 1265 y(sp)s(ending)e(to)s(o)i(m)m
+839 y Fn(input-file)e Fy([[)p Fn(output-file)p Fy(]])150
+1001 y FD(DESCRIPTION)275 1163 y Fy(ncatted)35 b FD(edits)k(attributes)
+f(in)g(a)g(netCDF)h(\014le.)63 b(If)38 b(y)m(ou)g(are)g(editing)h
+(attributes)g(then)e(y)m(ou)i(are)150 1272 y(sp)s(ending)e(to)s(o)i(m)m
(uc)m(h)g(time)g(in)g(the)f(w)m(orld)h(of)g(metadata,)j(and)c
Fy(ncatted)f FD(w)m(as)i(written)f(to)i(get)g(y)m(ou)150
-1375 y(bac)m(k)28 b(out)g(as)f(quic)m(kly)h(and)f(painlessly)h(as)f(p)s
+1382 y(bac)m(k)28 b(out)g(as)f(quic)m(kly)h(and)f(painlessly)h(as)f(p)s
(ossible.)40 b Fy(ncatted)25 b FD(can)j Fz(app)s(end)p
FD(,)e Fz(create)p FD(,)k Fz(delete)p FD(,)f Fz(mo)s(dify)p
-FD(,)150 1484 y(and)35 b Fz(o)m(v)m(erwrite)43 b FD(attributes)37
+FD(,)150 1491 y(and)35 b Fz(o)m(v)m(erwrite)43 b FD(attributes)37
b(\(all)g(explained)g(b)s(elo)m(w\).)58 b Fy(ncatted)34
b FD(allo)m(ws)k(eac)m(h)f(editing)g(op)s(eration)f(to)150
-1594 y(b)s(e)29 b(applied)h(to)h(ev)m(ery)f(v)-5 b(ariable)31
+1601 y(b)s(e)29 b(applied)h(to)h(ev)m(ery)f(v)-5 b(ariable)31
b(in)f(a)g(\014le.)41 b(This)29 b(sa)m(v)m(es)i(time)g(when)d(c)m
-(hanging)j(attribute)g(con)m(v)m(en)m(tions)150 1704
+(hanging)j(attribute)g(con)m(v)m(en)m(tions)150 1711
y(throughout)e(a)h(\014le.)41 b Fy(ncatted)28 b FD(is)h(for)h
Fo(writing)38 b FD(attributes.)j(T)-8 b(o)30 b Fo(r)-5
b(e)g(ad)41 b FD(attribute)31 b(v)-5 b(alues)30 b(in)f(plain)h(text,)
-150 1813 y(use)35 b Fy(ncks)29 b(-m)h(-M)p FD(,)35 b(or)g(de\014ne)g
+150 1820 y(use)35 b Fy(ncks)29 b(-m)h(-M)p FD(,)35 b(or)g(de\014ne)g
(something)g(lik)m(e)h Fy(ncattget)d FD(as)i(a)h(shell)f(command)f
-(\(see)i(Section)g(4.7.2)150 1923 y([Filters)c(for)e
-Fy(ncks)p FD(],)f(page)j(184\).)275 2082 y(Because)46
+(\(see)i(Section)g(4.7.2)150 1930 y([Filters)c(for)e
+Fy(ncks)p FD(],)f(page)j(184\).)275 2091 y(Because)46
b(rep)s(eated)f(use)f(of)h Fy(ncatted)e FD(can)i(considerably)g
-(increase)h(the)f(size)h(of)f(the)g Fy(history)150 2192
+(increase)h(the)f(size)h(of)f(the)g Fy(history)150 2201
y FD(global)32 b(attribute)g(\(see)g(Section)g(3.35)h([History)e(A)m
(ttribute],)i(page)f(97\),)h(the)e(`)p Fy(-h)p FD(')g(switc)m(h)g(is)g
-(pro)m(vided)150 2301 y(to)j(o)m(v)m(erride)h(automatically)i(app)s
+(pro)m(vided)150 2311 y(to)j(o)m(v)m(erride)h(automatically)i(app)s
(ending)32 b(the)i(command)g(to)g(the)g Fy(history)e
-FD(global)j(attribute)f(in)g(the)150 2411 y Fz(output-\014le)p
-FD(.)275 2570 y(When)i Fy(ncatted)e FD(is)j(used)f(to)h(c)m(hange)h
+FD(global)j(attribute)f(in)g(the)150 2420 y Fz(output-\014le)p
+FD(.)275 2582 y(When)i Fy(ncatted)e FD(is)j(used)f(to)h(c)m(hange)h
(the)e Fy(_FillValue)e FD(attribute,)39 b(it)e(c)m(hanges)h(the)e(asso)
-s(ciated)150 2680 y(missing)22 b(data)h(self-consisten)m(tly)-8
+s(ciated)150 2692 y(missing)22 b(data)h(self-consisten)m(tly)-8
b(.)41 b(If)22 b(the)g(in)m(ternal)h(\015oating)g(p)s(oin)m(t)g
(represen)m(tation)g(of)f(a)h(missing)f(v)-5 b(alue,)150
-2790 y(e.g.,)38 b(1.0e36,)g(di\013ers)d(b)s(et)m(w)m(een)g(t)m(w)m(o)i
+2801 y(e.g.,)38 b(1.0e36,)g(di\013ers)d(b)s(et)m(w)m(een)g(t)m(w)m(o)i
(mac)m(hines)e(then)g(netCDF)g(\014les)g(pro)s(duced)e(on)i(those)g
-(mac)m(hines)150 2899 y(will)28 b(ha)m(v)m(e)h(incompatible)g(missing)e
+(mac)m(hines)150 2911 y(will)28 b(ha)m(v)m(e)h(incompatible)g(missing)e
(v)-5 b(alues.)40 b(This)27 b(allo)m(ws)i Fy(ncatted)d
FD(to)i(c)m(hange)h(the)f(missing)f(v)-5 b(alues)28 b(in)150
-3009 y(\014les)34 b(from)g(di\013eren)m(t)g(mac)m(hines)h(to)g(a)f
+3020 y(\014les)34 b(from)g(di\013eren)m(t)g(mac)m(hines)h(to)g(a)f
(single)h(v)-5 b(alue)35 b(so)f(that)h(the)f(\014les)g(ma)m(y)h(then)f
-(b)s(e)g(concatenated,)150 3118 y(e.g.,)d(b)m(y)d Fy(ncrcat)p
+(b)s(e)g(concatenated,)150 3130 y(e.g.,)d(b)m(y)d Fy(ncrcat)p
FD(,)g(without)g(losing)i(information.)40 b(See)29 b(Section)h(3.25)g
-([Missing)f(V)-8 b(alues],)31 b(page)e(70,)h(for)150
-3228 y(more)h(information.)275 3387 y(T)-8 b(o)38 b(master)g
+([Missing)f(V)-8 b(alues],)31 b(page)e(71,)h(for)150
+3240 y(more)h(information.)275 3401 y(T)-8 b(o)38 b(master)g
Fy(ncatted)d FD(one)j(m)m(ust)f(understand)f(the)i(meaning)g(of)g(the)f
-(structure)g(that)i(describ)s(es)150 3497 y(the)32 b(attribute)g(mo)s
-(di\014cation,)h Fz(att)p 1364 3497 28 4 v 41 w(dsc)k
+(structure)g(that)i(describ)s(es)150 3511 y(the)32 b(attribute)g(mo)s
+(di\014cation,)h Fz(att)p 1364 3511 28 4 v 41 w(dsc)k
FD(sp)s(eci\014ed)31 b(b)m(y)h(the)g(required)f(option)h(`)p
-Fy(-a)p FD(')g(or)f(`)p Fy(--attribute)p FD('.)150 3606
-y(Eac)m(h)38 b Fz(att)p 504 3606 V 41 w(dsc)43 b FD(con)m(tains)c
+Fy(-a)p FD(')g(or)f(`)p Fy(--attribute)p FD('.)150 3620
+y(Eac)m(h)38 b Fz(att)p 504 3620 V 41 w(dsc)43 b FD(con)m(tains)c
(\014v)m(e)f(elemen)m(ts,)j(whic)m(h)d(mak)m(es)g(using)f
-Fy(ncatted)f FD(somewhat)i(complicated,)150 3716 y(y)m(et)32
-b(p)s(o)m(w)m(erful.)40 b(The)30 b Fz(att)p 1014 3716
+Fy(ncatted)f FD(somewhat)i(complicated,)150 3730 y(y)m(et)32
+b(p)s(o)m(w)m(erful.)40 b(The)30 b Fz(att)p 1014 3730
V 41 w(dsc)35 b FD(\014elds)30 b(are)h(in)f(the)h(follo)m(wing)g
-(order:)275 3985 y Fz(att)p 396 3985 V 41 w(dsc)k FD(=)30
-b Fz(att)p 815 3985 V 41 w(nm)p FD(,)g Fz(v)-5 b(ar)p
-1162 3985 V 40 w(nm)p FD(,)30 b Fz(mo)s(de)p FD(,)g Fz(att)p
-1769 3985 V 41 w(t)m(yp)s(e)p FD(,)h Fz(att)p 2155 3985
-V 41 w(v)-5 b(al)150 4277 y(att)p 271 4277 V 41 w(nm)197
+(order:)275 4001 y Fz(att)p 396 4001 V 41 w(dsc)k FD(=)30
+b Fz(att)p 815 4001 V 41 w(nm)p FD(,)g Fz(v)-5 b(ar)p
+1162 4001 V 40 w(nm)p FD(,)30 b Fz(mo)s(de)p FD(,)g Fz(att)p
+1769 4001 V 41 w(t)m(yp)s(e)p FD(,)h Fz(att)p 2155 4001
+V 41 w(v)-5 b(al)150 4300 y(att)p 271 4300 V 41 w(nm)197
b FD(A)m(ttribute)31 b(name.)41 b(Example:)g Fy(units)150
-4433 y Fz(v)-5 b(ar)p 280 4433 V 40 w(nm)189 b FD(V)-8
+4464 y Fz(v)-5 b(ar)p 280 4464 V 40 w(nm)189 b FD(V)-8
b(ariable)41 b(name.)69 b(Example:)59 b Fy(pressure)p
FD(,)40 b Fy('^H2O')p FD(.)67 b(Regular)40 b(expressions)g(\(see)g
-(Sec-)630 4543 y(tion)28 b(3.11)i([Subsetting)e(Files],)h(page)g(40\))g
+(Sec-)630 4574 y(tion)28 b(3.11)i([Subsetting)e(Files],)h(page)g(40\))g
(are)f(accepted)i(and)d(will)h(select)i(an)m(y)e(matc)m(hing)630
-4653 y(v)-5 b(ariable)31 b(names.)41 b(The)30 b(names)g
-Fy(global)f FD(and)g Fy(group)g FD(ha)m(v)m(e)j(sp)s(ecial)f(meaning.)
-150 4809 y Fz(mo)s(de)265 b FD(Edit)35 b(mo)s(de)f(abbreviation.)56
+4683 y(v)-5 b(ariable)43 b(\()p Fo(not)52 b FD(attribute\))43
+b(names.)76 b(The)41 b(names)h Fy(global)f FD(and)g Fy(group)g
+FD(ha)m(v)m(e)i(sp)s(ecial)630 4793 y(meaning.)150 4957
+y Fz(mo)s(de)265 b FD(Edit)35 b(mo)s(de)f(abbreviation.)56
b(Example:)50 b Fy(a)p FD(.)k(See)35 b(b)s(elo)m(w)g(for)g(complete)i
-(listing)e(of)h(v)-5 b(alid)630 4918 y(v)g(alues)31 b(of)f
-Fz(mo)s(de)p FD(.)150 5074 y Fz(att)p 271 5074 V 41 w(t)m(yp)s(e)150
+(listing)e(of)h(v)-5 b(alid)630 5066 y(v)g(alues)31 b(of)f
+Fz(mo)s(de)p FD(.)150 5230 y Fz(att)p 271 5230 V 41 w(t)m(yp)s(e)150
b FD(A)m(ttribute)40 b(t)m(yp)s(e)g(abbreviation.)68
b(Example:)58 b Fy(c)p FD(.)67 b(See)40 b(b)s(elo)m(w)f(for)g(complete)
-i(listing)f(of)630 5184 y(v)-5 b(alid)31 b(v)-5 b(alues)30
-b(of)h Fz(att)p 1345 5184 V 41 w(t)m(yp)s(e)p FD(.)150
-5340 y Fz(att)p 271 5340 V 41 w(v)-5 b(al)211 b FD(A)m(ttribute)31
-b(v)-5 b(alue.)41 b(Example:)g Fy(pascal)p FD(.)p eop
-end
+i(listing)f(of)630 5340 y(v)-5 b(alid)31 b(v)-5 b(alues)30
+b(of)h Fz(att)p 1345 5340 V 41 w(t)m(yp)s(e)p FD(.)p
+eop end
%%Page: 157 163
TeXDict begin 157 162 bop 150 -116 a FD(Chapter)30 b(4:)41
b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(157)150
-299 y(There)25 b(should)g(b)s(e)g(no)h(empt)m(y)g(space)g(b)s(et)m(w)m
-(een)g(these)h(\014v)m(e)f(consecutiv)m(e)h(argumen)m(ts.)40
-b(The)25 b(description)150 408 y(of)31 b(these)f(argumen)m(ts)h(follo)m
-(ws)h(in)e(their)g(order)g(of)g(app)s(earance.)275 570
-y(The)37 b(v)-5 b(alue)38 b(of)g Fz(att)p 943 570 28
-4 v 42 w(nm)f FD(is)h(the)g(name)g(of)g(the)g(attribute)h(y)m(ou)f(w)m
-(an)m(t)h(to)g(edit.)63 b(This)38 b(meaning)g(of)150
-679 y(this)29 b(should)f(b)s(e)h(clear)h(to)g(all)g Fy(ncatted)e
-FD(users.)39 b(Recall,)31 b(as)f(men)m(tioned)g(ab)s(o)m(v)m(e,)h(that)
-e Fz(v)-5 b(ar)p 3271 679 V 40 w(nm)29 b FD(ma)m(y)h(b)s(e)150
-789 y(sp)s(eci\014ed)g(as)h(a)h(regular)f(expression.)42
-b(If)30 b Fz(att)p 1702 789 V 42 w(nm)g FD(is)h(omitted)h(\(i.e.,)g
-(left)g(blank\))f(and)f Fz(Delete)38 b FD(mo)s(de)31
-b(is)150 898 y(selected,)h(then)e(all)h(attributes)g(asso)s(ciated)h
-(with)e(the)h(sp)s(eci\014ed)f(v)-5 b(ariable)31 b(will)f(b)s(e)g
-(deleted.)275 1060 y(The)23 b(v)-5 b(alue)24 b(of)g Fz(v)-5
-b(ar)p 910 1060 V 40 w(nm)23 b FD(is)h(the)g(name)g(of)g(the)h(v)-5
-b(ariable)24 b(con)m(taining)i(the)e(attribute)g(\(named)g
-Fz(att)p 3553 1060 V 41 w(nm)p FD(\))150 1169 y(that)34
-b(y)m(ou)h(w)m(an)m(t)f(to)h(edit.)52 b(There)33 b(are)h(three)g(v)m
-(ery)g(imp)s(ortan)m(t)g(and)g(useful)f(exceptions)i(to)f(this)g(rule.)
-150 1279 y(The)39 b(v)-5 b(alue)39 b(of)h Fz(v)-5 b(ar)p
-832 1279 V 40 w(nm)38 b FD(can)h(also)h(b)s(e)f(used)f(to)i(direct)g
+299 y Fz(att)p 271 299 28 4 v 41 w(v)-5 b(al)211 b FD(A)m(ttribute)31
+b(v)-5 b(alue.)41 b(Example:)g Fy(pascal)p FD(.)150 484
+y(There)25 b(should)g(b)s(e)g(no)h(empt)m(y)g(space)g(b)s(et)m(w)m(een)
+g(these)h(\014v)m(e)f(consecutiv)m(e)h(argumen)m(ts.)40
+b(The)25 b(description)150 594 y(of)31 b(these)f(argumen)m(ts)h(follo)m
+(ws)h(in)e(their)g(order)g(of)g(app)s(earance.)275 754
+y(The)37 b(v)-5 b(alue)38 b(of)g Fz(att)p 943 754 V 42
+w(nm)f FD(is)h(the)g(name)g(of)g(the)g(attribute)h(y)m(ou)f(w)m(an)m(t)
+h(to)g(edit.)63 b(This)38 b(meaning)g(of)150 863 y(this)e(should)g(b)s
+(e)g(clear)i(to)f(all)h Fy(ncatted)c FD(users.)59 b(Recall,)40
+b(as)d(men)m(tioned)g(ab)s(o)m(v)m(e,)i(that)f Fz(v)-5
+b(ar)p 3382 863 V 39 w(nm)36 b FD(\(but)150 973 y(not)29
+b Fz(att)p 431 973 V 41 w(nm)p FD(\))g(ma)m(y)g(b)s(e)f(sp)s(eci\014ed)
+h(as)g(a)g(regular)g(expression.)40 b(If)28 b Fz(att)p
+2514 973 V 42 w(nm)g FD(is)h(omitted)g(\(i.e.,)i(left)f(blank\))150
+1083 y(and)j Fz(Delete)40 b FD(mo)s(de)33 b(is)g(selected,)j(then)c
+(all)j(attributes)e(asso)s(ciated)i(with)e(the)g(sp)s(eci\014ed)g(v)-5
+b(ariable)34 b(will)150 1192 y(b)s(e)c(deleted.)275 1352
+y(The)23 b(v)-5 b(alue)24 b(of)g Fz(v)-5 b(ar)p 910 1352
+V 40 w(nm)23 b FD(is)h(the)g(name)g(of)g(the)h(v)-5 b(ariable)24
+b(con)m(taining)i(the)e(attribute)g(\(named)g Fz(att)p
+3553 1352 V 41 w(nm)p FD(\))150 1462 y(that)34 b(y)m(ou)h(w)m(an)m(t)f
+(to)h(edit.)52 b(There)33 b(are)h(three)g(v)m(ery)g(imp)s(ortan)m(t)g
+(and)g(useful)f(exceptions)i(to)f(this)g(rule.)150 1571
+y(The)39 b(v)-5 b(alue)39 b(of)h Fz(v)-5 b(ar)p 832 1571
+V 40 w(nm)38 b FD(can)h(also)h(b)s(e)f(used)f(to)i(direct)g
Fy(ncatted)d FD(to)j(edit)f(global)i(attributes,)h(or)d(to)150
-1388 y(rep)s(eat)i(the)f(editing)h(op)s(eration)g(for)f(ev)m(ery)h
+1681 y(rep)s(eat)i(the)f(editing)h(op)s(eration)g(for)f(ev)m(ery)h
(group)f(or)g(v)-5 b(ariable)41 b(in)f(a)h(\014le.)71
-b(A)30 b(v)-5 b(alue)41 b(of)f Fz(v)-5 b(ar)p 3476 1388
-V 40 w(nm)40 b FD(of)150 1498 y Fy(global)34 b FD(indicates)j(that)f
-Fz(att)p 1180 1498 V 42 w(nm)f FD(refers)g(to)i(a)f(global)h(\(i.e.,)i
+b(A)30 b(v)-5 b(alue)41 b(of)f Fz(v)-5 b(ar)p 3476 1681
+V 40 w(nm)40 b FD(of)150 1790 y Fy(global)34 b FD(indicates)j(that)f
+Fz(att)p 1180 1790 V 42 w(nm)f FD(refers)g(to)i(a)f(global)h(\(i.e.,)i
(ro)s(ot-lev)m(el\))g(attribute,)f(rather)e(than)f(to)150
-1608 y(a)h(particular)h(v)-5 b(ariable's)37 b(attribute.)58
+1900 y(a)h(particular)h(v)-5 b(ariable's)37 b(attribute.)58
b(This)36 b(is)g(the)g(metho)s(d)g Fy(ncatted)e FD(supp)s(orts)g(for)i
-(editing)h(global)150 1717 y(attributes.)57 b(A)31 b(v)-5
-b(alue)36 b(of)g Fz(v)-5 b(ar)p 1199 1717 V 40 w(nm)34
+(editing)h(global)150 2010 y(attributes.)57 b(A)31 b(v)-5
+b(alue)36 b(of)g Fz(v)-5 b(ar)p 1199 2010 V 40 w(nm)34
b FD(of)i Fy(group)e FD(indicates)j(that)f Fz(att)p 2485
-1717 V 41 w(nm)f FD(refers)h(to)g(all)h(groups,)f(rather)150
-1827 y(than)41 b(to)h(a)g(particular)g(v)-5 b(ariable's)42
+2010 V 41 w(nm)f FD(refers)h(to)g(all)h(groups,)f(rather)150
+2119 y(than)41 b(to)h(a)g(particular)g(v)-5 b(ariable's)42
b(or)f(group's)g(attribute.)75 b(The)41 b(op)s(eration)h(will)f(pro)s
-(ceed)g(to)h(edit)150 1936 y(group)28 b(metadata)i(for)e(ev)m(ery)h
+(ceed)g(to)h(edit)150 2229 y(group)28 b(metadata)i(for)e(ev)m(ery)h
(group.)39 b(Finally)-8 b(,)30 b(if)f Fz(v)-5 b(ar)p
-2012 1936 V 40 w(nm)27 b FD(is)h(left)h(blank,)g(then)f
-Fy(ncatted)e FD(attempts)j(to)150 2046 y(p)s(erform)g(the)i(editing)h
+2012 2229 V 40 w(nm)27 b FD(is)h(left)h(blank,)g(then)f
+Fy(ncatted)e FD(attempts)j(to)150 2338 y(p)s(erform)g(the)i(editing)h
(op)s(eration)f(on)g(ev)m(ery)h(v)-5 b(ariable)31 b(in)g(the)g(\014le.)
42 b(This)30 b(option)h(ma)m(y)h(b)s(e)e(con)m(v)m(enien)m(t)150
-2156 y(to)h(use)f(if)h(y)m(ou)f(decide)h(to)g(c)m(hange)h(the)e(con)m
+2448 y(to)h(use)f(if)h(y)m(ou)f(decide)h(to)g(c)m(hange)h(the)e(con)m
(v)m(en)m(tions)j(y)m(ou)d(use)g(for)h(describing)f(the)g(data.)275
-2317 y(The)h(v)-5 b(alue)33 b(of)g Fz(mo)s(de)k FD(is)c(a)f(single)h(c)
+2608 y(The)h(v)-5 b(alue)33 b(of)g Fz(mo)s(de)k FD(is)c(a)f(single)h(c)
m(haracter)h(abbreviation)g(\()p Fy(a)p FD(,)f Fy(c)p
FD(,)g Fy(d)p FD(,)f Fy(m)p FD(,)h(or)g Fy(o)p FD(\))f(standing)g(for)h
-(one)150 2426 y(of)e(\014v)m(e)f(editing)h(mo)s(des:)150
-2724 y Fy(a)432 b Fz(App)s(end)p FD(.)96 b(App)s(end)48
-b(v)-5 b(alue)50 b Fz(att)p 1804 2724 V 41 w(v)-5 b(al)53
-b FD(to)e(curren)m(t)e Fz(v)-5 b(ar)p 2601 2724 V 40
-w(nm)48 b FD(attribute)j Fz(att)p 3335 2724 V 41 w(nm)d
-FD(v)-5 b(alue)630 2834 y Fz(att)p 751 2834 V 41 w(v)g(al)p
+(one)150 2717 y(of)e(\014v)m(e)f(editing)h(mo)s(des:)150
+3012 y Fy(a)432 b Fz(App)s(end)p FD(.)96 b(App)s(end)48
+b(v)-5 b(alue)50 b Fz(att)p 1804 3012 V 41 w(v)-5 b(al)53
+b FD(to)e(curren)m(t)e Fz(v)-5 b(ar)p 2601 3012 V 40
+w(nm)48 b FD(attribute)j Fz(att)p 3335 3012 V 41 w(nm)d
+FD(v)-5 b(alue)630 3122 y Fz(att)p 751 3122 V 41 w(v)g(al)p
FD(,)41 b(if)d(an)m(y)-8 b(.)65 b(If)37 b Fz(v)-5 b(ar)p
-1507 2834 V 40 w(nm)37 b FD(do)s(es)h(not)h(ha)m(v)m(e)g(an)f
-(attribute)h Fz(att)p 2952 2834 V 41 w(nm)p FD(,)g(there)f(is)h(no)f
-(ef-)630 2943 y(fect.)150 3106 y Fy(c)432 b Fz(Create)p
+1507 3122 V 40 w(nm)37 b FD(do)s(es)h(not)h(ha)m(v)m(e)g(an)f
+(attribute)h Fz(att)p 2952 3122 V 41 w(nm)p FD(,)g(there)f(is)h(no)f
+(ef-)630 3232 y(fect.)150 3392 y Fy(c)432 b Fz(Create)p
FD(.)56 b(Create)36 b(v)-5 b(ariable)36 b Fz(v)-5 b(ar)p
-1747 3106 V 40 w(nm)35 b FD(attribute)g Fz(att)p 2452
-3106 V 42 w(nm)f FD(with)h Fz(att)p 2982 3106 V 41 w(v)-5
-b(al)39 b FD(if)d Fz(att)p 3379 3106 V 41 w(nm)e FD(do)s(es)630
-3216 y(not)d(y)m(et)g(exist.)42 b(If)30 b Fz(v)-5 b(ar)p
-1415 3216 V 40 w(nm)29 b FD(already)i(has)f(an)g(attribute)i
-Fz(att)p 2720 3216 V 41 w(nm)p FD(,)e(there)g(is)h(no)f(e\013ect.)150
-3379 y Fy(d)432 b Fz(Delete)p FD(.)57 b(Delete)37 b(curren)m(t)e
-Fz(v)-5 b(ar)p 1698 3379 V 40 w(nm)34 b FD(attribute)h
-Fz(att)p 2402 3379 V 42 w(nm)p FD(.)53 b(If)35 b Fz(v)-5
-b(ar)p 2869 3379 V 40 w(nm)34 b FD(do)s(es)h(not)g(ha)m(v)m(e)h(an)630
-3488 y(attribute)23 b Fz(att)p 1127 3488 V 41 w(nm)p
+1747 3392 V 40 w(nm)35 b FD(attribute)g Fz(att)p 2452
+3392 V 42 w(nm)f FD(with)h Fz(att)p 2982 3392 V 41 w(v)-5
+b(al)39 b FD(if)d Fz(att)p 3379 3392 V 41 w(nm)e FD(do)s(es)630
+3502 y(not)d(y)m(et)g(exist.)42 b(If)30 b Fz(v)-5 b(ar)p
+1415 3502 V 40 w(nm)29 b FD(already)i(has)f(an)g(attribute)i
+Fz(att)p 2720 3502 V 41 w(nm)p FD(,)e(there)g(is)h(no)f(e\013ect.)150
+3662 y Fy(d)432 b Fz(Delete)p FD(.)57 b(Delete)37 b(curren)m(t)e
+Fz(v)-5 b(ar)p 1698 3662 V 40 w(nm)34 b FD(attribute)h
+Fz(att)p 2402 3662 V 42 w(nm)p FD(.)53 b(If)35 b Fz(v)-5
+b(ar)p 2869 3662 V 40 w(nm)34 b FD(do)s(es)h(not)g(ha)m(v)m(e)h(an)630
+3772 y(attribute)23 b Fz(att)p 1127 3772 V 41 w(nm)p
FD(,)g(there)f(is)g(no)f(e\013ect.)40 b(If)21 b Fz(att)p
-2237 3488 V 41 w(nm)g FD(is)h(omitted)h(\(left)g(blank\),)h(then)d(all)
-i(at-)630 3598 y(tributes)j(asso)s(ciated)i(with)f(the)f(sp)s
+2237 3772 V 41 w(nm)g FD(is)h(omitted)h(\(left)g(blank\),)h(then)d(all)
+i(at-)630 3881 y(tributes)j(asso)s(ciated)i(with)f(the)f(sp)s
(eci\014ed)g(v)-5 b(ariable)28 b(are)f(automatically)i(deleted.)40
-b(When)630 3708 y Fz(Delete)46 b FD(mo)s(de)39 b(is)g(selected,)j(the)d
-Fz(att)p 1939 3708 V 42 w(t)m(yp)s(e)44 b FD(and)38 b
-Fz(att)p 2499 3708 V 41 w(v)-5 b(al)43 b FD(argumen)m(ts)c(are)h(sup)s
-(er\015uous)630 3817 y(and)30 b(ma)m(y)h(b)s(e)e(left)j(blank.)150
-3980 y Fy(m)432 b Fz(Mo)s(dify)p FD(.)46 b(Change)33
+b(When)630 3991 y Fz(Delete)46 b FD(mo)s(de)39 b(is)g(selected,)j(the)d
+Fz(att)p 1939 3991 V 42 w(t)m(yp)s(e)44 b FD(and)38 b
+Fz(att)p 2499 3991 V 41 w(v)-5 b(al)43 b FD(argumen)m(ts)c(are)h(sup)s
+(er\015uous)630 4100 y(and)30 b(ma)m(y)h(b)s(e)e(left)j(blank.)150
+4261 y Fy(m)432 b Fz(Mo)s(dify)p FD(.)46 b(Change)33
b(v)-5 b(alue)32 b(of)h(curren)m(t)f Fz(v)-5 b(ar)p 2105
-3980 V 40 w(nm)31 b FD(attribute)j Fz(att)p 2805 3980
-V 41 w(nm)d FD(to)i(v)-5 b(alue)33 b Fz(att)p 3469 3980
-V 41 w(v)-5 b(al)p FD(.)47 b(If)630 4090 y Fz(v)-5 b(ar)p
-760 4090 V 40 w(nm)30 b FD(do)s(es)g(not)g(ha)m(v)m(e)i(an)e(attribute)
-h Fz(att)p 2158 4090 V 41 w(nm)p FD(,)f(there)h(is)f(no)g(e\013ect.)150
-4253 y Fy(o)432 b Fz(Ov)m(erwrite)p FD(.)40 b(W)-8 b(rite)29
-b(attribute)f Fz(att)p 1841 4253 V 41 w(nm)e FD(with)h(v)-5
-b(alue)28 b Fz(att)p 2586 4253 V 41 w(v)-5 b(al)32 b
-FD(to)c(v)-5 b(ariable)28 b Fz(v)-5 b(ar)p 3342 4253
-V 40 w(nm)p FD(,)27 b(o)m(v)m(er-)630 4363 y(writing)j(existing)i
-(attribute)f Fz(att)p 1785 4363 V 41 w(nm)p FD(,)f(if)g(an)m(y)-8
+4261 V 40 w(nm)31 b FD(attribute)j Fz(att)p 2805 4261
+V 41 w(nm)d FD(to)i(v)-5 b(alue)33 b Fz(att)p 3469 4261
+V 41 w(v)-5 b(al)p FD(.)47 b(If)630 4370 y Fz(v)-5 b(ar)p
+760 4370 V 40 w(nm)30 b FD(do)s(es)g(not)g(ha)m(v)m(e)i(an)e(attribute)
+h Fz(att)p 2158 4370 V 41 w(nm)p FD(,)f(there)h(is)f(no)g(e\013ect.)150
+4531 y Fy(o)432 b Fz(Ov)m(erwrite)p FD(.)40 b(W)-8 b(rite)29
+b(attribute)f Fz(att)p 1841 4531 V 41 w(nm)e FD(with)h(v)-5
+b(alue)28 b Fz(att)p 2586 4531 V 41 w(v)-5 b(al)32 b
+FD(to)c(v)-5 b(ariable)28 b Fz(v)-5 b(ar)p 3342 4531
+V 40 w(nm)p FD(,)27 b(o)m(v)m(er-)630 4640 y(writing)j(existing)i
+(attribute)f Fz(att)p 1785 4640 V 41 w(nm)p FD(,)f(if)g(an)m(y)-8
b(.)42 b(This)29 b(is)i(the)f(default)h(mo)s(de.)275
-4551 y(The)d(v)-5 b(alue)30 b(of)f Fz(att)p 917 4551
+4826 y(The)d(v)-5 b(alue)30 b(of)f Fz(att)p 917 4826
V 41 w(t)m(yp)s(e)34 b FD(is)c(a)f(single)h(c)m(haracter)h
(abbreviation)e(\()p Fy(f)p FD(,)h Fy(d)p FD(,)f Fy(l)p
FD(,)g Fy(i)p FD(,)h Fy(s)p FD(,)f Fy(c)p FD(,)g Fy(b)p
-FD(,)h Fy(u)p FD(\))f(or)g(a)g(short)150 4660 y(string)h(standing)h
+FD(,)h Fy(u)p FD(\))f(or)g(a)g(short)150 4935 y(string)h(standing)h
(for)f(one)g(of)h(the)f(t)m(w)m(elv)m(e)j(primitiv)m(e)e(netCDF)g(data)
-g(t)m(yp)s(es:)150 4958 y Fy(f)432 b Fz(Float)p FD(.)77
+g(t)m(yp)s(es:)150 5230 y Fy(f)432 b Fz(Float)p FD(.)77
b(V)-8 b(alue\(s\))44 b(sp)s(eci\014ed)d(in)h Fz(att)p
-1929 4958 V 41 w(v)-5 b(al)46 b FD(will)c(b)s(e)g(stored)g(as)g(netCDF)
-g(in)m(trinsic)h(t)m(yp)s(e)630 5067 y Fy(NC_FLOAT)p
-FD(.)150 5230 y Fy(d)432 b Fz(Double)p FD(.)60 b(V)-8
-b(alue\(s\))38 b(sp)s(eci\014ed)e(in)g Fz(att)p 1967
-5230 V 41 w(v)-5 b(al)41 b FD(will)36 b(b)s(e)g(stored)h(as)g(netCDF)g
-(in)m(trinsic)g(t)m(yp)s(e)630 5340 y Fy(NC_DOUBLE)p
+1929 5230 V 41 w(v)-5 b(al)46 b FD(will)c(b)s(e)g(stored)g(as)g(netCDF)
+g(in)m(trinsic)h(t)m(yp)s(e)630 5340 y Fy(NC_FLOAT)p
FD(.)p eop end
%%Page: 158 164
TeXDict begin 158 163 bop 150 -116 a FD(158)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(i,)g(l)306 b Fz(In)m(teger)33
-b FD(or)25 b Fz(Long)p FD(.)39 b(V)-8 b(alue\(s\))27
-b(sp)s(eci\014ed)d(in)h Fz(att)p 2245 299 28 4 v 41 w(v)-5
-b(al)30 b FD(will)25 b(b)s(e)g(stored)g(as)h(netCDF)g(in)m(trinsic)630
-408 y(t)m(yp)s(e)31 b Fy(NC_INT)p FD(.)150 571 y Fy(s)432
-b Fz(Short)p FD(.)73 b(V)-8 b(alue\(s\))43 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 1932 571 V 41 w(v)-5 b(al)46 b FD(will)c(b)s(e)f(stored)g(as)h
-(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630 681 y Fy(NC_SHORT)p
-FD(.)150 843 y Fy(c)432 b Fz(Char)p FD(.)78 b(V)-8 b(alue\(s\))44
-b(sp)s(eci\014ed)f(in)f Fz(att)p 1921 843 V 42 w(v)-5
-b(al)47 b FD(will)c(b)s(e)f(stored)i(as)f(netCDF)g(in)m(trinsic)h(t)m
-(yp)s(e)630 953 y Fy(NC_CHAR)p FD(.)150 1115 y Fy(b)432
-b Fz(Byte)p FD(.)82 b(V)-8 b(alue\(s\))45 b(sp)s(eci\014ed)e(in)h
-Fz(att)p 1917 1115 V 41 w(v)-5 b(al)48 b FD(will)c(b)s(e)f(stored)g(as)
-h(netCDF)h(in)m(trinsic)f(t)m(yp)s(e)630 1225 y Fy(NC_BYTE)p
-FD(.)150 1388 y Fy(ub)384 b Fz(Unsigned)28 b(Byte)p FD(.)41
-b(V)-8 b(alue\(s\))30 b(sp)s(eci\014ed)e(in)g Fz(att)p
-2225 1388 V 42 w(v)-5 b(al)32 b FD(will)d(b)s(e)f(stored)h(as)f(netCDF)
-i(in)m(trinsic)630 1497 y(t)m(yp)s(e)h Fy(NC_UBYTE)p
-FD(.)150 1660 y Fy(us)384 b Fz(Unsigned)25 b(Short)p
-FD(.)39 b(V)-8 b(alue\(s\))27 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 2242 1660 V 42 w(v)-5 b(al)29 b FD(will)d(b)s(e)g(stored)f(as)
-h(netCDF)h(in)m(trinsic)630 1769 y(t)m(yp)s(e)k Fy(NC_USHORT)p
-FD(.)150 1932 y Fy(u,)f(ui,)f(ul)85 b Fz(Unsigned)34
-b(In)m(t)p FD(.)53 b(V)-8 b(alue\(s\))36 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 2190 1932 V 41 w(v)-5 b(al)39 b FD(will)34 b(b)s(e)g(stored)h
-(as)f(netCDF)i(in)m(trinsic)630 2041 y(t)m(yp)s(e)31
-b Fy(NC_UINT)p FD(.)150 2204 y Fy(ll,)e(int64)67 b Fz(In)m(t64)p
-FD(.)77 b(V)-8 b(alue\(s\))44 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 1927 2204 V 41 w(v)-5 b(al)46 b FD(will)d(b)s(e)e(stored)i(as)
-f(netCDF)h(in)m(trinsic)g(t)m(yp)s(e)630 2314 y Fy(NC_INT64)p
-FD(.)150 2476 y Fy(ull,)29 b(uint64)630 2586 y Fz(Uin)m(t64)p
+b FD(4.4.6)j(User)d(Guide)150 299 y Fy(d)432 b Fz(Double)p
+FD(.)60 b(V)-8 b(alue\(s\))38 b(sp)s(eci\014ed)e(in)g
+Fz(att)p 1967 299 28 4 v 41 w(v)-5 b(al)41 b FD(will)36
+b(b)s(e)g(stored)h(as)g(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630
+408 y Fy(NC_DOUBLE)p FD(.)150 566 y Fy(i,)30 b(l)306
+b Fz(In)m(teger)33 b FD(or)25 b Fz(Long)p FD(.)39 b(V)-8
+b(alue\(s\))27 b(sp)s(eci\014ed)d(in)h Fz(att)p 2245
+566 V 41 w(v)-5 b(al)30 b FD(will)25 b(b)s(e)g(stored)g(as)h(netCDF)g
+(in)m(trinsic)630 676 y(t)m(yp)s(e)31 b Fy(NC_INT)p FD(.)150
+834 y Fy(s)432 b Fz(Short)p FD(.)73 b(V)-8 b(alue\(s\))43
+b(sp)s(eci\014ed)e(in)g Fz(att)p 1932 834 V 41 w(v)-5
+b(al)46 b FD(will)c(b)s(e)f(stored)g(as)h(netCDF)g(in)m(trinsic)g(t)m
+(yp)s(e)630 944 y Fy(NC_SHORT)p FD(.)150 1102 y Fy(c)432
+b Fz(Char)p FD(.)78 b(V)-8 b(alue\(s\))44 b(sp)s(eci\014ed)f(in)f
+Fz(att)p 1921 1102 V 42 w(v)-5 b(al)47 b FD(will)c(b)s(e)f(stored)i(as)
+f(netCDF)g(in)m(trinsic)h(t)m(yp)s(e)630 1211 y Fy(NC_CHAR)p
+FD(.)150 1369 y Fy(b)432 b Fz(Byte)p FD(.)82 b(V)-8 b(alue\(s\))45
+b(sp)s(eci\014ed)e(in)h Fz(att)p 1917 1369 V 41 w(v)-5
+b(al)48 b FD(will)c(b)s(e)f(stored)g(as)h(netCDF)h(in)m(trinsic)f(t)m
+(yp)s(e)630 1479 y Fy(NC_BYTE)p FD(.)150 1637 y Fy(ub)384
+b Fz(Unsigned)28 b(Byte)p FD(.)41 b(V)-8 b(alue\(s\))30
+b(sp)s(eci\014ed)e(in)g Fz(att)p 2225 1637 V 42 w(v)-5
+b(al)32 b FD(will)d(b)s(e)f(stored)h(as)f(netCDF)i(in)m(trinsic)630
+1746 y(t)m(yp)s(e)h Fy(NC_UBYTE)p FD(.)150 1904 y Fy(us)384
+b Fz(Unsigned)25 b(Short)p FD(.)39 b(V)-8 b(alue\(s\))27
+b(sp)s(eci\014ed)e(in)g Fz(att)p 2242 1904 V 42 w(v)-5
+b(al)29 b FD(will)d(b)s(e)g(stored)f(as)h(netCDF)h(in)m(trinsic)630
+2014 y(t)m(yp)s(e)k Fy(NC_USHORT)p FD(.)150 2172 y Fy(u,)f(ui,)f(ul)85
+b Fz(Unsigned)34 b(In)m(t)p FD(.)53 b(V)-8 b(alue\(s\))36
+b(sp)s(eci\014ed)e(in)g Fz(att)p 2190 2172 V 41 w(v)-5
+b(al)39 b FD(will)34 b(b)s(e)g(stored)h(as)f(netCDF)i(in)m(trinsic)630
+2281 y(t)m(yp)s(e)31 b Fy(NC_UINT)p FD(.)150 2439 y Fy(ll,)e(int64)67
+b Fz(In)m(t64)p FD(.)77 b(V)-8 b(alue\(s\))44 b(sp)s(eci\014ed)e(in)g
+Fz(att)p 1927 2439 V 41 w(v)-5 b(al)46 b FD(will)d(b)s(e)e(stored)i(as)
+f(netCDF)h(in)m(trinsic)g(t)m(yp)s(e)630 2549 y Fy(NC_INT64)p
+FD(.)150 2707 y Fy(ull,)29 b(uint64)630 2817 y Fz(Uin)m(t64)p
FD(.)64 b(V)-8 b(alue\(s\))39 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 1959 2586 V 42 w(v)-5 b(al)41 b FD(will)d(b)s(e)f(stored)h(as)
-g(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630 2695 y Fy(NC_UINT64)p
-FD(.)150 2858 y Fy(sng,)29 b(string)630 2968 y Fz(String)p
+Fz(att)p 1959 2817 V 42 w(v)-5 b(al)41 b FD(will)d(b)s(e)f(stored)h(as)
+g(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630 2926 y Fy(NC_UINT64)p
+FD(.)150 3084 y Fy(sng,)29 b(string)630 3194 y Fz(String)p
FD(.)68 b(V)-8 b(alue\(s\))41 b(sp)s(eci\014ed)e(in)g
-Fz(att)p 1946 2968 V 41 w(v)-5 b(al)44 b FD(will)c(b)s(e)e(stored)i(as)
-g(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630 3077 y Fy(NC_STRING)p
+Fz(att)p 1946 3194 V 41 w(v)-5 b(al)44 b FD(will)c(b)s(e)e(stored)i(as)
+g(netCDF)g(in)m(trinsic)g(t)m(yp)s(e)630 3303 y Fy(NC_STRING)p
FD(.)63 b(Note)41 b(that)e Fy(ncatted)e FD(handles)h(t)m(yp)s(e)h
-Fy(NC_STRING)d FD(attributes)k(correctly)630 3187 y(b)s(eginning)33
+Fy(NC_STRING)d FD(attributes)k(correctly)630 3413 y(b)s(eginning)33
b(with)h(v)m(ersion)h(4.3.3)g(released)g(in)f(July)-8
b(,)35 b(2013.)53 b(Earlier)35 b(v)m(ersions)f(fail)h(when)630
-3296 y(ask)m(ed)c(to)g(handle)f Fy(NC_STRING)e FD(attributes.)150
-3484 y(In)i Fz(Delete)37 b FD(mo)s(de)30 b(the)h(sp)s(eci\014cation)g
-(of)g Fz(att)p 1695 3484 V 41 w(t)m(yp)s(e)k FD(is)c(optional)g(\(and)f
-(is)h(ignored)f(if)h(supplied\).)275 3645 y(The)42 b(v)-5
-b(alue)43 b(of)h Fz(att)p 959 3645 V 41 w(v)-5 b(al)47
+3523 y(ask)m(ed)c(to)g(handle)f Fy(NC_STRING)e FD(attributes.)150
+3706 y(In)i Fz(Delete)37 b FD(mo)s(de)30 b(the)h(sp)s(eci\014cation)g
+(of)g Fz(att)p 1695 3706 V 41 w(t)m(yp)s(e)k FD(is)c(optional)g(\(and)f
+(is)h(ignored)f(if)h(supplied\).)275 3866 y(The)42 b(v)-5
+b(alue)43 b(of)h Fz(att)p 959 3866 V 41 w(v)-5 b(al)47
b FD(is)c(what)g(y)m(ou)g(w)m(an)m(t)h(to)g(c)m(hange)g(attribute)f
-Fz(att)p 2871 3645 V 42 w(nm)f FD(to)i(con)m(tain.)79
-b(The)150 3754 y(sp)s(eci\014cation)39 b(of)e Fz(att)p
-907 3754 V 42 w(v)-5 b(al)41 b FD(is)d(optional)h(in)f
+Fz(att)p 2871 3866 V 42 w(nm)f FD(to)i(con)m(tain.)79
+b(The)150 3975 y(sp)s(eci\014cation)39 b(of)e Fz(att)p
+907 3975 V 42 w(v)-5 b(al)41 b FD(is)d(optional)h(in)f
Fz(Delete)45 b FD(\(and)37 b(is)h(ignored\))g(mo)s(de.)62
-b(A)m(ttribute)39 b(v)-5 b(alues)38 b(for)150 3864 y(all)32
+b(A)m(ttribute)39 b(v)-5 b(alues)38 b(for)150 4085 y(all)32
b(t)m(yp)s(es)e(b)s(esides)g Fy(NC_CHAR)f FD(m)m(ust)h(ha)m(v)m(e)i(an)
f(attribute)g(length)g(of)g(at)g(least)h(one.)42 b(Th)m(us)29
-b Fz(att)p 3400 3864 V 42 w(v)-5 b(al)34 b FD(ma)m(y)150
-3974 y(b)s(e)f(a)h(single)g(v)-5 b(alue)34 b(or)f(one-dimensional)i
+b Fz(att)p 3400 4085 V 42 w(v)-5 b(al)34 b FD(ma)m(y)150
+4194 y(b)s(e)f(a)h(single)g(v)-5 b(alue)34 b(or)f(one-dimensional)i
(arra)m(y)f(of)f(elemen)m(ts)i(of)f(t)m(yp)s(e)g Fy(att_type)p
-FD(.)47 b(If)33 b(the)h Fz(att)p 3503 3974 V 41 w(v)-5
-b(al)38 b FD(is)150 4083 y(not)h(set)h(or)f(is)g(set)h(to)g(empt)m(y)f
-(space,)j(and)d(the)g Fz(att)p 1999 4083 V 41 w(t)m(yp)s(e)45
+FD(.)47 b(If)33 b(the)h Fz(att)p 3503 4194 V 41 w(v)-5
+b(al)38 b FD(is)150 4304 y(not)h(set)h(or)f(is)g(set)h(to)g(empt)m(y)f
+(space,)j(and)d(the)g Fz(att)p 1999 4304 V 41 w(t)m(yp)s(e)45
b FD(is)39 b Fy(NC_CHAR)p FD(,)g(e.g.,)k Fy(-a)30 b(units,T,o,c,"")150
-4193 y FD(or)38 b Fy(-a)30 b(units,T,o,c,)p FD(,)37 b(then)g(the)h
+4413 y FD(or)38 b Fy(-a)30 b(units,T,o,c,)p FD(,)37 b(then)g(the)h
(corresp)s(onding)f(attribute)i(is)f(set)h(to)f(ha)m(v)m(e)h(zero)g
-(length.)64 b(When)150 4302 y(sp)s(ecifying)44 b(an)g(arra)m(y)h(of)g
+(length.)64 b(When)150 4523 y(sp)s(ecifying)44 b(an)g(arra)m(y)h(of)g
(v)-5 b(alues,)48 b(it)d(is)g(safest)g(to)g(enclose)g
-Fz(att)p 2453 4302 V 41 w(v)-5 b(al)49 b FD(in)44 b(single)h(or)f
-(double)g(quotes,)150 4412 y(e.g.,)25 b Fy(-a)k(levels,T,o,s,"1,2,3,4")
+Fz(att)p 2453 4523 V 41 w(v)-5 b(al)49 b FD(in)44 b(single)h(or)f
+(double)g(quotes,)150 4633 y(e.g.,)25 b Fy(-a)k(levels,T,o,s,"1,2,3,4")
15 b FD(or)22 b Fy(-a)29 b(levels,T,o,s,'1,2,3,4')p FD(.)j(The)21
-b(quotes)g(are)h(strictly)150 4521 y(unnecessary)35 b(around)g
-Fz(att)p 1094 4521 V 41 w(v)-5 b(al)39 b FD(except)e(when)e
-Fz(att)p 1936 4521 V 41 w(v)-5 b(al)40 b FD(con)m(tains)c(c)m
-(haracters)h(whic)m(h)f(w)m(ould)f(confuse)150 4631 y(the)c(calling)g
+b(quotes)g(are)h(strictly)150 4742 y(unnecessary)35 b(around)g
+Fz(att)p 1094 4742 V 41 w(v)-5 b(al)39 b FD(except)e(when)e
+Fz(att)p 1936 4742 V 41 w(v)-5 b(al)40 b FD(con)m(tains)c(c)m
+(haracters)h(whic)m(h)f(w)m(ould)f(confuse)150 4852 y(the)c(calling)g
(shell,)g(suc)m(h)f(as)h(spaces,)g(commas,)g(and)f(wildcard)g(c)m
-(haracters.)275 4792 y FC(NCO)j FD(pro)s(cessing)g(of)h
+(haracters.)275 5011 y FC(NCO)j FD(pro)s(cessing)g(of)h
Fy(NC_CHAR)e FD(attributes)i(is)g(a)g(bit)g(lik)m(e)h(P)m(erl)f(in)g
-(that)g(it)g(attempts)h(to)f(do)g(what)150 4902 y(y)m(ou)40
+(that)g(it)g(attempts)h(to)f(do)g(what)150 5121 y(y)m(ou)40
b(w)m(an)m(t)h(b)m(y)f(default)g(\(but)f(this)h(sometimes)h(causes)f
(unexp)s(ected)g(results)f(if)h(y)m(ou)g(w)m(an)m(t)h(un)m(usual)150
-5011 y(data)26 b(storage\).)41 b(If)25 b(the)h Fz(att)p
-1094 5011 V 41 w(t)m(yp)s(e)31 b FD(is)26 b Fy(NC_CHAR)d
+5230 y(data)26 b(storage\).)41 b(If)25 b(the)h Fz(att)p
+1094 5230 V 41 w(t)m(yp)s(e)31 b FD(is)26 b Fy(NC_CHAR)d
FD(then)j(the)g(argumen)m(t)g(is)f(in)m(terpreted)h(as)g(a)g(string)f
-(and)g(it)150 5121 y(ma)m(y)i(con)m(tain)i(C-language)f(escap)s(e)f
+(and)g(it)150 5340 y(ma)m(y)i(con)m(tain)i(C-language)f(escap)s(e)f
(sequences,)h(e.g.,)h Fy(\\n)p FD(,)e(whic)m(h)g FC(NCO)f
-FD(will)h(in)m(terpret)h(b)s(efore)e(writing)150 5230
-y(an)m(ything)32 b(to)h(disk.)45 b FC(NCO)31 b FD(translates)i(v)-5
-b(alid)32 b(escap)s(e)h(sequences)f(and)f(stores)h(the)g(appropriate)g
-FC(ASCI)r(I)150 5340 y FD(co)s(de)37 b(instead.)62 b(Since)37
-b(t)m(w)m(o)i(b)m(yte)f(escap)s(e)f(sequences,)j(e.g.,)g
-Fy(\\n)p FD(,)f(represen)m(t)e(one-b)m(yte)i FC(ASCI)r(I)f
-FD(co)s(des,)p eop end
+FD(will)h(in)m(terpret)h(b)s(efore)e(writing)p eop end
%%Page: 159 165
TeXDict begin 159 164 bop 150 -116 a FD(Chapter)30 b(4:)41
b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(159)150
-299 y(e.g.,)27 b FC(ASCI)r(I)e FD(10)h(\(decimal\),)i(the)c(stored)h
-(string)g(attribute)g(is)g(one)g(b)m(yte)g(shorter)f(than)h(the)f
-(input)g(string)150 408 y(length)36 b(for)g(eac)m(h)i(em)m(b)s(edded)d
-(escap)s(e)h(sequence.)58 b(The)36 b(most)g(frequen)m(tly)h(used)e
-(C-language)i(escap)s(e)150 518 y(sequences)e(are)g Fy(\\n)e
-FD(\(for)i(linefeed\))g(and)f Fy(\\t)g FD(\(for)h(horizon)m(tal)h
-(tab\).)53 b(These)35 b(sequences)f(in)h(particular)150
-628 y(allo)m(w)e(con)m(v)m(enien)m(t)h(editing)e(of)g(formatted)g(text)
+299 y(an)m(ything)32 b(to)h(disk.)45 b FC(NCO)31 b FD(translates)i(v)-5
+b(alid)32 b(escap)s(e)h(sequences)f(and)f(stores)h(the)g(appropriate)g
+FC(ASCI)r(I)150 408 y FD(co)s(de)37 b(instead.)62 b(Since)37
+b(t)m(w)m(o)i(b)m(yte)f(escap)s(e)f(sequences,)j(e.g.,)g
+Fy(\\n)p FD(,)f(represen)m(t)e(one-b)m(yte)i FC(ASCI)r(I)f
+FD(co)s(des,)150 518 y(e.g.,)27 b FC(ASCI)r(I)e FD(10)h(\(decimal\),)i
+(the)c(stored)h(string)g(attribute)g(is)g(one)g(b)m(yte)g(shorter)f
+(than)h(the)f(input)g(string)150 628 y(length)36 b(for)g(eac)m(h)i(em)m
+(b)s(edded)d(escap)s(e)h(sequence.)58 b(The)36 b(most)g(frequen)m(tly)h
+(used)e(C-language)i(escap)s(e)150 737 y(sequences)e(are)g
+Fy(\\n)e FD(\(for)i(linefeed\))g(and)f Fy(\\t)g FD(\(for)h(horizon)m
+(tal)h(tab\).)53 b(These)35 b(sequences)f(in)h(particular)150
+847 y(allo)m(w)e(con)m(v)m(enien)m(t)h(editing)e(of)g(formatted)g(text)
h(attributes.)45 b(The)31 b(other)h(v)-5 b(alid)32 b
-FC(ASCI)r(I)g FD(co)s(des)g(are)g Fy(\\a)p FD(,)150 737
+FC(ASCI)r(I)g FD(co)s(des)g(are)g Fy(\\a)p FD(,)150 956
y Fy(\\b)p FD(,)37 b Fy(\\f)p FD(,)h Fy(\\r)p FD(,)f
Fy(\\v)p FD(,)h(and)e Fy(\\\\)p FD(.)58 b(See)36 b(Section)i(4.7)f([nc)
m(ks)g(netCDF)g(Kitc)m(hen)g(Sink],)g(page)g(176,)j(for)c(more)150
-847 y(examples)31 b(of)f(string)h(formatting)g(\(with)f(the)h
+1066 y(examples)31 b(of)f(string)h(formatting)g(\(with)f(the)h
Fy(ncks)e FD(`)p Fy(-s)p FD(')i(option\))g(with)f(sp)s(ecial)h(c)m
-(haracters.)275 1008 y(Analogous)k(to)h Fy(printf)p FD(,)e(other)h(sp)s
+(haracters.)275 1234 y(Analogous)k(to)h Fy(printf)p FD(,)e(other)h(sp)s
(ecial)g(c)m(haracters)h(are)f(also)h(allo)m(w)m(ed)g(b)m(y)f
-Fy(ncatted)d FD(if)j(they)g(are)150 1118 y Fy(")p FD(protected)p
-Fy(")c FD(b)m(y)f(a)h(bac)m(kslash.)42 b(The)30 b(c)m(haracters)i
-Fy(")p FD(,)e Fy(')p FD(,)h Fy(?)p FD(,)f(and)g Fy(\\)g
-FD(ma)m(y)h(b)s(e)f(input)g(to)h(the)g(shell)g(as)f Fy(\\")p
-FD(,)150 1227 y Fy(\\')p FD(,)f Fy(\\?)p FD(,)f(and)g
-Fy(\\\\)p FD(.)40 b FC(NCO)28 b FD(simply)h(strips)f(a)m(w)m(a)m(y)i
-(the)f(leading)g(bac)m(kslash)h(from)e(these)h(c)m(haracters)h(b)s
-(efore)150 1337 y(editing)35 b(the)f(attribute.)54 b(No)34
-b(other)h(c)m(haracters)h(require)e(protection)h(b)m(y)f(a)h(bac)m
-(kslash.)53 b(Bac)m(kslashes)150 1446 y(whic)m(h)27 b(precede)h(an)m(y)
-g(other)g(c)m(haracter)h(\(e.g.,)h Fy(3)p FD(,)e Fy(m)p
-FD(,)g Fy($)p FD(,)g Fy(|)p FD(,)g Fy(&)p FD(,)g Fy(@)p
-FD(,)h Fy(\045)p FD(,)f Fy({)p FD(,)g(and)f Fy(})p FD(\))g(will)h(not)g
-(b)s(e)f(\014ltered)h(and)150 1556 y(will)j(b)s(e)e(included)h(in)g
-(the)h(attribute.)275 1717 y(Note)37 b(that)h(the)e(NUL)h(c)m(haracter)
-h Fy(\\0)e FD(whic)m(h)g(terminates)i(C)30 b(language)38
-b(strings)e(is)h(assumed)f(and)150 1827 y(need)44 b(not)g(b)s(e)f
-(explicitly)j(sp)s(eci\014ed.)81 b(If)43 b Fy(\\0)h FD(is)g(input,)j
-(it)d(is)g(translated)h(to)g(the)f(NUL)g(c)m(haracter.)150
-1937 y(Ho)m(w)m(ev)m(er,)30 b(this)c(will)i(mak)m(e)f(the)g(subsequen)m
-(t)f(p)s(ortion)h(of)g(the)g(string,)h(if)e(an)m(y)-8
-b(,)29 b(in)m(visible)e(to)h(C)i(standard)150 2046 y(library)35
-b(string)g(functions.)54 b(And)35 b(that)g(ma)m(y)h(cause)g(unin)m
-(tended)e(consequences.)56 b(Because)36 b(of)f(these)150
-2156 y(con)m(text-sensitiv)m(e)e(rules,)d(one)g(m)m(ust)f(use)h
-Fy(ncatted)e FD(with)h(care)h(in)g(order)f(to)i(store)f(data,)h(rather)
-e(than)150 2265 y(text)i(strings,)g(in)f(an)g(attribute)h(of)g(t)m(yp)s
-(e)f Fy(NC_CHAR)p FD(.)275 2427 y(Note)36 b(that)f Fy(ncatted)e
-FD(in)m(terprets)i(c)m(haracter)h(attributes)f(\(i.e.,)j(attributes)d
-(of)g(t)m(yp)s(e)g Fy(NC_CHAR)p FD(\))e(as)150 2536 y(strings.)41
-b(EXAMPLES)275 2698 y(App)s(end)28 b(the)j(string)f Fy(")p
-FD(Data)i(v)m(ersion)e(2.0.)p Fy(\\)p FD(n)p Fy(")h FD(to)g(the)g
-(global)g(attribute)h Fy(history)p FD(:)390 2859 y Fy(ncatted)46
-b(-a)h(history,global,a,c,"Data)41 b(version)46 b(2.0\\n")g(in.nc)275
-3020 y FD(Note)31 b(the)g(use)f(of)g(em)m(b)s(edded)g(C)g(language)h
-Fy(printf\(\))p FD(-st)m(yle)f(escap)s(e)h(sequences.)275
-3181 y(Change)i(the)g(v)-5 b(alue)34 b(of)g(the)f Fy(long_name)e
-FD(attribute)j(for)g(v)-5 b(ariable)34 b Fy(T)f FD(from)g(whatev)m(er)h
-(it)g(curren)m(tly)150 3291 y(is)c(to)i Fy(")p FD(temp)s(erature)p
-Fy(")p FD(:)390 3452 y Fy(ncatted)46 b(-a)h(long_name,T,o,c,temperat)o
-(ure)41 b(in.nc)275 3614 y FC(NCO)d FD(arithmetic)j(op)s(erators)e(ma)m
-(y)h(not)f(w)m(ork)g(as)h(exp)s(ected)f(on)g FC(IEEE)f
-FD(NaN)i(\(short)f(for)g(Not-a-)150 3723 y(Num)m(b)s(er\))34
-b(and)g(NaN-lik)m(e)j(n)m(um)m(b)s(ers)c(suc)m(h)h(as)g(p)s(ositiv)m(e)
-i(in\014nit)m(y)e(and)g(negativ)m(e)j(in\014nit)m(y)3285
-3690 y Ft(1)3322 3723 y FD(.)53 b(One)34 b(w)m(a)m(y)150
-3833 y(to)29 b(w)m(ork-around)f(this)g(problem)g(is)h(to)g(c)m(hange)g
-FC(IEEE)e FD(NaNs)i(to)g(normal)g(missing)f(v)-5 b(alues.)40
-b(As)29 b(of)f FC(NCO)150 3942 y FD(4.1.0)33 b(\(Marc)m(h,)f(2012\),)h
-Fy(ncatted)c FD(w)m(orks)h(with)h(NaNs.)42 b(First)31
-b(set)g(the)g(missing)g(v)-5 b(alue)31 b(\(i.e.,)i(the)d(v)-5
-b(alue)150 4052 y(of)31 b(the)f Fy(_FillValue)e FD(attribute\))j(for)f
-(the)h(v)-5 b(ariable\(s\))32 b(in)e(question)g(to)h(the)g
-FC(IEEE)e FD(NaN)i(v)-5 b(alue.)390 4213 y Fy(ncatted)46
-b(-a)h(_FillValue,,o,f,NaN)c(in.nc)275 4375 y FD(Then)26
+Fy(ncatted)d FD(if)j(they)g(are)150 1343 y(\\protected")e(b)m(y)d(a)h
+(bac)m(kslash.)43 b(The)30 b(c)m(haracters)i Fy(")p FD(,)f
+Fy(')p FD(,)g Fy(?)p FD(,)f(and)g Fy(\\)h FD(ma)m(y)g(b)s(e)f(input)g
+(to)h(the)g(shell)g(as)g Fy(\\")p FD(,)150 1453 y Fy(\\')p
+FD(,)e Fy(\\?)p FD(,)f(and)g Fy(\\\\)p FD(.)40 b FC(NCO)28
+b FD(simply)h(strips)f(a)m(w)m(a)m(y)i(the)f(leading)g(bac)m(kslash)h
+(from)e(these)h(c)m(haracters)h(b)s(efore)150 1563 y(editing)35
+b(the)f(attribute.)54 b(No)34 b(other)h(c)m(haracters)h(require)e
+(protection)h(b)m(y)f(a)h(bac)m(kslash.)53 b(Bac)m(kslashes)150
+1672 y(whic)m(h)27 b(precede)h(an)m(y)g(other)g(c)m(haracter)h(\(e.g.,)
+h Fy(3)p FD(,)e Fy(m)p FD(,)g Fy($)p FD(,)g Fy(|)p FD(,)g
+Fy(&)p FD(,)g Fy(@)p FD(,)h Fy(\045)p FD(,)f Fy({)p FD(,)g(and)f
+Fy(})p FD(\))g(will)h(not)g(b)s(e)f(\014ltered)h(and)150
+1782 y(will)j(b)s(e)e(included)h(in)g(the)h(attribute.)275
+1949 y(Note)37 b(that)h(the)e(NUL)h(c)m(haracter)h Fy(\\0)e
+FD(whic)m(h)g(terminates)i(C)30 b(language)38 b(strings)e(is)h(assumed)
+f(and)150 2059 y(need)44 b(not)g(b)s(e)f(explicitly)j(sp)s(eci\014ed.)
+81 b(If)43 b Fy(\\0)h FD(is)g(input,)j(it)d(is)g(translated)h(to)g(the)
+f(NUL)g(c)m(haracter.)150 2169 y(Ho)m(w)m(ev)m(er,)30
+b(this)c(will)i(mak)m(e)f(the)g(subsequen)m(t)f(p)s(ortion)h(of)g(the)g
+(string,)h(if)e(an)m(y)-8 b(,)29 b(in)m(visible)e(to)h(C)i(standard)150
+2278 y(library)35 b(string)g(functions.)54 b(And)35 b(that)g(ma)m(y)h
+(cause)g(unin)m(tended)e(consequences.)56 b(Because)36
+b(of)f(these)150 2388 y(con)m(text-sensitiv)m(e)e(rules,)d(one)g(m)m
+(ust)f(use)h Fy(ncatted)e FD(with)h(care)h(in)g(order)f(to)i(store)f
+(data,)h(rather)e(than)150 2497 y(text)i(strings,)g(in)f(an)g
+(attribute)h(of)g(t)m(yp)s(e)f Fy(NC_CHAR)p FD(.)275
+2665 y(Note)36 b(that)f Fy(ncatted)e FD(in)m(terprets)i(c)m(haracter)h
+(attributes)f(\(i.e.,)j(attributes)d(of)g(t)m(yp)s(e)g
+Fy(NC_CHAR)p FD(\))e(as)150 2775 y(strings.)41 b(EXAMPLES)275
+2943 y(App)s(end)28 b(the)j(string)f Fy(Data)f(version)f(2.0.\\n)h
+FD(to)i(the)g(global)g(attribute)h Fy(history)p FD(:)390
+3110 y Fy(ncatted)46 b(-a)h(history,global,a,c,'Data)41
+b(version)46 b(2.0\\n')g(in.nc)275 3278 y FD(Note)31
+b(the)g(use)f(of)g(em)m(b)s(edded)g(C)g(language)h Fy(printf\(\))p
+FD(-st)m(yle)f(escap)s(e)h(sequences.)275 3446 y(Change)i(the)g(v)-5
+b(alue)34 b(of)g(the)f Fy(long_name)e FD(attribute)j(for)g(v)-5
+b(ariable)34 b Fy(T)f FD(from)g(whatev)m(er)h(it)g(curren)m(tly)150
+3555 y(is)c(to)i(\\temp)s(erature":)390 3723 y Fy(ncatted)46
+b(-a)h(long_name,T,o,c,temperat)o(ure)41 b(in.nc)275
+3891 y FC(NCO)d FD(arithmetic)j(op)s(erators)e(ma)m(y)h(not)f(w)m(ork)g
+(as)h(exp)s(ected)f(on)g FC(IEEE)f FD(NaN)i(\(short)f(for)g(Not-a-)150
+4001 y(Num)m(b)s(er\))34 b(and)g(NaN-lik)m(e)j(n)m(um)m(b)s(ers)c(suc)m
+(h)h(as)g(p)s(ositiv)m(e)i(in\014nit)m(y)e(and)g(negativ)m(e)j
+(in\014nit)m(y)3285 3968 y Ft(1)3322 4001 y FD(.)53 b(One)34
+b(w)m(a)m(y)150 4110 y(to)29 b(w)m(ork-around)f(this)g(problem)g(is)h
+(to)g(c)m(hange)g FC(IEEE)e FD(NaNs)i(to)g(normal)g(missing)f(v)-5
+b(alues.)40 b(As)29 b(of)f FC(NCO)150 4220 y FD(4.1.0)33
+b(\(Marc)m(h,)f(2012\),)h Fy(ncatted)c FD(w)m(orks)h(with)h(NaNs.)42
+b(First)31 b(set)g(the)g(missing)g(v)-5 b(alue)31 b(\(i.e.,)i(the)d(v)
+-5 b(alue)150 4329 y(of)31 b(the)f Fy(_FillValue)e FD(attribute\))j
+(for)f(the)h(v)-5 b(ariable\(s\))32 b(in)e(question)g(to)h(the)g
+FC(IEEE)e FD(NaN)i(v)-5 b(alue.)390 4497 y Fy(ncatted)46
+b(-a)h(_FillValue,,o,f,NaN)c(in.nc)275 4665 y FD(Then)26
b(c)m(hange)i(the)g(missing)f(v)-5 b(alue)28 b(from)f(the)h
FC(IEEE)e FD(NaN)i(v)-5 b(alue)28 b(to)g(a)g(normal)f
-FC(IEEE)f FD(n)m(um)m(b)s(er,)h(lik)m(e)150 4484 y(1.0e36)33
+FC(IEEE)f FD(n)m(um)m(b)s(er,)h(lik)m(e)150 4775 y(1.0e36)33
b(\(or)d(to)i(whatev)m(er)f(the)f(original)i(missing)e(v)-5
-b(alue)31 b(w)m(as\).)390 4646 y Fy(ncatted)46 b(-a)h
-(_FillValue,,m,f,1.0e36)42 b(in.nc)275 4807 y FD(Delete)32
-b(all)f(existing)h Fy(units)d FD(attributes:)390 4968
-y Fy(ncatted)46 b(-a)h(units,,d,,)e(in.nc)p 150 5066
-1200 4 v 199 5134 a Ft(1)275 5166 y Fs(Arithmetic)24
-b(comparisons)j(to)e(NaN)g(and)g(NaN-lik)n(e)f(n)n(um)n(b)r(ers)g(alw)n
-(a)n(ys)i(return)f(F)-6 b(alse,)26 b(con)n(trary)f(to)g(the)g(b)r(eha)n
-(vior)g(of)275 5253 y(all)e(other)f(n)n(um)n(b)r(ers.)33
-b(This)23 b(is)g(di\016cult)g(to)f(in)n(uit,)h(y)n(et)f(is)h(the)f(b)r
-(eha)n(vior)h(de\014ned)e(for)i(NaN)f(b)n(y)f Fp(IEEE)i
-Fs(754.)35 b(Using)22 b(NaN)275 5340 y(for)k(the)f(missing)i(v)l(alue)f
-(in)f(datasets)i(is)f(legal.)36 b(W)-6 b(e)25 b(strongly)h(discourage)i
-(it.)p eop end
+b(alue)31 b(w)m(as\).)390 4942 y Fy(ncatted)46 b(-a)h
+(_FillValue,,m,f,1.0e36)42 b(in.nc)p 150 5066 1200 4
+v 199 5134 a Ft(1)275 5166 y Fs(Arithmetic)24 b(comparisons)j(to)e(NaN)
+g(and)g(NaN-lik)n(e)f(n)n(um)n(b)r(ers)g(alw)n(a)n(ys)i(return)f(F)-6
+b(alse,)26 b(con)n(trary)f(to)g(the)g(b)r(eha)n(vior)g(of)275
+5253 y(all)e(other)f(n)n(um)n(b)r(ers.)33 b(This)23 b(is)g(di\016cult)g
+(to)f(in)n(uit,)h(y)n(et)f(is)h(the)f(b)r(eha)n(vior)h(de\014ned)e(for)
+i(NaN)f(b)n(y)f Fp(IEEE)i Fs(754.)35 b(Using)22 b(NaN)275
+5340 y(for)k(the)f(missing)i(v)l(alue)f(in)f(datasets)i(is)f(legal.)36
+b(W)-6 b(e)25 b(strongly)h(discourage)i(it.)p eop end
%%Page: 160 166
TeXDict begin 160 165 bop 150 -116 a FD(160)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(The)f(v)-5 b(alue)30
-b(of)g Fz(v)-5 b(ar)p 803 299 28 4 v 40 w(nm)29 b FD(w)m(as)h(left)h
-(blank)e(in)h(order)f(to)h(select)i(all)e(v)-5 b(ariables)31
-b(in)e(the)h(\014le.)40 b(The)30 b(v)-5 b(alues)30 b(of)150
-408 y Fz(att)p 271 408 V 41 w(t)m(yp)s(e)36 b FD(and)30
-b Fz(att)p 814 408 V 41 w(v)-5 b(al)34 b FD(w)m(ere)d(left)g(blank)f(b)
-s(ecause)h(they)f(are)h(sup)s(er\015uous)c(in)j Fz(Delete)38
-b FD(mo)s(de.)275 573 y(Delete)32 b(all)f(attributes)g(asso)s(ciated)h
-(with)e(the)h Fy(tpt)e FD(v)-5 b(ariable,)32 b(and)d(delete)j(all)f
-(global)h(attributes)390 737 y Fy(ncatted)46 b(-a)h(,tpt,d,,)f(-a)h
-(,global,d,,)d(in.nc)150 902 y FD(The)d(v)-5 b(alue)41
-b(of)h Fz(att)p 829 902 V 41 w(nm)e FD(w)m(as)i(left)g(blank)f(in)g
+b FD(4.4.6)j(User)d(Guide)275 299 y(Delete)i(all)f(existing)h
+Fy(units)d FD(attributes:)390 470 y Fy(ncatted)46 b(-a)h(units,,d,,)e
+(in.nc)150 641 y FD(The)29 b(v)-5 b(alue)30 b(of)g Fz(v)-5
+b(ar)p 803 641 28 4 v 40 w(nm)29 b FD(w)m(as)h(left)h(blank)e(in)h
+(order)f(to)h(select)i(all)e(v)-5 b(ariables)31 b(in)e(the)h(\014le.)40
+b(The)30 b(v)-5 b(alues)30 b(of)150 751 y Fz(att)p 271
+751 V 41 w(t)m(yp)s(e)36 b FD(and)30 b Fz(att)p 814 751
+V 41 w(v)-5 b(al)34 b FD(w)m(ere)d(left)g(blank)f(b)s(ecause)h(they)f
+(are)h(sup)s(er\015uous)c(in)j Fz(Delete)38 b FD(mo)s(de.)275
+922 y(Delete)32 b(all)f(attributes)g(asso)s(ciated)h(with)e(the)h
+Fy(tpt)e FD(v)-5 b(ariable,)32 b(and)d(delete)j(all)f(global)h
+(attributes)390 1093 y Fy(ncatted)46 b(-a)h(,tpt,d,,)f(-a)h
+(,global,d,,)d(in.nc)150 1265 y FD(The)d(v)-5 b(alue)41
+b(of)h Fz(att)p 829 1265 V 41 w(nm)e FD(w)m(as)i(left)g(blank)f(in)g
(order)f(to)i(select)h(all)f(attributes)g(asso)s(ciated)h(with)e(the)
-150 1011 y(v)-5 b(ariable.)42 b(T)-8 b(o)30 b(delete)i(all)f(global)h
+150 1374 y(v)-5 b(ariable.)42 b(T)-8 b(o)30 b(delete)i(all)f(global)h
(attributes,)f(simply)f(replace)h Fy(tpt)f FD(with)g
-Fy(global)f FD(in)h(the)g(ab)s(o)m(v)m(e.)275 1176 y(Mo)s(dify)g(all)h
-(existing)g Fy(units)e FD(attributes)i(to)g Fy(")p FD(meter)g(second-1)
-p Fy(")p FD(:)390 1340 y Fy(ncatted)46 b(-a)h(units,,m,c,"meter)c
-(second-1")i(in.nc)275 1504 y FD(Add)30 b(a)i Fy(units)f
-FD(attribute)h(of)g Fy(")p FD(kilogram)g(kilogram-1)p
-Fy(")i FD(to)e(all)h(v)-5 b(ariables)32 b(whose)f(\014rst)g(three)h(c)m
-(har-)150 1614 y(acters)f(are)g(`)p Fy(H2O)p FD(':)390
-1778 y Fy(ncatted)46 b(-a)h(units,'^H2O',c,c,"kilogr)o(am)42
-b(kilogram-1")i(in.nc)275 1943 y FD(Ov)m(erwrite)30 b(the)h
-Fy(quanta)e FD(attribute)i(of)f(v)-5 b(ariable)31 b Fy(energy)e
-FD(to)i(an)f(arra)m(y)h(of)g(four)e(in)m(tegers.)390
-2107 y Fy(ncatted)46 b(-O)h(-a)g(quanta,energy,o,s,"010,10)o(1,11)o
-(1,1)o(21")41 b(in.nc)275 2271 y FD(As)34 b(of)g FC(NCO)g
-FD(3.9.6)i(\(Jan)m(uary)-8 b(,)36 b(2009\),)i Fy(ncatted)32
-b FD(accepts)k Fz(extended)e(regular)g(expressions)k
-FD(as)d(ar-)150 2381 y(gumen)m(ts)29 b(for)g(v)-5 b(ariable)29
-b(names.)41 b(Create)29 b Fy(isotope)e FD(attributes)i(for)g(all)h(v)-5
-b(ariables)29 b(con)m(taining)i(`)p Fy(H2O)p FD(')d(in)150
-2491 y(their)i(names.)390 2655 y Fy(ncatted)46 b(-O)h(-a)g
-(isotope,'^H2O*',c,s,"18")41 b(in.nc)275 2819 y FD(See)30
+Fy(global)f FD(in)h(the)g(ab)s(o)m(v)m(e.)275 1545 y(Mo)s(dify)g(all)h
+(existing)g Fy(units)e FD(attributes)i(to)g Fy(meter)e(second-1)p
+FD(:)390 1717 y Fy(ncatted)46 b(-a)h(units,,m,c,'meter)c(second-1')i
+(in.nc)275 1888 y FD(Add)31 b(a)h Fy(units)f FD(attribute)i(of)f
+Fy(kilogram)c(kilogram-1)i FD(to)j(all)g(v)-5 b(ariables)33
+b(whose)e(\014rst)h(three)g(c)m(har-)150 1998 y(acters)f(are)g(`)p
+Fy(H2O)p FD(':)390 2169 y Fy(ncatted)46 b(-a)h
+(units,'^H2O',c,c,'kilogr)o(am)42 b(kilogram-1')i(in.nc)275
+2340 y FD(Ov)m(erwrite)30 b(the)h Fy(quanta)e FD(attribute)i(of)f(v)-5
+b(ariable)31 b Fy(energy)e FD(to)i(an)f(arra)m(y)h(of)g(four)e(in)m
+(tegers.)390 2511 y Fy(ncatted)46 b(-a)h(quanta,energy,o,s,'010,1)o
+(01,1)o(11,1)o(21')41 b(in.nc)275 2682 y FD(As)34 b(of)g
+FC(NCO)g FD(3.9.6)i(\(Jan)m(uary)-8 b(,)36 b(2009\),)i
+Fy(ncatted)32 b FD(accepts)k Fz(extended)e(regular)g(expressions)k
+FD(as)d(ar-)150 2792 y(gumen)m(ts)27 b(for)g(v)-5 b(ariable)28
+b(names,)f(though)g(not)g(for)g(attribute)g(names.)40
+b(Create)28 b Fy(isotope)d FD(attributes)i(for)150 2902
+y(all)k(v)-5 b(ariables)31 b(con)m(taining)h(`)p Fy(H2O)p
+FD(')e(in)g(their)h(names.)390 3073 y Fy(ncatted)46 b(-a)h
+(isotope,'^H2O*',c,s,'18')41 b(in.nc)275 3244 y FD(See)30
b(Section)h(3.11)h([Subsetting)f(Files],)g(page)h(40)f(for)f(more)g
-(details.)275 2984 y(As)41 b(of)g FC(NCO)g FD(4.3.8)i(\(No)m(v)m(em)m
+(details.)275 3415 y(As)41 b(of)g FC(NCO)g FD(4.3.8)i(\(No)m(v)m(em)m
(b)s(er,)j(2013\),)g Fy(ncatted)39 b FD(accepts)k(full)e(and)g(partial)
-h(group)e(paths)h(in)150 3093 y(names)30 b(of)h(attributes,)g(v)-5
-b(ariables,)31 b(dimensions,)f(and)g(groups.)390 3258
+h(group)e(paths)h(in)150 3525 y(names)30 b(of)h(attributes,)g(v)-5
+b(ariables,)31 b(dimensions,)f(and)g(groups.)390 3696
y Fy(#)47 b(Overwrite)f(units)g(attribute)f(of)j(specific)d('lon')h
-(variable)390 3367 y(ncatted)g(-O)h(-a)g(units,/g1/lon,o,c,"degree)o
-(s_we)o(st")41 b(in_grp.nc)390 3477 y(#)47 b(Overwrite)f(units)g
-(attribute)f(of)j(all)e('lon')h(variables)390 3587 y(ncatted)f(-O)h(-a)
-g(units,lon,o,c,"degrees_we)o(st")41 b(in_grp.nc)390
-3696 y(#)47 b(Delete)g(units)f(attribute)f(of)i(all)g('lon')g
-(variables)390 3806 y(ncatted)f(-O)h(-a)g(units,lon,d,,)d(in_grp.nc)390
-3915 y(#)j(Overwrite)f(units)g(attribute)f(with)i(new)g(type)g(for)f
-(specific)g('lon')g(variable)390 4025 y(ncatted)g(-O)h(-a)g
-(units,/g1/lon,o,sng,"degr)o(ees_)o(wes)o(t")42 b(in_grp.nc)390
-4134 y(#)47 b(Add)g(new_att)f(attribute)f(to)j(all)f(variables)390
-4244 y(ncatted)f(-O)h(-a)g(new_att,,c,sng,"new)c(variable)i(attribute")
-g(in_grp.nc)390 4354 y(#)i(Add)g(new_grp_att)e(group)h(attribute)g(to)h
-(all)g(groups)390 4463 y(ncatted)f(-O)h(-a)g(new_grp_att,group,c,sng,")
-o(new)41 b(group)47 b(attribute")e(in_grp.nc)390 4573
+(variable)390 3806 y(ncatted)g(-O)h(-a)g(units,/g1/lon,o,c,'degree)o
+(s_we)o(st')41 b(in_grp.nc)390 3915 y(#)47 b(Overwrite)f(units)g
+(attribute)f(of)j(all)e('lon')h(variables)390 4025 y(ncatted)f(-O)h(-a)
+g(units,lon,o,c,'degrees_we)o(st')41 b(in_grp.nc)390
+4134 y(#)47 b(Delete)g(units)f(attribute)f(of)i(all)g('lon')g
+(variables)390 4244 y(ncatted)f(-O)h(-a)g(units,lon,d,,)d(in_grp.nc)390
+4354 y(#)j(Overwrite)f(units)g(attribute)f(with)i(new)g(type)g(for)f
+(specific)g('lon')g(variable)390 4463 y(ncatted)g(-O)h(-a)g
+(units,/g1/lon,o,sng,'degr)o(ees_)o(wes)o(t')42 b(in_grp.nc)390
+4573 y(#)47 b(Add)g(new_att)f(attribute)f(to)j(all)f(variables)390
+4682 y(ncatted)f(-O)h(-a)g(new_att,,c,sng,'new)c(variable)i(attribute')
+g(in_grp.nc)390 4792 y(#)i(Add)g(new_grp_att)e(group)h(attribute)g(to)h
+(all)g(groups)390 4902 y(ncatted)f(-O)h(-a)g(new_grp_att,group,c,sng,')
+o(new)41 b(group)47 b(attribute')e(in_grp.nc)390 5011
y(#)i(Add)g(new_grp_att)e(group)h(attribute)g(to)h(single)f(group)390
-4682 y(ncatted)g(-O)h(-a)g(g1_grp_att,g1,c,sng,"new)41
-b(group)47 b(attribute")e(in_grp.nc)390 4792 y(#)i(Add)g(new_glb_att)e
-(global)h(attribute)f(to)j(root)e(group)390 4902 y(ncatted)g(-O)h(-a)g
-(new_glb_att,global,c,sng,)o("new)41 b(global)46 b(attribute")f
-(in_grp.nc)275 5066 y FD(Demonstrate)24 b(input)d(of)i(C-language)h
-(escap)s(e)f(sequences)f(\(e.g.,)k Fy(\\n)p FD(\))d(and)f(other)g(sp)s
-(ecial)h(c)m(haracters)150 5176 y(\(e.g.,)32 b Fy(\\")p
-FD(\))390 5340 y Fy(ncatted)46 b(-h)h(-a)g(special,global,o,c,)p
-eop end
+5121 y(ncatted)g(-O)h(-a)g(g1_grp_att,g1,c,sng,'new)41
+b(group)47 b(attribute')e(in_grp.nc)390 5230 y(#)i(Add)g(new_glb_att)e
+(global)h(attribute)f(to)j(root)e(group)390 5340 y(ncatted)g(-O)h(-a)g
+(new_glb_att,global,c,sng,)o('new)41 b(global)46 b(attribute')f
+(in_grp.nc)p eop end
%%Page: 161 167
TeXDict begin 161 166 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(161)390
-299 y Fy('\\nDouble)45 b(quote:)h(\\"\\nTwo)g(consecutive)f(double)h
-(quotes:)g(\\"\\"\\n)390 408 y(Single)g(quote:)g(Beyond)g(my)h(shell)g
-(abilities!\\nBackslash:)42 b(\\\\\\n)390 518 y(Two)47
-b(consecutive)e(backslashes:)f(\\\\\\\\\\nQuestion)g(mark:)i(\\?\\n')h
-(in.nc)275 677 y FD(Note)32 b(that)g(the)g(en)m(tire)g(attribute)h(is)e
-(protected)h(from)f(the)h(shell)g(b)m(y)f(single)h(quotes.)44
-b(These)32 b(outer)150 787 y(single)f(quotes)g(are)g(necessary)f(for)h
-(in)m(teractiv)m(e)i(use,)d(but)g(ma)m(y)h(b)s(e)e(omitted)j(in)e(batc)
-m(h)h(scripts.)p eop end
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(161)275
+299 y(Demonstrate)24 b(input)d(of)i(C-language)h(escap)s(e)f(sequences)
+f(\(e.g.,)k Fy(\\n)p FD(\))d(and)f(other)g(sp)s(ecial)h(c)m(haracters)
+150 408 y(\(e.g.,)32 b Fy(\\")p FD(\))390 568 y Fy(ncatted)46
+b(-h)h(-a)g(special,global,o,c,)390 677 y('\\nDouble)e(quote:)h
+(\\"\\nTwo)g(consecutive)f(double)h(quotes:)g(\\"\\"\\n)390
+787 y(Single)g(quote:)g(Beyond)g(my)h(shell)g(abilities!\\nBackslash:)
+42 b(\\\\\\n)390 897 y(Two)47 b(consecutive)e(backslashes:)f
+(\\\\\\\\\\nQuestion)g(mark:)i(\\?\\n')h(in.nc)275 1056
+y FD(Note)32 b(that)g(the)g(en)m(tire)g(attribute)h(is)e(protected)h
+(from)f(the)h(shell)g(b)m(y)f(single)h(quotes.)44 b(These)32
+b(outer)150 1166 y(single)f(quotes)g(are)g(necessary)f(for)h(in)m
+(teractiv)m(e)i(use,)d(but)g(ma)m(y)h(b)s(e)e(omitted)j(in)e(batc)m(h)h
+(scripts.)p eop end
%%Page: 162 168
TeXDict begin 162 167 bop 150 -116 a FD(162)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(4.3)68 b Fc(ncbo)43
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.3)68 b Fc(ncbo)43
b FB(netCDF)i(Binary)g(Op)t(erator)150 458 y FD(SYNT)-8
b(AX)390 649 y Fy(ncbo)47 b([-3])f([-4])h([-6])g([-7])f([-A])h([-C])f
([-c])390 759 y([--cnk_dmn)f(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
@@ -24948,7 +25010,7 @@ g(in)f Fz(\014le)p 2753 1907 V 40 w(3)p FD(.)43 b(The)30
b(binary)g(op)s(eration)150 2017 y(op)s(erates)42 b(on)g(the)g(en)m
(tire)h(\014les)f(\(mo)s(dulo)g(an)m(y)g(excluded)g(v)-5
b(ariables\).)77 b(See)42 b(Section)h(3.25)g([Missing)150
-2126 y(V)-8 b(alues],)46 b(page)d(70,)i(for)d(treatmen)m(t)h(of)f
+2126 y(V)-8 b(alues],)46 b(page)d(71,)i(for)d(treatmen)m(t)h(of)f
(missing)g(v)-5 b(alues.)75 b(One)42 b(of)g(the)g(four)f(standard)g
(arithmetic)150 2236 y(binary)f(op)s(erations)h(curren)m(tly)g(supp)s
(orted)d(m)m(ust)j(b)s(e)f(selected)i(with)e(the)h(`)p
@@ -25105,7 +25167,7 @@ Fr(ln)g(-s)g(-f)g(ncbo)h(ncadd)p Fs(')199 5308 y Ft(4)275
(ncadd='ncbo)h(--op_typ=add')p Fs(')p eop end
%%Page: 164 170
TeXDict begin 164 169 bop 150 -116 a FD(164)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(are)e Fz(broadcast)j
+b FD(4.4.6)j(User)d(Guide)150 299 y(are)e Fz(broadcast)j
FD(to)e(conform)f(to)g(the)h(corresp)s(onding)e(v)-5
b(ariable)28 b(in)g(the)g(other)h(input)e(\014le)h(if)g(necessary)3687
266 y Ft(5)3725 299 y FD(.)150 408 y(No)m(w)43 b Fy(ncbo)f
@@ -25306,7 +25368,7 @@ b(ncbo)g(-O)g(cmip5.nc)f(obs.nc)g(bias.nc)390 5230 y(\045)h(ncks)g(-H)g
eop end
%%Page: 166 172
TeXDict begin 166 171 bop 150 -116 a FD(166)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(time[3])46 b(tas[3]=-1)390
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(time[3])46 b(tas[3]=-1)390
408 y(/ecmwf/tas)390 518 y(time[3])g(tas[3]=0)390 628
y(/giss/tas)390 737 y(time[3])g(tas[3]=1)275 946 y FD(As)35
b(a)h(\014nal)f(example,)i(sa)m(y)g(w)m(e)f(ha)m(v)m(e)g(\014v)m(e)g(y)
@@ -25455,7 +25517,7 @@ Fs(allo)n(ws)g(h)n(yp)r(erslabs)f(in)f(all)i(dimensions)f(so)h(long)f
(size.)p eop end
%%Page: 168 174
TeXDict begin 168 173 bop 150 -116 a FD(168)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(groups)k(that)g(share)g(the)h(same)
+b FD(4.4.6)j(User)d(Guide)150 299 y(groups)k(that)g(share)g(the)h(same)
f(structure,)h(paren)m(t)g(group,)g(and)e(nesting)i(lev)m(el.)53
b(Mem)m(b)s(ers)34 b(m)m(ust)h(b)s(e)150 408 y Fz(leaf)h(groups)p
FD(,)f(i.e.,)i(not)e(con)m(tain)h(an)m(y)f(sub-groups.)52
@@ -25514,7 +25576,7 @@ y(co)s(ordinate)43 b(v)-5 b(ariables)43 b(to)g(b)s(e)f(pro)s(cessed)f
(regardless)d(of)150 3258 y(the)32 b(arithmetic)g(op)s(eration)g(t)m
(yp)s(e)g(p)s(erformed)e(on)h(the)h(non-co)s(ordinate)g(v)-5
b(ariables)32 b(\(see)g(Section)g(3.32)150 3367 y([Op)s(eration)27
-b(T)m(yp)s(es],)h(page)f(83\).)41 b(Th)m(us)26 b(it)i(can)f(b)s(e)g
+b(T)m(yp)s(es],)h(page)f(84\).)41 b(Th)m(us)26 b(it)i(can)f(b)s(e)g
(said)g(that)h(the)f(three)g(op)s(erators)g(\()p Fy(ncra)p
FD(,)h Fy(ncwa)p FD(,)f(and)150 3477 y Fy(nces)p FD(\))35
b(all)i(a)m(v)m(erage)h(co)s(ordinate)f(v)-5 b(ariables)36
@@ -25595,7 +25657,7 @@ m(tain)g(di\013eren)m(t)g(n)m(um)m(b)s(ers)e(of)h(mem)m(b)s(ers)f(of)i
(the)g(\014rst)g(\014le.)p eop end
%%Page: 170 176
TeXDict begin 170 175 bop 150 -116 a FD(170)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(4.5)68 b Fc(ncecat)42
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.5)68 b Fc(ncecat)42
b FB(netCDF)j(Ensem)l(ble)h(Concatenator)150 458 y FD(SYNT)-8
b(AX)390 630 y Fy(ncecat)46 b([-3])h([-4])f([-6])h([-7])g([-A])f([-C])h
([-c])390 740 y([--cnk_dmn)e(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
@@ -25641,48 +25703,48 @@ b(are)f(not)h(concatenated,)150 3009 y(they)k(are)g(instead)f(simply)g
(copied)h(from)f(the)h(\014rst)f(input)f(\014le)i(to)g(the)g
Fz(output-\014le)p FD(.)62 b(All)38 b Fz(input-\014les)150
3118 y FD(m)m(ust)30 b(con)m(tain)i(all)f(extracted)h(v)-5
-b(ariables)31 b(\(or)g(else)g(there)g(w)m(ould)f(b)s(e)f
-Fy(")p FD(gaps)p Fy(")h FD(in)h(the)f(output)g(\014le\).)275
-3290 y(A)j(new)g(record)g(dimension)f(is)i(the)f(glue)h(whic)m(h)f
-(binds)f(together)j(the)e(input)f(\014le)i(data.)50 b(The)32
-b(new)150 3400 y(record)j(dimension)g(is)g(de\014ned)f(in)h(the)h(ro)s
-(ot)f(group)g(of)h(the)f(output)g(\014le)g(so)h(it)g(is)f(visible)h(to)
-g(all)g(sub-)150 3509 y(groups.)54 b(Its)36 b(name)f(is,)i(b)m(y)e
-(default,)i(\\record".)56 b(This)34 b(default)h(name)h(can)f(b)s(e)g(o)
-m(v)m(erridden)g(with)g(the)150 3619 y(`)p Fy(-u)30 b
-Fn(ulm_nm)p FD(')f(short)h(option)h(\(or)g(the)f(`)p
-Fy(--ulm_nm)p FD(')f(or)h(`)p Fy(rcd_nm)p FD(')f(long)i(options\).)275
-3791 y(Eac)m(h)24 b(extracted)i(v)-5 b(ariable)24 b(m)m(ust)g(b)s(e)f
-(constan)m(t)j(in)d(size)i(and)f(rank)f(across)i(all)f
-Fz(input-\014les)p FD(.)38 b(The)24 b(only)150 3900 y(exception)34
-b(is)e(that)h Fy(ncecat)d FD(allo)m(ws)k(\014les)e(to)h(di\013er)f(in)g
-(the)h(record)f(dimension)g(size)h(if)f(the)h(requested)150
-4010 y(record)21 b(h)m(yp)s(erslab)f(\(see)h(Section)h(3.15)g([Hyp)s
-(erslabs],)h(page)f(55\))g(resolv)m(es)g(to)f(the)g(same)h(size)f(for)g
-(all)h(\014les.)150 4120 y(This)28 b(allo)m(ws)i(easier)f(gluing/a)m(v)
-m(eraging)j(of)c(unequal)g(length)h(timeseries)h(from)e(sim)m(ulation)i
-(ensem)m(bles)150 4229 y(\(e.g.,)i(the)f FC(CMIP)f FD(rc)m(hiv)m(e\).)
-275 4401 y(Classic)22 b(\(i.e.,)k(all)d(netCDF3)g(and)e
-Fy(NETCDF4_CLASSIC)p FD(\))d(output)k(\014les)g(can)g(con)m(tain)i
-(only)e(one)g(record)150 4511 y(dimension.)61 b Fy(ncecat)36
-b FD(mak)m(es)i(ro)s(om)g(for)f(the)h(new)f(glue)h(record)f(dimension)g
-(b)m(y)g(c)m(hanging)i(the)e(pre-)150 4620 y(existing)29
-b(record)e(dimension,)h(if)g(an)m(y)-8 b(,)29 b(in)f(the)g(input)e
-(\014les)i(in)m(to)h(a)f(\014xed)f(dimension)g(in)g(the)h(output)g
-(\014le.)150 4730 y(netCDF4)36 b(output)e(\014les)h(ma)m(y)g(con)m
-(tain)h(an)m(y)g(n)m(um)m(b)s(er)d(of)i(record)g(dimensions,)g(so)g
-Fy(ncecat)e FD(need)i(not)150 4839 y(and)c(do)s(es)g(not)h(alter)g(the)
-g(record)f(dimensions,)h(if)f(an)m(y)-8 b(,)33 b(of)e(the)h(input)f
-(\014les)g(as)h(it)g(copies)g(them)g(to)g(the)150 4949
-y(output)e(\014le.)275 5121 y Fz(Group)j(A)m(Ggregation)k
-FD(\()p FC(GA)n(G)p FD(\))e(stores)f Fz(input-\014les)j
-FD(as)d(top-lev)m(el)j(groups)c(in)h(the)g Fz(output-\014le)p
-FD(.)51 b(No)150 5230 y(assumption)26 b(is)g(made)g(ab)s(out)g(the)h
-(size)g(or)f(shap)s(e)g(or)g(t)m(yp)s(e)g(of)h(a)f(giv)m(en)i(ob)5
-b(ject)27 b(\(v)-5 b(ariable)27 b(or)g(dimension)150
-5340 y(or)42 b(group\))h(in)f(the)g(input)g(\014le.)77
-b(The)41 b(en)m(tire)j(con)m(ten)m(ts)g(of)e(the)h(extracted)h(p)s
-(ortion)e(of)g(eac)m(h)i(input)p eop end
+b(ariables)31 b(\(or)g(else)g(there)g(w)m(ould)f(b)s(e)f(\\gaps")j(in)e
+(the)h(output)f(\014le\).)275 3290 y(A)j(new)g(record)g(dimension)f(is)
+i(the)f(glue)h(whic)m(h)f(binds)f(together)j(the)e(input)f(\014le)i
+(data.)50 b(The)32 b(new)150 3400 y(record)j(dimension)g(is)g
+(de\014ned)f(in)h(the)h(ro)s(ot)f(group)g(of)h(the)f(output)g(\014le)g
+(so)h(it)g(is)f(visible)h(to)g(all)g(sub-)150 3509 y(groups.)54
+b(Its)36 b(name)f(is,)i(b)m(y)e(default,)i(\\record".)56
+b(This)34 b(default)h(name)h(can)f(b)s(e)g(o)m(v)m(erridden)g(with)g
+(the)150 3619 y(`)p Fy(-u)30 b Fn(ulm_nm)p FD(')f(short)h(option)h
+(\(or)g(the)f(`)p Fy(--ulm_nm)p FD(')f(or)h(`)p Fy(rcd_nm)p
+FD(')f(long)i(options\).)275 3791 y(Eac)m(h)24 b(extracted)i(v)-5
+b(ariable)24 b(m)m(ust)g(b)s(e)f(constan)m(t)j(in)d(size)i(and)f(rank)f
+(across)i(all)f Fz(input-\014les)p FD(.)38 b(The)24 b(only)150
+3900 y(exception)34 b(is)e(that)h Fy(ncecat)d FD(allo)m(ws)k(\014les)e
+(to)h(di\013er)f(in)g(the)h(record)f(dimension)g(size)h(if)f(the)h
+(requested)150 4010 y(record)21 b(h)m(yp)s(erslab)f(\(see)h(Section)h
+(3.15)g([Hyp)s(erslabs],)h(page)f(55\))g(resolv)m(es)g(to)f(the)g(same)
+h(size)f(for)g(all)h(\014les.)150 4120 y(This)28 b(allo)m(ws)i(easier)f
+(gluing/a)m(v)m(eraging)j(of)c(unequal)g(length)h(timeseries)h(from)e
+(sim)m(ulation)i(ensem)m(bles)150 4229 y(\(e.g.,)i(the)f
+FC(CMIP)f FD(rc)m(hiv)m(e\).)275 4401 y(Classic)22 b(\(i.e.,)k(all)d
+(netCDF3)g(and)e Fy(NETCDF4_CLASSIC)p FD(\))d(output)k(\014les)g(can)g
+(con)m(tain)i(only)e(one)g(record)150 4511 y(dimension.)61
+b Fy(ncecat)36 b FD(mak)m(es)i(ro)s(om)g(for)f(the)h(new)f(glue)h
+(record)f(dimension)g(b)m(y)g(c)m(hanging)i(the)e(pre-)150
+4620 y(existing)29 b(record)e(dimension,)h(if)g(an)m(y)-8
+b(,)29 b(in)f(the)g(input)e(\014les)i(in)m(to)h(a)f(\014xed)f
+(dimension)g(in)g(the)h(output)g(\014le.)150 4730 y(netCDF4)36
+b(output)e(\014les)h(ma)m(y)g(con)m(tain)h(an)m(y)g(n)m(um)m(b)s(er)d
+(of)i(record)g(dimensions,)g(so)g Fy(ncecat)e FD(need)i(not)150
+4839 y(and)c(do)s(es)g(not)h(alter)g(the)g(record)f(dimensions,)h(if)f
+(an)m(y)-8 b(,)33 b(of)e(the)h(input)f(\014les)g(as)h(it)g(copies)g
+(them)g(to)g(the)150 4949 y(output)e(\014le.)275 5121
+y Fz(Group)j(A)m(Ggregation)k FD(\()p FC(GA)n(G)p FD(\))e(stores)f
+Fz(input-\014les)j FD(as)d(top-lev)m(el)j(groups)c(in)h(the)g
+Fz(output-\014le)p FD(.)51 b(No)150 5230 y(assumption)26
+b(is)g(made)g(ab)s(out)g(the)h(size)g(or)f(shap)s(e)g(or)g(t)m(yp)s(e)g
+(of)h(a)f(giv)m(en)i(ob)5 b(ject)27 b(\(v)-5 b(ariable)27
+b(or)g(dimension)150 5340 y(or)42 b(group\))h(in)f(the)g(input)g
+(\014le.)77 b(The)41 b(en)m(tire)j(con)m(ten)m(ts)g(of)e(the)h
+(extracted)h(p)s(ortion)e(of)g(eac)m(h)i(input)p eop
+end
%%Page: 171 177
TeXDict begin 171 176 bop 150 -116 a FD(Chapter)30 b(4:)41
b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(171)150
@@ -25788,7 +25850,7 @@ b(w)m(ork)-5 b(around)30 b(for)g(cases)h(where)e(the)i(pac)m(k-)p
eop end
%%Page: 172 178
TeXDict begin 172 177 bop 150 -116 a FD(172)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(ing)36 b(parameters)h(di\013er)e
+b FD(4.4.6)j(User)d(Guide)150 299 y(ing)36 b(parameters)h(di\013er)e
(across)i Fz(input-\014les)i FD(requires)d(three)g(steps:)52
b(First,)38 b(unpac)m(k)e(the)h(data)f(using)150 408
y Fy(ncpdq)p FD(.)h(Second,)25 b(concatenate)i(the)d(unpac)m(k)m(ed)f
@@ -25841,7 +25903,7 @@ b(in.nc)g(out.nc)h(#)g(Convert)f(time)g(to)i(non-record)d(dimension)390
b(second)h(step)g(remo)m(v)m(es)h(the)f(degenerate)h(record)e
(dimension.)40 b(See)29 b(Section)g(4.8)h([ncp)s(dq)d(netCDF)150
3866 y(P)m(erm)m(ute)49 b(Dimensions)f(Quic)m(kly],)54
-b(page)49 b(189)g(and)e(Section)i(4.7)g([nc)m(ks)g(netCDF)g(Kitc)m(hen)
+b(page)49 b(190)g(and)e(Section)i(4.7)g([nc)m(ks)g(netCDF)g(Kitc)m(hen)
f(Sink],)150 3975 y(page)41 b(176)h(for)f(other)g(metho)s(ds)e(of)i(of)
g(c)m(hanging)h(v)-5 b(ariable)41 b(dimensionalit)m(y)-8
b(,)45 b(including)40 b(the)h(record)150 4085 y(dimension.)p
@@ -25948,7 +26010,7 @@ h(command)f(line,)h Fy(ncflint)e FD(defaults)h(to)h(w)m(eigh)m(ting)150
eop end
%%Page: 174 180
TeXDict begin 174 179 bop 150 -116 a FD(174)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(0.5,0.5)p FD('.)52
+b FD(4.4.6)j(User)d(Guide)150 299 y Fy(0.5,0.5)p FD('.)52
b(A)m(ttempting)37 b(to)e(sp)s(ecify)f(b)s(oth)g(`)p
Fy(-i)p FD(')h(and)f(`)p Fy(-w)p FD(')h(metho)s(ds)f(in)h(the)f(same)i
(command)e(is)h(an)150 408 y(error.)275 578 y Fy(ncflint)29
@@ -26087,7 +26149,7 @@ b(-C)h(-v)g(prs_sfc)f(-w)h(0.01,0.0)f(in.nc)g(in.nc)g(out.nc)390
b(out.nc)p eop end
%%Page: 176 182
TeXDict begin 176 181 bop 150 -116 a FD(176)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(4.7)68 b Fc(ncks)43
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.7)68 b Fc(ncks)43
b FB(netCDF)i(Kitc)l(hen)h(Sink)150 458 y FD(SYNT)-8
b(AX)390 630 y Fy(ncks)47 b([-3])f([-4])h([-5])g([-6])f([-7])h([-A])f
([-a])h([-b)g Fn(binary-)390 740 y(file)p Fy(])f([-C])h([-c])g([--cdl])
@@ -26247,11 +26309,10 @@ b(`)p Fy(-O)p FD(')g(and)f(`)p Fy(-A)p FD(')h(are)g(a)m(v)-5
b(ailable)32 b(to)e(force)f(o)m(v)m(erwriting)i(existing)f(\014les)f
(and)f(v)-5 b(ariables,)150 3298 y(resp)s(ectiv)m(ely)d(.)150
3496 y Fu(Options)42 b(sp)s(eci\014c)f(to)g Fl(ncks)150
-3643 y FD(The)j(follo)m(wing)i(list)f(pro)m(vides)g(a)f(short)h
-(summary)e(of)i(the)f(features)h(unique)f(to)h Fy(ncks)p
-FD(.)82 b(F)-8 b(eatures)150 3752 y(common)31 b(to)g(man)m(y)f(op)s
-(erators)h(are)g(describ)s(ed)e(in)h(Chapter)g(3)g([Common)h
-(features],)g(page)g(25.)150 3936 y(`)p Fy(-5)p FD(')334
+3643 y FD(The)36 b(follo)m(wing)h(summarizes)f(features)g(unique)f(to)i
+Fy(ncks)p FD(.)56 b(F)-8 b(eatures)38 b(common)e(to)h(man)m(y)f(op)s
+(erators)150 3752 y(are)31 b(describ)s(ed)e(in)h(Chapter)g(3)h([Common)
+f(features],)h(page)g(25.)150 3936 y(`)p Fy(-5)p FD(')334
b(Prin)m(t)40 b(data)g(to)h(screen)f(alphab)s(etically)h(b)m(y)f
(group,)i(and)d(alphab)s(etically)i(b)m(y)f(v)-5 b(ariable)630
4045 y(within)25 b(eac)m(h)i(group.)39 b(This)25 b(ordering)g(here)h
@@ -26285,7 +26346,7 @@ b(,)25 b(from)h Fm(input-\014le)j Fs(to)d Fm(output-\014le)p
Fs(.)p eop end
%%Page: 178 184
TeXDict begin 178 183 bop 150 -116 a FD(178)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(`)p Fy(-b)g(file)p
+b FD(4.4.6)j(User)d(Guide)150 299 y(`)p Fy(-b)g(file)p
FD(')112 b(Activ)-5 b(ate)54 b(nativ)m(e)f(mac)m(hine)f(binary)f
(output)h(writing)f(to)i(binary)e(\014le)h Fy(file)p
FD(.)103 b(Also)630 408 y(`)p Fy(--fl_bnr)p FD(')36 b(and)i(`)p
@@ -26297,189 +26358,194 @@ b(ariables)39 b(in)e(binary)h(format)630 518 y(is)g(not)g(supp)s
b(Use)32 b(the)g(`)p Fy(-C)p FD(')f(switc)m(h,)630 737
y(if)f(necessary)-8 b(,)32 b(to)f(a)m(v)m(oid)h(w)m(an)m(ting)f(un)m(w)
m(an)m(ted)g(co)s(ordinates)g(to)g(the)g(binary)e(\014le:)870
-894 y Fy(\045)47 b(ncks)g(-O)g(-v)g(one_dmn_rec_var)d(-b)j(~/bnr.dat)f
-(-p)h(~/nco/data)e(in.nc)h(~/out.nc)870 1003 y(\045)h(ls)h(-l)f
+878 y Fy(\045)47 b(ncks)g(-O)g(-v)g(one_dmn_rec_var)d(-b)j(~/bnr.dat)f
+(-p)h(~/nco/data)e(in.nc)h(~/out.nc)870 988 y(\045)h(ls)h(-l)f
(~/bnr.dat)e(|)j(cut)e(-d)i(')f(')h(-f)f(5)g(#)h(200)f(B)g(contains)f
-(time)g(and)h(one_dmn_rec_var)870 1113 y(200)870 1223
-y(\045)g(ls)h(-l)f(~/bnr.dat)870 1332 y(\045)g(ncks)g(-C)g(-O)g(-v)h
+(time)g(and)h(one_dmn_rec_var)870 1097 y(200)870 1207
+y(\045)g(ls)h(-l)f(~/bnr.dat)870 1316 y(\045)g(ncks)g(-C)g(-O)g(-v)h
(one_dmn_rec_var)43 b(-b)k(~/bnr.dat)f(-p)h(~/nco/data)e(in.nc)h
-(~/out.nc)870 1442 y(\045)h(ls)h(-l)f(~/bnr.dat)e(|)j(cut)e(-d)i(')f(')
+(~/out.nc)870 1426 y(\045)h(ls)h(-l)f(~/bnr.dat)e(|)j(cut)e(-d)i(')f(')
h(-f)f(#)g(40)g(B)h(contains)d(one_dmn_rec_var)f(only)870
-1551 y(40)150 1755 y FD(`)p Fy(--fix_rec_dmn)p FD(')630
-1864 y(Change)39 b(record)f(dimension)g Fz(dim)h FD(in)f(the)h(input)f
+1536 y(40)150 1708 y FD(`)p Fy(--fix_rec_dmn)p FD(')630
+1817 y(Change)39 b(record)f(dimension)g Fz(dim)h FD(in)f(the)h(input)f
(\014le)g(in)m(to)i(a)f(\014xed)f(dimension)g(in)h(the)630
-1974 y(output)d(\014le.)57 b(Also)37 b(`)p Fy(--no_rec_dmn)p
+1927 y(output)d(\014le.)57 b(Also)37 b(`)p Fy(--no_rec_dmn)p
FD('.)54 b(Before)37 b FC(NCO)f FD(v)m(ersion)g(4.2.5)i(\(Jan)m(uary)-8
-b(,)38 b(2013\),)630 2084 y(the)i(syn)m(tax)g(for)g Fy(--fix_rec_dmn)c
+b(,)38 b(2013\),)630 2037 y(the)i(syn)m(tax)g(for)g Fy(--fix_rec_dmn)c
FD(did)j(not)h(p)s(ermit)f(or)h(require)f(the)h(sp)s(eci\014cation)h
-(of)630 2193 y(the)28 b(dimension)g(name)g Fz(dim)p FD(.)39
+(of)630 2146 y(the)28 b(dimension)g(name)g Fz(dim)p FD(.)39
b(This)27 b(is)h(b)s(ecause)h(the)f(feature)g(only)g(w)m(ork)m(ed)h(on)
-f(netCDF3)630 2303 y(\014les,)j(whic)m(h)g(supp)s(ort)e(only)i(one)g
+f(netCDF3)630 2256 y(\014les,)j(whic)m(h)g(supp)s(ort)e(only)i(one)g
(record)g(dimension,)g(so)g(sp)s(ecifying)g(its)g(name)g(w)m(as)h(not)
-630 2412 y(necessary)-8 b(.)60 b(netCDF4)38 b(\014les)f(allo)m(w)h(an)f
+630 2365 y(necessary)-8 b(.)60 b(netCDF4)38 b(\014les)f(allo)m(w)h(an)f
(arbitrary)f(n)m(um)m(b)s(er)f(of)i(record)g(dimensions,)h(so)630
-2522 y(the)f(user)e(m)m(ust)h(sp)s(ecify)g(whic)m(h)g(record)h
+2475 y(the)f(user)e(m)m(ust)h(sp)s(ecify)g(whic)m(h)g(record)h
(dimension)e(to)i(\014x.)58 b(The)36 b(decision)h(w)m(as)g(made)630
-2632 y(that)e(starting)g(with)f FC(NCO)f FD(v)m(ersion)i(4.2.5)h(\(Jan)
+2585 y(that)e(starting)g(with)f FC(NCO)f FD(v)m(ersion)i(4.2.5)h(\(Jan)
m(uary)-8 b(,)36 b(2013\),)h(it)e(is)f(alw)m(a)m(ys)i(required)d(to)630
-2741 y(sp)s(ecify)23 b(the)g(dimension)g(name)g(to)h(\014x)f
+2694 y(sp)s(ecify)23 b(the)g(dimension)g(name)g(to)h(\014x)f
(regardless)g(of)h(the)f(netCDF)h(\014le)f(t)m(yp)s(e.)39
-b(This)22 b(k)m(eeps)630 2851 y(the)j(co)s(de)g(simple,)h(and)e(is)h
+b(This)22 b(k)m(eeps)630 2804 y(the)j(co)s(de)g(simple,)h(and)e(is)h
(symmetric)g(with)f(the)h(syn)m(tax)h(for)e Fy(--mk_rec_dmn)p
-FD(,)f(describ)s(ed)630 2960 y(next.)630 3117 y(As)37
+FD(,)f(describ)s(ed)630 2913 y(next.)630 3054 y(As)37
b(of)g FC(NCO)f FD(v)m(ersion)i(4.4.0)g(\(Jan)m(uary)-8
b(,)40 b(2014\),)g(the)d(argumen)m(t)h Fy(all)e FD(ma)m(y)h(b)s(e)f
-(giv)m(en)i(to)630 3226 y(`)p Fy(--fix_rec_dmn)p FD(')d(to)k(con)m(v)m
+(giv)m(en)i(to)630 3164 y(`)p Fy(--fix_rec_dmn)p FD(')d(to)k(con)m(v)m
(ert)g Fo(al)5 b(l)48 b FD(record)38 b(dimensions)g(to)g(\014xed)g
-(dimensions)f(in)h(the)630 3336 y(output)30 b(\014le.)42
+(dimensions)f(in)h(the)630 3273 y(output)30 b(\014le.)42
b(Previously)-8 b(,)32 b(`)p Fy(--fix_rec_dmn)p FD(')c(only)j(allo)m(w)
-m(ed)h(one)f(option,)h(the)f(name)g(of)630 3446 y(a)37
+m(ed)h(one)f(option,)h(the)f(name)g(of)630 3383 y(a)37
b(single)g(record)g(dimension)f(to)h(b)s(e)f(\014xed.)59
b(No)m(w)37 b(it)g(is)g(simple)g(to)g(sim)m(ultaneously)h(\014x)630
-3555 y(all)e(record)e(dimensions.)54 b(This)34 b(is)h(useful)f(\(and)g
-(nearly)h(mandatory\))g(when)f(\015attening)630 3665
+3493 y(all)e(record)e(dimensions.)54 b(This)34 b(is)h(useful)f(\(and)g
+(nearly)h(mandatory\))g(when)f(\015attening)630 3602
y(netCDF4)k(\014les)f(that)h(ha)m(v)m(e)g(m)m(ultiple)g(record)f
(dimensions)f(p)s(er)g(group)h(in)m(to)h(netCDF3)630
-3774 y(\014les)44 b(\(whic)m(h)g(are)h(limited)g(to)g(at)f(most)h(one)f
-(record)g(dimension\))g(\(see)h(Section)g(3.13)630 3884
+3712 y(\014les)44 b(\(whic)m(h)g(are)h(limited)g(to)g(at)f(most)h(one)f
+(record)g(dimension\))g(\(see)h(Section)g(3.13)630 3821
y([Group)30 b(P)m(ath)h(Editing],)g(page)g(46\).)630
-4041 y(As)41 b(of)h FC(NCO)f FD(v)m(ersion)g(4.4.0)i(\(Jan)m(uary)-8
+3962 y(As)41 b(of)h FC(NCO)f FD(v)m(ersion)g(4.4.0)i(\(Jan)m(uary)-8
b(,)45 b(2014\),)h(the)c(`)p Fy(--hdn)p FD(')e(or)h(`)p
-Fy(--hidden)p FD(')f(options)630 4150 y(prin)m(t)35 b(hidden)e(\(ak)-5
+Fy(--hidden)p FD(')f(options)630 4072 y(prin)m(t)35 b(hidden)e(\(ak)-5
b(a)37 b(sp)s(ecial\))f(attributes.)55 b(This)35 b(is)g(equiv)-5
b(alen)m(t)36 b(to)g(`)p Fy(ncdump)29 b(-s)p FD('.)55
-b(Hid-)630 4260 y(den)c(attributes)h(include:)83 b Fy(_Format)p
+b(Hid-)630 4181 y(den)c(attributes)h(include:)83 b Fy(_Format)p
FD(,)56 b Fy(_DeflateLevel)p FD(,)d Fy(_Shuffle)p FD(,)i
-Fy(_Storage)p FD(,)g Fy(_)630 4369 y(ChunkSizes)p FD(,)38
+Fy(_Storage)p FD(,)g Fy(_)630 4291 y(ChunkSizes)p FD(,)38
b Fy(_Endianness)p FD(,)g Fy(_Fletcher32)p FD(,)g(and)g
Fy(_NOFILL)p FD(.)64 b(Previously)38 b Fy(ncks)g FD(ig-)630
-4479 y(nored)33 b(all)i(these)f(attributes)g(in)g FC(CDL)p
+4401 y(nored)33 b(all)i(these)f(attributes)g(in)g FC(CDL)p
FD(/)p FC(XML)g FD(mo)s(des.)50 b(No)m(w)35 b(it)f(prin)m(ts)f(these)h
-(attributes)630 4589 y(as)46 b(appropriate.)87 b(Users)45
-b(are)h(referred)f(to)i(the)f(Unidata)g(netCDF)g(Do)s(cumen)m(tation)
-630 4698 y(\()p Fy(http:)q(/)q(/)q(www)q(.)q(unidata)q(.ucar.edu/)q(so)
-o(ftw)o(are/)q(n)o(etcd)o(f)q(/doc)o(s)p FD(\),)26 b(or)32
-b(the)f(man)g(pages)630 4808 y(for)44 b Fy(ncgen)e FD(or)j
-Fy(ncdump)p FD(,)h(for)d(detailed)j(descriptions)d(of)i(the)f(meanings)
-g(of)g(these)h(at-)630 4917 y(tributes.)150 5121 y(`)p
-Fy(--cdl)p FD(')190 b(As)29 b(of)h FC(NCO)f FD(v)m(ersion)h(4.3.3)h
-(\(July)-8 b(,)30 b(2013\),)i Fy(ncks)c FD(can)h(prin)m(t)g(extracted)i
-(data)f(and)f(meta-)630 5230 y(data)39 b(to)g(screen)g(\(i.e.,)j
-Fy(stdout)p FD(\))c(as)g(v)-5 b(alid)39 b FC(CDL)g FD(\(net)m(w)m(ork)h
-(Common)e(data)h(form)f(De-)630 5340 y(scription)g(Language\).)65
-b FC(CDL)38 b FD(is)g(the)g(h)m(uman-readable)g(\\lingua)h(franca")f
-(of)g(netCDF)p eop end
+(attributes)630 4510 y(as)29 b(appropriate.)41 b(As)28
+b(of)i FC(NCO)e FD(v)m(ersion)i(4.4.6)h(\(Septem)m(b)s(er,)e(2014\),)i
+(`)p Fy(--hdn)p FD(')e(also)g(prin)m(ts)630 4620 y(the)42
+b(extended)g(\014le)h(format)f(\(i.e.,)47 b(the)42 b(format)h(of)f(the)
+g(\014le)g(or)g(serv)m(er)h(supplying)e(the)630 4729
+y(data\))e(as)f Fy(_SOURCE_FORMAT)p FD(.)59 b(Users)38
+b(are)g(referred)f(to)h(the)g(Unidata)h(netCDF)f(Do)s(cu-)630
+4839 y(men)m(tation)c(\()p Fy(http:)r(/)r(/)q(www)r(.)q(unidata)r(.)q
+(ucar)r(.)q(edu)r(/)q(softw)o(are)r(/netcd)o(f)r(/)q(doc)o(s)p
+FD(\),)28 b(or)33 b(the)630 4949 y(man)38 b(pages)g(for)g
+Fy(ncgen)e FD(or)i Fy(ncdump)p FD(,)g(for)g(detailed)h(descriptions)f
+(of)g(the)g(meanings)g(of)630 5058 y(these)31 b(attributes.)150
+5230 y(`)p Fy(--cdl)p FD(')190 b(As)29 b(of)h FC(NCO)f
+FD(v)m(ersion)h(4.3.3)h(\(July)-8 b(,)30 b(2013\),)i
+Fy(ncks)c FD(can)h(prin)m(t)g(extracted)i(data)f(and)f(meta-)630
+5340 y(data)39 b(to)g(screen)g(\(i.e.,)j Fy(stdout)p
+FD(\))c(as)g(v)-5 b(alid)39 b FC(CDL)g FD(\(net)m(w)m(ork)h(Common)e
+(data)h(form)f(De-)p eop end
%%Page: 179 185
TeXDict begin 179 184 bop 150 -116 a FD(Chapter)30 b(4:)41
b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(179)630
-299 y(ingested)33 b(b)m(y)g Fy(ncgen)e FD(and)h(excreted)h(b)m(y)g
+299 y(scription)38 b(Language\).)65 b FC(CDL)38 b FD(is)g(the)g(h)m
+(uman-readable)g(\\lingua)h(franca")f(of)g(netCDF)630
+408 y(ingested)33 b(b)m(y)g Fy(ncgen)e FD(and)h(excreted)h(b)m(y)g
Fy(ncdump)p FD(.)46 b(Compare)32 b Fy(ncks)f FD(\\traditional")k(with)
-630 408 y FC(CDL)c FD(prin)m(ting:)870 540 y Fy(zender at roulee:~$)43
-b(ncks)k(-v)g(one)g(~/nco/data/in.nc)870 650 y(one:)g(type)f(NC_FLOAT,)
+630 518 y FC(CDL)c FD(prin)m(ting:)870 650 y Fy(zender at roulee:~$)43
+b(ncks)k(-v)g(one)g(~/nco/data/in.nc)870 759 y(one:)g(type)f(NC_FLOAT,)
g(0)h(dimensions,)e(1)i(attribute,)e(chunked?)h(no,)h(compressed?)d
-(no,)j(packed?)f(no)870 759 y(one)h(size)g(\(RAM\))f(=)h
+(no,)j(packed?)f(no)870 869 y(one)h(size)g(\(RAM\))f(=)h
(1*sizeof\(NC_FLOAT\))c(=)48 b(1*4)f(=)g(4)g(bytes)870
-869 y(one)g(attribute)e(0:)i(long_name,)e(size)i(=)g(3)h(NC_CHAR,)d
-(value)i(=)g(one)870 1088 y(one)g(=)g(1)870 1307 y(zender at roulee:~$)c
-(ncks)k(--cdl)f(-v)i(one)e(~/nco/data/in.nc)870 1417
-y(netcdf)g(in)h({)965 1636 y(variables:)1061 1745 y(float)f(one)h(;)
-1061 1855 y(one:long_name)d(=)k("one")e(;)965 2074 y(data:)1061
-2184 y(one)h(=)g(1)h(;)870 2403 y(})f(//)h(group)e(/)630
-2534 y(ncgen)29 b FD(con)m(v)m(erts)j FC(CDL)p FD(-mo)s(de)e(output)g
-(in)m(to)i(a)e(netCDF)h(\014le:)870 2666 y Fy(ncks)47
+978 y(one)g(attribute)e(0:)i(long_name,)e(size)i(=)g(3)h(NC_CHAR,)d
+(value)i(=)g(one)870 1198 y(one)g(=)g(1)870 1417 y(zender at roulee:~$)c
+(ncks)k(--cdl)f(-v)i(one)e(~/nco/data/in.nc)870 1526
+y(netcdf)g(in)h({)965 1745 y(variables:)1061 1855 y(float)f(one)h(;)
+1061 1965 y(one:long_name)d(=)k("one")e(;)965 2184 y(data:)1061
+2293 y(one)h(=)g(1)h(;)870 2513 y(})f(//)h(group)e(/)630
+2644 y(ncgen)29 b FD(con)m(v)m(erts)j FC(CDL)p FD(-mo)s(de)e(output)g
+(in)m(to)i(a)e(netCDF)h(\014le:)870 2776 y Fy(ncks)47
b(--cdl)f(-v)h(one)g(~/nco/data/in.nc)c(>)48 b(~/in.cdl)870
-2776 y(ncgen)e(-k)i(netCDF-4)d(-b)i(-o)g(~/in.nc)f(~/in.cdl)870
-2885 y(ncks)h(-v)g(one)g(~/in.nc)630 3017 y FD(The)54
+2885 y(ncgen)e(-k)i(netCDF-4)d(-b)i(-o)g(~/in.nc)f(~/in.cdl)870
+2995 y(ncks)h(-v)g(one)g(~/in.nc)630 3126 y FD(The)54
b FC(HDF)h FD(v)m(ersion)g(of)g Fy(ncgen)p FD(,)60 b(often)55
b(named)f Fy(hncgen)f FD(or)h Fy(ncgen-hdf)p FD(,)k(con)m(v)m(erts)630
-3126 y(netCDF3)31 b FC(CDL)g FD(in)m(to)g(an)g FC(HDF)g
-FD(\014le:)870 3258 y Fy(/usr/hdf4/bin/ncgen)43 b(-b)k(-o)g(~/in.hdf)e
+3236 y(netCDF3)31 b FC(CDL)g FD(in)m(to)g(an)g FC(HDF)g
+FD(\014le:)870 3367 y Fy(/usr/hdf4/bin/ncgen)43 b(-b)k(-o)g(~/in.hdf)e
(~/in.cdl)h(#)h(HDF)g(ncgen)g(\(local)f(builds\))870
-3367 y(/usr/bin/hncgen)235 b(-b)47 b(-o)g(~/in.hdf)e(~/in.cdl)h(#)h
-(Same)g(as)g(HDF)g(ncgen)g(\(RPM)f(packages?\))870 3477
+3477 y(/usr/bin/hncgen)235 b(-b)47 b(-o)g(~/in.hdf)e(~/in.cdl)h(#)h
+(Same)g(as)g(HDF)g(ncgen)g(\(RPM)f(packages?\))870 3587
y(/usr/bin/ncgen-hdf)91 b(-b)47 b(-o)g(~/in.hdf)e(~/in.cdl)h(#)h(Same)g
-(as)g(HDF)g(ncgen)g(\(Debian)e(packages?\))870 3587 y(hdp)i(dumpsds)f
+(as)g(HDF)g(ncgen)g(\(Debian)e(packages?\))870 3696 y(hdp)i(dumpsds)f
(~/in.hdf)1143 b(#)47 b(ncdump/h5dump-equivalent)42 b(for)47
-b(HDF4)630 3718 y FD(Note)e(that)f FC(HDF4)g FD(do)s(es)f(not)h(supp)s
+b(HDF4)630 3828 y FD(Note)e(that)f FC(HDF4)g FD(do)s(es)f(not)h(supp)s
(ort)e(netCDF-st)m(yle)j(groups,)i(so)d(the)f(ab)s(o)m(v)m(e)i(com-)630
-3828 y(mands)29 b(fail)h(when)f(the)h(input)e(\014le)i(con)m(tains)h
+3937 y(mands)29 b(fail)h(when)f(the)h(input)e(\014le)i(con)m(tains)h
(groups.)40 b(Only)29 b(netCDF4)i(and)e FC(HDF5)h FD(sup-)630
-3937 y(p)s(ort)35 b(groups.)55 b(In)35 b(our)g(exp)s(erience)h(the)g
+4047 y(p)s(ort)35 b(groups.)55 b(In)35 b(our)g(exp)s(erience)h(the)g
FC(HDF)g Fy(ncgen)e FD(command,)j(b)m(y)f(whatev)m(er)g(name)630
-4047 y(installed,)31 b(is)g(not)f(robust)g(and)g(can)g(fail)h(on)g(v)-5
-b(alid)30 b(netCDF3)i FC(CDL)p FD(.)150 4200 y(`)p Fy(--mk_rec_dmn)27
-b Fn(dim)p FD(')630 4310 y(Change)e(existing)i(dimension)d
+4156 y(installed,)31 b(is)g(not)f(robust)g(and)g(can)g(fail)h(on)g(v)-5
+b(alid)30 b(netCDF3)i FC(CDL)p FD(.)150 4310 y(`)p Fy(--mk_rec_dmn)27
+b Fn(dim)p FD(')630 4419 y(Change)e(existing)i(dimension)d
Fz(dim)h FD(to)h(a)g(record)f(dimension)g(in)g(the)g(output)g(\014le.)
-39 b(This)25 b(is)630 4419 y(the)32 b(most)g(straigh)m(tforw)m(ard)h(w)
+39 b(This)25 b(is)630 4529 y(the)32 b(most)g(straigh)m(tforw)m(ard)h(w)
m(a)m(y)g(of)f(c)m(hanging)g(a)h(dimension)e(to)i(a/the)g(record)e
-(dimen-)630 4529 y(sion,)k(and)d(w)m(orks)i(\014ne)f(in)g(most)h
+(dimen-)630 4639 y(sion,)k(and)d(w)m(orks)i(\014ne)f(in)g(most)h
(cases.)51 b(See)34 b(Section)g(4.5)h([ncecat)g(netCDF)f(Ensem)m(ble)
-630 4639 y(Concatenator],)g(page)f(170)g(and)f(Section)h(4.8)g([ncp)s
-(dq)d(netCDF)j(P)m(erm)m(ute)g(Dimensions)630 4748 y(Quic)m(kly],)38
-b(page)e(189)h(for)f(other)f(metho)s(ds)g(of)h(c)m(hanging)h(v)-5
+630 4748 y(Concatenator],)g(page)f(170)g(and)f(Section)h(4.8)g([ncp)s
+(dq)d(netCDF)j(P)m(erm)m(ute)g(Dimensions)630 4858 y(Quic)m(kly],)38
+b(page)e(190)h(for)f(other)f(metho)s(ds)g(of)h(c)m(hanging)h(v)-5
b(ariable)36 b(dimensionalit)m(y)-8 b(,)39 b(in-)630
-4858 y(cluding)30 b(the)h(record)f(dimension.)150 5011
+4967 y(cluding)30 b(the)h(record)f(dimension.)150 5121
y(`)p Fy(-H)p FD(')334 b(T)-8 b(urn-on)29 b(prin)m(ting)i(to)g(screen)g
(or)f(turn-o\013)g(cop)m(ying)i(data)f(\(not)g(metadata\).)43
-b(Also)31 b(acti-)630 5121 y(v)-5 b(ated)26 b(using)f(`)p
+b(Also)31 b(acti-)630 5230 y(v)-5 b(ated)26 b(using)f(`)p
Fy(--print)p FD(')e(or)j(`)p Fy(--prn)p FD('.)38 b(By)25
b(default)h Fy(ncks)e FD(prin)m(ts)h(all)h(metadata)h(and)d(data)630
-5230 y(to)30 b(screen)g(if)g(no)f(netCDF)h(output)f(\014le)h(is)g(sp)s
+5340 y(to)30 b(screen)g(if)g(no)f(netCDF)h(output)f(\014le)h(is)g(sp)s
(eci\014ed.)39 b(Use)30 b(`)p Fy(-H)p FD(')g(to)g(prin)m(t)f(data)i(to)
-f(screen)630 5340 y(if)35 b(a)g(netCDF)g(output)f(is)h(sp)s(eci\014ed,)
-g(or)g(to)g(restrict)h(prin)m(ting)e(to)i(data)f(\(no)g(metadata\))p
-eop end
+f(screen)p eop end
%%Page: 180 186
TeXDict begin 180 185 bop 150 -116 a FD(180)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)630 299 y(when)38 b(no)h(netCDF)h(output)f
-(is)g(sp)s(eci\014ed.)67 b(Also)39 b(use)g(`)p Fy(-H)p
-FD(')g(to)h(turn-o\013)f(cop)m(ying)h(data)630 408 y(\(not)f
-(metadata\))h(to)f(an)g(output)f(\014le.)64 b(Unless)39
-b(otherwise)f(sp)s(eci\014ed)g(\(with)g Fy(-s)p FD(\),)j(eac)m(h)630
-518 y(elemen)m(t)35 b(of)f(the)g(data)g(h)m(yp)s(erslab)f(prin)m(ts)g
-(on)g(a)h(separate)h(line)f(con)m(taining)h(the)f(names,)630
-628 y(indices,)j(and,)f(v)-5 b(alues,)37 b(if)e(an)m(y)-8
-b(,)37 b(of)e(all)h(of)g(the)f(v)-5 b(ariables)36 b(dimensions.)54
-b(The)35 b(dimension)630 737 y(and)23 b(v)-5 b(ariable)24
-b(indices)f(refer)g(to)i(the)e(lo)s(cation)i(of)e(the)h(corresp)s
-(onding)e(data)i(elemen)m(t)h(with)630 847 y(resp)s(ect)30
-b(to)h(the)g(v)-5 b(ariable)31 b(as)g(stored)f(on)h(disk)e(\(i.e.,)k
-(not)d(the)h(h)m(yp)s(erslab\).)870 1003 y Fy(\045)47
-b(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)870 1113 y(lat[0]=-90)g
-(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)870 1223
-y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)870
-1332 y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)870
-1442 y(...)870 1551 y(lat[1]=90)g(lev[2]=1000)g(lon[1]=90)g
-(three_dmn_var[21]=21)870 1661 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g
-(three_dmn_var[22]=22)870 1771 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
-(three_dmn_var[23]=23)630 1927 y FD(Prin)m(ting)24 b(the)g(same)g(v)-5
+b FD(4.4.6)j(User)d(Guide)630 299 y(if)35 b(a)g(netCDF)g(output)f(is)h
+(sp)s(eci\014ed,)g(or)g(to)g(restrict)h(prin)m(ting)e(to)i(data)f(\(no)
+g(metadata\))630 408 y(when)j(no)h(netCDF)h(output)f(is)g(sp)s
+(eci\014ed.)67 b(Also)39 b(use)g(`)p Fy(-H)p FD(')g(to)h(turn-o\013)f
+(cop)m(ying)h(data)630 518 y(\(not)f(metadata\))h(to)f(an)g(output)f
+(\014le.)64 b(Unless)39 b(otherwise)f(sp)s(eci\014ed)g(\(with)g
+Fy(-s)p FD(\),)j(eac)m(h)630 628 y(elemen)m(t)35 b(of)f(the)g(data)g(h)
+m(yp)s(erslab)f(prin)m(ts)g(on)g(a)h(separate)h(line)f(con)m(taining)h
+(the)f(names,)630 737 y(indices,)j(and,)f(v)-5 b(alues,)37
+b(if)e(an)m(y)-8 b(,)37 b(of)e(all)h(of)g(the)f(v)-5
+b(ariables)36 b(dimensions.)54 b(The)35 b(dimension)630
+847 y(and)23 b(v)-5 b(ariable)24 b(indices)f(refer)g(to)i(the)e(lo)s
+(cation)i(of)e(the)h(corresp)s(onding)e(data)i(elemen)m(t)h(with)630
+956 y(resp)s(ect)30 b(to)h(the)g(v)-5 b(ariable)31 b(as)g(stored)f(on)h
+(disk)e(\(i.e.,)k(not)d(the)h(h)m(yp)s(erslab\).)870
+1097 y Fy(\045)47 b(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)870
+1207 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)870
+1316 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)870
+1426 y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)870
+1536 y(...)870 1645 y(lat[1]=90)g(lev[2]=1000)g(lon[1]=90)g
+(three_dmn_var[21]=21)870 1755 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g
+(three_dmn_var[22]=22)870 1864 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
+(three_dmn_var[23]=23)630 2005 y FD(Prin)m(ting)24 b(the)g(same)g(v)-5
b(ariable)25 b(with)f(the)g(`)p Fy(-F)p FD(')f(option)i(sho)m(ws)e(the)
-i(same)f(v)-5 b(ariable)24 b(indexed)630 2037 y(with)30
-b(F)-8 b(ortran)31 b(con)m(v)m(en)m(tions)870 2193 y
+i(same)f(v)-5 b(ariable)24 b(indexed)630 2115 y(with)30
+b(F)-8 b(ortran)31 b(con)m(v)m(en)m(tions)870 2256 y
Fy(\045)47 b(ncks)g(-F)g(-C)g(-v)h(three_dmn_var)c(in.nc)870
-2303 y(lon\(1\)=0)i(lev\(1\)=100)f(lat\(1\)=-90)g(three_dmn_var\(1\)=0)
-870 2412 y(lon\(2\)=90)g(lev\(1\)=100)g(lat\(1\)=-90)g
-(three_dmn_var\(2\)=1)870 2522 y(lon\(3\)=180)g(lev\(1\)=100)g
-(lat\(1\)=-90)g(three_dmn_var\(3\)=2)870 2632 y(...)630
-2788 y FD(Prin)m(ting)e(a)f(h)m(yp)s(erslab)g(do)s(es)g(not)h(a\013ect)
+2365 y(lon\(1\)=0)i(lev\(1\)=100)f(lat\(1\)=-90)g(three_dmn_var\(1\)=0)
+870 2475 y(lon\(2\)=90)g(lev\(1\)=100)g(lat\(1\)=-90)g
+(three_dmn_var\(2\)=1)870 2585 y(lon\(3\)=180)g(lev\(1\)=100)g
+(lat\(1\)=-90)g(three_dmn_var\(3\)=2)870 2694 y(...)630
+2835 y FD(Prin)m(ting)e(a)f(h)m(yp)s(erslab)g(do)s(es)g(not)h(a\013ect)
h(the)e(v)-5 b(ariable)44 b(or)e(dimension)g(indices)h(since)630
-2898 y(these)35 b(indices)h(are)f(relativ)m(e)i(to)f(the)f(full)g(v)-5
+2945 y(these)35 b(indices)h(are)f(relativ)m(e)i(to)f(the)f(full)g(v)-5
b(ariable)36 b(\(as)f(stored)h(in)e(the)i(input)e(\014le\),)j(and)630
-3007 y(the)29 b(input)f(\014le)h(has)f(not)h(c)m(hanged.)41
+3054 y(the)29 b(input)f(\014le)h(has)f(not)h(c)m(hanged.)41
b(Ho)m(w)m(ev)m(er,)31 b(if)e(the)g(h)m(yp)s(erslab)f(is)g(sa)m(v)m(ed)
-i(to)g(an)e(output)630 3117 y(\014le)i(and)g(those)h(v)-5
+i(to)g(an)e(output)630 3164 y(\014le)i(and)g(those)h(v)-5
b(alues)31 b(are)g(prin)m(ted,)f(the)g(indices)h(will)g(c)m(hange:)870
-3273 y Fy(\045)47 b(ncks)g(-H)g(-d)g(lat,90.0)f(-d)h(lev,1000.0)e(-v)i
-(three_dmn_var)e(in.nc)h(out.nc)870 3383 y(...)870 3493
+3305 y Fy(\045)47 b(ncks)g(-H)g(-d)g(lat,90.0)f(-d)h(lev,1000.0)e(-v)i
+(three_dmn_var)e(in.nc)h(out.nc)870 3414 y(...)870 3524
y(lat[1]=90)f(lev[2]=1000)g(lon[0]=0)h(three_dmn_var[20]=20)870
-3602 y(lat[1]=90)f(lev[2]=1000)g(lon[1]=90)g(three_dmn_var[21]=21)870
-3712 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g(three_dmn_var[22]=22)870
-3821 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g(three_dmn_var[23]=23)870
-3931 y(\045)i(ncks)g(-C)g(-v)g(three_dmn_var)e(out.nc)870
-4041 y(lat[0]=90)g(lev[0]=1000)g(lon[0]=0)h(three_dmn_var[0]=20)870
-4150 y(lat[0]=90)f(lev[0]=1000)g(lon[1]=90)g(three_dmn_var[1]=21)870
-4260 y(lat[0]=90)g(lev[0]=1000)g(lon[2]=180)g(three_dmn_var[2]=22)870
-4369 y(lat[0]=90)g(lev[0]=1000)g(lon[3]=270)g(three_dmn_var[3]=23)150
+3634 y(lat[1]=90)f(lev[2]=1000)g(lon[1]=90)g(three_dmn_var[21]=21)870
+3743 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g(three_dmn_var[22]=22)870
+3853 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g(three_dmn_var[23]=23)870
+3962 y(\045)i(ncks)g(-C)g(-v)g(three_dmn_var)e(out.nc)870
+4072 y(lat[0]=90)g(lev[0]=1000)g(lon[0]=0)h(three_dmn_var[0]=20)870
+4181 y(lat[0]=90)f(lev[0]=1000)g(lon[1]=90)g(three_dmn_var[1]=21)870
+4291 y(lat[0]=90)g(lev[0]=1000)g(lon[2]=180)g(three_dmn_var[2]=22)870
+4401 y(lat[0]=90)g(lev[0]=1000)g(lon[3]=270)g(three_dmn_var[3]=23)150
4573 y FD(`)p Fy(-M)p FD(')334 b(T)-8 b(urn-on)24 b(prin)m(ting)g(to)i
(screen)f(or)g(turn-o\013)g(cop)m(ying)g(global)i(and)d(group)g
(metadata.)41 b(This)630 4682 y(includes)20 b(\014le)g(summary)f
@@ -26583,510 +26649,561 @@ b(activ)-5 b(ated)32 b(using)e(`)p Fy(--noblank)p FD(')f(or)h(`)p
Fy(--no-blank)p FD('.)p eop end
%%Page: 182 188
TeXDict begin 182 187 bop 150 -116 a FD(182)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(`)p Fy(-P)p FD(')334
+b FD(4.4.6)j(User)d(Guide)150 299 y(`)p Fy(-P)p FD(')334
b(Prin)m(t)39 b(data,)i(metadata,)i(and)38 b(units)g(to)h(screen.)66
b(The)38 b(`)p Fy(-P)p FD(')g(switc)m(h)h(is)g(a)g(con)m(v)m(enience)
630 408 y(abbreviation)e(for)g(`)p Fy(-C)30 b(-H)g(-M)f(-m)h(-u)p
FD('.)59 b(Also)38 b(activ)-5 b(ated)39 b(using)d(`)p
Fy(--print)p FD(')f(or)i(`)p Fy(--prn)p FD('.)630 518
y(This)30 b(set)g(of)h(switc)m(hes)g(is)g(useful)e(for)h(exploring)h
-(\014le)f(con)m(ten)m(ts.)150 678 y(`)p Fy(-Q)p FD(')334
-b(T)-8 b(oggle)23 b(prin)m(ting)e(of)g(dimension)f(indices)h(and)f(co)s
-(ordinate)i(v)-5 b(alues)21 b(when)f(prin)m(ting)g(arra)m(ys.)630
-788 y(Eac)m(h)26 b(v)-5 b(ariable's)27 b(name)f(app)s(ears)f(\015ush)f
-(left)j(in)e(the)h(output.)39 b(This)25 b(helps)h(lo)s(cate)h(sp)s
-(eci\014c)630 897 y(v)-5 b(ariables)31 b(in)f(lists)h(with)f(man)m(y)h
-(v)-5 b(ariables)31 b(and)e(di\013eren)m(t)i(dimensions.)150
-1058 y(`)p Fy(-q)p FD(')334 b(T)-8 b(urn)36 b(o\013)i(all)h(prin)m
-(ting)e(to)h(screen.)63 b(This)37 b(o)m(v)m(errides)h(the)g(setting)h
-(of)f(all)g(prin)m(t-related)630 1167 y(switc)m(hes,)h(equiv)-5
-b(alen)m(t)38 b(to)g Fn(-H)29 b(-M)h(-m)36 b FD(when)g(in)g
-(single-\014le)i(prin)m(ting)e(mo)s(de.)60 b(When)36
-b(in-)630 1277 y(v)m(ok)m(ed)d(with)f Fy(-R)g FD(\(see)h(Section)g(3.8)
-g([Retaining)h(Retriev)m(ed)f(Files],)i(page)e(35\),)h
-Fy(ncks)d FD(au-)630 1386 y(tomatically)g(sets)e Fy(-q)p
-FD(.)39 b(This)27 b(allo)m(ws)j Fy(ncks)d FD(to)i(retriev)m(e)g(remote)
-g(\014les)f(without)g(automat-)630 1496 y(ically)k(trying)e(to)h(prin)m
-(t)f(them.)41 b(Also)31 b(`)p Fy(--quiet)p FD('.)150
-1656 y(`)p Fy(--rad)p FD(')190 b(Retain)22 b(all)f(dimensions.)37
+(\014le)f(con)m(ten)m(ts.)150 676 y(`)p Fy(-Q)p FD(')334
+b(Prin)m(t)37 b(quietly)-8 b(,)40 b(meaning)e(omit)f(dimension)g
+(names,)i(indices,)g(and)e(co)s(ordinate)h(v)-5 b(alues)630
+786 y(when)35 b(prin)m(ting)h(arra)m(ys.)59 b(V)-8 b(ariable)38
+b(\(not)f(dimension\))f(indices)g(are)h(prin)m(ted.)57
+b(V)-8 b(ariable)630 896 y(names)30 b(app)s(ear)g(\015ush)f(left)i(in)f
+(the)g(output:)870 1029 y Fy(zender at roulee:~$)43 b(ncks)k(-Q)g(-v)g
+(three_dmn_rec_var)c(-C)48 b(-H)f(~/nco/data/in.nc)870
+1139 y(three_dmn_rec_var[0]=1)870 1249 y(...)630 1383
+y FD(This)38 b(helps)g(lo)s(cate)i(sp)s(eci\014c)f(v)-5
+b(ariables)39 b(in)f(lists)h(with)g(man)m(y)f(v)-5 b(ariables)39
+b(and)f(di\013eren)m(t)630 1492 y(dimensions.)61 b(See)38
+b(also)g(the)g(`)p Fy(-V)p FD(')f(option,)j(whic)m(h)d(omits)h(all)g
+(names)f(and)g(indices)h(and)630 1602 y(prin)m(ts)30
+b(only)g(v)-5 b(ariable)32 b(v)-5 b(alues.)150 1760 y(`)p
+Fy(-q)p FD(')334 b(Quenc)m(h)29 b(\(turn-o\013)7 b(\))30
+b(all)g(prin)m(ting)f(to)h(screen.)41 b(This)28 b(o)m(v)m(errides)i
+(the)g(setting)g(of)g(all)g(prin)m(t-)630 1870 y(related)21
+b(switc)m(hes,)j(equiv)-5 b(alen)m(t)22 b(to)f Fn(-H)30
+b(-M)g(-m)19 b FD(when)h(in)g(single-\014le)i(prin)m(ting)e(mo)s(de.)37
+b(When)630 1979 y(in)m(v)m(ok)m(ed)k(with)e Fy(-R)g FD(\(see)i(Section)
+f(3.8)h([Retaining)g(Retriev)m(ed)g(Files],)i(page)e(35\),)i
+Fy(ncks)630 2089 y FD(automatically)36 b(sets)e Fy(-q)p
+FD(.)49 b(This)32 b(allo)m(ws)j Fy(ncks)d FD(to)i(retriev)m(e)g(remote)
+g(\014les)g(without)f(auto-)630 2198 y(matically)f(trying)f(to)g(prin)m
+(t)f(them.)41 b(Also)31 b(`)p Fy(--quench)p FD('.)150
+2357 y(`)p Fy(--rad)p FD(')190 b(Retain)22 b(all)f(dimensions.)37
b(When)20 b(in)m(v)m(ok)m(ed)j(with)d Fy(--rad)f FD(\(Retain)j(All)g
-(Dimensions\),)h Fy(ncks)630 1766 y FD(copies)30 b(eac)m(h)h(dimension)
+(Dimensions\),)h Fy(ncks)630 2466 y FD(copies)30 b(eac)m(h)h(dimension)
d(in)h(the)h(input)e(\014le)h(to)h(the)g(output)f(\014le,)h(regardless)
-f(of)h(whether)630 1875 y(the)40 b(dimension)g(is)g(utilized)g(b)m(y)g
+f(of)h(whether)630 2576 y(the)40 b(dimension)g(is)g(utilized)g(b)m(y)g
(an)m(y)g(v)-5 b(ariables.)71 b(Normally)40 b Fy(ncks)f
-FD(discards)h(\\orphan)630 1985 y(dimensions",)23 b(i.e.,)h(dimensions)
+FD(discards)h(\\orphan)630 2685 y(dimensions",)23 b(i.e.,)h(dimensions)
19 b(not)i(referenced)g(b)m(y)g(an)m(y)g(v)-5 b(ariables.)38
-b(This)20 b(switc)m(h)h(allo)m(ws)630 2094 y(users)42
+b(This)20 b(switc)m(h)h(allo)m(ws)630 2795 y(users)42
b(to)h(k)m(eep)h(non-referenced)e(dimensions)g(in)g(the)h(w)m(ork\015o)
-m(w.)78 b(When)42 b(in)m(v)m(ok)m(ed)i(in)630 2204 y(prin)m(ting)27
+m(w.)78 b(When)42 b(in)m(v)m(ok)m(ed)i(in)630 2905 y(prin)m(ting)27
b(mo)s(de,)h(causes)g(orphaned)f(dimensions)g(to)h(b)s(e)f(prin)m(ted)g
-(\(they)i(are)f(not)f(prin)m(ted)630 2314 y(b)m(y)37
+(\(they)i(are)f(not)f(prin)m(ted)630 3014 y(b)m(y)37
b(default\).)61 b(Also)37 b(`)p Fy(--retain_all_dimensions)p
FD(',)c(`)p Fy(--orphan_dimensions)p FD(',)i(and)630
-2423 y(`)p Fy(--rph_dmn)p FD('.)150 2583 y(`)p Fy(-s)30
-b Fn(format)p FD(')630 2693 y(String)51 b(format)g(for)g(text)h
+3124 y(`)p Fy(--rph_dmn)p FD('.)150 3282 y(`)p Fy(-s)30
+b Fn(format)p FD(')630 3392 y(String)51 b(format)g(for)g(text)h
(output.)103 b(Accepts)52 b(C)30 b(language)53 b(escap)s(e)e(sequences)
-h(and)630 2803 y Fy(printf\(\))28 b FD(formats.)41 b(Also)31
+h(and)630 3501 y Fy(printf\(\))28 b FD(formats.)41 b(Also)31
b(`)p Fy(--string)p FD(')e(and)g(`)p Fy(--sng_fmt)p FD('.)150
-2963 y(`)p Fy(-u)p FD(')334 b(T)-8 b(oggle)31 b(the)e(prin)m(ting)f(of)
+3660 y(`)p Fy(--secret)p FD(')630 3769 y(Prin)m(t)37
+b(summary)g(of)h Fy(ncks)e FD(hidden)g(features.)62 b(These)38
+b(hidden)e(or)h(secret)i(features)f(are)630 3879 y(used)d(mainly)h(b)m
+(y)g(dev)m(elop)s(ers.)58 b(They)36 b(are)g(not)g(supp)s(orted)e(for)i
+(general)h(use)f(and)f(ma)m(y)630 3988 y(c)m(hange)26
+b(at)f(an)m(y)g(time.)39 b(This)24 b(demonstrates)g(conclusiv)m(ely)j
+(that)e(I)f(cannot)h(k)m(eep)g(a)g(secret.)630 4098 y(Also)31
+b(`)p Fy(--ssh)p FD(')e(and)h(`)p Fy(--scr)p FD('.)150
+4256 y(`)p Fy(-u)p FD(')334 b(T)-8 b(oggle)31 b(the)e(prin)m(ting)f(of)
h(a)g(v)-5 b(ariable's)29 b Fy(units)f FD(attribute,)i(if)e(an)m(y)-8
-b(,)30 b(with)f(its)g(v)-5 b(alues.)40 b(Also)630 3072
-y(`)p Fy(--units)p FD('.)150 3232 y(`)p Fy(--xml,)29
-b(--ncml)p FD(')630 3342 y(As)39 b(of)h FC(NCO)f FD(v)m(ersion)h(4.3.3)
-h(\(July)-8 b(,)42 b(2013\),)i Fy(ncks)39 b FD(can)g(prin)m(t)g
-(extracted)i(metadata)g(to)630 3452 y(screen)36 b(\(i.e.,)k
-Fy(stdout)p FD(\))34 b(as)j FC(XML)f FD(in)g FC(NcML)p
-FD(,)i(the)f(netCDF)f(Markup)g(Language.)59 b Fy(ncks)630
-3561 y FD(supp)s(orts)36 b(for)i FC(XML)g FD(more)h(completely)g(than)f
-(of)g(`)p Fy(ncdump)29 b(-x)p FD('.)64 b(With)38 b Fy(ncks)f
-FD(one)i(can)630 3671 y(translate)j(en)m(tire)g(netCDF3)g(and)f
-(netCDF4)h(\014les)f(in)m(to)h FC(NcML)p FD(,)i(including)c(metadata)
-630 3780 y(and)30 b(data,)i(using)e(all)h FC(NCO)p FD('s)g(subsetting)f
-(and)g(h)m(yp)s(erslabbing)g(capabilities.)43 b(Compare)630
-3890 y Fy(ncks)29 b FD(\\traditional")k(with)d FC(XML)h
-FD(prin)m(ting:)870 4025 y Fy(zender at roulee:~$)43 b(ncks)k(-v)g(one)g
-(~/nco/data/in.nc)870 4134 y(one:)g(type)f(NC_FLOAT,)g(0)h(dimensions,)
-e(1)i(attribute,)e(chunked?)h(no,)h(compressed?)d(no,)j(packed?)f(no)
-870 4244 y(one)h(size)g(\(RAM\))f(=)h(1*sizeof\(NC_FLOAT\))c(=)48
-b(1*4)f(=)g(4)g(bytes)870 4354 y(one)g(attribute)e(0:)i(long_name,)e
-(size)i(=)g(3)h(NC_CHAR,)d(value)i(=)g(one)870 4573 y(one)g(=)g(1)870
-4792 y(zender at roulee:~$)c(ncks)k(--xml)f(-v)i(one)e(~/nco/data/in.nc)
-870 4902 y(<?xml)g(version="1.0")f(encoding="UTF-8"?>)870
-5011 y(<netcdf)h(xmlns="http://www.unidat)o(a.u)o(car.)o(edu/)o(nam)o
-(espa)o(ces/)o(net)o(cdf/)o(ncml)o(-2.)o(2")c(location="/home/zender/)o
-(nco)o(/dat)o(a/in)o(.nc)o(">)965 5121 y(<variable)k(name="one")f
-(type="float")f(shape="">)1061 5230 y(<attribute)h(name="long_name")e
-(separator="*")h(value="one")h(/>)1061 5340 y(<values>1.</values>)p
-eop end
+b(,)30 b(with)f(its)g(v)-5 b(alues.)40 b(Also)630 4366
+y(`)p Fy(--units)p FD('.)150 4524 y(`)p Fy(-V)p FD(')334
+b(Prin)m(t)27 b(v)-5 b(ariable)28 b(v)-5 b(alues)28 b(only)-8
+b(.)40 b(Do)28 b(not)f(prin)m(t)g(v)-5 b(ariable)28 b(and)f(dimension)g
+(names,)h(indices,)630 4634 y(and)i(co)s(ordinate)h(v)-5
+b(alues)31 b(when)e(prin)m(ting)h(arra)m(ys.)870 4768
+y Fy(zender at roulee:~$)43 b(ncks)k(-V)g(-v)g(three_dmn_rec_var)c(-C)48
+b(-H)f(~/nco/data/in.nc)870 4877 y(1)870 4987 y(...)630
+5121 y FD(See)35 b(also)h(the)f(`)p Fy(-Q)p FD(')g(option,)h(whic)m(h)f
+(prin)m(ts)f(v)-5 b(ariable)36 b(names)e(and)g(indices,)j(but)d(not)h
+(di-)630 5230 y(mension)c(names,)h(indices,)h(or)e(co)s(ordinate)i(v)-5
+b(alues)32 b(when)e(prin)m(ting)i(arra)m(ys.)44 b(Using)32
+b(`)p Fy(-V)p FD(')630 5340 y(is)e(the)h(same)g(as)f(sp)s(ecifying)h(`)
+p Fy(-Q)f(--no_nm_prn)p FD('.)p eop end
%%Page: 183 189
TeXDict begin 183 188 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(183)965
-299 y Fy(</variable>)870 408 y(</netcdf>)630 567 y FC(XML)p
-FD(-mo)s(de)41 b(prin)m(ts)f(v)-5 b(ariable)42 b(metadata)g(and,)h(as)e
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(183)150
+299 y(`)p Fy(--xml,)29 b(--ncml)p FD(')630 408 y(As)39
+b(of)h FC(NCO)f FD(v)m(ersion)h(4.3.3)h(\(July)-8 b(,)42
+b(2013\),)i Fy(ncks)39 b FD(can)g(prin)m(t)g(extracted)i(metadata)g(to)
+630 518 y(screen)36 b(\(i.e.,)k Fy(stdout)p FD(\))34
+b(as)j FC(XML)f FD(in)g FC(NcML)p FD(,)i(the)f(netCDF)f(Markup)g
+(Language.)59 b Fy(ncks)630 628 y FD(supp)s(orts)36 b(for)i
+FC(XML)g FD(more)h(completely)g(than)f(of)g(`)p Fy(ncdump)29
+b(-x)p FD('.)64 b(With)38 b Fy(ncks)f FD(one)i(can)630
+737 y(translate)j(en)m(tire)g(netCDF3)g(and)f(netCDF4)h(\014les)f(in)m
+(to)h FC(NcML)p FD(,)i(including)c(metadata)630 847 y(and)30
+b(data,)i(using)e(all)h FC(NCO)p FD('s)g(subsetting)f(and)g(h)m(yp)s
+(erslabbing)g(capabilities.)43 b(Compare)630 956 y Fy(ncks)29
+b FD(\\traditional")k(with)d FC(XML)h FD(prin)m(ting:)870
+1093 y Fy(zender at roulee:~$)43 b(ncks)k(-v)g(one)g(~/nco/data/in.nc)870
+1203 y(one:)g(type)f(NC_FLOAT,)g(0)h(dimensions,)e(1)i(attribute,)e
+(chunked?)h(no,)h(compressed?)d(no,)j(packed?)f(no)870
+1313 y(one)h(size)g(\(RAM\))f(=)h(1*sizeof\(NC_FLOAT\))c(=)48
+b(1*4)f(=)g(4)g(bytes)870 1422 y(one)g(attribute)e(0:)i(long_name,)e
+(size)i(=)g(3)h(NC_CHAR,)d(value)i(=)g(one)870 1641 y(one)g(=)g(1)870
+1861 y(zender at roulee:~$)c(ncks)k(--xml)f(-v)i(one)e(~/nco/data/in.nc)
+870 1970 y(<?xml)g(version="1.0")f(encoding="UTF-8"?>)870
+2080 y(<netcdf)h(xmlns="http://www.unidat)o(a.u)o(car.)o(edu/)o(nam)o
+(espa)o(ces/)o(net)o(cdf/)o(ncml)o(-2.)o(2")c(location="/home/zender/)o
+(nco)o(/dat)o(a/in)o(.nc)o(">)965 2189 y(<variable)k(name="one")f
+(type="float")f(shape="">)1061 2299 y(<attribute)h(name="long_name")e
+(separator="*")h(value="one")h(/>)1061 2408 y(<values>1.</values>)965
+2518 y(</variable>)870 2628 y(</netcdf>)630 2765 y FC(XML)p
+FD(-mo)s(de)c(prin)m(ts)f(v)-5 b(ariable)42 b(metadata)g(and,)h(as)e
(of)g FC(NCO)g FD(v)m(ersion)g(4.3.7)h(\(Octob)s(er,)630
-677 y(2013\),)c(v)-5 b(ariable)35 b(data)g(and,)h(as)e(of)h
+2874 y(2013\),)c(v)-5 b(ariable)35 b(data)g(and,)h(as)e(of)h
FC(NCO)f FD(v)m(ersion)h(4.4.0)i(\(Jan)m(uary)-8 b(,)36
-b(2014\),)i(hidden)33 b(at-)630 786 y(tributes.)39 b(That)25
+b(2014\),)i(hidden)33 b(at-)630 2984 y(tributes.)39 b(That)25
b FC(nc)n(ks)g FD(pro)s(duces)f(correct)i FC(NcML)g FD(translations)g
-(of)f FC(CDM)h FD(\014les)f(for)h(all)g(sup-)630 896
+(of)f FC(CDM)h FD(\014les)f(for)h(all)g(sup-)630 3093
y(p)s(orted)32 b(datat)m(yp)s(es)i(is)f(v)m(eri\014ed)g(b)m(y)g
(comparison)g(to)g(output)g(from)f(Unidata's)i Fy(toolsUI)630
-1006 y FD(Ja)m(v)-5 b(a)31 b(program.)41 b(Please)31
+3203 y FD(Ja)m(v)-5 b(a)31 b(program.)41 b(Please)31
b(let)h(us)d(kno)m(w)i(ho)m(w)f(to)h(impro)m(v)m(e)g
-FC(XML)p FD(/)p FC(NcML)h FD(features.)630 1164 y Fy(ncks)135
+FC(XML)p FD(/)p FC(NcML)h FD(features.)630 3340 y Fy(ncks)135
b FD(pro)m(vides)h(additional)h(options)g(to)g(con\014gure)f
-FC(NcML)g FD(output:)630 1274 y(`)p Fy(--xml_no_location)p
+FC(NcML)g FD(output:)630 3450 y(`)p Fy(--xml_no_location)p
FD(',)39 b(`)p Fy(--xml_spr_chr)p FD(',)h(and)f(`)p Fy(--xml_spr_nmr)p
-FD('.)67 b(Ev)m(ery)41 b FC(NcML)630 1383 y FD(con\014guration)c
+FD('.)67 b(Ev)m(ery)41 b FC(NcML)630 3559 y FD(con\014guration)c
(option)h(automatically)i(triggers)e FC(NcML)f FD(prin)m(ting,)h(so)g
-(that)f(sp)s(ecifying)630 1493 y(`)p Fy(--xml)p FD(')k(in)h(addition)h
+(that)f(sp)s(ecifying)630 3669 y(`)p Fy(--xml)p FD(')k(in)h(addition)h
(to)g(a)f(con\014guration)h(option)g(is)f(redundan)m(t)f(and)h
-(unnecessary)-8 b(.)630 1603 y(The)38 b(`)p Fy(--xml_no_location)p
+(unnecessary)-8 b(.)630 3778 y(The)38 b(`)p Fy(--xml_no_location)p
FD(')d(switc)m(h)k(prev)m(en)m(ts)g(output)f(of)h(the)g
-FC(NcML)g Fy(location)d FD(el-)630 1712 y(emen)m(t.)67
+FC(NcML)g Fy(location)d FD(el-)630 3888 y(emen)m(t.)67
b(By)39 b(default)g(the)g(lo)s(cation)h(elemen)m(t)g(is)f(prin)m(ted)f
-(with)h(a)g(v)-5 b(alue)39 b(equal)g(to)h(the)630 1822
+(with)h(a)g(v)-5 b(alue)39 b(equal)g(to)h(the)630 3998
y(lo)s(cation)46 b(of)e(the)g(input)f(dataset,)49 b(e.g.,)g
Fy(location="/home/zender/i)o(n.n)o(c")p FD(.)75 b(The)630
-1931 y(`)p Fy(--xml_spr_chr)p FD(')35 b(and)j(`)p Fy(--xml_spr_nmr)p
+4107 y(`)p Fy(--xml_spr_chr)p FD(')35 b(and)j(`)p Fy(--xml_spr_nmr)p
FD(')d(options)j(customize)i(the)e(strings)g(used)g(as)630
-2041 y FC(NcML)i FD(separators)g(for)g(attributes)h(and)e(v)-5
+4217 y FC(NcML)i FD(separators)g(for)g(attributes)h(and)e(v)-5
b(ariables)40 b(of)g(c)m(haracter-t)m(yp)s(e)i(and)e(n)m(umeric-)630
-2151 y(t)m(yp)s(e,)31 b(resp)s(ectiv)m(ely)-8 b(.)42
-b(Their)30 b(default)h(separators)f(are)h Fy(")p FD(*)p
-Fy(")f FD(and)g Fy(")g(")p FD(:)870 2309 y Fy(zender at roulee:~$)43
-b(ncks)k(--xml)f(-d)i(time,0,3)d(-v)i(two_dmn_rec_var_sng)c(in.nc)870
-2419 y(...)1013 2528 y(<values)j(separator="*">abc*bcd*cd)o(e*de)o
-(f</v)o(alu)o(es>)918 2638 y(...)918 2748 y(zender at roulee:~$)d(ncks)k
+4326 y(t)m(yp)s(e,)31 b(resp)s(ectiv)m(ely)-8 b(.)42
+b(Their)30 b(default)h(separators)f(are)h Fy(*)f FD(and)g(\\)h(")g(\(a)
+g(space\):)870 4463 y Fy(zender at roulee:~$)43 b(ncks)k(--xml)f(-d)i
+(time,0,3)d(-v)i(two_dmn_rec_var_sng)c(in.nc)870 4573
+y(...)1013 4682 y(<values)j(separator="*">abc*bcd*cd)o(e*de)o(f</v)o
+(alu)o(es>)918 4792 y(...)918 4902 y(zender at roulee:~$)d(ncks)k
(--xml_spr_chr=',)c(')48 b(-v)f(two_dmn_rec_var_sng)42
-b(in.nc)870 2857 y(...)870 2967 y(<values)k(separator=",)e(">abc,)i
+b(in.nc)870 5011 y(...)870 5121 y(<values)k(separator=",)e(">abc,)i
(bcd,)h(cde,)g(def,)f(efg,)h(fgh,)g(ghi,)f(hij,)h(jkl,)f(klm</values>)
-870 3076 y(...)870 3186 y(zender at roulee:~$)d(ncks)k(--xml)f(-v)i
-(one_dmn_rec_var)43 b(in.nc)870 3296 y(...)870 3405 y(<values>1)i(2)j
-(3)f(4)h(5)f(6)h(7)f(8)g(9)h(10</values>)870 3515 y(...)870
-3624 y(zender at roulee:~$)43 b(ncks)k(--xml_spr_nmr=',)c(')48
-b(-v)f(one_dmn_rec_var)d(in.nc)870 3734 y(...)870 3843
+870 5230 y(...)870 5340 y(zender at roulee:~$)d(ncks)k(--xml)f(-v)i
+(one_dmn_rec_var)43 b(in.nc)p eop end
+%%Page: 184 190
+TeXDict begin 184 189 bop 150 -116 a FD(184)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)870 299 y Fy(...)870 408 y(<values>1)45
+b(2)j(3)f(4)h(5)f(6)h(7)f(8)g(9)h(10</values>)870 518
+y(...)870 628 y(zender at roulee:~$)43 b(ncks)k(--xml_spr_nmr=',)c(')48
+b(-v)f(one_dmn_rec_var)d(in.nc)870 737 y(...)870 847
y(<values)i(separator=",)e(">1,)j(2,)g(3,)g(4,)g(5,)h(6,)f(7,)g(8,)g
-(9,)g(10</values>)870 3953 y(...)630 4112 y FD(Separator)35
+(9,)g(10</values>)870 956 y(...)630 1096 y FD(Separator)35
b(elemen)m(ts)i(for)d(strings)h(are)h(a)f(thorn)m(y)g(issue.)54
-b(One)35 b(m)m(ust)g(b)s(e)f(sure)g(that)i(the)630 4221
+b(One)35 b(m)m(ust)g(b)s(e)f(sure)g(that)i(the)630 1205
y(separator)31 b(elemen)m(t)h(is)f(not)g(mistak)m(en)g(as)g(a)g(p)s
(ortion)f(of)h(the)f(string.)41 b FC(NCO)31 b FD(attempts)g(to)630
-4331 y(pro)s(duce)h(v)-5 b(alid)33 b FC(NcML)f FD(and)g(supplies)g(the)
+1315 y(pro)s(duce)h(v)-5 b(alid)33 b FC(NcML)f FD(and)g(supplies)g(the)
h(`)p Fy(--xml_spr_chr)p FD(')d(option)j(to)g(w)m(ork)g(around)630
-4441 y(an)m(y)c(di\016culties.)41 b FC(NCO)28 b FD(p)s(erforms)f
+1424 y(an)m(y)c(di\016culties.)41 b FC(NCO)28 b FD(p)s(erforms)f
(precautionary)i(c)m(hec)m(ks)h(with)f Fy(strstr\()p
-Fn(val)p Fy(,)p Fn(spr)p Fy(\))24 b FD(to)630 4550 y(iden)m(tify)i
+Fn(val)p Fy(,)p Fn(spr)p Fy(\))24 b FD(to)630 1534 y(iden)m(tify)i
(presence)f(of)h(the)g(separator)g(string)f(\()p Fz(spr)7
b FD(\))25 b(in)g(data)h(\()p Fz(v)-5 b(al)t FD(\))26
-b(and,)g(when)f(it)h(detects)630 4660 y(a)34 b(matc)m(h,)i
+b(and,)g(when)f(it)h(detects)630 1644 y(a)34 b(matc)m(h,)i
(automatically)g(switc)m(hes)e(to)h(a)f(bac)m(kup)f(separator)h(string)
-g(\()p Fy(*|*)p FD(\).)50 b(Ho)m(w)m(ev)m(er)630 4769
+g(\()p Fy(*|*)p FD(\).)50 b(Ho)m(w)m(ev)m(er)630 1753
y(limitations)35 b(of)e Fy(strstr\(\))d FD(ma)m(y)k(lead)f(to)h(false)f
-(negativ)m(es)i(when)d(the)h(separator)h(string)630 4879
+(negativ)m(es)i(when)d(the)h(separator)h(string)630 1863
y(o)s(ccurs)43 b(in)g(data)h(b)s(ey)m(ond)e(the)h(\014rst)g(string)g
(in)g(m)m(ulti-dimensional)h Fy(NC_CHAR)d FD(arra)m(ys.)630
-4988 y(Hence,)48 b(results)c(ma)m(y)g(b)s(e)f(am)m(biguous)h(to)h(NcML)
+1972 y(Hence,)48 b(results)c(ma)m(y)g(b)s(e)f(am)m(biguous)h(to)h(NcML)
g(parsers.)80 b(If)43 b(problems)g(arise,)48 b(use)630
-5098 y(`)p Fy(--xml_spr_chr)p FD(')34 b(to)k(sp)s(ecify)e(a)i(m)m
+2082 y(`)p Fy(--xml_spr_chr)p FD(')34 b(to)k(sp)s(ecify)e(a)i(m)m
(ulti-c)m(haracter)h(separator)f(that)g(do)s(es)e(not)i(app)s(ear)630
-5208 y(in)c(the)h(string)f(arra)m(y)h(and)e(that)i(do)s(es)f(not)h
+2192 y(in)c(the)h(string)f(arra)m(y)h(and)e(that)i(do)s(es)f(not)h
(include)f(an)g(NcML)h(formatting)g(c)m(haracters)630
-5317 y(\(e.g.,)d(commas,)g(angles,)f(quotes\).)p eop
-end
-%%Page: 184 190
-TeXDict begin 184 189 bop 150 -116 a FD(184)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fu(4.7.2)63 b(Filters)41
-b(for)h Fl(ncks)150 446 y FD(W)-8 b(e)34 b(encourage)g(the)f(use)g(of)g
-(standard)f FC(UNIX)i FD(pip)s(es)e(and)g(\014lters)h(to)g(narro)m(w)g
-(the)g(v)m(erb)s(ose)g(output)g(of)150 555 y Fy(ncks)22
-b FD(in)m(to)h(more)g(precise)g(targets.)40 b(F)-8 b(or)23
-b(example,)i(to)f(obtain)f(an)g(uncluttered)f(listing)i(of)e(the)h(v)-5
-b(ariables)150 665 y(in)30 b(a)h(\014le)f(try)390 826
-y Fy(ncks)47 b(-m)g(in.nc)f(|)i(grep)e(-E)h(':)h(type')e(|)h(cut)g(-f)h
-(1)f(-d)g(')h(')f(|)h(sed)e('s/://')g(|)i(sort)275 986
-y FD(A)d(Bash)g(user)g(could)g(alias)i(the)e(previous)g(\014lter)g(to)h
-(the)g(shell)f(command)g Fy(nclist)f FD(as)i(sho)m(wn)150
-1096 y(b)s(elo)m(w.)65 b(More)39 b(complex)g(examples)g(could)g(in)m(v)
-m(olv)m(e)h(command)e(line)h(argumen)m(ts.)65 b(F)-8
-b(or)39 b(example,)j(a)150 1205 y(user)26 b(ma)m(y)h(frequen)m(tly)f(b)
-s(e)g(in)m(terested)h(in)f(obtaining)h(the)g(v)-5 b(alue)27
-b(of)f(an)g(attribute,)i(e.g.,)h(for)d(textual)i(\014le)150
-1315 y(examination)38 b(or)e(for)g(passing)g(to)h(another)g(shell)f
-(command.)59 b(Sa)m(y)37 b(the)f(attribute)h(is)g Fy(purpose)p
-FD(,)f(the)150 1425 y(v)-5 b(ariable)28 b(is)f Fy(z)p
-FD(,)h(and)e(the)i(\014le)f(is)g Fy(in.nc)p FD(.)38 b(In)26
-b(this)h(example,)i Fy(ncks)g(-m)h(-v)g(z)d FD(is)g(to)s(o)h(v)m(erb)s
-(ose)f(so)g(a)h(robust)150 1534 y Fy(grep)h FD(and)h
-Fy(cut)f FD(\014lter)i(is)f(desirable,)h(suc)m(h)f(as)390
-1695 y Fy(ncks)47 b(-M)g(-m)g(in.nc)f(|)i(grep)e(-E)i(-i)f("^z)g
-(attribute)e([0-9]+:)h(purpose")f(|)j(cut)f(-f)g(11-)g(-d)g(')g(')h(|)f
-(sort)275 1856 y FD(The)27 b(\014lters)h(are)h(clearly)h(to)s(o)f
-(complex)g(to)g(remem)m(b)s(er)e(on-the-\015y)i(so)f(the)h(en)m(tire)g
-(pro)s(cedure)e(could)150 1965 y(b)s(e)j(implemen)m(ted)h(as)f(a)h
-(shell)g(command)f(or)g(function)g(called,)i(sa)m(y)-8
-b(,)32 b Fy(ncattget)390 2126 y(function)46 b(ncattget)f({)j(ncks)e(-M)
+2301 y(\(e.g.,)d(commas,)g(angles,)f(quotes\).)150 2510
+y Fu(4.7.2)63 b(Filters)41 b(for)h Fl(ncks)150 2657 y
+FD(W)-8 b(e)34 b(encourage)g(the)f(use)g(of)g(standard)f
+FC(UNIX)i FD(pip)s(es)e(and)g(\014lters)h(to)g(narro)m(w)g(the)g(v)m
+(erb)s(ose)g(output)g(of)150 2766 y Fy(ncks)22 b FD(in)m(to)h(more)g
+(precise)g(targets.)40 b(F)-8 b(or)23 b(example,)i(to)f(obtain)f(an)g
+(uncluttered)f(listing)i(of)e(the)h(v)-5 b(ariables)150
+2876 y(in)30 b(a)h(\014le)f(try)390 3040 y Fy(ncks)47
+b(-m)g(in.nc)f(|)i(grep)e(-E)h(':)h(type')e(|)h(cut)g(-f)h(1)f(-d)g(')h
+(')f(|)h(sed)e('s/://')g(|)i(sort)275 3204 y FD(A)d(Bash)g(user)g
+(could)g(alias)i(the)e(previous)g(\014lter)g(to)h(the)g(shell)f
+(command)g Fy(nclist)f FD(as)i(sho)m(wn)150 3314 y(b)s(elo)m(w.)65
+b(More)39 b(complex)g(examples)g(could)g(in)m(v)m(olv)m(e)h(command)e
+(line)h(argumen)m(ts.)65 b(F)-8 b(or)39 b(example,)j(a)150
+3423 y(user)26 b(ma)m(y)h(frequen)m(tly)f(b)s(e)g(in)m(terested)h(in)f
+(obtaining)h(the)g(v)-5 b(alue)27 b(of)f(an)g(attribute,)i(e.g.,)h(for)
+d(textual)i(\014le)150 3533 y(examination)38 b(or)e(for)g(passing)g(to)
+h(another)g(shell)f(command.)59 b(Sa)m(y)37 b(the)f(attribute)h(is)g
+Fy(purpose)p FD(,)f(the)150 3643 y(v)-5 b(ariable)28
+b(is)f Fy(z)p FD(,)h(and)e(the)i(\014le)f(is)g Fy(in.nc)p
+FD(.)38 b(In)26 b(this)h(example,)i Fy(ncks)g(-m)h(-v)g(z)d
+FD(is)g(to)s(o)h(v)m(erb)s(ose)f(so)g(a)h(robust)150
+3752 y Fy(grep)h FD(and)h Fy(cut)f FD(\014lter)i(is)f(desirable,)h(suc)
+m(h)f(as)390 3916 y Fy(ncks)47 b(-M)g(-m)g(in.nc)f(|)i(grep)e(-E)i(-i)f
+("^z)g(attribute)e([0-9]+:)h(purpose")f(|)j(cut)f(-f)g(11-)g(-d)g(')g
+(')h(|)f(sort)275 4080 y FD(The)27 b(\014lters)h(are)h(clearly)h(to)s
+(o)f(complex)g(to)g(remem)m(b)s(er)e(on-the-\015y)i(so)f(the)h(en)m
+(tire)g(pro)s(cedure)e(could)150 4190 y(b)s(e)j(implemen)m(ted)h(as)f
+(a)h(shell)g(command)f(or)g(function)g(called,)i(sa)m(y)-8
+b(,)32 b Fy(ncattget)390 4354 y(function)46 b(ncattget)f({)j(ncks)e(-M)
h(-m)h(${3})e(|)i(grep)e(-E)h(-i)h("^${2})e(attribute)f([0-9]+:)h
(${1}")g(|)i(cut)e(-f)i(11-)f(-d)g(')g(')h(|)f(sort)g(;)g(})275
-2286 y FD(The)26 b(shell)i Fy(ncattget)d FD(is)j(in)m(v)m(ok)m(ed)g
+4518 y FD(The)26 b(shell)i Fy(ncattget)d FD(is)j(in)m(v)m(ok)m(ed)g
(with)g(three)f(arugmen)m(ts)h(that)g(are,)g(in)g(order,)f(the)h(names)
-f(of)h(the)150 2396 y(attribute,)j(v)-5 b(ariable,)30
+f(of)h(the)150 4628 y(attribute,)j(v)-5 b(ariable,)30
b(and)f(\014le)h(to)g(examine.)41 b(Global)30 b(attributes)g(are)g
-(indicated)g(b)m(y)f(using)g(a)h(v)-5 b(ariable)150 2506
+(indicated)g(b)m(y)f(using)g(a)h(v)-5 b(ariable)150 4737
y(name)30 b(of)h Fy(global)p FD(.)39 b(This)30 b(de\014nition)g(yields)
-g(the)h(follo)m(wing)h(results)390 2666 y Fy(\045)47
-b(ncattget)f(purpose)g(z)h(in.nc)390 2776 y(Height)f(stored)g(with)h(a)
-g(monotonically)d(increasing)h(coordinate)390 2885 y(\045)i(ncattget)f
-(Purpose)g(Z)h(in.nc)390 2995 y(Height)f(stored)g(with)h(a)g
-(monotonically)d(increasing)h(coordinate)390 3105 y(\045)i(ncattget)f
-(history)g(z)h(in.nc)390 3214 y(\045)g(ncattget)f(history)g(global)g
-(in.nc)390 3324 y(History)g(global)g(attribute.)275 3484
-y FD(Note)30 b(that)f(case)h(sensitivit)m(y)g(has)e(b)s(een)g(turned)g
-(o\013)h(for)g(the)f(v)-5 b(ariable)30 b(and)e(attribute)i(names)e
-(\(and)150 3594 y(could)34 b(b)s(e)g(turned)f(on)h(b)m(y)h(remo)m(ving)
-g(the)f(`)p Fy(-i)p FD(')g(switc)m(h)h(to)g Fy(grep)p
-FD(\).)52 b(F)-8 b(urthermore,)35 b(extended)g(regular)150
-3704 y(expressions)22 b(ma)m(y)g(b)s(e)g(used)f(for)h(b)s(oth)f(the)h
-(v)-5 b(ariable)23 b(and)f(attribute)g(names.)38 b(The)22
-b(next)g(t)m(w)m(o)h(commands)150 3813 y(illustrate)29
-b(this)g(b)m(y)f(searc)m(hing)h(for)f(the)g(v)-5 b(alues)29
-b(of)g(attribute)g Fy(purpose)d FD(in)i(all)h(v)-5 b(ariables,)30
-b(and)d(then)h(for)150 3923 y(all)j(attributes)g(of)g(the)f(v)-5
-b(ariable)31 b Fy(z)p FD(:)390 4083 y Fy(\045)47 b(ncattget)f(purpose)g
-(.+)h(in.nc)390 4193 y(1-D)g(latitude)e(coordinate)g(referred)h(to)h
-(by)g(geodesic)f(grid)h(variables)390 4303 y(1-D)g(longitude)e
-(coordinate)g(referred)h(to)h(by)g(geodesic)f(grid)g(variables)390
-4412 y(...)390 4522 y(\045)h(ncattget)f(.+)h(Z)h(in.nc)390
-4631 y(Height)390 4741 y(Height)e(stored)g(with)h(a)g(monotonically)d
-(increasing)h(coordinate)390 4851 y(meter)275 5011 y
-FD(Extended)38 b(\014lters)h(are)g(b)s(est)g(stored)g(as)g(shell)g
-(commands)g(if)f(they)i(are)f(used)f(frequen)m(tly)-8
-b(.)67 b(Shell)150 5121 y(commands)27 b(ma)m(y)h(b)s(e)f(re-used)f
-(when)h(they)g(are)h(de\014ned)e(in)h(shell)h(con\014guration)f
-(\014les.)40 b(These)27 b(\014les)h(are)150 5230 y(usually)35
-b(named)g Fy(.bashrc)p FD(,)f Fy(.cshrc)p FD(,)h(and)f
-Fy(.profile)f FD(for)i(the)h(Bash,)g(Csh,)g(and)e(Sh)g(shells,)j(resp)s
-(ec-)150 5340 y(tiv)m(ely)-8 b(.)p eop end
+g(the)h(follo)m(wing)h(results)390 4902 y Fy(\045)47
+b(ncattget)f(purpose)g(z)h(in.nc)390 5011 y(Height)f(stored)g(with)h(a)
+g(monotonically)d(increasing)h(coordinate)390 5121 y(\045)i(ncattget)f
+(Purpose)g(Z)h(in.nc)390 5230 y(Height)f(stored)g(with)h(a)g
+(monotonically)d(increasing)h(coordinate)390 5340 y(\045)i(ncattget)f
+(history)g(z)h(in.nc)p eop end
%%Page: 185 191
TeXDict begin 185 190 bop 150 -116 a FD(Chapter)30 b(4:)41
b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(185)390
-299 y Fy(#)47 b(NB:)g(Untested)f(on)h(Csh,)g(Ksh,)f(Sh,)h(Zsh!)g(Send)g
-(us)g(feedback!)390 408 y(#)g(Bash)g(shell)f(\(/bin/bash\))f(users)i
-(place)f(these)g(in)h(.bashrc)390 518 y(#)g(ncattget)f($att_nm)g
-($var_nm)g($fl_nm)g(:)h(What)g(attributes)e(does)h(variable)g(have?)390
-628 y(function)g(ncattget)f({)j(ncks)e(-M)h(-m)h(${3})e(|)i(grep)e(-E)h
-(-i)h("^${2})e(attribute)f([0-9]+:)h(${1}")g(|)i(cut)e(-f)i(11-)f(-d)g
-(')g(')h(|)f(sort)g(;)g(})390 737 y(#)g(ncunits)f($att_val)g($fl_nm)g
-(:)h(Which)g(variables)e(have)i(given)f(units?)390 847
-y(function)g(ncunits)f({)j(ncks)e(-M)i(-m)f(${2})f(|)i(grep)f(-E)g(-i)g
-(")g(attribute)f([0-9]+:)f(units.+)h(${1}")h(|)g(cut)g(-f)g(1)h(-d)f(')
-g(')h(|)f(sort)g(;)g(})390 956 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h
-(What)g(is)g(mean)g(of)g(variable?)390 1066 y(function)f(ncavg)g({)h
-(ncwa)g(-y)g(avg)g(-O)g(-C)g(-v)h(${1})e(${2})h(~/foo.nc)e(;)j(ncks)f
-(-H)g(-C)g(-v)g(${1})g(~/foo.nc)e(|)j(cut)f(-f)g(3-)g(-d)g(')h(')f(;)g
-(})390 1176 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(mean)g(of)
-g(variable?)390 1285 y(function)f(ncavg)g({)h(ncap2)g(-O)g(-C)g(-v)g
-(-s)g("foo=${1}.avg\(\);print\(foo\))o(")42 b(${2})k(~/foo.nc)g(|)h
-(cut)g(-f)g(3-)h(-d)f(')g(')h(;)f(})390 1395 y(#)g(ncdmnsz)f($dmn_nm)g
-($fl_nm)g(:)i(What)e(is)h(dimension)f(size?)390 1504
+299 y Fy(\045)47 b(ncattget)f(history)g(global)g(in.nc)390
+408 y(History)g(global)g(attribute.)275 573 y FD(Note)30
+b(that)f(case)h(sensitivit)m(y)g(has)e(b)s(een)g(turned)g(o\013)h(for)g
+(the)f(v)-5 b(ariable)30 b(and)e(attribute)i(names)e(\(and)150
+682 y(could)34 b(b)s(e)g(turned)f(on)h(b)m(y)h(remo)m(ving)g(the)f(`)p
+Fy(-i)p FD(')g(switc)m(h)h(to)g Fy(grep)p FD(\).)52 b(F)-8
+b(urthermore,)35 b(extended)g(regular)150 792 y(expressions)22
+b(ma)m(y)g(b)s(e)g(used)f(for)h(b)s(oth)f(the)h(v)-5
+b(ariable)23 b(and)f(attribute)g(names.)38 b(The)22 b(next)g(t)m(w)m(o)
+h(commands)150 902 y(illustrate)29 b(this)g(b)m(y)f(searc)m(hing)h(for)
+f(the)g(v)-5 b(alues)29 b(of)g(attribute)g Fy(purpose)d
+FD(in)i(all)h(v)-5 b(ariables,)30 b(and)d(then)h(for)150
+1011 y(all)j(attributes)g(of)g(the)f(v)-5 b(ariable)31
+b Fy(z)p FD(:)390 1176 y Fy(\045)47 b(ncattget)f(purpose)g(.+)h(in.nc)
+390 1285 y(1-D)g(latitude)e(coordinate)g(referred)h(to)h(by)g(geodesic)
+f(grid)h(variables)390 1395 y(1-D)g(longitude)e(coordinate)g(referred)h
+(to)h(by)g(geodesic)f(grid)g(variables)390 1504 y(...)390
+1614 y(\045)h(ncattget)f(.+)h(Z)h(in.nc)390 1724 y(Height)390
+1833 y(Height)e(stored)g(with)h(a)g(monotonically)d(increasing)h
+(coordinate)390 1943 y(meter)275 2107 y FD(Extended)38
+b(\014lters)h(are)g(b)s(est)g(stored)g(as)g(shell)g(commands)g(if)f
+(they)i(are)f(used)f(frequen)m(tly)-8 b(.)67 b(Shell)150
+2217 y(commands)27 b(ma)m(y)h(b)s(e)f(re-used)f(when)h(they)g(are)h
+(de\014ned)e(in)h(shell)h(con\014guration)f(\014les.)40
+b(These)27 b(\014les)h(are)150 2326 y(usually)35 b(named)g
+Fy(.bashrc)p FD(,)f Fy(.cshrc)p FD(,)h(and)f Fy(.profile)f
+FD(for)i(the)h(Bash,)g(Csh,)g(and)e(Sh)g(shells,)j(resp)s(ec-)150
+2436 y(tiv)m(ely)-8 b(.)390 2600 y Fy(#)47 b(NB:)g(Untested)f(on)h
+(Csh,)g(Ksh,)f(Sh,)h(Zsh!)g(Send)g(us)g(feedback!)390
+2710 y(#)g(Bash)g(shell)f(\(/bin/bash\))f(users)i(place)f(these)g(in)h
+(.bashrc)390 2819 y(#)g(ncattget)f($att_nm)g($var_nm)g($fl_nm)g(:)h
+(What)g(attributes)e(does)h(variable)g(have?)390 2929
+y(function)g(ncattget)f({)j(ncks)e(-M)h(-m)h(${3})e(|)i(grep)e(-E)h(-i)
+h("^${2})e(attribute)f([0-9]+:)h(${1}")g(|)i(cut)e(-f)i(11-)f(-d)g(')g
+(')h(|)f(sort)g(;)g(})390 3039 y(#)g(ncunits)f($att_val)g($fl_nm)g(:)h
+(Which)g(variables)e(have)i(given)f(units?)390 3148 y(function)g
+(ncunits)f({)j(ncks)e(-M)i(-m)f(${2})f(|)i(grep)f(-E)g(-i)g(")g
+(attribute)f([0-9]+:)f(units.+)h(${1}")h(|)g(cut)g(-f)g(1)h(-d)f(')g(')
+h(|)f(sort)g(;)g(})390 3258 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h(What)g
+(is)g(mean)g(of)g(variable?)390 3367 y(function)f(ncavg)g({)h(ncwa)g
+(-y)g(avg)g(-O)g(-C)g(-v)h(${1})e(${2})h(~/foo.nc)e(;)j(ncks)f(-H)g(-C)
+g(-v)g(${1})g(~/foo.nc)e(|)j(cut)f(-f)g(3-)g(-d)g(')h(')f(;)g(})390
+3477 y(#)g(ncavg)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(mean)g(of)g
+(variable?)390 3587 y(function)f(ncavg)g({)h(ncap2)g(-O)g(-C)g(-v)g(-s)
+g("foo=${1}.avg\(\);print\(foo\))o(")42 b(${2})k(~/foo.nc)g(|)h(cut)g
+(-f)g(3-)h(-d)f(')g(')h(;)f(})390 3696 y(#)g(ncdmnsz)f($dmn_nm)g
+($fl_nm)g(:)i(What)e(is)h(dimension)f(size?)390 3806
y(function)g(ncdmnsz)f({)j(ncks)e(-m)i(-M)f(${2})f(|)i(grep)f(-E)g(-i)g
(":)g(${1},)f(size)h(=")g(|)h(cut)f(-f)g(7)g(-d)g(')h(')f(|)h(uniq)e(;)
-i(})390 1614 y(#)f(nclist)g($fl_nm)f(:)h(What)g(variables)e(are)i(in)g
-(file?)390 1724 y(function)f(nclist)g({)h(ncks)g(-m)g(${1})g(|)g(grep)g
+i(})390 3915 y(#)f(nclist)g($fl_nm)f(:)h(What)g(variables)e(are)i(in)g
+(file?)390 4025 y(function)f(nclist)g({)h(ncks)g(-m)g(${1})g(|)g(grep)g
(-E)g(':)g(type')f(|)i(cut)f(-f)g(1)g(-d)h(')f(')g(|)h(sed)f('s/://')f
-(|)h(sort)g(;)g(})390 1833 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g
-(is)g(maximum)f(of)h(variable?)390 1943 y(function)f(ncmax)g({)h(ncwa)g
+(|)h(sort)g(;)g(})390 4134 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g
+(is)g(maximum)f(of)h(variable?)390 4244 y(function)f(ncmax)g({)h(ncwa)g
(-y)g(max)g(-O)g(-C)g(-v)h(${1})e(${2})h(~/foo.nc)e(;)j(ncks)f(-H)g(-C)
g(-v)g(${1})g(~/foo.nc)e(|)j(cut)f(-f)g(3-)g(-d)g(')h(')f(;)g(})390
-2052 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(maximum)f(of)h
-(variable?)390 2162 y(function)f(ncmax)g({)h(ncap2)g(-O)g(-C)g(-v)g(-s)
+4354 y(#)g(ncmax)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(maximum)f(of)h
+(variable?)390 4463 y(function)f(ncmax)g({)h(ncap2)g(-O)g(-C)g(-v)g(-s)
g("foo=${1}.max\(\);print\(foo\))o(")42 b(${2})k(~/foo.nc)g(|)h(cut)g
-(-f)g(3-)h(-d)f(')g(')h(;)f(})390 2271 y(#)g(ncmdn)g($var_nm)f($fl_nm)g
-(:)h(What)g(is)g(median)f(of)h(variable?)390 2381 y(function)f(ncmdn)g
+(-f)g(3-)h(-d)f(')g(')h(;)f(})390 4573 y(#)g(ncmdn)g($var_nm)f($fl_nm)g
+(:)h(What)g(is)g(median)f(of)h(variable?)390 4682 y(function)f(ncmdn)g
({)h(ncap2)g(-O)g(-C)g(-v)g(-s)g("foo=gsl_stats_median_from)o(_sor)o
(ted)o(_dat)o(a\(${)o(1}.)o(sort)o(\(\)\))o(;pri)o(nt\(f)o(oo\))o(")42
b(${2})47 b(~/foo.nc)e(|)j(cut)e(-f)i(3-)f(-d)g(')g(')h(;)f(})390
-2491 y(#)g(ncrng)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(range)f(of)i
-(variable?)390 2600 y(function)e(ncrng)g({)h(ncap2)g(-O)g(-C)g(-v)g(-s)
+4792 y(#)g(ncrng)g($var_nm)f($fl_nm)g(:)h(What)g(is)g(range)f(of)i
+(variable?)390 4902 y(function)e(ncrng)g({)h(ncap2)g(-O)g(-C)g(-v)g(-s)
g("foo_min=${1}.min\(\);foo_ma)o(x=${)o(1}.)o(max\()o(\);pr)o(int)o
(\(foo)o(_mi)o(n,\\")o(\045f\\")o(\);p)o(rint)o(\(\\")41
b(to)47 b(\\"\);print\(foo_max,\\"\045f\\"\)")41 b(${2})47
-b(~/foo.nc)e(;)j(})390 2710 y(#)f(ncmode)g($var_nm)e($fl_nm)h(:)i(What)
-f(is)g(mode)f(of)i(variable?)390 2819 y(function)e(ncmode)g({)h(ncap2)f
+b(~/foo.nc)e(;)j(})390 5011 y(#)f(ncmode)g($var_nm)e($fl_nm)h(:)i(What)
+f(is)g(mode)f(of)i(variable?)390 5121 y(function)e(ncmode)g({)h(ncap2)f
(-O)i(-C)f(-v)g(-s)g("foo=gsl_stats_median_fro)o(m_so)o(rte)o(d_da)o
(ta\($)o({1})o(.sor)o(t\(\))o(\);pr)o(int\()o(foo)o(\)")42
b(${2})k(~/foo.nc)g(|)h(cut)g(-f)g(3-)h(-d)f(')g(')h(;)f(})390
-2929 y(#)g(ncrecsz)f($fl_nm)g(:)i(What)e(is)i(record)e(dimension)f
-(size?)390 3039 y(function)h(ncrecsz)f({)j(ncks)e(-M)i(${1})e(|)i(grep)
+5230 y(#)g(ncrecsz)f($fl_nm)g(:)i(What)e(is)i(record)e(dimension)f
+(size?)390 5340 y(function)h(ncrecsz)f({)j(ncks)e(-M)i(${1})e(|)i(grep)
e(-E)i(-i)f("^Record)e(dimension:")g(|)i(cut)g(-f)h(8-)f(-d)g(')g(')h
-(;)f(})390 3148 y(#)g(Csh)g(shell)g(\(/bin/csh\))e(users)h(place)g
-(these)h(in)g(.cshrc)390 3258 y(ncattget\(\))e({)i(ncks)g(-M)g(-m)g
-(${3})g(|)h(grep)e(-E)h(-i)h("^${2})e(attribute)f([0-9]+:)h(${1}")g(|)i
-(cut)e(-f)i(11-)e(-d)i(')f(')h(|)f(sort)g(;)g(})390 3367
-y(ncdmnsz\(\))e({)j(ncks)e(-m)i(-M)f(${2})f(|)i(grep)e(-E)i(-i)f(":)g
-(${1},)f(size)h(=")g(|)h(cut)f(-f)g(7)g(-d)g(')h(')f(|)h(uniq)e(;)i(})
-390 3477 y(nclist\(\))e({)h(ncks)g(-m)g(${1})f(|)i(grep)f(-E)g(':)g
-(type')f(|)i(cut)f(-f)g(1)g(-d)g(')h(')f(|)h(sed)f('s/://')f(|)h(sort)g
-(;)g(})390 3587 y(ncrecsz\(\))e({)j(ncks)e(-M)i(${1})e(|)i(grep)e(-E)h
-(-i)h("^Record)d(dimension:")g(|)i(cut)g(-f)g(8-)h(-d)f(')g(')h(;)f(})
-390 3696 y(#)g(Sh)h(shell)e(\(/bin/sh\))f(users)i(place)f(these)g(in)i
-(.profile)390 3806 y(ncattget\(\))d({)i(ncks)g(-M)g(-m)g(${3})g(|)h
-(grep)e(-E)h(-i)h("^${2})e(attribute)f([0-9]+:)h(${1}")g(|)i(cut)e(-f)i
-(11-)e(-d)i(')f(')h(|)f(sort)g(;)g(})390 3915 y(ncdmnsz\(\))e({)j(ncks)
-e(-m)i(-M)f(${2})f(|)i(grep)e(-E)i(-i)f(":)g(${1},)f(size)h(=")g(|)h
-(cut)f(-f)g(7)g(-d)g(')h(')f(|)h(uniq)e(;)i(})390 4025
-y(nclist\(\))e({)h(ncks)g(-m)g(${1})f(|)i(grep)f(-E)g(':)g(type')f(|)i
-(cut)f(-f)g(1)g(-d)g(')h(')f(|)h(sed)f('s/://')f(|)h(sort)g(;)g(})390
-4134 y(ncrecsz\(\))e({)j(ncks)e(-M)i(${1})e(|)i(grep)e(-E)h(-i)h
-("^Record)d(dimension:")g(|)i(cut)g(-f)g(8-)h(-d)f(')g(')h(;)f(})150
-4299 y FD(EXAMPLES)275 4463 y(View)30 b(all)i(data)f(in)f(netCDF)h
-Fy(in.nc)p FD(,)e(prin)m(ted)h(with)g(F)-8 b(ortran)31
-b(indexing)f(con)m(v)m(en)m(tions:)390 4628 y Fy(ncks)47
-b(-F)g(in.nc)275 4792 y FD(Cop)m(y)30 b(the)g(netCDF)h(\014le)g
-Fy(in.nc)e FD(to)i(\014le)f Fy(out.nc)p FD(.)390 4956
-y Fy(ncks)47 b(in.nc)f(out.nc)275 5121 y FD(No)m(w)22
+(;)f(})p eop end
+%%Page: 186 192
+TeXDict begin 186 191 bop 150 -116 a FD(186)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(#)47 b(Csh)g(shell)g
+(\(/bin/csh\))e(users)h(place)g(these)h(in)g(.cshrc)390
+408 y(ncattget\(\))e({)i(ncks)g(-M)g(-m)g(${3})g(|)h(grep)e(-E)h(-i)h
+("^${2})e(attribute)f([0-9]+:)h(${1}")g(|)i(cut)e(-f)i(11-)e(-d)i(')f
+(')h(|)f(sort)g(;)g(})390 518 y(ncdmnsz\(\))e({)j(ncks)e(-m)i(-M)f
+(${2})f(|)i(grep)e(-E)i(-i)f(":)g(${1},)f(size)h(=")g(|)h(cut)f(-f)g(7)
+g(-d)g(')h(')f(|)h(uniq)e(;)i(})390 628 y(nclist\(\))e({)h(ncks)g(-m)g
+(${1})f(|)i(grep)f(-E)g(':)g(type')f(|)i(cut)f(-f)g(1)g(-d)g(')h(')f(|)
+h(sed)f('s/://')f(|)h(sort)g(;)g(})390 737 y(ncrecsz\(\))e({)j(ncks)e
+(-M)i(${1})e(|)i(grep)e(-E)h(-i)h("^Record)d(dimension:")g(|)i(cut)g
+(-f)g(8-)h(-d)f(')g(')h(;)f(})390 847 y(#)g(Sh)h(shell)e(\(/bin/sh\))f
+(users)i(place)f(these)g(in)i(.profile)390 956 y(ncattget\(\))d({)i
+(ncks)g(-M)g(-m)g(${3})g(|)h(grep)e(-E)h(-i)h("^${2})e(attribute)f
+([0-9]+:)h(${1}")g(|)i(cut)e(-f)i(11-)e(-d)i(')f(')h(|)f(sort)g(;)g(})
+390 1066 y(ncdmnsz\(\))e({)j(ncks)e(-m)i(-M)f(${2})f(|)i(grep)e(-E)i
+(-i)f(":)g(${1},)f(size)h(=")g(|)h(cut)f(-f)g(7)g(-d)g(')h(')f(|)h
+(uniq)e(;)i(})390 1176 y(nclist\(\))e({)h(ncks)g(-m)g(${1})f(|)i(grep)f
+(-E)g(':)g(type')f(|)i(cut)f(-f)g(1)g(-d)g(')h(')f(|)h(sed)f('s/://')f
+(|)h(sort)g(;)g(})390 1285 y(ncrecsz\(\))e({)j(ncks)e(-M)i(${1})e(|)i
+(grep)e(-E)h(-i)h("^Record)d(dimension:")g(|)i(cut)g(-f)g(8-)h(-d)f(')g
+(')h(;)f(})150 1465 y FD(EXAMPLES)275 1644 y(View)30
+b(all)i(data)f(in)f(netCDF)h Fy(in.nc)p FD(,)e(prin)m(ted)h(with)g(F)-8
+b(ortran)31 b(indexing)f(con)m(v)m(en)m(tions:)390 1823
+y Fy(ncks)47 b(-F)g(in.nc)275 2002 y FD(Cop)m(y)30 b(the)g(netCDF)h
+(\014le)g Fy(in.nc)e FD(to)i(\014le)f Fy(out.nc)p FD(.)390
+2182 y Fy(ncks)47 b(in.nc)f(out.nc)275 2361 y FD(No)m(w)22
b(the)f(\014le)h Fy(out.nc)e FD(con)m(tains)i(all)h(the)e(data)i(from)e
Fy(in.nc)p FD(.)36 b(There)21 b(are,)j(ho)m(w)m(ev)m(er,)h(t)m(w)m(o)e
-(di\013erences)150 5230 y(b)s(et)m(w)m(een)32 b Fy(in.nc)f
+(di\013erences)150 2471 y(b)s(et)m(w)m(een)32 b Fy(in.nc)f
FD(and)g Fy(out.nc)p FD(.)43 b(First,)33 b(the)f Fy(history)e
FD(global)j(attribute)f(\(see)h(Section)g(3.35)g([History)150
-5340 y(A)m(ttribute],)28 b(page)e(97\))g(will)g(con)m(tain)g(the)f
+2580 y(A)m(ttribute],)28 b(page)e(97\))g(will)g(con)m(tain)g(the)f
(command)g(used)g(to)h(create)g Fy(out.nc)p FD(.)38 b(Second,)26
-b(the)f(v)-5 b(ariables)p eop end
-%%Page: 186 192
-TeXDict begin 186 191 bop 150 -116 a FD(186)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(in)j Fy(out.nc)f
+b(the)f(v)-5 b(ariables)150 2690 y(in)33 b Fy(out.nc)f
FD(will)i(b)s(e)e(de\014ned)g(in)i(alphab)s(etical)g(order.)50
b(Of)32 b(course)i(the)g(in)m(ternal)g(storage)h(of)e(v)-5
-b(ariable)150 408 y(in)29 b(a)h(netCDF)g(\014le)f(should)g(b)s(e)f
+b(ariable)150 2800 y(in)29 b(a)h(netCDF)g(\014le)f(should)g(b)s(e)f
(transparen)m(t)i(to)g(the)f(user,)h(but)e(there)i(are)g(cases)g(when)e
-(alphab)s(etizing)150 518 y(a)j(\014le)f(is)h(useful)e(\(see)j
-(description)e(of)h Fy(-a)e FD(switc)m(h\).)275 682 y(Cop)m(y)h(all)h
-(global)h(attributes)f(\(and)f(no)g(v)-5 b(ariables\))32
-b(from)d Fy(in.nc)g FD(to)j Fy(out.nc)p FD(:)390 847
-y Fy(ncks)47 b(-A)g(-x)g(~/nco/data/in.nc)c(~/out.nc)275
-1011 y FD(The)28 b(`)p Fy(-x)p FD(')h(switc)m(h)h(tells)g
+(alphab)s(etizing)150 2909 y(a)j(\014le)f(is)h(useful)e(\(see)j
+(description)e(of)h Fy(-a)e FD(switc)m(h\).)275 3088
+y(Cop)m(y)h(all)h(global)h(attributes)f(\(and)f(no)g(v)-5
+b(ariables\))32 b(from)d Fy(in.nc)g FD(to)j Fy(out.nc)p
+FD(:)390 3268 y Fy(ncks)47 b(-A)g(-x)g(~/nco/data/in.nc)c(~/out.nc)275
+3447 y FD(The)28 b(`)p Fy(-x)p FD(')h(switc)m(h)h(tells)g
FC(NCO)f FD(to)h(use)f(the)h(complemen)m(t)g(of)g(the)f(extraction)i
-(list)f(\(see)g(Section)g(3.11)150 1121 y([Subsetting)j(Files],)j(page)
+(list)f(\(see)g(Section)g(3.11)150 3557 y([Subsetting)j(Files],)j(page)
e(40\).)52 b(Since)33 b(no)h(extraction)h(list)f(is)g(explicitly)h(sp)s
-(eci\014ed)d(\(with)i(`)p Fy(-v)p FD('\),)h(the)150 1230
+(eci\014ed)d(\(with)i(`)p Fy(-v)p FD('\),)h(the)150 3666
y(default)29 b(is)f(to)h(extract)h(all)f(v)-5 b(ariables.)41
b(The)28 b(complemen)m(t)i(of)e(all)i(v)-5 b(ariables)29
-b(is)f(no)g(v)-5 b(ariables.)41 b(Without)150 1340 y(an)m(y)23
+b(is)f(no)g(v)-5 b(ariables.)41 b(Without)150 3776 y(an)m(y)23
b(v)-5 b(ariables)24 b(to)g(extract,)i(the)d(app)s(end)f(\(`)p
Fy(-A)p FD('\))i(command)e(\(see)i(Section)g(2.4)g([App)s(ending)e(V)-8
-b(ariables],)150 1450 y(page)31 b(17\))h(has)e(only)g(to)h(extract)h
+b(ariables],)150 3885 y(page)31 b(17\))h(has)e(only)g(to)h(extract)h
(and)e(cop)m(y)h(\(i.e.,)h(app)s(end\))d(global)j(attributes)f(to)g
-(the)g(output)f(\014le.)275 1614 y(Cop)m(y/app)s(end)25
+(the)g(output)f(\014le.)275 4065 y(Cop)m(y/app)s(end)25
b(metadata)j(\(not)f(data\))g(from)f(v)-5 b(ariables)27
b(in)f(one)g(\014le)h(to)g(v)-5 b(ariables)27 b(in)f(a)g(second)h
-(\014le.)150 1724 y(When)40 b(cop)m(ying/subsetting/app)s(ending)h
+(\014le.)150 4174 y(When)40 b(cop)m(ying/subsetting/app)s(ending)h
(\014les)f(\(as)g(opp)s(osed)g(to)g(prin)m(ting)g(them\),)j(the)e(cop)m
-(ying)g(of)150 1833 y(data,)28 b(v)-5 b(ariable)27 b(metadata,)h(and)e
+(ying)g(of)150 4284 y(data,)28 b(v)-5 b(ariable)27 b(metadata,)h(and)e
(global/group)h(metadata)g(are)g(no)m(w)f(turned)e(OFF)j(b)m(y)f(`)p
-Fy(-H)p FD(',)h(`)p Fy(-m)p FD(',)g(and)150 1943 y(`)p
+Fy(-H)p FD(',)h(`)p Fy(-m)p FD(',)g(and)150 4394 y(`)p
Fy(-M)p FD(',)k(resp)s(ectiv)m(ely)-8 b(.)45 b(This)30
b(is)h(the)g(opp)s(osite)g(sense)g(in)g(whic)m(h)g(these)g(switc)m(hes)
-h(w)m(ork)f(when)f Fo(printing)40 b FD(a)150 2052 y(\014le.)i(One)30
+h(w)m(ork)f(when)f Fo(printing)40 b FD(a)150 4503 y(\014le.)i(One)30
b(can)h(use)f(these)h(switc)m(hes)h(to)f(easily)h(replace)g(data)f(or)g
(metadata)h(in)e(one)h(\014le)g(with)g(data)g(or)150
-2162 y(metadata)h(from)e(another:)390 2326 y Fy(#)47
+4613 y(metadata)h(from)e(another:)390 4792 y Fy(#)47
b(Extract)f(naked)h(\(data-only\))d(copies)i(of)i(two)f(variables)390
-2436 y(ncks)g(-h)g(-M)g(-m)g(-O)g(-C)h(-v)f(one,three_dmn_rec_var)42
-b(~/nco/data/in.nc)h(~/out.nc)390 2545 y(#)k(Change)g(values)f(to)h(be)
+4902 y(ncks)g(-h)g(-M)g(-m)g(-O)g(-C)h(-v)f(one,three_dmn_rec_var)42
+b(~/nco/data/in.nc)h(~/out.nc)390 5011 y(#)k(Change)g(values)f(to)h(be)
g(sure)g(original)e(values)h(are)h(not)g(copied)f(in)h(following)f
-(step)390 2655 y(ncap2)g(-O)i(-v)f(-s)g('one*=2;three_dmn_rec_va)o
-(r*=0)o(')42 b(~/nco/data/in.nc)h(~/in2.nc)390 2765 y(#)k(Append)g
+(step)390 5121 y(ncap2)g(-O)i(-v)f(-s)g('one*=2;three_dmn_rec_va)o
+(r*=0)o(')42 b(~/nco/data/in.nc)h(~/in2.nc)390 5230 y(#)k(Append)g
(in2.nc)f(metadata)f(\(not)i(data!\))f(to)h(out.nc)390
-2874 y(ncks)g(-A)g(-C)g(-H)g(-v)g(one,three_dmn_rec_var)42
-b(~/in2.nc)k(~/out.nc)275 3039 y FD(V)-8 b(ariables)37
-b(in)f Fy(out.nc)f FD(no)m(w)i(con)m(tain)h(data)f(\(not)g(metadata\))h
-(from)e Fy(in.nc)f FD(and)h(metadata)i(\(not)150 3148
-y(data\))31 b(from)f Fy(in2.nc)p FD(.)275 3313 y(Prin)m(t)24
-b(v)-5 b(ariable)25 b Fy(three_dmn_var)20 b FD(from)k(\014le)g
-Fy(in.nc)f FD(with)h(default)g(notations.)40 b(Next)25
-b(prin)m(t)f Fy(three_)150 3422 y(dmn_var)e FD(as)i(an)f(un-annotated)h
-(text)h(column.)38 b(Then)23 b(prin)m(t)g Fy(three_dmn_var)d
-FD(signed)k(with)f(v)m(ery)h(high)150 3532 y(precision.)41
-b(Finally)-8 b(,)32 b(prin)m(t)e Fy(three_dmn_var)d FD(as)j(a)h
-(comma-separated)h(list.)390 3696 y Fy(\045)47 b(ncks)g(-C)g(-v)g
-(three_dmn_var)e(in.nc)390 3806 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h
-(three_dmn_var[0]=0)390 3915 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g
-(three_dmn_var[1]=1)390 4025 y(...)390 4134 y(lat[1]=90)g(lev[2]=1000)g
-(lon[3]=270)g(three_dmn_var[23]=23)390 4244 y(\045)i(ncks)g(-s)g
-('\045f\\n')f(-C)i(-v)f(three_dmn_var)d(in.nc)390 4354
-y(0.000000)390 4463 y(1.000000)390 4573 y(...)390 4682
-y(23.000000)390 4792 y(\045)j(ncks)g(-s)g('\045+16.10f\\n')e(-C)i(-v)g
-(three_dmn_var)d(in.nc)533 4902 y(+0.0000000000)533 5011
-y(+1.0000000000)390 5121 y(...)485 5230 y(+23.0000000000)390
-5340 y(\045)j(ncks)g(-s)g('\045f,)g(')g(-C)h(-v)f(three_dmn_var)d
-(in.nc)p eop end
+5340 y(ncks)g(-A)g(-C)g(-H)g(-v)g(one,three_dmn_rec_var)42
+b(~/in2.nc)k(~/out.nc)p eop end
%%Page: 187 193
TeXDict begin 187 192 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(187)390
-299 y Fy(0.000000,)45 b(1.000000,)h(...,)g(23.000000,)150
-460 y FD(Programmers)24 b(will)g(recognize)i(these)f(as)f(the)g(v)m
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(187)275
+299 y(V)-8 b(ariables)37 b(in)f Fy(out.nc)f FD(no)m(w)i(con)m(tain)h
+(data)f(\(not)g(metadata\))h(from)e Fy(in.nc)f FD(and)h(metadata)i
+(\(not)150 408 y(data\))31 b(from)f Fy(in2.nc)p FD(.)275
+573 y(Prin)m(t)24 b(v)-5 b(ariable)25 b Fy(three_dmn_var)20
+b FD(from)k(\014le)g Fy(in.nc)f FD(with)h(default)g(notations.)40
+b(Next)25 b(prin)m(t)f Fy(three_)150 682 y(dmn_var)e
+FD(as)i(an)f(un-annotated)h(text)h(column.)38 b(Then)23
+b(prin)m(t)g Fy(three_dmn_var)d FD(signed)k(with)f(v)m(ery)h(high)150
+792 y(precision.)41 b(Finally)-8 b(,)32 b(prin)m(t)e
+Fy(three_dmn_var)d FD(as)j(a)h(comma-separated)h(list.)390
+956 y Fy(\045)47 b(ncks)g(-C)g(-v)g(three_dmn_var)e(in.nc)390
+1066 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h(three_dmn_var[0]=0)390
+1176 y(lat[0]=-90)f(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)390
+1285 y(...)390 1395 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
+(three_dmn_var[23]=23)390 1504 y(\045)i(ncks)g(-s)g('\045f\\n')f(-C)i
+(-v)f(three_dmn_var)d(in.nc)390 1614 y(0.000000)390 1724
+y(1.000000)390 1833 y(...)390 1943 y(23.000000)390 2052
+y(\045)j(ncks)g(-s)g('\045+16.10f\\n')e(-C)i(-v)g(three_dmn_var)d
+(in.nc)533 2162 y(+0.0000000000)533 2271 y(+1.0000000000)390
+2381 y(...)485 2491 y(+23.0000000000)390 2600 y(\045)j(ncks)g(-s)g
+('\045f,)g(')g(-C)h(-v)f(three_dmn_var)d(in.nc)390 2710
+y(0.000000,)h(1.000000,)h(...,)g(23.000000,)150 2874
+y FD(Programmers)24 b(will)g(recognize)i(these)f(as)f(the)g(v)m
(enerable)i(C)j(language)d Fy(printf\(\))c FD(formatting)j(strings.)150
-569 y(The)37 b(second)g(and)g(third)g(options)h(are)f(useful)g(when)f
+2984 y(The)37 b(second)g(and)g(third)g(options)h(are)f(useful)g(when)f
(pasting)i(data)g(in)m(to)h(text)f(\014les)g(lik)m(e)g(rep)s(orts)f(or)
-150 679 y(pap)s(ers.)49 b(See)34 b(Section)g(4.2)h([ncatted)f(netCDF)g
+150 3093 y(pap)s(ers.)49 b(See)34 b(Section)g(4.2)h([ncatted)f(netCDF)g
(A)m(ttribute)h(Editor],)g(page)f(156,)i(for)d(more)h(details)g(on)150
-788 y(string)c(formatting)i(and)d(sp)s(ecial)i(c)m(haracters.)275
-949 y(As)f(of)h FC(NCO)g FD(v)m(ersion)g(4.2.2)i(\(Octob)s(er,)e
+3203 y(string)c(formatting)i(and)d(sp)s(ecial)i(c)m(haracters.)275
+3367 y(As)f(of)h FC(NCO)g FD(v)m(ersion)g(4.2.2)i(\(Octob)s(er,)e
(2012\),)i FC(NCO)e FD(prin)m(ts)f(missing)h(v)-5 b(alues)31
-b(as)g(blanks)f(\(i.e.,)j(the)150 1059 y(underscore)d(c)m(haracter)i(`)
-p Fy(_)p FD('\))e(b)m(y)h(default:)390 1219 y Fy(\045)47
-b(ncks)g(-C)g(-H)g(-v)h(mss_val)d(in.nc)390 1329 y(lon[0]=0)h
-(mss_val[0]=73)390 1439 y(lon[1]=90)f(mss_val[1]=_)390
-1548 y(lon[2]=180)g(mss_val[2]=73)390 1658 y(lon[3]=270)g(mss_val[3]=_)
-390 1767 y(\045)i(ncks)g(-s)g('\045+5.1f,)f(')h(-H)g(-C)h(-v)f(mss_val)
-f(in.nc)390 1877 y(+73.0,)g(_,)h(+73.0,)f(_,)275 2038
-y FD(One)g(dimensional)h(arra)m(ys)g(of)g(c)m(haracters)i(stored)e(as)g
-(netCDF)g(v)-5 b(ariables)48 b(are)f(automatically)150
-2147 y(prin)m(ted)30 b(as)h(strings,)f(whether)g(or)g(not)h(they)f(are)
-h(NUL-terminated,)h(e.g.,)390 2308 y Fy(ncks)47 b(-v)g(fl_nm)f(in.nc)
-150 2469 y FD(The)33 b Fy(\045c)f FD(formatting)j(co)s(de)e(is)h
+b(as)g(blanks)f(\(i.e.,)j(the)150 3477 y(underscore)d(c)m(haracter)i(`)
+p Fy(_)p FD('\))e(b)m(y)h(default:)390 3641 y Fy(\045)47
+b(ncks)g(-C)g(-H)g(-v)h(mss_val)d(in.nc)390 3751 y(lon[0]=0)h
+(mss_val[0]=73)390 3861 y(lon[1]=90)f(mss_val[1]=_)390
+3970 y(lon[2]=180)g(mss_val[2]=73)390 4080 y(lon[3]=270)g(mss_val[3]=_)
+390 4189 y(\045)i(ncks)g(-s)g('\045+5.1f,)f(')h(-H)g(-C)h(-v)f(mss_val)
+f(in.nc)390 4299 y(+73.0,)g(_,)h(+73.0,)f(_,)275 4463
+y FD(T)-8 b(o)27 b(prin)m(t)g(the)g(n)m(umeric)g(v)-5
+b(alue)27 b(of)g(the)h(missing)e(v)-5 b(alue)28 b(instead)f(of)g(a)h
+(blank,)f(use)g(the)g(`)p Fy(--no_blank)p FD(')150 4573
+y(option.)275 4737 y Fy(ncks)k FD(prin)m(ts)i(in)g(a)g(v)m(erb)s(ose)g
+(fashion)g(b)m(y)g(default)g(and)g(supplies)f(a)h(n)m(um)m(b)s(er)f(of)
+h(switc)m(hes)h(to)g(pare-)150 4847 y(do)m(wn)h(\(or)h(ev)m(en)g
+(spruce-up\))f(the)h(output.)56 b(The)35 b(in)m(terpla)m(y)i(of)e(the)h
+(`)p Fy(-Q)p FD(',)h(`)p Fy(-V)p FD(',)g(and)e(\(otherwise)i(un-)150
+4956 y(do)s(cumen)m(ted\))30 b(`)p Fy(--no_nm_prn)p FD(')e(switc)m(hes)
+j(yields)g(most)g(desired)e(v)m(erb)s(osities:)390 5121
+y Fy(\045)47 b(ncks)g(-v)g(three_dmn_rec_var)c(-C)48
+b(-H)f(~/nco/data/in.nc)390 5230 y(time[0]=1)e(lat[0]=-90)g(lon[0]=0)h
+(three_dmn_rec_var[0]=1)390 5340 y(\045)h(ncks)g(-Q)g(-v)g
+(three_dmn_rec_var)d(-C)j(-H)g(~/nco/data/in.nc)p eop
+end
+%%Page: 188 194
+TeXDict begin 188 193 bop 150 -116 a FD(188)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(three_dmn_rec_var[0]=1)390
+408 y(\045)47 b(ncks)g(-V)g(-v)g(three_dmn_rec_var)d(-C)j(-H)g
+(~/nco/data/in.nc)390 518 y(1)390 628 y(\045)g(ncks)g(-Q)g(--no_nm_prn)
+e(-v)i(three_dmn_rec_var)c(-C)k(-H)h(~/nco/data/in.nc)390
+737 y(1)390 847 y(\045)f(ncks)g(--no_nm_prn)e(-v)i(three_dmn_rec_var)c
+(-C)k(-H)g(~/nco/data/in.nc)390 956 y(1)g(-90)g(0)h(1)275
+1121 y FD(One)e(dimensional)h(arra)m(ys)g(of)g(c)m(haracters)i(stored)e
+(as)g(netCDF)g(v)-5 b(ariables)48 b(are)f(automatically)150
+1230 y(prin)m(ted)30 b(as)h(strings,)f(whether)g(or)g(not)h(they)f(are)
+h(NUL-terminated,)h(e.g.,)390 1395 y Fy(ncks)47 b(-v)g(fl_nm)f(in.nc)
+150 1559 y FD(The)33 b Fy(\045c)f FD(formatting)j(co)s(de)e(is)h
(useful)e(for)h(prin)m(ting)g(m)m(ultidimensional)h(arra)m(ys)g(of)f(c)
-m(haracters)i(repre-)150 2578 y(sen)m(ting)c(\014xed)f(length)h
-(strings)390 2739 y Fy(ncks)47 b(-s)g('\045c')f(-v)i(fl_nm_arr)d(in.nc)
-150 2900 y FD(Using)22 b(the)f Fy(\045s)g FD(format)h(co)s(de)g(on)g
+m(haracters)i(repre-)150 1669 y(sen)m(ting)c(\014xed)f(length)h
+(strings)390 1833 y Fy(ncks)47 b(-s)g('\045c')f(-v)i(fl_nm_arr)d(in.nc)
+150 1998 y FD(Using)22 b(the)f Fy(\045s)g FD(format)h(co)s(de)g(on)g
(strings)f(whic)m(h)g(are)h(not)g(NUL-terminated)g(\(and)g(th)m(us)f
-(not)h(tec)m(hnically)150 3009 y(strings\))31 b(is)f(lik)m(ely)i(to)f
-(result)f(in)g(a)h(core)g(dump.)275 3170 y(Create)g(netCDF)g
+(not)h(tec)m(hnically)150 2107 y(strings\))31 b(is)f(lik)m(ely)i(to)f
+(result)f(in)g(a)h(core)g(dump.)275 2271 y(Create)g(netCDF)g
Fy(out.nc)d FD(con)m(taining)k(all)f(v)-5 b(ariables,)32
b(and)d(an)m(y)i(asso)s(ciated)h(co)s(ordinates,)f(except)150
-3280 y(v)-5 b(ariable)31 b Fy(time)p FD(,)f(from)g(netCDF)h
-Fy(in.nc)p FD(:)390 3440 y Fy(ncks)47 b(-x)g(-v)g(time)g(in.nc)f
-(out.nc)275 3601 y FD(As)27 b(a)g(sp)s(ecial)h(case)g(of)g(this,)g
+2381 y(v)-5 b(ariable)31 b Fy(time)p FD(,)f(from)g(netCDF)h
+Fy(in.nc)p FD(:)390 2545 y Fy(ncks)47 b(-x)g(-v)g(time)g(in.nc)f
+(out.nc)275 2710 y FD(As)27 b(a)g(sp)s(ecial)h(case)g(of)g(this,)g
(consider)f(ho)m(w)g(to)h(remo)m(v)m(e)h(a)f FC(CF)f
FD(Con)m(v)m(en)m(tion)i(comlian)m(t)g Fy(ancillary_)150
-3711 y(variables)p FD(,)e Fy(bounds)p FD(,)h(or)h Fy(coordinates)d
+2819 y(variables)p FD(,)e Fy(bounds)p FD(,)h(or)h Fy(coordinates)d
FD(v)-5 b(ariable)30 b(\(see)h(Section)e(3.37)i([CF)f(Con)m(v)m(en)m
-(tions],)h(page)f(98\))150 3820 y(suc)m(h)f(as)h Fy(time_bounds)p
+(tions],)h(page)f(98\))150 2929 y(suc)m(h)f(as)h Fy(time_bounds)p
FD(.)37 b FC(NCO)29 b FD(subsetting)g(assumes)g(the)g(user)g(w)m(an)m
(ts)h(all)g(ancillary)h(v)-5 b(ariables,)30 b(axes,)150
-3930 y(b)s(ounds)23 b(and)h(co)s(ordinates)i(asso)s(ciated)h(with)d
+3039 y(b)s(ounds)23 b(and)h(co)s(ordinates)i(asso)s(ciated)h(with)d
(all)i(extracted)h(v)-5 b(ariables)26 b(\(see)g(Section)f(3.12)i
-([Subsetting)150 4040 y(Co)s(ordinate)39 b(V)-8 b(ariables],)43
+([Subsetting)150 3148 y(Co)s(ordinate)39 b(V)-8 b(ariables],)43
b(page)d(45\).)68 b(Hence)40 b(to)f(exclude)h(a)f Fy
(ancillary_variables)p FD(,)d Fy(bounds)p FD(,)k(or)150
-4149 y Fy(coordinates)29 b FD(v)-5 b(ariable)32 b(while)g(retaining)h
+3258 y Fy(coordinates)29 b FD(v)-5 b(ariable)32 b(while)g(retaining)h
(the)f(\\paren)m(t")h(v)-5 b(ariable)33 b(\(here)f Fy(time)p
-FD(\),)f(one)h(m)m(ust)g(use)g(the)150 4259 y(`)p Fy(-C)p
-FD(')e(switc)m(h:)390 4419 y Fy(ncks)47 b(-C)g(-x)g(-v)g(time_bounds)e
-(in.nc)h(out.nc)275 4580 y FD(The)30 b(`)p Fy(-C)p FD(')i(switc)m(h)g
+FD(\),)f(one)h(m)m(ust)g(use)g(the)150 3367 y(`)p Fy(-C)p
+FD(')e(switc)m(h:)390 3532 y Fy(ncks)47 b(-C)g(-x)g(-v)g(time_bounds)e
+(in.nc)h(out.nc)275 3696 y FD(The)30 b(`)p Fy(-C)p FD(')i(switc)m(h)g
(tells)g(the)g(op)s(erator)g Fo(NOT)43 b FD(to)32 b(necessarily)g
(include)f(all)i(the)e FC(CF)h FD(ancillary)g(v)-5 b(ari-)150
-4690 y(ables,)46 b(axes,)h(b)s(ounds,)c(and)f(co)s(ordinates.)78
+3806 y(ables,)46 b(axes,)h(b)s(ounds,)c(and)f(co)s(ordinates.)78
b(Hence)44 b(the)f(output)f(\014le)g(will)h(con)m(tain)h
-Fy(time)e FD(and)g(not)150 4799 y Fy(time_bounds)p FD(.)275
-4960 y(Extract)33 b(v)-5 b(ariables)34 b Fy(time)d FD(and)h
+Fy(time)e FD(and)g(not)150 3915 y Fy(time_bounds)p FD(.)275
+4080 y(Extract)33 b(v)-5 b(ariables)34 b Fy(time)d FD(and)h
Fy(pressure)f FD(from)h(netCDF)i Fy(in.nc)p FD(.)46 b(If)32
-b Fy(out.nc)f FD(do)s(es)i(not)g(exist)g(it)150 5070
+b Fy(out.nc)f FD(do)s(es)i(not)g(exist)g(it)150 4189
y(will)e(b)s(e)f(created.)42 b(Otherwise)30 b(the)h(y)m(ou)f(will)h(b)s
(e)f(prompted)g(whether)f(to)j(app)s(end)c(to)k(or)e(to)h(o)m(v)m
-(erwrite)150 5179 y Fy(out.nc)p FD(:)390 5340 y Fy(ncks)47
-b(-v)g(time,pressure)d(in.nc)i(out.nc)p eop end
-%%Page: 188 194
-TeXDict begin 188 193 bop 150 -116 a FD(188)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncks)47 b(-C)g(-v)g
-(time,pressure)d(in.nc)j(out.nc)150 458 y FD(The)33 b(\014rst)h(v)m
-(ersion)g(of)g(the)g(command)g(creates)i(an)e Fy(out.nc)e
-FD(whic)m(h)h(con)m(tains)j Fy(time)p FD(,)e Fy(pressure)p
-FD(,)f(and)150 568 y(an)m(y)g(co)s(ordinate)h(v)-5 b(ariables)34
-b(asso)s(ciated)g(with)e Fz(pressure)p FD(.)47 b(The)33
-b Fy(out.nc)e FD(from)h(the)i(second)f(v)m(ersion)g(is)150
-677 y(guaran)m(teed)e(to)h(con)m(tain)f(only)g(t)m(w)m(o)g(v)-5
-b(ariables)31 b Fy(time)f FD(and)f Fy(pressure)p FD(.)275
-837 y(Create)e(netCDF)h Fy(out.nc)e FD(con)m(taining)i(all)g(v)-5
+(erwrite)150 4299 y Fy(out.nc)p FD(:)390 4463 y Fy(ncks)47
+b(-v)g(time,pressure)d(in.nc)i(out.nc)390 4573 y(ncks)h(-C)g(-v)g
+(time,pressure)d(in.nc)j(out.nc)150 4737 y FD(The)33
+b(\014rst)h(v)m(ersion)g(of)g(the)g(command)g(creates)i(an)e
+Fy(out.nc)e FD(whic)m(h)h(con)m(tains)j Fy(time)p FD(,)e
+Fy(pressure)p FD(,)f(and)150 4847 y(an)m(y)g(co)s(ordinate)h(v)-5
+b(ariables)34 b(asso)s(ciated)g(with)e Fz(pressure)p
+FD(.)47 b(The)33 b Fy(out.nc)e FD(from)h(the)i(second)f(v)m(ersion)g
+(is)150 4956 y(guaran)m(teed)e(to)h(con)m(tain)f(only)g(t)m(w)m(o)g(v)
+-5 b(ariables)31 b Fy(time)f FD(and)f Fy(pressure)p FD(.)275
+5121 y(Create)e(netCDF)h Fy(out.nc)e FD(con)m(taining)i(all)g(v)-5
b(ariables)28 b(from)f(\014le)g Fy(in.nc)p FD(.)38 b(Restrict)28
-b(the)g(dimensions)150 946 y(of)38 b(these)h(v)-5 b(ariables)39
+b(the)g(dimensions)150 5230 y(of)38 b(these)h(v)-5 b(ariables)39
b(to)g(a)g(h)m(yp)s(erslab.)64 b(Prin)m(t)38 b(\(with)g
Fy(-H)p FD(\))g(the)h(h)m(yp)s(erslabs)e(to)i(the)g(screen)f(for)g(go)s
-(o)s(d)150 1056 y(measure.)84 b(The)44 b(sp)s(eci\014ed)h(h)m(yp)s
+(o)s(d)150 5340 y(measure.)84 b(The)44 b(sp)s(eci\014ed)h(h)m(yp)s
(erslab)e(is:)70 b(the)45 b(\014fth)f(v)-5 b(alue)45
-b(in)g(dimension)f Fy(time)p FD(;)51 b(the)45 b(half-op)s(en)150
-1166 y(range)39 b Fz(lat)i Fv(>)d FD(0)p Fv(:)h FD(in)f(co)s(ordinate)h
+b(in)g(dimension)f Fy(time)p FD(;)51 b(the)45 b(half-op)s(en)p
+eop end
+%%Page: 189 195
+TeXDict begin 189 194 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(189)150
+299 y(range)39 b Fz(lat)i Fv(>)d FD(0)p Fv(:)h FD(in)f(co)s(ordinate)h
Fy(lat)p FD(;)i(the)e(half-op)s(en)e(range)i Fz(lon)g
Fv(<)f FD(330)p Fv(:)h FD(in)f(co)s(ordinate)h Fy(lon)p
-FD(;)j(the)150 1275 y(closed)36 b(in)m(terv)-5 b(al)36
+FD(;)j(the)150 408 y(closed)36 b(in)m(terv)-5 b(al)36
b(0)p Fv(:)p FD(3)d Fv(<)g Fz(band)i Fv(<)e FD(0)p Fv(:)p
FD(5)i(in)g(co)s(ordinate)h Fy(band)p FD(;)g(and)e(cross-section)i
-(closest)h(to)e(1000.)i(in)150 1385 y(co)s(ordinate)c
+(closest)h(to)e(1000.)i(in)150 518 y(co)s(ordinate)c
Fy(lev)p FD(.)44 b(Note)33 b(that)g(limits)f(applied)g(to)h(co)s
(ordinate)f(v)-5 b(alues)33 b(are)f(sp)s(eci\014ed)f(with)h(a)g
-(decimal)150 1494 y(p)s(oin)m(t,)d(and)e(limits)i(applied)f(to)g
+(decimal)150 628 y(p)s(oin)m(t,)d(and)e(limits)i(applied)f(to)g
(dimension)g(indices)g(do)g(not)g(ha)m(v)m(e)h(a)f(decimal)h(p)s(oin)m
-(t)f(See)h(Section)f(3.15)150 1604 y([Hyp)s(erslabs],)i(page)h(55.)390
-1763 y Fy(ncks)47 b(-H)g(-d)g(time,5)f(-d)h(lat,,0.0)f(-d)h(lon,330.0,)
-e(-d)i(band,0.3,0.5)390 1873 y(-d)g(lev,1000.0)e(in.nc)i(out.nc)275
-2032 y FD(Assume)40 b(the)h(domain)g(of)g(the)g(monotonically)i
+(t)f(See)h(Section)f(3.15)150 737 y([Hyp)s(erslabs],)i(page)h(55.)390
+897 y Fy(ncks)47 b(-H)g(-d)g(time,5)f(-d)h(lat,,0.0)f(-d)h(lon,330.0,)e
+(-d)i(band,0.3,0.5)390 1006 y(-d)g(lev,1000.0)e(in.nc)i(out.nc)275
+1166 y FD(Assume)40 b(the)h(domain)g(of)g(the)g(monotonically)i
(increasing)e(longitude)h(co)s(ordinate)f Fy(lon)f FD(is)h(0)i
-Fv(<)150 2142 y Fz(lon)25 b Fv(<)g FD(360.)42 b(Here,)29
+Fv(<)150 1275 y Fz(lon)25 b Fv(<)g FD(360.)42 b(Here,)29
b Fy(lon)e FD(is)i(an)f(example)h(of)f(a)h(wrapp)s(ed)d(co)s(ordinate.)
41 b Fy(ncks)27 b FD(will)i(extract)g(a)g(h)m(yp)s(erslab)150
-2252 y(whic)m(h)35 b(crosses)i(the)e(Green)m(wic)m(h)i(meridian)f
+1385 y(whic)m(h)35 b(crosses)i(the)e(Green)m(wic)m(h)i(meridian)f
(simply)f(b)m(y)g(sp)s(ecifying)h(the)g(w)m(esternmost)g(longitude)h
-(as)150 2361 y Fz(min)30 b FD(and)g(the)g(easternmost)h(longitude)g(as)
-g Fz(max)p FD(,)g(as)f(follo)m(ws:)390 2521 y Fy(ncks)47
-b(-d)g(lon,260.0,45.0)d(in.nc)i(out.nc)275 2680 y FD(F)-8
+(as)150 1494 y Fz(min)30 b FD(and)g(the)g(easternmost)h(longitude)g(as)
+g Fz(max)p FD(,)g(as)f(follo)m(ws:)390 1654 y Fy(ncks)47
+b(-d)g(lon,260.0,45.0)d(in.nc)i(out.nc)275 1813 y FD(F)-8
b(or)31 b(more)f(details)i(See)e(Section)h(3.20)h([W)-8
b(rapp)s(ed)30 b(Co)s(ordinates],)h(page)g(63.)p eop
end
-%%Page: 189 195
-TeXDict begin 189 194 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(189)150
-299 y FB(4.8)68 b Fc(ncpdq)43 b FB(netCDF)i(P)l(erm)l(ute)h(Dimensions)
-f(Quic)l(kly)150 458 y FD(SYNT)-8 b(AX)390 618 y Fy(ncpdq)46
-b([-3])h([-4])g([-6])f([-7])h([-A])g([-a)f([-])p Fn(dim)p
-Fy([,...)m(]])i([-C])e([-c])390 727 y([--cnk_dmn)f(nm,sz])h([--cnk_map)
-f(map])i([--cnk_plc)e(plc])h([--cnk_scl)f(sz])390 837
-y([-D)i Fn(dbg)p Fy(])g([-d)f Fn(dim)p Fy(,[)p Fn(min)p
-Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])390
-946 y([-F])h([-G)g Fn(gpe_dsc)p Fy(])e([-g)i Fn(grp)p
-Fy([,...)n(]])g([-h])g([--hdf])e([--hdr_pad)g Fn(nbr)p
-Fy(])390 1056 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i Fn(path)p
-Fy(])g([-M)g Fn(pck_map)p Fy(])e([--mrd])h([--no_tmp_fl])390
+%%Page: 190 196
+TeXDict begin 190 195 bop 150 -116 a FD(190)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.8)68 b Fc(ncpdq)43
+b FB(netCDF)i(P)l(erm)l(ute)h(Dimensions)f(Quic)l(kly)150
+458 y FD(SYNT)-8 b(AX)390 618 y Fy(ncpdq)46 b([-3])h([-4])g([-6])f
+([-7])h([-A])g([-a)f([-])p Fn(dim)p Fy([,...)m(]])i([-C])e([-c])390
+727 y([--cnk_dmn)f(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e(plc])h
+([--cnk_scl)f(sz])390 837 y([-D)i Fn(dbg)p Fy(])g([-d)f
+Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
+Fn(stride)p Fy(])o(]])390 946 y([-F])h([-G)g Fn(gpe_dsc)p
+Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([-h])g([--hdf])e([--hdr_pad)g
+Fn(nbr)p Fy(])390 1056 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i
+Fn(path)p Fy(])g([-M)g Fn(pck_map)p Fy(])e([--mrd])h([--no_tmp_fl])390
1166 y([-O])h([-o)g Fn(output-file)p Fy(])d([-P)j Fn(pck_plc)p
Fy(])e([-p)i Fn(path)p Fy(])390 1275 y([-R])g([-r])f([--ram_all])f([-t)
i Fn(thr_nbr)p Fy(])e([-U])i([--unn])f([-v)h Fn(var)p
@@ -27141,13 +27258,13 @@ FD(',)29 b(`)p Fy(pck_xst_new_att)p FD(')150 5121 y Fz(Unpac)m(king)630
b(ariables,)31 b(cop)m(y)g(unpac)m(k)m(ed)g(v)-5 b(ariables)630
5340 y(Alternate)32 b(in)m(v)m(o)s(cation:)43 b Fy(ncunpack)p
eop end
-%%Page: 190 196
-TeXDict begin 190 195 bop 150 -116 a FD(190)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)630 299 y Fz(p)s(c)m(k)p 775
-299 28 4 v 40 w(plc)36 b FD(k)m(ey)31 b(v)-5 b(alues:)41
-b(`)p Fy(upk)p FD(',)30 b(`)p Fy(unpack)p FD(',)g(`)p
-Fy(pck_upk)p FD(')150 657 y(Equiv)-5 b(alen)m(t)26 b(k)m(ey)g(v)-5
-b(alues)26 b(are)g(fully)f(in)m(terc)m(hangeable.)41
+%%Page: 191 197
+TeXDict begin 191 196 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(191)630
+299 y Fz(p)s(c)m(k)p 775 299 28 4 v 40 w(plc)36 b FD(k)m(ey)31
+b(v)-5 b(alues:)41 b(`)p Fy(upk)p FD(',)30 b(`)p Fy(unpack)p
+FD(',)g(`)p Fy(pck_upk)p FD(')150 657 y(Equiv)-5 b(alen)m(t)26
+b(k)m(ey)g(v)-5 b(alues)26 b(are)g(fully)f(in)m(terc)m(hangeable.)41
b(Multiple)26 b(equiv)-5 b(alen)m(t)27 b(options)f(are)f(pro)m(vided)g
(to)150 766 y(satisfy)g(disparate)g(needs)f(and)g(tastes)h(of)g
FC(NCO)f FD(users)g(w)m(orking)g(with)h(scripts)f(and)g(from)g(the)g
@@ -27238,21 +27355,21 @@ Fy(--map)p FD('\))g(and)g(its)h Fz(p)s(c)m(k)p 3542 5121
V 40 w(map)150 5230 y FD(argumen)m(t.)41 b(Fiv)m(e)32
b(pac)m(king)f(maps)f(are)h(curren)m(tly)f(implemen)m(ted:)p
eop end
-%%Page: 191 197
-TeXDict begin 191 196 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(191)150
-299 y Fz(P)m(ac)m(k)32 b(Floating)g(Precisions)f(to)g
-Fy(NC_SHORT)d Fz([)p Fo(default)9 b Fz(])630 408 y FD(De\014nition:)41
-b(P)m(ac)m(k)32 b(\015oating)g(precision)e(t)m(yp)s(es)h(to)g
-Fy(NC_SHORT)630 518 y FD(Map:)41 b(P)m(ac)m(k)32 b([)p
-Fy(NC_DOUBLE)p FD(,)p Fy(NC_FLOAT)p FD(])26 b(to)31 b
-Fy(NC_SHORT)630 628 y FD(T)m(yp)s(es)48 b(copied)i(instead)f(of)h(pac)m
-(k)m(ed:)79 b([)p Fy(NC_INT64)p FD(,)p Fy(NC_UINT64)p
-FD(,)p Fy(NC_INT)p FD(,)p Fy(NC_U)o(INT)p FD(,)p Fy(NC)o(_)630
-737 y(SHORT)p FD(,)p Fy(NC_USHORT)p FD(,)p Fy(NC_CHAR)p
-FD(,)p Fy(NC_BYT)o(E)p FD(,)p Fy(NC_U)o(BYT)o(E)p FD(])630
-847 y Fz(p)s(c)m(k)p 775 847 28 4 v 40 w(map)33 b FD(k)m(ey)e(v)-5
-b(alues:)41 b(`)p Fy(flt_sht)p FD(',)29 b(`)p Fy(pck_map_flt_sht)p
+%%Page: 192 198
+TeXDict begin 192 197 bop 150 -116 a FD(192)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y Fz(P)m(ac)m(k)i(Floating)g
+(Precisions)f(to)g Fy(NC_SHORT)d Fz([)p Fo(default)9
+b Fz(])630 408 y FD(De\014nition:)41 b(P)m(ac)m(k)32
+b(\015oating)g(precision)e(t)m(yp)s(es)h(to)g Fy(NC_SHORT)630
+518 y FD(Map:)41 b(P)m(ac)m(k)32 b([)p Fy(NC_DOUBLE)p
+FD(,)p Fy(NC_FLOAT)p FD(])26 b(to)31 b Fy(NC_SHORT)630
+628 y FD(T)m(yp)s(es)48 b(copied)i(instead)f(of)h(pac)m(k)m(ed:)79
+b([)p Fy(NC_INT64)p FD(,)p Fy(NC_UINT64)p FD(,)p Fy(NC_INT)p
+FD(,)p Fy(NC_U)o(INT)p FD(,)p Fy(NC)o(_)630 737 y(SHORT)p
+FD(,)p Fy(NC_USHORT)p FD(,)p Fy(NC_CHAR)p FD(,)p Fy(NC_BYT)o(E)p
+FD(,)p Fy(NC_U)o(BYT)o(E)p FD(])630 847 y Fz(p)s(c)m(k)p
+775 847 28 4 v 40 w(map)33 b FD(k)m(ey)e(v)-5 b(alues:)41
+b(`)p Fy(flt_sht)p FD(',)29 b(`)p Fy(pck_map_flt_sht)p
FD(')150 1117 y Fz(P)m(ac)m(k)j(Floating)g(Precisions)f(to)g
Fy(NC_BYTE)630 1226 y FD(De\014nition:)41 b(P)m(ac)m(k)32
b(\015oating)g(precision)e(t)m(yp)s(es)h(to)g Fy(NC_BYTE)630
@@ -27320,19 +27437,20 @@ b(est)30 b(the)h Fy(_FillValue)c FD(b)s(eha)m(vior)j(b)m(y)g(p)s
(erforming)150 5340 y(a)37 b(pac)m(k/unpac)m(k)h(cycle)h(to)f(ensure)e
(data)i(that)f(are)h(missing)f Fo(stay)46 b FD(missing)36
b(and)h(data)h(that)f(are)h(not)p eop end
-%%Page: 192 198
-TeXDict begin 192 197 bop 150 -116 a FD(192)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(misssing)g(do)h(not)g(join)g(the)g
-(Air)g(National)h(Guard)e(and)g(go)i(missing.)42 b(This)30
-b(ma)m(y)h(lead)g(y)m(ou)h(to)f(elect)i(a)150 408 y(new)p
-338 408 28 4 v 64 w Fz(FillV)-8 b(alue)p FD(.)41 b(Second,)26
-b Fy(ncpdq)d FD(actually)j(allo)m(ws)g(pac)m(king)g(in)m(to)g
-Fy(NC_CHAR)c FD(\(with,)k(e.g.,)i(`)p Fy(flt_chr)p FD('\).)150
-518 y(Ho)m(w)m(ev)m(er,)d(the)c(in)m(trinsic)g(con)m(v)m(ersion)h(of)f
-Fy(signed)28 b(char)20 b FD(to)h(higher)f(precision)h(t)m(yp)s(es)g(is)
-g(tric)m(ky)g(for)g(v)-5 b(alues)150 628 y(equal)23 b(to)h(zero,)h
-(i.e.,)g(for)e Fy(NUL)p FD(.)37 b(Hence)23 b(pac)m(king)h(to)f
-Fy(NC_CHAR)e FD(is)i(not)f(do)s(cumen)m(ted)h(or)f(adv)m(ertised.)39
+%%Page: 193 199
+TeXDict begin 193 198 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(193)150
+299 y(misssing)30 b(do)h(not)g(join)g(the)g(Air)g(National)h(Guard)e
+(and)g(go)i(missing.)42 b(This)30 b(ma)m(y)h(lead)g(y)m(ou)h(to)f
+(elect)i(a)150 408 y(new)p 338 408 28 4 v 64 w Fz(FillV)-8
+b(alue)p FD(.)41 b(Second,)26 b Fy(ncpdq)d FD(actually)j(allo)m(ws)g
+(pac)m(king)g(in)m(to)g Fy(NC_CHAR)c FD(\(with,)k(e.g.,)i(`)p
+Fy(flt_chr)p FD('\).)150 518 y(Ho)m(w)m(ev)m(er,)d(the)c(in)m(trinsic)g
+(con)m(v)m(ersion)h(of)f Fy(signed)28 b(char)20 b FD(to)h(higher)f
+(precision)h(t)m(yp)s(es)g(is)g(tric)m(ky)g(for)g(v)-5
+b(alues)150 628 y(equal)23 b(to)h(zero,)h(i.e.,)g(for)e
+Fy(NUL)p FD(.)37 b(Hence)23 b(pac)m(king)h(to)f Fy(NC_CHAR)e
+FD(is)i(not)f(do)s(cumen)m(ted)h(or)f(adv)m(ertised.)39
b(P)m(ac)m(k)150 737 y(in)m(to)31 b Fy(NC_BYTE)e FD(\(with,)h(e.g.,)i
(`)p Fy(flt_byt)p FD('\))e(instead.)150 928 y Fu(Dimension)43
b(P)m(erm)m(utation)150 1075 y Fy(ncpdq)26 b FD(re-shap)s(es)i(v)-5
@@ -27395,7 +27513,7 @@ b(is)h(a)h(p)s(o)m(w)m(erful)f(op)s(erator,)j(and)d(I)150
3965 y(am)31 b(unfamiliar)h(with)f(the)g(terminology)i(needed)e(to)h
(describ)s(e)e(what)i(ncp)s(dq)d(do)s(es.)44 b(Sequences,)31
b(sets,)150 4074 y(sheesh!)52 b(I)34 b(just)g(kno)m(w)g(that)h(it)g(do)
-s(es)f("The)g(righ)m(t)h(thing")g(according)g(to)g(m)m(y)g(gut)g
+s(es)f(\\The)g(righ)m(t)h(thing")g(according)g(to)g(m)m(y)g(gut)g
(feelings.)53 b(No)m(w)35 b(do)150 4184 y(y)m(ou)c(feel)g(more)f
(comfortable)i(using)e(it?)275 4343 y(Let)36 b Fq(D)p
FD(\()p Fv(x)p FD(\))h(represen)m(t)f(the)g(dimensionalit)m(y)i(of)e
@@ -27429,28 +27547,27 @@ y FD(])p 150 5241 1200 4 v 199 5308 a Ft(1)275 5340 y
Fs(This)26 b(limitation,)h(imp)r(osed)g(b)n(y)d(the)i(netCDF)f(storage)
i(la)n(y)n(er,)f(ma)n(y)g(b)r(e)f(relaxed)h(in)g(the)f(future)g(with)h
(netCDF4.)p eop end
-%%Page: 193 199
-TeXDict begin 193 198 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(193)150
-299 y(There)25 b(need)g(b)s(e)g(no)h(relation)h(b)s(et)m(w)m(een)f
-Fv(N)35 b FD(and)25 b Fv(R)q FD(.)39 b(Let)26 b(the)g
-Fv(S)5 b FD(-elemen)m(t)27 b(v)m(ector)g Fq(S)e FD(b)s(e)g(the)h(in)m
-(tersection)150 408 y(\(i.e.,)32 b(the)f(ordered)e(set)i(of)g(unique)e
-(shared)h(dimensions\))g(of)h Fq(D)f FD(and)f Fq(R)i
-FD(Then)914 610 y Fq(S)25 b FD(=)g Fq(R)20 b FA(\\)g
-Fq(D)990 745 y FD(=)25 b([)p Fv(S)1167 759 y Ft(1)1204
-745 y Fv(;)15 b(S)1300 759 y Ft(2)1337 745 y Fv(;)g(S)1433
-759 y Ft(3)1471 745 y Fv(;)g(:)g(:)g(:)h(;)f(S)1728 759
-y Fg(s)p Fd(\000)p Ft(1)1849 745 y Fv(;)g(S)1945 759
-y Fg(s)1981 745 y Fv(;)g(S)2077 759 y Fg(s)p Ft(+1)2196
-745 y Fv(;)g(:)g(:)g(:)i(;)e(S)2454 759 y Fg(S)s Fd(\000)p
-Ft(2)2587 745 y Fv(;)g(S)2683 759 y Fg(S)s Fd(\000)p
-Ft(1)2816 745 y Fv(;)g(S)2912 759 y Fg(S)2961 745 y FD(])150
-946 y Fq(S)30 b FD(is)g(empt)m(y)h(if)f Fq(R)36 b Fv(=)-55
-b FA(2)25 b Fq(D)p FD(.)275 1106 y(Re-ordering)33 b(\(or)g
-(re-shaping\))g(a)h(v)-5 b(ariable)34 b(means)e(mapping)h(the)g(input)f
-(state)i(with)f(dimension-)150 1215 y(alit)m(y)i Fq(D)p
-FD(\()p Fv(x)p FD(\))f(to)h(the)f(output)f(state)i(with)e
+%%Page: 194 200
+TeXDict begin 194 199 bop 150 -116 a FD(194)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y(There)25 b(need)g(b)s(e)g(no)h
+(relation)h(b)s(et)m(w)m(een)f Fv(N)35 b FD(and)25 b
+Fv(R)q FD(.)39 b(Let)26 b(the)g Fv(S)5 b FD(-elemen)m(t)27
+b(v)m(ector)g Fq(S)e FD(b)s(e)g(the)h(in)m(tersection)150
+408 y(\(i.e.,)32 b(the)f(ordered)e(set)i(of)g(unique)e(shared)h
+(dimensions\))g(of)h Fq(D)f FD(and)f Fq(R)i FD(Then)914
+610 y Fq(S)25 b FD(=)g Fq(R)20 b FA(\\)g Fq(D)990 745
+y FD(=)25 b([)p Fv(S)1167 759 y Ft(1)1204 745 y Fv(;)15
+b(S)1300 759 y Ft(2)1337 745 y Fv(;)g(S)1433 759 y Ft(3)1471
+745 y Fv(;)g(:)g(:)g(:)h(;)f(S)1728 759 y Fg(s)p Fd(\000)p
+Ft(1)1849 745 y Fv(;)g(S)1945 759 y Fg(s)1981 745 y Fv(;)g(S)2077
+759 y Fg(s)p Ft(+1)2196 745 y Fv(;)g(:)g(:)g(:)i(;)e(S)2454
+759 y Fg(S)s Fd(\000)p Ft(2)2587 745 y Fv(;)g(S)2683
+759 y Fg(S)s Fd(\000)p Ft(1)2816 745 y Fv(;)g(S)2912
+759 y Fg(S)2961 745 y FD(])150 946 y Fq(S)30 b FD(is)g(empt)m(y)h(if)f
+Fq(R)36 b Fv(=)-55 b FA(2)25 b Fq(D)p FD(.)275 1106 y(Re-ordering)33
+b(\(or)g(re-shaping\))g(a)h(v)-5 b(ariable)34 b(means)e(mapping)h(the)g
+(input)f(state)i(with)f(dimension-)150 1215 y(alit)m(y)i
+Fq(D)p FD(\()p Fv(x)p FD(\))f(to)h(the)f(output)f(state)i(with)e
(dimensionalit)m(y)i Fq(D)2278 1182 y Fd(0)2301 1215
y FD(\()p Fv(x)2388 1182 y Fd(0)2412 1215 y FD(\).)51
b(In)33 b(practice,)j(mapping)d(o)s(ccurs)g(in)150 1325
@@ -27538,25 +27655,25 @@ FD(as)e(`)p Fy(hgh_byt)p FD(')d(and)i(the)g(pac)m(king)i(p)s(olicy)150
5181 y Fz(p)s(c)m(k)p 295 5181 V 40 w(plc)36 b FD(as)30
b(`)p Fy(all_xst)p FD(':)390 5340 y Fy(ncpdq)46 b(-P)i(all_xst)d(-M)j
(hgh_byt)d(in.nc)i(out.nc)p eop end
-%%Page: 194 200
-TeXDict begin 194 199 bop 150 -116 a FD(194)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(Man)m(y)36 b(di\013eren)m(t)g(pac)m
-(king)h(maps)e(ma)m(y)h(b)s(e)f(used)g(to)h(construct)g(a)g(giv)m(en)h
-(\014le)f(b)m(y)f(p)s(erforming)g(the)150 408 y(pac)m(king)29
-b(on)f(subsets)f(of)i(v)-5 b(ariables)28 b(\(e.g.,)j(with)d(`)p
-Fy(-v)p FD('\))g(and)f(using)h(the)g(app)s(end)f(feature)h(with)g(`)p
-Fy(-A)p FD(')g(\(see)150 518 y(Section)j(2.4)h([App)s(ending)d(V)-8
-b(ariables],)32 b(page)f(17\).)275 699 y(Users)k(ma)m(y)h(wish)f(to)i
-(unpac)m(k)e(data)i(pac)m(k)m(ed)g(with)e(the)h FC(HDF)h
-FD(con)m(v)m(en)m(tion,)i(and)c(then)h(re-pac)m(k)g(it)150
-809 y(with)k(the)g(netCDF)g(con)m(v)m(en)m(tion)j(so)d(that)g(all)h
-(their)f(datasets)i(use)d(the)h(same)h(pac)m(king)g(con)m(v)m(en)m
-(tion)150 918 y(prior)30 b(to)h(in)m(tercomparison.)390
-1100 y Fy(#)47 b(One-step)f(procedure:)f(For)i(NCO)g(4.4.0+,)f(netCDF)g
-(4.3.1+)390 1209 y(#)h(1.)h(Convert,)d(unpack,)h(and)h(repack)f(HDF)h
-(file)g(into)f(netCDF)g(file)390 1319 y(ncpdq)g(--hdf_upk)g(-P)h
-(xst_new)f(modis.hdf)f(modis.nc)g(#)j(HDF4)f(files)390
-1428 y(ncpdq)f(--hdf_upk)g(-P)h(xst_new)f(modis.h5)93
+%%Page: 195 201
+TeXDict begin 195 200 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(195)275
+299 y(Man)m(y)36 b(di\013eren)m(t)g(pac)m(king)h(maps)e(ma)m(y)h(b)s(e)
+f(used)g(to)h(construct)g(a)g(giv)m(en)h(\014le)f(b)m(y)f(p)s
+(erforming)g(the)150 408 y(pac)m(king)29 b(on)f(subsets)f(of)i(v)-5
+b(ariables)28 b(\(e.g.,)j(with)d(`)p Fy(-v)p FD('\))g(and)f(using)h
+(the)g(app)s(end)f(feature)h(with)g(`)p Fy(-A)p FD(')g(\(see)150
+518 y(Section)j(2.4)h([App)s(ending)d(V)-8 b(ariables],)32
+b(page)f(17\).)275 699 y(Users)k(ma)m(y)h(wish)f(to)i(unpac)m(k)e(data)
+i(pac)m(k)m(ed)g(with)e(the)h FC(HDF)h FD(con)m(v)m(en)m(tion,)i(and)c
+(then)h(re-pac)m(k)g(it)150 809 y(with)k(the)g(netCDF)g(con)m(v)m(en)m
+(tion)j(so)d(that)g(all)h(their)f(datasets)i(use)d(the)h(same)h(pac)m
+(king)g(con)m(v)m(en)m(tion)150 918 y(prior)30 b(to)h(in)m
+(tercomparison.)390 1100 y Fy(#)47 b(One-step)f(procedure:)f(For)i(NCO)
+g(4.4.0+,)f(netCDF)g(4.3.1+)390 1209 y(#)h(1.)h(Convert,)d(unpack,)h
+(and)h(repack)f(HDF)h(file)g(into)f(netCDF)g(file)390
+1319 y(ncpdq)g(--hdf_upk)g(-P)h(xst_new)f(modis.hdf)f(modis.nc)g(#)j
+(HDF4)f(files)390 1428 y(ncpdq)f(--hdf_upk)g(-P)h(xst_new)f(modis.h5)93
b(modis.nc)45 b(#)j(HDF5)f(files)390 1648 y(#)g(One-step)f(procedure:)f
(For)i(NCO)g(4.3.7--4.3.9)390 1757 y(#)g(1.)h(Convert,)d(unpack,)h(and)
h(repack)f(HDF)h(file)g(into)f(netCDF)g(file)390 1867
@@ -27618,12 +27735,11 @@ b(Although)26 b(it)h(is)g(no)n(w)g(straigh)n(tforw)n(ard)i(to)275
g(y)n(ou)f(disagree)i(and)f(w)n(ould)275 5340 y(lik)n(e)i
Fp(NCO)h Fs(to)g(supp)r(ort)f(pac)n(king)g(data)h(with)g
Fp(HDF)g Fs(algorithm.)p eop end
-%%Page: 195 201
-TeXDict begin 195 200 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(195)275
-299 y(Supp)s(ose)39 b(the)i(dimension)g Fy(lat)f FD(represen)m(ts)h
-(latitude)i(and)d(monotonically)j(increases)f(increases)150
-408 y(from)g(south)g(to)h(north.)77 b(Rev)m(ersing)43
+%%Page: 196 202
+TeXDict begin 196 201 bop 150 -116 a FD(196)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(Supp)s(ose)39 b(the)i(dimension)g
+Fy(lat)f FD(represen)m(ts)h(latitude)i(and)d(monotonically)j(increases)
+f(increases)150 408 y(from)g(south)g(to)h(north.)77 b(Rev)m(ersing)43
b(the)f Fy(lat)g FD(dimension)g(means)g(re-ordering)h(the)f(data)i(so)e
(that)150 518 y(latitude)31 b(v)-5 b(alues)31 b(decrease)g
(monotonically)i(from)d(north)f(to)j(south.)40 b(Accomplish)31
@@ -27676,11 +27792,11 @@ y Fy(\045)47 b(ncpdq)g(-a)g(-lat,-lev,-lon)d(-v)j(three_dmn_var)d
(in.nc)j(out.nc)390 5230 y(\045)g(ncks)g(-C)g(-v)g(three_dmn_var)e
(in.nc)390 5340 y(lat[0]=-90)g(lev[0]=100)g(lon[0]=0)h
(three_dmn_var[0]=0)p eop end
-%%Page: 196 202
-TeXDict begin 196 201 bop 150 -116 a FD(196)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(lat[0]=-90)45
-b(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)390 408
-y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)390
+%%Page: 197 203
+TeXDict begin 197 202 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(197)390
+299 y Fy(lat[0]=-90)45 b(lev[0]=100)g(lon[1]=90)g(three_dmn_var[1]=1)
+390 408 y(lat[0]=-90)g(lev[0]=100)g(lon[2]=180)g(three_dmn_var[2]=2)390
518 y(...)390 628 y(lat[1]=90)g(lev[2]=1000)g(lon[1]=90)g
(three_dmn_var[21]=21)390 737 y(lat[1]=90)g(lev[2]=1000)g(lon[2]=180)g
(three_dmn_var[22]=22)390 847 y(lat[1]=90)g(lev[2]=1000)g(lon[3]=270)g
@@ -27745,19 +27861,19 @@ b(Section)h(4.5)g([ncecat)g(netCDF)g(Ensem)m(ble)e(Concate-)150
4812 y(of)f(c)m(hanging)g(v)-5 b(ariable)31 b(dimensionalit)m(y)-8
b(,)32 b(including)e(the)h(record)f(dimension.)p eop
end
-%%Page: 197 203
-TeXDict begin 197 202 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(197)150
-299 y FB(4.9)68 b Fc(ncra)43 b FB(netCDF)i(Record)g(Av)l(erager)150
-458 y FD(SYNT)-8 b(AX)390 623 y Fy(ncra)47 b([-3])f([-4])h([-6])g([-7])
-f([-A])h([-C])f([-c])390 733 y([--cnk_dmn)f(nm,sz])h([--cnk_map)f(map])
-i([--cnk_plc)e(plc])h([--cnk_scl)f(sz])390 842 y([-D)i
-Fn(dbg)p Fy(])g([-d)f Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p
-Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o([,[)p Fn(s)o(ubc)o(ycle)o
-Fy(]]]])41 b([-F])390 952 y([-G)47 b Fn(gpe_dsc)p Fy(])e([-g)i
-Fn(grp)p Fy([,...)n(]])g([-h])g([--hdf])f([--hdr_pad)f
-Fn(nbr)p Fy(])390 1061 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i
-Fn(path)p Fy(])g([--mro])f([-n)g Fn(loop)p Fy(])h([--no_tmp_fl])390
+%%Page: 198 204
+TeXDict begin 198 203 bop 150 -116 a FD(198)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.9)68 b Fc(ncra)43
+b FB(netCDF)i(Record)g(Av)l(erager)150 458 y FD(SYNT)-8
+b(AX)390 623 y Fy(ncra)47 b([-3])f([-4])h([-6])g([-7])f([-A])h([-C])f
+([-c])390 733 y([--cnk_dmn)f(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
+(plc])h([--cnk_scl)f(sz])390 842 y([-D)i Fn(dbg)p Fy(])g([-d)f
+Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
+Fn(stride)p Fy(])o([,[)p Fn(s)o(ubc)o(ycle)o Fy(]]]])41
+b([-F])390 952 y([-G)47 b Fn(gpe_dsc)p Fy(])e([-g)i Fn(grp)p
+Fy([,...)n(]])g([-h])g([--hdf])f([--hdr_pad)f Fn(nbr)p
+Fy(])390 1061 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i Fn(path)p
+Fy(])g([--mro])f([-n)g Fn(loop)p Fy(])h([--no_tmp_fl])390
1171 y([-O])g([-o)g Fn(output-)390 1281 y(file)p Fy(])f([-p)h
Fn(path)p Fy(])g([-R])f([-r])h([--ram_all])e([--rec_apn])f
([--rth_dbl|flt])390 1390 y([-t)j Fn(thr_nbr)p Fy(])e([--unn])h([-v)h
@@ -27802,7 +27918,7 @@ b FD(co)s(ordinate)29 b(v)-5 b(ari-)150 3474 y(ables)24
b(regardless)g(of)g(the)g(arithmetic)h(op)s(eration)f(t)m(yp)s(e)g(p)s
(erformed)e(on)i(the)g(non-co)s(ordinate)g(v)-5 b(ariables.)150
3584 y(\(see)31 b(Section)h(3.32)f([Op)s(eration)g(T)m(yp)s(es],)f
-(page)h(83\).)150 3749 y(EXAMPLES)275 3914 y(Av)m(erage)e(\014les)f
+(page)h(84\).)150 3749 y(EXAMPLES)275 3914 y(Av)m(erage)e(\014les)f
Fy(85.nc)p FD(,)f Fy(86.nc)p FD(,)33 b(.)22 b(.)g(.)42
b Fy(89.nc)26 b FD(along)j(the)f(record)g(dimension,)g(and)f(store)h
(the)g(results)150 4023 y(in)i Fy(8589.nc)p FD(:)390
@@ -27823,57 +27939,58 @@ b FD(kno)m(ws)g(ho)m(w)h(to)g(h)m(yp)s(erslab)e(the)i(record)f
(data)e(from)150 5175 y(Decem)m(b)s(er,)j(1985)i(through)c(F)-8
b(ebruary)g(,)31 b(1986:)390 5340 y Fy(ncra)47 b(-d)g(time,11,13)e
(85.nc)h(86.nc)h(87.nc)f(8512_8602.nc)p eop end
-%%Page: 198 204
-TeXDict begin 198 203 bop 150 -116 a FD(198)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncra)47 b(-F)g(-d)g(time,12,14)e
-(85.nc)h(86.nc)h(87.nc)f(8512_8602.nc)150 458 y FD(The)33
-b(\014le)h Fy(87.nc)e FD(is)h(sup)s(er\015uous,)f(but)h(do)s(es)g(not)h
-(cause)g(an)f(error.)50 b(The)33 b(`)p Fy(-F)p FD(')h(turns)e(on)i(the)
-f(F)-8 b(ortran)150 568 y(\(1-based\))24 b(indexing)f(con)m(v)m(en)m
-(tion.)41 b(The)22 b(follo)m(wing)j(uses)d(the)i Fz(stride)k
-FD(option)23 b(to)h(a)m(v)m(erage)i(all)e(the)f(Marc)m(h)150
-677 y(temp)s(erature)30 b(data)h(from)f(m)m(ultiple)h(input)f(\014les)g
-(in)m(to)h(a)g(single)g(output)f(\014le)390 837 y Fy(ncra)47
-b(-F)g(-d)g(time,3,,12)e(-v)i(temperature)e(85.nc)h(86.nc)h(87.nc)f
-(858687_03.nc)275 996 y FD(See)30 b(Section)h(3.16)h([Stride],)f(page)g
-(56,)h(for)e(a)g(description)h(of)f(the)h Fz(stride)k
-FD(argumen)m(t.)275 1156 y(Assume)25 b(the)g Fz(time)32
-b FD(co)s(ordinate)26 b(is)g(incremen)m(tally)h(n)m(um)m(b)s(ered)d
-(suc)m(h)h(that)i(Jan)m(uary)-8 b(,)27 b(1985)g(=)e(1)h(and)150
-1265 y(Decem)m(b)s(er,)39 b(1989)27 b(=)e(60)q(.)58 b(Assuming)36
-b(`)p Fy(??)p FD(')g(only)h(expands)e(to)i(the)g(\014v)m(e)f(desired)g
-(\014les,)i(the)e(follo)m(wing)150 1375 y(a)m(v)m(erages)d(June,)d
-(1985{June,)i(1989:)390 1534 y Fy(ncra)47 b(-d)g(time,6.,54.)e(??.nc)h
-(8506_8906.nc)p eop end
%%Page: 199 205
TeXDict begin 199 204 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(199)150
-299 y FB(4.10)68 b Fc(ncrcat)42 b FB(netCDF)j(Record)g(Concatenator)150
-458 y FD(SYNT)-8 b(AX)390 629 y Fy(ncrcat)46 b([-3])h([-4])f([-6])h
-([-7])g([-A])f([-C])h([-c])390 738 y([--cnk_dmn)e(nm,sz])h([--cnk_map)f
-(map])i([--cnk_plc)e(plc])h([--cnk_scl)f(sz])390 848
-y([-D)i Fn(dbg)p Fy(])g([-d)f Fn(dim)p Fy(,[)p Fn(min)p
-Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o([,[)p
-Fn(s)o(ubc)o(ycle)o Fy(]]]])41 b([-F])390 957 y([-G)47
-b Fn(gpe_dsc)p Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([-h])g([--hdr_pad)
-e Fn(nbr)p Fy(])390 1067 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i
-Fn(path)p Fy(])g([--md5_digest])d([-n)j Fn(loop)p Fy(])f([--no_tmp_fl])
-390 1177 y([-O])h([-o)g Fn(output-file)p Fy(])d([-p)j
-Fn(path)p Fy(])f([-R])h([-r])g([--ram_all])d([--rec_apn])390
-1286 y([-t)j Fn(thr_nbr)p Fy(])e([--unn])h([-v)h Fn(var)p
-Fy([,...)n(]])g([-X)g(...])g([-x])390 1396 y([)p Fn(input-files)p
-Fy(])d([)p Fn(output-file)p Fy(])150 1566 y FD(DESCRIPTION)275
-1736 y Fy(ncrcat)39 b FD(concatenates)44 b(record)e(v)-5
-b(ariables)42 b(across)g(an)g(arbitrary)f(n)m(um)m(b)s(er)f(of)i
-Fz(input-\014les)p FD(.)73 b(The)150 1846 y(\014nal)30
-b(record)h(dimension)g(is)f(b)m(y)h(default)g(the)g(sum)f(of)h(the)g
-(lengths)g(of)g(the)g(record)g(dimensions)f(in)h(the)150
-1956 y(input)f(\014les.)44 b(See)32 b(Section)g(2.6)g([Statistics)i
-(vs.)43 b(Concatenation],)34 b(page)e(18,)h(for)e(a)h(description)f(of)
-h(the)150 2065 y(distinctions)26 b(b)s(et)m(w)m(een)g(the)f(v)-5
-b(arious)26 b(statistics)h(to)s(ols)f(and)f(concatenators.)41
-b(As)25 b(a)h(m)m(ulti-\014le)g(op)s(erator,)150 2175
-y Fy(ncrcat)37 b FD(will)h(read)g(the)h(list)g(of)f Fz(input-\014les)k
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(199)390
+299 y Fy(ncra)47 b(-F)g(-d)g(time,12,14)e(85.nc)h(86.nc)h(87.nc)f
+(8512_8602.nc)150 458 y FD(The)33 b(\014le)h Fy(87.nc)e
+FD(is)h(sup)s(er\015uous,)f(but)h(do)s(es)g(not)h(cause)g(an)f(error.)
+50 b(The)33 b(`)p Fy(-F)p FD(')h(turns)e(on)i(the)f(F)-8
+b(ortran)150 568 y(\(1-based\))24 b(indexing)f(con)m(v)m(en)m(tion.)41
+b(The)22 b(follo)m(wing)j(uses)d(the)i Fz(stride)k FD(option)23
+b(to)h(a)m(v)m(erage)i(all)e(the)f(Marc)m(h)150 677 y(temp)s(erature)30
+b(data)h(from)f(m)m(ultiple)h(input)f(\014les)g(in)m(to)h(a)g(single)g
+(output)f(\014le)390 837 y Fy(ncra)47 b(-F)g(-d)g(time,3,,12)e(-v)i
+(temperature)e(85.nc)h(86.nc)h(87.nc)f(858687_03.nc)275
+996 y FD(See)30 b(Section)h(3.16)h([Stride],)f(page)g(57,)h(for)e(a)g
+(description)h(of)f(the)h Fz(stride)k FD(argumen)m(t.)275
+1156 y(Assume)25 b(the)g Fz(time)32 b FD(co)s(ordinate)26
+b(is)g(incremen)m(tally)h(n)m(um)m(b)s(ered)d(suc)m(h)h(that)i(Jan)m
+(uary)-8 b(,)27 b(1985)g(=)e(1)h(and)150 1265 y(Decem)m(b)s(er,)39
+b(1989)27 b(=)e(60)q(.)58 b(Assuming)36 b(`)p Fy(??)p
+FD(')g(only)h(expands)e(to)i(the)g(\014v)m(e)f(desired)g(\014les,)i
+(the)e(follo)m(wing)150 1375 y(a)m(v)m(erages)d(June,)d(1985{June,)i
+(1989:)390 1534 y Fy(ncra)47 b(-d)g(time,6.,54.)e(??.nc)h(8506_8906.nc)
+p eop end
+%%Page: 200 206
+TeXDict begin 200 205 bop 150 -116 a FD(200)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.10)68 b Fc(ncrcat)42
+b FB(netCDF)j(Record)g(Concatenator)150 458 y FD(SYNT)-8
+b(AX)390 629 y Fy(ncrcat)46 b([-3])h([-4])f([-6])h([-7])g([-A])f([-C])h
+([-c])390 738 y([--cnk_dmn)e(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e
+(plc])h([--cnk_scl)f(sz])390 848 y([-D)i Fn(dbg)p Fy(])g([-d)f
+Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
+Fn(stride)p Fy(])o([,[)p Fn(s)o(ubc)o(ycle)o Fy(]]]])41
+b([-F])390 957 y([-G)47 b Fn(gpe_dsc)p Fy(])e([-g)i Fn(grp)p
+Fy([,...)n(]])g([-h])g([--hdr_pad)e Fn(nbr)p Fy(])390
+1067 y([-L)i Fn(dfl_lvl)p Fy(])e([-l)i Fn(path)p Fy(])g([--md5_digest])
+d([-n)j Fn(loop)p Fy(])f([--no_tmp_fl])390 1177 y([-O])h([-o)g
+Fn(output-file)p Fy(])d([-p)j Fn(path)p Fy(])f([-R])h([-r])g
+([--ram_all])d([--rec_apn])390 1286 y([-t)j Fn(thr_nbr)p
+Fy(])e([--unn])h([-v)h Fn(var)p Fy([,...)n(]])g([-X)g(...])g([-x])390
+1396 y([)p Fn(input-files)p Fy(])d([)p Fn(output-file)p
+Fy(])150 1566 y FD(DESCRIPTION)275 1736 y Fy(ncrcat)39
+b FD(concatenates)44 b(record)e(v)-5 b(ariables)42 b(across)g(an)g
+(arbitrary)f(n)m(um)m(b)s(er)f(of)i Fz(input-\014les)p
+FD(.)73 b(The)150 1846 y(\014nal)30 b(record)h(dimension)g(is)f(b)m(y)h
+(default)g(the)g(sum)f(of)h(the)g(lengths)g(of)g(the)g(record)g
+(dimensions)f(in)h(the)150 1956 y(input)f(\014les.)44
+b(See)32 b(Section)g(2.6)g([Statistics)i(vs.)43 b(Concatenation],)34
+b(page)e(18,)h(for)e(a)h(description)f(of)h(the)150 2065
+y(distinctions)26 b(b)s(et)m(w)m(een)g(the)f(v)-5 b(arious)26
+b(statistics)h(to)s(ols)f(and)f(concatenators.)41 b(As)25
+b(a)h(m)m(ulti-\014le)g(op)s(erator,)150 2175 y Fy(ncrcat)37
+b FD(will)h(read)g(the)h(list)g(of)f Fz(input-\014les)k
FD(from)37 b Fy(stdin)g FD(if)h(they)h(are)g(not)f(sp)s(eci\014ed)g(as)
g(p)s(ositional)150 2284 y(argumen)m(ts)31 b(on)f(the)h(command)f(line)
g(\(see)i(Section)f(2.7)g([Large)h(Num)m(b)s(ers)d(of)h(Files],)i(page)
@@ -27914,7 +28031,7 @@ b(Second,)150 3940 y(concatenate)33 b(the)e(unpac)m(k)m(ed)f(data)h
Fy(ncpdq)p FD(.)275 4111 y Fy(ncrcat)37 b FD(applies)j(sp)s(ecial)g
(rules)f(to)i FC(ARM)f FD(con)m(v)m(en)m(tion)h(time)f(\014elds)f
(\(e.g.,)44 b Fy(time_offset)p FD(\).)66 b(See)150 4220
-y(Section)31 b(3.38)h([ARM)f(Con)m(v)m(en)m(tions],)h(page)f(100)h(for)
+y(Section)31 b(3.38)h([ARM)f(Con)m(v)m(en)m(tions],)h(page)f(101)h(for)
e(a)h(complete)h(description.)150 4391 y(EXAMPLES)275
4561 y(Concatenate)39 b(\014les)f Fy(85.nc)p FD(,)g Fy(86.nc)p
FD(,)44 b(.)22 b(.)g(.)42 b Fy(89.nc)36 b FD(along)j(the)f(record)f
@@ -27927,35 +28044,36 @@ b(in)g Fy(8589.nc)p FD(:)390 4841 y Fy(ncrcat)46 b(85.nc)g(86.nc)h
(Files],)150 5340 y(page)c(28,)h(for)e(an)g(explanation)h(of)g(the)g
(distinctions)f(b)s(et)m(w)m(een)h(these)g(metho)s(ds.)p
eop end
-%%Page: 200 206
-TeXDict begin 200 205 bop 150 -116 a FD(200)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)275 299 y(Assume)43 b(the)g(\014les)h
-Fy(85.nc)p FD(,)h Fy(86.nc)p FD(,)51 b(.)23 b(.)f(.)41
-b Fy(89.nc)h FD(eac)m(h)j(con)m(tain)g(a)f(record)f(co)s(ordinate)h
-Fz(time)50 b FD(of)150 408 y(length)31 b(12)h(de\014ned)d(suc)m(h)i
-(that)g(the)h(third)e(record)g(in)h Fy(86.nc)f FD(con)m(tains)i(data)f
-(from)g(Marc)m(h)h(1986,)h(etc.)150 518 y FC(NCO)d FD(kno)m(ws)h(ho)m
-(w)f(to)h(h)m(yp)s(erslab)f(the)h(record)f(dimension)g(across)h
-(\014les.)41 b(Th)m(us,)30 b(to)h(concatenate)i(data)150
-628 y(from)d(Decem)m(b)s(er,)h(1985{F)-8 b(ebruary)g(,)33
-b(1986:)390 787 y Fy(ncrcat)46 b(-d)h(time,11,13)e(85.nc)i(86.nc)f
-(87.nc)g(8512_8602.nc)390 897 y(ncrcat)g(-F)h(-d)g(time,12,14)e(85.nc)i
-(86.nc)f(87.nc)h(8512_8602.nc)150 1056 y FD(The)38 b(\014le)h
-Fy(87.nc)e FD(is)h(sup)s(er\015uous,)g(but)g(do)s(es)g(not)h(cause)g
-(an)g(error.)64 b(When)39 b Fy(ncra)e FD(and)h Fy(ncrcat)f
-FD(en-)150 1166 y(coun)m(ter)j(a)g(\014le)f(whic)m(h)g(do)s(es)g(con)m
-(tain)i(an)m(y)f(records)f(that)h(meet)g(the)f(sp)s(eci\014ed)g(h)m(yp)
-s(erslab)f(criteria,)150 1275 y(they)c(disregard)g(the)g(\014le)g(and)f
-(pro)s(ceed)g(to)i(the)f(next)g(\014le)g(without)g(failing.)52
-b(The)34 b(`)p Fy(-F)p FD(')f(turns)g(on)h(the)150 1385
-y(F)-8 b(ortran)31 b(\(1-based\))h(indexing)e(con)m(v)m(en)m(tion.)275
-1544 y(The)24 b(follo)m(wing)i(uses)e(the)h Fz(stride)30
-b FD(option)25 b(to)h(concatenate)h(all)f(the)f(Marc)m(h)g(temp)s
+%%Page: 201 207
+TeXDict begin 201 206 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(201)275
+299 y(Assume)43 b(the)g(\014les)h Fy(85.nc)p FD(,)h Fy(86.nc)p
+FD(,)51 b(.)23 b(.)f(.)41 b Fy(89.nc)h FD(eac)m(h)j(con)m(tain)g(a)f
+(record)f(co)s(ordinate)h Fz(time)50 b FD(of)150 408
+y(length)31 b(12)h(de\014ned)d(suc)m(h)i(that)g(the)h(third)e(record)g
+(in)h Fy(86.nc)f FD(con)m(tains)i(data)f(from)g(Marc)m(h)h(1986,)h
+(etc.)150 518 y FC(NCO)d FD(kno)m(ws)h(ho)m(w)f(to)h(h)m(yp)s(erslab)f
+(the)h(record)f(dimension)g(across)h(\014les.)41 b(Th)m(us,)30
+b(to)h(concatenate)i(data)150 628 y(from)d(Decem)m(b)s(er,)h(1985{F)-8
+b(ebruary)g(,)33 b(1986:)390 787 y Fy(ncrcat)46 b(-d)h(time,11,13)e
+(85.nc)i(86.nc)f(87.nc)g(8512_8602.nc)390 897 y(ncrcat)g(-F)h(-d)g
+(time,12,14)e(85.nc)i(86.nc)f(87.nc)h(8512_8602.nc)150
+1056 y FD(The)38 b(\014le)h Fy(87.nc)e FD(is)h(sup)s(er\015uous,)g(but)
+g(do)s(es)g(not)h(cause)g(an)g(error.)64 b(When)39 b
+Fy(ncra)e FD(and)h Fy(ncrcat)f FD(en-)150 1166 y(coun)m(ter)j(a)g
+(\014le)f(whic)m(h)g(do)s(es)g(con)m(tain)i(an)m(y)f(records)f(that)h
+(meet)g(the)f(sp)s(eci\014ed)g(h)m(yp)s(erslab)f(criteria,)150
+1275 y(they)c(disregard)g(the)g(\014le)g(and)f(pro)s(ceed)g(to)i(the)f
+(next)g(\014le)g(without)g(failing.)52 b(The)34 b(`)p
+Fy(-F)p FD(')f(turns)g(on)h(the)150 1385 y(F)-8 b(ortran)31
+b(\(1-based\))h(indexing)e(con)m(v)m(en)m(tion.)275 1544
+y(The)24 b(follo)m(wing)i(uses)e(the)h Fz(stride)30 b
+FD(option)25 b(to)h(concatenate)h(all)f(the)f(Marc)m(h)g(temp)s
(erature)g(data)g(from)150 1654 y(m)m(ultiple)31 b(input)e(\014les)i
(in)m(to)g(a)g(single)g(output)f(\014le)390 1813 y Fy(ncrcat)46
b(-F)h(-d)g(time,3,,12)e(-v)j(temperature)c(85.nc)j(86.nc)f(87.nc)g
(858687_03.nc)275 1973 y FD(See)30 b(Section)h(3.16)h([Stride],)f(page)
-g(56,)h(for)e(a)g(description)h(of)f(the)h Fz(stride)k
+g(57,)h(for)e(a)g(description)h(of)f(the)h Fz(stride)k
FD(argumen)m(t.)275 2132 y(Assume)41 b(the)g Fz(time)48
b FD(co)s(ordinate)42 b(is)g(incremen)m(tally)h(n)m(um)m(b)s(ered)d
(suc)m(h)i(that)g(Jan)m(uary)-8 b(,)44 b(1985)33 b(=)d(1)150
@@ -27964,19 +28082,19 @@ Fy(??)h FD(only)g(expands)g(to)h(the)f(\014v)m(e)g(desired)g(\014les,)h
(the)f(follo)m(wing)150 2351 y(concatenates)33 b(June,)d(1985{June,)i
(1989:)390 2511 y Fy(ncrcat)46 b(-d)h(time,6.,54.)e(??.nc)h
(8506_8906.nc)p eop end
-%%Page: 201 207
-TeXDict begin 201 206 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(201)150
-299 y FB(4.11)68 b Fc(ncrename)41 b FB(netCDF)k(Renamer)150
-458 y FD(SYNT)-8 b(AX)390 620 y Fy(ncrename)46 b([-a)g
-Fn(old_name)p Fy(,)p Fn(new_name)p Fy(])d([-a)k(...)o(])h([-D)f
-Fn(dbg)p Fy(])390 730 y([-d)g Fn(old_name)p Fy(,)p Fn(new_name)p
-Fy(])c([-d)k(...)o(])g([-g)g Fn(old_name)p Fy(,)p Fn(new_name)p
-Fy(])c([-g)k(...)o(])390 839 y([-h])g([--hdf])e([--hdr_pad)g
-Fn(nbr)p Fy(])i([-l)g Fn(path)p Fy(])f([-O])h([-o)g Fn(output-)390
-949 y(file)p Fy(])f([-p)h Fn(path)p Fy(])g([-R])f([-r])390
-1059 y([-v)h Fn(old_name)p Fy(,)p Fn(new_name)p Fy(])c([-v)k(...)o(])
-390 1168 y Fn(input-file)e Fy([[)p Fn(output-file)p Fy(]])150
+%%Page: 202 208
+TeXDict begin 202 207 bop 150 -116 a FD(202)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.11)68 b Fc(ncrename)41
+b FB(netCDF)k(Renamer)150 458 y FD(SYNT)-8 b(AX)390 620
+y Fy(ncrename)46 b([-a)g Fn(old_name)p Fy(,)p Fn(new_name)p
+Fy(])d([-a)k(...)o(])h([-D)f Fn(dbg)p Fy(])390 730 y([-d)g
+Fn(old_name)p Fy(,)p Fn(new_name)p Fy(])c([-d)k(...)o(])g([-g)g
+Fn(old_name)p Fy(,)p Fn(new_name)p Fy(])c([-g)k(...)o(])390
+839 y([-h])g([--hdf])e([--hdr_pad)g Fn(nbr)p Fy(])i([-l)g
+Fn(path)p Fy(])f([-O])h([-o)g Fn(output-)390 949 y(file)p
+Fy(])f([-p)h Fn(path)p Fy(])g([-R])f([-r])390 1059 y([-v)h
+Fn(old_name)p Fy(,)p Fn(new_name)p Fy(])c([-v)k(...)o(])390
+1168 y Fn(input-file)e Fy([[)p Fn(output-file)p Fy(]])150
1330 y FD(DESCRIPTION)275 1492 y Fy(ncrename)31 b FD(renames)j(netCDF)h
(dimensions,)f(v)-5 b(ariables,)36 b(attributes,)g(and)d(groups.)51
b(Eac)m(h)35 b(ob)5 b(ject)150 1601 y(that)26 b(has)f(a)h(name)f(in)g
@@ -27991,29 +28109,32 @@ Fy(.)p FD('.)40 b(The)30 b(v)-5 b(alidit)m(y)31 b(of)150
b(not)h(c)m(hec)m(k)m(ed)g(prior)f(to)g(the)h(renaming.)42
b(Th)m(us,)30 b(if)h Fz(old)p 2543 1930 V 40 w(name)37
b FD(is)31 b(sp)s(eci\014ed)f(without)h(the)150 2040
-y(the)i(`)p Fy(.)p FD(')g(pre\014x)f(and)g(is)h(not)g(presen)m(t)g(in)f
-Fz(input-\014le)p FD(,)h Fy(ncrename)e FD(will)i(ab)s(ort.)48
-b(The)32 b Fz(new)p 3208 2040 V 40 w(name)38 b FD(should)150
-2149 y(nev)m(er)f(b)s(e)f(pre\014xed)f(b)m(y)h(a)h(`)p
-Fy(.)p FD(')g(\(or)g(else)g(the)g(p)s(erio)s(d)e(will)i(b)s(e)f
-(included)g(as)h(part)f(of)h(the)f(new)g(name\).)150
-2259 y(The)27 b(OPTIONS)f(and)h(EXAMPLES)g(sho)m(w)g(ho)m(w)h(to)g
-(select)h(sp)s(eci\014c)f(v)-5 b(ariables)28 b(whose)f(attributes)i
-(are)150 2369 y(to)i(b)s(e)f(renamed.)275 2531 y(Although)j
-Fy(ncrename)d FD(supp)s(orts)h(full)i(pathnames)f(for)h(b)s(oth)f
-Fz(old)p 2578 2531 V 40 w(name)38 b FD(and)33 b Fz(new)p
-3205 2531 V 39 w(name)p FD(,)h(this)f(is)150 2640 y(really)e(\\windo)m
-(w)f(dressing".)40 b(The)30 b(full-path)f(to)i Fz(new)p
-2037 2640 V 40 w(name)k FD(m)m(ust)30 b(b)s(e)f(iden)m(tical)j(to)e
-(the)g(full-path)g(to)150 2750 y Fz(old)p 277 2750 V
-40 w(name)41 b FD(in)36 b(all)h(classes)g(of)g(ob)5 b(jects)36
-b(\(attributes,)j(v)-5 b(ariables,)39 b(dimensions,)e(or)f(groups\).)57
-b(In)36 b(other)150 2859 y(w)m(ords,)29 b Fy(ncrename)e
-FD(can)j(c)m(hange)g(only)f(the)h(lo)s(cal)g(names)f(of)h(ob)5
-b(jects,)30 b(it)g(cannot)g(c)m(hange)g(the)f(lo)s(cation)150
-2969 y(of)f(the)g(ob)5 b(ject)28 b(in)g(the)g(group)f(hierarc)m(h)m(y)h
-(within)g(the)g(\014le.)39 b(Hence)29 b(using)e(a)h(full-path)g(in)f
-Fz(new)p 3410 2969 V 40 w(name)33 b FD(is)150 3078 y(redundan)m(t.)39
+y(`)p Fy(.)p FD(')g(pre\014x)f(that)i(indicates)g(the)g(presence)f(of)g
+Fz(old)p 1867 2040 V 41 w(name)36 b FD(is)31 b(optional,)i(and)e
+Fz(old)p 2927 2040 V 40 w(name)36 b FD(is)31 b(not)h(presen)m(t)150
+2149 y(in)25 b Fz(input-\014le)p FD(,)h(then)f Fy(ncrename)e
+FD(will)j(ab)s(ort.)39 b(The)25 b Fz(new)p 2061 2149
+V 39 w(name)31 b FD(should)24 b(nev)m(er)i(b)s(e)f(pre\014xed)f(b)m(y)h
+(a)h(`)p Fy(.)p FD(')g(\(or)150 2259 y(else)h(the)e(p)s(erio)s(d)g
+(will)h(b)s(e)f(included)g(as)h(part)f(of)h(the)g(new)f(name\).)40
+b(The)25 b(OPTIONS)f(and)h(EXAMPLES)150 2369 y(sho)m(w)30
+b(ho)m(w)h(to)g(select)h(sp)s(eci\014c)e(v)-5 b(ariables)31
+b(whose)f(attributes)h(are)g(to)g(b)s(e)f(renamed.)275
+2531 y(Although)j Fy(ncrename)d FD(supp)s(orts)h(full)i(pathnames)f
+(for)h(b)s(oth)f Fz(old)p 2578 2531 V 40 w(name)38 b
+FD(and)33 b Fz(new)p 3205 2531 V 39 w(name)p FD(,)h(this)f(is)150
+2640 y(really)e(\\windo)m(w)f(dressing".)40 b(The)30
+b(full-path)f(to)i Fz(new)p 2037 2640 V 40 w(name)k FD(m)m(ust)30
+b(b)s(e)f(iden)m(tical)j(to)e(the)g(full-path)g(to)150
+2750 y Fz(old)p 277 2750 V 40 w(name)41 b FD(in)36 b(all)h(classes)g
+(of)g(ob)5 b(jects)36 b(\(attributes,)j(v)-5 b(ariables,)39
+b(dimensions,)e(or)f(groups\).)57 b(In)36 b(other)150
+2859 y(w)m(ords,)29 b Fy(ncrename)e FD(can)j(c)m(hange)g(only)f(the)h
+(lo)s(cal)g(names)f(of)h(ob)5 b(jects,)30 b(it)g(cannot)g(c)m(hange)g
+(the)f(lo)s(cation)150 2969 y(of)f(the)g(ob)5 b(ject)28
+b(in)g(the)g(group)f(hierarc)m(h)m(y)h(within)g(the)g(\014le.)39
+b(Hence)29 b(using)e(a)h(full-path)g(in)f Fz(new)p 3410
+2969 V 40 w(name)33 b FD(is)150 3078 y(redundan)m(t.)39
b(The)29 b(ob)5 b(ject)30 b(name)g(is)f(the)h(terminal)g(path)f(comp)s
(onen)m(t)g(of)h Fz(new)p 2873 3078 V 39 w(name)35 b
FD(and)29 b(this)g(ob)5 b(ject)150 3188 y(m)m(ust)30
@@ -28056,17 +28177,18 @@ b(The)43 b(old)g(and)g(new)g(names)g(of)g(the)h(attribute)g(are)g(sp)s
Fy(--attribute)p FD('\))e(b)m(y)i(the)h(asso)s(ciated)g
Fz(old)p 2600 5340 V 41 w(name)k FD(and)23 b Fz(new)p
3209 5340 V 40 w(name)29 b FD(v)-5 b(alues.)p eop end
-%%Page: 202 208
-TeXDict begin 202 207 bop 150 -116 a FD(202)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)630 299 y(Global)22 b(attributes)g(are)g
-(treated)g(no)f(di\013eren)m(tly)h(than)f(v)-5 b(ariable)22
-b(attributes.)38 b(This)20 b(option)630 408 y(ma)m(y)34
-b(b)s(e)f(sp)s(eci\014ed)g(more)h(than)g(once.)51 b(As)33
-b(men)m(tioned)i(ab)s(o)m(v)m(e,)h(all)e(o)s(ccurrences)g(of)g(the)630
-518 y(attribute)29 b(of)g(a)h(giv)m(en)f(name)g(will)g(b)s(e)f(renamed)
-h(unless)f(the)h(`)p Fy(.)p FD(')g(form)f(is)h(used,)f(with)h(one)630
-628 y(exception.)49 b(T)-8 b(o)34 b(c)m(hange)f(the)g(attribute)h(name)
-f(for)f(a)i(particular)f(v)-5 b(ariable,)34 b(sp)s(ecify)f(the)630
+%%Page: 203 209
+TeXDict begin 203 208 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(203)630
+299 y(Global)22 b(attributes)g(are)g(treated)g(no)f(di\013eren)m(tly)h
+(than)f(v)-5 b(ariable)22 b(attributes.)38 b(This)20
+b(option)630 408 y(ma)m(y)34 b(b)s(e)f(sp)s(eci\014ed)g(more)h(than)g
+(once.)51 b(As)33 b(men)m(tioned)i(ab)s(o)m(v)m(e,)h(all)e(o)s
+(ccurrences)g(of)g(the)630 518 y(attribute)29 b(of)g(a)h(giv)m(en)f
+(name)g(will)g(b)s(e)f(renamed)h(unless)f(the)h(`)p Fy(.)p
+FD(')g(form)f(is)h(used,)f(with)h(one)630 628 y(exception.)49
+b(T)-8 b(o)34 b(c)m(hange)f(the)g(attribute)h(name)f(for)f(a)i
+(particular)f(v)-5 b(ariable,)34 b(sp)s(ecify)f(the)630
737 y Fz(old)p 757 737 28 4 v 40 w(name)k FD(in)31 b(the)g(format)h
Fz(old)p 1728 737 V 40 w(v)-5 b(ar)p 1892 737 V 40 w(name at old)p
2336 737 V 40 w(att)p 2491 737 V 41 w(name)p FD(.)44
@@ -28142,43 +28264,42 @@ FD(:)390 4956 y Fy(ncrename)46 b(-v)h(/g1/lon,longitude)c(in_grp.nc)390
(an)h(easy)g(w)m(a)m(y)h(to)g(c)m(hange)f(whether)g(a)g(v)-5
b(ariable)29 b(is)g(a)g(co)s(ordinate.)41 b(If)29 b(y)m(ou)p
eop end
-%%Page: 203 209
-TeXDict begin 203 208 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(203)150
-299 y(w)m(an)m(t)37 b(to)h(rename)f(a)g(co)s(ordinate)g(v)-5
-b(ariable)38 b(so)e(that)i(it)f(remains)f(a)h(co)s(ordinate)h(v)-5
-b(ariable,)39 b(y)m(ou)e(m)m(ust)150 408 y(separately)32
-b(rename)e(b)s(oth)g(the)g(dimension)g(and)g(the)g(v)-5
-b(ariable:)390 568 y Fy(ncrename)46 b(-d)h(lon,longitude)d(-v)j
+%%Page: 204 210
+TeXDict begin 204 209 bop 150 -116 a FD(204)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y(w)m(an)m(t)37 b(to)h(rename)f(a)g
+(co)s(ordinate)g(v)-5 b(ariable)38 b(so)e(that)i(it)f(remains)f(a)h(co)
+s(ordinate)h(v)-5 b(ariable,)39 b(y)m(ou)e(m)m(ust)150
+408 y(separately)32 b(rename)e(b)s(oth)g(the)g(dimension)g(and)g(the)g
+(v)-5 b(ariable:)390 568 y Fy(ncrename)46 b(-d)h(lon,longitude)d(-v)j
(lon,longitude)d(in.nc)275 727 y FD(Unfortunately)-8
-b(,)32 b(the)f(netCDF4)i(library)e(has)g(a)g(longstanding)h(bug)f
-(\(all)h(v)m(ersions)g(un)m(til)f(4.3.1-rc5)150 837 y(released)42
-b(in)e(Decem)m(b)s(er,)45 b(2013\))e(that)f(causes)f
-FC(NCO)g FD(to)h(crash)f(when)f(p)s(erforming)f(this)i(op)s(eration.)
-150 946 y(Sim)m(ultaneously)27 b(renaming)g(v)-5 b(ariables)28
+b(,)31 b(the)f(netCDF4)h(library)e(had)h(a)g(longstanding)g(bug)g
+(\(all)h(v)m(ersions)f(un)m(til)g(4.3.1-rc5)150 837 y(released)41
+b(in)e(Decem)m(b)s(er,)k(2013\))f(that)f(caused)f FC(NCO)f
+FD(to)i(crash)e(when)g(p)s(erforming)g(this)g(op)s(eration.)150
+946 y(Sim)m(ultaneously)27 b(renaming)g(v)-5 b(ariables)28
b(and)e(dimensions)g(in)g(netCDF4)i(\014les)f(with)g(earlier)h(v)m
(ersions)f(of)150 1056 y(netCDF)k(is)f(imp)s(ossible;)g(it)h(m)m(ust)f
(instead)g(b)s(e)g(done)g(in)f(t)m(w)m(o)j(separate)f
Fy(ncrename)d FD(in)m(v)m(o)s(cations)k(\(e.g.,)150 1166
-y(\014rst)e(rename)g(the)h(v)-5 b(ariable,)31 b(then)f(the)h
-(dimension\))f(to)h(a)m(v)m(oid)h(triggering)f(the)g(libary)f(bug.)275
-1325 y(A)i(related)h(bug)e(causes)i(unin)m(tended)e(side-e\013ects)j
-(with)e Fy(ncrename)e FD(also)j(built)f(with)g(all)h(v)m(ersions)150
-1435 y(of)41 b(the)g(netCDF4)h(library)f(un)m(til)g(4.3.1-rc5)i
-(released)f(in)f(Decem)m(b)s(er,)j(2013\):)64 b(Renaming)41
-b Fo(either)52 b FD(a)150 1544 y(dimension)32 b Fo(or)43
-b FD(its)33 b(assosiated)h(co)s(ordinate)g(v)-5 b(ariable)33
-b(\(not)g(b)s(oth,)g(whic)m(h)f(w)m(ould)h(fail)g(as)g(ab)s(o)m(v)m
-(e\))h(in)f(a)150 1654 y(netCDF4)e(\014le)g(inadv)m(erten)m(tly)h
-Fo(do)-5 b(es)39 b FD(rename)30 b(b)s(oth:)390 1813 y
-Fy(#)47 b(Demonstate)e(bug)i(in)h(netCDF4/HDF5)c(library)i(prior)g(to)h
-(netCDF-4.3.1-rc5)390 1923 y(ncks)g(-O)g(-h)g(-m)g(-M)g(-4)h(-v)f
-(lat_T42)f(~/nco/data/in.nc)d(~/foo.nc)390 2032 y(ncrename)j(-O)h(-v)g
-(lat_T42,lat)e(~/foo.nc)g(~/foo2.nc)g(#)j(Also)f(renames)e(dimension)
-390 2142 y(ncrename)h(-O)h(-d)g(lat_T42,lat)e(~/foo.nc)g(~/foo2.nc)g(#)
-j(Also)f(renames)e(variable)275 2301 y FD(T)-8 b(o)31
-b(a)m(v)m(oid)h(this)f(fault)m(y)g(b)s(eha)m(vior,)h(either)f(build)f
-FC(NCO)g FD(with)h(netCDF)g(v)m(ersion)g(4.3.1-rc5)j(or)d(later,)150
+y(\014rst)e(rename)g(the)h(v)-5 b(ariable,)31 b(then)f(rename)h(the)f
+(dimension\))g(to)h(a)m(v)m(oid)h(triggering)g(the)e(libary)h(bug.)275
+1325 y(A)24 b(related)h(bug)e(causes)i(unin)m(tended)d(side-e\013ects)k
+(with)e Fy(ncrename)e FD(also)j(built)f(with)f(all)i(v)m(ersions)g(of)
+150 1435 y(the)g(netCDF4)h(library)f(un)m(til)g(4.3.1-rc5)j(released)d
+(in)g(Decem)m(b)s(er,)i(2013\):)40 b(This)25 b(bug)f(caused)h(renaming)
+150 1544 y Fo(either)31 b FD(a)22 b(dimension)e Fo(or)32
+b FD(its)21 b(assosiated)i(co)s(ordinate)f(v)-5 b(ariable)22
+b(\(not)f(b)s(oth,)i(whic)m(h)d(w)m(ould)h(fail)h(as)f(ab)s(o)m(v)m
+(e\))150 1654 y(in)30 b(a)h(netCDF4)g(\014le)g(to)g(inadv)m(erten)m
+(tly)h(rename)e(b)s(oth:)390 1813 y Fy(#)47 b(Demonstate)e(bug)i(in)h
+(netCDF4/HDF5)c(library)i(prior)g(to)h(netCDF-4.3.1-rc5)390
+1923 y(ncks)g(-O)g(-h)g(-m)g(-M)g(-4)h(-v)f(lat_T42)f(~/nco/data/in.nc)
+d(~/foo.nc)390 2032 y(ncrename)j(-O)h(-v)g(lat_T42,lat)e(~/foo.nc)g
+(~/foo2.nc)g(#)j(Also)f(renames)e(dimension)390 2142
+y(ncrename)h(-O)h(-d)g(lat_T42,lat)e(~/foo.nc)g(~/foo2.nc)g(#)j(Also)f
+(renames)e(variable)275 2301 y FD(T)-8 b(o)31 b(a)m(v)m(oid)h(this)f
+(fault)m(y)g(b)s(eha)m(vior,)h(either)f(build)f FC(NCO)g
+FD(with)h(netCDF)g(v)m(ersion)g(4.3.1-rc5)j(or)d(later,)150
2411 y(or)f(con)m(v)m(ert)i(the)f(\014le)f(to)h(netCDF3)h(\014rst,)e
(then)g(rename)g(as)h(in)m(tended,)f(then)g(con)m(v)m(ert)i(bac)m(k.)
275 2570 y(Create)23 b(netCDF)h Fy(out.nc)d FD(iden)m(tical)k(to)f
@@ -28230,34 +28351,35 @@ b(and)d(lea)m(v)m(e)k(unc)m(hanged)c(an)m(y)i Fy(Convention)150
5340 y FD(attributes)31 b(attac)m(hed)i(directly)f(to)f(v)-5
b(ariables.)43 b(A)m(ttributes)32 b(pre\014xed)e(with)g(a)i(p)s(erio)s
(d)d(\()p Fy(.Convention)p FD(\))p eop end
-%%Page: 204 210
-TeXDict begin 204 209 bop 150 -116 a FD(204)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(need)g(not)g(b)s(e)g(presen)m(t.)41
-b(A)m(ttributes)31 b(not)f(pre\014xed)f(with)h(a)h(p)s(erio)s(d)e(\()p
-Fy(Convention)p FD(\))f(m)m(ust)i(b)s(e)g(presen)m(t.)150
-408 y(V)-8 b(ariables)28 b(pre\014xed)d(with)h(a)h(p)s(erio)s(d)e(\()p
+%%Page: 205 211
+TeXDict begin 205 210 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(205)150
+299 y(need)30 b(not)g(b)s(e)g(presen)m(t.)41 b(A)m(ttributes)31
+b(not)f(pre\014xed)f(with)h(a)h(p)s(erio)s(d)e(\()p Fy(Convention)p
+FD(\))f(m)m(ust)i(b)s(e)g(presen)m(t.)150 408 y(V)-8
+b(ariables)28 b(pre\014xed)d(with)h(a)h(p)s(erio)s(d)e(\()p
Fy(.)h FD(or)h Fy(.global)p FD(\))e(need)h(not)g(b)s(e)g(presen)m(t.)40
b(V)-8 b(ariables)27 b(not)g(pre\014xed)150 518 y(with)j(a)h(p)s(erio)s
(d)e(\()p Fy(global)p FD(\))g(m)m(ust)i(b)s(e)e(presen)m(t.)p
eop end
-%%Page: 205 211
-TeXDict begin 205 210 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(205)150
-299 y FB(4.12)68 b Fc(ncwa)43 b FB(netCDF)i(W)-11 b(eigh)l(ted)46
-b(Av)l(erager)150 458 y FD(SYNT)-8 b(AX)390 623 y Fy(ncwa)47
-b([-3])f([-4])h([-6])g([-7])f([-A])h([-a)g Fn(dim)p Fy([,...)n(]])g
-([-B)g Fn(mask_cond)p Fy(])e([-b])h([-C])h([-c])390 733
-y([--cnk_dmn)e(nm,sz])h([--cnk_map)f(map])i([--cnk_plc)e(plc])h
-([--cnk_scl)f(sz])390 843 y([-D)i Fn(dbg)p Fy(])g([-d)f
-Fn(dim)p Fy(,[)p Fn(min)p Fy(][,[)p Fn(max)p Fy(][,[)p
-Fn(stride)p Fy(])o(]])c([-F])390 952 y([-G)47 b Fn(gpe_dsc)p
-Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([-h])g([--hdr_pad)e
-Fn(nbr)p Fy(])i([-I])390 1062 y([-L)g Fn(dfl_lvl)p Fy(])e([-l)i
-Fn(path)p Fy(])g([-M)g Fn(mask_val)p Fy(])e([-m)i Fn(mask_var)p
-Fy(])e([-N])i([--no_tmp_fl])390 1171 y([-O])g([-o)g Fn(output-file)p
-Fy(])d([-p)j Fn(path)p Fy(])f([-R])h([-r])g([--ram_all])d
-([--rth_dbl|flt])390 1281 y([-T)j Fn(mask_comp)p Fy(])e([-t)i
-Fn(thr_nbr)p Fy(])e([--unn])h([-v)h Fn(var)p Fy([,...)n(]])g([-w)g
+%%Page: 206 212
+TeXDict begin 206 211 bop 150 -116 a FD(206)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(4.12)68 b Fc(ncwa)43
+b FB(netCDF)i(W)-11 b(eigh)l(ted)46 b(Av)l(erager)150
+458 y FD(SYNT)-8 b(AX)390 623 y Fy(ncwa)47 b([-3])f([-4])h([-6])g([-7])
+f([-A])h([-a)g Fn(dim)p Fy([,...)n(]])g([-B)g Fn(mask_cond)p
+Fy(])e([-b])h([-C])h([-c])390 733 y([--cnk_dmn)e(nm,sz])h([--cnk_map)f
+(map])i([--cnk_plc)e(plc])h([--cnk_scl)f(sz])390 843
+y([-D)i Fn(dbg)p Fy(])g([-d)f Fn(dim)p Fy(,[)p Fn(min)p
+Fy(][,[)p Fn(max)p Fy(][,[)p Fn(stride)p Fy(])o(]])c([-F])390
+952 y([-G)47 b Fn(gpe_dsc)p Fy(])e([-g)i Fn(grp)p Fy([,...)n(]])g([-h])
+g([--hdr_pad)e Fn(nbr)p Fy(])i([-I])390 1062 y([-L)g
+Fn(dfl_lvl)p Fy(])e([-l)i Fn(path)p Fy(])g([-M)g Fn(mask_val)p
+Fy(])e([-m)i Fn(mask_var)p Fy(])e([-N])i([--no_tmp_fl])390
+1171 y([-O])g([-o)g Fn(output-file)p Fy(])d([-p)j Fn(path)p
+Fy(])f([-R])h([-r])g([--ram_all])d([--rth_dbl|flt])390
+1281 y([-T)j Fn(mask_comp)p Fy(])e([-t)i Fn(thr_nbr)p
+Fy(])e([--unn])h([-v)h Fn(var)p Fy([,...)n(]])g([-w)g
Fn(weight)p Fy(])390 1390 y([-X)g(...])g([-x])f([-y)h
Fn(op_typ)p Fy(])390 1500 y Fn(input-file)e Fy([)p Fn(output-file)p
Fy(])150 1665 y FD(DESCRIPTION)275 1830 y Fy(ncwa)25
@@ -28339,21 +28461,22 @@ b(Co)s(ordinate)30 b(v)-5 b(ari-)150 5340 y(ables,)30
b(ho)m(w)m(ev)m(er,)i(ma)m(y)e(b)s(e)e(treated)j(sp)s(ecially)-8
b(.)42 b(By)29 b(default,)h(an)g(a)m(v)m(eraged)h(co)s(ordinate)g(v)-5
b(ariable,)30 b(e.g.,)p eop end
-%%Page: 206 212
-TeXDict begin 206 211 bop 150 -116 a FD(206)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fy(latitude)p FD(,)k(app)s(ears)f
-(in)i Fz(output-\014le)k FD(a)m(v)m(eraged)e(the)e(same)g(w)m(a)m(y)g
-(as)g(an)m(y)g(other)g(v)-5 b(ariable)35 b(con)m(taining)150
-408 y(an)41 b(a)m(v)m(eraged)i(dimension.)73 b(In)40
-b(other)h(w)m(ords,)j(b)m(y)d(default)g Fy(ncwa)f FD(w)m(eigh)m(ts)j
-(and)d(masks)h(co)s(ordinate)150 518 y(v)-5 b(ariables)37
-b(lik)m(e)g(all)g(other)g(v)-5 b(ariables.)59 b(This)35
-b(design)h(decision)h(w)m(as)g(in)m(tended)f(to)h(b)s(e)e(helpful)h
-(but)f(for)150 628 y(some)30 b(applications)g(it)g(ma)m(y)g(b)s(e)f
-(preferable)g(not)g(to)h(w)m(eigh)m(t)h(or)e(mask)h(co)s(ordinate)g(v)
--5 b(ariables)30 b(just)f(lik)m(e)150 737 y(all)e(other)g(v)-5
-b(ariables.)40 b(Consider)26 b(the)h(follo)m(wing)h(argumen)m(ts)f(to)g
-Fy(ncwa)p FD(:)38 b Fy(-a)29 b(latitude)f(-w)i(lat_wgt)f(-d)150
+%%Page: 207 213
+TeXDict begin 207 212 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(207)150
+299 y Fy(latitude)p FD(,)34 b(app)s(ears)f(in)i Fz(output-\014le)k
+FD(a)m(v)m(eraged)e(the)e(same)g(w)m(a)m(y)g(as)g(an)m(y)g(other)g(v)-5
+b(ariable)35 b(con)m(taining)150 408 y(an)41 b(a)m(v)m(eraged)i
+(dimension.)73 b(In)40 b(other)h(w)m(ords,)j(b)m(y)d(default)g
+Fy(ncwa)f FD(w)m(eigh)m(ts)j(and)d(masks)h(co)s(ordinate)150
+518 y(v)-5 b(ariables)37 b(lik)m(e)g(all)g(other)g(v)-5
+b(ariables.)59 b(This)35 b(design)h(decision)h(w)m(as)g(in)m(tended)f
+(to)h(b)s(e)e(helpful)h(but)f(for)150 628 y(some)30 b(applications)g
+(it)g(ma)m(y)g(b)s(e)f(preferable)g(not)g(to)h(w)m(eigh)m(t)h(or)e
+(mask)h(co)s(ordinate)g(v)-5 b(ariables)30 b(just)f(lik)m(e)150
+737 y(all)e(other)g(v)-5 b(ariables.)40 b(Consider)26
+b(the)h(follo)m(wing)h(argumen)m(ts)f(to)g Fy(ncwa)p
+FD(:)38 b Fy(-a)29 b(latitude)f(-w)i(lat_wgt)f(-d)150
847 y(latitude,0.,90.)23 b FD(where)k Fy(lat_wgt)f FD(is)h(a)h(w)m
(eigh)m(t)h(in)e(the)h Fy(latitude)d FD(dimension.)39
b(Since,)28 b(b)m(y)g(default)150 956 y Fy(ncwa)g FD(w)m(eigh)m(ts)i
@@ -28378,7 +28501,7 @@ b(In)31 b(the)h(case)g(of)g(latitude,)h(`)p Fy(-I)p FD(')e(sp)s
m(yp)s(erslabs)c(rather)h(than)h(the)f(area-w)m(eigh)m(ted)j(mean)e
(latitude.)3366 1581 y Ft(2)3404 1614 y FD(.)275 1781
y(As)44 b(explained)h(in)f(See)h(Section)h(3.32)g([Op)s(eration)e(T)m
-(yp)s(es],)k(page)e(83,)j Fy(ncwa)43 b Fo(always)48 b(aver)-5
+(yp)s(es],)k(page)e(84,)j Fy(ncwa)43 b Fo(always)48 b(aver)-5
b(ages)150 1890 y FD(co)s(ordinate)45 b(v)-5 b(ariables)44
b(regardless)h(of)f(the)g(arithmetic)h(op)s(eration)g(t)m(yp)s(e)f(p)s
(erformed)e(on)i(the)g(non-)150 2000 y(co)s(ordinate)21
@@ -28387,7 +28510,7 @@ b(v)-5 b(ariables.)39 b(This)19 b(is)i(indep)s(enden)m(t)e(of)i(the)g
b(mathematical)150 2109 y(de\014nition)25 b(of)h(op)s(erations)f(in)m
(v)m(olving)i(rank)e(reduction)h(is)f(giv)m(en)i(ab)s(o)m(v)m(e)f
(\(see)h(Section)f(3.32)h([Op)s(eration)150 2219 y(T)m(yp)s(es],)j
-(page)h(83\).)150 2433 y Fu(4.12.1)63 b(Mask)41 b(condition)150
+(page)h(84\).)150 2433 y Fu(4.12.1)63 b(Mask)41 b(condition)150
2580 y FD(Eac)m(h)28 b Fv(x)425 2594 y Fg(i)480 2580
y FD(also)h(has)e(an)g(asso)s(ciated)i(masking)f(w)m(eigh)m(t)h
Fv(m)2091 2594 y Fg(i)2146 2580 y FD(whose)e(v)-5 b(alue)28
@@ -28465,15 +28588,15 @@ Fs(')j(are)e(main)n(tained)g(for)h(bac)n(kw)n(ard)f(compatibilit)n(y)h
(and)e(ma)n(y)h(b)r(e)g(deprecated)275 5340 y(in)j(the)g(future.)35
b(It)25 b(is)h(safest)h(to)f(write)h(scripts)f(using)g(`)p
Fr(--mask_condition)p Fs('.)p eop end
-%%Page: 207 213
-TeXDict begin 207 212 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(207)275
-299 y(Eac)m(h)22 b Fv(x)544 313 y Fg(i)594 299 y FD(is)f(also)i(asso)s
-(ciated)h(with)d(an)h(additional)h(w)m(eigh)m(t)g Fv(w)2356
-313 y Fg(i)2406 299 y FD(whose)f(v)-5 b(alue)22 b(ma)m(y)g(b)s(e)g
-(user-sp)s(eci\014ed.)150 408 y(The)33 b(v)-5 b(alue)34
-b(of)g Fv(w)750 422 y Fg(i)811 408 y FD(is)f(iden)m(tically)j(1)e
-(unless)f(the)g(user)g(sp)s(eci\014es)g(a)h(w)m(eigh)m(ting)i(v)-5
+%%Page: 208 214
+TeXDict begin 208 213 bop 150 -116 a FD(208)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)275 299 y(Eac)m(h)22 b Fv(x)544
+313 y Fg(i)594 299 y FD(is)f(also)i(asso)s(ciated)h(with)d(an)h
+(additional)h(w)m(eigh)m(t)g Fv(w)2356 313 y Fg(i)2406
+299 y FD(whose)f(v)-5 b(alue)22 b(ma)m(y)g(b)s(e)g(user-sp)s
+(eci\014ed.)150 408 y(The)33 b(v)-5 b(alue)34 b(of)g
+Fv(w)750 422 y Fg(i)811 408 y FD(is)f(iden)m(tically)j(1)e(unless)f
+(the)g(user)g(sp)s(eci\014es)g(a)h(w)m(eigh)m(ting)i(v)-5
b(ariable)34 b Fz(w)m(eigh)m(t)j FD(\(with)150 518 y(`)p
Fy(-w)p FD(',)30 b(`)p Fy(--weight)p FD(',)e(or)i(`)p
Fy(--wgt)p 1221 518 29 4 v 40 w(var)p FD('\).)41 b(In)28
@@ -28528,13 +28651,13 @@ h(sum)e(of)g(the)h(w)m(eigh)m(ts)i(\(the)e(denominator)g(in)f(the)h(a)m
FD(')150 3117 y(tells)32 b Fy(ncwa)d FD(to)j(return)d(just)h(the)h(n)m
(umerator)g(of)g(the)g(arithmetic)g(expression)g(de\014ning)f(the)g(op)
s(eration)150 3226 y(\(see)h(Section)h(3.32)f([Op)s(eration)g(T)m(yp)s
-(es],)f(page)h(83\).)275 3386 y(With)36 b(this)h(normalization)h
+(es],)f(page)h(84\).)275 3386 y(With)36 b(this)h(normalization)h
(option,)g Fy(ncwa)d FD(can)i(in)m(tegrate)h(v)-5 b(ariables.)60
b(Av)m(erages)38 b(are)e(\014rst)g(com-)150 3496 y(puted)k(as)h(sums,)i
(and)e(then)f(normalized)i(to)g(obtain)f(the)g(a)m(v)m(erage.)76
b(The)40 b(original)i(sum)e(\(i.e.,)46 b(the)150 3605
y(n)m(umerator)27 b(of)f(the)h(expression)g(in)f(Section)h(3.32)h([Op)s
-(eration)f(T)m(yp)s(es],)g(page)h(83\))f(is)g(output)f(if)h(default)150
+(eration)f(T)m(yp)s(es],)g(page)h(84\))f(is)g(output)f(if)h(default)150
3715 y(normalization)32 b(is)f(turned)f(o\013)h(\(with)f(`)p
Fy(-N)p FD('\).)43 b(This)30 b(sum)f(is)i(the)g(in)m(tegral)i(\(not)e
(the)g(a)m(v)m(erage\))j(o)m(v)m(er)e(the)150 3825 y(sp)s(eci\014ed)40
@@ -28561,14 +28684,14 @@ y FD(EXAMPLES)275 4852 y(Giv)m(en)31 b(\014le)f Fy(85_0112.nc)p
FD(:)390 5011 y Fy(netcdf)46 b(85_0112)g({)390 5121 y(dimensions:)772
5230 y(lat)h(=)g(64)g(;)772 5340 y(lev)g(=)g(18)g(;)p
eop end
-%%Page: 208 214
-TeXDict begin 208 213 bop 150 -116 a FD(208)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)772 299 y Fy(lon)47 b(=)g(128)g(;)772
-408 y(time)f(=)i(UNLIMITED)d(;)j(//)f(\(12)g(currently\))390
-518 y(variables:)772 628 y(float)f(lat\(lat\))g(;)772
-737 y(float)g(lev\(lev\))g(;)772 847 y(float)g(lon\(lon\))g(;)772
-956 y(float)g(time\(time\))f(;)772 1066 y(float)h(scalar_var)f(;)772
-1176 y(float)h(three_dmn_var\(lat,)d(lev,)k(lon\))f(;)772
+%%Page: 209 215
+TeXDict begin 209 214 bop 150 -116 a FD(Chapter)30 b(4:)41
+b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(209)772
+299 y Fy(lon)47 b(=)g(128)g(;)772 408 y(time)f(=)i(UNLIMITED)d(;)j(//)f
+(\(12)g(currently\))390 518 y(variables:)772 628 y(float)f(lat\(lat\))g
+(;)772 737 y(float)g(lev\(lev\))g(;)772 847 y(float)g(lon\(lon\))g(;)
+772 956 y(float)g(time\(time\))f(;)772 1066 y(float)h(scalar_var)f(;)
+772 1176 y(float)h(three_dmn_var\(lat,)d(lev,)k(lon\))f(;)772
1285 y(float)g(two_dmn_var\(lat,)e(lev\))i(;)772 1395
y(float)g(mask\(lat,)f(lon\))i(;)772 1504 y(float)f(gw\(lat\))g(;)390
1614 y(})275 1777 y FD(Av)m(erage)32 b(all)f(v)-5 b(ariables)31
@@ -28612,25 +28735,24 @@ Fs(in)f(man)n(y)f(climate)i(mo)r(dels.)199 5221 y Ft(5)275
b Fs(in)39 b(some)i(climate)g(mo)r(dels)f(and)g(in)f(those)h(mo)r(dels)
h Fm(OR)n(O)47 b Fa(<)e Fs(0)p Fa(:)p Fs(5)40 b(selects)h(o)r(cean)275
5340 y(gridp)r(oin)n(ts.)p eop end
-%%Page: 209 215
-TeXDict begin 209 214 bop 150 -116 a FD(Chapter)30 b(4:)41
-b(Op)s(erator)30 b(Reference)h(Man)m(ual)1897 b(209)390
-299 y Fy(ncwa)47 b(-B)g('ORO)f(<)i(0.5')285 b(-w)47 b(gw)h(-a)f
-(lat,lon)f(in.nc)g(out.nc)390 408 y(ncwa)h(-m)g(ORO)g(-M)g(0.5)g(-T)g
-(lt)g(-w)g(gw)h(-a)f(lat,lon)f(in.nc)g(out.nc)150 568
-y FD(It)23 b(is)f(considerably)h(simpler)f(to)h(sp)s(ecify)f(the)h
-(complete)h Fz(mask)p 2283 568 28 4 v 40 w(cond)i FD(with)c(the)h
-(single)g(string)f(argumen)m(t)150 677 y(to)33 b(`)p
-Fy(-B)p FD(')g(than)f(with)g(the)h(three)f(separate)i(switc)m(hes)f(`)p
-Fy(-m)p FD(',)g(`)p Fy(-T)p FD(',)g(and)f(`)p Fy(-M)p
-FD(')2712 644 y Ft(6)2749 677 y FD(.)47 b(If)32 b(in)h(doubt,)f
-(enclose)i(the)150 787 y Fz(mask)p 361 787 V 40 w(cond)d
-FD(within)26 b(quotes)i(since)f(some)h(of)f(the)h(comparators)g(ha)m(v)
-m(e)g(sp)s(ecial)g(meanings)f(to)h(the)f(shell.)275 946
-y(Assuming)g(70\045)h(of)g(the)g(gridp)s(oin)m(ts)g(are)g(maritime,)h
-(then)f(here)f(the)h(tally)h(is)f(0)p Fv(:)p FD(70)15
-b FA(\002)g FD(8192)29 b FA(\031)c FD(5734.)275 1106
-y(Compute)k(the)i(global)h(ann)m(ual)e(mean)h(o)m(v)m(er)g(the)g
+%%Page: 210 216
+TeXDict begin 210 215 bop 150 -116 a FD(210)2582 b FC(NCO)30
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncwa)47 b(-B)g('ORO)f(<)i(0.5')
+285 b(-w)47 b(gw)h(-a)f(lat,lon)f(in.nc)g(out.nc)390
+408 y(ncwa)h(-m)g(ORO)g(-M)g(0.5)g(-T)g(lt)g(-w)g(gw)h(-a)f(lat,lon)f
+(in.nc)g(out.nc)150 568 y FD(It)23 b(is)f(considerably)h(simpler)f(to)h
+(sp)s(ecify)f(the)h(complete)h Fz(mask)p 2283 568 28
+4 v 40 w(cond)i FD(with)c(the)h(single)g(string)f(argumen)m(t)150
+677 y(to)33 b(`)p Fy(-B)p FD(')g(than)f(with)g(the)h(three)f(separate)i
+(switc)m(hes)f(`)p Fy(-m)p FD(',)g(`)p Fy(-T)p FD(',)g(and)f(`)p
+Fy(-M)p FD(')2712 644 y Ft(6)2749 677 y FD(.)47 b(If)32
+b(in)h(doubt,)f(enclose)i(the)150 787 y Fz(mask)p 361
+787 V 40 w(cond)d FD(within)26 b(quotes)i(since)f(some)h(of)f(the)h
+(comparators)g(ha)m(v)m(e)g(sp)s(ecial)g(meanings)f(to)h(the)f(shell.)
+275 946 y(Assuming)g(70\045)h(of)g(the)g(gridp)s(oin)m(ts)g(are)g
+(maritime,)h(then)f(here)f(the)h(tally)h(is)f(0)p Fv(:)p
+FD(70)15 b FA(\002)g FD(8192)29 b FA(\031)c FD(5734.)275
+1106 y(Compute)k(the)i(global)h(ann)m(ual)e(mean)h(o)m(v)m(er)g(the)g
(maritime)g(tropical)h(P)m(aci\014c:)390 1265 y Fy(ncwa)47
b(-B)g('ORO)f(<)i(0.5')285 b(-w)47 b(gw)h(-a)f(lat,lon,time)d(\\)485
1375 y(-d)k(lat,-20.0,20.0)c(-d)j(lon,120.0,270.0)c(in.nc)k(out.nc)390
@@ -28683,8 +28805,6 @@ Fr(-B)p Fs(')h(and)f(`)p Fr(--mask_condition)p Fs(')k(options)c(are)h
(unsupp)r(orted)e(on)h(Windo)n(ws)g(\(with)h(the)e Fp(MVS)275
5340 y Fs(compiler\),)26 b(whic)n(h)g(lac)n(ks)g(a)g(free,)h(standard)f
(parser)g(and)f(lexer.)p eop end
-%%Page: 210 216
-TeXDict begin 210 215 bop eop end
%%Page: 211 217
TeXDict begin 211 216 bop 150 -116 a FD(Chapter)30 b(5:)41
b(Con)m(tributing)2486 b(211)150 299 y Fx(5)80 b(Con)l(tributing)150
@@ -28726,11 +28846,11 @@ FC(NCO)f FD(dev)m(elopmen)m(t)h(ha)m(v)m(e)h(b)s(een:)150
b(and)g(implemen)m(tation)i(from)d(1995{2000.)90 b(Since)45
b(then)g(auto-)630 2842 y(to)s(ols,)55 b(bug-squashing,)d
FC(CDL)p FD(,)i(c)m(h)m(unking,)g(do)s(cumen)m(tation,)h(anc)m(horing,)
-f(recursion,)630 2952 y FC(GPE)p FD(,)25 b(pac)m(king,)h
-FC(NCO)e FD(library)g(redesign,)h Fy(ncap2)e FD(features,)j
-Fy(ncbo)p FD(,)e Fy(ncpdq)p FD(,)g(SMP)g(thread-)630
-3061 y(ing)41 b(and)g(MPI)g(parallelization,)47 b(netCDF4)42
-b(in)m(tegration,)47 b(external)42 b(funding,)g(pro)5
+f(recursion,)630 2952 y FC(GPE)p FD(,)26 b(pac)m(king,)i
+FC(NCO)e FD(library)g(redesign,)h Fy(ncap2)d FD(features,)k
+Fy(ncbo)p FD(,)e Fy(ncpdq)p FD(,)f FC(SMP)h FD(thread-)630
+3061 y(ing)43 b(and)g FC(MPI)f FD(parallelization,)49
+b(netCDF4)44 b(in)m(tegration,)49 b(external)44 b(funding,)g(pro)5
b(ject)630 3171 y(managemen)m(t,)32 b(science)g(researc)m(h,)f
(releases.)150 3320 y(Henry)f(Buto)m(wsky)630 3430 y(Non-linear)35
b(op)s(erations)g(and)f Fy(min\(\))p FD(,)h Fy(max\(\))p
@@ -28765,7 +28885,7 @@ b(in)n(ten)n(t)e(is)275 5340 y(to)i(split)h(monetary)g(donations)g
(their)h(shares)g(via)g(P)n(a)n(yP)n(al.)p eop end
%%Page: 212 218
TeXDict begin 212 217 bop 150 -116 a FD(212)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y(P)m(edro)h(Vicen)m(te)630
+b FD(4.4.6)j(User)d(Guide)150 299 y(P)m(edro)h(Vicen)m(te)630
408 y(Windo)m(ws)f(Visual)h(Studio)f(supp)s(ort.)39 b(netCDF4)32
b(groups.)150 573 y(Russ)d(Rew)88 b(Advice)31 b(on)f
FC(NCO)g FD(structural)h(algorithms)150 737 y(Brian)g(Ma)m(ys)630
@@ -28895,9 +29015,9 @@ FD(option)i(is)f(to)g(sp)s(ecify)g(the)g(range)g(of)g(h)m(yp)s(erslabs)
e(\(see)j(Section)g(3.15)g([Hyp)s(erslabs],)150 4112
y(page)37 b(55\).)60 b(There)36 b(are)g(detailed)i(instructions)e(on)g
Fy(ncra)f FD(\(see)j(Section)f(4.9)g([ncra)g(netCDF)g(Record)150
-4221 y(Av)m(erager],)h(page)d(197)h(and)e Fy(ncrcat)f
+4221 y(Av)m(erager],)h(page)d(198)h(and)e Fy(ncrcat)f
FD(\(see)j(Section)f(4.10)h([ncrcat)g(netCDF)f(Record)g(Concatenator],)
-150 4331 y(page)i(199\).)59 b FC(NCO)36 b FD(supp)s(orts)e(UDUnits)j
+150 4331 y(page)i(200\).)59 b FC(NCO)36 b FD(supp)s(orts)e(UDUnits)j
(so)g(that)f(w)m(e)h(can)f(use)g(readable)h(dates)f(as)h(time)g
(dimension)150 4441 y(\(see)31 b(Section)h(3.22)f([UDUnits)h(Supp)s
(ort],)d(page)i(66\).)150 4688 y FB(6.2)68 b(Mon)l(thly)45
@@ -28910,7 +29030,7 @@ b(in.nc)k(out.nc)150 5340 y Fq(Ann)m(ual)29 b(a)m(v)m(erage:)p
eop end
%%Page: 216 222
TeXDict begin 216 221 bop 150 -116 a FD(216)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(ncra)47 b(-O)g(--mro)f(-d)h
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(ncra)47 b(-O)g(--mro)f(-d)h
(time,,,12,12)e(in.nc)h(out.nc)275 458 y FD(Here)36 b(w)m(e)h(use)e
(the)i(sub)s(cycle)e(feature)i(\(i.e.,)i(the)d(n)m(um)m(b)s(er)f(after)
i(the)f(fourth)f(comma:)53 b(`)p Fy(3)p FD(')36 b(in)g(the)150
@@ -29053,14 +29173,14 @@ b(the)e(data)i(of)e(one)h(ensem)m(ble)g(mem)m(b)s(er)f(will)h(b)s(e)f
4738 y(2.)61 b(Concatenate)43 b(\014les)e(along)h(the)f(record)g
(dimension)g(\(usually)g(time\))h(using)f Fy(ncrcat)e
FD(\(see)j(Sec-)330 4847 y(tion)31 b(4.10)h([ncrcat)f(netCDF)g(Record)g
-(Concatenator],)h(page)f(199\).)390 5011 y Fy(#!/bin/bash)283
+(Concatenator],)h(page)f(200\).)390 5011 y Fy(#!/bin/bash)283
b(#)48 b(shell)e(type)390 5121 y(shopt)g(-s)i(extglob)d(#)j(enable)e
(extended)f(globbing)390 5340 y(#=======================)o(====)o(====)
o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o
(====)o(====)p eop end
%%Page: 218 224
TeXDict begin 218 223 bop 150 -116 a FD(218)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)390 299 y Fy(#)47 b(Some)g(of)g(the)g(models)f
+b(4.4.6)k(User)d(Guide)390 299 y Fy(#)47 b(Some)g(of)g(the)g(models)f
(cut)h(one)g(ensemble)f(member)g(into)g(several)g(files,)390
408 y(#)95 b(which)47 b(include)e(data)i(of)g(different)e(time)i
(periods.)390 518 y(#)g(We'd)g(better)f(concatenate)f(them)i(into)f
@@ -29169,7 +29289,7 @@ FD(\(sno)m(w)e(co)m(v)m(er)h(and)e(sno)m(w)g(depth\).)p
eop end
%%Page: 220 226
TeXDict begin 220 225 bop 150 -116 a FD(220)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)390 299 y Fy(#!/bin/bash)390 408
+b(4.4.6)k(User)d(Guide)390 299 y Fy(#!/bin/bash)390 408
y(#)390 518 y(#=======================)o(====)o(====)o(===)o(====)o
(====)o(===)o(====)o(====)o(===)o(====)390 628 y(#)47
b(Aggregate)f(models)g(to)h(one)g(group)f(file)390 737
@@ -29257,7 +29377,7 @@ b(snd\(time,)45 b(lat,)i(lon\))390 4902 y(#)238 b(})390
5340 y(#)g({)p eop end
%%Page: 222 228
TeXDict begin 222 227 bop 150 -116 a FD(222)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(#)191 b(CCSM4)390
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(#)191 b(CCSM4)390
408 y(#)g({)390 518 y(#)286 b(CCSM4_00)390 628 y(#)g({)390
737 y(#)334 b(snc\(time,)45 b(lat,)i(lon\))390 847 y(#)334
b(snd\(time,)45 b(lat,)i(lon\))390 956 y(#)286 b(})390
@@ -50995,11 +51115,11 @@ b(Av)m(erage)38 b(ensem)m(ble)f(mem)m(b)s(ers)e(of)h(eac)m(h)i(mo)s
4077 y(Ensem)m(ble)30 b(Statistics],)j(page)e(167\))199
4209 y(2.)61 b(Av)m(erage)31 b(the)f(record)g(dimension)f(using)g
Fy(ncra)f FD(\(see)i(Section)h(4.9)f([ncra)g(netCDF)g(Record)g(Av)m
-(er-)330 4319 y(ager],)i(page)f(197\))199 4451 y(3.)61
+(er-)330 4319 y(ager],)i(page)f(198\))199 4451 y(3.)61
b(Store)28 b(results)f(of)h(eac)m(h)h(mo)s(del)e(as)h(a)g(distinct)g
(group)f(in)g(a)h(single)g(output)f(\014le)h(using)f
Fy(ncecat)f FD(\(see)330 4560 y(Section)31 b(4.10)h([ncrcat)f(netCDF)g
-(Record)g(Concatenator],)h(page)g(199\))g(with)e(the)g
+(Record)g(Concatenator],)h(page)g(200\))g(with)e(the)g
Fy(--gag)f FD(option)275 4742 y(The)g(\014rst)h(example)h(sho)m(ws)f
(ho)m(w)h(to)g(pro)s(cess)f(\015at)g(\014les.)390 4902
y Fy(#!/bin/bash)390 5121 y(#=======================)o(====)o(====)o
@@ -51009,7 +51129,7 @@ y Fy(#!/bin/bash)390 5121 y(#=======================)o(====)o(====)o
(globally)p eop end
%%Page: 224 230
TeXDict begin 224 229 bop 150 -116 a FD(224)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)390 299 y Fy(#)390 408 y(#)47
+b(4.4.6)k(User)d(Guide)390 299 y Fy(#)390 408 y(#)47
b(Input)g(files)f(like:)390 518 y(#)h(/data/cmip5/snc_LImon_bcc-)o
(csm1)o(-1_)o(hist)o(oric)o(al_)o(r1i1)o(p1_1)o(850)o(01-2)o(0051)o
(2.n)o(c)390 628 y(#)390 737 y(#)g(Output)g(files)f(like:)390
@@ -51102,7 +51222,7 @@ y(tm-avg.nc)p FD(,)42 b(sub-groups)f(with)g(a)i(su\016x)e(of)h(`a)m
end
%%Page: 226 232
TeXDict begin 226 231 bop 150 -116 a FD(226)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y FB(7.3)68 b(Ann)l(ual)45
+b FD(4.4.6)j(User)d(Guide)150 299 y FB(7.3)68 b(Ann)l(ual)45
b(Av)l(erage)h(o)l(v)l(er)f(Regions)150 3003 y @beginspecial
22 @llx 118 @lly 589 @urx 685 @ury 2880 @rwi @setspecial
%%BeginDocument: xmp/fgr2.eps
@@ -55685,13 +55805,13 @@ b(Av)m(erage)j(o)m(v)m(er)e(Regions.)150 3436 y(This)i(section)j
FD(\(see)j(Section)f(4.1)h([ncap2)f(netCDF)g(Arithmetic)g(Pro)s
(cessor],)330 3819 y(page)31 b(104\))h(and)e Fy(ncwa)f
FD(\(see)i(Section)h(4.12)g([ncw)m(a)f(netCDF)g(W)-8
-b(eigh)m(ted)32 b(Av)m(erager],)g(page)g(205\);)199 3958
+b(eigh)m(ted)32 b(Av)m(erager],)g(page)g(206\);)199 3958
y(2.)61 b(Change)27 b(dimension)g(order)f(using)h Fy(ncpdq)f
FD(\(see)i(Section)g(4.8)g([ncp)s(dq)e(netCDF)h(P)m(erm)m(ute)h(Dimen-)
-330 4068 y(sions)i(Quic)m(kly],)i(page)f(189\);)199 4207
+330 4068 y(sions)i(Quic)m(kly],)i(page)f(190\);)199 4207
y(3.)61 b(Ann)m(ual)25 b(a)m(v)m(erage)i(using)e Fy(ncra)e
FD(\(see)j(Section)g(4.9)g([ncra)f(netCDF)g(Record)g(Av)m(erager],)j
-(page)e(197\);)199 4346 y(4.)61 b(Anomaly)40 b(from)g(long-term)h(a)m
+(page)e(198\);)199 4346 y(4.)61 b(Anomaly)40 b(from)g(long-term)h(a)m
(v)m(erage)h(using)e Fy(ncbo)e FD(\(see)j(Section)g(4.3)g([ncb)s(o)e
(netCDF)i(Binary)330 4455 y(Op)s(erator],)30 b(page)i(162\);)199
4594 y(5.)61 b(Standard)51 b(deviation)i(using)e Fy(ncbo)g
@@ -55700,7 +55820,7 @@ FD(\(see)i(Section)g(4.3)g([ncb)s(o)e(netCDF)i(Binary)f(Op)s(erator],)
([nces)g(netCDF)g(Ensem)m(ble)f(Statistics],)j(page)e(167\);)199
4843 y(6.)61 b(Rename)48 b(v)-5 b(ariables)49 b(using)f
Fy(ncrename)e FD(\(see)j(Section)g(4.11)g([ncrename)g(netCDF)f
-(Renamer],)330 4953 y(page)31 b(201\);)199 5091 y(7.)61
+(Renamer],)330 4953 y(page)31 b(202\);)199 5091 y(7.)61
b(Edit)36 b(attributions)g(using)f Fy(ncatted)f FD(\(see)i(Section)h
(4.2)g([ncatted)f(netCDF)h(A)m(ttribute)f(Editor],)330
5201 y(page)31 b(156\);)199 5340 y(8.)61 b(Linear)33
@@ -55756,7 +55876,7 @@ b(sort;)47 b(uniq)f([remove)g(duplicates];)f(awk)i([print]\))485
eop end
%%Page: 228 234
TeXDict begin 228 233 bop 150 -116 a FD(228)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)485 299 y Fy(for)47 b(mdl)g(in)g(${mdl_set};)e
+b(4.4.6)k(User)d(Guide)485 299 y Fy(for)47 b(mdl)g(in)g(${mdl_set};)e
(do)1288 b(#)48 b(Loop)e(over)h(models)772 408 y(#)g(Loop)g(over)g
(ensemble)e(members)581 518 y(for)i(fn)g(in)g($\()g(ls)h
(${drc_in}${var[var_id]})o(_${)o(rlm})o(_${m)o(dl})o(_${x)o(pt[0)o(]}_)
@@ -55855,7 +55975,7 @@ b(\\)676 5340 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o
(]}_$)o({rlm)o(}_$)o({mdl)o(}_\\)p eop end
%%Page: 230 236
TeXDict begin 230 235 bop 150 -116 a FD(230)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)676 299 y Fy(${xpt[0]}_all-nsm_anm_rgr.)o(nc)41
+b(4.4.6)k(User)d(Guide)676 299 y Fy(${xpt[0]}_all-nsm_anm_rgr.)o(nc)41
b(\\)676 408 y(${drc_out}${fld_out[var_id)o(]}$)o({var)o([var)o(_id)o
(]}_$)o({mdl)o(}.n)o(c)581 518 y(#-----------------------)o(----)o(---)
o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)581
@@ -55949,7 +56069,7 @@ b(bash)47 b(ann_avg_grp.sh)390 4244 y(#=======================)o(====)o
5340 y(${drc}${pfx}_${tms}.nc)d(\\)p eop end
%%Page: 232 238
TeXDict begin 232 237 bop 150 -116 a FD(232)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)485 299 y Fy(${drc}${pfx}_${tms}_grl.nc)390
+b FD(4.4.6)j(User)d(Guide)485 299 y Fy(${drc}${pfx}_${tms}_grl.nc)390
408 y(#)47 b(Tibet)390 518 y(ncwa)g(-O)g(-w)g(gw)g(-d)g(lat,30.0,40.0)e
(-d)i(lon,80.0,100.0)d(-a)j(lat,lon)f(\\)485 628 y
(${drc}${pfx}_${tms}.nc)c(\\)485 737 y(${drc}${pfx}_${tms}_tbt.nc)390
@@ -57474,7 +57594,7 @@ b(Execute)f(this)h(script:)93 b(bash)47 b(mcc.sh)390
(===)o(====)o(====)o(===)o(====)p eop end
%%Page: 234 240
TeXDict begin 234 239 bop 150 -116 a FD(234)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)390 408 y Fy(#-----------------------)o(----)o
+b(4.4.6)k(User)d(Guide)390 408 y Fy(#-----------------------)o(----)o
(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)390
518 y(#)47 b(Parameters)390 628 y(drc_in='/home/wenshanw/d)o(ata/)o
(cmip)o(5/')614 b(#)47 b(Directory)f(of)h(input)f(files)390
@@ -57576,7 +57696,7 @@ Fy(ncbo)p FD(,)g(the)g(script)h(will)f(b)s(e)g(shortened.)390
5340 y Fy(#!/bin/bash)p eop end
%%Page: 236 242
TeXDict begin 236 241 bop 150 -116 a FD(236)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 408 y Fy(#=======================)o(====)
+b FD(4.4.6)j(User)d(Guide)390 408 y Fy(#=======================)o(====)
o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)390
518 y(#)47 b(Monthly)f(cycle)h(of)g(each)f(ensemble)g(member)g(in)h
(Greenland)390 628 y(#)390 737 y(#)g(Input)g(file)f(from)h
@@ -57623,7 +57743,7 @@ b(Regrid)22 b(using)f(bilinear)g(in)m(terp)s(olation)i(\(see)f(Section)
h(4.1.18)g([Bilinear)g(in)m(terp)s(olation],)i(page)d(132\))199
451 y(2.)61 b(Rename)27 b(v)-5 b(ariables,)28 b(dimensions)d(and)h
(attributions)h(using)e Fy(ncrename)f FD(\(see)k(Section)f(4.11)h
-([ncre-)330 560 y(name)i(netCDF)h(Renamer],)g(page)g(201\).)275
+([ncre-)330 560 y(name)i(netCDF)h(Renamer],)g(page)g(202\).)275
780 y Fq(Main)f(Script)390 956 y Fy(#!/bin/bash)390 1066
y(#)47 b(include)f(bi_interp.nco)390 1285 y(#=======================)o
(====)o(====)o(===)o(====)o(====)o(===)o(====)o(====)o(===)o(====)o
@@ -57669,7 +57789,7 @@ f(-v)h(latn,lat)e(-v)j(lonn,lon)d(\\)581 4902 y(-v)i
5340 y(done)p eop end
%%Page: 238 244
TeXDict begin 238 243 bop 150 -116 a FD(238)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)275 299 y Fq(bi)p 357 299 28 5
+b(4.4.6)k(User)d(Guide)275 299 y Fq(bi)p 357 299 28 5
v 39 w(in)m(terp.nco)390 518 y Fy(//)47 b(Bilinear)f(interpolation)390
628 y(//)h(Included)f(by)h(rgr.sh)390 737 y(//)g(Online:)94
b(http://nco.sourceforge.)o(net/)o(nco.)o(htm)o(l#Re)o(grid)o(-MO)o
@@ -57797,7 +57917,7 @@ g(bi_interp.nco\):)92 b(the)47 b(spatial)f(resolution)f(of)i(MODIS)f
(data)p eop end
%%Page: 240 246
TeXDict begin 240 245 bop 150 -116 a FD(240)2565 b(NCO)29
-b(4.4.5)k(User)d(Guide)390 299 y Fy(#)716 b(is)47 b(much)f(finer)h
+b(4.4.6)k(User)d(Guide)390 299 y Fy(#)716 b(is)47 b(much)f(finer)h
(than)f(those)h(of)g(CMIP5)f(models.)94 b(In)47 b(order)f(to)i(compare)
390 408 y(#)716 b(the)47 b(two,)f(we)h(can)g(regrid)f(MODIS)h(data)f
(to)i(comform)d(to)j(CMIP5.)390 518 y(#)334 b(-)47 b(add)g(coordinates)
@@ -57953,7 +58073,7 @@ y(Our)h(goal)g(is)g(to)g(create)f(a)h(single)g(file)f(containing)f(12)i
(smaller,)f(local)g(directory.)p eop end
%%Page: 246 252
TeXDict begin 246 251 bop 150 -116 a FD(246)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 408 y Fy(caseid='T42x1_40')390
+b FD(4.4.6)j(User)d(Guide)390 408 y Fy(caseid='T42x1_40')390
518 y(#drc_in="${DATA}/archive)o(/${c)o(asei)o(d}/)o(atm")390
628 y(drc_in="${DATA}/${caseid)o(}")390 737 y(drc_out="${DATA}/${casei)
o(d}")390 847 y(mkdir)46 b(-p)i(${drc_out})390 956 y(cd)f(${drc_out})
@@ -58035,7 +58155,7 @@ d(monthly)i(means)390 4902 y(for)h(mth)g(in)g({1..12};)f(do)485
eop end
%%Page: 248 254
TeXDict begin 248 253 bop 150 -116 a FD(248)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 408 y Fy(Method)46 b(2:)h(Create)f(dpm)h
+b FD(4.4.6)j(User)d(Guide)390 408 y Fy(Method)46 b(2:)h(Create)f(dpm)h
(by)g(aggregating)e(small)i(files)390 518 y(for)g(mth)g(in)g({1..12};)f
(do)485 628 y(mm=`printf)f("\04502d")i(${mth}`)485 737
y(ncap2)g(-O)g(-v)g(-s)g("dpm=${dpm[${mth}]}")c(~/nco/data/in.nc)g(\\)
@@ -58127,7 +58247,7 @@ b(Average)f(surface)g(air)h(temperature)e(tas)i(for)g(SRESA1B)e
(giss_model_e_h)d(giss_model_e_r)h(\\)p eop end
%%Page: 250 256
TeXDict begin 250 255 bop 150 -116 a FD(250)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)390 299 y Fy(iap_fgoals1_0_g)44
+b FD(4.4.6)j(User)d(Guide)390 299 y Fy(iap_fgoals1_0_g)44
b(inmcm3_0)h(ipsl_cm4)h(miroc3_2_hires)e(miroc3_2_medres)f(\\)390
408 y(miub_echo_g)i(mpi_echam5)g(mri_cgcm2_3_2a)f(ncar_ccsm3_0)g
(ncar_pcm1)h(\\)390 518 y(ukmo_hadcm3)g(ukmo_hadgem1';)f(do)390
@@ -58330,3612 +58450,3648 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
34 b Fs(35)150 4022 y Fr(--4)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)34 b Fs(35)150 4110 y Fr(--6)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+(:)34 b Fs(35)150 4110 y Fr(--5)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)34 b Fs(35)150 4197 y Fr(--64bit)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(35)150 4285 y Fr(--7)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)g(:)34 b Fs(35)150 4197 y Fr(--6)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)34 b Fs(35)150 4285 y Fr(--64bit)15 b Fa(:)f(:)f(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
+b Fs(35)150 4373 y Fr(--7)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fs(35)150 4373 y Fr(--abc)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(35)150 4461 y Fr(--abc)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(177)150 4461 y Fr(--alphabetize)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)
+b Fs(177)150 4549 y Fr(--alphabetize)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(177)150 4549 y Fr(--apn)13
+(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(177)150 4637 y Fr(--apn)13
b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fs(16,)26 b(97,)h(186)150 4637 y Fr(--append)e Fa(:)13
+b Fs(16,)26 b(97,)h(186)150 4725 y Fr(--append)e Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fs(16,)26
-b(97,)h(186)150 4725 y Fr(--auxiliary)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+b(97,)h(186)150 4813 y Fr(--auxiliary)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(64)150
-4813 y Fr(--auxiliary)28 b Fh(lon_min)p Fr(,)p Fh(lon_max)p
-Fr(,)p Fh(lat_min)p Fr(,)p Fh(lat_m)q(ax)310 4900 y Fa(:)14
+4901 y Fr(--auxiliary)28 b Fh(lon_min)p Fr(,)p Fh(lon_max)p
+Fr(,)p Fh(lat_min)p Fr(,)p Fh(lat_m)q(ax)310 4988 y Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fs(64)150 4988 y Fr(--bfr_sz_hnt)22
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fs(64)150 5076 y Fr(--bfr_sz_hnt)22
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fs(79)150 5076 y Fr(--binary)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
+b Fs(79)150 5164 y Fr(--binary)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b
-Fs(177)150 5164 y Fr(--bnr)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+Fs(177)150 5252 y Fr(--bnr)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(177)150 5252 y Fr(--cdl)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
+b Fs(177)150 5340 y Fr(--cdl)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(178)150 5340 y Fr(--cell_methods)12 b Fa(:)k(:)d(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)38 b Fs(100)2025 610 y Fr(--chunk_byte)21
+b Fs(178)2025 610 y Fr(--cell_methods)12 b Fa(:)k(:)d(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(100)2025 698 y Fr(--chunk_byte)21
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(72)2025 698 y Fr(--chunk_dimension)6 b Fa(:)17 b(:)c(:)g(:)g(:)g
+b Fs(72)2025 785 y Fr(--chunk_dimension)6 b Fa(:)17 b(:)c(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)33 b Fs(72)2025 785 y Fr(--chunk_map)24
+g(:)g(:)g(:)g(:)g(:)33 b Fs(72)2025 873 y Fr(--chunk_map)24
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fs(72)2025 873 y Fr(--chunk_policy)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h
+48 b Fs(72)2025 961 y Fr(--chunk_policy)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(72)2025 961 y Fr(--chunk_scalar)14
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(72)2025 1048 y Fr(--chunk_scalar)14
b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(72)2025 1048 y Fr(--cll_mth)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
+b Fs(72)2025 1136 y Fr(--cll_mth)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(100)2025
-1136 y Fr(--cnk_byt)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+1224 y Fr(--cnk_byt)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1224
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1311
y Fr(--cnk_dmn)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1311 y
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1399 y
Fr(--cnk_map)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1399 y Fr(--cnk_map)27
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025 1486 y Fr(--cnk_map)27
b Fh(cnk_map)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39
-b Fs(74)2025 1486 y Fr(--cnk_plc)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
+b Fs(74)2025 1574 y Fr(--cnk_plc)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fs(72)2025 1574 y Fr(--cnk_scl)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)
+Fs(72)2025 1662 y Fr(--cnk_scl)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(72)2025
-1662 y Fr(--coords)16 b Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+1749 y Fr(--coords)16 b Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)43 b Fs(45,)27 b(100)2025 1749 y Fr(--crd)7
+f(:)g(:)g(:)g(:)43 b Fs(45,)27 b(100)2025 1837 y Fr(--crd)7
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)34 b Fs(45,)27 b(100)2025 1837 y Fr(--create_ram)8
+g(:)g(:)g(:)34 b Fs(45,)27 b(100)2025 1925 y Fr(--create_ram)8
b Fa(:)16 b(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fs(16,)27 b(79)2025 1925 y Fr(--data)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g
+b Fs(16,)27 b(80)2025 2012 y Fr(--data)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fs(179)2025 2012 y Fr(--dbg_lvl)27 b Fh(debug-level)16
+b Fs(179)2025 2100 y Fr(--dbg_lvl)27 b Fh(debug-level)16
b Fa(:)g(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(13,)26 b(22,)h(27)2025 2100 y Fr(--dbl)21 b Fa(:)13
+b Fs(14,)26 b(22,)h(27)2025 2187 y Fr(--dbl)21 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)46 b Fs(90)2025 2187 y Fr(--debug-level)28
+g(:)g(:)h(:)f(:)g(:)46 b Fs(91)2025 2275 y Fr(--debug-level)28
b Fh(debug-level)16 b Fa(:)g(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)42 b Fs(13,)27 b(22)2025 2275 y Fr(--deflate)9
+g(:)h(:)f(:)42 b Fs(14,)27 b(22)2025 2363 y Fr(--deflate)9
b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)36 b Fs(77)2025 2363 y Fr(--dfl_lvl)9 b Fa(:)15
+f(:)g(:)g(:)36 b Fs(77)2025 2450 y Fr(--dfl_lvl)9 b Fa(:)15
b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)36 b Fs(77)2025 2450 y Fr(--dimension)2178 2537 y
+g(:)36 b Fs(77)2025 2538 y Fr(--dimension)2178 2625 y
Fh(dim)p Fr(,[)p Fh(min)p Fr(],[)p Fh(max)p Fr(],[)p
Fh(stride)p Fr(],[)p Fh(su)q(bcyc)q(le)p Fr(])26 b Fa(:)13
-b(:)47 b Fs(59)2025 2625 y Fr(--dimension)28 b Fh(dim)p
+b(:)47 b Fs(59)2025 2713 y Fr(--dimension)28 b Fh(dim)p
Fr(,[)p Fh(min)p Fr(],[)p Fh(max)p Fr(],)p Fh(stride)e
-Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(56)2025 2713
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(57)2025 2800
y Fr(--dimension)28 b Fh(dim)p Fr(,[)p Fh(min)p Fr(][,[)p
-Fh(max)p Fr(][,[)p Fh(stride)p Fr(]]])2187 2800 y Fa(:)13
+Fh(max)p Fr(][,[)p Fh(stride)p Fr(]]])2187 2887 y Fa(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36
-b Fs(55,)27 b(60,)f(63,)h(66)2025 2887 y Fr(--diskless_all)c
+b Fs(55,)27 b(60,)f(63,)h(66)2025 2975 y Fr(--diskless_all)c
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(22,)27
-b(79)2025 2975 y Fr(--dmn)f Fh(dim)p Fr(,[)p Fh(min)p
+b(80)2025 3063 y Fr(--dmn)f Fh(dim)p Fr(,[)p Fh(min)p
Fr(],[)p Fh(max)p Fr(],[)p Fh(stride)p Fr(],)p Fh(su)q(bcyc)q(le)p
-Fr(])2185 3062 y Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+Fr(])2185 3150 y Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33
-b Fs(59)2025 3150 y Fr(--dmn)26 b Fh(dim)p Fr(,[)p Fh(min)p
+b Fs(59)2025 3238 y Fr(--dmn)26 b Fh(dim)p Fr(,[)p Fh(min)p
Fr(],[)p Fh(max)p Fr(],)p Fh(stride)f Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(56)2025 3238 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(57)2025 3325 y
Fr(--dmn)26 b Fh(dim)p Fr(,[)p Fh(min)p Fr(][,[)p Fh(max)p
Fr(][,[)p Fh(stride)p Fr(]])q(])17 b Fa(:)i(:)13 b(:)g(:)43
-b Fs(55,)27 b(60,)2178 3325 y(63,)g(66)2025 3412 y Fr(--ensemble_file)9
+b Fs(55,)27 b(60,)2178 3412 y(63,)g(66)2025 3500 y Fr(--ensemble_file)9
b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fs(167)2025 3500 y Fr(--ensemble_group)7 b Fa(:)16
+b Fs(167)2025 3588 y Fr(--ensemble_group)7 b Fa(:)16
b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(167)2025
-3588 y Fr(--ensemble_suffix)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+3675 y Fr(--ensemble_suffix)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-48 b Fs(167)2025 3675 y Fr(--exclude)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)
+48 b Fs(167)2025 3763 y Fr(--exclude)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(40,)27 b(186)2025
-3763 y Fr(--file_format)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+3850 y Fr(--file_format)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)43 b Fs(35)2025 3850 y Fr(--file_list)24
+f(:)g(:)g(:)g(:)43 b Fs(35)2025 3938 y Fr(--file_list)24
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fs(97)2025 3938 y Fr(--fix_rec_dmn)28 b(all)13 b
+48 b Fs(98)2025 4026 y Fr(--fix_rec_dmn)28 b(all)13 b
Fa(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(39)2025
-4026 y Fr(--fix_rec_dmn)28 b Fh(dim)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f
+4113 y Fr(--fix_rec_dmn)28 b Fh(dim)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)38 b Fs(178)2025 4113 y Fr(--fl_bnr)10 b Fa(:)15
+g(:)g(:)38 b Fs(178)2025 4201 y Fr(--fl_bnr)10 b Fa(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)37 b Fs(177)2025 4201 y Fr(--fl_fmt)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g
+g(:)37 b Fs(177)2025 4289 y Fr(--fl_fmt)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(35)2025 4289 y Fr(--fl_lst_in)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fs(35)2025 4376 y Fr(--fl_lst_in)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(97)2025
-4376 y Fr(--fl_out)27 b Fh(fl_out)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)h
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(98)2025
+4464 y Fr(--fl_out)27 b Fh(fl_out)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)45 b Fs(30)2025 4464 y Fr(--fl_spt)10
+g(:)g(:)g(:)g(:)g(:)45 b Fs(30)2025 4551 y Fr(--fl_spt)10
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)37 b Fs(104)2025 4551 y Fr(--flt)21 b Fa(:)13
+g(:)g(:)g(:)37 b Fs(104)2025 4639 y Fr(--flt)21 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)46 b Fs(90)2025 4639 y Fr(--fnc_tbl)7
+g(:)g(:)h(:)f(:)g(:)46 b Fs(91)2025 4727 y Fr(--fnc_tbl)7
b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)34 b Fs(153)2025 4727 y Fr(--fortran)9 b Fa(:)15
+h(:)f(:)34 b Fs(153)2025 4814 y Fr(--fortran)9 b Fa(:)15
b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)36 b Fs(54)2025 4814 y Fr(--gag)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+g(:)36 b Fs(54)2025 4902 y Fr(--gag)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(171,)27
-b(219)2025 4902 y Fr(--glb_mtd_spp)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g
+b(219)2025 4989 y Fr(--glb_mtd_spp)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(171)2025 4989 y Fr(--gpe)26
+g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(171)2025 5077 y Fr(--gpe)26
b Fh(gpe_dsc)6 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)33 b Fs(46)2025 5077 y Fr(--group)27 b Fh(grp)11
+g(:)g(:)g(:)33 b Fs(46)2025 5165 y Fr(--group)27 b Fh(grp)11
b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)38 b Fs(40)2025 5165 y Fr(--grp)26 b Fh(grp)16 b Fa(:)f(:)e(:)g(:)g
+(:)38 b Fs(40)2025 5252 y Fr(--grp)26 b Fh(grp)16 b Fa(:)f(:)e(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43
-b Fs(40)2025 5252 y Fr(--grp_xtr_var_xcl)6 b Fa(:)17
+b Fs(40)2025 5340 y Fr(--grp_xtr_var_xcl)6 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fs(40)2025
-5340 y Fr(--gxvx)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(40)p
-eop end
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fs(40)p eop
+end
%%Page: 256 262
TeXDict begin 256 261 bop 150 -116 a FD(256)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fr(--hdf_unpack)22
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fs(81)150 387 y Fr(--hdf_upk)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)
+b FD(4.4.6)j(User)d(Guide)150 299 y Fr(--gxvx)17 b Fa(:)e(:)e(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)43 b Fs(40)150 387 y Fr(--hdf_unpack)22 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fs(81)150 476 y Fr(--hdf_upk)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(81)150
-476 y(`)p Fr(--hdf4)p Fs(')13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+564 y(`)p Fr(--hdf4)p Fs(')13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b
-Fs(11)150 564 y Fr(--hdn)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fs(11)150 653 y Fr(--hdn)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(178)150 653 y Fr(--hdr_pad)28 b Fh(hdr_pad)13 b
+b Fs(178)150 741 y Fr(--hdr_pad)28 b Fh(hdr_pad)13 b
Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(25)150
-741 y Fr(--header_pad)28 b Fh(hdr_pad)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+830 y Fr(--header_pad)28 b Fh(hdr_pad)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fs(25)150 830 y Fr(--hidden)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
+49 b Fs(25)150 918 y Fr(--hidden)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b
-Fs(178)150 918 y Fr(--hieronymus)17 b Fa(:)f(:)d(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(179)150 1006 y Fr(--history)9
+Fs(178)150 1006 y Fr(--hieronymus)17 b Fa(:)f(:)d(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(179)150 1095 y Fr(--history)9
b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)36 b Fs(97)150 1095 y Fr(--hst)21 b Fa(:)13
+g(:)g(:)g(:)36 b Fs(97)150 1183 y Fr(--hst)21 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)46 b Fs(97)150 1183 y Fr(--intersection)14
+h(:)f(:)g(:)g(:)g(:)46 b Fs(97)150 1272 y Fr(--intersection)14
b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fs(42)150 1272 y Fr(--lcl)27 b Fh(output-path)13 b
+b Fs(42)150 1360 y Fr(--lcl)27 b Fh(output-path)13 b
Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(30)150
-1360 y Fr(--local)27 b Fh(output-path)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g
+1449 y Fr(--local)27 b Fh(output-path)8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)34 b Fs(30)150 1449 y Fr(--map)27 b Fh(cnk_map)6
+f(:)g(:)34 b Fs(30)150 1537 y Fr(--map)27 b Fh(cnk_map)6
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32
-b Fs(74)150 1537 y Fr(--map)27 b Fh(pck_map)22 b Fa(:)13
+b Fs(74)150 1625 y Fr(--map)27 b Fh(pck_map)22 b Fa(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
-b Fs(190)150 1625 y Fr(--mask-value)28 b Fh(mask_val)18
+b Fs(191)150 1714 y Fr(--mask-value)28 b Fh(mask_val)18
b Fa(:)d(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)44 b Fs(206)150 1714 y Fr(--mask-variable)29
+g(:)g(:)g(:)g(:)h(:)44 b Fs(207)150 1802 y Fr(--mask-variable)29
b Fh(mask_var)10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(205)150 1802 y Fr
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(206)150 1891 y Fr
(--mask_comparator)29 b Fh(mask_comp)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(206)150 1891
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(207)150 1979
y Fr(--mask_condition)29 b Fh(mask_cond)9 b Fa(:)16 b(:)d(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(205,)27 b(206)150
-1979 y Fr(--mask_value)h Fh(mask_val)18 b Fa(:)d(:)e(:)g(:)g(:)h(:)f(:)
+(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(206,)27 b(207)150
+2068 y Fr(--mask_value)h Fh(mask_val)18 b Fa(:)d(:)e(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(206)150 2068 y Fr(--mask_variable)29 b Fh(mask_var)10
+b Fs(207)150 2156 y Fr(--mask_variable)29 b Fh(mask_var)10
b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)37 b Fs(205)150 2156 y Fr(--md5_dgs)9 b Fa(:)16
+(:)g(:)g(:)37 b Fs(206)150 2245 y Fr(--md5_dgs)9 b Fa(:)16
b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)36 b Fs(77)150 2245 y Fr(--md5_digest)22 b Fa(:)13
+g(:)36 b Fs(78)150 2333 y Fr(--md5_digest)22 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fs(77)150 2333 y Fr(--md5_write_attribute)13 b Fa(:)18
+b Fs(78)150 2421 y Fr(--md5_write_attribute)13 b Fa(:)18
b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)39 b Fs(77)150 2421 y Fr(--md5_wrt_att)16
+g(:)g(:)g(:)h(:)f(:)39 b Fs(78)150 2510 y Fr(--md5_wrt_att)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(77)150 2510 y Fr(--metadata)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(78)150 2598 y Fr(--metadata)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(181)150 2598
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(181)150 2687
y Fr(--Metadata)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)49 b Fs(180)150 2687 y Fr(--mk_rec_dmn)28
+g(:)g(:)g(:)g(:)g(:)49 b Fs(180)150 2775 y Fr(--mk_rec_dmn)28
b Fh(dim)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(172,)27 b(179)150
-2775 y Fr(--mrd)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+2864 y Fr(--mrd)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b
-Fs(70)150 2864 y Fr(--mro)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fs(70)150 2952 y Fr(--mro)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fs(59)150 2952 y Fr(--msa)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(59)150 3041 y Fr(--msa)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fs(60)150 3041 y Fr(--msa_user_order)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
+b Fs(60)150 3129 y Fr(--msa_user_order)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(60)150 3129 y Fr(--msa_usr_rdr)16
+(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(60)150 3217 y Fr(--msa_usr_rdr)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(60)150 3217 y Fr(--msk_cmp_typ)29 b Fh(mask_comp)13
+b Fs(60)150 3306 y Fr(--msk_cmp_typ)29 b Fh(mask_comp)13
b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)39 b Fs(206)150 3306 y Fr(--msk_cnd)28 b
+g(:)h(:)f(:)39 b Fs(207)150 3394 y Fr(--msk_cnd)28 b
Fh(mask_cond)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(205)150
-3394 y Fr(--msk_cnd_sng)29 b Fh(mask_cond)13 b Fa(:)h(:)f(:)h(:)f(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(206)150
+3483 y Fr(--msk_cnd_sng)29 b Fh(mask_cond)13 b Fa(:)h(:)f(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(206)150 3483 y Fr(--msk_nm)27 b Fh(mask_var)11 b
+b Fs(207)150 3571 y Fr(--msk_nm)27 b Fh(mask_var)11 b
Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(205)150
-3571 y Fr(--msk_val)28 b Fh(mask_val)8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(206)150
+3660 y Fr(--msk_val)28 b Fh(mask_val)8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)35 b Fs(206)150 3660 y Fr(--msk_var)28 b Fh(mask_var)8
+g(:)g(:)35 b Fs(207)150 3748 y Fr(--msk_var)28 b Fh(mask_var)8
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(205)150
-3748 y Fr(--mtd)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(206)150
+3836 y Fr(--mtd)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(181)150
-3836 y Fr(--Mtd)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+3925 y Fr(--Mtd)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(180)150
-3925 y Fr(--multiple_record_dimensions)13 b Fa(:)19 b(:)13
+4013 y Fr(--multiple_record_dimensions)13 b Fa(:)19 b(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(70)150 4013 y Fr(--ncml)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
+b Fs(70)150 4102 y Fr(--ncml)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fs(182)150 4102 y Fr(--netcdf4)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+b Fs(182)150 4190 y Fr(--netcdf4)9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b
-Fs(35)150 4190 y Fr(--nintap)27 b Fh(loop)6 b Fa(:)15
+Fs(35)150 4279 y Fr(--nintap)27 b Fh(loop)6 b Fa(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32
-b Fs(28)150 4279 y Fr(--no-blank)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(28)150 4367 y Fr(--no-blank)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(181)150 4367
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(181)150 4456
y Fr(--no-coords)9 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)35 b Fs(45,)27 b(100)150 4456 y Fr(--no-crd)16 b
+g(:)35 b Fs(45,)27 b(100)150 4544 y Fr(--no-crd)16 b
Fa(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(45,)27 b(100)150 4544 y Fr(--no_blank)d Fa(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(181)150 4632 y Fr(--no_cell_methods)25 b Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(100)150 4721 y
-Fr(--no_cll_mth)17 b Fa(:)f(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)43 b Fs(100)150 4809 y Fr(--no_rec_dmn)28 b Fh(dim)13
-b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(178)150
-4898 y Fr(--no_tmp_fl)11 b Fa(:)k(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)38 b Fs(16,)26 b(81)150 4986 y Fr(--noblank)7
-b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+b Fs(45,)27 b(100)150 4632 y Fr(--no_blank)9 b Fa(:)15
+b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fs(181,)27
+b(187)150 4721 y Fr(--no_cell_methods)e Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)48 b Fs(100)150 4809 y Fr(--no_cll_mth)17 b Fa(:)f(:)d(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(100)150
+4898 y Fr(--no_dmn_var_nm)13 b Fa(:)k(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40
+b Fs(182,)27 b(187)150 4986 y Fr(--no_nm_prn)7 b Fa(:)15
+b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fs(182,)27
+b(187)150 5075 y Fr(--no_rec_dmn)h Fh(dim)13 b Fa(:)i(:)e(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)40 b Fs(178)150 5163 y Fr(--no_tmp_fl)11
+b Fa(:)k(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
+b Fs(16,)26 b(81)150 5252 y Fr(--noblank)7 b Fa(:)16
+b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+34 b Fs(181)150 5340 y Fr(--nsm_fl)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)34 b Fs(181)150 5075 y Fr(--nsm_fl)10 b Fa(:)15
-b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
+b Fs(167)2025 299 y Fr(--nsm_grp)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)37 b Fs(167)150 5163 y Fr(--nsm_grp)7 b Fa(:)16 b(:)d(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fs(167)150 5252 y Fr(--nsm_sfx)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(167)150
-5340 y Fr(--nsx)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(167)2025
+387 y Fr(--nsm_sfx)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(167)2025 476 y
+Fr(--nsx)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b
-Fs(42)2025 299 y Fr(--omp_num_threads)29 b Fh(thr_nbr)10
-b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)36 b Fs(25)2025 387 y Fr(--op_rlt)27 b Fh(mask_comp)8
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(42)2025
+564 y Fr(--omp_num_threads)29 b Fh(thr_nbr)10 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)36 b Fs(25)2025 653 y Fr(--op_rlt)27 b Fh(mask_comp)8
b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(206)2025
-476 y Fr(--op_typ)27 b Fh(op_typ)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(207)2025
+741 y Fr(--op_typ)27 b Fh(op_typ)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Fs(83,)27 b(162)2025 564 y Fr(--open_ram)22 b Fa(:)13
+b Fs(84,)27 b(162)2025 830 y Fr(--open_ram)22 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47 b Fs(16,)26
-b(22,)h(79)2025 653 y Fr(--operation)h Fh(op_typ)15 b
+b(22,)h(80)2025 918 y Fr(--operation)h Fh(op_typ)15 b
Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)41 b Fs(83,)27 b(162)2025 741 y Fr
+(:)g(:)g(:)h(:)f(:)41 b Fs(84,)27 b(162)2025 1006 y Fr
(--orphan_dimensions)16 b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fs(182)2025 830 y Fr(--output)27 b Fh(fl_out)18 b Fa(:)d(:)e(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(30)2025 918 y
-Fr(--overwrite)11 b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)37 b Fs(16,)27 b(97)2025 1006 y Fr(--ovr)9 b Fa(:)14
-b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)35 b Fs(16,)27 b(97)2025 1095 y Fr(--pack_policy)h
-Fh(pck_plc)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(189)2025 1183
-y Fr(--path)27 b Fh(input-path)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
-b Fs(28,)27 b(30)2025 1272 y Fr(--pck_map)g Fh(pck_map)11
+b Fs(182)2025 1095 y Fr(--output)27 b Fh(fl_out)18 b
+Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fs(30)2025 1183 y Fr(--overwrite)11 b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)37 b Fs(16,)27 b(97)2025 1272
+y Fr(--ovr)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(16,)27 b(97)2025
+1360 y Fr(--pack_policy)h Fh(pck_plc)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fs(190)2025 1449 y Fr(--path)27 b Fh(input-path)21
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(28,)27 b(30)2025
+1537 y Fr(--pck_map)g Fh(pck_map)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)38 b Fs(191)2025 1625 y Fr(--pck_plc)27 b Fh(pck_plc)11
b Fa(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(190)2025
-1360 y Fr(--pck_plc)27 b Fh(pck_plc)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)38 b Fs(189)2025 1449 y Fr(--print)12 b Fa(:)j(:)e(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(181)2025 1537 y Fr(--prn)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(181)2025 1625 y Fr(--prn_fnc_tbl)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(153)2025 1714 y Fr(--pseudonym)7
+1714 y Fr(--print)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(181)2025
+1802 y Fr(--prn)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(181)2025
+1891 y Fr(--prn_fnc_tbl)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)41 b Fs(153)2025 1979 y Fr(--pseudonym)7
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)34 b Fs(8)2025 1802 y Fr(--pth)26 b Fh(input-path)f
+g(:)g(:)34 b Fs(8)2025 2068 y Fr(--pth)26 b Fh(input-path)f
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fs(28,)27 b(30)2025
-1891 y Fr(--quiet)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(182)2025
-1979 y Fr(--rad)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(182)2025
-2068 y Fr(--ram_all)16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)42 b Fs(22,)27 b(79)2025 2156 y(`)p Fr(--rcd_nm)h
-Fh(ulm_nm)p Fs(')12 b Fa(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(170)2025 2245 y Fr(--rec_apn)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
+2156 y Fr(--quench)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(182)2025
+2245 y Fr(--quiet)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)44 b Fs(182,)27 b(187)2025 2333 y Fr(--rad)18
+b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(182)2025 2421 y Fr(--ram_all)16
+b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42
+b Fs(22,)27 b(80)2025 2510 y(`)p Fr(--rcd_nm)h Fh(ulm_nm)p
+Fs(')12 b Fa(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
+b Fs(170)2025 2598 y Fr(--rec_apn)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fs(58)2025 2333 y Fr(--record_append)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g
+Fs(58)2025 2687 y Fr(--record_append)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(58)2025 2421 y Fr(--retain)12
+h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(58)2025 2775 y Fr(--retain)12
b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)39 b Fs(35)2025 2510 y Fr(--retain_all_dimensions)28
+(:)g(:)g(:)g(:)39 b Fs(35)2025 2864 y Fr(--retain_all_dimensions)28
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)50 b Fs(182)2025 2598 y Fr(--revision)11 b
+(:)g(:)g(:)50 b Fs(182)2025 2952 y Fr(--revision)11 b
Fa(:)k(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fs(13,)27 b(101)2025 2687 y Fr(--rph_dmn)7 b Fa(:)15
+b Fs(14,)27 b(101)2025 3041 y Fr(--rph_dmn)7 b Fa(:)15
b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-34 b Fs(182)2025 2775 y Fr(--rth_dbl)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g
+34 b Fs(182)2025 3129 y Fr(--rth_dbl)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fs(90)2025 2864 y Fr(--rth_flt)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
+b Fs(91)2025 3217 y Fr(--rth_flt)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fs(90)2025 2952 y Fr(--rtn)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+Fs(91)2025 3306 y Fr(--rtn)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(35)2025 3041 y Fr(--script)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fs(104)2025 3129 y Fr(--script-file)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(104)2025 3217 y Fr(--sng_fmt)7
-b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)34 b Fs(182)2025 3306 y Fr(--spt)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(104)2025 3394 y Fr(--string)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g
+b Fs(35)2025 3394 y Fr(--scr)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(182)2025 3483 y Fr(--script)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fs(182)2025 3483 y Fr(--thr_nbr)27 b Fh(thr_nbr)13 b
-Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(25)2025
-3571 y Fr(--threads)27 b Fh(thr_nbr)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g
+Fs(104)2025 3571 y Fr(--script-file)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)39 b Fs(25)2025 3660 y(`)p Fr(--ulm_nm)28
-b Fh(ulm_nm)p Fs(')12 b Fa(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(170)2025 3748 y Fr(--union)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(40,)27
-b(42)2025 3836 y Fr(--units)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(104)2025 3660 y Fr(--secret)10
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)37 b Fs(182)2025 3748 y Fr(--sng_fmt)12 b
+Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
+b Fs(182,)27 b(187)2025 3836 y Fr(--spt)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(104)2025 3925 y Fr(--ssh)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(182)2025 4013 y Fr(--string)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(182,)27 b(187)2025
+4102 y Fr(--thr_nbr)g Fh(thr_nbr)13 b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)39 b Fs(25)2025 4190 y Fr(--threads)27 b Fh(thr_nbr)13
+b Fa(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(25)2025
+4279 y(`)p Fr(--ulm_nm)28 b Fh(ulm_nm)p Fs(')12 b Fa(:)i(:)f(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(170)2025 4367 y Fr(--union)22
+b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)47 b Fs(40,)27 b(42)2025 4456 y Fr(--units)12 b Fa(:)j(:)e(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fs(182)2025 4544 y Fr(--unn)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(182)2025
-3925 y Fr(--unn)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b
+Fs(40,)27 b(42)2025 4632 y Fr(--unpack)10 b Fa(:)15 b(:)e(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fs(191)2025 4721 y Fr(--upk)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(191)2025 4809 y Fr(--var_val)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(40,)27 b(42)2025
-4013 y Fr(--unpack)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(190)2025
-4102 y Fr(--upk)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(190)2025
-4190 y Fr(--variable)28 b Fh(var)8 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)34 b Fs(40,)27 b(186)2025 4279 y Fr(--version)14
-b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fs(13,)27 b(101)2025 4367 y Fr(--vrs)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fs(13,)27 b(101)2025 4456 y Fr(--weight)g Fh(weight)16
-b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b
-Fs(205)2025 4544 y Fr(--weight)27 b Fh(wgt1)p Fr([,)p
-Fh(wgt2)p Fr(])c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(173)2025
-4632 y Fr(--wgt_var)27 b Fh(weight)13 b Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(182,)27 b(187)2025 4898
+y Fr(--variable)h Fh(var)8 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+34 b Fs(40,)27 b(186)2025 4986 y Fr(--version)14 b Fa(:)h(:)e(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)40 b Fs(205)2025 4721 y Fr(--wgt_var)27 b
-Fh(wgt1)p Fr([,)p Fh(wgt2)p Fr(])18 b Fa(:)e(:)d(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fs(173)2025 4809 y Fr(--write_tmp_fl)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(16)2025 4898 y Fr(--wrt_tmp_fl)21
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(16)2025 4986 y Fr(--xcl)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(40,)27
-b(186)2025 5075 y Fr(--xml)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(182)2025 5163 y Fr(--xml_no_location)25 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(183)2025 5252
-y Fr(--xml_spr_chr)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)41 b Fs(183)2025 5340 y Fr(--xml_spr_nmr)14 b
-Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fs(183)p eop end
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(14,)27
+b(101)2025 5075 y Fr(--vrs)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(14,)27
+b(101)2025 5163 y Fr(--weight)g Fh(weight)16 b Fa(:)f(:)e(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)43 b Fs(206)2025 5252 y Fr(--weight)27
+b Fh(wgt1)p Fr([,)p Fh(wgt2)p Fr(])c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
+b Fs(173)2025 5340 y Fr(--wgt_var)27 b Fh(weight)13 b
+Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(206)p
+eop end
%%Page: 257 263
TeXDict begin 257 262 bop 150 -116 a FD(General)31 b(Index)2902
-b(257)150 299 y Fr(-3)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(10,)26 b(35)150 387 y Fr(-4)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(10,)26 b(35)150 474 y Fr(-5)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)35 b Fs(177)150 562 y Fr(-6)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h
+b(257)150 299 y Fr(--wgt_var)28 b Fh(wgt1)p Fr([,)p Fh(wgt2)p
+Fr(])18 b Fa(:)d(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(173)150 387 y Fr(--write_tmp_fl)14
+b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
+b Fs(16)150 476 y Fr(--wrt_tmp_fl)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(16)150 564
+y Fr(--xcl)7 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fs(40,)27 b(186)150 653
+y Fr(--xml)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(182)150 741
+y Fr(--xml_no_location)25 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
+b Fs(183)150 830 y Fr(--xml_spr_chr)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(183)150 918 y Fr(--xml_spr_nmr)14
+b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
+b Fs(183)150 1007 y Fr(-0)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)37 b Fs(55)150 1095 y Fr(-3)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fs(10,)26 b(35)150 1184 y Fr(-4)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fs(10,)26 b(35)150 1272 y Fr(-5)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
+b Fs(35,)27 b(177)150 1360 y Fr(-6)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)37 b Fs(35)150 650 y Fr(-7)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)37 b Fs(35)150 1449 y Fr(-7)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)37 b Fs(35)150 738 y Fr(-a)12 b Fa(:)i(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)37 b Fs(35)150 1537 y Fr(-a)12 b Fa(:)i(:)f(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
-b Fs(177,)27 b(185)150 826 y Fr(-A)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+b Fs(177,)27 b(186)150 1626 y Fr(-A)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b
-Fs(16,)26 b(97,)h(186)150 914 y(`)p Fr(-A)p Fs(')22 b
-Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+Fs(16,)26 b(97,)h(186)150 1714 y(`)p Fr(-A)p Fs(')22
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(193)150 1001
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(194)150 1803
y(`)p Fr(-b)p Fs(')8 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(151,)27
-b(164)150 1089 y Fr(-b)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+b(164)150 1891 y Fr(-b)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(177)150 1177 y Fr(-B)26 b Fh(mask_cond)11 b Fa(:)k(:)e(:)g(:)g(:)h
+b Fs(177)150 1980 y Fr(-B)26 b Fh(mask_cond)11 b Fa(:)k(:)e(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)38 b Fs(205,)27 b(206)150 1265 y
+g(:)g(:)g(:)g(:)g(:)38 b Fs(206,)27 b(207)150 2068 y
Fr(-c)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(45,)27 b(100)150
-1353 y Fr(-C)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+2157 y Fr(-C)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)45 b Fs(45,)27 b(100,)g(151)150 1440
+g(:)g(:)g(:)h(:)f(:)45 b Fs(45,)27 b(100,)g(151)150 2245
y Fr(-D)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(13)150 1528 y Fr(-D)26 b Fh(debug-level)16 b Fa(:)g(:)d(:)g(:)g(:)
+b Fs(13)150 2334 y Fr(-D)26 b Fh(debug-level)16 b Fa(:)g(:)d(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)43 b Fs(13,)27 b(22,)f(27)150 1616 y Fr(-d)g Fh(dim)p
+(:)g(:)43 b Fs(14,)27 b(22,)f(27)150 2422 y Fr(-d)g Fh(dim)p
Fr(,[)p Fh(min)p Fr(],[)p Fh(max)p Fr(],[)p Fh(stride)p
Fr(],[)p Fh(sub)q(cycl)q(e)p Fr(])11 b Fa(:)19 b(:)13
-b(:)g(:)37 b Fs(59)150 1704 y Fr(-d)26 b Fh(dim)p Fr(,[)p
+b(:)g(:)37 b Fs(59)150 2510 y Fr(-d)26 b Fh(dim)p Fr(,[)p
Fh(min)p Fr(],[)p Fh(max)p Fr(],)p Fh(stride)10 b Fa(:)18
b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)36 b Fs(56)150 1792 y Fr(-d)26 b Fh(dim)p Fr(,[)p
+g(:)36 b Fs(57)150 2599 y Fr(-d)26 b Fh(dim)p Fr(,[)p
Fh(min)p Fr(][,[)p Fh(max)p Fr(][,[)p Fh(stride)p Fr(]]])14
b Fa(:)19 b(:)13 b(:)g(:)41 b Fs(55,)26 b(60,)h(63,)304
-1879 y(66)150 1967 y Fr(-d)f Fh(dim)p Fr(,[)p Fh(min)p
+2686 y(66)150 2775 y Fr(-d)f Fh(dim)p Fr(,[)p Fh(min)p
Fr(][,[)p Fh(max)p Fr(]])e Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fs(205)150 2054 y Fr(-f)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(206)150 2863 y Fr(-f)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(153)150 2142 y Fr(-F)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(153)150 2951 y Fr(-F)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)37 b Fs(54)150 2230 y Fr(-G)26 b Fh(gpe_dsc)14 b Fa(:)h(:)e(:)g(:)g
+(:)37 b Fs(54)150 3040 y Fr(-G)26 b Fh(gpe_dsc)14 b Fa(:)h(:)e(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fs(46)150 2318 y Fr(-g)26 b Fh(grp)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+b Fs(46)150 3128 y Fr(-g)26 b Fh(grp)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33
-b Fs(40)150 2406 y Fr(-h)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+b Fs(40)150 3217 y Fr(-h)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(97,)27 b(156)150 2493 y Fr(-H)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(97,)27 b(156)150 3305 y Fr(-H)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(97,)27 b(179)150 2581 y Fr(-I)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
+b Fs(98,)27 b(179)150 3394 y Fr(-I)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)35 b Fs(206)150 2669 y Fr(-L)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)35 b Fs(207)150 3482 y Fr(-L)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)37 b Fs(77)150 2757 y Fr(-l)26 b Fh(output-path)10
+g(:)g(:)g(:)37 b Fs(77)150 3571 y Fr(-l)26 b Fh(output-path)10
b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fs(30,)26
-b(32)150 2845 y Fr(-m)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b(32)150 3659 y Fr(-m)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(181)150 2933 y Fr(-M)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fs(181)150 3748 y Fr(-M)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fs(37,)27 b(171,)g(180)150
-3020 y Fr(-M)f Fh(cnk_map)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+3836 y Fr(-M)f Fh(cnk_map)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(74)150 3108
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(74)150 3925
y Fr(-m)26 b Fh(mask_var)9 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(205)150 3196 y Fr(-M)26
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(206)150 4013 y Fr(-M)26
b Fh(pck_map)12 b Fa(:)i(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)38 b Fs(190)150 3284 y Fr(-N)15 b
+(:)g(:)g(:)h(:)f(:)38 b Fs(191)150 4101 y Fr(-N)15 b
Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)41 b Fs(85,)27 b(207)150 3372 y Fr(-n)f
+h(:)f(:)g(:)g(:)g(:)41 b Fs(85,)27 b(208)150 4190 y Fr(-n)f
Fh(loop)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-44 b Fs(19,)27 b(21,)f(28)150 3459 y Fr(-O)17 b Fa(:)c(:)g(:)g(:)h(:)f
+44 b Fs(19,)27 b(21,)f(28)150 4278 y Fr(-O)17 b Fa(:)c(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)44 b Fs(16,)26 b(97)150 3547 y Fr(-o)g Fh(fl_out)e
+(:)44 b Fs(16,)26 b(97)150 4367 y Fr(-o)g Fh(fl_out)e
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50
-b Fs(20,)26 b(30)150 3635 y Fr(-P)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(20,)26 b(30)150 4455 y Fr(-P)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)35 b Fs(181)150 3723 y Fr(-p)26 b Fh(input-path)12
+(:)g(:)35 b Fs(181)150 4544 y Fr(-p)26 b Fh(input-path)12
b Fa(:)k(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b
-Fs(28,)26 b(32)150 3811 y Fr(-P)g Fh(pck_plc)12 b Fa(:)i(:)g(:)f(:)g(:)
+Fs(28,)26 b(32)150 4632 y Fr(-P)g Fh(pck_plc)12 b Fa(:)i(:)g(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Fs(189)150 3898 y Fr(-q)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(182)150 3986 y Fr(-Q)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(190)150 4721 y Fr(-q)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(182)150 4074 y Fr(-r)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(182)150 4809 y Fr(-Q)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b
+Fs(182,)27 b(187)150 4898 y Fr(-r)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(13,)26
+b(14,)h(101)150 4986 y Fr(-R)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(13,)27 b(101)150 4162 y Fr(-R)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)37 b Fs(35)150 4250 y Fr(-s)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)35 b Fs(182)150 4337 y Fr(-t)26 b Fh(thr_nbr)c
-Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
-b Fs(23,)26 b(25)150 4425 y Fr(-u)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+g(:)37 b Fs(35)150 5075 y Fr(-s)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
+b Fs(182,)27 b(187)150 5163 y Fr(-t)f Fh(thr_nbr)c Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
+b Fs(23,)26 b(25)150 5252 y Fr(-u)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)35 b Fs(182)150 4513 y Fr(-U)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)35 b Fs(182)150 5340 y Fr(-U)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)35 b Fs(190)150 4601 y(`)p Fr(-u)26 b Fh(ulm_nm)p
-Fs(')10 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)37 b Fs(170)150 4689 y(`)p Fr(-v)p Fs(')22
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(193)150 4776
-y Fr(-v)26 b Fh(var)11 b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(40,)27 b(186)150
-4864 y Fr(-w)f Fh(weight)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fs(205)150 4952
+(:)g(:)g(:)35 b Fs(191)2025 299 y(`)p Fr(-u)26 b Fh(ulm_nm)p
+Fs(')10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)37 b Fs(170)2025 387 y(`)p Fr(-v)p Fs(')22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(194)2025 475
+y Fr(-V)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(182,)27 b(187)2025
+563 y Fr(-v)f Fh(var)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(40,)27 b(186)2025
+652 y Fr(-w)f Fh(weight)14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fs(206)2025 740
y Fr(-w)26 b Fh(wgt1)p Fr([,)p Fh(wgt2)p Fr(])21 b Fa(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(173)150
-5040 y Fr(-x)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(40,)27
-b(186)150 5128 y Fr(-X)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(64)150 5216 y Fr(-X)26 b Fh(lon_min)p Fr(,)p Fh(lon_max)p
-Fr(,)p Fh(lat_min)p Fr(,)p Fh(lat_m)q(ax)h Fa(:)13 b(:)g(:)g(:)g(:)h(:)
-f(:)g(:)47 b Fs(64)150 5303 y Fr(-y)26 b Fh(op_typ)c
-Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fs(83,)27 b(162)2025 299 y FB(.)2025 416 y Fh(.)11
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fs(173)2025
+828 y Fr(-x)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(40,)27 b(186)2025
+916 y Fr(-X)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fs(64)2025 1004 y Fr(-X)26 b Fh(lon_min)p Fr(,)p Fh(lon_max)p
+Fr(,)p Fh(lat_min)p Fr(,)p Fh(lat_ma)q(x)h Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+h(:)f(:)47 b Fs(64)2025 1093 y Fr(-y)26 b Fh(op_typ)c
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
+b Fs(84,)27 b(162)2025 1331 y FB(.)2025 1449 y Fh(.)11
b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(201)2025
-504 y Fr(.)26 b Fs(\(wildcard)g(c)n(haracter\))18 b Fa(:)c(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)44 b Fs(44)2025 592 y Fr(.bashrc)12 b Fa(:)j(:)e(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(184)2025 680 y Fr(.netrc)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(30)2025 768 y Fr(.rhosts)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fs(30)2025 1014 y FB(/)2025 1131 y Fr(/)11 b Fa(:)i(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)38 b Fs(162)2025 1219 y Fr(/)26 b
-Fs(\(division\))9 b Fa(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)36 b Fs(151)2025 1307 y Fr(/*...*/)27
-b Fs(\(commen)n(t\))22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fs(105)2025 1395 y Fr(//)26 b Fs(\(commen)n(t\))18
-b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fs(105)2025 1631 y FB(:)2025 1748 y Fr(:)26 b Fs(\(separator)g(c)n
-(haracter\))d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(46)2025
-1985 y FB(;)2025 2102 y Fr(;)26 b Fs(\(end)f(of)h(statemen)n(t\))10
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(202)2025
+1537 y Fr(.)26 b Fs(\(wildcard)g(c)n(haracter\))18 b
+Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(44)2025 1625 y
+Fr(.bashrc)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(184)2025 1713 y Fr(.netrc)17
+b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(30)2025 1802 y Fr(.rhosts)15
+b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)41 b Fs(30)2025 2049 y FB(/)2025 2167
+y Fr(/)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
+b Fs(162)2025 2256 y Fr(/)26 b Fs(\(division\))9 b Fa(:)k(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36
+b Fs(151)2025 2344 y Fr(/*...*/)27 b Fs(\(commen)n(t\))22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(105)2025
+2432 y Fr(//)26 b Fs(\(commen)n(t\))18 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(105)2025 2670
+y FB(:)2025 2788 y Fr(:)26 b Fs(\(separator)g(c)n(haracter\))d
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(46)2025 3026 y
+FB(;)2025 3144 y Fr(;)26 b Fs(\(end)f(of)h(statemen)n(t\))10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(105)2025
-2338 y Fc(<)2025 2455 y Fr(<arpa/nameser.h>)11 b Fa(:)16
+3382 y Fc(<)2025 3501 y Fr(<arpa/nameser.h>)11 b Fa(:)16
b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fs(8)2025
-2543 y Fr(<resolv.h>)9 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+3589 y Fr(<resolv.h>)9 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(8)2025 2780
-y FB(?)2025 2897 y Fr(?)26 b Fs(\(\014lename)f(expansion\))11
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(8)2025 3827
+y FB(?)2025 3945 y Fr(?)26 b Fs(\(\014lename)f(expansion\))11
b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(44)2025 2985
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(44)2025 4033
y Fr(?)26 b Fs(\(question)f(mark\))19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)46 b Fs(159)2025 3073 y Fr(?)26 b Fs(\(wildcard)g(c)n
+g(:)g(:)g(:)g(:)46 b Fs(159)2025 4121 y Fr(?)26 b Fs(\(wildcard)g(c)n
(haracter\))18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(44)2025
-3331 y FB(@)2025 3448 y Fr(@)26 b Fs(\(attribute\))6
+4381 y FB(@)2025 4499 y Fr(@)26 b Fs(\(attribute\))6
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-33 b Fs(105)2025 3536 y Fr(@)26 b Fs(\(separator)g(c)n(haracter\))d
+33 b Fs(105)2025 4587 y Fr(@)26 b Fs(\(separator)g(c)n(haracter\))d
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(46)2025 3801 y
-FB([)2025 3918 y Fr([])26 b Fs(\(arra)n(y)g(delimiters\))8
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(46)2025 4854 y
+FB([)2025 4972 y Fr([])26 b Fs(\(arra)n(y)g(delimiters\))8
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35 b Fs(105)2025
-4166 y Fc(^)2025 4284 y Fr(^)26 b Fs(\(p)r(o)n(w)n(er\))c
+5222 y Fc(^)2025 5340 y Fr(^)26 b Fs(\(p)r(o)n(w)n(er\))c
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)49 b Fs(151)2025 4371 y Fr(^)26 b Fs(\(wildcard)g(c)n
-(haracter\))18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(44)p
-2034 4608 41 6 v 2025 4725 a Fr(_ChunkSizes)22 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(178)2025 4813 y Fr(_DeflateLevel)14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(178)2025 4901 y Fr(_Endianness)22
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(178)2025 4989 y Fr(_FillValue)13 b Fa(:)i(:)f(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(70,)27 b(81,)f(156,)i(174,)f(191,)g(203)
-2025 5076 y Fr(_Fletcher32)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(178)2025 5164 y Fr(_Format)12
-b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)39 b Fs(178)2025 5252 y Fr(_NOFILL)12
-b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)39 b Fs(178)2025 5340 y Fr(_Shuffle)10
-b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)37 b Fs(178)p eop end
+f(:)g(:)49 b Fs(151)p eop end
%%Page: 258 264
TeXDict begin 258 263 bop 150 -116 a FD(258)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fr(_Storage)10 b
-Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)37 b Fs(178)150 557 y Fc(\\)150 676 y Fr(\\)26
-b Fs(\(bac)n(kslash\))15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)41 b Fs(159)150 764 y Fr(\\")26 b
-Fs(\(protected)f(double)h(quote\))21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(159)150
-852 y Fr(\\')26 b Fs(\(protected)f(end)h(quote\))21 b
-Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)49 b Fs(159)150 941 y Fr(\\?)26 b
-Fs(\(protected)f(question)h(mark\))16 b Fa(:)d(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fs(159)150
-1029 y Fr(\\\\)26 b Fs(\()p Fp(ASCI)r(I)g Fr(\\)p Fs(,)g(bac)n
-(kslash\))12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(159)150
-1117 y Fr(\\\\)26 b Fs(\(protected)f(bac)n(kslash\))12
+b FD(4.4.6)j(User)d(Guide)150 299 y Fr(^)c Fs(\(wildcard)g(c)n
+(haracter\))18 b Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(44)p
+159 537 41 6 v 150 656 a Fr(_ChunkSizes)22 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
+b Fs(178)150 744 y Fr(_DeflateLevel)14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(178)150 832 y Fr(_Endianness)22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
+b Fs(178)150 920 y Fr(_FillValue)13 b Fa(:)j(:)d(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)40 b Fs(71,)27 b(81,)g(156,)g(174,)g(192,)g(204)150
+1009 y Fr(_Fletcher32)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(178)150 1097 y Fr(_Format)12
+b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)39 b Fs(178)150 1185 y Fr(_NOFILL)12 b
+Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)39 b Fs(178)150 1273 y Fr(_Shuffle)10 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)37 b Fs(178)150 1362 y Fr(_SOURCE_FORMAT)12 b Fa(:)k(:)d(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fs(178)150 1450 y
+Fr(_Storage)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(178)150 1708 y Fc(\\)150
+1826 y Fr(\\)26 b Fs(\(bac)n(kslash\))15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(159)150 1915
+y Fr(\\")26 b Fs(\(protected)f(double)h(quote\))21 b
+Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)49 b Fs(159)150 2003 y Fr(\\')26 b Fs(\(protected)f(end)h
+(quote\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(159)150 2091 y
+Fr(\\?)26 b Fs(\(protected)f(question)h(mark\))16 b Fa(:)d(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
+b Fs(159)150 2179 y Fr(\\\\)26 b Fs(\()p Fp(ASCI)r(I)g
+Fr(\\)p Fs(,)g(bac)n(kslash\))12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
+b Fs(159)150 2268 y Fr(\\\\)26 b Fs(\(protected)f(bac)n(kslash\))12
b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)39 b Fs(159)150 1205 y Fr(\\a)26
+g(:)g(:)g(:)g(:)g(:)39 b Fs(159)150 2356 y Fr(\\a)26
b Fs(\()p Fp(ASCI)r(I)g Fs(BEL,)h(b)r(ell\))17 b Fa(:)d(:)f(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)44 b Fs(159)150 1294 y Fr(\\b)26 b Fs(\()p Fp(ASCI)r(I)g
+g(:)g(:)44 b Fs(159)150 2444 y Fr(\\b)26 b Fs(\()p Fp(ASCI)r(I)g
Fs(BS,)g(bac)n(kspace\))9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(159)150
-1382 y Fr(\\f)26 b Fs(\()p Fp(ASCI)r(I)g Fs(FF,)h(formfeed\))11
+2532 y Fr(\\f)26 b Fs(\()p Fp(ASCI)r(I)g Fs(FF,)h(formfeed\))11
b Fa(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)38 b Fs(159)150 1470 y Fr(\\n)26
+g(:)h(:)f(:)g(:)g(:)38 b Fs(159)150 2621 y Fr(\\n)26
b Fs(\()p Fp(ASCI)r(I)g Fs(LF,)g(linefeed\))14 b Fa(:)g(:)f(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-40 b Fs(158)150 1559 y Fr(\\n)26 b Fs(\(linefeed\))9
+40 b Fs(158)150 2709 y Fr(\\n)26 b Fs(\(linefeed\))9
b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-36 b Fs(186)150 1647 y Fr(\\r)26 b Fs(\()p Fp(ASCI)r(I)g
+36 b Fs(187)150 2797 y Fr(\\r)26 b Fs(\()p Fp(ASCI)r(I)g
Fs(CR,)g(carriage)i(return\))19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fs(159)150 1735 y Fr(\\t)26
+(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fs(159)150 2885 y Fr(\\t)26
b Fs(\()p Fp(ASCI)r(I)g Fs(HT,)g(horizon)n(tal)h(tab\))17
b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(158)150 1824 y Fr(\\t)26 b Fs(\(horizon)n(tal)h(tab\))19
+b Fs(158)150 2974 y Fr(\\t)26 b Fs(\(horizon)n(tal)h(tab\))19
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(186)150
-1912 y Fr(\\v)26 b Fs(\()p Fp(ASCI)r(I)g Fs(VT,)g(v)n(ertical)h(tab\))9
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(187)150
+3062 y Fr(\\v)26 b Fs(\()p Fp(ASCI)r(I)g Fs(VT,)g(v)n(ertical)h(tab\))9
b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)36 b Fs(159)150 2172 y Fc(|)150 2291 y Fr(|)26
+g(:)g(:)36 b Fs(159)150 3322 y Fc(|)150 3440 y Fr(|)26
b Fs(\(wildcard)g(c)n(haracter\))18 b Fa(:)c(:)f(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(44)150 2545 y FB(0)150 2664 y Fr(0)26 b Fs(\(NUL\))c
+b Fs(44)150 3695 y FB(0)150 3813 y Fr(0)26 b Fs(\(NUL\))c
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)50 b Fs(159)150 2918 y FB(3)150 3036 y Fs(32-bit)26
+g(:)g(:)g(:)50 b Fs(159)150 4067 y FB(3)150 4185 y Fs(32-bit)26
b(o\013set)g(\014le)g(format)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
-b Fs(37)150 3275 y FB(6)150 3393 y Fs(64-bit)26 b(o\013set)g(\014le)g
+b Fs(37)150 4424 y FB(6)150 4542 y Fs(64-bit)26 b(o\013set)g(\014le)g
(format)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(37)150
-3482 y Fr(64BIT)27 b Fs(\014les)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+4630 y Fr(64BIT)27 b Fs(\014les)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fs(35)150
-3720 y FB(A)150 3839 y Fm(abs)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+4869 y FB(A)150 4987 y Fm(abs)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
-b Fs(151)150 3927 y(absolute)26 b(v)l(alue)14 b Fa(:)f(:)g(:)h(:)f(:)g
+b Fs(151)150 5075 y(absolute)26 b(v)l(alue)14 b Fa(:)f(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fs(151)150 4015
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fs(151)150 5163
y Fm(acos)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(151)150
-4104 y Fm(acosh)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+5252 y Fm(acosh)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b
-Fs(151)150 4192 y Fr(add)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+Fs(151)150 5340 y Fr(add)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49
-b Fs(162)150 4280 y Fm(add)p 279 4280 24 4 v 34 w(o\013set)19
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)44 b Fs(24)150 4369 y Fr(add_offset)22 b
-Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)46 b Fs(81,)27 b(171,)g(189,)g(199)150
-4457 y(adding)f(data)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)49 b Fs(162,)27 b(173)150 4545 y(addition)20 b Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47 b Fs(151,)27
-b(162,)g(173)150 4633 y(aggregation)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(219)150
-4722 y(Aleksandar)26 b(Jelenak)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(162)2025 299 y Fm(add)p 2154 299 24 4 v 33 w(o\013set)20
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)44 b Fs(24)2025 387 y Fr(add_offset)22 b
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)47 b Fs(81,)27 b(171,)g(190,)g(200)2025
+476 y(adding)e(data)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+49 b Fs(162,)27 b(173)2025 564 y(addition)20 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(151,)27
+b(162,)g(173)2025 653 y(aggregation)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(219)2025
+741 y(Aleksandar)25 b(Jelenak)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)38 b Fs(212)2025 830 y(Alexander)25 b(Hansen)14 b
+Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(212)2025
+918 y Fr(alias)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(163)2025
+1006 y(alias)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)38 b Fs(212)150 4810 y(Alexander)25 b(Hansen)14 b
-Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fs(212)150
-4898 y Fr(alias)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b
+Fs(184)2025 1095 y Fr(alias)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(191)2025 1183 y(`)p Fr(all)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(163)150
-4987 y(alias)7 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b
-Fs(184)150 5075 y Fr(alias)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(190)150 5163 y(`)p Fr(all)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)47 b Fs(73)150 5252 y(alphab)r(etization)10 b Fa(:)15
-b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(177)150 5340 y(alphab)r(etize)26 b(output)20 b Fa(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(185)2025 299
-y(alternate)26 b(in)n(v)n(o)r(cations)d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)48 b Fs(162)2025 387 y(anc)n(hor)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49
-b Fs(41)2025 476 y(anc)n(horing)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 b
-Fs(41)2025 564 y(ancillary)27 b(v)l(ariables)f(con)n(v)n(en)n(tion)15
-b Fa(:)d(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)41 b Fs(99)2025 653 y Fr(ancillary_variables)18 b
-Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(99)2025 741 y(Andrea)25
+(:)g(:)47 b Fs(73)2025 1272 y(alphab)r(etization)10 b
+Fa(:)k(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fs(177)2025 1360 y(alphab)r(etize)26 b(output)20 b
+Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(186)2025
+1449 y(alternate)26 b(in)n(v)n(o)r(cations)d Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(162)2025 1537 y(anc)n(hor)23
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)49 b Fs(41)2025 1625 y(anc)n(horing)23
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)49 b Fs(41)2025 1714 y(ancillary)27 b(v)l(ariables)f(con)n
+(v)n(en)n(tion)13 b Fa(:)f(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)40 b Fs(100)2025 1802 y Fr(ancillary_variables)16
+b Fa(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fs(100)2025 1891 y(Andrea)25
b(Cimatoribus)12 b Fa(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(212)2025 830 y(Andrew)25 b(Witten)n(b)r(erg)19 b
-Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+b Fs(212)2025 1979 y(Andrew)25 b(Witten)n(b)r(erg)19
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fs(212)2025
-918 y(ann)n(ual)25 b(a)n(v)n(erage)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
+2068 y(ann)n(ual)25 b(a)n(v)n(erage)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(226)2025 1007 y(ann)n(ual)25
+g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(226)2025 2156 y(ann)n(ual)25
b(a)n(v)n(erage)i(from)f(daily)g(data)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fs(215)2025
-1095 y(ann)n(ual)25 b(a)n(v)n(erage)i(from)f(mon)n(thly)f(data)14
+2245 y(ann)n(ual)25 b(a)n(v)n(erage)i(from)f(mon)n(thly)f(data)14
b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fs(215)2025 1184 y(anomalies)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(215)2025 2333 y(anomalies)11 b Fa(:)k(:)e(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)38 b Fs(164,)27 b(226,)g(233)2025 1272 y Fp(ANSI)18
+g(:)38 b Fs(164,)27 b(226,)g(233)2025 2421 y Fp(ANSI)18
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fs(6)2025 1360
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fs(6)2025 2510
y Fr(ANSI)26 b(C)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(153)2025
-1449 y(app)r(ending)25 b(data)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+2598 y(app)r(ending)25 b(data)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-39 b Fs(151,)27 b(176)2025 1537 y(app)r(ending)e(to)h(\014les)18
+39 b Fs(151,)27 b(176)2025 2687 y(app)r(ending)e(to)h(\014les)18
b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)45 b Fs(16,)27 b(97,)g(186)2025 1626
+g(:)g(:)g(:)g(:)45 b Fs(16,)27 b(97,)g(186)2025 2775
y(app)r(ending)e(v)l(ariables)d Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(16,)27 b(17,)g(104,)g(193)2025
-1714 y Fp(AR4)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(16,)27 b(17,)g(104,)g(194)2025
+2864 y Fp(AR4)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fs(167)2025 1803 y(arccosine)27 b(function)18 b Fa(:)13
+Fs(167)2025 2952 y(arccosine)27 b(function)18 b Fa(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(151)2025
-1891 y(arcsine)26 b(function)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+3041 y(arcsine)26 b(function)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)47 b Fs(151)2025 1980 y(arctangen)n(t)26
+g(:)g(:)h(:)f(:)47 b Fs(151)2025 3129 y(arctangen)n(t)26
b(function)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(151)2025 2068 y Fr(area)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(151)2025 3217 y Fr(area)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(98)2025 2157 y(area-a)n(v)n(eraging)10 b Fa(:)k(:)f(:)h(:)f(:)g(:)
+b Fs(98)2025 3306 y(area-a)n(v)n(eraging)10 b Fa(:)k(:)f(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(226)2025 2245
-y(arithmetic)26 b(op)r(erators)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fs(71,)27 b(205)2025 2334 y(arithmetic)f(pro)r(cessor)14
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(226)2025 3394
+y(arithmetic)26 b(op)r(erators)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fs(71,)27
+b(72,)g(206)2025 3483 y(arithmetic)f(pro)r(cessor)14
b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(104)2025
-2422 y Fp(ARM)25 b Fs(con)n(v)n(en)n(tions)11 b Fa(:)i(:)g(:)g(:)g(:)h
+3571 y Fp(ARM)25 b Fs(con)n(v)n(en)n(tions)11 b Fa(:)i(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(100)2025 2510 y(ARM)25
+g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(101)2025 3660 y(ARM)25
b(con)n(v)n(en)n(tions)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fs(199)2025 2599 y Fr(array)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)
+48 b Fs(200)2025 3748 y Fr(array)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(110)2025 2687 y Fr(array)26 b Fs(function)21 b Fa(:)14
+b Fs(110)2025 3836 y Fr(array)26 b Fs(function)21 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
-b Fs(110)2025 2776 y(arra)n(y)26 b(indexing)10 b Fa(:)i(:)h(:)h(:)f(:)g
+b Fs(110)2025 3925 y(arra)n(y)26 b(indexing)10 b Fa(:)i(:)h(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(105)2025
-2864 y(arra)n(y)26 b(storage)15 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)
+4013 y(arra)n(y)26 b(storage)15 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(105)2025 2953 y(arra)n(y)26
+(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(105)2025 4102 y(arra)n(y)26
b(syn)n(tax)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)34 b Fs(105)2025 3041 y(arra)n(ys)13
+g(:)g(:)g(:)h(:)34 b Fs(105)2025 4190 y(arra)n(ys)13
b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)40 b Fs(110)2025 3130 y(arriv)l(al)26
+(:)f(:)g(:)g(:)g(:)g(:)40 b Fs(110)2025 4279 y(arriv)l(al)26
b(v)l(alue)11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)38 b Fs(173)2025 3218 y Fp(ASCI)r(I)23 b
+g(:)g(:)g(:)38 b Fs(173)2025 4367 y Fp(ASCI)r(I)23 b
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)49 b Fs(158,)27 b(159)2025 3307 y Fm(asin)15 b Fa(:)f(:)f(:)g(:)g
+g(:)49 b Fs(158,)27 b(159)2025 4456 y Fm(asin)15 b Fa(:)f(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)42 b Fs(151)2025 3395 y Fm(asinh)11 b Fa(:)i(:)g(:)g(:)g(:)h
+(:)g(:)g(:)42 b Fs(151)2025 4544 y Fm(asinh)11 b Fa(:)i(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)38 b Fs(151)2025 3484 y Fr(asort)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g
+(:)38 b Fs(151)2025 4632 y Fr(asort)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(125)2025 3572 y(assignmen)n(t)26 b(statemen)n(t)8
+b Fs(125)2025 4721 y(assignmen)n(t)26 b(statemen)n(t)8
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(105)2025 3660
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(105)2025 4809
y(async)n(hronous)25 b(\014le)h(access)8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)34 b Fs(30)2025 3749 y Fm(atan)7 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+(:)34 b Fs(30)2025 4898 y Fm(atan)7 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
-b Fs(151)2025 3837 y Fm(atanh)19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fs(151)2025 4986 y Fm(atanh)19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47
-b Fs(151)2025 3926 y(attribute)25 b(inheritance)7 b Fa(:)13
+b Fs(151)2025 5075 y(attribute)25 b(inheritance)7 b Fa(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(114)2025 4014
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(114)2025 5163
y(attribute)25 b(names)6 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fs(156,)27 b(201)2025 4103 y(attribute)e(propagation)9
+b Fs(156,)27 b(202)2025 5252 y(attribute)e(propagation)9
b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(114)2025 4191
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(114)2025 5340
y(attribute)25 b(syn)n(tax)14 b Fa(:)e(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)41 b Fs(105)2025 4280 y(attribute,)26 b Fr(units)17
-b Fa(:)d(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fs(66)2025 4368 y(attributes)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(156)2025
-4457 y(attributes,)26 b(app)r(ending)10 b Fa(:)i(:)i(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)37 b Fs(157)2025 4545 y(attributes,)26 b(creating)15
-b Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(157)2025
-4634 y(attributes,)26 b(deleting)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)44 b Fs(157)2025 4722 y(attributes,)26 b(editing)9
-b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)36 b Fs(157,)27 b(226,)g(236)2025 4810 y(attributes,)f(global)
-17 b Fa(:)e(:)44 b Fs(20,)26 b(97,)h(101,)g(157,)g(160,)g(176,)g(177,)
-2178 4898 y(186,)g(202,)h(203)2025 4986 y(attributes,)e(mo)r(difying)8
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-35 b Fs(157,)27 b(226,)g(236)2025 5075 y(attributes,)f(o)n(v)n
-(erwriting)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)47 b Fs(157,)27 b(226,)g(236)2025 5163 y(attributes)p
-Fr(ncap2)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-33 b Fs(113)2025 5252 y Fr(autoconf)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(14)2025 5340 y(auto)r(con)n(v)n(ersion)22 b Fa(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48
-b Fs(39)p eop end
+g(:)g(:)g(:)41 b Fs(105)p eop end
%%Page: 259 265
TeXDict begin 259 264 bop 150 -116 a FD(General)31 b(Index)2902
-b(259)150 299 y Fs(automagic)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(259)150 299 y Fs(attribute,)26 b Fr(units)17 b Fa(:)d(:)g(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(66)150 387 y(attributes)19
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)46 b Fs(156)150 474 y(attributes,)26 b(app)r(ending)10
+b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fs(157)150 562 y(attributes,)26
+b(creating)15 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(157)150 650 y(attributes,)26 b(deleting)17 b Fa(:)d(:)f(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)44 b Fs(157)150 737 y(attributes,)26
+b(editing)9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)36 b Fs(157,)27 b(226,)g(236)150
+825 y(attributes,)f(global)21 b Fa(:)13 b(:)g(:)46 b
+Fs(20,)27 b(97,)g(98,)f(101,)h(157,)h(160,)f(176,)304
+912 y(177,)g(186,)g(203,)g(204)150 1000 y(attributes,)f(mo)r(difying)8
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+34 b Fs(157,)27 b(226,)g(236)150 1088 y(attributes,)f(o)n(v)n
+(erwriting)21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)47 b Fs(157,)27 b(226,)g(236)150 1175 y(attributes)p
+Fr(ncap2)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+33 b Fs(113)150 1263 y Fr(autoconf)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
+b Fs(14)150 1351 y(auto)r(con)n(v)n(ersion)22 b Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
+b Fs(39)150 1438 y(automagic)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(7,)26 b(19)150
-387 y(automatic)h(t)n(yp)r(e)d(con)n(v)n(ersion)e Fa(:)13
+1526 y(automatic)h(t)n(yp)r(e)d(con)n(v)n(ersion)e Fa(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Fs(88,)27 b(152)150 474 y(auxiliary)f(co)r(ordinates)c
+b Fs(89,)27 b(152)150 1614 y(auxiliary)f(co)r(ordinates)c
Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fs(100)150 562
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fs(100)150 1701
y(a)n(v)n(erage)18 b Fa(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(83,)26 b(206,)i(215,)f(216,)g(223,)g(226,)g(233)150
-650 y(a)n(v)n(eraging)g(data)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(70,)27
-b(167,)g(197,)g(205)150 737 y Fr(avg)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+b Fs(84,)26 b(207,)i(215,)f(216,)g(223,)g(226,)g(233)150
+1789 y(a)n(v)n(eraging)g(data)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(71,)27
+b(167,)g(198,)g(206)150 1877 y Fr(avg)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)34 b Fs(83)150 825 y(a)n(vg\(\))11 b Fa(:)i(:)g(:)g(:)h(:)f
+(:)g(:)g(:)34 b Fs(84)150 1965 y(a)n(vg\(\))11 b Fa(:)i(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)38 b Fs(119)150 913 y Fr(avgsqr)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g
+(:)38 b Fs(119)150 2052 y Fr(avgsqr)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(83)150 1167 y FB(B)150 1284 y Fs(Barry)26 b(deF)-6
+b Fs(84)150 2306 y FB(B)150 2423 y Fs(Barry)26 b(deF)-6
b(reese)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-45 b Fs(212)150 1372 y Fr(base_time)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g
+45 b Fs(212)150 2511 y Fr(base_time)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b
-Fs(100)150 1459 y Fr(bash)9 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+Fs(101)150 2599 y Fr(bash)9 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(45,)27
-b(184)150 1547 y(Bash)f(shell)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+b(184)150 2687 y(Bash)f(shell)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)44 b Fs(163,)27 b(184)150 1635 y(Bash)f(Shell)7
+g(:)g(:)g(:)g(:)h(:)44 b Fs(163,)27 b(184)150 2774 y(Bash)f(Shell)7
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)34 b Fs(166)150 1722 y(batc)n(h)25 b(mo)r(de)7
+g(:)g(:)34 b Fs(166)150 2862 y(batc)n(h)25 b(mo)r(de)7
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)33 b Fs(97)150 1810 y(b)r(eer)12 b Fa(:)h(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)33 b Fs(97)150 2950 y(b)r(eer)12 b Fa(:)h(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)38 b Fs(95)150 1898 y(b)r(enc)n(hmarks)20 b Fa(:)13
+(:)f(:)38 b Fs(96)150 3037 y(b)r(enc)n(hmarks)20 b Fa(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47
-b Fs(26)150 1985 y(Bessel)27 b(function)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f
+b Fs(26)150 3125 y(Bessel)27 b(function)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)43 b Fs(134)150 2073 y(bilinear)27
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)43 b Fs(134)150 3213 y(bilinear)27
b(in)n(terp)r(olation)17 b Fa(:)d(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fs(236)150 2161 y(Bill)27 b(Ko)r(cik)14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g
+b Fs(236)150 3300 y(Bill)27 b(Ko)r(cik)14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b
-Fs(212)150 2248 y(binary)25 b(format)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)
+Fs(212)150 3388 y(binary)25 b(format)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(177)150 2336 y(binary)25
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(177)150 3476 y(binary)25
b(op)r(erations)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41
-b Fs(23,)27 b(162)150 2424 y(binary)e(Op)r(erators)15
+b Fs(23,)27 b(162)150 3564 y(binary)e(Op)r(erators)15
b Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42 b
-Fs(107)150 2511 y(blank)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+Fs(107)150 3651 y(blank)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49
-b Fs(181)150 2599 y Fr(bounds)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(99)150 2687 y(b)r(ounds)25 b(con)n(v)n(en)n(tion)10
-b Fa(:)i(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fs(99)150 2775 y(Bourne)26 b(Shell)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(57,)27 b(166)150 2862
-y(Brian)f(Ma)n(ys)e Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(181)150 3739 y Fr(bounds)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)50 b Fs(212)150 2950 y(broadcasting)23
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
-b Fs(165)150 3038 y(broadcasting)27 b(groups)10 b Fa(:)k(:)f(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
-b Fs(10,)27 b(164,)g(165)150 3125 y(broadcasting)g(v)l(ariables)12
-b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(106,)27
-b(163,)g(175,)g(205)150 3213 y Fr(BSD)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)34 b Fs(27)150 3301 y(Bu\013er)26 b(sizes)12
-b Fa(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)38 b Fs(79)150 3388 y(bu\013ering)20 b Fa(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)47 b Fs(24)150 3476 y(bugs,)26 b(rep)r(orting)16
-b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
-b Fs(13)150 3564 y(b)n(yte\(\))13 b Fa(:)f(:)h(:)g(:)h(:)f(:)g(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(100)150 3827 y(b)r(ounds)25 b(con)n(v)n(en)n(tion)8
+b Fa(:)k(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(100)150
+3914 y(Bourne)26 b(Shell)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)36 b Fs(57,)27 b(166)150 4002 y(Brian)f(Ma)n(ys)e
+Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+50 b Fs(212)150 4090 y(broadcasting)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fs(165)150 4177
+y(broadcasting)27 b(groups)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fs(10,)27 b(164,)g(165)150
+4265 y(broadcasting)g(v)l(ariables)12 b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)39 b Fs(106,)27 b(163,)g(175,)g(206)150 4353
+y Fr(BSD)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40
-b Fs(121)150 3820 y FB(C)150 3937 y Fs(C)26 b(index)f(con)n(v)n(en)n
-(tion)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(54)150 4025 y(C)26 b(language)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)42 b Fs(7,)27 b(71,)f(90,)h(91,)g(105,)g(159,)g(182)
-150 4112 y(C)f(Shell)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(57,)27 b(166)150 4200
-y Fr(c++)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
-b Fs(6)150 4288 y(C)p Fr(++)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fs(27)150 4440 y(Bu\013er)26 b(sizes)12 b Fa(:)i(:)f(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)46 b Fs(6)150 4375 y Fm(C)p 210 4375 24 4 v 34 w(format)13
-b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)38 b Fs(24)150 4463 y(C89)11 b Fa(:)j(:)g(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b
+Fs(79)150 4528 y(bu\013ering)20 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)38 b Fs(6,)26 b(7)150 4551 y(C99)11 b Fa(:)j(:)g(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-38 b Fs(7,)26 b(8)150 4638 y Fp(CAM3)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42
-b Fs(93)150 4726 y Fr(cc)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)39 b Fs(6)150 4814 y Fr(CC)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b
+Fs(24)150 4616 y(bugs,)26 b(rep)r(orting)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fs(13)150 4704
+y(b)n(yte\(\))13 b Fa(:)f(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fs(121)150
+4960 y FB(C)150 5077 y Fs(C)26 b(index)f(con)n(v)n(en)n(tion)16
+b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fs(54)150
+5165 y(C)26 b(language)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)42 b Fs(7,)27 b(72,)f(90,)h(91,)g(105,)g(159,)g(182)150
+5252 y(C)f(Shell)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)39 b Fs(6)150 4902 y Fp(CCM)25 b Fs(Pro)r(cessor)7
-b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fs(28,)27 b(197,)g(199)150
-4989 y Fp(CCSM)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(213)150
-5077 y(CCSM)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(245)150 5165
-y Fp(CCSM)25 b Fs(con)n(v)n(en)n(tions)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)39 b Fs(98)150 5252 y Fp(CDL)7 b
-Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(178)150 5340
-y Fm(ceil)10 b Fa(:)k(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b
-Fs(151)2025 299 y(ceiling)27 b(function)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fs(151)2025 387 y(cell)26
-b(metho)r(ds)g(con)n(v)n(en)n(tion)20 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
-b Fs(100)2025 476 y(cell-based)26 b(grids)15 b Fa(:)f(:)f(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(57,)27 b(166)150 5340
+y Fr(c++)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fs(6)2025 299 y(C)p Fr(++)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)46 b Fs(6)2025 387 y Fm(C)p 2085 387 24 4 v 34 w(format)13
+b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)38 b Fs(24)2025 476 y(C89)11 b Fa(:)j(:)f(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)38 b Fs(6,)27 b(7)2025 564 y(C99)11 b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fs(64)2025 564
-y Fr(cell_methods)17 b Fa(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)44 b Fs(100)2025 653 y Fp(CF)25 b Fs(compliance)i(c)n(hec)n
-(k)n(er)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fs(51)2025
-741 y Fp(CF)25 b Fs(con)n(v)n(en)n(tions)d Fa(:)13 b(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(45,)27
-b(64,)f(67,)h(98,)g(164)2025 830 y Fr(cfchecker)9 b Fa(:)15
-b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+38 b Fs(7,)27 b(8)2025 653 y Fp(CAM3)16 b Fa(:)c(:)i(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)42
+b Fs(94)2025 741 y Fr(cc)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)40 b Fs(6)2025 830 y Fr(CC)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)36 b Fs(51)2025 918 y Fr(change_miss\(\))14 b Fa(:)i(:)d(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(118)2025 1006
-y(c)n(har\(\))14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(121)2025
-1095 y(c)n(haracters,)27 b(sp)r(ecial)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)42 b Fs(158)2025 1183 y(Charlie)27 b(Zender)11
-b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b
-Fs(1,)27 b(211)2025 1272 y(c)n(ho)r(colate)11 b Fa(:)j(:)g(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38
-b Fs(211)2025 1360 y(Chris)26 b(Bark)n(er)c Fa(:)13 b(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(74)2025
-1449 y(c)n(h)n(unking)12 b Fa(:)g(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)40 b Fs(6)2025 918 y Fp(CCM)25 b Fs(Pro)r(cessor)7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(28,)27 b(198,)g(200)2025
+1006 y Fp(CCSM)13 b Fa(:)f(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(213)2025
+1095 y(CCSM)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)39 b Fs(10,)27 b(72,)g(181)2025 1537 y(c)n(h)n(unking)d(map)8
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fs(72,)27 b(74)2025 1625 y(c)n(h)n(unking)d(p)r(olicy)8
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fs(72)2025 1714 y(c)n(h)n(unksize)10 b Fa(:)i(:)h(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(245)2025
+1183 y Fp(CCSM)25 b Fs(con)n(v)n(en)n(tions)12 b Fa(:)h(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)39 b Fs(98)2025 1272 y Fp(CDL)7
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36
-b Fs(72)2025 1802 y(citation)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34 b Fs(178)2025 1360
+y Fm(ceil)10 b Fa(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b
+Fs(151)2025 1449 y(ceiling)27 b(function)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fs(151)2025 1537
+y(cell)26 b(metho)r(ds)g(con)n(v)n(en)n(tion)20 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)47 b Fs(100)2025 1625 y(cell-based)26
+b(grids)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+41 b Fs(64)2025 1714 y Fr(cell_methods)17 b Fa(:)e(:)f(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(100)2025 1802
+y Fp(CF)25 b Fs(compliance)i(c)n(hec)n(k)n(er)9 b Fa(:)k(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)36 b Fs(51)2025 1891 y Fp(CF)25 b Fs(con)n(v)n(en)n(tions)d
+Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fs(45,)27 b(64,)f(68,)h(98,)g(164)2025 1979 y Fr(cfchecker)9
+b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)36 b Fs(51)2025 2068 y Fr(change_miss\(\))14
+b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
+b Fs(118)2025 2156 y(c)n(har\(\))14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
+b Fs(121)2025 2245 y(c)n(haracters,)27 b(sp)r(ecial)15
+b Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(158)2025
+2333 y(Charlie)27 b(Zender)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)37 b Fs(1,)27 b(211)2025 2421 y(c)n(ho)r(colate)11
+b Fa(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)38 b Fs(211)2025 2510 y(Chris)26 b(Bark)n(er)c
+Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+48 b Fs(74)2025 2598 y(c)n(h)n(unking)12 b Fa(:)g(:)h(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(10,)27 b(72,)g(181)2025
+2687 y(c)n(h)n(unking)d(map)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)34 b Fs(73,)27 b(74)2025 2775 y(c)n(h)n(unking)d(p)r
+(olicy)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)34 b Fs(73)2025 2864 y(c)n(h)n(unksize)10 b Fa(:)i(:)h(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36
+b Fs(73)2025 2952 y(citation)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fs(213)2025 1891 y Fr(clang)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+Fs(213)2025 3041 y Fr(clang)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fs(6)2025 1979 y Fr(CLASSIC)27 b Fs(\014les)c Fa(:)13
+b Fs(6)2025 3129 y Fr(CLASSIC)27 b Fs(\014les)c Fa(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)49
-b Fs(35)2025 2068 y(clien)n(t-serv)n(er)18 b Fa(:)13
+b Fs(35)2025 3217 y(clien)n(t-serv)n(er)18 b Fa(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fs(32)2025 2156 y(Climate)27 b(and)e(F)-6 b(orecast)27
+b Fs(32)2025 3306 y(Climate)27 b(and)e(F)-6 b(orecast)27
b(Metadata)g(Con)n(v)n(en)n(tion)13 b Fa(:)g(:)g(:)g(:)40
-b Fs(67)2025 2245 y(climate)27 b(mo)r(del)c Fa(:)13 b(:)g(:)g(:)h(:)f
+b Fs(68)2025 3394 y(climate)27 b(mo)r(del)c Fa(:)13 b(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)50 b Fs(15,)26
-b(18,)h(29,)g(171,)g(208)2025 2333 y(clipping)f(op)r(erators)18
+b(18,)h(29,)g(171,)g(209)2025 3483 y(clipping)f(op)r(erators)18
b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fs(108)2025
-2421 y Fp(CMIP)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+3571 y Fp(CMIP)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(167,)27 b(170)2025
-2510 y Fp(CMIP5)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+3660 y Fp(CMIP5)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(217)2025
-2598 y(`)p Fr(cnk_all)p Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+3748 y(`)p Fr(cnk_all)p Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fs(73)2025 2687 y(`)p Fr(cnk_dmn)p Fs(')10 b Fa(:)15
+Fs(73)2025 3836 y(`)p Fr(cnk_dmn)p Fs(')10 b Fa(:)15
b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)37 b Fs(74)2025 2775 y(`)p Fr(cnk_g2d)p Fs(')10
+g(:)g(:)37 b Fs(74)2025 3925 y(`)p Fr(cnk_g2d)p Fs(')10
b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)37 b Fs(73)2025 2864 y(`)p Fr(cnk_g3d)p
+g(:)g(:)g(:)g(:)37 b Fs(73)2025 4013 y(`)p Fr(cnk_g3d)p
Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(73)2025 2952 y(`)p Fr(cnk_lfp)p
+h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(73)2025 4102 y(`)p Fr(cnk_lfp)p
Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 3041 y Fm(cnk)p
-2148 3041 V 33 w(map)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 4190 y Fm(cnk)p
+2148 4190 V 33 w(map)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fs(74)2025
-3129 y(`)p Fr(cnk_prd)p Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g
+4279 y(`)p Fr(cnk_prd)p Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fs(74)2025 3217 y(`)p Fr(cnk_r1d)p Fs(')10 b Fa(:)15
+Fs(74)2025 4367 y(`)p Fr(cnk_r1d)p Fs(')10 b Fa(:)15
b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)37 b Fs(73)2025 3306 y(`)p Fr(cnk_rd1)p Fs(')10
+g(:)g(:)37 b Fs(73)2025 4456 y(`)p Fr(cnk_rd1)p Fs(')10
b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)37 b Fs(74)2025 3394 y(`)p Fr(cnk_scl)p
+g(:)g(:)g(:)g(:)37 b Fs(74)2025 4544 y(`)p Fr(cnk_scl)p
Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 3483 y(`)p Fr(cnk_xpl)p
+h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 4632 y(`)p Fr(cnk_xpl)p
Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(73)2025 3571 y(`)p Fr(cnk_xst)p
+h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(73)2025 4721 y(`)p Fr(cnk_xst)p
Fs(')17 b Fa(:)e(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)43 b Fs(73,)27 b(74)2025 3660 y(Comeau)17 b Fa(:)d(:)g(:)f(:)g
+(:)g(:)43 b Fs(73,)27 b(74)2025 4809 y(Comeau)17 b Fa(:)d(:)g(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)45 b Fs(6)2025 3748 y(command)26 b(line)g(options)c
+(:)45 b Fs(6)2025 4898 y(command)26 b(line)g(options)c
Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(27)2025 3836
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(27)2025 4986
y(command)26 b(line)g(switc)n(hes)d Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)49 b Fs(15,)26 b(25,)h(30,)g(103)2025
-3925 y(commen)n(ts)16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+5075 y(commen)n(ts)16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(105)2025 4013 y Fr(como)7
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(105)2025 5163 y Fr(como)7
b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(6)2025
-4102 y(Compaq)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+5252 y(Compaq)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)41 b Fs(6)2025
-4190 y(comparator)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+5340 y(comparator)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(206)2025 4279 y(compatabilit)n(y)9
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)36 b Fs(6)2025 4367 y(compilers)11 b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
-b Fs(30)2025 4456 y(complemen)n(tary)26 b(error)g(function)7
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)34 b Fs(151)2025 4544 y(compliance)27 b(c)n(hec)n(k)n(er)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(51)2025
-4632 y(compression)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)48 b Fs(77,)27 b(181)2025 4721 y(concatenation)17
-b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)44 b Fs(17,)27 b(170,)g(192,)g(199)2025 4809
-y(conditional)g(Op)r(erator)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)47
-b Fs(108)2025 4898 y Fr(config.guess)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fs(14)2025 4986
-y Fr(configure.eg)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)45 b Fs(14)2025 5075 y(constrain)n(t)26
-b(expressions)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49
-b Fs(33)2025 5163 y(con)n(ten)n(ts)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
-b Fs(5)2025 5252 y(con)n(tributing)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fs(211)2025
-5340 y(con)n(tributors)14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)41 b Fs(211)p eop end
+f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(207)p eop end
%%Page: 260 266
TeXDict begin 260 265 bop 150 -116 a FD(260)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fs(co)r(ordinate)d(limits)c
-Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(55)150 387 y(co)r(ordinate)27 b(v)l(ariable)22 b
-Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(66,)27
-b(84,)g(100,)g(164,)g(206)150 475 y(co)r(ordinate)g(v)l(ariables)20
+b FD(4.4.6)j(User)d(Guide)150 299 y Fs(compatabilit)n(y)9
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)36 b Fs(6)150 387 y(compilers)11 b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
+b Fs(30)150 475 y(complemen)n(tary)26 b(error)g(function)7
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)34 b Fs(151)150 563 y(compliance)27 b(c)n(hec)n(k)n(er)19
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 b Fs(51)150
+651 y(compression)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)48 b Fs(77,)27 b(181)150 739 y(concatenation)17
+b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)44 b Fs(17,)27 b(170,)g(193,)g(200)150 828 y(conditional)g(Op)r
+(erator)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(108)150
+916 y Fr(config.guess)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(14)150 1004 y Fr(configure.eg)22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fs(14)150 1092 y(constrain)n(t)26 b(expressions)e Fa(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b Fs(33)150 1180 y(con)n(ten)n(ts)15
+b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)42 b Fs(5)150 1268 y(con)n(tributing)12
+b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fs(211)150 1356 y(con)n(tributors)14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)41 b Fs(211)150 1444
+y(co)r(ordinate)27 b(limits)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)49 b Fs(55)150 1532 y(co)r(ordinate)27 b(v)l(ariable)22
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(67,)27
+b(84,)g(100,)g(164,)g(207)150 1621 y(co)r(ordinate)g(v)l(ariables)20
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(202)150
-563 y Fr(coordinates)9 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(203)150
+1709 y Fr(coordinates)9 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)35 b Fs(64,)27 b(100)150 651 y(co)r(ordinates)10
+g(:)g(:)35 b Fs(64,)27 b(100)150 1797 y(co)r(ordinates)10
b Fa(:)k(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)36 b Fs(239)150 739 y(co)r(ordinates)27 b(con)n(v)n(en)n(tion)22
+(:)36 b Fs(239)150 1885 y(co)r(ordinates)27 b(con)n(v)n(en)n(tion)22
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(100)150 828 y(co)r(ordinates,)27
+(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(100)150 1973 y(co)r(ordinates,)27
b(mo)r(difying)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b
-Fs(240)150 916 y(core)26 b(dump)9 b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g
+Fs(240)150 2061 y(core)26 b(dump)9 b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(13)150
-1004 y Fr(core)27 b(dump)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+2149 y Fr(core)27 b(dump)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)47 b Fs(21,)27 b(187)150 1092 y Fm(cos)15
+h(:)f(:)g(:)g(:)g(:)47 b Fs(21,)27 b(188)150 2237 y Fm(cos)15
b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(151)150 1180
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(151)150 2325
y Fm(cosh)9 b Fa(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fs(151)150
-1268 y(cosine)27 b(function)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+2414 y(cosine)27 b(function)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)45 b Fs(151)150 1356 y(co)n(v)l(ariance)11
+g(:)h(:)f(:)g(:)g(:)45 b Fs(151)150 2502 y(co)n(v)l(ariance)11
b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)38 b Fs(150)150 1444 y Fr(cp)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h
+(:)g(:)38 b Fs(150)150 2590 y Fr(cp)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)37 b Fs(41)150 1532 y(Cra)n(y)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)
+(:)g(:)g(:)37 b Fs(41)150 2678 y(Cra)n(y)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
-b Fs(6,)26 b(21)150 1621 y Fr(csh)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(6,)26 b(21)150 2766 y Fr(csh)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)34 b Fs(45)150 1709 y(Csh)26 b(shell)15 b Fa(:)f(:)f(:)g(:)g(:)g
+(:)g(:)34 b Fs(45)150 2854 y(Csh)26 b(shell)15 b Fa(:)f(:)f(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fs(184)150 1797 y Fr(cxx)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(184)150 2942 y Fr(cxx)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fs(6)150 1885 y(Cygwin)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+(:)37 b Fs(6)150 3030 y(Cygwin)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fs(8)150 2139 y FB(D)150 2257 y Fs(daily)26 b(data)19
+b Fs(8)150 3285 y FB(D)150 3402 y Fs(daily)26 b(data)19
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
-b Fs(215,)27 b(216)150 2345 y(Daniel)f(Baumann)21 b Fa(:)13
+b Fs(215,)27 b(216)150 3491 y(Daniel)f(Baumann)21 b Fa(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(212)150
-2433 y(Daniel)26 b(W)-6 b(ang)18 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)
+3579 y(Daniel)26 b(W)-6 b(ang)18 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(211)150 2521 y
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(211)150 3667 y
Fp(D)n(AP)7 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b
-Fs(32)150 2609 y(data)26 b(access)h(proto)r(col)18 b
+Fs(32)150 3755 y(data)26 b(access)h(proto)r(col)18 b
Fa(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fs(32)150
-2698 y(data)26 b(safet)n(y)d Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+3843 y(data)26 b(safet)n(y)d Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)49 b Fs(15,)27 b(201)150 2786 y(data,)f(missing)21
+h(:)f(:)g(:)g(:)49 b Fs(15,)27 b(202)150 3931 y(data,)f(missing)21
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
-b Fs(70,)27 b(156)150 2874 y Fr(date)c Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+b Fs(71,)27 b(156)150 4019 y Fr(date)c Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fs(98)150 2962 y Fr(datesec)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)
+49 b Fs(98)150 4107 y Fr(datesec)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(98)150 3050 y Fm(dbg)p 279 3050 24 4 v 34 w(lvl)12
+b Fs(98)150 4195 y Fm(dbg)p 279 4195 24 4 v 34 w(lvl)12
b Fa(:)g(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35
-b Fs(13,)27 b(22,)f(26)150 3138 y Fp(DDRA)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)
+b Fs(14,)27 b(22,)f(26)150 4284 y Fp(DDRA)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fs(213)150 3226 y(Debian)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(213)150 4372 y(Debian)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42
-b Fs(12)150 3314 y Fm(debug-lev)n(el)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fs(12)150 4460 y Fm(debug-lev)n(el)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(13,)26 b(22)150
-3402 y(debugging)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(14,)26 b(22)150
+4548 y(debugging)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)38 b Fs(13,)27 b(22,)f(26)150 3491 y Fp(DEC)9 b Fa(:)k(:)g(:)h(:)f
+(:)38 b Fs(13,)27 b(22,)f(26)150 4636 y Fp(DEC)9 b Fa(:)k(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)36 b Fs(6)150 3579 y Fr(defdim\(\))10
+(:)g(:)h(:)f(:)g(:)36 b Fs(6)150 4724 y Fr(defdim\(\))10
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)37 b Fs(109)150 3667 y(de\014ning)25 b(dimensions)i(in)e
+g(:)g(:)g(:)37 b Fs(109)150 4812 y(de\014ning)25 b(dimensions)i(in)e
Fr(ncap2)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)33 b Fs(109)150 3755 y(de\015ation)17
+(:)h(:)f(:)g(:)g(:)33 b Fs(109)150 4900 y(de\015ation)17
b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Fs(10,)26 b(77,)h(181)150 3843 y(degenerate)f(dimension)9
+b Fs(10,)26 b(77,)h(181)150 4988 y(degenerate)f(dimension)9
b Fa(:)k(:)h(:)35 b Fs(74,)27 b(87,)f(151,)h(164,)h(172,)f(173,)304
-3930 y(196,)g(197,)g(205,)g(208)150 4018 y(delete)f(\(groups\))19
+5076 y(197,)g(198,)g(206,)g(209)150 5164 y(delete)f(\(groups\))19
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)46
-b Fs(46)150 4106 y Fr(delete_miss\(\))14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g
+b Fs(46)150 5252 y Fr(delete_miss\(\))14 b Fa(:)i(:)d(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(118)150 4195 y(demotion)13
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(118)150 5340 y(demotion)13
b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)39 b Fs(88)150 4283 y(Dennis)25 b(Heim)n(bigner)18
-b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fs(211)150
-4371 y(deriv)n(ed)25 b(\014elds)15 b Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(104)150 4459 y(digest)20
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)39 b Fs(89)2025 299 y(Dennis)25 b(Heim)n(bigner)18
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(211)2025
+388 y(deriv)n(ed)25 b(\014elds)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(104)2025 478 y(digest)20
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(78)2025 568 y(Digital)23
+b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(6)2025 657 y(dimension)26
+b(limits)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fs(55)2025 747 y(dimension)26 b(names)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)46 b Fs(77)150 4547 y(Digital)24
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+h(:)f(:)g(:)g(:)g(:)44 b Fs(202)2025 836 y(dimension)26
+b(order)17 b Fa(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44
+b Fs(226)2025 926 y(dimensions,)26 b(gro)n(wing)16 b
+Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fs(149)2025 1016
+y(disaggregate)13 b Fa(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(6)150 4635 y(dimension)26
-b(limits)13 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
-b Fs(55)150 4723 y(dimension)26 b(names)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)44 b Fs(201)150 4811 y(dimension)26
-b(order)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
-b Fs(226)150 4899 y(dimensions,)27 b(gro)n(wing)16 b
-Fa(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)43 b Fs(149)150 4988
-y(disaggregate)13 b Fa(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)39 b Fs(49)150 5076 y(disjoin)n(t)26
-b(\014les)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)45 b Fs(17)150 5164 y(diskless)26
-b(\014les)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)44 b Fs(79)150 5252 y(dismem)n(b)r(er)22
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)48 b Fs(49)150 5340 y(Distributed)25 b(Data)h(Reduction)f(&)g
+g(:)g(:)g(:)g(:)h(:)39 b Fs(49)2025 1105 y(disjoin)n(t)26
+b(\014les)20 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)46 b Fs(17)2025 1195 y(diskless)26
+b(\014les)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)44 b Fs(80)2025 1284 y(dismem)n(b)r(er)21
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)48 b Fs(49)2025 1374 y(Distributed)25 b(Data)h(Reduction)f(&)g
(Analysis)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(213)2025
-299 y(Distributed)25 b(Oceanographic)i(Data)f(System)17
-b Fa(:)12 b(:)h(:)g(:)g(:)h(:)f(:)43 b Fs(32)2025 387
+1464 y(Distributed)25 b(Oceanographic)i(Data)f(System)17
+b Fa(:)12 b(:)h(:)g(:)g(:)h(:)f(:)43 b Fs(32)2025 1553
y Fr(divide)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(162)2025 474
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(162)2025 1643
y(dividing)25 b(data)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)39 b Fs(162)2025 562 y(division)21
+(:)h(:)f(:)g(:)g(:)39 b Fs(162)2025 1732 y(division)21
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)47 b Fs(151)2025 650 y(`)p Fr(dmn)p Fs(')22
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(74)2025 738 y(do)r(cumen)n
-(tation)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)h(:)47 b Fs(151)2025 1822 y(`)p Fr(dmn)p
+Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(74)2025
+1912 y(do)r(cumen)n(tation)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34 b Fs(5)2025 2001 y
+Fp(DODS)6 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)34 b Fs(5)2025 826 y Fp(DODS)6 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)32 b Fs(32,)27 b(35)2025 913 y Fr(DODS_ROOT)9
-b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)36 b Fs(32)2025 1001 y(dot)25 b(pro)r(duct)18
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-45 b Fs(207)2025 1089 y(double\(\))9 b Fa(:)j(:)i(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fs(121)2025 1177 y(double-precision)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(153)2025 1265 y Fr(dsort)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(125)2025 1352 y(duration)9
-b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fs(32,)27 b(35)2025
+2091 y Fr(DODS_ROOT)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(32)2025 2180
+y(dot)25 b(pro)r(duct)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fs(208)2025 2270 y(double\(\))9
+b Fa(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)36 b Fs(121)2025 2360 y(double-precision)15
+b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
+b Fs(153)2025 2449 y Fr(dsort)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(125)2025 2539 y(duration)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35
+b Fs(59)2025 2628 y(dynamic)25 b(linking)d Fa(:)13 b(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)35 b Fs(59)2025 1440 y(dynamic)25
-b(linking)d Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)49 b Fs(9)2025 1693 y FB(E)2025 1810 y Fs(Ed)25 b(Hartnett)12
-b Fa(:)g(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
-b Fs(211)2025 1898 y(Ed)25 b(Hill)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(212)2025 1986 y(eddy)24 b(co)n(v)l(ariance)e Fa(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(150)2025
-2073 y(editing)26 b(attributes)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)38 b Fs(156)2025 2161 y Fr(egrep)21 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(9)2025 2891
+y FB(E)2025 3011 y Fs(Ed)25 b(Hartnett)12 b Fa(:)g(:)h(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(211)2025
+3101 y(Ed)25 b(Hill)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)46 b Fs(43)2025 2249 y(Elliptic)27
-b(in)n(tegrals)9 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)36 b Fs(135)2025 2337 y(ensem)n(ble)23 b Fa(:)13 b(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(18,)27
-b(167)2025 2425 y(ensem)n(ble)f(a)n(v)n(erage)15 b Fa(:)f(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(167)2025 2512 y(ensem)n(ble)26
-b(concatenation)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(170)2025
-2600 y Fm(erf)28 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(151)2025 2688 y Fm(erfc)23 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
-b Fs(151)2025 2776 y(Eric)26 b(Blak)n(e)9 b Fa(:)14 b(:)f(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(212)2025
+3191 y(eddy)24 b(co)n(v)l(ariance)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)47 b Fs(150)2025 3280 y(editing)26
+b(attributes)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
+b Fs(156)2025 3370 y Fr(egrep)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
+b Fs(43)2025 3459 y(Elliptic)27 b(in)n(tegrals)9 b Fa(:)14
+b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(135)2025
+3549 y(ensem)n(ble)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)49 b Fs(18,)27 b(167)2025 3639 y(ensem)n(ble)f(a)n
+(v)n(erage)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
+b Fs(167)2025 3728 y(ensem)n(ble)26 b(concatenation)10
+b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(170)2025 3818 y Fm(erf)28
+b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(151)2025
+3907 y Fm(erfc)23 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
+b Fs(151)2025 3997 y(Eric)26 b(Blak)n(e)9 b Fa(:)14 b(:)f(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(212)2025 2864 y(error)26 b(function)21 b Fa(:)13
+b Fs(212)2025 4087 y(error)26 b(function)21 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
-b Fs(151)2025 2951 y(error)26 b(tolerance)9 b Fa(:)14
+b Fs(151)2025 4176 y(error)26 b(tolerance)9 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fs(15)2025 3039 y(Etienne)25 b(T)-6 b(ourign)n(y)11
+b Fs(15)2025 4266 y(Etienne)25 b(T)-6 b(ourign)n(y)11
b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b
-Fs(213)2025 3127 y(exclusion)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+Fs(213)2025 4355 y(exclusion)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)34 b Fs(40,)27 b(186,)g(187)2025 3215 y(execution)e(time)e
+g(:)g(:)h(:)34 b Fs(40,)27 b(186,)g(188)2025 4445 y(execution)e(time)e
Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50
-b Fs(9,)26 b(16,)h(24,)f(25,)h(71,)g(201)2025 3303 y
+b Fs(9,)26 b(16,)h(24,)f(25,)h(72,)g(202)2025 4535 y
Fm(exp)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(151)2025
-3390 y(exp)r(onen)n(t)16 b Fa(:)c(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+4624 y(exp)r(onen)n(t)16 b Fa(:)c(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fs(95)2025
-3478 y(exp)r(onen)n(tiation)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+4714 y(exp)r(onen)n(tiation)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)48 b Fs(151)2025 3566 y(exp)r(onen)n(tiation)25
+g(:)g(:)g(:)g(:)g(:)48 b Fs(151)2025 4803 y(exp)r(onen)n(tiation)25
b(function)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(151)2025
-3654 y(expressions)14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+4893 y(expressions)14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(105)2025 3742 y(extended)24
+g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(105)2025 4983 y(extended)24
b(\014le)i(format)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(37)2025 3829 y(extended)24 b(regular)j(expressions)16
+b Fs(37)2025 5072 y(extended)24 b(regular)j(expressions)16
b Fa(:)e(:)f(:)h(:)f(:)43 b Fs(20,)27 b(43,)f(150,)h(156,)2178
-3917 y(160)2025 4004 y(extraction)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+5159 y(160)2025 5249 y(extraction)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)35 b Fs(40,)27 b(186,)g(187)2025 4257 y FB(F)2025
-4374 y Fr(f90)10 b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fs(8)2025 4462 y(features,)27 b(requesting)13 b Fa(:)g(:)g(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)39 b Fs(13)2025 4550 y(File)26
-b(bu\013ers)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)41 b Fs(79)2025 4638 y(\014le)26
-b(com)n(bination)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)45 b Fs(217)2025 4725 y(\014le)26 b(deletion)9 b
-Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)35 b Fs(35)2025 4813 y(\014le)26 b(m)n(ultiplication)8
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
-b Fs(175)2025 4901 y(\014le)26 b(remo)n(v)l(al)11 b Fa(:)i(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fs(35)2025 4989 y(\014le)26 b(reten)n(tion)8 b Fa(:)k(:)i(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b
-Fs(35)2025 5077 y(\014les,)26 b(m)n(ultiple)12 b Fa(:)h(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(29)2025
-5164 y(\014les,)26 b(n)n(umerous)f(input)d Fa(:)13 b(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)49 b Fs(19)2025 5252 y(Filip)r(e)26 b(F)-6
-b(ernandes)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Fs(212)2025 5340 y(\014lters)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48
-b Fs(184)p eop end
+g(:)g(:)g(:)35 b Fs(40,)27 b(186,)g(188)p eop end
%%Page: 261 267
TeXDict begin 261 266 bop 150 -116 a FD(General)31 b(Index)2902
-b(261)150 299 y Fs(\014ndgen-equiv)l(alen)n(t)16 b Fa(:)c(:)h(:)g(:)g
+b(261)150 299 y FB(F)150 416 y Fr(f90)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)37 b Fs(8)150 503 y(features,)27 b(requesting)13
+b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(13)150
+591 y(File)27 b(bu\013ers)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41 b Fs(79)150 679
+y(\014le)26 b(com)n(bination)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)45 b Fs(217)150 766 y(\014le)26 b(deletion)9
+b Fa(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)35 b Fs(35)150 854 y(\014le)26 b(m)n(ultiplication)8
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35
+b Fs(175)150 941 y(\014le)26 b(remo)n(v)l(al)11 b Fa(:)i(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
+b Fs(35)150 1029 y(\014le)26 b(reten)n(tion)8 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fs(35)150 1117 y(\014les,)26 b(m)n(ultiple)12 b Fa(:)i(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(29)150
+1204 y(\014les,)26 b(n)n(umerous)g(input)21 b Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(19)150 1292 y(Filip)r(e)27
+b(F)-6 b(ernandes)8 b Fa(:)k(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)34 b Fs(212)150 1379 y(\014lters)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fs(184)150 1467 y(\014ndgen-equiv)l(alen)n(t)16 b Fa(:)c(:)h(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(110)150 387 y(\014x)25
+g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(110)150 1555 y(\014x)25
b(record)h(dimension)d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)49 b Fs(170,)27 b(172,)g(179)150
-475 y(\014xed)e(dimension)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+1642 y(\014xed)e(dimension)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)47 b Fs(170,)27 b(172,)g(178,)g(179)150
-563 y(\015ags)7 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b
-Fs(149)150 651 y(\015atten)25 b(\(groups\))9 b Fa(:)k(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(46)150 739
-y(\015attening)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(39)150 828 y
-Fr(float)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(153)150 916
+1730 y(\015ags)7 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33
+b Fs(149)150 1817 y(\015atten)25 b(\(groups\))9 b Fa(:)k(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(46)150
+1905 y(\015attening)9 b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(39)150 1993
+y Fr(float)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(153)150 2080
y(\015oat\(\))11 b Fa(:)i(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(121)150
-1004 y Fm(\015o)r(or)26 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+2168 y Fm(\015o)r(or)26 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fs(151)150 1092 y(\015o)r(or)26 b(function)9 b Fa(:)k(:)h(:)f(:)g(:)g
+b Fs(151)150 2256 y(\015o)r(or)26 b(function)9 b Fa(:)k(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(151)150
-1180 y(`)p Fr(flt_byt)p Fs(')8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g
+2343 y(`)p Fr(flt_byt)p Fs(')8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(190)150
-1268 y(`)p Fr(flt_sht)p Fs(')8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(191)150
+2431 y(`)p Fr(flt_sht)p Fs(')8 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(190)150
-1356 y(for\(\))23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(191)150
+2518 y(for\(\))23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b
-Fs(124)150 1444 y(force)27 b(app)r(end)21 b Fa(:)13 b(:)g(:)g(:)g(:)g
+Fs(124)150 2606 y(force)27 b(app)r(end)21 b Fa(:)13 b(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(97)150
-1532 y(force)27 b(o)n(v)n(erwrite)7 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+2694 y(force)27 b(o)n(v)n(erwrite)7 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fs(97)150 1621 y(forew)n(ord)9
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fs(97)150 2781 y(forew)n(ord)9
b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(1)150 1709 y(F)-6 b(ortran)17
+f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(1)150 2869 y(F)-6 b(ortran)17
b Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43
-b Fs(91,)27 b(197,)g(199)150 1797 y(F)-6 b(ortran)26
+b Fs(91,)27 b(198,)g(200)150 2956 y(F)-6 b(ortran)26
b(index)f(con)n(v)n(en)n(tion)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(54)150 1885 y Fm(F)n(OR)-6 b(TRAN)p 542 1885 24
+b Fs(54)150 3044 y Fm(F)n(OR)-6 b(TRAN)p 542 3044 24
4 v 32 w(format)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(24)150 1973 y(F)-6 b(rancesco)27 b(Lo)n(v)n(ergine)17
+b Fs(24)150 3132 y(F)-6 b(rancesco)27 b(Lo)n(v)n(ergine)17
b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(212)150 2061
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(212)150 3219
y Fr(ftp)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fs(8,)26
-b(30)150 2149 y Fp(FTP)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(30)150 3307 y Fp(FTP)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fs(35)150 2237 y(funding)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(35)150 3394 y(funding)23 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b
-Fs(213)150 2492 y FB(G)150 2609 y Fr(g++)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)
+Fs(213)150 3646 y FB(G)150 3763 y Fr(g++)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)37 b Fs(6)150 2698 y Fr(g++)10 b Fa(:)k(:)f(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)37 b Fs(6)150 3851 y Fr(g++)10 b Fa(:)k(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)37 b Fs(8)150 2786 y(`)p Fr(g2d)p
+(:)g(:)g(:)g(:)g(:)37 b Fs(8)150 3938 y(`)p Fr(g2d)p
Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(73)150
-2874 y(`)p Fr(g3d)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+4026 y(`)p Fr(g3d)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fs(73)150 2962 y Fp(GA)n(G)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(73)150 4113 y Fp(GA)n(G)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(170)150 3050 y Fm(gamma)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(170)150 4201 y Fm(gamma)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47 b Fs(7,)26
-b(151)150 3138 y(gamma)h(function)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
+b(151)150 4289 y(gamma)h(function)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)45 b Fs(134,)27 b(151)150 3226 y(Gary)f(Strand)7 b
+(:)45 b Fs(134,)27 b(151)150 4376 y(Gary)f(Strand)7 b
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-34 b Fs(212)150 3314 y(Gaussian)27 b(w)n(eigh)n(ts)14
+34 b Fs(212)150 4464 y(Gaussian)27 b(w)n(eigh)n(ts)14
b Fa(:)g(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b
-Fs(208)150 3402 y(Ga)n(vin)26 b(Burris)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)h
+Fs(209)150 4551 y(Ga)n(vin)26 b(Burris)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(212)150 3491
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(212)150 4639
y(Ga)n(y)n(athri)26 b(V)-6 b(enkitac)n(halam)14 b Fa(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41
-b Fs(212)150 3579 y Fr(gcc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(212)150 4727 y Fr(gcc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fs(6)150 3667 y Fr(gcc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)37 b Fs(6)150 4814 y Fr(gcc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)37 b Fs(8)150 3755 y Fp(GCM)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)g(:)37 b Fs(8)150 4902 y Fp(GCM)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(15,)26 b(93)150 3843 y(geographical)i(w)n(eigh)n(t)7
+b Fs(15,)26 b(94)150 4990 y(geographical)i(w)n(eigh)n(t)7
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(233)150
-3931 y(George)27 b(Shapa)n(v)l(alo)n(v)19 b Fa(:)13 b(:)g(:)g(:)g(:)g
+5077 y(George)27 b(Shapa)n(v)l(alo)n(v)19 b Fa(:)13 b(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)46 b Fs(212)150 4019 y(George)27 b(Shap)r(o)n(v)l(alo)n
+f(:)g(:)g(:)g(:)46 b Fs(212)150 5165 y(George)27 b(Shap)r(o)n(v)l(alo)n
(v)18 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
-b Fs(212)150 4107 y(George)27 b(White)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
+b Fs(212)150 5252 y(George)27 b(White)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fs(212)150 4195
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fs(212)150 5340
y Fr(get_miss\(\))24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(118)150 4284 y Fr(gethostname)7
-b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)33 b Fs(8)150 4372 y Fr(getopt)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(27)150 4460 y Fr(getopt.h)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fs(27)150 4548 y Fr(getopt_long)24 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(118)2025 299 y Fr(gethostname)7
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(27)150 4636
-y Fr(getuid)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(8)150
-4724 y(Glenn)26 b(Da)n(vis)11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)g(:)34 b Fs(8)2025 387 y Fr(getopt)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(211)150 4812 y Fr(global)27
-b Fs(attribute)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fs(160,)27 b(202)150 4900 y(global)g(attributes)11
-b Fa(:)i(:)g(:)38 b Fs(20,)26 b(97,)h(101,)g(157,)g(160,)h(176,)f(177,)
-304 4988 y(186,)g(202,)g(203)150 5076 y(globbing)c Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(20,)26
-b(28,)h(45,)g(150,)g(163,)g(197,)g(199)150 5164 y Fp(GNU)9
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fs(27)2025 475 y Fr(getopt.h)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)36 b Fs(27,)26 b(43)150 5252 y Fr(gnu-win32)12
-b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)38 b Fs(8)150 5340 y Fp(GNU)p Fs(/Lin)n(ux)7
-b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)33 b Fs(21)2025 299 y Fr(GNUmakefile)7 b Fa(:)15
-b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-34 b Fs(8)2025 387 y(Go)r(d)12 b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
-b Fs(68)2025 475 y Fp(GOD)n(AD)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b
-Fs(217)2025 563 y Fr(grep)26 b(-E)c Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48
-b Fs(43)2025 651 y(group)26 b(aggregation)e Fa(:)13 b(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fs(170,)27 b(219)2025 739 y(group)f(names)21 b Fa(:)14
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
+Fs(27)2025 563 y Fr(getopt_long)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(27)2025 651
+y Fr(getuid)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(8)2025
+739 y(Glenn)25 b(Da)n(vis)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(211)2025 827 y Fr(global)27
+b Fs(attribute)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38
+b Fs(160,)27 b(203)2025 915 y(global)g(attributes)13
+b Fa(:)g(:)g(:)g(:)40 b Fs(20,)27 b(97,)f(98,)h(101,)g(157,)g(160,)g
+(176,)2178 1003 y(177,)g(186,)h(203,)f(204)2025 1091
+y(globbing)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fs(20,)27 b(28,)g(45,)f(150,)i(163,)f(198,)g(200)2025
+1179 y Fp(GNU)9 b Fa(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(27,)27 b(43)2025
+1267 y Fr(gnu-win32)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(8)2025 1355
+y Fp(GNU)p Fs(/Lin)n(ux)7 b Fa(:)12 b(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fs(21)2025 1443
+y Fr(GNUmakefile)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(8)2025 1531 y(Go)r(d)12
+b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(69)2025 1619
+y Fp(GOD)n(AD)15 b Fa(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fs(217)2025 1707
+y Fr(grep)26 b(-E)c Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(43)2025
+1795 y(group)26 b(aggregation)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(170,)27 b(219)2025 1883 y(group)f(names)21 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48
-b Fs(201)2025 827 y(group)26 b(path)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(46)2025
-915 y(group,)26 b(aggregation)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)34 b Fs(231)2025 1003 y(group,)26 b(anomaly)8
+b Fs(202)2025 1971 y(group)26 b(path)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(46)2025
+2059 y(group,)26 b(aggregation)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)34 b Fs(231)2025 2148 y(group,)26 b(anomaly)8
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35
-b Fs(231)2025 1091 y(group,)26 b(dimension)g(p)r(erm)n(utation)17
+b Fs(231)2025 2236 y(group,)26 b(dimension)g(p)r(erm)n(utation)17
b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44
-b Fs(231)2025 1179 y(group,)26 b(spatial)h(a)n(v)n(eraging)21
+b Fs(231)2025 2324 y(group,)26 b(spatial)h(a)n(v)n(eraging)21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(231)2025 1268 y(group,)26
+(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(231)2025 2412 y(group,)26
b(standard)f(deviation)e Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 b Fs(231)2025
-1356 y(group,)26 b(temp)r(oral)g(a)n(v)n(eraging)15 b
+2500 y(group,)26 b(temp)r(oral)g(a)n(v)n(eraging)15 b
Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)42 b Fs(231)2025 1444 y(groups)11 b Fa(:)i(:)g(:)g(:)h(:)f
+(:)g(:)g(:)42 b Fs(231)2025 2588 y(groups)11 b Fa(:)i(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fs(10,)27 b(160)2025 1532 y(groups,)f(a)n(v)n(eraging)10
+b Fs(10,)27 b(160)2025 2676 y(groups,)f(a)n(v)n(eraging)10
b Fa(:)k(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b
-Fs(225)2025 1620 y(groups,)26 b(creating)17 b Fa(:)d(:)f(:)h(:)f(:)g(:)
+Fs(225)2025 2764 y(groups,)26 b(creating)17 b Fa(:)d(:)f(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(219)2025 1708 y(groups,)26
+(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(219)2025 2852 y(groups,)26
b(mo)n(ving)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)42 b Fs(48)2025 1796 y(groups,)26 b(renaming)15 b
+g(:)42 b Fs(48)2025 2940 y(groups,)26 b(renaming)15 b
Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)41
-b Fs(48)2025 1884 y(gro)n(wing)27 b(dimensions)9 b Fa(:)14
+b Fs(48)2025 3028 y(gro)n(wing)27 b(dimensions)9 b Fa(:)14
b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fs(149)2025 1972
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fs(149)2025 3116
y Fp(GSL)8 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)34 b Fs(7,)27 b(134,)g(142)2025 2060
-y Fm(gsl)p 2119 2060 V 35 w(sf)p 2207 2060 V 34 w(b)r(essel)p
-2435 2060 V 35 w(Jn)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)34 b Fs(7,)27 b(134,)g(142)2025 3204
+y Fm(gsl)p 2119 3204 V 35 w(sf)p 2207 3204 V 34 w(b)r(essel)p
+2435 3204 V 35 w(Jn)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)35 b Fs(134)2025 2148 y Fm(gsl)p 2119 2148
-V 35 w(sf)p 2207 2148 V 34 w(gamma)8 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)35 b Fs(134)2025 3293 y Fm(gsl)p 2119 3293
+V 35 w(sf)p 2207 3293 V 34 w(gamma)8 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35 b Fs(134)2025 2236
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35 b Fs(134)2025 3381
y Fr(gsl_sf_legendre_Pl)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(135)2025 2324 y Fr(gw)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(135)2025 3469 y Fr(gw)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fs(98,)27 b(208)2025 2580 y FB(H)2025 2698 y Fp(H4CF)8
+b Fs(98,)27 b(209)2025 3725 y FB(H)2025 3843 y Fp(H4CF)8
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35 b Fs(12)2025 2786
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35 b Fs(12)2025 3931
y Fr(h4tonccf)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(12)2025 2874
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(12)2025 4019
y(Harry)25 b(Mangalam)16 b Fa(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)43 b Fs(211)2025 2962 y(hash)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
+g(:)43 b Fs(211)2025 4107 y(hash)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)33 b Fs(77)2025 3050 y Fp(HDF)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)33 b Fs(78)2025 4195 y Fp(HDF)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(9,)26 b(35,)h(178,)g(213)2025
-3138 y Fp(HDF)e Fs(unpac)n(king)11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+4283 y Fp(HDF)e Fs(unpac)n(king)11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(82)2025 3227 y Fr(hdf_name)12
+g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(83)2025 4371 y Fr(hdf_name)12
b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)39 b Fs(12)2025 3315 y Fp(HDF4)11 b Fa(:)i(:)g(:)g(:)g
+(:)g(:)g(:)g(:)39 b Fs(12)2025 4459 y Fp(HDF4)11 b Fa(:)i(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fs(11,)27 b(178)2025 3403 y Fp(HDF5)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)33 b Fs(10)2025 3491 y Fr(hdp)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
-b Fs(178)2025 3579 y(help)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(11,)27 b(178)2025 4547 y Fr(HDF4_UNKNOWN)21 b Fa(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fs(11)2025 4635 y Fp(HDF5)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33
+b Fs(10)2025 4723 y Fr(hdp)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
+b Fs(178)2025 4812 y(help)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
-b Fs(13)2025 3667 y(Henry)24 b(Buto)n(wsky)f Fa(:)14
+b Fs(13)2025 4900 y(Henry)24 b(Buto)n(wsky)f Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b Fs(211)2025
-3755 y(`)p Fr(hgh_byt)p Fs(')8 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g
+4988 y(`)p Fr(hgh_byt)p Fs(')8 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(190)2025
-3843 y(`)p Fr(hgh_sht)p Fs(')8 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(191)2025
+5076 y(`)p Fr(hgh_sht)p Fs(')8 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(190)2025
-3931 y(hidden)25 b(attributes)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(191)2025
+5164 y(hidden)25 b(attributes)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)40 b Fs(178)2025 4019 y(Hierarc)n(hical)27
-b(Data)f(F)-6 b(ormat)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fs(9)2025 4107 y Fr(history)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fs(21,)27
-b(30,)g(97,)g(101,)g(156,)g(185)2025 4195 y Fr(hncgen)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)42 b Fs(178)2025 4283 y Fp(HP)18 b
-Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fs(6)2025
-4371 y Fp(HPSS)11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b
-Fs(31)2025 4459 y Fr(hsi)8 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fs(31)2025 4547 y Fp(HTML)14 b Fa(:)e(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41
-b Fs(5)2025 4635 y Fp(HTTP)25 b Fs(proto)r(col)c Fa(:)13
-b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(32)2025 4724 y Fr(hyai)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(98)2025 4812 y Fr(hyam)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(98)2025 4900 y Fr(hybi)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(98)2025 4988 y Fr(hybm)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(98)2025 5076 y(h)n(ybrid)24 b(co)r(ordinate)j(system)15
-b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)42 b Fs(110)2025 5164 y(h)n(yp)r(erb)r(olic)25
-b(arccosine)j(function)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fs(151)2025 5252
-y(h)n(yp)r(erb)r(olic)25 b(arcsine)i(function)20 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)47 b Fs(151)2025 5340 y(h)n(yp)r(erb)r(olic)25 b(arctangen)n(t)h
-(function)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)36 b Fs(151)p eop end
+g(:)g(:)g(:)40 b Fs(178)2025 5252 y(hidden)25 b(features)12
+b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fs(182)2025 5340 y(Hierarc)n(hical)27 b(Data)f(F)-6
+b(ormat)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(9)p eop end
%%Page: 262 268
TeXDict begin 262 267 bop 150 -116 a FD(262)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fs(h)n(yp)r(erb)r(olic)c(cosine)g
-(function)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(151)150 387 y(h)n(yp)r(erb)r(olic)26
+b FD(4.4.6)j(User)d(Guide)150 299 y Fr(history)6 b Fa(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33
+b Fs(21,)26 b(30,)h(97,)g(101,)g(156,)g(186)150 387 y
+Fr(hncgen)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(178)150 475 y
+Fp(HP)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fs(6)150 563 y Fp(HPSS)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
+b Fs(31)150 651 y Fr(hsi)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fs(31)150 739 y Fp(HTML)14 b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)40
+b Fs(5)150 827 y Fp(HTTP)25 b Fs(proto)r(col)c Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46
+b Fs(32)150 916 y Fr(hyai)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(98)150 1004 y Fr(hyam)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(98)150 1092 y Fr(hybi)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(98)150 1180 y Fr(hybm)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(98)150 1268 y(h)n(ybrid)24 b(co)r(ordinate)j(system)15
+b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)41 b Fs(110)150 1356 y(h)n(yp)r(erb)r(olic)26
+b(arccosine)h(function)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fs(151)150 1444 y(h)n(yp)r(erb)r
+(olic)26 b(arcsine)g(function)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fs(151)150
+1532 y(h)n(yp)r(erb)r(olic)26 b(arctangen)n(t)g(function)9
+b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35
+b Fs(151)150 1620 y(h)n(yp)r(erb)r(olic)26 b(cosine)g(function)18
+b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)45 b Fs(151)150 1708 y(h)n(yp)r(erb)r(olic)26
b(sine)g(function)20 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(151)150
-475 y(h)n(yp)r(erb)r(olic)26 b(tangen)n(t)c Fa(:)13 b(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)49 b Fs(151)150 563 y(h)n(yp)r(erslab)18
-b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(55,)27
-b(73,)g(167,)g(170,)g(197,)g(199,)g(205)150 651 y(h)n(yp)r(erslabs)7
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)34 b Fs(111)150 905 y FB(I)150 1022 y Fs(I/O)16
-b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)43 b Fs(34,)27 b(54,)f(61)150 1110 y(I/O)f(blo)r(c)n(k)h(size)17
-b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(79)150 1198 y(I18N)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fs(25)150 1286 y Fp(IBM)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(6)150 1374 y Fr(icc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-37 b Fs(6)150 1462 y(ID)25 b(Quoting)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(153)150
-1550 y Fp(IDL)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+1796 y(h)n(yp)r(erb)r(olic)26 b(tangen)n(t)c Fa(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(151)150 1885
+y(h)n(yp)r(erslab)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
+b Fs(55,)27 b(73,)g(167,)g(170,)g(198,)g(200,)g(206)150
+1973 y(h)n(yp)r(erslabs)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(111)150 2227
+y FB(I)150 2345 y Fs(I/O)16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)43 b Fs(34,)27 b(54,)f(61)150
+2433 y(I/O)f(blo)r(c)n(k)h(size)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(79)150 2521 y(I18N)20
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(25)150 2609 y
+Fp(IBM)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b
+Fs(6)150 2697 y Fr(icc)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fs(6)150 2785 y(ID)25 b(Quoting)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(153)150
+2873 y Fp(IDL)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
-b Fs(15)150 1638 y Fp(IEEE)16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(15)150 2961 y Fp(IEEE)16 b Fa(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
-b Fs(90)150 1726 y Fp(IEEE)26 b Fs(NaN)10 b Fa(:)i(:)h(:)h(:)f(:)g(:)g
+b Fs(90)150 3050 y Fp(IEEE)26 b Fs(NaN)10 b Fa(:)i(:)h(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b
-Fs(159)150 1814 y(if\(\))12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fs(159)150 3138 y(if\(\))12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
-b Fs(115)150 1902 y Fr(ilimit)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(115)150 3226 y Fr(ilimit)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(21)150 1990 y(illegal)28 b(names)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)
+b Fs(22)150 3314 y(illegal)28 b(names)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(12)150
-2078 y(implicit)27 b(con)n(v)n(ersion)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+3402 y(implicit)27 b(con)n(v)n(ersion)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)34 b Fs(90)150 2166 y Fr(include)12
+h(:)f(:)g(:)g(:)g(:)34 b Fs(91)150 3490 y Fr(include)12
b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)39 b Fs(125)150 2254 y(including)26 b(\014les)c
+(:)h(:)f(:)g(:)39 b Fs(125)150 3578 y(including)26 b(\014les)c
Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
-b Fs(105)150 2342 y(index)25 b(con)n(v)n(en)n(tion)d
+b Fs(105)150 3666 y(index)25 b(con)n(v)n(en)n(tion)d
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Fs(54)150 2430 y(indgen-equiv)l(alen)n(t)10 b Fa(:)i(:)h(:)g(:)g(:)g
+b Fs(54)150 3754 y(indgen-equiv)l(alen)n(t)10 b Fa(:)i(:)h(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(110)150 2518 y(inexact)26
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(110)150 3842 y(inexact)26
b(con)n(v)n(ersion)13 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
-b Fs(152)150 2606 y(Info)20 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(152)150 3930 y(Info)20 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47
-b Fs(5)150 2694 y(input)25 b(\014les)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)
+b Fs(5)150 4019 y(input)25 b(\014les)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(20,)27 b(28,)f(30)150
-2782 y Fm(input-path)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+4107 y Fm(input-path)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)40 b Fs(28,)26 b(32)150 2870 y(installation)7
+(:)g(:)h(:)f(:)g(:)40 b Fs(28,)26 b(32)150 4195 y(installation)7
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-33 b Fs(6,)26 b(14)150 2958 y(in)n(t\(\))c Fa(:)13 b(:)h(:)f(:)g(:)g(:)
+33 b Fs(6,)26 b(14)150 4283 y(in)n(t\(\))c Fa(:)13 b(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-49 b Fs(121)150 3046 y(in)n(t64\(\))19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+49 b Fs(121)150 4371 y(in)n(t64\(\))19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fs(121)150 3134 y(in)n(tegration)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g
+b Fs(121)150 4459 y(in)n(tegration)18 b Fa(:)d(:)e(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(207)150
-3222 y(in)n(tegrit)n(y)10 b Fa(:)j(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(208)150
+4547 y(in)n(tegrit)n(y)10 b Fa(:)j(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(77)150
-3310 y(In)n(tel)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(78)150
+4635 y(In)n(tel)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(6)150 3398 y(In)n(ternationalization)9 b Fa(:)14
+b Fs(6)150 4723 y(In)n(ternationalization)9 b Fa(:)14
b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(25)150
-3486 y(in)n(terop)r(erabilit)n(y)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)h(:)
+4811 y(in)n(terop)r(erabilit)n(y)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(82)150 3574 y(in)n(terp)r(olation)7
+(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(83)150 4900 y(in)n(terp)r(olation)7
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34
-b Fs(173,)27 b(236)150 3662 y(in)n(tersection)16 b Fa(:)e(:)f(:)g(:)g
+b Fs(173,)27 b(236)150 4988 y(in)n(tersection)16 b Fa(:)e(:)f(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(40,)26
-b(42)150 3750 y(in)n(tro)r(duction)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g
+b(42)150 5076 y(in)n(tro)r(duction)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)42 b Fs(5)150
-3838 y Fr(invert_map)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+5164 y Fr(invert_map)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(125)150 3926 y Fp(IPCC)15
+g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(125)150 5252 y Fp(IPCC)15
b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)42 b Fs(167,)27 b(213)150 4014 y(irregular)g(grids)15
+(:)g(:)42 b Fs(167,)27 b(213)150 5340 y(irregular)g(grids)15
b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)41
-b Fs(130)150 4102 y Fp(ISO)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)36 b Fs(6)150 4340 y FB(J)150 4457 y Fs(James)27
-b(Gallagher)8 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-35 b Fs(211)150 4545 y(Jim)26 b(Edw)n(ards)15 b Fa(:)f(:)f(:)g(:)h(:)f
+b Fs(130)2025 299 y Fp(ISO)9 b Fa(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)36 b Fs(6)2025 536 y FB(J)2025 653 y Fs(James)27 b(Gallagher)8
+b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35
+b Fs(211)2025 741 y(Jim)26 b(Edw)n(ards)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(212)2025
+829 y(Jo)r(e)27 b(Hamman)13 b Fa(:)f(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(211)2025 917 y(John)26
+b(Caron)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)48 b Fs(211)2025 1005 y(Juliana)27 b(Rew)10 b
+Fa(:)j(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fs(212)2025 1242 y FB(K)2025 1360 y Fs(Karen)25 b(Sc)n(h)n(uc)n
+(hardt)18 b Fa(:)12 b(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
+b Fs(212)2025 1448 y(Keith)25 b(Lindsa)n(y)15 b Fa(:)e(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(212)2025
+1536 y(kitc)n(hen)25 b(sink)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(212)150
-4633 y(Jo)r(e)27 b(Hamman)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(211)150 4721 y(John)26
-b(Caron)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)48 b Fs(211)150 4809 y(Juliana)27 b(Rew)10 b
-Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(212)150 5046 y FB(K)150 5164 y Fs(Karen)26 b(Sc)n(h)n(uc)n(hardt)
-18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45
-b Fs(212)150 5252 y(Keith)25 b(Lindsa)n(y)15 b Fa(:)e(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fs(212)150 5340
-y(kitc)n(hen)25 b(sink)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)43 b Fs(176)2025 299 y(Kyle)25
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(176)2025 1624 y(Kyle)25
b(Wilco)n(x)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)38 b Fs(212)2025 553 y FB(L)2025 671 y Fs(L10N)9
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(25)2025 759 y(large)27
-b(datasets)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)39
-b Fs(21,)27 b(26)2025 847 y(Large)f(File)h(Supp)r(ort)10
-b Fa(:)i(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(21,)27 b(40)2025
-935 y Fr(lat_bnds)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+f(:)g(:)g(:)38 b Fs(212)2025 1877 y FB(L)2025 1995 y
+Fs(L10N)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(25)2025
+2083 y(large)27 b(datasets)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)39 b Fs(21,)27 b(26)2025 2171 y(Large)f(File)h(Supp)r(ort)
+10 b Fa(:)i(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(21,)27 b(40)2025
+2259 y Fr(lat_bnds)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(98)2025 1023
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(98)2025 2347
y Fr(LD_LIBRARY_PATH)13 b Fa(:)k(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)41 b Fs(9)2025 1111 y(left)26 b(hand)f(casting)12
+(:)g(:)g(:)41 b Fs(9)2025 2435 y(left)26 b(hand)f(casting)12
b Fa(:)i(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(23,)27 b(110)2025
-1199 y(Legendre)f(p)r(olynomial)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+2522 y(Legendre)f(p)r(olynomial)c Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
-b Fs(135)2025 1287 y(Lemp)r(el-Ziv)25 b(de\015ation)8
+b Fs(135)2025 2610 y(Lemp)r(el-Ziv)25 b(de\015ation)8
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(77)2025
-1375 y(Len)25 b(Makin)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+2698 y(Len)25 b(Makin)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(212)2025 1463
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(212)2025 2786
y(lexer)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fs(104)2025
-1551 y(`)p Fr(lfp)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+2874 y(`)p Fr(lfp)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(74)2025 1639 y(LFS)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b
-Fs(21,)27 b(40)2025 1727 y Fp(LHS)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fs(74)2025 2962 y Fp(LFS)8 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35
+b Fs(21,)27 b(40)2025 3050 y Fp(LHS)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(110)2025 1815 y Fr(libnco)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(110)2025 3138 y Fr(libnco)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46
-b Fs(6)2025 1903 y(libraries)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(6)2025 3226 y(libraries)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
-b Fs(9)2025 1991 y(link)n(ers)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+b Fs(9)2025 3314 y(link)n(ers)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fs(30)2025 2079 y(Lin)n(ux)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(30)2025 3402 y(Lin)n(ux)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(153)2025 2167 y Fp(LL)-8 b(VM)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fs(153)2025 3490 y Fp(LL)-8 b(VM)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)48 b Fs(6)2025 2255 y Fm(ln)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)48 b Fs(6)2025 3578 y Fm(ln)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)42 b Fs(151)2025 2343 y Fr(ln)26 b(-s)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)
+(:)42 b Fs(151)2025 3666 y Fr(ln)26 b(-s)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(163,)27 b(190)2025 2432 y Fm(log)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
+b Fs(163,)27 b(191)2025 3754 y Fm(log)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)39 b Fs(151)2025 2520 y Fm(log10)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)
+g(:)g(:)39 b Fs(151)2025 3842 y Fm(log10)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-35 b Fs(151)2025 2608 y(logarithm,)27 b(base)f(10)11
+35 b Fs(151)2025 3930 y(logarithm,)27 b(base)f(10)11
b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(151)2025
-2696 y(logarithm,)27 b(natural)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+4018 y(logarithm,)27 b(natural)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)40 b Fs(151)2025 2784 y Fr(lon_bnds)12 b Fa(:)j(:)e(:)g(:)g(:)g
+g(:)g(:)40 b Fs(151)2025 4106 y Fr(lon_bnds)12 b Fa(:)j(:)e(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(98)2025 2872 y Fr(long)26 b(double)9 b Fa(:)15 b(:)e(:)g(:)g(:)g
+b Fs(98)2025 4194 y Fr(long)26 b(double)9 b Fa(:)15 b(:)e(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(153)2025
-2960 y(long)26 b(options)20 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+4282 y(long)26 b(options)20 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)46 b Fs(27,)27 b(195)2025 3048 y(long-term)f(a)n(v)n(erage)
+f(:)g(:)g(:)46 b Fs(27,)27 b(196)2025 4370 y(long-term)f(a)n(v)n(erage)
21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)47
-b Fs(223)2025 3136 y(longitude)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+b Fs(223)2025 4458 y(longitude)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b
-Fs(63)2025 3224 y(Lori)26 b(Sen)n(tman)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+Fs(63)2025 4546 y(Lori)26 b(Sen)n(tman)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fs(212)2025
-3312 y Fr(lrint\(\).)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+4634 y Fr(lrint\(\).)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(90)2025
-3400 y Fr(lround\(\).)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+4722 y Fr(lround\(\).)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(90)2025 3488
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(90)2025 4810
y(Luk)25 b(Claes)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)43 b Fs(212)2025 3725 y FB(M)2025
-3843 y Fs(Macin)n(tosh)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)g(:)43 b Fs(212)2025 5046 y FB(M)2025
+5164 y Fs(Macin)n(tosh)15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fs(6)2025
-3931 y Fr(Makefile)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+5252 y Fr(Makefile)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)39 b Fs(6,)26 b(8,)g(33)2025 4019 y Fr(malloc\(\))12
+g(:)h(:)f(:)g(:)39 b Fs(6,)26 b(8,)g(33)2025 5340 y Fr(malloc\(\))12
b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)39 b Fs(23)2025 4107 y(man)n(tissa)23
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)49 b Fs(95)2025 4195 y(man)n(ual)26 b(t)n(yp)r(e)e(con)
-n(v)n(ersion)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fs(88)2025
-4283 y(`)p Fr(map_dmn)p Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b
-Fs(74)2025 4371 y(`)p Fr(map_lfp)p Fs(')10 b Fa(:)15
-b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)37 b Fs(74)2025 4460 y(`)p Fr(map_prd)p Fs(')10
-b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)37 b Fs(74)2025 4548 y(`)p Fr(map_rd1)p
-Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 4636 y(`)p Fr(map_scl)p
-Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 4724 y(`)p Fr(map_xst)p
-Fs(')10 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(74)2025 4812 y(Mark)26
-b(Flanner)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)47 b Fs(212)2025 4900 y(Markus)26 b(Liebig)10
-b Fa(:)k(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37
-b Fs(212)2025 4988 y(Martin)26 b(Dix)12 b Fa(:)g(:)h(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)38 b Fs(212)2025
-5076 y(Martin)26 b(Otte)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)39 b Fs(213)2025 5164 y(Martin)26
-b(Sc)n(hmidt)19 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-46 b Fs(212)2025 5252 y(Martin)26 b(Sc)n(h)n(ultz)20
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47
-b Fs(51)2025 5340 y(mask)16 b Fa(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fs(130,)27 b(149)p
-eop end
+(:)g(:)g(:)g(:)39 b Fs(23)p eop end
%%Page: 263 269
TeXDict begin 263 268 bop 150 -116 a FD(General)31 b(Index)2902
-b(263)150 299 y Fs(mask)26 b(condition)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g
+b(263)150 299 y Fs(man)n(tissa)23 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(95)150 387 y(man)n(ual)26 b(t)n(yp)r(e)f(con)n(v)n(ersion)12
+b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(89)150 476 y(`)p
+Fr(map_dmn)p Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(74)150
+564 y(`)p Fr(map_lfp)p Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b
+Fs(74)150 653 y(`)p Fr(map_prd)p Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
+b Fs(74)150 741 y(`)p Fr(map_rd1)p Fs(')10 b Fa(:)16
+b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)37 b Fs(74)150 830 y(`)p Fr(map_scl)p Fs(')10
+b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)37 b Fs(74)150 918 y(`)p Fr(map_xst)p
+Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)45 b Fs(206,)27 b(209)150 390 y(mask)n(ed)f(a)n(v)n(erage)8
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(74)150 1006 y(Mark)26
+b(Flanner)20 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)47 b Fs(212)150 1095 y(Markus)26 b(Liebig)10 b
+Fa(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fs(212)150 1183 y(Martin)26 b(Dix)12 b Fa(:)g(:)i(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(212)150
+1272 y(Martin)26 b(Otte)12 b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(213)150 1360 y(Martin)26
+b(Sc)n(hmidt)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+46 b Fs(212)150 1449 y(Martin)26 b(Sc)n(h)n(ultz)20 b
+Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
+b Fs(51)150 1537 y(mask)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fs(130,)27 b(149)150
+1625 y(mask)f(condition)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
+b Fs(207,)27 b(210)150 1714 y(mask)n(ed)f(a)n(v)n(erage)8
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fs(205)150 481 y(Mass)27 b(Store)f(System)20 b Fa(:)13
+b Fs(206)150 1802 y(Mass)27 b(Store)f(System)20 b Fa(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47 b Fs(30)150
-572 y(Matej)27 b(V)-6 b(ela)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+1891 y(Matej)27 b(V)-6 b(ela)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(212)150 1979
+y(mathematical)27 b(functions)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
+b Fs(151)150 2068 y(Matlab)14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)41
+b Fs(15)150 2156 y Fr(max)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(212)150 663 y(mathematical)27
-b(functions)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(151)150
-754 y(Matlab)14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)41 b Fs(15)150
-845 y Fr(max)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Fs(83)150 936 y(max\(\))14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fs(84)150 2245 y(max\(\))14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fs(119)150 1027 y(maxim)n(um)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(119)150 2333 y(maxim)n(um)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b
-Fs(83)150 1119 y(MD5)26 b(digest)8 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g
+Fs(84)150 2421 y(MD5)26 b(digest)8 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(77)150
-1210 y(mean)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(78)150
+2510 y(mean)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(83)150
-1301 y(memory)26 b(a)n(v)l(ailable)18 b Fa(:)c(:)g(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(84)150
+2598 y(memory)26 b(a)n(v)l(ailable)18 b Fa(:)c(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)45 b Fs(22,)26 b(79)150 1392 y(memory)g(leaks)6 b
+h(:)45 b Fs(22,)26 b(80)150 2687 y(memory)g(leaks)6 b
Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-33 b Fs(23)150 1483 y(memory)26 b(requiremen)n(ts)c Fa(:)13
+33 b Fs(23)150 2775 y(memory)26 b(requiremen)n(ts)c Fa(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Fs(22,)27 b(43,)f(79)150 1574 y(merging)h(\014les)13
+b Fs(22,)27 b(43,)f(80)150 2864 y(merging)h(\014les)13
b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(17,)27 b(176)150 1665 y(metadata)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+b Fs(17,)27 b(176)150 2952 y(metadata)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36
-b Fs(181)150 1756 y(metadata)26 b(optimization)9 b Fa(:)15
+b Fs(181)150 3041 y(metadata)26 b(optimization)9 b Fa(:)15
b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(25)150 1847 y(metadata,)27
+(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(25)150 3129 y(metadata,)27
b(global)9 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(171,)27
-b(180)150 1938 y(Mic)n(hael)g(Dec)n(k)n(er)15 b Fa(:)d(:)h(:)g(:)g(:)h
+b(180)150 3217 y(Mic)n(hael)g(Dec)n(k)n(er)15 b Fa(:)d(:)h(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(51)150 2029
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(51)150 3306
y(Mic)n(hael)27 b(Prather)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)43 b Fs(95)150 2120 y(Mic)n(hael)27 b(Sc)n(h)n(ulz)19
+h(:)f(:)g(:)g(:)43 b Fs(95)150 3394 y(Mic)n(hael)27 b(Sc)n(h)n(ulz)19
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
-b Fs(212)150 2211 y(Microsoft)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)
+b Fs(212)150 3483 y(Microsoft)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(6,)26
-b(7)150 2303 y(Microsoft)i(Visual)e(Studio)12 b Fa(:)g(:)i(:)f(:)g(:)g
+b(7)150 3571 y(Microsoft)i(Visual)e(Studio)12 b Fa(:)g(:)i(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)39 b Fs(7)150 2394 y(Mik)n(e)26 b(F)-6 b(olk)21
+g(:)g(:)39 b Fs(7)150 3660 y(Mik)n(e)26 b(F)-6 b(olk)21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)48 b Fs(9)150 2485 y(Mik)n(e)26 b(P)n(age)8
+h(:)f(:)g(:)g(:)48 b Fs(9)150 3748 y(Mik)n(e)26 b(P)n(age)8
b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)35 b Fs(212)150 2576 y Fr(min)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)35 b Fs(212)150 3836 y Fr(min)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)34 b Fs(83)150 2667 y(min\(\))21 b Fa(:)14
+(:)g(:)g(:)34 b Fs(84)150 3925 y(min\(\))21 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)48 b Fs(119)150 2758 y(minim)n(um)10
+g(:)g(:)g(:)h(:)48 b Fs(119)150 4013 y(minim)n(um)10
b Fa(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)36 b Fs(83)150 2849 y(missing)27 b(v)l(alues)18
+(:)g(:)h(:)f(:)36 b Fs(84)150 4102 y(missing)27 b(v)l(alues)18
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44
-b Fs(70,)27 b(84,)g(156,)g(174,)g(181)150 2940 y(missing)g(v)l(alues)f
+b Fs(71,)27 b(85,)g(156,)g(174,)g(181)150 4190 y(missing)g(v)l(alues)f
(ncap2)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(117)150
-3031 y Fr(missing_value)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+4279 y Fr(missing_value)10 b Fa(:)16 b(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
-b Fs(70,)26 b(81,)h(203)150 3122 y(MKS)e(units)10 b Fa(:)j(:)g(:)g(:)h
+b Fs(71,)26 b(81,)h(204)150 4367 y(MKS)e(units)10 b Fa(:)j(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(66,)26
-b(68)150 3213 y(MODIS)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b(69)150 4456 y(MODIS)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)34 b Fs(236,)27 b(239)150 3304
+g(:)g(:)g(:)h(:)f(:)g(:)34 b Fs(236,)27 b(239)150 4544
y(mo)r(dulus)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(151)150 3395
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(151)150 4632
y(monotonic)26 b(co)r(ordinates)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38
-b Fs(24)150 3487 y(mon)n(thly)25 b(a)n(v)n(erage)14 b
+b Fs(24)150 4721 y(mon)n(thly)25 b(a)n(v)n(erage)14 b
Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(215,)27 b(233)150
-3578 y(mon)n(thly)e(data)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+4809 y(mon)n(thly)e(data)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)40 b Fs(215,)27 b(216)150 3669 y(mo)n(v)n(e)e(groups)10
+(:)40 b Fs(215,)27 b(216)150 4898 y(mo)n(v)n(e)e(groups)10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)36 b Fs(48)150 3760 y(MR)n(O)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+(:)36 b Fs(48)150 4986 y(MR)n(O)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35
-b Fs(59)150 3851 y Fp(MSA)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+b Fs(59)150 5075 y Fp(MSA)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(60)150 3942 y Fr(msk_*)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(60)150 5163 y Fr(msk_*)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fs(98)150 4033 y Fr(msrcp)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(98)150 5252 y Fr(msrcp)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fs(31)150 4124 y Fp(msrcp)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(31)150 5340 y Fp(msrcp)8 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)35
-b Fs(35)150 4215 y Fr(msread)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fs(31)150 4306 y Fp(MSS)12 b Fa(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
-b Fs(30)150 4397 y(m)n(ulti-\014le)25 b(op)r(erators)15
-b Fa(:)g(:)42 b Fs(22,)26 b(29,)h(30,)g(168,)g(171,)g(197,)g(199)150
-4488 y(m)n(ulti-h)n(yp)r(erslab)9 b Fa(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(35)2025 299 y Fr(msread)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fs(31)2025 387 y Fp(MSS)12 b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)35 b Fs(60)150 4579 y(Multi-Record)26
-b(Op)r(erator)19 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b
-Fs(59)150 4671 y(m)n(ultiplication)10 b Fa(:)k(:)f(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
-b Fs(151,)27 b(162,)g(175)150 4762 y Fr(multiply)10 b
-Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
+b Fs(30)2025 476 y(m)n(ulti-\014le)25 b(op)r(erators)15
+b Fa(:)g(:)41 b Fs(22,)27 b(29,)g(30,)f(168,)i(171,)f(198,)g(200)2025
+564 y(m)n(ulti-h)n(yp)r(erslab)9 b Fa(:)j(:)h(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)37 b Fs(162)150 4853 y(m)n(ultiplying)26
-b(data)11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b Fs(162,)27
-b(173)150 4944 y(m)n(ultislab)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b
-Fs(60)150 5035 y Fr(mv)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(41)150 5126 y Fr(MVS)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fs(6)150 5217 y Fp(MVS)7 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(60)2025 652 y(Multi-Record)25
+b(Op)r(erator)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b
+Fs(59)2025 741 y(m)n(ultiplication)10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37
+b Fs(151,)27 b(162,)g(175)2025 829 y Fr(multiply)10 b
+Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)37 b Fs(162)2025 918 y(m)n(ultiplying)25
+b(data)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38 b Fs(162,)27
+b(173)2025 1006 y(m)n(ultislab)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b
+Fs(60)2025 1094 y Fr(mv)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
+b Fs(41)2025 1183 y Fr(MVS)10 b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)37 b Fs(6)2025 1271 y Fp(MVS)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)34 b Fs(7)2025 299 y FB(N)2025 416 y Fs(nak)n(ed)25
+(:)g(:)35 b Fs(7)2025 1510 y FB(N)2025 1629 y Fs(nak)n(ed)25
b(c)n(haracters)e Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49
-b Fs(163)2025 504 y(NaN)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fs(163)2025 1717 y(NaN)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(159)2025 592 y Fp(NARR)25 b Fs(\(North)g(American)h(Regional)h
-(Reanalysis\)a)2200 679 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(123)2025 767 y Fp(NASA)17 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(159)2025 1806 y Fp(NARR)25 b Fs(\(North)g(American)h(Regional)h
+(Reanalysis\)a)2200 1893 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(123)2025 1981 y Fp(NASA)17 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(213)2025 855 y Fp(NASA)23 b(EOSDIS)13 b Fa(:)h(:)f(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b Fs(19)2025 943
-y(National)26 b(Virtual)g(Ocean)g(Data)g(System)c Fa(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(33)2025 1031
-y Fr(nc__enddef\(\))21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fs(25)2025 1119 y Fr(NC_BYTE)12
+b Fs(213)2025 2070 y Fp(NASA)23 b(EOSDIS)13 b Fa(:)h(:)f(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b Fs(19)2025
+2158 y(National)26 b(Virtual)g(Ocean)g(Data)g(System)c
+Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(33)2025
+2246 y Fr(nc__enddef\(\))21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)45 b Fs(25)2025 2335 y Fr(NC_BYTE)12
b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)39 b Fs(190)2025 1207 y Fr(NC_CHAR)6 b
+(:)g(:)h(:)f(:)39 b Fs(191)2025 2423 y Fr(NC_CHAR)6 b
Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33
-b Fs(56,)27 b(164,)g(190)2025 1295 y Fr(NC_DISKLESS)d
+b Fs(56,)27 b(164,)g(191)2025 2511 y Fr(NC_DISKLESS)d
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Fs(79)2025 1383 y Fr(NC_DOUBLE)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g
+48 b Fs(80)2025 2600 y Fr(NC_DOUBLE)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(153,)27 b(190)2025 1471
+f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(153,)27 b(191)2025 2688
y Fr(NC_FLOAT)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(190)2025 1559
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(191)2025 2777
y Fr(NC_FORMAT_DAP2)14 b Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)40 b Fs(37)2025 1647 y Fr(NC_FORMAT_DAP4)14 b
+h(:)f(:)40 b Fs(37)2025 2865 y Fr(NC_FORMAT_DAP4)14 b
Fa(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(37)2025 1735 y Fr(NC_FORMAT_NC_HDF4)6 b Fa(:)17
+b Fs(37)2025 2953 y Fr(NC_FORMAT_NC_HDF4)6 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fs(37)2025
-1823 y Fr(NC_FORMAT_NC_HDF5)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
+3042 y Fr(NC_FORMAT_NC_HDF5)6 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)33 b Fs(37)2025 1911 y Fr(NC_FORMAT_NC3)16 b
+g(:)g(:)33 b Fs(37)2025 3130 y Fr(NC_FORMAT_NC3)16 b
Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fs(37)2025 1998 y Fr(NC_FORMAT_PNETCDF)6 b Fa(:)17
+b Fs(37)2025 3219 y Fr(NC_FORMAT_PNETCDF)6 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fs(37)2025
-2086 y Fr(NC_INT)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+3307 y Fr(NC_INT)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(190)2025
-2174 y Fr(NC_INT64)16 b Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(191)2025
+3395 y Fr(NC_INT64)16 b Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)43 b Fs(10,)27 b(190)2025 2262 y Fr(NC_SHORT)10
+f(:)g(:)g(:)g(:)43 b Fs(10,)27 b(191)2025 3484 y Fr(NC_SHORT)10
b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)37 b Fs(190)2025 2350 y Fr(NC_UBYTE)16 b
+g(:)g(:)g(:)37 b Fs(191)2025 3572 y Fr(NC_UBYTE)16 b
Fa(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fs(10,)27 b(190)2025 2438 y Fr(NC_UINT)20 b Fa(:)13
+b Fs(10,)27 b(191)2025 3661 y Fr(NC_UINT)20 b Fa(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(10,)27 b(190)2025 2526 y Fr(NC_UINT64)14 b Fa(:)h(:)e(:)g(:)g(:)g
+b Fs(10,)27 b(191)2025 3749 y Fr(NC_UINT64)14 b Fa(:)h(:)e(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(10,)27 b(190)2025
-2614 y Fr(NC_USHORT)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(10,)27 b(191)2025
+3837 y Fr(NC_USHORT)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)40 b Fs(10,)27 b(190)2025 2702 y Fr(ncadd)18
+g(:)g(:)h(:)40 b Fs(10,)27 b(191)2025 3926 y Fr(ncadd)18
b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(162)2025 2790 y Fr(ncap)21
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(162)2025 4014 y Fr(ncap)21
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(104)2025 2878 y Fr(ncap2)23
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(104)2025 4102 y Fr(ncap2)23
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(7)2025 2966 y
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fs(7)2025 4191 y
Fr(ncap2)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)42 b Fs(23,)26 b(26,)h(96)2025 3054 y Fr(ncap2)18
+(:)g(:)h(:)42 b Fs(23,)26 b(26,)h(97)2025 4279 y Fr(ncap2)18
b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(104)2025 3142 y Fr(ncap2)18
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(104)2025 4368 y Fr(ncap2)18
b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(189)2025 3230 y Fp(NCAR)13
+(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(190)2025 4456 y Fp(NCAR)13
b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fs(15)2025 3317 y Fp(NCAR)23
+(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fs(15)2025 4544 y Fp(NCAR)23
b(MSS)15 b Fa(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)42 b Fs(30)2025 3405 y Fr(ncatted)15
-b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fs(43)2025 3493 y Fr(ncatted)15
+h(:)f(:)g(:)g(:)42 b Fs(30)2025 4633 y Fr(ncatted)15
b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fs(71)2025 3581 y Fr(ncatted)15
+(:)h(:)f(:)g(:)g(:)41 b Fs(43)2025 4721 y Fr(ncatted)15
b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fs(97)2025 3669 y Fr(ncatted)12
-b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)39 b Fs(156)2025 3757 y Fr(ncattget)14
-b Fa(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fs(156,)27 b(184)2025 3845 y Fr(ncavg)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(184)2025 3933 y Fr(ncbo)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(72)2025 4021 y Fr(ncbo)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(162)2025 4109 y Fr(ncdiff)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fs(162)2025 4197 y Fr(ncdismember)11 b Fa(:)k(:)e(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)37 b Fs(49,)27 b(51)2025 4285
-y Fr(ncdivide)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(162)2025 4373
-y Fr(ncdmnsz)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fs(184)2025 4461
-y Fr(ncdump)13 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
-b Fs(37,)27 b(178,)g(181,)g(182)2025 4549 y Fr(ncecat)17
-b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(18)2025 4636 y Fr(ncecat)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)42 b Fs(170)2025 4724 y Fr(nces)12
-b Fa(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)38 b Fs(19,)27 b(72)2025 4812 y Fr(nces)21
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(167)2025 4900 y Fr(ncextr)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)42 b Fs(176)2025 4988 y Fr(ncflint)22
+(:)h(:)f(:)g(:)g(:)41 b Fs(71)2025 4810 y Fr(ncatted)22
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)47 b Fs(19,)27 b(72)2025 5076 y Fr(ncflint)12 b Fa(:)j(:)e(:)g(:)g
+g(:)47 b Fs(72,)27 b(98)2025 4898 y Fr(ncatted)12 b Fa(:)j(:)e(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(173)2025 5164 y Fr(ncgen)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(178)2025 5252 y Fr(ncgen-hdf)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fs(178)2025
-5340 y Fr(ncks)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fs(156)2025 4986 y Fr(ncattget)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(156,)27 b(184)2025
+5075 y Fr(ncavg)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(184)2025
+5163 y Fr(ncbo)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(37)p eop end
+b Fs(72)2025 5252 y Fr(ncbo)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
+b Fs(162)2025 5340 y Fr(ncdiff)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
+b Fs(162)p eop end
%%Page: 264 270
TeXDict begin 264 269 bop 150 -116 a FD(264)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fr(ncks)14 b Fa(:)g(:)f(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b Fs(77,)27
-b(151,)g(176)150 387 y Fp(NCL)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b
-Fs(15,)27 b(194)150 476 y Fr(ncl_convert2nc)18 b Fa(:)e(:)e(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)44 b Fs(11,)27 b(194)150 564 y Fr(nclist)15
+b FD(4.4.6)j(User)d(Guide)150 299 y Fr(ncdismember)11
+b Fa(:)k(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
+b Fs(49,)26 b(51)150 387 y Fr(ncdivide)10 b Fa(:)15 b(:)e(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
+b Fs(162)150 476 y Fr(ncdmnsz)12 b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b
+Fs(184)150 564 y Fr(ncdump)13 b Fa(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
+b Fs(37,)27 b(178,)g(181,)g(182)150 653 y Fr(ncecat)17
+b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(18)150 741 y Fr(ncecat)15
b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)42 b Fs(184)150 653 y Fr(ncmax)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+(:)g(:)g(:)g(:)g(:)42 b Fs(170)150 830 y Fr(nces)12 b
+Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)39 b Fs(19,)26 b(72)150 918 y Fr(nces)21
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(167)150 1006 y Fr(ncextr)15
+b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)42 b Fs(176)150 1095 y Fr(ncflint)23
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)48 b Fs(19,)26 b(72)150 1183 y Fr(ncflint)12 b Fa(:)j(:)e(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
+b Fs(173)150 1272 y Fr(ncgen)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(184)150 741 y Fr(ncmdn)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(178)150 1360 y Fr(ncgen-hdf)7 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(178)150
+1449 y Fr(ncks)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fs(37)150 1537 y Fr(ncks)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)40 b Fs(78,)27 b(151,)g(176)150
+1625 y Fp(NCL)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(15,)27 b(195)150
+1714 y Fr(ncl_convert2nc)18 b Fa(:)e(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fs(11,)27 b(195)150 1802 y Fr(nclist)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(184)150 1891 y Fr(ncmax)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(184)150 830 y Fr(ncmin)18
-b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(184)150 1979 y Fr(ncmdn)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(184)150 918 y Fp(NcML)19
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(184)150 2068 y Fr(ncmin)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(184)150 2156 y Fp(NcML)19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)46 b Fs(182)150 1006 y Fr(ncmult)15
-b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)42 b Fs(162)150 1095 y Fr(ncmultiply)24
-b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46
+b Fs(182)150 2245 y Fr(ncmult)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(162)150 2333 y Fr(ncmultiply)24 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(162)150
+2421 y Fp(NCO)25 b Fs(a)n(v)l(ailabilit)n(y)15 b Fa(:)f(:)f(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(5)150 2510
+y Fp(NCO)25 b Fs(homepage)15 b Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fs(162)150 1183 y Fp(NCO)25 b Fs(a)n(v)l(ailabilit)n(y)15
-b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
-b Fs(5)150 1272 y Fp(NCO)25 b Fs(homepage)15 b Fa(:)f(:)f(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(5)150
-1360 y(nco)26 b(script)g(\014le)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(226)150 1449 y Fm(NCO)25
-b(User)h(Guide)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)44 b Fs(5)150 1537 y Fr(nco.config.log.${GNU_TRP}.foo)11
+h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(5)150 2598 y(nco)26 b(script)g(\014le)9
+b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
+b Fs(226)150 2687 y Fm(NCO)25 b(User)h(Guide)21 b Fa(:)13
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
+b Fs(5)150 2775 y Fr(nco.config.log.${GNU_TRP}.foo)11
b Fa(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fs(14)150 1625 y Fr(nco.configure.${GNU_TRP}.foo)13
+b Fs(14)150 2864 y Fr(nco.configure.${GNU_TRP}.foo)13
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(14)150 1714 y Fr(nco.make.${GNU_TRP}.foo)8 b Fa(:)18
+b Fs(14)150 2952 y Fr(nco.make.${GNU_TRP}.foo)8 b Fa(:)18
b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)34 b Fs(14)150 1802 y Fr(nco_input_file_list)7
+h(:)f(:)g(:)34 b Fs(14)150 3041 y Fr(nco_input_file_list)7
b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(20,)26 b(97)150 1891
+(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(20,)26 b(98)150 3129
y Fr(nco_input_file_number)e Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fs(20,)26
-b(97)150 1979 y Fr(nco_openmp_thread_number)i Fa(:)13
+b(98)150 3217 y Fr(nco_openmp_thread_number)i Fa(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)49 b Fs(25)150 2068 y Fr(ncpack)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g
+(:)49 b Fs(25)150 3306 y Fr(ncpack)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fs(189)150 2156 y Fr(ncpdq)9 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fs(190)150 3394 y Fr(ncpdq)9 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fs(18,)26 b(26)150 2245 y Fr(ncpdq)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)g
+Fs(18,)26 b(26)150 3483 y Fr(ncpdq)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)42 b Fs(73,)27 b(171,)g(189,)g(199)150 2333 y
+g(:)g(:)42 b Fs(73,)27 b(171,)g(190,)g(200)150 3571 y
Fr(ncra)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(19,)26 b(72)150 2421
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(19,)26 b(72)150 3660
y Fr(ncra)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(151,)27 b(197)150 2510
+g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(151,)27 b(198)150 3748
y Fr(ncrcat)6 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(18,)26 b(26)150 2598
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(18,)26 b(26)150 3836
y Fr(ncrcat)15 b Fa(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(199)150 2687
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(200)150 3925
y Fr(ncrecsz)12 b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fs(184)150 2775 y
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fs(184)150 4013 y
Fr(ncrename)16 b Fa(:)f(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)43 b Fs(71,)27 b(201)150 2864 y Fr(ncrng)18 b
+g(:)g(:)43 b Fs(71,)27 b(202)150 4102 y Fr(ncrng)18 b
Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)44 b Fs(184)150 2952 y Fp(NCSA)20
+g(:)g(:)h(:)f(:)g(:)44 b Fs(184)150 4190 y Fp(NCSA)20
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(10)150 3041 y Fr(ncsub)18
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(10)150 4279 y Fr(ncsub)18
b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(162)150 3129 y Fr(ncsubtract)24
+(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(162)150 4367 y Fr(ncsubtract)24
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fs(162)150 3217 y Fr(ncunits)12 b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g
+49 b Fs(162)150 4456 y Fr(ncunits)12 b Fa(:)j(:)e(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
-b Fs(184)150 3306 y Fr(ncunpack)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
+b Fs(184)150 4544 y Fr(ncunpack)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b
-Fs(189)150 3394 y Fr(ncwa)18 b Fa(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+Fs(190)150 4632 y Fr(ncwa)18 b Fa(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(19,)27 b(26,)f(72)150
-3483 y Fr(ncwa)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+4721 y Fr(ncwa)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(151,)27 b(205)150
-3571 y(ndims\(\))19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(151,)27 b(206)150
+4809 y(ndims\(\))19 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(120)150 3660
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(120)150 4898
y Fm(nearb)n(yin)n(t)9 b Fa(:)j(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(151)150 3748
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(151)150 4986
y(nearest)26 b(in)n(teger)g(function)g(\(exact\))14 b
Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)41
-b Fs(151)150 3836 y(nearest)26 b(in)n(teger)g(function)g(\(inexact\))16
+b Fs(151)150 5075 y(nearest)26 b(in)n(teger)g(function)g(\(inexact\))16
b Fa(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fs(151)150 3925 y Fp(NEC)10 b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(151)150 5163 y Fp(NEC)10 b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
-b Fs(6)150 4013 y(Neil)26 b(Da)n(vis)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)
+b Fs(6)150 5252 y(Neil)26 b(Da)n(vis)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
-b Fs(90)150 4102 y(nesting)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(90)150 5340 y(nesting)13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b
-Fs(105)150 4190 y(netCDF)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fs(5)150 4279 y(netCDF2)23 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(9,)26 b(35)150
-4367 y Fr(NETCDF2_ONLY)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)48 b Fs(9)150 4456 y(netCDF3)23
-b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)49 b Fs(9,)26 b(35)150 4544 y(netCDF3)g(classic)h(\014le)f(format)
-17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)43 b Fs(37)150 4632 y(netCDF4)10 b Fa(:)j(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(10,)27 b(35,)f(70)150
-4721 y(netCDF4)g(classic)h(\014le)f(format)17 b Fa(:)d(:)g(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)43
-b Fs(37)150 4809 y(netCDF4)26 b(\014le)g(format)15 b
-Fa(:)f(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(37)150
-4898 y Fr(NETCDF4)27 b Fs(\014les)d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
+Fs(105)2025 299 y(netCDF)18 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(35)150 4986
-y Fr(NETCDF4_CLASSIC)29 b Fs(\014les)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fs(5)2025 387 y(netCDF2)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(9,)26 b(35)2025
+475 y Fr(NETCDF2_ONLY)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)46 b Fs(35)150 5075 y Fr(NETCDF4_ROOT)22 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fs(12)150 5163 y(Nic)n(k)25 b(Bo)n(w)n(er)8 b Fa(:)15
-b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Fs(212)150 5252 y Fr(NINTAP)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)48 b Fs(9)2025 564 y(netCDF3)23
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)35 b Fs(28,)27 b(197,)g(199)150 5340
-y Fr(NO_NETCDF_2)7 b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(9)2025 299 y(non-co)r(ordinate)26
-b(grid)g(prop)r(erties)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(99)2025 387 y(non-rectangular)26
-b(grids)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(130)2025
-475 y(non-standard)25 b(grids)d Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)50 b Fs(9,)26 b(35)2025 652 y(netCDF3)g(classic)h(\014le)f(format)
+17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)43 b Fs(37)2025 740 y(netCDF4)10 b Fa(:)j(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fs(10,)26 b(35,)h(70)2025
+828 y(netCDF4)f(classic)h(\014le)f(format)17 b Fa(:)d(:)f(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)43
+b Fs(37)2025 917 y(netCDF4)26 b(\014le)f(format)15 b
+Fa(:)g(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(37)2025
+1005 y Fr(NETCDF4)27 b Fs(\014les)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(35)2025 1093
+y Fr(NETCDF4_CLASSIC)29 b Fs(\014les)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)48 b Fs(130)2025 563 y(normalization)23 b Fa(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(207)2025 651 y(North)25 b(American)h(Regional)h(Reanalysis)f(\()p
-Fp(NARR)p Fs(\))2200 738 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(123)2025 826 y(Not-a-Num)n(b)r(er)9 b Fa(:)i(:)i(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(159)2025 914
-y Fp(NRA)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)46 b Fs(35)2025 1181 y Fr(NETCDF4_ROOT)21 b Fa(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fs(12)2025 1270 y(Nic)n(k)25 b(Bo)n(w)n(er)8 b Fa(:)14
+b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
+b Fs(212)2025 1358 y Fr(NINTAP)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)35 b Fs(28,)27 b(198,)g(200)2025
+1446 y Fr(NO_NETCDF_2)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(9)2025 1534 y(non-co)r
+(ordinate)26 b(grid)g(prop)r(erties)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(99)2025
+1623 y(non-rectangular)26 b(grids)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+40 b Fs(130)2025 1711 y(non-standard)25 b(grids)d Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(130)2025 1799
+y(normalization)23 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47 b Fs(213)2025
-1002 y Fr(nrnet)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
-Fs(31)2025 1089 y Fp(NSF)12 b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)49 b Fs(208)2025 1887 y(North)25 b(American)h(Regional)h
+(Reanalysis)f(\()p Fp(NARR)p Fs(\))2200 1975 y Fa(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)49 b Fs(123)2025 2063 y(Not-a-Num)n(b)r(er)9
+b Fa(:)i(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
+b Fs(159)2025 2151 y Fp(NRA)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47
+b Fs(213)2025 2239 y Fr(nrnet)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fs(213)2025 1177 y(NT)25 b(\(Microsoft)j(op)r(erating)f(system\))7
-b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-34 b Fs(7)2025 1265 y(NUL)17 b Fa(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fs(159)2025 1353 y Fr(NUL)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
+b Fs(31)2025 2328 y Fp(NSF)12 b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fs(213)2025 2416 y Fp(NT)25 b Fs(\(Microsoft)j(op)r(erating)f
+(system\))12 b Fa(:)g(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)39 b Fs(7)2025 2504 y(NUL)17 b Fa(:)12 b(:)h(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
+b Fs(159)2025 2592 y Fr(NUL)23 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
-b Fs(191)2025 1441 y(NUL-termination)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)h(:)
+b Fs(192)2025 2681 y(NUL-termination)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)40 b Fs(159)2025 1529 y(n)n(ull)25
+(:)g(:)g(:)g(:)g(:)40 b Fs(159)2025 2769 y(n)n(ull)25
b(op)r(eration)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)44 b Fs(175)2025 1617 y(n)n(um)n(b)r(er)24 b(literals)k
+h(:)f(:)44 b Fs(175)2025 2857 y(n)n(um)n(b)r(er)24 b(literals)k
Fr(ncap2)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fs(114)2025
-1705 y Fr(number_miss\(\))14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+2945 y Fr(number_miss\(\))14 b Fa(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)41 b Fs(118)2025 1793 y Fr(numerator)14
+g(:)h(:)f(:)g(:)41 b Fs(118)2025 3034 y Fr(numerator)14
b Fa(:)h(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fs(85,)27 b(207)2025 1881 y Fp(NV)n(ODS)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)
+b Fs(85,)27 b(208)2025 3122 y Fp(NV)n(ODS)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35
-b Fs(33)2025 1969 y(`)p Fr(nxt_lsr)p Fs(')8 b Fa(:)15
+b Fs(33)2025 3210 y(`)p Fr(nxt_lsr)p Fs(')8 b Fa(:)15
b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)35 b Fs(190)2025 2215 y FB(O)2025 2332 y Fs(o)r(ceanograph)n(y)8
+g(:)35 b Fs(191)2025 3458 y FB(O)2025 3576 y Fs(o)r(ceanograph)n(y)8
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-34 b Fs(32)2025 2420 y(o)r(ctal)27 b(dump)12 b Fa(:)g(:)h(:)g(:)g(:)g
+34 b Fs(32)2025 3664 y(o)r(ctal)27 b(dump)12 b Fa(:)g(:)h(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39
-b Fs(38)2025 2508 y Fr(od)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(38)2025 3753 y Fr(od)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)37 b Fs(38)2025 2596 y Fr(OMP_NUM_THREADS)11 b Fa(:)17
+(:)37 b Fs(38)2025 3841 y Fr(OMP_NUM_THREADS)11 b Fa(:)17
b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fs(26)2025
-2684 y(on-line)26 b(do)r(cumen)n(tation)17 b Fa(:)c(:)g(:)h(:)f(:)g(:)g
+3929 y(on-line)26 b(do)r(cumen)n(tation)17 b Fa(:)c(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)45 b Fs(5)2025 2772 y(op)r(en)25 b(source)14
+g(:)g(:)45 b Fs(5)2025 4017 y(op)r(en)25 b(source)14
b Fa(:)g(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)41
-b Fs(1,)26 b(33)2025 2860 y(Op)r(en-source)f(Pro)t(ject)i(for)g(a)f
-(Net)n(w)n(ork)f(Data)h(Access)2178 2947 y(Proto)r(col)18
+b Fs(1,)26 b(33)2025 4106 y(Op)r(en-source)f(Pro)t(ject)i(for)g(a)f
+(Net)n(w)n(ork)f(Data)h(Access)2178 4193 y(Proto)r(col)18
b Fa(:)d(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fs(32)2025 3035 y Fp(OP)n(eND)n(AP)p Fs(.)6 b Fa(:)14
+b Fs(32)2025 4281 y Fp(OP)n(eND)n(AP)p Fs(.)6 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)33 b Fs(32)2025 3123 y(Op)r(enMP)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)
+g(:)33 b Fs(32)2025 4369 y(Op)r(enMP)13 b Fa(:)g(:)g(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(22,)26 b(23,)h(25)2025
-3211 y(op)r(eration)f(t)n(yp)r(es)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+4457 y(op)r(eration)f(t)n(yp)r(es)19 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(83,)27 b(197,)g(206)2025 3299 y(op)r(erator)f(sp)r(eed)c
+b Fs(84,)27 b(198,)g(207)2025 4546 y(op)r(erator)f(sp)r(eed)c
Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)48
-b Fs(9,)26 b(16,)h(24,)f(25,)h(71,)g(201)2025 3387 y(op)r(erators)14
+b Fs(9,)26 b(16,)h(24,)f(25,)h(72,)g(202)2025 4634 y(op)r(erators)14
b Fa(:)g(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fs(3)2025 3474 y(OptIPuter)9
+(:)h(:)f(:)g(:)g(:)41 b Fs(3)2025 4722 y(OptIPuter)9
b Fa(:)j(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)36 b Fs(213)2025 3562 y(Orion)26 b(P)n(o)n(wla)n(wski)c
+(:)f(:)36 b Fs(213)2025 4810 y(Orion)26 b(P)n(o)n(wla)n(wski)c
Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Fs(212)2025 3650 y Fr(ORO)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(212)2025 4899 y Fr(ORO)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b
-Fs(98,)27 b(208)2025 3738 y(orphan)e(dimensions)6 b Fa(:)14
+Fs(98,)27 b(209)2025 4987 y(orphan)e(dimensions)6 b Fa(:)14
b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fs(182)2025
-3826 y Fp(OS)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+5075 y Fp(OS)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fs(6)2025 3914 y(output)24 b(\014le)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g
+b Fs(6)2025 5163 y(output)24 b(\014le)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(20,)27 b(30)2025
-4002 y Fm(output-path)17 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+5252 y Fm(output-path)17 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(32)2025 4090 y(o)n(v)n(erview)7
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(32)2025 5340 y(o)n(v)n(erview)7
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)33 b Fs(24)2025 4178 y(o)n(v)n(erwriting)26
-b(\014les)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38
-b Fs(16,)27 b(97)2025 4431 y FB(P)2025 4549 y Fs(pac)n(k\(\))9
-b Fa(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)36 b Fs(119)2025 4637 y Fr(pack\(x\))15
-b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fs(81)2025 4725 y(pac)n(k)p 2184
-4725 24 4 v 33 w(b)n(yte\(\))21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(120)2025 4812
-y(pac)n(k)p 2184 4812 V 33 w(in)n(t\(\))14 b Fa(:)f(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b
-Fs(120)2025 4900 y(pac)n(k)p 2184 4900 V 33 w(short\(\))9
-b Fa(:)k(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(120)2025 4988 y(pac)n(king)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(34,)27
-b(73,)g(81,)g(171,)g(189,)g(199)2025 5076 y(pac)n(king)e(map)d
-Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(190)2025 5164 y(pac)n(king)25 b(p)r(olicy)11 b Fa(:)j(:)f(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b Fs(189)2025
-5252 y(pap)r(ers)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b
-Fs(24)2025 5340 y Fr(parallel)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(243)p
-eop end
+g(:)g(:)h(:)f(:)g(:)33 b Fs(24)p eop end
%%Page: 265 271
TeXDict begin 265 270 bop 150 -116 a FD(General)31 b(Index)2902
-b(265)150 299 y Fs(parallelism)9 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(25,)27 b(213)150 387
+b(265)150 299 y Fs(o)n(v)n(erwriting)27 b(\014les)12
+b Fa(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(16,)26
+b(97)150 553 y FB(P)150 671 y Fs(pac)n(k\(\))9 b Fa(:)j(:)i(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)36
+b Fs(119)150 759 y Fr(pack\(x\))15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
+b Fs(81)150 847 y(pac)n(k)p 309 847 24 4 v 33 w(b)n(yte\(\))21
+b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+49 b Fs(120)150 935 y(pac)n(k)p 309 935 V 33 w(in)n(t\(\))14
+b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)41 b Fs(120)150 1023 y(pac)n(k)p 309 1023 V 33
+w(short\(\))9 b Fa(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)35 b Fs(120)150 1111 y(pac)n(king)15 b Fa(:)e(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)42
+b Fs(34,)26 b(73,)h(81,)g(171,)g(190,)g(200)150 1200
+y(pac)n(king)f(map)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)48 b Fs(191)150 1288 y(pac)n(king)26
+b(p)r(olicy)11 b Fa(:)i(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)38 b Fs(190)150 1376 y(pap)r(ers)8 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
+b Fs(24)150 1464 y Fr(parallel)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b
+Fs(243)150 1552 y(parallelism)9 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(25,)27 b(213)150 1640
y(parser)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(104)150 475
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fs(104)150 1728
y(pasting)26 b(v)l(ariables)7 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)34 b Fs(17)150 563 y Fr(pathcc)21
+g(:)g(:)g(:)g(:)g(:)34 b Fs(17)150 1816 y Fr(pathcc)21
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(6)150 651 y Fr(pathCC)21
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(6)150 1904 y Fr(pathCC)21
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(6)150 739 y(P)n(athScale)23
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(6)150 1992 y(P)n(athScale)23
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)49 b Fs(6)150 827 y(P)n(atrice)27 b(Dumas)20
+g(:)h(:)f(:)g(:)49 b Fs(6)150 2080 y(P)n(atrice)27 b(Dumas)20
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(212)150 916 y(P)n(atric)n(k)26 b(Kursa)n(w)n(e)9
+b Fs(212)150 2169 y(P)n(atric)n(k)26 b(Kursa)n(w)n(e)9
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(212)150 1004 y(pattern)25 b(matc)n(hing)12 b Fa(:)i(:)f(:)g(:)g(:)
+b Fs(212)150 2257 y(pattern)25 b(matc)n(hing)12 b Fa(:)i(:)f(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fs(20,)27 b(43,)g(156,)g(160)150 1092 y(P)n(a)n(yP)n(al)14
+Fs(20,)27 b(43,)g(156,)g(160)150 2345 y(P)n(a)n(yP)n(al)14
b Fa(:)g(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)41 b Fs(211)150 1180 y Fm(p)r(c)n(k)p
-273 1180 24 4 v 33 w(map)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fs(190)150
-1268 y Fm(p)r(c)n(k)p 273 1268 V 33 w(plc)28 b Fa(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)50 b Fs(189)150 1356 y(p)r(eak)25 b(memory)h(usage)14
-b Fa(:)g(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(22,)26 b(79)150 1444
+(:)f(:)g(:)g(:)g(:)41 b Fs(211)150 2433 y Fm(p)r(c)n(k)p
+273 2433 V 33 w(map)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fs(191)150 2521
+y Fm(p)r(c)n(k)p 273 2521 V 33 w(plc)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
+b Fs(190)150 2609 y(p)r(eak)25 b(memory)h(usage)14 b
+Fa(:)g(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(22,)26 b(80)150 2697
y(P)n(edro)g(Vicen)n(te)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)42 b Fs(211)150 1532 y(p)r(erformance)11
+g(:)g(:)g(:)h(:)42 b Fs(211)150 2785 y(p)r(erformance)11
b Fa(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-38 b Fs(9,)26 b(16,)h(24,)g(25,)f(71,)h(201)150 1620
+38 b Fs(9,)26 b(16,)h(24,)g(25,)f(72,)h(202)150 2873
y(P)n(erl)9 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)37 b Fs(15,)26 b(21,)h(158)150 1708 y(p)r(erm)n(ute)e
+g(:)g(:)g(:)g(:)37 b Fs(15,)26 b(21,)h(158)150 2961 y(p)r(erm)n(ute)e
(dimensions)20 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46
-b Fs(189)150 1796 y(p)r(erm)n(ute\(\))15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g
+b Fs(190)150 3050 y(p)r(erm)n(ute\(\))15 b Fa(:)e(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b
-Fs(113)150 1885 y(P)n(eter)26 b(Campb)r(ell)6 b Fa(:)14
+Fs(113)150 3138 y(P)n(eter)26 b(Campb)r(ell)6 b Fa(:)14
b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33
-b Fs(212)150 1973 y Fr(pgcc)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fs(212)150 3226 y Fr(pgcc)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)34 b Fs(6)150 2061 y Fr(pgCC)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g
+(:)34 b Fs(6)150 3314 y Fr(pgCC)7 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)34 b Fs(6)150 2149 y Fp(PGI)22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)g(:)34 b Fs(6)150 3402 y Fp(PGI)22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)48 b Fs(6)150 2237 y(philosoph)n(y)7 b Fa(:)13
+(:)h(:)f(:)48 b Fs(6)150 3490 y(philosoph)n(y)7 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)33 b Fs(15)150 2325 y(pip)r(es)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+g(:)33 b Fs(15)150 3578 y(pip)r(es)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(20)150 2413 y(`)p Fr(plc_all)p Fs(')10 b Fa(:)16
+b Fs(20)150 3666 y(`)p Fr(plc_all)p Fs(')10 b Fa(:)16
b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)37 b Fs(73)150 2501 y(`)p Fr(plc_g2d)p Fs(')10
+g(:)g(:)37 b Fs(73)150 3754 y(`)p Fr(plc_g2d)p Fs(')10
b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)37 b Fs(73)150 2589 y(`)p Fr(plc_g3d)p
+g(:)g(:)g(:)g(:)37 b Fs(73)150 3842 y(`)p Fr(plc_g3d)p
Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 2677 y(`)p Fr(plc_r1d)p
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 3930 y(`)p Fr(plc_r1d)p
Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 2766 y(`)p Fr(plc_xpl)p
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 4019 y(`)p Fr(plc_xpl)p
Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 2854 y(`)p Fr(plc_xst)p
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 4107 y(`)p Fr(plc_xst)p
Fs(')10 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 2942 y(p)r(ortabilit)n(y)10
+f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(73)150 4195 y(p)r(ortabilit)n(y)10
b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)37 b Fs(6)150 3030 y(p)r(ositional)27
+(:)g(:)g(:)g(:)37 b Fs(6)150 4283 y(p)r(ositional)27
b(argumen)n(ts)6 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33
-b Fs(30)150 3118 y Fp(POSIX)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+b Fs(30)150 4371 y Fp(POSIX)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(27,)26
-b(44)150 3206 y Fm(p)r(o)n(w)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)
+b(44)150 4459 y Fm(p)r(o)n(w)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37
-b Fs(151)150 3294 y(p)r(o)n(w)n(er)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g
+b Fs(151)150 4547 y(p)r(o)n(w)n(er)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43
-b Fs(151)150 3382 y(p)r(o)n(w)n(er)26 b(function)20 b
+b Fs(151)150 4635 y(p)r(o)n(w)n(er)26 b(function)20 b
Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(151)150 3470 y(`)p Fr(prd)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
+b Fs(151)150 4723 y(`)p Fr(prd)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)47 b Fs(74)150 3558 y(precision)20 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+g(:)47 b Fs(74)150 4811 y(precision)20 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(153)150 3646 y(prepro)r(cessor)27 b(tok)n(ens)13
+b Fs(153)150 4900 y(prepro)r(cessor)27 b(tok)n(ens)13
b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40 b
-Fs(8)150 3735 y(presen)n(tations)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)
+Fs(8)150 4988 y(presen)n(tations)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(5)150
-3823 y(prin)n(t\(\))25 b Fr(ncap2)12 b Fa(:)i(:)f(:)g(:)h(:)f(:)g(:)g
+5076 y(prin)n(t\(\))25 b Fr(ncap2)12 b Fa(:)i(:)f(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(117)150 3911
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(117)150 5164
y Fr(printf)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fs(6)150
-3999 y Fr(printf\(\))18 b Fa(:)d(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+5252 y Fr(printf\(\))18 b Fa(:)d(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
-b Fs(158,)27 b(182,)g(186)150 4087 y(prin)n(ting)e(\014les)h(con)n(ten)
+b Fs(158,)27 b(182,)g(187)150 5340 y(prin)n(ting)e(\014les)h(con)n(ten)
n(ts)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(176)150
-4175 y(prin)n(ting)25 b(v)l(ariables)11 b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)37 b Fs(176)150 4263 y(Pro)r(cessor)11
-b Fa(:)k(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fs(197,)27 b(199)150 4351 y(Pro)r(cessor,)h Fp(CCM)21
-b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48
-b Fs(28)150 4439 y(promotion)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)34 b Fs(88,)26 b(90,)h(152)150 4527 y(prop)r(osals)9
-b Fa(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)36 b Fs(213)150 4616 y(pseudon)n(ym)17 b
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fs(176)2025
+299 y(prin)n(ting)25 b(v)l(ariables)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)38 b Fs(176)2025 387 y(Pro)r(cessor)11
+b Fa(:)k(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38
+b Fs(198,)27 b(200)2025 474 y(Pro)r(cessor,)h Fp(CCM)21
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
+b Fs(28)2025 562 y(promotion)7 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)33 b Fs(89,)27 b(91,)g(152)2025 650 y(prop)r(osals)9
+b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)36 b Fs(213)2025 738 y(pseudon)n(ym)17 b
+Fa(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)44 b Fs(8)2025 826 y(publications)20 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+47 b Fs(5)2025 1078 y FB(Q)2025 1196 y Fs(QLogic)17 b
+Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)44 b Fs(6)2025 1283 y(Qt)7 b
Fa(:)12 b(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)44 b Fs(8)150 4704 y(publications)20 b Fa(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-46 b Fs(5)150 4958 y FB(Q)150 5076 y Fs(QLogic)17 b Fa(:)d(:)f(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)44 b Fs(6)150 5164 y(Qt)7 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)34 b Fs(8)150 5252 y(quadruple-precision)10
-b Fa(:)i(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fs(153)150
-5340 y(Quic)n(k)25 b(Start)c Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)48 b Fs(215)2025 299 y(quiet)14
-b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fs(182)2025 387 y(quotes)22
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fs(45,)27
-b(150,)g(163,)g(195)2025 641 y FB(R)2025 759 y Fs(`)p
-Fr(r1d)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(73)2025 847 y Fp(RA)n(G)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46
-b Fs(170)2025 935 y Fp(RAM)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34 b
+Fs(8)2025 1371 y(quadruple-precision)10 b Fa(:)i(:)h(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)37 b Fs(153)2025 1459 y(quenc)n(h)15 b Fa(:)d(:)h(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
+b Fs(182)2025 1547 y(Quic)n(k)25 b(Start)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(215)2025
+1635 y(quotes)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49
+b Fs(45,)27 b(150,)g(163,)g(196)2025 1887 y FB(R)2025
+2004 y Fs(`)p Fr(r1d)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
+b Fs(73)2025 2092 y Fp(RA)n(G)19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46
+b Fs(170)2025 2180 y Fp(RAM)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fs(22,)27 b(79)2025 1024 y Fp(RAM)e Fs(disks)12 b Fa(:)h(:)g(:)h(:)f(:)
+Fs(22,)27 b(80)2025 2268 y Fp(RAM)e Fs(disks)12 b Fa(:)h(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(16,)27
-b(79)2025 1112 y Fp(RAM)e Fs(\014les)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)
+b(80)2025 2356 y Fp(RAM)e Fs(\014les)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fs(16,)27
-b(79)2025 1200 y Fp(RAM)e Fs(v)l(ariables)15 b Fa(:)e(:)g(:)h(:)f(:)g
+b(80)2025 2443 y Fp(RAM)e Fs(v)l(ariables)15 b Fa(:)e(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)41 b Fs(80,)27 b(121)2025 1288 y(ram)p
-2162 1288 V 34 w(delete\(\))7 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)h(:)f(:)41 b Fs(80,)27 b(121)2025 2531 y(ram)p
+2162 2531 V 34 w(delete\(\))7 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fs(122)2025 1376
-y(ram)p 2162 1376 V 34 w(write\(\))20 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fs(122)2025 2619
+y(ram)p 2162 2619 V 34 w(write\(\))20 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47 b Fs(122)2025
-1464 y(random)26 b(w)n(alk)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+2707 y(random)26 b(w)n(alk)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(95)2025 1552
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46 b Fs(95)2025 2795
y(rank)22 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(106,)27 b(163,)h(164,)f
-(165,)g(205)2025 1640 y Fr(rcp)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f
+(165,)g(206)2025 2882 y Fr(rcp)16 b Fa(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)43
-b Fs(8,)26 b(30)2025 1728 y Fp(R)n(CS)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g
+b Fs(8,)26 b(30)2025 2970 y Fp(R)n(CS)11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)38 b Fs(101)2025 1816 y(`)p Fr(rd1)p Fs(')22 b Fa(:)13
+(:)38 b Fs(101)2025 3058 y(`)p Fr(rd1)p Fs(')22 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(74)2025 1905 y(re-dimension)21
+g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(74)2025 3146 y(re-dimension)21
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48
-b Fs(189)2025 1993 y(re-order)25 b(dimensions)8 b Fa(:)15
+b Fs(190)2025 3234 y(re-order)25 b(dimensions)8 b Fa(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(189)2025 2081
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(190)2025 3321
y(record)26 b(aggregation)9 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)36 b Fs(170)2025 2169 y(record)26 b(app)r(end)14
+g(:)36 b Fs(170)2025 3409 y(record)26 b(app)r(end)14
b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41
-b Fs(58)2025 2257 y(record)26 b(a)n(v)n(erage)10 b Fa(:)j(:)h(:)f(:)g
+b Fs(58)2025 3497 y(record)26 b(a)n(v)n(erage)10 b Fa(:)j(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(197)2025
-2345 y(record)26 b(concatenation)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fs(198)2025
+3585 y(record)26 b(concatenation)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)48
-b Fs(199)2025 2433 y(record)26 b(dimension)c Fa(:)13
-b(:)g(:)48 b Fs(17,)27 b(54,)f(76,)h(167,)g(170,)g(172,)g(178,)2178
-2520 y(179,)g(192,)h(196,)f(197,)g(199)2025 2609 y(record)f(v)l
+b Fs(200)2025 3672 y(record)26 b(dimension)c Fa(:)13
+b(:)g(:)48 b Fs(17,)27 b(54,)f(77,)h(167,)g(170,)g(172,)g(178,)2178
+3760 y(179,)g(193,)h(197,)f(198,)g(200)2025 3847 y(record)f(v)l
(ariable)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36
-b Fs(54,)27 b(192)2025 2697 y(rectangular)f(grids)20
+b Fs(54,)27 b(193)2025 3935 y(rectangular)f(grids)20
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fs(130)2025 2785 y(recursion)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(130)2025 4023 y(recursion)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b
-Fs(41)2025 2873 y(recursiv)n(e)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
+Fs(41)2025 4111 y(recursiv)n(e)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48
-b Fs(41)2025 2961 y Fr(regex)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(41)2025 4199 y Fr(regex)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(44)2025 3049 y(regression)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
+b Fs(44)2025 4286 y(regression)21 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fs(226)2025
-3137 y(regressions)27 b(arc)n(hiv)n(e)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g
+4374 y(regressions)27 b(arc)n(hiv)n(e)11 b Fa(:)j(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)38 b Fs(14)2025 3225 y(regrid)17
+f(:)g(:)g(:)g(:)g(:)38 b Fs(14)2025 4462 y(regrid)17
b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(236)2025 3313 y(regular)26
+(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(236)2025 4550 y(regular)26
b(expressions)13 b Fa(:)i(:)e(:)g(:)g(:)g(:)g(:)40 b
-Fs(20,)27 b(28,)g(43,)g(150,)g(156,)g(160)2025 3402 y
+Fs(20,)27 b(28,)g(43,)g(150,)g(156,)g(160)2025 4638 y
Fr(remap)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(125)2025 3490
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fs(125)2025 4725
y(Remik)25 b(Ziemlinski)10 b Fa(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)37 b Fs(212)2025 3578 y(remote)26 b(\014les)20 b
+g(:)37 b Fs(212)2025 4813 y(remote)26 b(\014les)20 b
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fs(8,)26 b(30)2025 3666 y(rename)g(groups)9 b Fa(:)k(:)g(:)g(:)g(:)g
+b Fs(8,)26 b(30)2025 4901 y(rename)g(groups)9 b Fa(:)k(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(48)2025
-3754 y(renaming)26 b(attributes)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+4989 y(renaming)26 b(attributes)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)36
-b Fs(201,)27 b(236)2025 3842 y(renaming)f(dimensions)6
+b Fs(202,)27 b(236)2025 5077 y(renaming)f(dimensions)6
b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)33 b Fs(201,)27 b(236)2025 3930 y(renaming)f(groups)
+(:)g(:)g(:)h(:)f(:)33 b Fs(202,)27 b(236)2025 5164 y(renaming)f(groups)
6 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33
-b Fs(201)2025 4018 y(renaming)26 b(v)l(ariables)14 b
+b Fs(202)2025 5252 y(renaming)26 b(v)l(ariables)14 b
Fa(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)41 b Fs(201,)27 b(226,)g(236)2025 4106 y(rep)r(orting)f(bugs)10
+(:)41 b Fs(202,)27 b(226,)g(236)2025 5340 y(rep)r(orting)f(bugs)10
b Fa(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
-b Fs(13)2025 4195 y(reshap)r(e)26 b(v)l(ariables)17 b
-Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(189)2025
-4283 y Fr(restrict)14 b Fa(:)h(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fs(7)2025
-4371 y(rev)n(erse)26 b(data)15 b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fs(195)2025 4459 y(rev)n(erse)26
-b(dimensions)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)44 b Fs(189,)27 b(194,)g(195)2025
-4547 y(rev)n(erse\(\))21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fs(113)2025
-4635 y(`)p Fr(rew)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(74)2025 4723 y(Ric)n(h)25 b(Signell)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(212)2025
-4811 y Fm(rin)n(t)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fs(151)2025 4899 y Fr(rms)8 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)34 b Fs(83)2025 4988 y Fr(rmssdn)17 b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fs(83)2025 5076 y(rmssdn\(\))17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(119)2025
-5164 y(ro)r(ot-mean-square)13 b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)39 b Fs(83)2025 5252 y(Rorik)25 b(P)n(eterson)18
-b Fa(:)c(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45
-b Fs(211)2025 5340 y Fm(round)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fs(151)p eop end
+b Fs(13)p eop end
%%Page: 266 272
TeXDict begin 266 271 bop 150 -116 a FD(266)2582 b FC(NCO)30
-b FD(4.4.5)j(User)d(Guide)150 299 y Fs(rounding)19 b
-Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)46 b Fs(95)150 387 y(rounding)25 b(functions)e
-Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(151)150
-475 y Fp(RPM)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b FD(4.4.6)j(User)d(Guide)150 299 y Fs(reshap)r(e)c(v)l(ariables)17
+b Fa(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b
+Fs(190)150 387 y Fr(restrict)14 b Fa(:)h(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
+b Fs(7)150 475 y(rev)n(erse)26 b(data)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(196)150
+563 y(rev)n(erse)26 b(dimensions)17 b Fa(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(190,)27
+b(195,)g(196)150 651 y(rev)n(erse\(\))21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
+b Fs(113)150 739 y(`)p Fr(rew)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)47 b Fs(74)150 828 y(Ric)n(h)25 b(Signell)18 b Fa(:)c(:)f(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(212)150
+916 y Fm(rin)n(t)21 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)47
+b Fs(151)150 1004 y Fr(rms)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+34 b Fs(84)150 1092 y Fr(rmssdn)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b
-Fs(12)150 563 y(running)25 b(a)n(v)n(erage)18 b Fa(:)c(:)f(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fs(197)150 651 y(Russ)25
-b(Rew)e Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49
-b Fs(211,)27 b(212)150 906 y FB(S)150 1024 y Fs(safeguards)16
-b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42
-b Fs(15,)27 b(201)150 1112 y Fr(scale_factor)15 b Fa(:)g(:)f(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41
-b Fs(81,)27 b(171,)g(189,)g(199)150 1200 y Fm(scale)p
-312 1200 24 4 v 35 w(format)13 b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(24)150 1288 y(scaling)9
-b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
+b Fs(84)150 1180 y(rmssdn\(\))17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(119)150
+1268 y(ro)r(ot-mean-square)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)39 b Fs(84)150 1356 y(Rorik)25 b(P)n(eterson)18
+b Fa(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45
+b Fs(211)150 1444 y Fm(round)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
+b Fs(151)150 1532 y(rounding)19 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)35 b Fs(24,)27 b(175)150 1376 y(Scien)n(ti\014c)e(Data)h(Op)r
-(erators)13 b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(213)150 1464 y(`)p
-Fr(scl)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fs(74)150 1552 y(Scott)26 b(Capps)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40 b Fs(212)150 1640
-y Fr(scp)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fs(8,)26
-b(30)150 1728 y(script)g(\014le)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b Fs(104)150
-1816 y Fp(SDO)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b
-Fs(213)150 1905 y(seasonal)28 b(a)n(v)n(erage)12 b Fa(:)h(:)g(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 b
+Fs(95)150 1621 y(rounding)25 b(functions)e Fa(:)14 b(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)49 b Fs(151)150 1709 y Fp(RPM)18 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(12)150 1797 y(running)25
+b(a)n(v)n(erage)18 b Fa(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+45 b Fs(198)150 1885 y(Russ)25 b(Rew)e Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b Fs(211,)27 b(212)150
+2139 y FB(S)150 2257 y Fs(safeguards)16 b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fs(15,)27 b(202)150
+2345 y Fr(scale_factor)15 b Fa(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fs(81,)27 b(171,)g(190,)g(200)
+150 2433 y Fm(scale)p 312 2433 24 4 v 35 w(format)13
+b Fa(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)38 b Fs(24)150 2521 y(scaling)9 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(24,)27
+b(175)150 2609 y(Scien)n(ti\014c)e(Data)h(Op)r(erators)13
+b Fa(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)40 b Fs(213)150 2698 y(`)p Fr(scl)p Fs(')22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(74)150 2786 y(Scott)26
+b(Capps)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)40 b Fs(212)150 2874 y Fr(scp)16 b Fa(:)e(:)f(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43
+b Fs(8,)26 b(30)150 2962 y(script)g(\014le)11 b Fa(:)i(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fs(215)150 1993
-y(securit)n(y)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fs(77)150
-2081 y Fp(SEI)r(I)r(I)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42
-b Fs(213)150 2169 y(semi-colon)9 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
+b Fs(104)150 3050 y Fp(SDO)7 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
+b Fs(213)150 3138 y(seasonal)28 b(a)n(v)n(erage)12 b
+Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
+b Fs(215)150 3226 y(securit)n(y)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
+b Fs(78)150 3314 y Fp(SEI)r(I)r(I)15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)42
+b Fs(213)150 3402 y(semi-colon)9 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fs(105)150
-2257 y(separator)11 b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+3491 y(separator)11 b Fa(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(183)150 2345 y(serv)n(er)15
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fs(183)150 3579 y(serv)n(er)15
b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fs(21,)27 b(32,)f(35)150 2433 y(Serv)n(er-Side)e(Distributed)i(Data)g
-(Reduction)f(&)304 2520 y(Analysis)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g
+b Fs(21,)27 b(32,)f(35)150 3667 y(Serv)n(er-Side)e(Distributed)i(Data)g
+(Reduction)f(&)304 3754 y(Analysis)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(213)150 2609
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(213)150 3842
y(serv)n(er-side)26 b(pro)r(cessing)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44
-b Fs(33,)27 b(213)150 2697 y Fr(set_miss\(\))d Fa(:)13
+b Fs(33,)27 b(213)150 3930 y Fr(set_miss\(\))d Fa(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(118)150 2785 y Fr(sftp)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(118)150 4018 y Fr(sftp)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(8,)26 b(30)150 2873 y Fp(SGI)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
+b Fs(8,)26 b(30)150 4106 y Fp(SGI)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)36 b Fs(6)150 2961 y(Sh)25 b(shell)20 b Fa(:)13
+(:)g(:)g(:)36 b Fs(6)150 4195 y(Sh)25 b(shell)20 b Fa(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)46 b Fs(184)150 3049 y(shared)26 b(memory)g(mac)n(hines)19
+g(:)g(:)46 b Fs(184)150 4283 y(shared)26 b(memory)g(mac)n(hines)19
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)45 b Fs(22)150 3137 y(shared)26
+(:)g(:)g(:)g(:)h(:)f(:)45 b Fs(22)150 4371 y(shared)26
b(memory)g(parallelism)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(25)150
-3225 y(shell)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+4459 y(shell)17 b Fa(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)44 b Fs(20,)26 b(45,)h(67,)g(150,)g
-(163,)g(184)150 3313 y Fm(signedness)14 b Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)
+(163,)g(184)150 4547 y Fm(signedness)14 b Fa(:)g(:)f(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
-b Fs(24)150 3402 y Fm(sin)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(24)150 4635 y Fm(sin)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fs(151)150 3490 y(sine)26 b(function)21 b Fa(:)13 b(:)g(:)g(:)g(:)g
+b Fs(151)150 4723 y(sine)26 b(function)21 b Fa(:)13 b(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fs(151)150
-3578 y(single-precision)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+4811 y(single-precision)15 b Fa(:)g(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)41 b Fs(153)150 3666 y Fm(sinh)13 b Fa(:)g(:)g(:)g(:)g(:)h
+g(:)g(:)h(:)41 b Fs(153)150 4899 y Fm(sinh)13 b Fa(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)40 b Fs(151)150 3754 y(size\(\))9 b Fa(:)k(:)h(:)f(:)g(:)g(:)g
+(:)g(:)40 b Fs(151)150 4988 y(size\(\))9 b Fa(:)k(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)35
-b Fs(120)150 3842 y Fp(SLD)26 b Fs(\(Sw)n(ath-lik)n(e)f(Data\))8
+b Fs(120)150 5076 y Fp(SLD)26 b Fs(\(Sw)n(ath-lik)n(e)f(Data\))8
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fs(123)150 3930 y
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fs(123)150 5164 y
Fp(SMP)8 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fs(25)150
-4018 y Fr(sort)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+5252 y Fr(sort)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b
-Fs(125)150 4106 y(sort)26 b(alphab)r(etically)13 b Fa(:)i(:)e(:)g(:)g
+Fs(125)150 5340 y(sort)26 b(alphab)r(etically)13 b Fa(:)i(:)e(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)40 b Fs(177,)27 b(185)150 4195 y(source)f(co)r(de)12
-b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)39 b Fs(5)150 4283 y(spatial)27 b(distribution)17
-b Fa(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(223)150
-4371 y(sp)r(ecial)27 b(attributes)14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)40 b Fs(177,)27 b(186)2025 299 y(source)f(co)r(de)12
+b Fa(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)39 b Fs(5)2025 387 y(spatial)27 b(distribution)17
+b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(223)2025
+475 y(sp)r(ecial)27 b(attributes)14 b Fa(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)41 b Fs(178)2025 563 y(sp)r(ecial)27 b(c)n(haracters)8
+b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
+b Fs(159)2025 651 y(sp)r(eed)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(9,)26
+b(16,)h(22,)g(24,)f(25,)h(72,)g(202)2025 739 y Fr(sqravg)17
+b Fa(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(84)2025 827 y(sqra)n(vg\(\))12
+b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)39 b Fs(119)2025 916 y Fr(sqrt)23 b Fa(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(84)2025 1004 y Fm(sqrt)17
+b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fs(151)2025 1092
+y(square)25 b(ro)r(ot)i(function)14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)41 b Fs(151)2025 1180 y Fp(SSDDRA)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)40 b Fs(178)150 4459 y(sp)r(ecial)27
-b(c)n(haracters)8 b Fa(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)48
+b Fs(213)2025 1268 y Fp(SSH)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36
+b Fs(8,)26 b(35)2025 1356 y(sshort\(\))19 b Fa(:)13 b(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-35 b Fs(159)150 4547 y(sp)r(eed)12 b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fs(9,)26
-b(16,)h(21,)g(24,)g(25,)f(71,)h(201)150 4635 y Fr(sqravg)17
-b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(83)150 4723 y(sqra)n(vg\(\))12
-b Fa(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)39 b Fs(119)150 4811 y Fr(sqrt)23 b Fa(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(83)150 4899 y Fm(sqrt)17
-b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fs(151)150 4988 y(square)26
-b(ro)r(ot)g(function)14 b Fa(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)41
-b Fs(151)150 5076 y Fp(SSDDRA)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(213)150
-5164 y Fp(SSH)9 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(8,)26
-b(35)150 5252 y(sshort\(\))19 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)46 b
-Fs(121)150 5340 y(standard)26 b(deviation)18 b Fa(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)45 b Fs(83,)26 b(87,)h(226)2025 299 y(standard)e(input)c
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
+b Fs(121)2025 1444 y(standard)25 b(deviation)18 b Fa(:)c(:)f(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fs(84,)27 b(87,)g(226)2025 1532 y(standard)e(input)c
Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)48
-b Fs(20,)26 b(168,)i(171,)f(197,)g(199)2025 387 y Fr(standard_name)16
+b Fs(20,)26 b(168,)i(171,)f(198,)g(200)2025 1620 y Fr(standard_name)16
b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Fs(64)2025 474 y Fr(stat\(\))27 b(system)g(call)17
+b Fs(64)2025 1708 y Fr(stat\(\))27 b(system)g(call)17
b Fa(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fs(79)2025
-562 y(statemen)n(t)18 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+1796 y(statemen)n(t)18 b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(105)2025 650
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(105)2025 1885
y(static)26 b(linking)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(9)2025 737 y Fr(stdin)9
-b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)36 b Fs(20,)27 b(97,)f(168,)i(171,)f(197,)g(199)2025
-825 y(Stev)n(e)e(Emmerson)e Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)50 b Fs(211)2025 913 y(stride)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)36 b Fs(55,)26 b(56,)h(61,)g(67,)f(197,)i(198,)f
-(199,)g(200)2025 1001 y(strings)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
-b Fs(159)2025 1088 y(Stu)25 b(Muller)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(9)2025 1973 y
+Fr(stdin)9 b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(20,)27 b(98,)f(168,)i(171,)f(198,)g(200)
+2025 2061 y(Stev)n(e)e(Emmerson)e Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)50 b Fs(211)2025 2149 y(stride)9 b Fa(:)k(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fs(56,)26 b(57,)h(61,)g(67,)f(198,)i
+(199,)f(200,)g(201)2025 2237 y(strings)22 b Fa(:)13 b(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48
+b Fs(159)2025 2325 y(Stu)25 b(Muller)c Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)48 b Fs(212)2025
-1176 y(stub)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+2413 y(stub)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b
-Fs(32)2025 1264 y(sub-cycle)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+Fs(32)2025 2501 y(sub-cycle)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fs(59)2025
-1352 y(sub)r(cycle)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+2589 y(sub)r(cycle)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b Fs(59)2025
-1439 y(subsetting)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+2677 y(subsetting)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(40,)27 b(45,)g(100,)g(186,)g
-(187)2025 1527 y Fr(subtract)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h
+(188)2025 2766 y Fr(subtract)10 b Fa(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fs(162)2025
-1615 y(subtracting)26 b(data)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+2854 y(subtracting)26 b(data)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)36 b Fs(162)2025 1702 y(subtraction)15 b
+g(:)g(:)g(:)36 b Fs(162)2025 2942 y(subtraction)15 b
Fa(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fs(151,)27 b(162)2025 1790 y(summary)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h
+b Fs(151,)27 b(162)2025 3030 y(summary)16 b Fa(:)d(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)43
-b Fs(3)2025 1878 y(Sun)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+b Fs(3)2025 3118 y(Sun)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fs(6)2025 1966 y(sw)n(ap)26 b(space)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g
+b Fs(6)2025 3206 y(sw)n(ap)26 b(space)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)41 b Fs(21,)26 b(22,)h(79)2025 2053
+f(:)g(:)g(:)g(:)g(:)41 b Fs(21,)26 b(22,)h(80)2025 3294
y(Sw)n(ath-lik)n(e)e(Data)h(\()p Fp(SLD)p Fs(\))8 b Fa(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(123)2025 2141 y(switc)n(hes)14
+(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(123)2025 3382 y(switc)n(hes)14
b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)40 b Fs(27)2025 2229 y(sym)n(b)r(olic)26
+(:)g(:)g(:)h(:)f(:)40 b Fs(27)2025 3470 y(sym)n(b)r(olic)26
b(links)6 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)33 b Fs(8,)26 b(18,)h(21,)g(163,)g(190)2025
-2316 y(sync)n(hronous)e(\014le)h(access)10 b Fa(:)k(:)f(:)h(:)f(:)g(:)g
+(:)g(:)h(:)f(:)g(:)33 b Fs(8,)26 b(18,)h(21,)g(163,)g(191)2025
+3558 y(sync)n(hronous)e(\014le)h(access)10 b Fa(:)k(:)f(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)37 b Fs(30)2025 2404 y(synon)n(ym)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)
+g(:)37 b Fs(30)2025 3646 y(synon)n(ym)21 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50
-b Fs(8)2025 2492 y(syn)n(tax)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fs(8)2025 3735 y(syn)n(tax)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)50
-b Fs(105)2025 2580 y(System)25 b(calls)14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g
+b Fs(105)2025 3823 y(System)25 b(calls)14 b Fa(:)g(:)f(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fs(79)2025
-2832 y FB(T)2025 2949 y Fs(T)-6 b(ak)n(eshi)26 b(Enomoto)11
+4077 y FB(T)2025 4195 y Fs(T)-6 b(ak)n(eshi)26 b(Enomoto)11
b Fa(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fs(212)2025 3037 y Fm(tan)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+Fs(212)2025 4283 y Fm(tan)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fs(151)2025 3124 y Fm(tanh)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fs(151)2025 4371 y Fm(tanh)21 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(151)2025 3212 y(temp)r(orary)26 b(\014les)9 b Fa(:)k(:)g(:)g(:)g
+b Fs(151)2025 4459 y(temp)r(orary)26 b(\014les)9 b Fa(:)k(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fs(15,)27 b(81)2025
-3300 y(temp)r(orary)f(output)e(\014les)6 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)
+4547 y(temp)r(orary)f(output)e(\014les)6 b Fa(:)14 b(:)f(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)33 b Fs(15,)27
-b(81,)g(201)2025 3388 y(T)2067 3404 y(E)2110 3388 y(Xinfo)20
+b(81,)g(202)2025 4635 y(T)2067 4651 y(E)2110 4635 y(Xinfo)20
b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(5)2025 3475 y Fm(thr)p
-2133 3475 V 33 w(n)n(br)13 b Fa(:)f(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)47 b Fs(5)2025 4723 y Fm(thr)p
+2133 4723 V 33 w(n)n(br)13 b Fa(:)f(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34 b
-Fs(26)2025 3563 y(threads)6 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+Fs(26)2025 4811 y(threads)6 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)33 b Fs(22,)26 b(23,)h(25)2025
-3651 y Fr(time)9 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+4900 y Fr(time)9 b Fa(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(67,)27 b(100)2025
-3738 y(time-a)n(v)n(eraging)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)36
-b Fs(151,)27 b(215,)g(216,)h(223,)f(226,)g(233)2025 3826
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(67,)27 b(101)2025
+4988 y(time-a)n(v)n(eraging)10 b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)36
+b Fs(151,)27 b(215,)g(216,)h(223,)f(226,)g(233)2025 5076
y Fr(time_offset)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)46 b Fs(100)2025 3914 y(timestamp)9 b
+g(:)h(:)f(:)g(:)46 b Fs(101)2025 5164 y(timestamp)9 b
Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)35 b Fs(97)2025 4002 y(total)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
+h(:)f(:)35 b Fs(97)2025 5252 y(total)22 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)48 b Fs(83)2025 4089 y(transp)r(ose)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g
+(:)48 b Fs(84)2025 5340 y(transp)r(ose)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(54,)27 b(192)2025
-4177 y Fp(TREFHT)18 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)45 b Fs(93)2025 4265
-y Fm(trunc)11 b Fa(:)h(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fs(151)2025
-4352 y Fr(trunc\(\))15 b Fa(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fs(90)2025
-4440 y(truncate)25 b(\(groups\))11 b Fa(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)37 b Fs(46)2025 4528 y(truncation)25
-b(function)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
-b Fs(151)2025 4616 y(truth)24 b(condition)17 b Fa(:)d(:)g(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)44 b Fs(206,)27 b(209)2025 4703 y Fr(ttl)8
-b Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fs(83)2025
-4791 y(ttl\(\))11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)38 b
-Fs(119)2025 4879 y(t)n(yp)r(e)25 b(con)n(v)n(ersion)11
-b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37
-b Fs(88)2025 4966 y(t)n(yp)r(e\(\))12 b Fa(:)g(:)h(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
-b Fs(120)2025 5223 y FB(U)2025 5340 y Fs(ub)n(yte\(\))9
-b Fa(:)i(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)36 b Fs(121)p eop end
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(54,)27 b(193)p
+eop end
%%Page: 267 273
TeXDict begin 267 272 bop 150 -116 a FD(General)31 b(Index)2902
-b(267)150 299 y Fs(UDUnits)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)44 b Fs(6,)27 b(66,)f(98)150
-390 y(uin)n(t\(\))18 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fs(121)150
-482 y Fr(ulimit)17 b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b(267)150 299 y Fp(TREFHT)18 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fs(94)150
+388 y Fm(trunc)11 b Fa(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fs(21)150
-573 y(unary)25 b(op)r(erations)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fs(151)150
+477 y Fr(trunc\(\))15 b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)48 b Fs(23)150 665 y(underlying)25 b(\014le)h(format)9
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fs(90)150
+566 y(truncate)25 b(\(groups\))11 b Fa(:)i(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)37 b Fs(46)150 655 y(truncation)26 b(function)12
+b Fa(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39 b Fs(151)150
+744 y(truth)25 b(condition)17 b Fa(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(207,)27 b(210)150 833 y Fr(ttl)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)34 b Fs(84)150 922 y(ttl\(\))11 b Fa(:)i(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)38 b Fs(119)150 1011 y(t)n(yp)r(e)25 b(con)n(v)n(ersion)11
+b Fa(:)i(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
+b Fs(88)150 1101 y(t)n(yp)r(e\(\))12 b Fa(:)g(:)h(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
+b Fs(120)150 1364 y FB(U)150 1484 y Fs(ub)n(yte\(\))9
+b Fa(:)j(:)h(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)36 b Fs(121)150 1573 y(UDUnits)18
+b Fa(:)12 b(:)h(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
+b Fs(6,)27 b(66,)f(98)150 1662 y(uin)n(t\(\))18 b Fa(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)45 b Fs(121)150 1751 y Fr(ulimit)17 b
+Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)43 b Fs(21)150 1840 y(unary)25 b(op)r(erations)e
+Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
+b Fs(23)150 1929 y(underlying)25 b(\014le)h(format)9
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35 b Fs(37)150
-757 y Fp(UNICOS)14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(21)150 848
-y(Unidata)14 b Fa(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)41 b Fs(6,)27 b(10,)f(66)150 940 y(union)13 b
-Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)40 b Fs(40,)26 b(42)150 1031 y(union)f(of)i(\014les)c
+2018 y Fp(UNICOS)14 b Fa(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fs(21)150
+2108 y(Unidata)14 b Fa(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)41 b Fs(6,)27 b(10,)f(66)150 2197 y(union)13
+b Fa(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)40 b Fs(40,)26 b(42)150 2286 y(union)f(of)i(\014les)c
Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-49 b Fs(17)150 1123 y(unit64\(\))13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+49 b Fs(17)150 2375 y(unit64\(\))13 b Fa(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40
-b Fs(121)150 1214 y Fr(units)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
+b Fs(121)150 2464 y Fr(units)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)44 b Fs(66,)27 b(67,)g(160,)g(175)150 1306 y Fp(UNIX)9
+(:)g(:)44 b Fs(66,)27 b(67,)g(160,)g(175)150 2553 y Fp(UNIX)9
b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(6,)27 b(8,)f(20,)h(27,)f(28,)h
-(184)150 1397 y(unlimited)f(dimension)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g
+(184)150 2642 y(unlimited)f(dimension)13 b Fa(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)40 b Fs(170)150 1489 y Fr(unmap)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)40 b Fs(170)150 2731 y Fr(unmap)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(125)150 1580 y(unpac)n(k\(\))17 b Fa(:)12 b(:)h(:)h(:)f(:)g(:)g(:)
+b Fs(125)150 2820 y(unpac)n(k\(\))17 b Fa(:)12 b(:)h(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
-b Fs(120)150 1672 y Fr(unpack\(x\))9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
+b Fs(120)150 2909 y Fr(unpack\(x\))9 b Fa(:)16 b(:)d(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(81)150 1763 y(unpac)n(king)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+b Fs(81)150 2998 y(unpac)n(king)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fs(34,)27
-b(81,)g(171,)g(189,)g(199)150 1855 y Fp(URL)9 b Fa(:)k(:)g(:)g(:)h(:)f
+b(81,)g(171,)g(190,)g(200)150 3087 y Fp(URL)9 b Fa(:)k(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)35 b Fs(30)150 1947 y Fm(User)26 b(Guide)18
+(:)g(:)h(:)35 b Fs(30)150 3176 y Fm(User)26 b(Guide)18
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)41 b Fs(5)150 2038 y(ushort\(\))13 b Fa(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)41 b Fs(5)150 3266 y(ushort\(\))13 b Fa(:)g(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)40
-b Fs(121)150 2315 y FB(V)150 2439 y Fs(v)l(alue)25 b(list)16
+b Fs(121)150 3529 y FB(V)150 3649 y Fs(v)l(alue)25 b(list)16
b Fa(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)43 b Fs(113)150 2531 y(v)l(ariable)26 b(names)21
-b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47
-b Fs(201)150 2622 y(v)l(ariables,)27 b(app)r(ending)11
-b Fa(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37 b Fs(226)150 2714
-y(v)l(ariance)14 b Fa(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fs(83)150 2806
-y(v)n(ersion)15 b Fa(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fs(101)150 2897
-y(Vista)26 b(\(Microsoft)i(op)r(erating)e(system\))9
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fs(7)2025 299 y FB(W)2025 415 y Fs(W)-6 b(eather)25
+(:)g(:)g(:)43 b Fs(113)2025 299 y(v)l(ariable)26 b(names)21
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
+b Fs(202)2025 386 y(v)l(ariables,)27 b(app)r(ending)11
+b Fa(:)h(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)38 b Fs(226)2025
+473 y(v)l(ariance)14 b Fa(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fs(84)2025
+560 y(v)n(ersion)15 b Fa(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fs(101)2025
+648 y(Vista)26 b(\(Microsoft)i(op)r(erating)e(system\))9
+b Fa(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
+b Fs(7)2025 901 y FB(W)2025 1017 y Fs(W)-6 b(eather)25
b(and)g(Researc)n(h)h(F)-6 b(orecast)27 b(\()p Fp(WRF)p
-Fs(\))f(Mo)r(del)2200 502 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+Fs(\))f(Mo)r(del)2200 1104 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fs(123)2025 590 y(w)n(eigh)n(ted)26 b(a)n(v)n(erage)d
+b Fs(123)2025 1191 y(w)n(eigh)n(ted)26 b(a)n(v)n(erage)d
Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(205,)27 b(233)2025
-677 y(W)-6 b(enshan)25 b(W)-6 b(ang)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fs(206,)27 b(233)2025
+1279 y(W)-6 b(enshan)25 b(W)-6 b(ang)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(213)2025 764 y Fr(wget)23
+f(:)g(:)g(:)g(:)g(:)g(:)36 b Fs(213)2025 1366 y Fr(wget)23
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(30)2025 852 y(where\(\))22
-b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)49 b Fs(122)2025 939 y(while\(\))15 b
-Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)42 b Fs(124)2025 1026 y(whitespace)22
-b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fs(30)2025 1453
+y(where\(\))22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(122)2025 1540
+y(while\(\))15 b Fa(:)f(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)48 b Fs(67)2025 1114 y(wildcards)9 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(28,)27 b(43,)g(156,)g(160)2025
-1201 y Fr(WIN32)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b
-Fs(8)2025 1289 y(Windo)n(ws)9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(6,)27
-b(7)2025 1376 y(wrapp)r(ed)f(co)r(ordinates)6 b Fa(:)15
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)42 b Fs(124)2025 1627
+y(whitespace)22 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)48 b Fs(67)2025 1714 y(wildcards)9
+b Fa(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(28,)27 b(43,)g(156,)g(160)
+2025 1802 y Fr(WIN32)c Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fs(8)2025 1889 y(Windo)n(ws)9 b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fs(6,)27
+b(7)2025 1976 y(wrapp)r(ed)f(co)r(ordinates)6 b Fa(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)33
-b Fs(56,)27 b(63,)g(130,)g(188)2025 1463 y(wrapp)r(ed)f(\014lenames)12
+b Fs(56,)27 b(63,)g(130,)g(189)2025 2063 y(wrapp)r(ed)f(\014lenames)12
b Fa(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fs(29)2025 1551 y Fp(WRF)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+Fs(29)2025 2150 y Fp(WRF)13 b Fa(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fs(131)2025 1638 y Fp(WRF)26 b Fs(\(W)-6 b(eather)25
+b Fs(131)2025 2237 y Fp(WRF)26 b Fs(\(W)-6 b(eather)25
b(and)g(Researc)n(h)h(F)-6 b(orecast)27 b(Mo)r(del\))2200
-1725 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+2325 y Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(123)2025 1812
-y(WWW)25 b(do)r(cumen)n(tation)12 b Fa(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-39 b Fs(5)2025 2046 y FB(X)2025 2162 y Fr(xargs)9 b Fa(:)14
-b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)35 b Fs(20,)27 b(30)2025 2250 y Fr(xlc)10 b Fa(:)j(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)37 b Fs(6)2025 2337 y Fr(xlC)10
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fs(123)2025 2412
+y Fp(WWW)27 b Fs(do)r(cumen)n(tation)22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)49 b Fs(5)2025 2645 y FB(X)2025 2761 y Fr(xargs)9
+b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)35 b Fs(20,)27 b(30)2025 2848 y Fr(xlc)10
b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fs(6)2025
-2425 y Fp(XML)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fs(182)2025
-2512 y(XP)25 b(\(Microsoft)j(op)r(erating)f(system\))9
-b Fa(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fs(7)2025 2599 y(`)p Fr(xpl)p Fs(')22 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g
+2935 y Fr(xlC)10 b Fa(:)j(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37
+b Fs(6)2025 3022 y Fp(XML)17 b Fa(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fs(182)2025 3109 y Fp(XP)25 b Fs(\(Microsoft)j(op)r(erating)f
+(system\))13 b Fa(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)40 b Fs(7)2025 3196 y(`)p Fr(xpl)p Fs(')22
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fs(73)2025 3284
+y(`)p Fr(xst)p Fs(')10 b Fa(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)47 b Fs(73)2025 2687 y(`)p Fr(xst)p Fs(')10 b Fa(:)k(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fs(73,)27 b(74)2025 2937 y FB(Y)2025 3053 y Fs(Y)-6
-b(oric)n(k)17 b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)44 b Fs(15,)27 b(24)p eop end
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fs(73,)27
+b(74)2025 3533 y FB(Y)2025 3649 y Fs(Y)-6 b(oric)n(k)17
+b Fa(:)c(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)44 b Fs(15,)27 b(24)p eop end
%%Page: 268 274
TeXDict begin 268 273 bop eop end
%%Trailer
diff --git a/doc/nco.texi b/doc/nco.texi
index 0914dee..0ad30b4 100644
--- a/doc/nco.texi
+++ b/doc/nco.texi
@@ -7,9 +7,9 @@
@ignore
-$Header: /cvsroot/nco/nco/doc/nco.texi,v 1.1017 2014/08/27 04:44:01 zender Exp $
+$Header: /cvsroot/nco/nco/doc/nco.texi,v 1.1032 2014/10/01 16:05:12 zender Exp $
-Purpose: TeXInfo documentation for NCO suite
+Purpose: TeXInfo documentation for netCDF Operators (NCO)
URL: http://nco.sf.net/nco.texi
@@ -92,7 +92,7 @@ Legend (defined in "highlighting" section of TeXInfo manual):
@samp{}: Extended commands, character sequences, e.g., @samp{ncra in.nc out.nc}
@uref{}: URL with optional alternate text, e.g., @uref{http://nco.sf.net,NCO homepage}
@url{}: URL, synonym for @uref
- at var{}: Metasyntactic variable, e.g., @var{}
+ at var{}: Metasyntactic variable, e.g., @var{input}
@verbatim: Anything goes inside environment (no @'s needed to protect special characters like braces)
@verbatiminclude: Insert contents of file here, e.g., @verbatiminclude{nco.sh}
@example: Quoted environment (@'s needed to protect special characters like braces)
@@ -114,12 +114,12 @@ Octave TeXInfo manual shows clean TeXInfo structure
@setfilename nco.info
@c Define edition, date, ...
- at set nco-edition 4.4.5
- at set doc-edition 4.4.5
+ at set nco-edition 4.4.6
+ at set doc-edition 4.4.6
@set copyright-years 1995--2014
@set update-year 2014
- at set update-date 26 August 2014
- at set update-month August 2014
+ at set update-date 1 October 2014
+ at set update-month October 2014
@settitle @acronym{NCO} @value{nco-edition} User Guide
@@ -586,7 +586,7 @@ nco.tar}.
with @samp{tar -xvzf nco.tar.gz}.
@cindex documentation
- at cindex WWW documentation
+ at cindex @acronym{WWW} documentation
@cindex on-line documentation
@cindex @acronym{HTML}
@cindex @TeX{}info
@@ -857,7 +857,7 @@ by invoking the compiler with @samp{-Drestrict=''}.}.
@cindex @acronym{GSL}
@findex ncap2
In January 2009, @acronym{NCO} version 3.9.6 was the first to link
-to the GNU Scientific Library (@acronym{GSL}).
+to the @acronym{GNU} Scientific Library (@acronym{GSL}).
@acronym{GSL} must be @w{version 1.4} or later.
@acronym{NCO}, in particular @command{ncap2}, uses the @acronym{GSL}
special function library to evaluate geoscience-relevant mathematics
@@ -925,24 +925,24 @@ platform, and the change in the wallclock time for execution.}.
@subsection Compiling @acronym{NCO} for Microsoft Windows @acronym{OS}
@cindex Windows
@cindex Microsoft
- at cindex XP (Microsoft operating system)
- at cindex NT (Microsoft operating system)
+ at cindex @acronym{XP} (Microsoft operating system)
+ at cindex @acronym{NT} (Microsoft operating system)
@cindex Vista (Microsoft operating system)
@cindex @acronym{MVS}
@cindex Microsoft Visual Studio
@acronym{NCO} has been successfully ported and tested on most Microsoft
-Windows operating systems including: XP SP2/Vista/7.
+Windows operating systems including: @acronym{XP} SP2/Vista/7.
Support is provided for compiling either native Windows executables,
using the Microsoft Visual Studio 2010 Compiler, or with Cygwin, the
-UNIX-emulating compatibility layer with the GNU toolchain.
+ at acronym{UNIX}-emulating compatibility layer with the @acronym{GNU} toolchain.
The switches necessary to accomplish both are included in the standard
distribution of @acronym{NCO}.
@cindex Qt
@cindex C99
Using Microsoft Visual Studio (@acronym{MVS}), one must build
- at acronym{NCO} with the C++ compiler since MVS does not support C99.
+ at acronym{NCO} with the C++ compiler since @acronym{MVS} does not support C99.
Qt, a convenient integrated development environment, was used to convert
the project files to @acronym{MVS} format.
The Qt files themselves are distributed in the @file{nco/qt} directory.
@@ -1259,9 +1259,10 @@ a version of netCDF (4.3.2 or later?) that does not unexpectedly die
when probing @acronym{HDF4} files with standard netCDF calls.
@acronym{NCO} versions 4.3.7--4.3.9 (October--December, 2013)
use a special flag to workaround netCDF @acronym{HDF4} issues.
-The user must tell these versions of @acronym{NCO} that an input file is
+The user must tell these versions of @acronym{NCO} that an input file is
@acronym{HDF4} format by using the @samp{--hdf4} switch.
+ at cindex @code{HDF4_UNKNOWN}
When compiled with netCDF version 4.3.1 (20140116) or later,
@acronym{NCO} versions 4.4.0 (January, 2014) and later more gracefully
handle @acronym{HDF4} files.
@@ -1271,6 +1272,13 @@ whether the underlying file is @acronym{HDF4}, and then take appropriate
precautions to avoid netCDF4 @acronym{API} calls that fail when applied
to @acronym{HDF4} files (e.g., @code{nc_inq_var_chunking()},
@code{nc_inq_var_deflate()}).
+When compiled with netCDF version 4.3.2 (20140423) or earlier,
+ at acronym{NCO} will report that chunking and deflation properties of
+ at acronym{HDF4} files as @code{HDF4_UNKNOWN}, because determining
+those properties was impossible.
+When compiled with netCDF version 4.3.3-rc2 (20140925) or later,
+ at acronym{NCO} versions 4.4.6 (October, 2014) and later fully support
+chunking and deflation features of @acronym{HDF4} files.
The @samp{--hdf4} switch is supported (for backwards compatibility) yet
redundant (i.e., does no harm) with current versions of @acronym{NCO}
and netCDF.
@@ -1295,9 +1303,11 @@ netCDF3 may be desirable.
Obtaining a netCDF3 file from an @acronym{HDF4} is now easy:
@example
ncks -3 fl.hdf fl.nc # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -4 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
ncks -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (NCO 4.4.0+, ...)
ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 classic (NCO 4.4.0+, ...)
ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -4 fl.hdf fl.nc # HDF4->netCDF4 (netCDF 4.3.0-)
ncks --hdf4 -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (netCDF 4.3.0-)
ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
@end example
@@ -1399,9 +1409,9 @@ operators.
@cindex features, requesting
We generally receive three categories of mail from users: help requests,
bug reports, and feature requests.
-Notes saying the equivalent of "Hey, @acronym{NCO} continues to work
+Notes saying the equivalent of ``Hey, @acronym{NCO} continues to work
great and it saves me more time everyday than it took to write this
-note" are a distant fourth.
+note'' are a distant fourth.
There is a different protocol for each type of request.
The preferred etiquette for all communications is via @acronym{NCO}
@@ -1418,8 +1428,8 @@ project.
Before posting to the @acronym{NCO} forums described below, you might
first @uref{https://sf.net/account/register.php, register}
your name and email address with SourceForge.net or else all of your
-postings will be attributed to "nobody".
-Once registered you may choose to "monitor" any forum and to receive
+postings will be attributed to @emph{nobody}.
+Once registered you may choose to @emph{monitor} any forum and to receive
(or not) email when there are any postings including responses to your
questions.
We usually reply to the forum message, not to the original poster.
@@ -1502,7 +1512,7 @@ are the three files output by @acronym{GNU} build tools,
@file{nco.configure.$@{GNU_TRP@}.foo},
and @file{nco.make.$@{GNU_TRP@}.foo}.
The file @file{configure.eg} shows how to produce these files.
-Here @code{$@{GNU_TRP@}} is the "@acronym{GNU} architecture triplet",
+Here @code{$@{GNU_TRP@}} is the ``@acronym{GNU} architecture triplet'',
the @var{chip-vendor-OS} string returned by @file{config.guess}.
Please send us your improvements to the examples supplied in
@file{configure.eg}.
@@ -1631,7 +1641,7 @@ existing @var{output-file}).
Also, note this feature increases the execution time of the operator
by approximately the time it takes to copy the @var{output-file}
@footnote{The OS-specific system move command is used.
-This is @command{mv} for UNIX, and @command{move} for Windows.}.
+This is @command{mv} for @acronym{UNIX}, and @command{move} for Windows.}.
Finally, note this fault-tolerant feature allows the @var{output-file}
to be the same as the @var{input-file} without any danger of
``overlap''.
@@ -2151,7 +2161,7 @@ date.
@node Large Datasets, Memory Requirements, Large Numbers of Files, Strategies
@section Large Datasets
@cindex large datasets
- at cindex LFS
+ at cindex @acronym{LFS}
@cindex Large File Support
@dfn{Large datasets} are those files that are comparable in size to the
@@ -2176,22 +2186,32 @@ memory requirements.
With this knowledge you may re-design your data reduction approach to
divide the problem into pieces solvable in memory-limited situations.
+ at html
+<a name="ulimit"></a> <!-- http://nco.sf.net/nco.html#ulimit -->
+ at end html
@cindex server
@cindex @acronym{UNICOS}
@cindex Cray
+ at cindex @acronym{GNU}/Linux
+ at cindex @code{ulimit}
+ at cindex @code{core dump}
If your local machine has problems working with large files, try running
@acronym{NCO} from a more powerful machine, such as a network server.
+If you get a memory-related core dump
+(e.g., @samp{Error exit (core dumped)}) on a @acronym{GNU}/Linux system,
+or the operation ends before the entire output file is written,
+try increasing the process-available memory with @code{ulimit}:
+ at example
+ulimit -f unlimited
+ at end example
+This may solve constraints on clusters where sufficient hardware
+resources exist yet where system administrators felt it wise to prevent
+any individual user from consuming too much of resource.
Certain machine architectures, e.g., Cray @acronym{UNICOS}, have special
commands which allow one to increase the amount of interactive memory.
@cindex @code{ilimit}
On Cray systems, try to increase the available memory with the
@code{ilimit} command.
- at cindex @acronym{GNU}/Linux
- at cindex @code{ulimit}
- at cindex @code{core dump}
-If you get a memory-related core dump
-(e.g., @samp{Error exit (core dumped)}) on a @acronym{GNU}/Linux system,
-try increasing the process-available memory with @code{ulimit}.
@cindex speed
The speed of the @acronym{NCO} operators also depends on file size.
@@ -3314,7 +3334,7 @@ network-transparent data access.
@acronym{OPeNDAP} has many other features, including sophisticated
hyperslabbing and server-side processing via @dfn{constraint expressions}.
If you know more about this, please consider writing a section
-on "@acronym{OPeNDAP} Capabilities of Interest to @acronym{NCO} Users"
+on ``@acronym{OPeNDAP} Capabilities of Interest to @acronym{NCO} Users''
for incorporation in the @cite{NCO User Guide}.}.
Once @acronym{NCO} is @acronym{DAP}-enabled the operators are
@@ -3508,9 +3528,11 @@ when your other preferred methods are not available locally.
@cindex @code{--3}
@cindex @code{-3}
@cindex @code{-4}
+ at cindex @code{-5}
@cindex @code{-6}
@cindex @code{-7}
@cindex @code{--4}
+ at cindex @code{--5}
@cindex @code{--6}
@cindex @code{--7}
@cindex @code{--netcdf4}
@@ -3731,6 +3753,8 @@ Here the input file @file{in.nc} may be in any of these formats:
netCDF3 (classic and 64bit), netCDF4 (classic and extended), HDF4, HDF5,
HDF-EOS (version 2 or 5), and DAP.
The switch determines the output format written in the comment:
+ at footnote{The switches @samp{-5}, @samp{--5}, and @samp{pnetcdf} are
+reserved for PnetCDF files, i.e., @code{NC_FORMAT_PNETCDF}.}
@example
ncks --fl_fmt=classic in.nc foo_3c.nc # netCDF3 classic
ncks --fl_fmt=64bit in.nc foo_364.nc # netCDF3 64bit
@@ -3855,7 +3879,7 @@ If this feature would interest you, please let us know.
@end html
@node Large File Support, Subsetting Files, File Formats and Conversion, Common features
@section Large File Support
- at cindex LFS
+ at cindex @acronym{LFS}
@cindex Large File Support
@cartouche
Availability: All operators@*
@@ -3865,31 +3889,31 @@ Long options: none@*
@acronym{NCO} has Large File Support (@acronym{LFS}), meaning that
@acronym{NCO} can write files larger than @w{2 GB} on some 32-bit
operating systems with netCDF libraries earlier than @w{version 3.6}.
-If desired, LFS support must be configured when both netCDF and
+If desired, @acronym{LFS} support must be configured when both netCDF and
@acronym{NCO} are installed.
netCDF @w{versions 3.6} and higher support 64-bit file addresses as part
of the netCDF standard.
-We recommend that users ignore LFS support which is difficult to
+We recommend that users ignore @acronym{LFS} support which is difficult to
configure and is implemented in @acronym{NCO} only to support netCDF
versions prior @w{to 3.6}.
-This obviates the need for configuring explicit LFS support in
+This obviates the need for configuring explicit @acronym{LFS} support in
applications (such as @acronym{NCO}) that now support 64-bit files
directly through the netCDF interface.
See @ref{File Formats and Conversion} for instructions on accessing
the different file formats, including 64-bit files, supported by the
modern netCDF interface.
-If you are still interested in explicit LFS support for netCDF versions
-prior @w{to 3.6}, know that LFS support depends on a complex,
+If you are still interested in explicit @acronym{LFS} support for netCDF versions
+prior @w{to 3.6}, know that @acronym{LFS} support depends on a complex,
interlocking set of operating system
@footnote{
Linux and @acronym{AIX} do support @acronym{LFS}.}
and netCDF support issues.
-The netCDF LFS
+The netCDF @acronym{LFS}
@uref{http://my.unidata.ucar.edu/content/software/netcdf/faq-lfs.html,FAQ}
describes the various file size limitations imposed by different
versions of the netCDF standard.
- at acronym{NCO} and netCDF automatically attempt to configure LFS at
+ at acronym{NCO} and netCDF automatically attempt to configure @acronym{LFS} at
build time.
@html
@@ -4695,7 +4719,7 @@ NCO dismembering file /home/zender/nco/data/mdl_1.nc
A (potentially more portable) binary executable could be written to
dismember all groups with a single invocation, yet dismembering without
loss of information is possible now with this simple script on all
-platforms with UNIXy utilities.
+platforms with @acronym{UNIX}y utilities.
Note that all dimensions inherited by groups in the input file are
correctly placed by @command{ncdismember} into the flat files.
Moreover, each output file preserves the group metadata of all ancestor
@@ -4946,6 +4970,7 @@ lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
@html
<a name="-d"></a> <!-- http://nco.sf.net/nco.html#-d -->
+<a name="-0"></a> <!-- http://nco.sf.net/nco.html#-0 -->
<a name="dmn"></a> <!-- http://nco.sf.net/nco.html#dmn -->
<a name="hyp"></a> <!-- http://nco.sf.net/nco.html#hyp -->
<a name="hyperslab"></a> <!-- http://nco.sf.net/nco.html#hyperslab -->
@@ -4955,6 +4980,7 @@ lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
@cindex hyperslab
@cindex dimension limits
@cindex coordinate limits
+ at cindex @code{-0}
@cindex @code{-d @var{dim},[@var{min}][,[@var{max}][,[@var{stride}]]]}
@cindex @code{--dimension @var{dim},[@var{min}][,[@var{max}][,[@var{stride}]]]}
@cindex @code{--dmn @var{dim},[@var{min}][,[@var{max}][,[@var{stride}]]]}
@@ -4988,12 +5014,50 @@ Dimensions not mentioned are passed with no reduction in range.
The dimensionality of variables is not reduced (in the case of a
cross-section, the size of the constant dimension will be one).
@example
-# First and second indices of lon dimension
+# First and second longitudes
ncks -F -d lon,1,2 in.nc out.nc
-# Second and third indices of lon dimension
+# Second and third longitudes
ncks -d lon,1,2 in.nc out.nc
@end example
+As of version 4.2.1 (August, 2012), @acronym{NCO} allows one to extract
+the last @var{N} elements of a hyperslab.
+Negative integers as @var{min} or @var{max} elements of a hyperslab
+specification indicate offsets from the end (Python also uses this
+convention).
+Consistent with this convention, the value @samp{-0} (negative zero)
+indicates the last element of a dimension, even though negative zero
+is algebraically equivalent to zero.
+Previously, for example, @samp{-d time,-2,-1} caused a domain error.
+Now it means select the second-to-last and penultimate timesteps.
+Whereas @samp{-d time,0} and @samp{-d time,-0} refer to the first and
+last timesteps, respectively.
+Negative integers work for @var{min} and @var{max} indices, though not
+for @var{stride}.
+ at example
+# Second through second-to-last longitudes
+ncks -d lon,1,-2 in.nc out.nc
+# Second through last longitude
+ncks -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude
+ncks -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude
+ncks -d lon,-3, in.nc out.nc
+ at end example
+ at noindent
+The @samp{-F} argument, if any, applies the Fortran index convention
+only to indices specified as positive integers (including zero).
+ at example
+# First through second-to-last longitudes
+ncks -F -d lon,1,-2 in.nc out.nc (-F affects only start index)
+# First through last longitude
+ncks -F -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude (-F has no effect)
+ncks -F -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude (-F has no effect)
+ncks -F -d lon,-3, in.nc out.nc
+ at end example
+
@cindex stride
Coordinate values should be specified using real notation with a decimal
point required in the value, whereas dimension indices are specified
@@ -5026,27 +5090,6 @@ ncks -F -d lon,1.0,2.0 in.nc out.nc
# Every other longitude value between 0 and 90 degrees
ncks -F -d lon,0.0,90.0,2 in.nc out.nc
@end example
-
-As of version 4.2.1 (August, 2012), @acronym{NCO} allows one to extract
-the last @var{N} elements of a hyperslab.
-Negative integers as @var{min} or @var{max} elements of a hyperslab
-specification indicate offsets from the end (Python also uses this
-convention).
-Previously, for example, @samp{-d time,-2,-1} caused a domain error.
-Now it means select the second-to-last and penultimate timesteps.
-Negative integers work for @var{min} and @var{max} indices, though not
-for @var{stride}.
- at example
-# Last two indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# First to penultimate indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3,-1 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3, in.nc out.nc
- at end example
- at noindent
As shown, we recommend using a full floating point suffix of @code{.0}
instead of simply @code{.} in order to make obvious the selection of
hyperslab elements based on coordinate value rather than index.
@@ -5222,9 +5265,8 @@ temporary output file is copied (sometimes a quick re-link suffices) to
the final output file (@pxref{Temporary Output Files}).
All this copying is expensive for large files.
-The new @samp{--record_append} switch causes all records in
- at file{fl_2.nc} to be appended to the end of the corresponding records in
- at file{fl_1.nc}:
+The @samp{--record_append} switch appends all records in @file{fl_2.nc}
+to the end (after the last record) of @file{fl_1.nc}:
@example
ncrcat --rec_apn fl_2.nc fl_1.nc
@end example
@@ -7994,7 +8036,7 @@ They enforce the traditional @acronym{NCO} and Fortran convention of
keeping single-precision arithmetic in single-precision unless a
double-precision number is explicitly involved.
-As has been seen, forced promotion of single- to double-precision
+We have shown that forced promotion of single- to double-precision
prior to arithmetic has advantages and disadvantages.
The primary disadvantages are speed and size.
Double-precision arithmetic is 10--60% slower than, and requires
@@ -8183,8 +8225,8 @@ float-promotion preferences as desired.
No other language allows this with a simple switch.
To summarize, until version 4.3.6 (September, 2013), the default
-arithmetic convention of @acronym{NCO} followed the behavior of Fortran,
-and automatically promoted single-precision to double-precision in all
+arithmetic convention of @acronym{NCO} adhered to Fortran behavior,
+and automatically promoted single-precision to double-precision in all
mixed-precision expressions, and left-alone pure single-precision
expressions.
This is faster and more memory efficient than other conventions.
@@ -8209,10 +8251,10 @@ result.
Providing the @samp{--dbl} option for such trivial operations makes
little sense, so the option is not currently made available.
-At the time of this writing (September 2013), we are interested in
-users' opinions on these matters.
-Currently the default behavior is @samp{--flt}.
-We are willing to change the default to @samp{--dbl} if users prefer.
+We are interested in users' opinions on these matters.
+The default behavior was changed from @samp{--flt} to @samp{--dbl}
+with the release of @acronym{NCO} version 4.3.6 (October 2013).
+We will change the default back to @samp{--flt} if users prefer.
Or we could set a threshold (e.g., @math{n \ge 10000}) after which
single- to double-precision promotion is automatically invoked.
Or we could make the default promotion convention settable via an
@@ -8309,7 +8351,7 @@ Thus attributes named @code{History} or @code{HISTORY} (which are
non-standard and not recommended) will be treated as valid history
attributes.
When more than one global attribute fits the case-insensitive search
-for "history", the first one found will be used.
+for ``history'', the first one found will be used.
@code{history} attribute
@cindex @command{ncatted}
To avoid information overkill, all operators have an optional switch
@@ -9050,8 +9092,8 @@ z1=four+=one*=10 // z1=14 four=14 one=10;
time-=2 // time= -1,0,1,2,3,4,5,6,7,8
@end example
- at noindent @strong{Increment/ Decrement Operators @* }
-These work in a similar fashion to their regular C counterparts. If say the variable "four" is input only then the statement "++four" effectively means -read four from input increment each element by one , then write the new values to Output;
+ at noindent @strong{Increment/Decrement Operators @*}
+These work in a similar fashion to their regular C counterparts. If say the variable @code{four} is input only then the statement @code{++four} effectively means read @code{four} from input increment each element by one, then write the new values to Output;
Example:
@example
@@ -9300,9 +9342,9 @@ start:end:stride
@end example
and the arguments for different dimensions are separated by commas.
@noindent
-If "start" is omitted, it defaults to 0.
-If "end" is omitted, it defaults to dimension size minus one.
-If "stride" is omitted, it defaults to 1.
+If @var{start} is omitted, it defaults to zero.
+If @var{end} is omitted, it defaults to dimension size minus one.
+If @var{stride} is omitted, it defaults to one.
@sp 1
@noindent If a single value is present then it is assumed that that
dimension collapses to a single value (i.e., a cross-section).
@@ -9495,7 +9537,7 @@ To stop the attribute being written use the ram_delete() method or use a bogus v
@cindex attribute inheritance
@itemize @bullet
@item Attribute propagation occurs in a regular assign statement. The variable being defined on the LHS gets copies of the attributes from the leftermost variable on the RHS.
- @item Attribute Inheritance: The LHS variable "inherits" attributes from an Input variable with the same name
+ @item Attribute Inheritance: The LHS variable ``inherits'' attributes from an Input variable with the same name
@item It is possible to have a regular assign statement for which both propagation and inheritance occur.
@end itemize
@@ -10613,7 +10655,7 @@ The Weather and Research Forecast (@acronym{WRF}) model uses @var{R}=3:
and so supports grids that change with time.
Grids with @var{R} > 1 often use missing values to indicated empty points.
-For example, so-called "staggered grids" will use fewer east_west
+For example, so-called ``staggered grids'' will use fewer east_west
points near the poles and more near the equator. netCDF only accepts
rectangular arrays so space must be allocated for the maximum number
of east_west points at all latitudes. Then the application writes
@@ -10823,7 +10865,7 @@ print(T_out);
@subsection GSL special functions
@cindex @acronym{GSL}
@noindent As of version 3.9.6 (released January, 2009), @acronym{NCO}
-can link to the GNU Scientific Library (@acronym{GSL}).
+can link to the @acronym{GNU} Scientific Library (@acronym{GSL}).
@command{ncap2} can access most @acronym{GSL} special functions including
Airy, Bessel, error, gamma, beta, hypergeometric, and Legendre functions
and elliptical integrals.
@@ -12499,7 +12541,7 @@ Example: @code{pressure}, @code{'^H2O'}.
@cindex pattern matching
@cindex wildcards
Regular expressions (@pxref{Subsetting Files}) are accepted and will
-select any matching variable names.
+select any matching variable (@emph{not} attribute) names.
The names @code{global} and @code{group} have special meaning.
@item mode
Edit mode abbreviation.
@@ -12522,8 +12564,8 @@ appearance.
The value of @var{att_nm} is the name of the attribute you want to
edit.
This meaning of this should be clear to all @command{ncatted} users.
-Recall, as mentioned above, that @var{var_nm} may be specified as a
-regular expression.
+Recall, as mentioned above, that @var{var_nm} (but not @var{att_nm}) may
+be specified as a regular expression.
If @var{att_nm} is omitted (i.e., left blank) and @dfn{Delete} mode is
selected, then all attributes associated with the specified variable
will be deleted.
@@ -12726,7 +12768,7 @@ The other valid @acronym{ASCII} codes are @code{\a}, @code{\b}, @code{\f},
@cindex special characters
@cindex @acronym{ASCII}
Analogous to @code{printf}, other special characters are also allowed by
- at command{ncatted} if they are "protected" by a backslash.
+ at command{ncatted} if they are ``protected'' by a backslash.
The characters @code{"}, @code{'}, @code{?}, and @code{\} may be
input to the shell as @code{\"}, @code{\'}, @code{\?}, and @code{\\}.
@acronym{NCO} simply strips away the leading backslash from these
@@ -12763,16 +12805,16 @@ Note that @command{ncatted} interprets character attributes
@end html
EXAMPLES
-Append the string "Data version 2.0.\n" to the global attribute
+Append the string @code{Data version 2.0.\n} to the global attribute
@code{history}:
@example
-ncatted -a history,global,a,c,"Data version 2.0\n" in.nc
+ncatted -a history,global,a,c,'Data version 2.0\n' in.nc
@end example
Note the use of embedded @w{C language} @code{printf()}-style escape
sequences.
Change the value of the @code{long_name} attribute for variable @code{T}
-from whatever it currently is to "temperature":
+from whatever it currently is to ``temperature'':
@example
ncatted -a long_name,T,o,c,temperature in.nc
@end example
@@ -12833,22 +12875,22 @@ To delete all global attributes, simply replace @code{tpt} with
@code{global} in the above.
@cindex @code{units}
-Modify all existing @code{units} attributes to "meter second-1":
+Modify all existing @code{units} attributes to @code{meter second-1}:
@example
-ncatted -a units,,m,c,"meter second-1" in.nc
+ncatted -a units,,m,c,'meter second-1' in.nc
@end example
@cindex @code{units}
-Add a @code{units} attribute of "kilogram kilogram-1" to all variables
-whose first three characters are @samp{H2O}:
+Add a @code{units} attribute of @code{kilogram kilogram-1} to all
+variables whose first three characters are @samp{H2O}:
@example
-ncatted -a units,'^H2O',c,c,"kilogram kilogram-1" in.nc
+ncatted -a units,'^H2O',c,c,'kilogram kilogram-1' in.nc
@end example
Overwrite the @code{quanta} attribute of variable
@code{energy} to an array of four integers.
@example
-ncatted -O -a quanta,energy,o,s,"010,101,111,121" in.nc
+ncatted -a quanta,energy,o,s,'010,101,111,121' in.nc
@end example
@cindex extended regular expressions
@@ -12856,11 +12898,12 @@ ncatted -O -a quanta,energy,o,s,"010,101,111,121" in.nc
@cindex pattern matching
@cindex wildcards
As of @acronym{NCO} 3.9.6 (January, 2009), @command{ncatted} accepts
- at dfn{extended regular expressions} as arguments for variable names.
+ at dfn{extended regular expressions} as arguments for variable names,
+though not for attribute names.
Create @code{isotope} attributes for all variables containing @samp{H2O}
in their names.
@example
-ncatted -O -a isotope,'^H2O*',c,s,"18" in.nc
+ncatted -a isotope,'^H2O*',c,s,'18' in.nc
@end example
See @ref{Subsetting Files} for more details.
@@ -12871,21 +12914,21 @@ variables, dimensions, and groups.
@c ncks -m -v lon ~/in_grp.nc
@example
# Overwrite units attribute of specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,c,'degrees_west' in_grp.nc
# Overwrite units attribute of all 'lon' variables
-ncatted -O -a units,lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,lon,o,c,'degrees_west' in_grp.nc
# Delete units attribute of all 'lon' variables
ncatted -O -a units,lon,d,, in_grp.nc
# Overwrite units attribute with new type for specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,sng,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,sng,'degrees_west' in_grp.nc
# Add new_att attribute to all variables
-ncatted -O -a new_att,,c,sng,"new variable attribute" in_grp.nc
+ncatted -O -a new_att,,c,sng,'new variable attribute' in_grp.nc
# Add new_grp_att group attribute to all groups
-ncatted -O -a new_grp_att,group,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a new_grp_att,group,c,sng,'new group attribute' in_grp.nc
# Add new_grp_att group attribute to single group
-ncatted -O -a g1_grp_att,g1,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a g1_grp_att,g1,c,sng,'new group attribute' in_grp.nc
# Add new_glb_att global attribute to root group
-ncatted -O -a new_glb_att,global,c,sng,"new global attribute" in_grp.nc
+ncatted -O -a new_glb_att,global,c,sng,'new global attribute' in_grp.nc
@end example
Demonstrate input of C-language escape sequences (e.g., @code{\n}) and
@@ -13623,7 +13666,7 @@ input file into a single record of the same variable in the output file.
Coordinate variables are not concatenated, they are instead simply
copied from the first input file to the @var{output-file}.
All @var{input-files} must contain all extracted variables (or else
-there would be "gaps" in the output file).
+there would be ``gaps'' in the output file).
A new record dimension is the glue which binds together the input file
data.
@@ -14235,8 +14278,7 @@ existing files and variables, respectively.
@unnumberedsubsec Options specific to @command{ncks}
-The following list provides a short summary of the features unique to
- at command{ncks}.
+The following summarizes features unique to @command{ncks}.
Features common to many operators are described in
@ref{Common features}.
@@ -14347,6 +14389,7 @@ limited to at most one record dimension) (@pxref{Group Path Editing}).
@cindex special attributes
@cindex @code{--hdn}
@cindex @code{--hidden}
+ at cindex @code{_SOURCE_FORMAT}
@cindex @code{_Format}
@cindex @code{_DeflateLevel}
@cindex @code{_Shuffle}
@@ -14364,6 +14407,9 @@ Hidden attributes include: @code{_Format}, @code{_DeflateLevel},
Previously @command{ncks} ignored all these attributes in
@acronym{CDL}/@acronym{XML} modes.
Now it prints these attributes as appropriate.
+As of @acronym{NCO} version 4.4.6 (September, 2014), @samp{--hdn}
+also prints the extended file format (i.e., the format of the file
+or server supplying the data) as @code{_SOURCE_FORMAT}.
Users are referred to the
@uref{http://www.unidata.ucar.edu/software/netcdf/docs, Unidata netCDF Documentation},
or the man pages for @command{ncgen} or @command{ncdump}, for
@@ -14635,31 +14681,43 @@ This set of switches is useful for exploring file contents.
@html
<a name="Q"></a> <!-- http://nco.sf.net/nco.html#Q -->
+<a name="quiet"></a> <!-- http://nco.sf.net/nco.html#quiet -->
@end html
@cindex @code{-Q}
- at item -Q
-Toggle printing of dimension indices and coordinate values when printing
-arrays.
-Each variable's name appears flush left in the output.
+ at cindex @code{--quiet}
+ at item -Q
+Print quietly, meaning omit dimension names, indices, and coordinate
+values when printing arrays.
+Variable (not dimension) indices are printed.
+Variable names appear flush left in the output:
+ at example
+ at verbatim
+zender at roulee:~$ ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+...
+ at end verbatim
+ at end example
This helps locate specific variables in lists with many variables and
different dimensions.
+See also the @samp{-V} option, which omits all names and indices and
+prints only variable values.
@html
<a name="q"></a> <!-- http://nco.sf.net/nco.html#q -->
-<a name="quiet"></a> <!-- http://nco.sf.net/nco.html#quiet -->
+<a name="quench"></a> <!-- http://nco.sf.net/nco.html#quench -->
@end html
@cindex @code{-q}
- at cindex @code{--quiet}
- at cindex quiet
+ at cindex @code{--quench}
+ at cindex quench
@item -q
-Turn off all printing to screen.
+Quench (turn-off) all printing to screen.
This overrides the setting of all print-related switches, equivalent to
@kbd{-H -M -m} when in single-file printing mode.
When invoked with @code{-R} (@pxref{Retaining Retrieved Files}), @command{ncks}
automatically sets @code{-q}.
This allows @command{ncks} to retrieve remote files without
automatically trying to print them.
-Also @samp{--quiet}.
+Also @samp{--quench}.
@html
<a name="rad"></a> <!-- http://nco.sf.net/nco.html#rad -->
@@ -14700,6 +14758,22 @@ Accepts @w{C language} escape sequences and @code{printf()} formats.
Also @samp{--string} and @samp{--sng_fmt}.
@html
+<a name="ssh"></a> <!-- http://nco.sf.net/nco.html#ssh -->
+<a name="scr"></a> <!-- http://nco.sf.net/nco.html#scr -->
+<a name="secret"></a> <!-- http://nco.sf.net/nco.html#secret -->
+ at end html
+ at cindex @code{--ssh}
+ at cindex @code{--scr}
+ at cindex @code{--secret}
+ at cindex hidden features
+ at item --secret
+Print summary of @command{ncks} hidden features.
+These hidden or secret features are used mainly by developers.
+They are not supported for general use and may change at any time.
+This demonstrates conclusively that I cannot keep a secret.
+Also @samp{--ssh} and @samp{--scr}.
+
+ at html
<a name="units"></a> <!-- http://nco.sf.net/nco.html#units -->
<a name="u"></a> <!-- http://nco.sf.net/nco.html#u -->
@end html
@@ -14711,6 +14785,30 @@ with its values.
Also @samp{--units}.
@html
+<a name="V"></a> <!-- http://nco.sf.net/nco.html#V -->
+<a name="var_val"></a> <!-- http://nco.sf.net/nco.html#var_val -->
+ at end html
+ at cindex @code{-V}
+ at cindex @code{--var_val}
+ at cindex @code{--no_dmn_var_nm}
+ at cindex @code{--no_nm_prn}
+ at item -V
+Print variable values only.
+Do not print variable and dimension names, indices, and coordinate
+values when printing arrays.
+ at example
+ at verbatim
+zender at roulee:~$ ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+...
+ at end verbatim
+ at end example
+See also the @samp{-Q} option, which prints variable names and indices,
+but not dimension names, indices, or coordinate values when printing
+arrays.
+Using @samp{-V} is the same as specifying @samp{-Q --no_nm_prn}.
+
+ at html
<a name="xml"></a> <!-- http://nco.sf.net/nco.html#xml -->
<a name="ncmnl"></a> <!-- http://nco.sf.net/nco.html#ncml -->
@end html
@@ -14775,7 +14873,7 @@ location of the input dataset, e.g.,
The @samp{--xml_spr_chr} and @samp{--xml_spr_nmr} options customize
the strings used as @acronym{NcML} separators for attributes and
variables of character-type and numeric-type, respectively.
-Their default separators are "*" and " ":
+Their default separators are @code{*} and ``@code{ }'' (a space):
@example
@verbatim
zender at roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
@@ -15046,6 +15144,9 @@ ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
Variables in @file{out.nc} now contain data (not metadata) from
@file{in.nc} and metadata (not data) from @file{in2.nc}.
+ at cindex @code{-s}
+ at cindex @code{--string}
+ at cindex @code{--sng_fmt}
@cindex @code{printf()}
@cindex @code{\n} (linefeed)
@cindex @code{\t} (horizontal tab)
@@ -15081,6 +15182,7 @@ files like reports or papers.
@xref{ncatted netCDF Attribute Editor}, for more details on string
formatting and special characters.
+ at cindex @code{--no_blank}
As of @acronym{NCO} version 4.2.2 (October, 2012), @acronym{NCO} prints
missing values as blanks (i.e., the underscore character @samp{_}) by
default:
@@ -15093,6 +15195,33 @@ lon[3]=270 mss_val[3]=_
% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
+73.0, _, +73.0, _,
@end example
+To print the numeric value of the missing value instead of a blank,
+use the @samp{--no_blank} option.
+
+ at cindex @code{-Q}
+ at cindex @code{--quiet}
+ at cindex @code{-V}
+ at cindex @code{--var_val}
+ at cindex @code{--no_dmn_var_nm}
+ at cindex @code{--no_nm_prn}
+ at command{ncks} prints in a verbose fashion by default and supplies a
+number of switches to pare-down (or even spruce-up) the output.
+The interplay of the @samp{-Q}, @samp{-V}, and (otherwise undocumented)
+ at samp{--no_nm_prn} switches yields most desired verbosities:
+ at example
+ at verbatim
+% ncks -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+time[0]=1 lat[0]=-90 lon[0]=0 three_dmn_rec_var[0]=1
+% ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+% ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks -Q --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1 -90 0 1
+ at end verbatim
+ at end example
One dimensional arrays of characters stored as netCDF variables are
automatically printed as strings, whether or not they are
@@ -15475,7 +15604,7 @@ I will upload updates to documentation linked to by the NCO homepage.
ncpdq is a powerful operator, and
I am unfamiliar with the terminology needed to describe what ncpdq does.
Sequences, sets, sheesh!
-I just know that it does "The right thing" according to my gut feelings.
+I just know that it does ``The right thing'' according to my gut feelings.
Now do you feel more comfortable using it?
Let $\dmnvct(\xxx)$ represent the dimensionality of the variable $\xxx$.
@@ -16070,8 +16199,9 @@ All the new names must be unique.
Every old name must exist in the input file, unless the old name is
preceded by the period (or ``dot'') character @samp{.}.
The validity of @var{old_name} is not checked prior to the renaming.
-Thus, if @var{old_name} is specified without the the @samp{.} prefix and
-is not present in @var{input-file}, @command{ncrename} will abort.
+Thus, if @var{old_name} is specified without the @samp{.} prefix that
+indicates the presence of @var{old_name} is optional, and @var{old_name}
+is not present in @var{input-file}, then @command{ncrename} will abort.
The @var{new_name} should never be prefixed by a @samp{.} (or else the
period will be included as part of the new name).
The OPTIONS and EXAMPLES show how to select specific variables
@@ -16224,20 +16354,21 @@ the variable:
@example
ncrename -d lon,longitude -v lon,longitude in.nc
@end example
-Unfortunately, the netCDF4 library has a longstanding bug (all versions
-until 4.3.1-rc5 released in December, 2013) that causes @acronym{NCO} to
+Unfortunately, the netCDF4 library had a longstanding bug (all versions
+until 4.3.1-rc5 released in December, 2013) that caused @acronym{NCO} to
crash when performing this operation.
Simultaneously renaming variables and dimensions in netCDF4 files with
-earlier versions of netCDF is impossible; it must instead be done in two
+earlier versions of netCDF is impossible; it must instead be done in two
separate @command{ncrename} invocations (e.g., first rename the
-variable, then the dimension) to avoid triggering the libary bug.
+variable, then rename the dimension) to avoid triggering the libary
+bug.
A related bug causes unintended side-effects with @command{ncrename}
also built with all versions of the netCDF4 library until 4.3.1-rc5
released in December, 2013):
-Renaming @emph{either} a dimension @emph{or} its assosiated
-coordinate variable (not both, which would fail as above) in a netCDF4
-file inadvertently @emph{does} rename both:
+This bug caused renaming @emph{either} a dimension @emph{or} its
+assosiated coordinate variable (not both, which would fail as above) in
+a netCDF4 file to inadvertently rename both:
@example
# Demonstate bug in netCDF4/HDF5 library prior to netCDF-4.3.1-rc5
ncks -O -h -m -M -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
@@ -16889,7 +17020,7 @@ All concept, design and implementation from 1995--2000.
Since then autotools, bug-squashing, @acronym{CDL}, chunking,
documentation, anchoring, recursion, @acronym{GPE}, packing,
@acronym{NCO} library redesign, @command{ncap2} features,
- at command{ncbo}, @command{ncpdq}, SMP threading and MPI parallelization,
+ at command{ncbo}, @command{ncpdq}, @acronym{SMP} threading and @acronym{MPI} parallelization,
netCDF4 integration, external funding, project management, science
research, releases.
@cindex Henry Butowsky
diff --git a/doc/nco.txt b/doc/nco.txt
index 3ff8521..3a8d0d5 100644
--- a/doc/nco.txt
+++ b/doc/nco.txt
@@ -196,9 +196,9 @@ illustrates NCO use with examples from the field of climate modeling and
analysis. The NCO homepage is <http://nco.sf.net>, and there is a
mirror at <http://dust.ess.uci.edu/nco>.
- This documentation is for NCO version 4.4.5. It was last updated 8
-July 2014. Corrections, additions, and rewrites of this documentation
-are very welcome.
+ This documentation is for NCO version 4.4.6. It was last updated 1
+October 2014. Corrections, additions, and rewrites of this
+documentation are very welcome.
Enjoy,
Charlie Zender
@@ -358,7 +358,7 @@ Detailed instructions about how to download the newest version
descriptions of Known Problems (http://nco.sf.net/#bug) etc. are on our
homepage (<http://nco.sf.net/>).
- There are twelve operators in the current version (4.4.5). The
+ There are twelve operators in the current version (4.4.6). The
function of each is explained in *note Operator Reference Manual:
Operator Reference Manual. Many of the tasks that NCO can accomplish
are described during the explanation of common NCO Features (*note
@@ -692,9 +692,15 @@ files. In particular, the '--hdf4' switch is obsolete. Current
versions of NCO use netCDF to determine automatically whether the
underlying file is HDF4, and then take appropriate precautions to avoid
netCDF4 API calls that fail when applied to HDF4 files (e.g.,
-'nc_inq_var_chunking()', 'nc_inq_var_deflate()'). The '--hdf4' switch
-is supported (for backwards compatibility) yet redundant (i.e., does no
-harm) with current versions of NCO and netCDF.
+'nc_inq_var_chunking()', 'nc_inq_var_deflate()'). When compiled with
+netCDF version 4.3.2 (20140423) or earlier, NCO will report that
+chunking and deflation properties of HDF4 files as 'HDF4_UNKNOWN',
+because determining those properties was impossible. When compiled with
+netCDF version 4.3.3-rc2 (20140925) or later, NCO versions 4.4.6
+(October, 2014) and later fully support chunking and deflation features
+of HDF4 files. The '--hdf4' switch is supported (for backwards
+compatibility) yet redundant (i.e., does no harm) with current versions
+of NCO and netCDF.
Converting HDF4 files to netCDF: Since NCO reads HDF4 files natively,
it is now easy to convert HDF4 files to netCDF files directly, e.g.,
@@ -711,9 +717,11 @@ netCDF4-aware tools.
netCDF3 may be desirable. Obtaining a netCDF3 file from an HDF4 is now
easy:
ncks -3 fl.hdf fl.nc # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ ncks -4 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
ncks -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (NCO 4.4.0+, ...)
ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 classic (NCO 4.4.0+, ...)
ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ ncks --hdf4 -4 fl.hdf fl.nc # HDF4->netCDF4 (netCDF 4.3.0-)
ncks --hdf4 -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (netCDF 4.3.0-)
ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
As of NCO version 4.4.0 (January, 2014), these commands work even
@@ -817,7 +825,7 @@ information they need to evaluate our project.
Before posting to the NCO forums described below, you might first
register (https://sf.net/account/register.php) your name and email
address with SourceForge.net or else all of your postings will be
-attributed to "nobody". Once registered you may choose to "monitor" any
+attributed to _nobody_. Once registered you may choose to _monitor_ any
forum and to receive (or not) email when there are any postings
including responses to your questions. We usually reply to the forum
message, not to the original poster.
@@ -1299,13 +1307,17 @@ With this knowledge you may re-design your data reduction approach to
divide the problem into pieces solvable in memory-limited situations.
If your local machine has problems working with large files, try
-running NCO from a more powerful machine, such as a network server.
-Certain machine architectures, e.g., Cray UNICOS, have special commands
-which allow one to increase the amount of interactive memory. On Cray
+running NCO from a more powerful machine, such as a network server. If
+you get a memory-related core dump (e.g., 'Error exit (core dumped)') on
+a GNU/Linux system, or the operation ends before the entire output file
+is written, try increasing the process-available memory with 'ulimit':
+ ulimit -f unlimited
+ This may solve constraints on clusters where sufficient hardware
+resources exist yet where system administrators felt it wise to prevent
+any individual user from consuming too much of resource. Certain
+machine architectures, e.g., Cray UNICOS, have special commands which
+allow one to increase the amount of interactive memory. On Cray
systems, try to increase the available memory with the 'ilimit' command.
-If you get a memory-related core dump (e.g., 'Error exit (core dumped)')
-on a GNU/Linux system, try increasing the process-available memory with
-'ulimit'.
The speed of the NCO operators also depends on file size. When
processing large files the operators may appear to hang, or do nothing,
@@ -2235,7 +2247,7 @@ format into any netCDF output format (subject to limits of the output
format). Here the input file 'in.nc' may be in any of these formats:
netCDF3 (classic and 64bit), netCDF4 (classic and extended), HDF4, HDF5,
HDF-EOS (version 2 or 5), and DAP. The switch determines the output
-format written in the comment:
+format written in the comment: (1)
ncks --fl_fmt=classic in.nc foo_3c.nc # netCDF3 classic
ncks --fl_fmt=64bit in.nc foo_364.nc # netCDF3 64bit
ncks --fl_fmt=netcdf4_classic in.nc foo_4c.nc # netCDF4 classic
@@ -2254,6 +2266,11 @@ processing rather than requiring a separate step. Producing (netCDF3)
'CLASSIC' or '64BIT' files from 'NETCDF4_CLASSIC' files will always
work.
+ ---------- Footnotes ----------
+
+ (1) The switches '-5', '--5', and 'pnetcdf' are reserved for PnetCDF
+files, i.e., 'NC_FORMAT_PNETCDF'.
+
3.9.4 Autoconversion
--------------------
@@ -3134,11 +3151,41 @@ extracted by specifying only the MIN limit and omitting a trailing
comma. Dimensions not mentioned are passed with no reduction in range.
The dimensionality of variables is not reduced (in the case of a
cross-section, the size of the constant dimension will be one).
- # First and second indices of lon dimension
+ # First and second longitudes
ncks -F -d lon,1,2 in.nc out.nc
- # Second and third indices of lon dimension
+ # Second and third longitudes
ncks -d lon,1,2 in.nc out.nc
+ As of version 4.2.1 (August, 2012), NCO allows one to extract the
+last N elements of a hyperslab. Negative integers as MIN or MAX
+elements of a hyperslab specification indicate offsets from the end
+(Python also uses this convention). Consistent with this convention,
+the value '-0' (negative zero) indicates the last element of a
+dimension, even though negative zero is algebraically equivalent to
+zero. Previously, for example, '-d time,-2,-1' caused a domain error.
+Now it means select the second-to-last and penultimate timesteps.
+Whereas '-d time,0' and '-d time,-0' refer to the first and last
+timesteps, respectively. Negative integers work for MIN and MAX
+indices, though not for STRIDE.
+ # Second through second-to-last longitudes
+ ncks -d lon,1,-2 in.nc out.nc
+ # Second through last longitude
+ ncks -d lon,1,-0 in.nc out.nc
+ # Third-to-last to penultimate longitude
+ ncks -d lon,-3,-1 in.nc out.nc
+ # Third-to-last to last longitude
+ ncks -d lon,-3, in.nc out.nc
+The '-F' argument, if any, applies the Fortran index convention only to
+indices specified as positive integers (including zero).
+ # First through second-to-last longitudes
+ ncks -F -d lon,1,-2 in.nc out.nc (-F affects only start index)
+ # First through last longitude
+ ncks -F -d lon,1,-0 in.nc out.nc
+ # Third-to-last to penultimate longitude (-F has no effect)
+ ncks -F -d lon,-3,-1 in.nc out.nc
+ # Third-to-last to last longitude (-F has no effect)
+ ncks -F -d lon,-3, in.nc out.nc
+
Coordinate values should be specified using real notation with a
decimal point required in the value, whereas dimension indices are
specified using integer notation without a decimal point. This
@@ -3165,23 +3212,7 @@ argument, if any, must be a dimension index, not a coordinate value.
ncks -F -d lon,1.0,2.0 in.nc out.nc
# Every other longitude value between 0 and 90 degrees
ncks -F -d lon,0.0,90.0,2 in.nc out.nc
-
- As of version 4.2.1 (August, 2012), NCO allows one to extract the
-last N elements of a hyperslab. Negative integers as MIN or MAX
-elements of a hyperslab specification indicate offsets from the end
-(Python also uses this convention). Previously, for example, '-d
-time,-2,-1' caused a domain error. Now it means select the
-second-to-last and penultimate timesteps. Negative integers work for
-MIN and MAX indices, though not for STRIDE.
- # Last two indices of lon dimension
- ncks -F -d lon,1,-2 in.nc out.nc
- # First to penultimate indices of lon dimension
- ncks -F -d lon,1,-2 in.nc out.nc
- # Third-to-last to last index of lon dimension
- ncks -F -d lon,-3,-1 in.nc out.nc
- # Third-to-last to last index of lon dimension
- ncks -F -d lon,-3, in.nc out.nc
-As shown, we recommend using a full floating point suffix of '.0'
+ As shown, we recommend using a full floating point suffix of '.0'
instead of simply '.' in order to make obvious the selection of
hyperslab elements based on coordinate value rather than index.
@@ -3302,8 +3333,8 @@ more quickly as the (by default) temporary output file is copied
Temporary Output Files::). All this copying is expensive for large
files.
- The new '--record_append' switch causes all records in 'fl_2.nc' to
-be appended to the end of the corresponding records in 'fl_1.nc':
+ The '--record_append' switch appends all records in 'fl_2.nc' to the
+end (after the last record) of 'fl_1.nc':
ncrcat --rec_apn fl_2.nc fl_1.nc
The ordering of the filename arguments may seem non-intuitive. If
the record variable represents time in these files, then the values in
@@ -4090,7 +4121,7 @@ can tune the three switches in tandem to obtain optimal performance.
The user specifies the desired chunking policy with the '-P' switch
(or its long option equivalents, '--cnk_plc' and '--chunk_policy') and
its CNK_PLC argument. As of August, 2014, six chunking policies are
-currently implemented:
+implemented:
"Chunk All Variables"
Definition: Chunk all variables possible. For obvious reasons,
scalar variables cannot be chunked.
@@ -4214,6 +4245,13 @@ comma-separated arguments, DMN_NM,CNK_SZ, which are the dimension name
and its chunksize, respectively. The '--cnk_dmn' option may be used as
many times as necessary.
+ The default behavior of chunking depends on several factors. When no
+chunking options are explicitly specified by the user, then output
+netCDF4 files are chunked with the default behavior of the netCDF4
+library. When any chunking option _except_ 'cnk_plc' or 'cnk_map' is
+specified, then 'cnk_plc' and 'cnk_map' are set to 'g2d' and 'rd1',
+respectively.
+
# Simple chunking and unchunking
ncks -O -4 --cnk_plc=all in.nc out.nc # Chunk in.nc
ncks -O -4 --cnk_plc=unchunk in.nc out.nc # Unchunk in.nc
@@ -5052,7 +5090,7 @@ enforce the traditional NCO and Fortran convention of keeping
single-precision arithmetic in single-precision unless a
double-precision number is explicitly involved.
- As has been seen, forced promotion of single- to double-precision
+ We have shown that forced promotion of single- to double-precision
prior to arithmetic has advantages and disadvantages. The primary
disadvantages are speed and size. Double-precision arithmetic is 10-60%
slower than, and requires twice the memory of single-precision
@@ -5198,7 +5236,7 @@ above NCO permits one to shift to their float-promotion preferences as
desired. No other language allows this with a simple switch.
To summarize, until version 4.3.6 (September, 2013), the default
-arithmetic convention of NCO followed the behavior of Fortran, and
+arithmetic convention of NCO adhered to Fortran behavior, and
automatically promoted single-precision to double-precision in all
mixed-precision expressions, and left-alone pure single-precision
expressions. This is faster and more memory efficient than other
@@ -5219,14 +5257,14 @@ more operations per result. By contrast, the arithmetic operators
result. Providing the '--dbl' option for such trivial operations makes
little sense, so the option is not currently made available.
- At the time of this writing (September 2013), we are interested in
-users' opinions on these matters. Currently the default behavior is
-'--flt'. We are willing to change the default to '--dbl' if users
-prefer. Or we could set a threshold (e.g., n \ge 10000) after which
-single- to double-precision promotion is automatically invoked. Or we
-could make the default promotion convention settable via an environment
-variable (GSL does this a lot). Please let us know what you think of
-the selected defaults and options.
+ We are interested in users' opinions on these matters. The default
+behavior was changed from '--flt' to '--dbl' with the release of NCO
+version 4.3.6 (October 2013). We will change the default back to
+'--flt' if users prefer. Or we could set a threshold (e.g., n \ge
+10000) after which single- to double-precision promotion is
+automatically invoked. Or we could make the default promotion
+convention settable via an environment variable (GSL does this a lot).
+Please let us know what you think of the selected defaults and options.
---------- Footnotes ----------
@@ -5762,10 +5800,10 @@ has a different type to var1 the it is converted to the var1 type.
z1=four+=one*=10 // z1=14 four=14 one=10;
time-=2 // time= -1,0,1,2,3,4,5,6,7,8
-*Increment/ Decrement Operators
+*Increment/Decrement Operators
* These work in a similar fashion to their regular C counterparts. If
-say the variable "four" is input only then the statement "++four"
-effectively means -read four from input increment each element by one ,
+say the variable 'four' is input only then the statement '++four'
+effectively means read 'four' from input increment each element by one,
then write the new values to Output;
Example:
@@ -5940,9 +5978,9 @@ N-hyperslab arguments for a variable of rank N:
where each hyperslab argument is of the form
start:end:stride
and the arguments for different dimensions are separated by commas.
-If "start" is omitted, it defaults to 0. If "end" is omitted, it
-defaults to dimension size minus one. If "stride" is omitted, it
-defaults to 1.
+If START is omitted, it defaults to zero. If END is omitted, it
+defaults to dimension size minus one. If STRIDE is omitted, it defaults
+to one.
If a single value is present then it is assumed that that dimension
collapses to a single value (i.e., a cross-section). The number of
@@ -8267,8 +8305,8 @@ ATT_NM
VAR_NM
Variable name. Example: 'pressure', ''^H2O''. Regular expressions
(*note Subsetting Files::) are accepted and will select any
- matching variable names. The names 'global' and 'group' have
- special meaning.
+ matching variable (_not_ attribute) names. The names 'global' and
+ 'group' have special meaning.
MODE
Edit mode abbreviation. Example: 'a'. See below for complete
listing of valid values of MODE.
@@ -8282,10 +8320,10 @@ The description of these arguments follows in their order of appearance.
The value of ATT_NM is the name of the attribute you want to edit.
This meaning of this should be clear to all 'ncatted' users. Recall, as
-mentioned above, that VAR_NM may be specified as a regular expression.
-If ATT_NM is omitted (i.e., left blank) and "Delete" mode is selected,
-then all attributes associated with the specified variable will be
-deleted.
+mentioned above, that VAR_NM (but not ATT_NM) may be specified as a
+regular expression. If ATT_NM is omitted (i.e., left blank) and
+"Delete" mode is selected, then all attributes associated with the
+specified variable will be deleted.
The value of VAR_NM is the name of the variable containing the
attribute (named ATT_NM) that you want to edit. There are three very
@@ -8425,9 +8463,9 @@ of type 'NC_CHAR'.
Note that 'ncatted' interprets character attributes (i.e., attributes
of type 'NC_CHAR') as strings. EXAMPLES
- Append the string "Data version 2.0.\n" to the global attribute
+ Append the string 'Data version 2.0.\n' to the global attribute
'history':
- ncatted -a history,global,a,c,"Data version 2.0\n" in.nc
+ ncatted -a history,global,a,c,'Data version 2.0\n' in.nc
Note the use of embedded C language 'printf()'-style escape
sequences.
@@ -8461,41 +8499,42 @@ The value of ATT_NM was left blank in order to select all attributes
associated with the variable. To delete all global attributes, simply
replace 'tpt' with 'global' in the above.
- Modify all existing 'units' attributes to "meter second-1":
- ncatted -a units,,m,c,"meter second-1" in.nc
+ Modify all existing 'units' attributes to 'meter second-1':
+ ncatted -a units,,m,c,'meter second-1' in.nc
- Add a 'units' attribute of "kilogram kilogram-1" to all variables
+ Add a 'units' attribute of 'kilogram kilogram-1' to all variables
whose first three characters are 'H2O':
- ncatted -a units,'^H2O',c,c,"kilogram kilogram-1" in.nc
+ ncatted -a units,'^H2O',c,c,'kilogram kilogram-1' in.nc
Overwrite the 'quanta' attribute of variable 'energy' to an array of
four integers.
- ncatted -O -a quanta,energy,o,s,"010,101,111,121" in.nc
+ ncatted -a quanta,energy,o,s,'010,101,111,121' in.nc
As of NCO 3.9.6 (January, 2009), 'ncatted' accepts "extended regular
-expressions" as arguments for variable names. Create 'isotope'
-attributes for all variables containing 'H2O' in their names.
- ncatted -O -a isotope,'^H2O*',c,s,"18" in.nc
+expressions" as arguments for variable names, though not for attribute
+names. Create 'isotope' attributes for all variables containing 'H2O'
+in their names.
+ ncatted -a isotope,'^H2O*',c,s,'18' in.nc
See *note Subsetting Files:: for more details.
As of NCO 4.3.8 (November, 2013), 'ncatted' accepts full and partial
group paths in names of attributes, variables, dimensions, and groups.
# Overwrite units attribute of specific 'lon' variable
- ncatted -O -a units,/g1/lon,o,c,"degrees_west" in_grp.nc
+ ncatted -O -a units,/g1/lon,o,c,'degrees_west' in_grp.nc
# Overwrite units attribute of all 'lon' variables
- ncatted -O -a units,lon,o,c,"degrees_west" in_grp.nc
+ ncatted -O -a units,lon,o,c,'degrees_west' in_grp.nc
# Delete units attribute of all 'lon' variables
ncatted -O -a units,lon,d,, in_grp.nc
# Overwrite units attribute with new type for specific 'lon' variable
- ncatted -O -a units,/g1/lon,o,sng,"degrees_west" in_grp.nc
+ ncatted -O -a units,/g1/lon,o,sng,'degrees_west' in_grp.nc
# Add new_att attribute to all variables
- ncatted -O -a new_att,,c,sng,"new variable attribute" in_grp.nc
+ ncatted -O -a new_att,,c,sng,'new variable attribute' in_grp.nc
# Add new_grp_att group attribute to all groups
- ncatted -O -a new_grp_att,group,c,sng,"new group attribute" in_grp.nc
+ ncatted -O -a new_grp_att,group,c,sng,'new group attribute' in_grp.nc
# Add new_grp_att group attribute to single group
- ncatted -O -a g1_grp_att,g1,c,sng,"new group attribute" in_grp.nc
+ ncatted -O -a g1_grp_att,g1,c,sng,'new group attribute' in_grp.nc
# Add new_glb_att global attribute to root group
- ncatted -O -a new_glb_att,global,c,sng,"new global attribute" in_grp.nc
+ ncatted -O -a new_glb_att,global,c,sng,'new global attribute' in_grp.nc
Demonstrate input of C-language escape sequences (e.g., '\n') and
other special characters (e.g., '\"')
@@ -9347,9 +9386,8 @@ respectively.
Options specific to 'ncks'
--------------------------
-The following list provides a short summary of the features unique to
-'ncks'. Features common to many operators are described in *note Common
-features::.
+The following summarizes features unique to 'ncks'. Features common to
+many operators are described in *note Common features::.
'-5'
Print data to screen alphabetically by group, and alphabetically by
@@ -9415,11 +9453,13 @@ features::.
'_DeflateLevel', '_Shuffle', '_Storage', '_ChunkSizes',
'_Endianness', '_Fletcher32', and '_NOFILL'. Previously 'ncks'
ignored all these attributes in CDL/XML modes. Now it prints these
- attributes as appropriate. Users are referred to the Unidata
- netCDF Documentation
- (http://www.unidata.ucar.edu/software/netcdf/docs), or the man
- pages for 'ncgen' or 'ncdump', for detailed descriptions of the
- meanings of these attributes.
+ attributes as appropriate. As of NCO version 4.4.6 (September,
+ 2014), '--hdn' also prints the extended file format (i.e., the
+ format of the file or server supplying the data) as
+ '_SOURCE_FORMAT'. Users are referred to the Unidata netCDF
+ Documentation (http://www.unidata.ucar.edu/software/netcdf/docs),
+ or the man pages for 'ncgen' or 'ncdump', for detailed descriptions
+ of the meanings of these attributes.
'--cdl'
As of NCO version 4.3.3 (July, 2013), 'ncks' can print extracted
@@ -9585,18 +9625,24 @@ features::.
exploring file contents.
'-Q'
- Toggle printing of dimension indices and coordinate values when
- printing arrays. Each variable's name appears flush left in the
- output. This helps locate specific variables in lists with many
- variables and different dimensions.
+ Print quietly, meaning omit dimension names, indices, and
+ coordinate values when printing arrays. Variable (not dimension)
+ indices are printed. Variable names appear flush left in the
+ output:
+ zender at roulee:~$ ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ three_dmn_rec_var[0]=1
+ ...
+ This helps locate specific variables in lists with many variables
+ and different dimensions. See also the '-V' option, which omits
+ all names and indices and prints only variable values.
'-q'
- Turn off all printing to screen. This overrides the setting of all
- print-related switches, equivalent to '-H -M -m' when in
- single-file printing mode. When invoked with '-R' (*note Retaining
- Retrieved Files::), 'ncks' automatically sets '-q'. This allows
- 'ncks' to retrieve remote files without automatically trying to
- print them. Also '--quiet'.
+ Quench (turn-off) all printing to screen. This overrides the
+ setting of all print-related switches, equivalent to '-H -M -m'
+ when in single-file printing mode. When invoked with '-R' (*note
+ Retaining Retrieved Files::), 'ncks' automatically sets '-q'. This
+ allows 'ncks' to retrieve remote files without automatically trying
+ to print them. Also '--quench'.
'--rad'
Retain all dimensions. When invoked with '--rad' (Retain All
@@ -9613,10 +9659,28 @@ features::.
String format for text output. Accepts C language escape sequences
and 'printf()' formats. Also '--string' and '--sng_fmt'.
+'--secret'
+ Print summary of 'ncks' hidden features. These hidden or secret
+ features are used mainly by developers. They are not supported for
+ general use and may change at any time. This demonstrates
+ conclusively that I cannot keep a secret. Also '--ssh' and
+ '--scr'.
+
'-u'
Toggle the printing of a variable's 'units' attribute, if any, with
its values. Also '--units'.
+'-V'
+ Print variable values only. Do not print variable and dimension
+ names, indices, and coordinate values when printing arrays.
+ zender at roulee:~$ ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ 1
+ ...
+ See also the '-Q' option, which prints variable names and indices,
+ but not dimension names, indices, or coordinate values when
+ printing arrays. Using '-V' is the same as specifying '-Q
+ --no_nm_prn'.
+
'--xml, --ncml'
As of NCO version 4.3.3 (July, 2013), 'ncks' can print extracted
metadata to screen (i.e., 'stdout') as XML in NcML, the netCDF
@@ -9658,7 +9722,7 @@ features::.
'--xml_spr_chr' and '--xml_spr_nmr' options customize the strings
used as NcML separators for attributes and variables of
character-type and numeric-type, respectively. Their default
- separators are "*" and " ":
+ separators are '*' and "' '" (a space):
zender at roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
...
<values separator="*">abc*bcd*cde*def</values>
@@ -9865,6 +9929,23 @@ blanks (i.e., the underscore character '_') by default:
lon[3]=270 mss_val[3]=_
% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
+73.0, _, +73.0, _,
+ To print the numeric value of the missing value instead of a blank,
+use the '--no_blank' option.
+
+ 'ncks' prints in a verbose fashion by default and supplies a number
+of switches to pare-down (or even spruce-up) the output. The interplay
+of the '-Q', '-V', and (otherwise undocumented) '--no_nm_prn' switches
+yields most desired verbosities:
+ % ncks -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ time[0]=1 lat[0]=-90 lon[0]=0 three_dmn_rec_var[0]=1
+ % ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ three_dmn_rec_var[0]=1
+ % ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ 1
+ % ncks -Q --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ 1
+ % ncks --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+ 1 -90 0 1
One dimensional arrays of characters stored as netCDF variables are
automatically printed as strings, whether or not they are
@@ -10457,11 +10538,12 @@ using the corresponding name in the list of new names. All the new
names must be unique. Every old name must exist in the input file,
unless the old name is preceded by the period (or "dot") character '.'.
The validity of OLD_NAME is not checked prior to the renaming. Thus, if
-OLD_NAME is specified without the the '.' prefix and is not present in
-INPUT-FILE, 'ncrename' will abort. The NEW_NAME should never be
-prefixed by a '.' (or else the period will be included as part of the
-new name). The OPTIONS and EXAMPLES show how to select specific
-variables whose attributes are to be renamed.
+OLD_NAME is specified without the '.' prefix that indicates the presence
+of OLD_NAME is optional, and OLD_NAME is not present in INPUT-FILE, then
+'ncrename' will abort. The NEW_NAME should never be prefixed by a '.'
+(or else the period will be included as part of the new name). The
+OPTIONS and EXAMPLES show how to select specific variables whose
+attributes are to be renamed.
Although 'ncrename' supports full pathnames for both OLD_NAME and
NEW_NAME, this is really "window dressing". The full-path to NEW_NAME
@@ -10556,19 +10638,19 @@ whether a variable is a coordinate. If you want to rename a coordinate
variable so that it remains a coordinate variable, you must separately
rename both the dimension and the variable:
ncrename -d lon,longitude -v lon,longitude in.nc
- Unfortunately, the netCDF4 library has a longstanding bug (all
-versions until 4.3.1-rc5 released in December, 2013) that causes NCO to
+ Unfortunately, the netCDF4 library had a longstanding bug (all
+versions until 4.3.1-rc5 released in December, 2013) that caused NCO to
crash when performing this operation. Simultaneously renaming variables
and dimensions in netCDF4 files with earlier versions of netCDF is
impossible; it must instead be done in two separate 'ncrename'
-invocations (e.g., first rename the variable, then the dimension) to
-avoid triggering the libary bug.
+invocations (e.g., first rename the variable, then rename the dimension)
+to avoid triggering the libary bug.
A related bug causes unintended side-effects with 'ncrename' also
built with all versions of the netCDF4 library until 4.3.1-rc5 released
-in December, 2013): Renaming _either_ a dimension _or_ its assosiated
-coordinate variable (not both, which would fail as above) in a netCDF4
-file inadvertently _does_ rename both:
+in December, 2013): This bug caused renaming _either_ a dimension _or_
+its assosiated coordinate variable (not both, which would fail as above)
+in a netCDF4 file to inadvertently rename both:
# Demonstate bug in netCDF4/HDF5 library prior to netCDF-4.3.1-rc5
ncks -O -h -m -M -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
ncrename -O -v lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames dimension
@@ -12536,935 +12618,978 @@ General Index
* Menu:
* '"' (double quote): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '#include': Syntax of ncap2 statements.
- (line 5669)
-* '$' (wildcard character): Subsetting Files. (line 2567)
+ (line 5707)
+* '$' (wildcard character): Subsetting Files. (line 2584)
* '%' (modulus): Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* ''' (end quote): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '*': ncbo netCDF Binary Operator.
- (line 8589)
-* '*' (filename expansion): Subsetting Files. (line 2567)
+ (line 8628)
+* '*' (filename expansion): Subsetting Files. (line 2584)
* '*' (multiplication): Intrinsic mathematical methods.
- (line 8040)
-* '*' (wildcard character): Subsetting Files. (line 2574)
+ (line 8078)
+* '*' (wildcard character): Subsetting Files. (line 2591)
* '+': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* '+' (addition): Intrinsic mathematical methods.
- (line 8040)
-* '+' (wildcard character): Subsetting Files. (line 2574)
+ (line 8078)
+* '+' (wildcard character): Subsetting Files. (line 2591)
* '-': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* '-' (subtraction): Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* '--3': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--4': File Formats and Conversion.
- (line 2104)
+ (line 2116)
+* '--5': File Formats and Conversion.
+ (line 2116)
* '--6': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--64bit': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--7': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--abc': ncks netCDF Kitchen Sink.
- (line 9416)
+ (line 9454)
* '--alphabetize': ncks netCDF Kitchen Sink.
- (line 9416)
+ (line 9454)
* '--apn': Temporary Output Files.
- (line 996)
-* '--apn' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '--apn' <1>: Batch Mode. (line 5353)
* '--apn' <2>: Filters for 'ncks'.
- (line 9866)
+ (line 9930)
* '--append': Temporary Output Files.
- (line 996)
-* '--append' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '--append' <1>: Batch Mode. (line 5353)
* '--append' <2>: Filters for 'ncks'.
- (line 9866)
+ (line 9930)
* '--auxiliary': Auxiliary Coordinates.
- (line 3628)
+ (line 3659)
* '--auxiliary LON_MIN,LON_MAX,LAT_MIN,LAT_MAX': Auxiliary Coordinates.
- (line 3628)
-* '--bfr_sz_hnt': Buffer sizes. (line 4418)
+ (line 3659)
+* '--bfr_sz_hnt': Buffer sizes. (line 4456)
* '--binary': ncks netCDF Kitchen Sink.
- (line 9426)
+ (line 9464)
* '--bnr': ncks netCDF Kitchen Sink.
- (line 9426)
+ (line 9464)
* '--cdl': ncks netCDF Kitchen Sink.
- (line 9479)
-* '--cell_methods': CF Conventions. (line 5483)
-* '--chunk_byte': Chunking. (line 4096)
-* '--chunk_dimension': Chunking. (line 4096)
-* '--chunk_map': Chunking. (line 4096)
-* '--chunk_policy': Chunking. (line 4096)
-* '--chunk_scalar': Chunking. (line 4096)
-* '--cll_mth': CF Conventions. (line 5483)
-* '--cnk_byt': Chunking. (line 4096)
-* '--cnk_dmn': Chunking. (line 4096)
-* '--cnk_map': Chunking. (line 4096)
-* '--cnk_map CNK_MAP': Chunking. (line 4183)
-* '--cnk_plc': Chunking. (line 4096)
-* '--cnk_scl': Chunking. (line 4096)
+ (line 9519)
+* '--cell_methods': CF Conventions. (line 5521)
+* '--chunk_byte': Chunking. (line 4127)
+* '--chunk_dimension': Chunking. (line 4127)
+* '--chunk_map': Chunking. (line 4127)
+* '--chunk_policy': Chunking. (line 4127)
+* '--chunk_scalar': Chunking. (line 4127)
+* '--cll_mth': CF Conventions. (line 5521)
+* '--cnk_byt': Chunking. (line 4127)
+* '--cnk_dmn': Chunking. (line 4127)
+* '--cnk_map': Chunking. (line 4127)
+* '--cnk_map CNK_MAP': Chunking. (line 4214)
+* '--cnk_plc': Chunking. (line 4127)
+* '--cnk_scl': Chunking. (line 4127)
* '--coords': Subsetting Coordinate Variables.
- (line 2644)
-* '--coords' <1>: CF Conventions. (line 5472)
+ (line 2661)
+* '--coords' <1>: CF Conventions. (line 5510)
* '--crd': Subsetting Coordinate Variables.
- (line 2644)
-* '--crd' <1>: CF Conventions. (line 5472)
+ (line 2661)
+* '--crd' <1>: CF Conventions. (line 5510)
* '--create_ram': Temporary Output Files.
- (line 954)
-* '--create_ram' <1>: RAM disks. (line 4449)
+ (line 962)
+* '--create_ram' <1>: RAM disks. (line 4487)
* '--data': ncks netCDF Kitchen Sink.
- (line 9527)
+ (line 9567)
* '--dbg_lvl DEBUG-LEVEL': Help Requests and Bug Reports.
- (line 869)
-* '--dbg_lvl DEBUG-LEVEL' <1>: Large Datasets. (line 1328)
+ (line 877)
+* '--dbg_lvl DEBUG-LEVEL' <1>: Large Datasets. (line 1340)
* '--dbg_lvl DEBUG-LEVEL' <2>: Command Line Options.
- (line 1614)
+ (line 1626)
* '--dbl': Promoting Single-precision to Double.
- (line 4962)
+ (line 5000)
* '--debug-level DEBUG-LEVEL': Help Requests and Bug Reports.
- (line 869)
-* '--debug-level DEBUG-LEVEL' <1>: Large Datasets. (line 1328)
-* '--deflate': Deflation. (line 4311)
-* '--dfl_lvl': Deflation. (line 4311)
-* '--dimension DIM,[MIN],[MAX],STRIDE': Stride. (line 3246)
+ (line 877)
+* '--debug-level DEBUG-LEVEL' <1>: Large Datasets. (line 1340)
+* '--deflate': Deflation. (line 4349)
+* '--dfl_lvl': Deflation. (line 4349)
+* '--dimension DIM,[MIN],[MAX],STRIDE': Stride. (line 3277)
* '--dimension DIM,[MIN],[MAX],[STRIDE],[SUBCYCLE]': Subcycle.
- (line 3358)
-* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3142)
+ (line 3389)
+* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3159)
* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs.
- (line 3434)
+ (line 3465)
* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
- (line 3578)
+ (line 3609)
* '--dimension DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support.
- (line 3738)
+ (line 3769)
* '--diskless_all': Memory Requirements.
- (line 1339)
-* '--diskless_all' <1>: RAM disks. (line 4449)
-* '--dmn DIM,[MIN],[MAX],STRIDE': Stride. (line 3246)
-* '--dmn DIM,[MIN],[MAX],[STRIDE],SUBCYCLE]': Subcycle. (line 3358)
-* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3142)
-* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs. (line 3434)
+ (line 1351)
+* '--diskless_all' <1>: RAM disks. (line 4487)
+* '--dmn DIM,[MIN],[MAX],STRIDE': Stride. (line 3277)
+* '--dmn DIM,[MIN],[MAX],[STRIDE],SUBCYCLE]': Subcycle. (line 3389)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3159)
+* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs. (line 3465)
* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
- (line 3578)
+ (line 3609)
* '--dmn DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support.
- (line 3738)
+ (line 3769)
* '--ensemble_file': nces netCDF Ensemble Statistics.
- (line 8881)
+ (line 8920)
* '--ensemble_group': nces netCDF Ensemble Statistics.
- (line 8881)
+ (line 8920)
* '--ensemble_suffix': nces netCDF Ensemble Statistics.
- (line 8881)
-* '--exclude': Subsetting Files. (line 2386)
+ (line 8920)
+* '--exclude': Subsetting Files. (line 2403)
* '--exclude' <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* '--file_format': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--file_list': File List Attributes.
- (line 5363)
-* '--fix_rec_dmn all': Autoconversion. (line 2317)
+ (line 5401)
+* '--fix_rec_dmn all': Autoconversion. (line 2334)
* '--fix_rec_dmn DIM': ncks netCDF Kitchen Sink.
- (line 9442)
+ (line 9480)
* '--flt': Promoting Single-precision to Double.
- (line 4962)
+ (line 5000)
* '--fl_bnr': ncks netCDF Kitchen Sink.
- (line 9426)
+ (line 9464)
* '--fl_fmt': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--fl_lst_in': File List Attributes.
- (line 5363)
+ (line 5401)
* '--fl_out FL_OUT': Specifying Output Files.
- (line 1778)
+ (line 1790)
* '--fl_spt': ncap2 netCDF Arithmetic Processor.
- (line 5607)
+ (line 5645)
* '--fnc_tbl': Intrinsic mathematical methods.
- (line 8147)
+ (line 8185)
* '--fortran': C and Fortran Index Conventions.
- (line 3105)
+ (line 3122)
* '--gag': ncecat netCDF Ensemble Concatenator.
- (line 9053)
-* '--gag' <1>: Combine Files. (line 11322)
+ (line 9092)
+* '--gag' <1>: Combine Files. (line 11404)
* '--glb_mtd_spp': ncecat netCDF Ensemble Concatenator.
- (line 9079)
+ (line 9118)
* '--gpe GPE_DSC': Group Path Editing.
- (line 2671)
-* '--group GRP': Subsetting Files. (line 2386)
-* '--grp GRP': Subsetting Files. (line 2386)
-* '--grp_xtr_var_xcl': Subsetting Files. (line 2386)
-* '--gxvx': Subsetting Files. (line 2386)
+ (line 2688)
+* '--group GRP': Subsetting Files. (line 2403)
+* '--grp GRP': Subsetting Files. (line 2403)
+* '--grp_xtr_var_xcl': Subsetting Files. (line 2403)
+* '--gxvx': Subsetting Files. (line 2403)
* '--hdf4': netCDF2/3/4 and HDF4/5 Support.
(line 679)
-* '--hdf_unpack': Packed data. (line 4536)
-* '--hdf_upk': Packed data. (line 4536)
+* '--hdf_unpack': Packed data. (line 4574)
+* '--hdf_upk': Packed data. (line 4574)
* '--hdn': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '--hdr_pad HDR_PAD': Metadata Optimization.
- (line 1512)
+ (line 1524)
* '--header_pad HDR_PAD': Metadata Optimization.
- (line 1512)
+ (line 1524)
* '--hidden': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '--hieronymus': ncks netCDF Kitchen Sink.
- (line 9527)
-* '--history': History Attribute. (line 5335)
-* '--hst': History Attribute. (line 5335)
-* '--intersection': Subsetting Files. (line 2492)
-* '--lcl OUTPUT-PATH': Remote storage. (line 1810)
-* '--local OUTPUT-PATH': Remote storage. (line 1810)
-* '--map CNK_MAP': Chunking. (line 4183)
+ (line 9567)
+* '--history': History Attribute. (line 5373)
+* '--hst': History Attribute. (line 5373)
+* '--intersection': Subsetting Files. (line 2509)
+* '--lcl OUTPUT-PATH': Remote storage. (line 1822)
+* '--local OUTPUT-PATH': Remote storage. (line 1822)
+* '--map CNK_MAP': Chunking. (line 4214)
* '--map PCK_MAP': ncpdq netCDF Permute Dimensions Quickly.
- (line 10076)
-* '--mask-value MASK_VAL': Mask condition. (line 10784)
+ (line 10157)
+* '--mask-value MASK_VAL': Mask condition. (line 10866)
* '--mask-variable MASK_VAR': ncwa netCDF Weighted Averager.
- (line 10716)
-* '--mask_comparator MASK_COMP': Mask condition. (line 10770)
+ (line 10798)
+* '--mask_comparator MASK_COMP': Mask condition. (line 10852)
* '--mask_condition MASK_COND': ncwa netCDF Weighted Averager.
- (line 10716)
-* '--mask_condition MASK_COND' <1>: Mask condition. (line 10770)
-* '--mask_value MASK_VAL': Mask condition. (line 10784)
+ (line 10798)
+* '--mask_condition MASK_COND' <1>: Mask condition. (line 10852)
+* '--mask_value MASK_VAL': Mask condition. (line 10866)
* '--mask_variable MASK_VAR': ncwa netCDF Weighted Averager.
- (line 10716)
-* '--md5_dgs': MD5 digests. (line 4348)
-* '--md5_digest': MD5 digests. (line 4348)
-* '--md5_write_attribute': MD5 digests. (line 4348)
-* '--md5_wrt_att': MD5 digests. (line 4348)
+ (line 10798)
+* '--md5_dgs': MD5 digests. (line 4386)
+* '--md5_digest': MD5 digests. (line 4386)
+* '--md5_write_attribute': MD5 digests. (line 4386)
+* '--md5_wrt_att': MD5 digests. (line 4386)
* '--Metadata': ncks netCDF Kitchen Sink.
- (line 9572)
+ (line 9612)
* '--metadata': ncks netCDF Kitchen Sink.
- (line 9615)
+ (line 9655)
* '--mk_rec_dmn DIM': ncecat netCDF Ensemble Concatenator.
- (line 9138)
+ (line 9177)
* '--mk_rec_dmn DIM' <1>: ncks netCDF Kitchen Sink.
- (line 9519)
+ (line 9559)
* '--mrd': Multiple Record Dimensions.
- (line 3945)
-* '--mro': Subcycle. (line 3358)
-* '--msa': Multislabs. (line 3434)
-* '--msa_user_order': Multislabs. (line 3434)
-* '--msa_usr_rdr': Multislabs. (line 3434)
-* '--msk_cmp_typ MASK_COMP': Mask condition. (line 10770)
+ (line 3976)
+* '--mro': Subcycle. (line 3389)
+* '--msa': Multislabs. (line 3465)
+* '--msa_user_order': Multislabs. (line 3465)
+* '--msa_usr_rdr': Multislabs. (line 3465)
+* '--msk_cmp_typ MASK_COMP': Mask condition. (line 10852)
* '--msk_cnd MASK_COND': ncwa netCDF Weighted Averager.
- (line 10716)
-* '--msk_cnd_sng MASK_COND': Mask condition. (line 10770)
+ (line 10798)
+* '--msk_cnd_sng MASK_COND': Mask condition. (line 10852)
* '--msk_nm MASK_VAR': ncwa netCDF Weighted Averager.
- (line 10716)
-* '--msk_val MASK_VAL': Mask condition. (line 10784)
+ (line 10798)
+* '--msk_val MASK_VAL': Mask condition. (line 10866)
* '--msk_var MASK_VAR': ncwa netCDF Weighted Averager.
- (line 10716)
+ (line 10798)
* '--Mtd': ncks netCDF Kitchen Sink.
- (line 9572)
+ (line 9612)
* '--mtd': ncks netCDF Kitchen Sink.
- (line 9615)
+ (line 9655)
* '--multiple_record_dimensions': Multiple Record Dimensions.
- (line 3945)
+ (line 3976)
* '--ncml': ncks netCDF Kitchen Sink.
- (line 9675)
+ (line 9739)
* '--netcdf4': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '--nintap LOOP': Specifying Input Files.
- (line 1670)
+ (line 1682)
* '--no-blank': ncks netCDF Kitchen Sink.
- (line 9628)
+ (line 9668)
* '--no-coords': Subsetting Coordinate Variables.
- (line 2644)
-* '--no-coords' <1>: CF Conventions. (line 5472)
+ (line 2661)
+* '--no-coords' <1>: CF Conventions. (line 5510)
* '--no-crd': Subsetting Coordinate Variables.
- (line 2644)
-* '--no-crd' <1>: CF Conventions. (line 5472)
+ (line 2661)
+* '--no-crd' <1>: CF Conventions. (line 5510)
* '--noblank': ncks netCDF Kitchen Sink.
- (line 9628)
+ (line 9668)
* '--no_blank': ncks netCDF Kitchen Sink.
- (line 9628)
-* '--no_cell_methods': CF Conventions. (line 5483)
-* '--no_cll_mth': CF Conventions. (line 5483)
+ (line 9668)
+* '--no_blank' <1>: Filters for 'ncks'.
+ (line 9978)
+* '--no_cell_methods': CF Conventions. (line 5521)
+* '--no_cll_mth': CF Conventions. (line 5521)
+* '--no_dmn_var_nm': ncks netCDF Kitchen Sink.
+ (line 9728)
+* '--no_dmn_var_nm' <1>: Filters for 'ncks'.
+ (line 9990)
+* '--no_nm_prn': ncks netCDF Kitchen Sink.
+ (line 9728)
+* '--no_nm_prn' <1>: Filters for 'ncks'.
+ (line 9990)
* '--no_rec_dmn DIM': ncks netCDF Kitchen Sink.
- (line 9442)
+ (line 9480)
* '--no_tmp_fl': Temporary Output Files.
- (line 954)
-* '--no_tmp_fl' <1>: RAM disks. (line 4529)
+ (line 962)
+* '--no_tmp_fl' <1>: RAM disks. (line 4567)
* '--nsm_fl': nces netCDF Ensemble Statistics.
- (line 8881)
+ (line 8920)
* '--nsm_grp': nces netCDF Ensemble Statistics.
- (line 8881)
+ (line 8920)
* '--nsm_sfx': nces netCDF Ensemble Statistics.
- (line 8881)
-* '--nsx': Subsetting Files. (line 2492)
-* '--omp_num_threads THR_NBR': OpenMP Threading. (line 1533)
+ (line 8920)
+* '--nsx': Subsetting Files. (line 2509)
+* '--omp_num_threads THR_NBR': OpenMP Threading. (line 1545)
* '--open_ram': Temporary Output Files.
- (line 954)
+ (line 962)
* '--open_ram' <1>: Memory Requirements.
- (line 1339)
-* '--open_ram' <2>: RAM disks. (line 4449)
-* '--operation OP_TYP': Operation Types. (line 4673)
+ (line 1351)
+* '--open_ram' <2>: RAM disks. (line 4487)
+* '--operation OP_TYP': Operation Types. (line 4711)
* '--operation OP_TYP' <1>: ncbo netCDF Binary Operator.
- (line 8589)
-* '--op_rlt MASK_COMP': Mask condition. (line 10770)
-* '--op_typ OP_TYP': Operation Types. (line 4673)
+ (line 8628)
+* '--op_rlt MASK_COMP': Mask condition. (line 10852)
+* '--op_typ OP_TYP': Operation Types. (line 4711)
* '--op_typ OP_TYP' <1>: ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* '--orphan_dimensions': ncks netCDF Kitchen Sink.
- (line 9656)
+ (line 9702)
* '--output FL_OUT': Specifying Output Files.
- (line 1778)
+ (line 1790)
* '--overwrite': Temporary Output Files.
- (line 996)
-* '--overwrite' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '--overwrite' <1>: Batch Mode. (line 5353)
* '--ovr': Temporary Output Files.
- (line 996)
-* '--ovr' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '--ovr' <1>: Batch Mode. (line 5353)
* '--pack_policy PCK_PLC': ncpdq netCDF Permute Dimensions Quickly.
- (line 10009)
+ (line 10090)
* '--path INPUT-PATH': Specifying Input Files.
- (line 1670)
-* '--path INPUT-PATH' <1>: Remote storage. (line 1810)
+ (line 1682)
+* '--path INPUT-PATH' <1>: Remote storage. (line 1822)
* '--pck_map PCK_MAP': ncpdq netCDF Permute Dimensions Quickly.
- (line 10076)
+ (line 10157)
* '--pck_plc PCK_PLC': ncpdq netCDF Permute Dimensions Quickly.
- (line 10009)
+ (line 10090)
* '--print': ncks netCDF Kitchen Sink.
- (line 9636)
+ (line 9676)
* '--prn': ncks netCDF Kitchen Sink.
- (line 9636)
+ (line 9676)
* '--prn_fnc_tbl': Intrinsic mathematical methods.
- (line 8147)
+ (line 8185)
* '--pseudonym': Symbolic Links. (line 539)
* '--pth INPUT-PATH': Specifying Input Files.
- (line 1670)
-* '--pth INPUT-PATH' <1>: Remote storage. (line 1810)
+ (line 1682)
+* '--pth INPUT-PATH' <1>: Remote storage. (line 1822)
+* '--quench': ncks netCDF Kitchen Sink.
+ (line 9694)
* '--quiet': ncks netCDF Kitchen Sink.
- (line 9648)
+ (line 9682)
+* '--quiet' <1>: Filters for 'ncks'.
+ (line 9990)
* '--rad': ncks netCDF Kitchen Sink.
- (line 9656)
+ (line 9702)
* '--ram_all': Memory Requirements.
- (line 1339)
-* '--ram_all' <1>: RAM disks. (line 4449)
+ (line 1351)
+* '--ram_all' <1>: RAM disks. (line 4487)
* '--rcd_nm ULM_NM': ncecat netCDF Ensemble Concatenator.
- (line 9028)
-* '--record_append': Record Appending. (line 3307)
-* '--rec_apn': Record Appending. (line 3307)
+ (line 9067)
+* '--record_append': Record Appending. (line 3338)
+* '--rec_apn': Record Appending. (line 3338)
* '--retain': Retaining Retrieved Files.
- (line 2064)
+ (line 2076)
* '--retain_all_dimensions': ncks netCDF Kitchen Sink.
- (line 9656)
+ (line 9702)
* '--revision': Help Requests and Bug Reports.
- (line 869)
-* '--revision' <1>: Operator Version. (line 5557)
+ (line 877)
+* '--revision' <1>: Operator Version. (line 5595)
* '--rph_dmn': ncks netCDF Kitchen Sink.
- (line 9656)
+ (line 9702)
* '--rth_dbl': Promoting Single-precision to Double.
- (line 4962)
+ (line 5000)
* '--rth_flt': Promoting Single-precision to Double.
- (line 4962)
+ (line 5000)
* '--rtn': Retaining Retrieved Files.
- (line 2064)
+ (line 2076)
+* '--scr': ncks netCDF Kitchen Sink.
+ (line 9717)
* '--script': ncap2 netCDF Arithmetic Processor.
- (line 5607)
+ (line 5645)
* '--script-file': ncap2 netCDF Arithmetic Processor.
- (line 5607)
+ (line 5645)
+* '--secret': ncks netCDF Kitchen Sink.
+ (line 9717)
* '--sng_fmt': ncks netCDF Kitchen Sink.
- (line 9667)
+ (line 9713)
+* '--sng_fmt' <1>: Filters for 'ncks'.
+ (line 9951)
* '--spt': ncap2 netCDF Arithmetic Processor.
- (line 5607)
+ (line 5645)
+* '--ssh': ncks netCDF Kitchen Sink.
+ (line 9717)
* '--string': ncks netCDF Kitchen Sink.
- (line 9667)
-* '--threads THR_NBR': OpenMP Threading. (line 1533)
-* '--thr_nbr THR_NBR': OpenMP Threading. (line 1533)
+ (line 9713)
+* '--string' <1>: Filters for 'ncks'.
+ (line 9951)
+* '--threads THR_NBR': OpenMP Threading. (line 1545)
+* '--thr_nbr THR_NBR': OpenMP Threading. (line 1545)
* '--ulm_nm ULM_NM': ncecat netCDF Ensemble Concatenator.
- (line 9028)
-* '--union': Subsetting Files. (line 2386)
-* '--union' <1>: Subsetting Files. (line 2492)
+ (line 9067)
+* '--union': Subsetting Files. (line 2403)
+* '--union' <1>: Subsetting Files. (line 2509)
* '--units': ncks netCDF Kitchen Sink.
- (line 9671)
-* '--unn': Subsetting Files. (line 2386)
-* '--unn' <1>: Subsetting Files. (line 2492)
+ (line 9724)
+* '--unn': Subsetting Files. (line 2403)
+* '--unn' <1>: Subsetting Files. (line 2509)
* '--unpack': ncpdq netCDF Permute Dimensions Quickly.
- (line 10060)
+ (line 10141)
* '--upk': ncpdq netCDF Permute Dimensions Quickly.
- (line 10060)
-* '--variable VAR': Subsetting Files. (line 2386)
+ (line 10141)
+* '--variable VAR': Subsetting Files. (line 2403)
* '--variable VAR' <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
+* '--var_val': ncks netCDF Kitchen Sink.
+ (line 9728)
+* '--var_val' <1>: Filters for 'ncks'.
+ (line 9990)
* '--version': Help Requests and Bug Reports.
- (line 869)
-* '--version' <1>: Operator Version. (line 5557)
+ (line 877)
+* '--version' <1>: Operator Version. (line 5595)
* '--vrs': Help Requests and Bug Reports.
- (line 869)
-* '--vrs' <1>: Operator Version. (line 5557)
+ (line 877)
+* '--vrs' <1>: Operator Version. (line 5595)
* '--weight WEIGHT': ncwa netCDF Weighted Averager.
- (line 10716)
+ (line 10798)
* '--weight WGT1[,WGT2]': ncflint netCDF File Interpolator.
- (line 9178)
+ (line 9217)
* '--wgt_var WEIGHT': ncwa netCDF Weighted Averager.
- (line 10716)
+ (line 10798)
* '--wgt_var WGT1[,WGT2]': ncflint netCDF File Interpolator.
- (line 9178)
+ (line 9217)
* '--write_tmp_fl': Temporary Output Files.
- (line 954)
+ (line 962)
* '--wrt_tmp_fl': Temporary Output Files.
- (line 954)
-* '--xcl': Subsetting Files. (line 2386)
+ (line 962)
+* '--xcl': Subsetting Files. (line 2403)
* '--xcl' <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* '--xml': ncks netCDF Kitchen Sink.
- (line 9675)
+ (line 9739)
* '--xml_no_location': ncks netCDF Kitchen Sink.
- (line 9705)
+ (line 9769)
* '--xml_spr_chr': ncks netCDF Kitchen Sink.
- (line 9705)
+ (line 9769)
* '--xml_spr_nmr': ncks netCDF Kitchen Sink.
- (line 9705)
+ (line 9769)
+* '-0': Hyperslabs. (line 3159)
* '-3': netCDF2/3/4 and HDF4/5 Support.
(line 672)
* '-3' <1>: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '-4': netCDF2/3/4 and HDF4/5 Support.
(line 672)
* '-4' <1>: File Formats and Conversion.
- (line 2104)
-* '-5': ncks netCDF Kitchen Sink.
- (line 9409)
+ (line 2116)
+* '-5': File Formats and Conversion.
+ (line 2116)
+* '-5' <1>: ncks netCDF Kitchen Sink.
+ (line 9447)
* '-6': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '-7': File Formats and Conversion.
- (line 2104)
+ (line 2116)
* '-A': Temporary Output Files.
- (line 996)
-* '-A' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '-A' <1>: Batch Mode. (line 5353)
* '-a': ncks netCDF Kitchen Sink.
- (line 9416)
+ (line 9454)
* '-a' <1>: Filters for 'ncks'.
- (line 9854)
+ (line 9918)
* '-A' <2>: Filters for 'ncks'.
- (line 9866)
+ (line 9930)
* '-A' <3>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10192)
-* '-b': Examples ncap2. (line 8018)
+ (line 10273)
+* '-b': Examples ncap2. (line 8056)
* '-b' <1>: ncbo netCDF Binary Operator.
- (line 8687)
+ (line 8726)
* '-b' <2>: ncks netCDF Kitchen Sink.
- (line 9426)
+ (line 9464)
* '-B MASK_COND': ncwa netCDF Weighted Averager.
- (line 10716)
-* '-B MASK_COND' <1>: Mask condition. (line 10770)
+ (line 10798)
+* '-B MASK_COND' <1>: Mask condition. (line 10852)
* '-C': Subsetting Coordinate Variables.
- (line 2644)
+ (line 2661)
* '-c': Subsetting Coordinate Variables.
- (line 2644)
-* '-C' <1>: CF Conventions. (line 5472)
-* '-c' <1>: CF Conventions. (line 5472)
-* '-C' <2>: Examples ncap2. (line 8030)
+ (line 2661)
+* '-C' <1>: CF Conventions. (line 5510)
+* '-c' <1>: CF Conventions. (line 5510)
+* '-C' <2>: Examples ncap2. (line 8068)
* '-D': Help Requests and Bug Reports.
- (line 854)
+ (line 862)
* '-D DEBUG-LEVEL': Help Requests and Bug Reports.
- (line 869)
-* '-D DEBUG-LEVEL' <1>: Large Datasets. (line 1328)
+ (line 877)
+* '-D DEBUG-LEVEL' <1>: Large Datasets. (line 1340)
* '-D DEBUG-LEVEL' <2>: Command Line Options.
- (line 1614)
-* '-d DIM,[MIN],[MAX],STRIDE': Stride. (line 3246)
-* '-d DIM,[MIN],[MAX],[STRIDE],[SUBCYCLE]': Subcycle. (line 3358)
-* '-d DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3142)
-* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs. (line 3434)
+ (line 1626)
+* '-d DIM,[MIN],[MAX],STRIDE': Stride. (line 3277)
+* '-d DIM,[MIN],[MAX],[STRIDE],[SUBCYCLE]': Subcycle. (line 3389)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]': Hyperslabs. (line 3159)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <1>: Multislabs. (line 3465)
* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <2>: Wrapped Coordinates.
- (line 3578)
-* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support. (line 3738)
+ (line 3609)
+* '-d DIM,[MIN][,[MAX][,[STRIDE]]]' <3>: UDUnits Support. (line 3769)
* '-d DIM,[MIN][,[MAX]]': ncwa netCDF Weighted Averager.
- (line 10708)
+ (line 10790)
* '-F': C and Fortran Index Conventions.
- (line 3105)
+ (line 3122)
* '-f': Intrinsic mathematical methods.
- (line 8147)
+ (line 8185)
* '-G GPE_DSC': Group Path Editing.
- (line 2671)
-* '-g GRP': Subsetting Files. (line 2386)
-* '-h': History Attribute. (line 5335)
+ (line 2688)
+* '-g GRP': Subsetting Files. (line 2403)
+* '-h': History Attribute. (line 5373)
* '-H': File List Attributes.
- (line 5363)
+ (line 5401)
* '-h' <1>: ncatted netCDF Attribute Editor.
- (line 8294)
+ (line 8332)
* '-H' <1>: ncks netCDF Kitchen Sink.
- (line 9527)
+ (line 9567)
* '-I': ncwa netCDF Weighted Averager.
- (line 10744)
-* '-L': Deflation. (line 4311)
-* '-l OUTPUT-PATH': Remote storage. (line 1810)
-* '-l OUTPUT-PATH' <1>: Remote storage. (line 1873)
+ (line 10826)
+* '-L': Deflation. (line 4349)
+* '-l OUTPUT-PATH': Remote storage. (line 1822)
+* '-l OUTPUT-PATH' <1>: Remote storage. (line 1885)
* '-M': Determining File Format.
- (line 2190)
+ (line 2202)
* '-M' <1>: ncecat netCDF Ensemble Concatenator.
- (line 9079)
+ (line 9118)
* '-M' <2>: ncks netCDF Kitchen Sink.
- (line 9572)
+ (line 9612)
* '-m': ncks netCDF Kitchen Sink.
- (line 9615)
-* '-M CNK_MAP': Chunking. (line 4183)
+ (line 9655)
+* '-M CNK_MAP': Chunking. (line 4214)
* '-m MASK_VAR': ncwa netCDF Weighted Averager.
- (line 10716)
+ (line 10798)
* '-M PCK_MAP': ncpdq netCDF Permute Dimensions Quickly.
- (line 10076)
+ (line 10157)
* '-N': Normalization and Integration.
- (line 10799)
+ (line 10881)
* '-n LOOP': Large Numbers of Files.
- (line 1198)
+ (line 1206)
* '-n LOOP' <1>: Large Numbers of Files.
- (line 1268)
+ (line 1276)
* '-n LOOP' <2>: Specifying Input Files.
- (line 1670)
+ (line 1682)
* '-O': Temporary Output Files.
- (line 996)
-* '-O' <1>: Batch Mode. (line 5315)
+ (line 1004)
+* '-O' <1>: Batch Mode. (line 5353)
* '-o FL_OUT': Large Numbers of Files.
- (line 1252)
+ (line 1260)
* '-o FL_OUT' <1>: Specifying Output Files.
- (line 1778)
+ (line 1790)
* '-P': ncks netCDF Kitchen Sink.
- (line 9636)
+ (line 9676)
* '-p INPUT-PATH': Specifying Input Files.
- (line 1670)
-* '-p INPUT-PATH' <1>: Remote storage. (line 1873)
+ (line 1682)
+* '-p INPUT-PATH' <1>: Remote storage. (line 1885)
* '-P PCK_PLC': ncpdq netCDF Permute Dimensions Quickly.
- (line 10009)
+ (line 10090)
* '-Q': ncks netCDF Kitchen Sink.
- (line 9642)
+ (line 9682)
* '-q': ncks netCDF Kitchen Sink.
- (line 9648)
+ (line 9694)
+* '-Q' <1>: Filters for 'ncks'.
+ (line 9990)
* '-r': Help Requests and Bug Reports.
- (line 854)
+ (line 862)
* '-r' <1>: Help Requests and Bug Reports.
- (line 869)
+ (line 877)
* '-R': Retaining Retrieved Files.
- (line 2064)
-* '-r' <2>: Operator Version. (line 5557)
+ (line 2076)
+* '-r' <2>: Operator Version. (line 5595)
* '-s': ncks netCDF Kitchen Sink.
- (line 9667)
+ (line 9713)
+* '-s' <1>: Filters for 'ncks'.
+ (line 9951)
* '-t THR_NBR': Single and Multi-file Operators.
- (line 1422)
-* '-t THR_NBR' <1>: OpenMP Threading. (line 1533)
+ (line 1434)
+* '-t THR_NBR' <1>: OpenMP Threading. (line 1545)
* '-u': ncks netCDF Kitchen Sink.
- (line 9671)
+ (line 9724)
* '-U': ncpdq netCDF Permute Dimensions Quickly.
- (line 10060)
+ (line 10141)
* '-u ULM_NM': ncecat netCDF Ensemble Concatenator.
- (line 9028)
+ (line 9067)
+* '-V': ncks netCDF Kitchen Sink.
+ (line 9728)
+* '-V' <1>: Filters for 'ncks'.
+ (line 9990)
* '-v': ncpdq netCDF Permute Dimensions Quickly.
- (line 10192)
-* '-v VAR': Subsetting Files. (line 2386)
+ (line 10273)
+* '-v VAR': Subsetting Files. (line 2403)
* '-v VAR' <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* '-w WEIGHT': ncwa netCDF Weighted Averager.
- (line 10716)
+ (line 10798)
* '-w WGT1[,WGT2]': ncflint netCDF File Interpolator.
- (line 9178)
-* '-x': Subsetting Files. (line 2386)
+ (line 9217)
+* '-x': Subsetting Files. (line 2403)
* '-X': Auxiliary Coordinates.
- (line 3628)
+ (line 3659)
* '-x' <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* '-X LON_MIN,LON_MAX,LAT_MIN,LAT_MAX': Auxiliary Coordinates.
- (line 3628)
-* '-y OP_TYP': Operation Types. (line 4673)
+ (line 3659)
+* '-y OP_TYP': Operation Types. (line 4711)
* '-y OP_TYP' <1>: ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* '.': ncrename netCDF Renamer.
- (line 10513)
-* '.' (wildcard character): Subsetting Files. (line 2567)
+ (line 10594)
+* '.' (wildcard character): Subsetting Files. (line 2584)
* '.bashrc': Filters for 'ncks'.
- (line 9759)
-* '.netrc': Remote storage. (line 1810)
-* '.rhosts': Remote storage. (line 1810)
+ (line 9823)
+* '.netrc': Remote storage. (line 1822)
+* '.rhosts': Remote storage. (line 1822)
* '/': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* '/' (division): Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* '/*...*/' (comment): Syntax of ncap2 statements.
- (line 5666)
+ (line 5704)
* '//' (comment): Syntax of ncap2 statements.
- (line 5666)
+ (line 5704)
* '0' (NUL): ncatted netCDF Attribute Editor.
- (line 8467)
+ (line 8505)
* 32-bit offset file format: Determining File Format.
- (line 2190)
+ (line 2202)
* 64-bit offset file format: Determining File Format.
- (line 2190)
+ (line 2202)
* '64BIT' files: File Formats and Conversion.
- (line 2104)
-* ':' (separator character): Flattening Groups. (line 2712)
+ (line 2116)
+* ':' (separator character): Flattening Groups. (line 2729)
* ';' (end of statement): Syntax of ncap2 statements.
- (line 5664)
+ (line 5702)
* '<arpa/nameser.h>': Windows Operating System.
(line 507)
* '<resolv.h>': Windows Operating System.
(line 507)
-* '?' (filename expansion): Subsetting Files. (line 2567)
+* '?' (filename expansion): Subsetting Files. (line 2584)
* '?' (question mark): ncatted netCDF Attribute Editor.
- (line 8458)
-* '?' (wildcard character): Subsetting Files. (line 2574)
+ (line 8496)
+* '?' (wildcard character): Subsetting Files. (line 2591)
* '@' (attribute): Syntax of ncap2 statements.
- (line 5674)
-* '@' (separator character): Flattening Groups. (line 2712)
+ (line 5712)
+* '@' (separator character): Flattening Groups. (line 2729)
* '[]' (array delimiters): Syntax of ncap2 statements.
- (line 5658)
+ (line 5696)
* '\' (backslash): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '\"' (protected double quote): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '\'' (protected end quote): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '\?' (protected question mark): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '\a' (ASCII BEL, bell): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\b' (ASCII BS, backspace): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\f' (ASCII FF, formfeed): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\n' (ASCII LF, linefeed): ncatted netCDF Attribute Editor.
- (line 8443)
+ (line 8481)
* '\n' (linefeed): Filters for 'ncks'.
- (line 9887)
+ (line 9951)
* '\r' (ASCII CR, carriage return): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\t' (ASCII HT, horizontal tab): ncatted netCDF Attribute Editor.
- (line 8443)
+ (line 8481)
* '\t' (horizontal tab): Filters for 'ncks'.
- (line 9887)
+ (line 9951)
* '\v' (ASCII VT, vertical tab): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\\' (ASCII \, backslash): ncatted netCDF Attribute Editor.
- (line 8453)
+ (line 8491)
* '\\' (protected backslash): ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* '^' (power): Intrinsic mathematical methods.
- (line 8040)
-* '^' (wildcard character): Subsetting Files. (line 2567)
+ (line 8078)
+* '^' (wildcard character): Subsetting Files. (line 2584)
* '_ChunkSizes': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '_DeflateLevel': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '_Endianness': ncks netCDF Kitchen Sink.
- (line 9467)
-* '_FillValue': Missing Values. (line 3983)
-* '_FillValue' <1>: Packed data. (line 4536)
+ (line 9505)
+* '_FillValue': Missing Values. (line 4014)
+* '_FillValue' <1>: Packed data. (line 4574)
* '_FillValue' <2>: ncatted netCDF Attribute Editor.
- (line 8299)
+ (line 8337)
* '_FillValue' <3>: ncflint netCDF File Interpolator.
- (line 9227)
+ (line 9266)
* _FILLVALUE: ncpdq netCDF Permute Dimensions Quickly.
- (line 10120)
+ (line 10201)
* '_FillValue' <4>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10120)
+ (line 10201)
* '_FillValue' <5>: ncrename netCDF Renamer.
- (line 10639)
+ (line 10721)
* '_Fletcher32': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '_Format': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '_NOFILL': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* '_Shuffle': ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
+* '_SOURCE_FORMAT': ncks netCDF Kitchen Sink.
+ (line 9505)
* '_Storage': ncks netCDF Kitchen Sink.
- (line 9467)
-* '|' (wildcard character): Subsetting Files. (line 2574)
+ (line 9505)
+* '|' (wildcard character): Subsetting Files. (line 2591)
* ABS: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* absolute value: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ACOS: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ACOSH: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* 'add': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* adding data: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* adding data <1>: ncflint netCDF File Interpolator.
- (line 9154)
+ (line 9193)
* addition: Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* addition <1>: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* addition <2>: ncflint netCDF File Interpolator.
- (line 9154)
-* ADD_OFFSET: Performance. (line 1475)
-* 'add_offset': Packed data. (line 4536)
+ (line 9193)
+* ADD_OFFSET: Performance. (line 1487)
+* 'add_offset': Packed data. (line 4574)
* 'add_offset' <1>: ncecat netCDF Ensemble Concatenator.
- (line 9101)
+ (line 9140)
* 'add_offset' <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10002)
+ (line 10083)
* 'add_offset' <3>: ncrcat netCDF Record Concatenator.
- (line 10450)
-* aggregation: Combine Files. (line 11322)
-* Aleksandar Jelenak: Contributors. (line 11008)
-* Alexander Hansen: Contributors. (line 11016)
+ (line 10531)
+* aggregation: Combine Files. (line 11404)
+* Aleksandar Jelenak: Contributors. (line 11090)
+* Alexander Hansen: Contributors. (line 11098)
* 'alias': ncbo netCDF Binary Operator.
- (line 8633)
+ (line 8672)
* alias: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'alias' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10070)
-* 'all': Chunking. (line 4130)
+ (line 10151)
+* 'all': Chunking. (line 4161)
* alphabetization: ncks netCDF Kitchen Sink.
- (line 9416)
+ (line 9454)
* alphabetize output: Filters for 'ncks'.
- (line 9854)
+ (line 9918)
* alternate invocations: ncbo netCDF Binary Operator.
- (line 8589)
-* anchor: Subsetting Files. (line 2443)
-* anchoring: Subsetting Files. (line 2443)
-* ancillary variables convention: CF Conventions. (line 5462)
-* 'ancillary_variables': CF Conventions. (line 5462)
-* Andrea Cimatoribus: Contributors. (line 11022)
-* Andrew Wittenberg: Contributors. (line 11006)
+ (line 8628)
+* anchor: Subsetting Files. (line 2460)
+* anchoring: Subsetting Files. (line 2460)
+* ancillary variables convention: CF Conventions. (line 5500)
+* 'ancillary_variables': CF Conventions. (line 5500)
+* Andrea Cimatoribus: Contributors. (line 11104)
+* Andrew Wittenberg: Contributors. (line 11088)
* annual average: Annual Average over Regions.
- (line 11551)
+ (line 11633)
* annual average from daily data: Daily data in one file.
- (line 11097)
+ (line 11179)
* annual average from monthly data: Monthly data in one file.
- (line 11120)
+ (line 11202)
* anomalies: ncbo netCDF Binary Operator.
- (line 8671)
+ (line 8710)
* anomalies <1>: Annual Average over Regions.
- (line 11551)
-* anomalies <2>: Monthly Cycle. (line 11842)
+ (line 11633)
+* anomalies <2>: Monthly Cycle. (line 11924)
* ANSI: Compatability. (line 420)
* 'ANSI C': Intrinsic mathematical methods.
- (line 8146)
-* appending data: Examples ncap2. (line 8018)
+ (line 8184)
+* appending data: Examples ncap2. (line 8056)
* appending data <1>: ncks netCDF Kitchen Sink.
- (line 9356)
+ (line 9395)
* appending to files: Temporary Output Files.
- (line 996)
-* appending to files <1>: Batch Mode. (line 5315)
+ (line 1004)
+* appending to files <1>: Batch Mode. (line 5353)
* appending to files <2>: Filters for 'ncks'.
- (line 9866)
+ (line 9930)
* appending variables: Temporary Output Files.
- (line 996)
+ (line 1004)
* appending variables <1>: Appending Variables.
- (line 1021)
+ (line 1029)
* appending variables <2>: ncap2 netCDF Arithmetic Processor.
- (line 5622)
+ (line 5660)
* appending variables <3>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10192)
+ (line 10273)
* AR4: nces netCDF Ensemble Statistics.
- (line 8878)
+ (line 8917)
* arccosine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* arcsine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* arctangent function: Intrinsic mathematical methods.
- (line 8043)
-* 'area': CF Conventions. (line 5394)
+ (line 8081)
+* 'area': CF Conventions. (line 5432)
* area-averaging: Annual Average over Regions.
- (line 11551)
-* arithmetic operators: Missing Values. (line 3989)
-* arithmetic operators <1>: Missing Values. (line 4042)
+ (line 11633)
+* arithmetic operators: Missing Values. (line 4020)
+* arithmetic operators <1>: Missing Values. (line 4073)
* arithmetic operators <2>: ncwa netCDF Weighted Averager.
- (line 10708)
+ (line 10790)
* arithmetic processor: ncap2 netCDF Arithmetic Processor.
- (line 5589)
-* ARM conventions: ARM Conventions. (line 5526)
+ (line 5627)
+* ARM conventions: ARM Conventions. (line 5564)
* ARM conventions <1>: ncrcat netCDF Record Concatenator.
- (line 10463)
+ (line 10544)
* array: Arrays and hyperslabs.
- (line 5952)
+ (line 5990)
* 'array' function: Arrays and hyperslabs.
- (line 5952)
+ (line 5990)
* array indexing: Syntax of ncap2 statements.
- (line 5660)
+ (line 5698)
* array storage: Syntax of ncap2 statements.
- (line 5662)
+ (line 5700)
* array syntax: Syntax of ncap2 statements.
- (line 5658)
+ (line 5696)
* arrays: Arrays and hyperslabs.
- (line 5952)
+ (line 5990)
* arrival value: ncflint netCDF File Interpolator.
- (line 9194)
+ (line 9233)
* ASCII: ncatted netCDF Attribute Editor.
- (line 8441)
+ (line 8479)
* ASCII <1>: ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* ASIN: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ASINH: Intrinsic mathematical methods.
- (line 8043)
-* 'asort': Sort methods. (line 6714)
+ (line 8081)
+* 'asort': Sort methods. (line 6752)
* assignment statement: Syntax of ncap2 statements.
- (line 5664)
-* asynchronous file access: Remote storage. (line 1810)
+ (line 5702)
+* asynchronous file access: Remote storage. (line 1822)
* ATAN: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ATANH: Intrinsic mathematical methods.
- (line 8043)
-* attribute inheritance: Attributes. (line 6127)
+ (line 8081)
+* attribute inheritance: Attributes. (line 6165)
* attribute names: ncatted netCDF Attribute Editor.
- (line 8276)
+ (line 8314)
* attribute names <1>: ncrename netCDF Renamer.
- (line 10504)
-* attribute propagation: Attributes. (line 6127)
+ (line 10585)
+* attribute propagation: Attributes. (line 6165)
* attribute syntax: Syntax of ncap2 statements.
- (line 5674)
-* attribute, 'units': UDUnits Support. (line 3738)
+ (line 5712)
+* attribute, 'units': UDUnits Support. (line 3769)
* attributes: ncatted netCDF Attribute Editor.
- (line 8276)
+ (line 8314)
* attributes, appending: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, creating: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, deleting: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, editing: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, editing <1>: Annual Average over Regions.
- (line 11551)
-* attributes, editing <2>: Regrid MODIS Data. (line 12006)
+ (line 11633)
+* attributes, editing <2>: Regrid MODIS Data. (line 12088)
* attributes, global: Large Numbers of Files.
- (line 1226)
-* attributes, global <1>: History Attribute. (line 5335)
+ (line 1234)
+* attributes, global <1>: History Attribute. (line 5373)
* attributes, global <2>: File List Attributes.
- (line 5363)
-* attributes, global <3>: ARM Conventions. (line 5550)
+ (line 5401)
+* attributes, global <3>: ARM Conventions. (line 5588)
* attributes, global <4>: ncatted netCDF Attribute Editor.
- (line 8341)
+ (line 8379)
* attributes, global <5>: ncatted netCDF Attribute Editor.
- (line 8508)
+ (line 8546)
* attributes, global <6>: ncks netCDF Kitchen Sink.
- (line 9342)
+ (line 9381)
* attributes, global <7>: ncks netCDF Kitchen Sink.
- (line 9376)
+ (line 9415)
* attributes, global <8>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* attributes, global <9>: ncrename netCDF Renamer.
- (line 10559)
+ (line 10641)
* attributes, global <10>: ncrename netCDF Renamer.
- (line 10639)
+ (line 10721)
* attributes, modifying: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, modifying <1>: Annual Average over Regions.
- (line 11551)
-* attributes, modifying <2>: Regrid MODIS Data. (line 12006)
+ (line 11633)
+* attributes, modifying <2>: Regrid MODIS Data. (line 12088)
* attributes, overwriting: ncatted netCDF Attribute Editor.
- (line 8358)
+ (line 8396)
* attributes, overwriting <1>: Annual Average over Regions.
- (line 11551)
-* attributes, overwriting <2>: Regrid MODIS Data. (line 12006)
-* attributes'ncap2': Attributes. (line 6094)
+ (line 11633)
+* attributes, overwriting <2>: Regrid MODIS Data. (line 12088)
+* attributes'ncap2': Attributes. (line 6132)
* 'autoconf': Help Requests and Bug Reports.
- (line 877)
-* autoconversion: Autoconversion. (line 2290)
+ (line 885)
+* autoconversion: Autoconversion. (line 2307)
* automagic: Compatability. (line 460)
* automagic <1>: Large Numbers of Files.
- (line 1199)
-* automatic type conversion: Type Conversion. (line 4826)
+ (line 1207)
+* automatic type conversion: Type Conversion. (line 4864)
* automatic type conversion <1>: Intrinsic mathematical methods.
- (line 8113)
-* auxiliary coordinates: CF Conventions. (line 5472)
-* average: Operation Types. (line 4673)
+ (line 8151)
+* auxiliary coordinates: CF Conventions. (line 5510)
+* average: Operation Types. (line 4711)
* average <1>: ncwa netCDF Weighted Averager.
- (line 10752)
+ (line 10834)
* average <2>: Daily data in one file.
- (line 11083)
+ (line 11165)
* average <3>: Daily data in one file.
- (line 11097)
+ (line 11179)
* average <4>: Monthly data in one file.
- (line 11117)
+ (line 11199)
* average <5>: Monthly data in one file.
- (line 11120)
+ (line 11202)
* average <6>: One time point one file.
- (line 11146)
+ (line 11228)
* average <7>: Global Distribution of Long-term Average.
- (line 11448)
+ (line 11530)
* average <8>: Annual Average over Regions.
- (line 11551)
-* average <9>: Monthly Cycle. (line 11842)
-* averaging data: Missing Values. (line 3983)
+ (line 11633)
+* average <9>: Monthly Cycle. (line 11924)
+* averaging data: Missing Values. (line 4014)
* averaging data <1>: nces netCDF Ensemble Statistics.
- (line 8839)
+ (line 8878)
* averaging data <2>: ncra netCDF Record Averager.
- (line 10351)
+ (line 10432)
* averaging data <3>: ncwa netCDF Weighted Averager.
- (line 10676)
-* 'avg': Operation Types. (line 4673)
+ (line 10758)
+* 'avg': Operation Types. (line 4711)
* avg(): Methods and functions.
- (line 6395)
-* 'avgsqr': Operation Types. (line 4673)
-* Barry deFreese: Contributors. (line 11008)
-* 'base_time': ARM Conventions. (line 5526)
-* 'bash': Subsetting Files. (line 2619)
+ (line 6433)
+* 'avgsqr': Operation Types. (line 4711)
+* Barry deFreese: Contributors. (line 11090)
+* 'base_time': ARM Conventions. (line 5564)
+* 'bash': Subsetting Files. (line 2636)
* 'bash' <1>: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* Bash shell: ncbo netCDF Binary Operator.
- (line 8618)
+ (line 8657)
* Bash Shell: ncbo netCDF Binary Operator.
- (line 8787)
+ (line 8826)
* Bash shell <1>: Filters for 'ncks'.
- (line 9759)
-* batch mode: Batch Mode. (line 5315)
+ (line 9823)
+* batch mode: Batch Mode. (line 5353)
* beer: Promoting Single-precision to Double.
- (line 5213)
-* benchmarks: OpenMP Threading. (line 1592)
+ (line 5251)
+* benchmarks: OpenMP Threading. (line 1604)
* Bessel function: GSL special functions.
- (line 7201)
-* bilinear interpolation: Regrid MODIS Data. (line 12006)
-* Bill Kocik: Contributors. (line 10992)
+ (line 7239)
+* bilinear interpolation: Regrid MODIS Data. (line 12088)
+* Bill Kocik: Contributors. (line 11074)
* binary format: ncks netCDF Kitchen Sink.
- (line 9426)
-* binary operations: Memory for ncap2. (line 1428)
+ (line 9464)
+* binary operations: Memory for ncap2. (line 1440)
* binary operations <1>: ncbo netCDF Binary Operator.
- (line 8571)
-* binary Operators: Expressions. (line 5761)
+ (line 8610)
+* binary Operators: Expressions. (line 5799)
* blank: ncks netCDF Kitchen Sink.
- (line 9628)
-* 'bounds': CF Conventions. (line 5449)
-* bounds convention: CF Conventions. (line 5449)
-* Bourne Shell: Stride. (line 3284)
+ (line 9668)
+* 'bounds': CF Conventions. (line 5487)
+* bounds convention: CF Conventions. (line 5487)
+* Bourne Shell: Stride. (line 3315)
* Bourne Shell <1>: ncbo netCDF Binary Operator.
- (line 8787)
-* Brian Mays: Contributors. (line 10988)
+ (line 8826)
+* Brian Mays: Contributors. (line 11070)
* broadcasting: ncbo netCDF Binary Operator.
- (line 8724)
+ (line 8763)
* broadcasting groups: netCDF2/3/4 and HDF4/5 Support.
(line 666)
* broadcasting groups <1>: ncbo netCDF Binary Operator.
- (line 8703)
+ (line 8742)
* broadcasting groups <2>: ncbo netCDF Binary Operator.
- (line 8752)
-* broadcasting variables: Expressions. (line 5710)
+ (line 8791)
+* broadcasting variables: Expressions. (line 5748)
* broadcasting variables <1>: ncbo netCDF Binary Operator.
- (line 8660)
+ (line 8699)
* broadcasting variables <2>: ncbo netCDF Binary Operator.
- (line 8662)
+ (line 8701)
* broadcasting variables <3>: ncflint netCDF File Interpolator.
- (line 9292)
+ (line 9331)
* broadcasting variables <4>: ncwa netCDF Weighted Averager.
- (line 10676)
+ (line 10758)
* 'BSD': Command Line Options.
- (line 1611)
-* Buffer sizes: Buffer sizes. (line 4418)
-* buffering: Performance. (line 1466)
+ (line 1623)
+* Buffer sizes: Buffer sizes. (line 4456)
+* buffering: Performance. (line 1478)
* bugs, reporting: Help Requests and Bug Reports.
- (line 814)
+ (line 822)
* byte(): Methods and functions.
- (line 6487)
+ (line 6525)
* C index convention: C and Fortran Index Conventions.
- (line 3105)
+ (line 3122)
* C language: Compatability. (line 442)
-* C language <1>: Missing Values. (line 4031)
+* C language <1>: Missing Values. (line 4062)
* C language <2>: Automatic type conversion.
- (line 4955)
+ (line 4993)
* C language <3>: Promoting Single-precision to Double.
- (line 4974)
+ (line 5012)
* C language <4>: Syntax of ncap2 statements.
- (line 5652)
-* C language <5>: Expressions. (line 5681)
+ (line 5690)
+* C language <5>: Expressions. (line 5719)
* C language <6>: ncatted netCDF Attribute Editor.
- (line 8467)
+ (line 8505)
* C language <7>: ncks netCDF Kitchen Sink.
- (line 9667)
-* C Shell: Stride. (line 3284)
+ (line 9713)
+* C Shell: Stride. (line 3315)
* C Shell <1>: ncbo netCDF Binary Operator.
- (line 8787)
+ (line 8826)
* 'c++': Compatability. (line 407)
* C++: Compatability. (line 412)
* C89: Compatability. (line 420)
@@ -13474,849 +13599,853 @@ General Index
* C99 <2>: Windows Operating System.
(line 495)
* CAM3: Promoting Single-precision to Double.
- (line 5113)
+ (line 5151)
* 'CC': Compatability. (line 407)
* 'cc': Compatability. (line 407)
* CCM Processor: Specifying Input Files.
- (line 1670)
+ (line 1682)
* CCM Processor <1>: ncra netCDF Record Averager.
- (line 10391)
+ (line 10472)
* CCM Processor <2>: ncrcat netCDF Record Concatenator.
- (line 10469)
+ (line 10550)
* CCSM: Proposals for Institutional Funding.
- (line 11053)
-* CCSM <1>: CCSM Example. (line 12245)
-* CCSM conventions: CF Conventions. (line 5394)
+ (line 11135)
+* CCSM <1>: CCSM Example. (line 12327)
+* CCSM conventions: CF Conventions. (line 5432)
* CDL: ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* CEIL: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ceiling function: Intrinsic mathematical methods.
- (line 8043)
-* cell methods convention: CF Conventions. (line 5483)
+ (line 8081)
+* cell methods convention: CF Conventions. (line 5521)
* cell-based grids: Auxiliary Coordinates.
- (line 3645)
-* 'cell_methods': CF Conventions. (line 5483)
+ (line 3676)
+* 'cell_methods': CF Conventions. (line 5521)
* CF compliance checker: Checking CF-compliance.
- (line 2952)
+ (line 2969)
* CF conventions: Subsetting Coordinate Variables.
- (line 2660)
+ (line 2677)
* CF conventions <1>: Auxiliary Coordinates.
- (line 3628)
-* CF conventions <2>: UDUnits Support. (line 3836)
-* CF conventions <3>: CF Conventions. (line 5394)
+ (line 3659)
+* CF conventions <2>: UDUnits Support. (line 3867)
+* CF conventions <3>: CF Conventions. (line 5432)
* CF conventions <4>: ncbo netCDF Binary Operator.
- (line 8696)
+ (line 8735)
* cfchecker: Checking CF-compliance.
- (line 2952)
+ (line 2969)
* 'change_miss()': Missing values ncap2.
- (line 6332)
+ (line 6370)
* char(): Methods and functions.
- (line 6489)
+ (line 6527)
* characters, special: ncatted netCDF Attribute Editor.
- (line 8443)
+ (line 8481)
* Charlie Zender: Foreword. (line 208)
-* Charlie Zender <1>: Contributors. (line 10963)
-* chocolate: Contributing. (line 10942)
-* Chris Barker: Chunking. (line 4189)
+* Charlie Zender <1>: Contributors. (line 11045)
+* chocolate: Contributing. (line 11024)
+* Chris Barker: Chunking. (line 4220)
* chunking: netCDF2/3/4 and HDF4/5 Support.
(line 654)
-* chunking <1>: Chunking. (line 4096)
+* chunking <1>: Chunking. (line 4127)
* chunking <2>: ncks netCDF Kitchen Sink.
- (line 9619)
-* chunking map: Chunking. (line 4114)
-* chunking map <1>: Chunking. (line 4183)
-* chunking policy: Chunking. (line 4114)
-* chunksize: Chunking. (line 4114)
-* citation: Citation. (line 11034)
+ (line 9659)
+* chunking map: Chunking. (line 4145)
+* chunking map <1>: Chunking. (line 4214)
+* chunking policy: Chunking. (line 4145)
+* chunksize: Chunking. (line 4145)
+* citation: Citation. (line 11116)
* 'clang': Compatability. (line 407)
* 'CLASSIC' files: File Formats and Conversion.
- (line 2104)
-* client-server: OPeNDAP. (line 1924)
+ (line 2116)
+* client-server: OPeNDAP. (line 1936)
* Climate and Forecast Metadata Convention: UDUnits Support.
- (line 3836)
-* climate model: Philosophy. (line 896)
+ (line 3867)
+* climate model: Philosophy. (line 904)
* climate model <1>: Climate Model Paradigm.
- (line 922)
-* climate model <2>: Concatenation. (line 1121)
+ (line 930)
+* climate model <2>: Concatenation. (line 1129)
* climate model <3>: Specifying Input Files.
- (line 1736)
+ (line 1748)
* climate model <4>: ncecat netCDF Ensemble Concatenator.
- (line 9090)
+ (line 9129)
* climate model <5>: Normalization and Integration.
- (line 10862)
+ (line 10944)
* climate model <6>: Normalization and Integration.
- (line 10873)
-* clipping operators: Expressions. (line 5833)
+ (line 10955)
+* clipping operators: Expressions. (line 5871)
* CMIP: nces netCDF Ensemble Statistics.
- (line 8878)
+ (line 8917)
* CMIP <1>: ncecat netCDF Ensemble Concatenator.
- (line 9034)
-* CMIP5: CMIP5 Example. (line 11172)
-* 'cnk_all': Chunking. (line 4130)
-* 'cnk_dmn': Chunking. (line 4189)
-* 'cnk_g2d': Chunking. (line 4130)
-* 'cnk_g3d': Chunking. (line 4130)
-* 'cnk_lfp': Chunking. (line 4189)
-* CNK_MAP: Chunking. (line 4183)
-* 'cnk_prd': Chunking. (line 4189)
-* 'cnk_r1d': Chunking. (line 4130)
-* 'cnk_rd1': Chunking. (line 4189)
-* 'cnk_scl': Chunking. (line 4189)
-* 'cnk_xpl': Chunking. (line 4130)
-* 'cnk_xst': Chunking. (line 4130)
-* 'cnk_xst' <1>: Chunking. (line 4189)
+ (line 9073)
+* CMIP5: CMIP5 Example. (line 11254)
+* 'cnk_all': Chunking. (line 4161)
+* 'cnk_dmn': Chunking. (line 4220)
+* 'cnk_g2d': Chunking. (line 4161)
+* 'cnk_g3d': Chunking. (line 4161)
+* 'cnk_lfp': Chunking. (line 4220)
+* CNK_MAP: Chunking. (line 4214)
+* 'cnk_prd': Chunking. (line 4220)
+* 'cnk_r1d': Chunking. (line 4161)
+* 'cnk_rd1': Chunking. (line 4220)
+* 'cnk_scl': Chunking. (line 4220)
+* 'cnk_xpl': Chunking. (line 4161)
+* 'cnk_xst': Chunking. (line 4161)
+* 'cnk_xst' <1>: Chunking. (line 4220)
* Comeau: Compatability. (line 389)
* command line options: Command Line Options.
- (line 1597)
-* command line switches: Philosophy. (line 912)
-* command line switches <1>: Common features. (line 1492)
+ (line 1609)
+* command line switches: Philosophy. (line 920)
+* command line switches <1>: Common features. (line 1504)
* command line switches <2>: Specifying Output Files.
- (line 1778)
+ (line 1790)
* command line switches <3>: Operator Reference Manual.
- (line 5579)
+ (line 5617)
* comments: Syntax of ncap2 statements.
- (line 5666)
+ (line 5704)
* 'como': Compatability. (line 407)
* Compaq: Compatability. (line 389)
-* comparator: Mask condition. (line 10778)
+* comparator: Mask condition. (line 10860)
* compatability: Compatability. (line 389)
* compilers: Specifying Output Files.
- (line 1800)
+ (line 1812)
* complementary error function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* compliance checker: Checking CF-compliance.
- (line 2952)
-* compression: Deflation. (line 4311)
+ (line 2969)
+* compression: Deflation. (line 4349)
* compression <1>: ncks netCDF Kitchen Sink.
- (line 9619)
+ (line 9659)
* concatenation: Appending Variables.
- (line 1021)
+ (line 1029)
* concatenation <1>: ncecat netCDF Ensemble Concatenator.
- (line 8994)
+ (line 9033)
* concatenation <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10150)
+ (line 10231)
* concatenation <3>: ncrcat netCDF Record Concatenator.
- (line 10422)
-* conditional Operator: Expressions. (line 5823)
+ (line 10503)
+* conditional Operator: Expressions. (line 5861)
* 'config.guess': Help Requests and Bug Reports.
- (line 877)
+ (line 885)
* 'configure.eg': Help Requests and Bug Reports.
- (line 877)
-* constraint expressions: OPeNDAP. (line 2050)
+ (line 885)
+* constraint expressions: OPeNDAP. (line 2062)
* contents: How to Use This guide.
(line 355)
-* contributing: Contributing. (line 10931)
-* contributors: Contributors. (line 10962)
-* coordinate limits: Hyperslabs. (line 3142)
-* coordinate variable: UDUnits Support. (line 3772)
-* coordinate variable <1>: Operation Types. (line 4697)
-* coordinate variable <2>: CF Conventions. (line 5472)
+* contributing: Contributing. (line 11013)
+* contributors: Contributors. (line 11044)
+* coordinate limits: Hyperslabs. (line 3159)
+* coordinate variable: UDUnits Support. (line 3803)
+* coordinate variable <1>: Operation Types. (line 4735)
+* coordinate variable <2>: CF Conventions. (line 5510)
* coordinate variable <3>: ncbo netCDF Binary Operator.
- (line 8693)
+ (line 8732)
* coordinate variable <4>: ncwa netCDF Weighted Averager.
- (line 10744)
+ (line 10826)
* coordinate variables: ncrename netCDF Renamer.
- (line 10612)
+ (line 10694)
* 'coordinates': Auxiliary Coordinates.
- (line 3628)
-* 'coordinates' <1>: CF Conventions. (line 5472)
+ (line 3659)
+* 'coordinates' <1>: CF Conventions. (line 5510)
* coordinates: Add Coordinates to MODIS Data.
- (line 12144)
-* coordinates convention: CF Conventions. (line 5472)
+ (line 12226)
+* coordinates convention: CF Conventions. (line 5510)
* coordinates, modifying: Permute MODIS Coordinates.
- (line 12192)
+ (line 12274)
* core dump: Help Requests and Bug Reports.
- (line 814)
-* 'core dump': Large Datasets. (line 1318)
+ (line 822)
+* 'core dump': Large Datasets. (line 1321)
* 'core dump' <1>: Filters for 'ncks'.
- (line 9931)
+ (line 10012)
* COS: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* COSH: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* cosine function: Intrinsic mathematical methods.
- (line 8043)
-* covariance: Examples ncap2. (line 7970)
-* 'cp': Subsetting Files. (line 2443)
+ (line 8081)
+* covariance: Examples ncap2. (line 8008)
+* 'cp': Subsetting Files. (line 2460)
* Cray: Compatability. (line 389)
-* Cray <1>: Large Datasets. (line 1313)
-* 'csh': Subsetting Files. (line 2619)
+* Cray <1>: Large Datasets. (line 1321)
+* 'csh': Subsetting Files. (line 2636)
* Csh shell: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'cxx': Compatability. (line 407)
* Cygwin: Windows Operating System.
(line 503)
* Cygwin <1>: Symbolic Links. (line 539)
-* C_FORMAT: Performance. (line 1475)
+* C_FORMAT: Performance. (line 1487)
* daily data: Daily data in one file.
- (line 11080)
+ (line 11162)
* daily data <1>: One time point one file.
- (line 11146)
+ (line 11228)
* daily data <2>: Multiple files with multiple time points.
- (line 11164)
-* Daniel Baumann: Contributors. (line 11008)
-* Daniel Wang: Contributors. (line 10980)
-* DAP: OPeNDAP. (line 1924)
-* data access protocol: OPeNDAP. (line 1924)
+ (line 11246)
+* Daniel Baumann: Contributors. (line 11090)
+* Daniel Wang: Contributors. (line 11062)
+* DAP: OPeNDAP. (line 1936)
+* data access protocol: OPeNDAP. (line 1936)
* data safety: Temporary Output Files.
- (line 933)
+ (line 941)
* data safety <1>: ncrename netCDF Renamer.
- (line 10535)
-* data, missing: Missing Values. (line 3983)
+ (line 10617)
+* data, missing: Missing Values. (line 4014)
* data, missing <1>: ncatted netCDF Attribute Editor.
- (line 8299)
-* 'date': CF Conventions. (line 5394)
-* 'datesec': CF Conventions. (line 5394)
+ (line 8337)
+* 'date': CF Conventions. (line 5432)
+* 'datesec': CF Conventions. (line 5432)
* DBG_LVL: Help Requests and Bug Reports.
- (line 869)
-* DBG_LVL <1>: Large Datasets. (line 1328)
-* DBG_LVL <2>: OpenMP Threading. (line 1581)
+ (line 877)
+* DBG_LVL <1>: Large Datasets. (line 1340)
+* DBG_LVL <2>: OpenMP Threading. (line 1593)
* DDRA: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* Debian: netCDF2/3/4 and HDF4/5 Support.
- (line 751)
+ (line 759)
* DEBUG-LEVEL: Help Requests and Bug Reports.
- (line 869)
-* DEBUG-LEVEL <1>: Large Datasets. (line 1328)
+ (line 877)
+* DEBUG-LEVEL <1>: Large Datasets. (line 1340)
* debugging: Help Requests and Bug Reports.
- (line 854)
-* debugging <1>: Large Datasets. (line 1328)
-* debugging <2>: OpenMP Threading. (line 1581)
+ (line 862)
+* debugging <1>: Large Datasets. (line 1340)
+* debugging <2>: OpenMP Threading. (line 1593)
* DEC: Compatability. (line 389)
-* 'defdim()': Dimensions. (line 5854)
-* defining dimensions in 'ncap2': Dimensions. (line 5854)
+* 'defdim()': Dimensions. (line 5892)
+* defining dimensions in 'ncap2': Dimensions. (line 5892)
* deflation: netCDF2/3/4 and HDF4/5 Support.
(line 650)
-* deflation <1>: Deflation. (line 4311)
+* deflation <1>: Deflation. (line 4349)
* deflation <2>: ncks netCDF Kitchen Sink.
- (line 9619)
-* degenerate dimension: Chunking. (line 4183)
-* degenerate dimension <1>: Operation Types. (line 4742)
-* degenerate dimension <2>: Examples ncap2. (line 8018)
+ (line 9659)
+* degenerate dimension: Chunking. (line 4214)
+* degenerate dimension <1>: Operation Types. (line 4780)
+* degenerate dimension <2>: Examples ncap2. (line 8056)
* degenerate dimension <3>: ncbo netCDF Binary Operator.
- (line 8687)
+ (line 8726)
* degenerate dimension <4>: ncecat netCDF Ensemble Concatenator.
- (line 9143)
+ (line 9182)
* degenerate dimension <5>: ncflint netCDF File Interpolator.
- (line 9205)
+ (line 9244)
* degenerate dimension <6>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10312)
+ (line 10393)
* degenerate dimension <7>: ncra netCDF Record Averager.
- (line 10364)
+ (line 10445)
* degenerate dimension <8>: ncwa netCDF Weighted Averager.
- (line 10696)
+ (line 10778)
* degenerate dimension <9>: Normalization and Integration.
- (line 10853)
-* delete (groups): Flattening Groups. (line 2712)
+ (line 10935)
+* delete (groups): Flattening Groups. (line 2729)
* 'delete_miss()': Missing values ncap2.
- (line 6342)
-* demotion: Type Conversion. (line 4826)
-* Dennis Heimbigner: Contributors. (line 10954)
+ (line 6380)
+* demotion: Type Conversion. (line 4864)
+* Dennis Heimbigner: Contributors. (line 11036)
* derived fields: ncap2 netCDF Arithmetic Processor.
- (line 5614)
+ (line 5652)
* derived fields <1>: ncap2 netCDF Arithmetic Processor.
- (line 5626)
-* digest: MD5 digests. (line 4348)
+ (line 5664)
+* digest: MD5 digests. (line 4386)
* Digital: Compatability. (line 389)
-* dimension limits: Hyperslabs. (line 3142)
+* dimension limits: Hyperslabs. (line 3159)
* dimension names: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* dimension order: Annual Average over Regions.
- (line 11551)
-* dimensions, growing: Examples ncap2. (line 7940)
+ (line 11633)
+* dimensions, growing: Examples ncap2. (line 7978)
* disaggregate: Dismembering Files.
- (line 2845)
+ (line 2862)
* disjoint files: Appending Variables.
- (line 1043)
-* diskless files: RAM disks. (line 4449)
+ (line 1051)
+* diskless files: RAM disks. (line 4487)
* dismember: Dismembering Files.
- (line 2845)
+ (line 2862)
* Distributed Data Reduction & Analysis: Proposals for Institutional Funding.
- (line 11053)
-* Distributed Oceanographic Data System: OPeNDAP. (line 1924)
+ (line 11135)
+* Distributed Oceanographic Data System: OPeNDAP. (line 1936)
* 'divide': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* dividing data: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* division: Intrinsic mathematical methods.
- (line 8040)
-* 'dmn': Chunking. (line 4189)
+ (line 8078)
+* 'dmn': Chunking. (line 4220)
* documentation: Availability. (line 315)
-* DODS: OPeNDAP. (line 1924)
+* DODS: OPeNDAP. (line 1936)
* DODS <1>: Retaining Retrieved Files.
- (line 2092)
-* 'DODS_ROOT': OPeNDAP. (line 1924)
+ (line 2104)
+* 'DODS_ROOT': OPeNDAP. (line 1936)
* dot product: Normalization and Integration.
- (line 10799)
+ (line 10881)
* dot product <1>: Normalization and Integration.
- (line 10818)
+ (line 10900)
* double(): Methods and functions.
- (line 6498)
+ (line 6536)
* double-precision: Intrinsic mathematical methods.
- (line 8146)
-* 'dsort': Sort methods. (line 6714)
-* duration: Subcycle. (line 3358)
+ (line 8184)
+* 'dsort': Sort methods. (line 6752)
+* duration: Subcycle. (line 3389)
* dynamic linking: Libraries. (line 565)
-* Ed Hartnett: Contributors. (line 10954)
-* Ed Hill: Contributors. (line 11010)
-* eddy covariance: Examples ncap2. (line 7976)
+* Ed Hartnett: Contributors. (line 11036)
+* Ed Hill: Contributors. (line 11092)
+* eddy covariance: Examples ncap2. (line 8014)
* editing attributes: ncatted netCDF Attribute Editor.
- (line 8276)
-* 'egrep': Subsetting Files. (line 2544)
+ (line 8314)
+* 'egrep': Subsetting Files. (line 2561)
* Elliptic integrals: GSL special functions.
- (line 7221)
-* ensemble: Concatenation. (line 1121)
+ (line 7259)
+* ensemble: Concatenation. (line 1129)
* ensemble <1>: nces netCDF Ensemble Statistics.
- (line 8855)
+ (line 8894)
* ensemble average: nces netCDF Ensemble Statistics.
- (line 8839)
+ (line 8878)
* ensemble concatenation: ncecat netCDF Ensemble Concatenator.
- (line 8994)
+ (line 9033)
* ERF: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* ERFC: Intrinsic mathematical methods.
- (line 8043)
-* Eric Blake: Contributors. (line 11018)
+ (line 8081)
+* Eric Blake: Contributors. (line 11100)
* error function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* error tolerance: Temporary Output Files.
- (line 933)
-* Etienne Tourigny: Contributors. (line 11024)
-* exclusion: Subsetting Files. (line 2386)
+ (line 941)
+* Etienne Tourigny: Contributors. (line 11106)
+* exclusion: Subsetting Files. (line 2403)
* exclusion <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* exclusion <2>: Filters for 'ncks'.
- (line 9934)
+ (line 10015)
* execution time: Libraries. (line 566)
* execution time <1>: Temporary Output Files.
- (line 948)
-* execution time <2>: Performance. (line 1467)
+ (line 956)
+* execution time <2>: Performance. (line 1479)
* execution time <3>: Metadata Optimization.
- (line 1512)
-* execution time <4>: Missing Values. (line 4042)
+ (line 1524)
+* execution time <4>: Missing Values. (line 4073)
* execution time <5>: ncrename netCDF Renamer.
- (line 10550)
+ (line 10632)
* EXP: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* exponent: Promoting Single-precision to Double.
- (line 5191)
+ (line 5229)
* exponentiation: Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* exponentiation function: Intrinsic mathematical methods.
- (line 8043)
-* expressions: Expressions. (line 5676)
+ (line 8081)
+* expressions: Expressions. (line 5714)
* extended file format: Determining File Format.
- (line 2199)
+ (line 2211)
* extended regular expressions: Large Numbers of Files.
- (line 1234)
-* extended regular expressions <1>: Subsetting Files. (line 2544)
-* extended regular expressions <2>: Examples ncap2. (line 7995)
+ (line 1242)
+* extended regular expressions <1>: Subsetting Files. (line 2561)
+* extended regular expressions <2>: Examples ncap2. (line 8033)
* extended regular expressions <3>: ncatted netCDF Attribute Editor.
- (line 8319)
+ (line 8357)
* extended regular expressions <4>: ncatted netCDF Attribute Editor.
- (line 8526)
-* extraction: Subsetting Files. (line 2386)
+ (line 8564)
+* extraction: Subsetting Files. (line 2403)
* extraction <1>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* extraction <2>: Filters for 'ncks'.
- (line 9934)
+ (line 10015)
* 'f90': Windows Operating System.
(line 503)
* features, requesting: Help Requests and Bug Reports.
- (line 814)
-* File buffers: Buffer sizes. (line 4418)
-* file combination: Combine Files. (line 11216)
+ (line 822)
+* File buffers: Buffer sizes. (line 4456)
+* file combination: Combine Files. (line 11298)
* file deletion: Retaining Retrieved Files.
- (line 2064)
+ (line 2076)
* file multiplication: ncflint netCDF File Interpolator.
- (line 9281)
+ (line 9320)
* file removal: Retaining Retrieved Files.
- (line 2064)
+ (line 2076)
* file retention: Retaining Retrieved Files.
- (line 2064)
+ (line 2076)
* files, multiple: Specifying Input Files.
- (line 1707)
+ (line 1719)
* files, numerous input: Large Numbers of Files.
- (line 1198)
-* Filipe Fernandes: Contributors. (line 11014)
+ (line 1206)
+* Filipe Fernandes: Contributors. (line 11096)
* filters: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* findgen-equivalent: Arrays and hyperslabs.
- (line 5952)
+ (line 5990)
* fix record dimension: ncecat netCDF Ensemble Concatenator.
- (line 9038)
+ (line 9077)
* fix record dimension <1>: ncecat netCDF Ensemble Concatenator.
- (line 9138)
+ (line 9177)
* fix record dimension <2>: ncks netCDF Kitchen Sink.
- (line 9519)
+ (line 9559)
* fixed dimension: ncecat netCDF Ensemble Concatenator.
- (line 9038)
+ (line 9077)
* fixed dimension <1>: ncecat netCDF Ensemble Concatenator.
- (line 9138)
+ (line 9177)
* fixed dimension <2>: ncks netCDF Kitchen Sink.
- (line 9442)
+ (line 9480)
* fixed dimension <3>: ncks netCDF Kitchen Sink.
- (line 9519)
-* flags: Examples ncap2. (line 7954)
-* flatten (groups): Flattening Groups. (line 2712)
-* flattening: Autoconversion. (line 2328)
+ (line 9559)
+* flags: Examples ncap2. (line 7992)
+* flatten (groups): Flattening Groups. (line 2729)
+* flattening: Autoconversion. (line 2345)
* 'float': Intrinsic mathematical methods.
- (line 8146)
+ (line 8184)
* float(): Methods and functions.
- (line 6495)
+ (line 6533)
* FLOOR: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* floor function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* 'flt_byt': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'flt_sht': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
-* for(): Loops. (line 6659)
-* force append: Batch Mode. (line 5315)
-* force overwrite: Batch Mode. (line 5315)
+ (line 10163)
+* for(): Loops. (line 6697)
+* force append: Batch Mode. (line 5353)
+* force overwrite: Batch Mode. (line 5353)
* foreword: Foreword. (line 208)
* Fortran: Promoting Single-precision to Double.
- (line 4974)
+ (line 5012)
* Fortran <1>: ncra netCDF Record Averager.
- (line 10399)
+ (line 10480)
* Fortran <2>: ncrcat netCDF Record Concatenator.
- (line 10476)
+ (line 10557)
* Fortran index convention: C and Fortran Index Conventions.
- (line 3105)
-* FORTRAN_FORMAT: Performance. (line 1475)
-* Francesco Lovergine: Contributors. (line 11008)
+ (line 3122)
+* FORTRAN_FORMAT: Performance. (line 1487)
+* Francesco Lovergine: Contributors. (line 11090)
* 'ftp': Windows Operating System.
(line 509)
-* 'ftp' <1>: Remote storage. (line 1810)
+* 'ftp' <1>: Remote storage. (line 1822)
* FTP: Retaining Retrieved Files.
- (line 2081)
+ (line 2093)
* funding: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* 'g++': Compatability. (line 407)
* 'g++' <1>: Windows Operating System.
(line 523)
-* 'g2d': Chunking. (line 4130)
-* 'g3d': Chunking. (line 4130)
+* 'g2d': Chunking. (line 4161)
+* 'g3d': Chunking. (line 4161)
* GAG: ncecat netCDF Ensemble Concatenator.
- (line 9046)
+ (line 9085)
* GAMMA: Compatability. (line 458)
* GAMMA <1>: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* gamma function: GSL special functions.
- (line 7187)
+ (line 7225)
* gamma function <1>: Intrinsic mathematical methods.
- (line 8043)
-* Gary Strand: Contributors. (line 11006)
+ (line 8081)
+* Gary Strand: Contributors. (line 11088)
* Gaussian weights: Normalization and Integration.
- (line 10862)
-* Gavin Burris: Contributors. (line 11020)
-* Gayathri Venkitachalam: Contributors. (line 11002)
+ (line 10944)
+* Gavin Burris: Contributors. (line 11102)
+* Gayathri Venkitachalam: Contributors. (line 11084)
* 'gcc': Compatability. (line 407)
* 'gcc' <1>: Windows Operating System.
(line 523)
* GCM: Climate Model Paradigm.
- (line 922)
+ (line 930)
* GCM <1>: Promoting Single-precision to Double.
- (line 5113)
-* geographical weight: Monthly Cycle. (line 11842)
-* George Shapavalov: Contributors. (line 11012)
-* George Shapovalov: Contributors. (line 10990)
-* George White: Contributors. (line 11006)
+ (line 5151)
+* geographical weight: Monthly Cycle. (line 11924)
+* George Shapavalov: Contributors. (line 11094)
+* George Shapovalov: Contributors. (line 11072)
+* George White: Contributors. (line 11088)
* 'gethostname': Windows Operating System.
(line 507)
* 'getopt': Command Line Options.
- (line 1611)
+ (line 1623)
* 'getopt.h': Command Line Options.
- (line 1611)
+ (line 1623)
* 'getopt_long': Command Line Options.
- (line 1611)
+ (line 1623)
* 'getuid': Windows Operating System.
(line 507)
* 'get_miss()': Missing values ncap2.
- (line 6337)
-* Glenn Davis: Contributors. (line 10954)
+ (line 6375)
+* Glenn Davis: Contributors. (line 11036)
* 'global' attribute: ncatted netCDF Attribute Editor.
- (line 8508)
+ (line 8546)
* 'global' attribute <1>: ncrename netCDF Renamer.
- (line 10559)
+ (line 10641)
* global attributes: Large Numbers of Files.
- (line 1226)
-* global attributes <1>: History Attribute. (line 5335)
+ (line 1234)
+* global attributes <1>: History Attribute. (line 5373)
* global attributes <2>: File List Attributes.
- (line 5363)
-* global attributes <3>: ARM Conventions. (line 5550)
+ (line 5401)
+* global attributes <3>: ARM Conventions. (line 5588)
* global attributes <4>: ncatted netCDF Attribute Editor.
- (line 8341)
+ (line 8379)
* global attributes <5>: ncatted netCDF Attribute Editor.
- (line 8508)
+ (line 8546)
* global attributes <6>: ncks netCDF Kitchen Sink.
- (line 9342)
+ (line 9381)
* global attributes <7>: ncks netCDF Kitchen Sink.
- (line 9376)
+ (line 9415)
* global attributes <8>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* global attributes <9>: ncrename netCDF Renamer.
- (line 10559)
+ (line 10641)
* global attributes <10>: ncrename netCDF Renamer.
- (line 10639)
+ (line 10721)
* globbing: Large Numbers of Files.
- (line 1234)
+ (line 1242)
* globbing <1>: Specifying Input Files.
- (line 1670)
-* globbing <2>: Subsetting Files. (line 2619)
-* globbing <3>: Examples ncap2. (line 7995)
+ (line 1682)
+* globbing <2>: Subsetting Files. (line 2636)
+* globbing <3>: Examples ncap2. (line 8033)
* globbing <4>: ncbo netCDF Binary Operator.
- (line 8619)
+ (line 8658)
* globbing <5>: ncra netCDF Record Averager.
- (line 10391)
+ (line 10472)
* globbing <6>: ncrcat netCDF Record Concatenator.
- (line 10469)
+ (line 10550)
* GNU: Command Line Options.
- (line 1598)
-* GNU <1>: Subsetting Files. (line 2544)
+ (line 1610)
+* GNU <1>: Subsetting Files. (line 2561)
* 'gnu-win32': Windows Operating System.
(line 503)
-* GNU/Linux: Large Datasets. (line 1318)
+* GNU/Linux: Large Datasets. (line 1321)
* 'GNUmakefile': Windows Operating System.
(line 503)
-* God: UDUnits Support. (line 3882)
-* GODAD: CMIP5 Example. (line 11172)
-* 'grep -E': Subsetting Files. (line 2544)
+* God: UDUnits Support. (line 3913)
+* GODAD: CMIP5 Example. (line 11254)
+* 'grep -E': Subsetting Files. (line 2561)
* group aggregation: ncecat netCDF Ensemble Concatenator.
- (line 9046)
-* group aggregation <1>: Combine Files. (line 11322)
+ (line 9085)
+* group aggregation <1>: Combine Files. (line 11404)
* group names: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* group path: Group Path Editing.
- (line 2690)
+ (line 2707)
* group, aggregation: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* group, anomaly: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* group, dimension permutation: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* group, spatial averaging: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* group, standard deviation: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* group, temporal averaging: Annual Average over Regions.
- (line 11776)
+ (line 11858)
* groups: netCDF2/3/4 and HDF4/5 Support.
(line 659)
* groups <1>: ncatted netCDF Attribute Editor.
- (line 8532)
+ (line 8571)
* groups, averaging: Global Distribution of Long-term Average.
- (line 11529)
-* groups, creating: Combine Files. (line 11322)
-* groups, moving: Moving Groups. (line 2802)
-* groups, renaming: Moving Groups. (line 2802)
-* growing dimensions: Examples ncap2. (line 7940)
+ (line 11611)
+* groups, creating: Combine Files. (line 11404)
+* groups, moving: Moving Groups. (line 2819)
+* groups, renaming: Moving Groups. (line 2819)
+* growing dimensions: Examples ncap2. (line 7978)
* GSL: Compatability. (line 451)
* GSL <1>: GSL special functions.
- (line 7172)
-* GSL <2>: GSL interpolation. (line 7564)
+ (line 7210)
+* GSL <2>: GSL interpolation. (line 7602)
* GSL_SF_BESSEL_JN: GSL special functions.
- (line 7201)
+ (line 7239)
* GSL_SF_GAMMA: GSL special functions.
- (line 7187)
+ (line 7225)
* gsl_sf_legendre_Pl: GSL special functions.
- (line 7256)
-* 'gw': CF Conventions. (line 5394)
+ (line 7294)
+* 'gw': CF Conventions. (line 5432)
* 'gw' <1>: Normalization and Integration.
- (line 10862)
+ (line 10944)
* H4CF: netCDF2/3/4 and HDF4/5 Support.
- (line 742)
+ (line 750)
* 'h4tonccf': netCDF2/3/4 and HDF4/5 Support.
- (line 742)
-* Harry Mangalam: Contributors. (line 10983)
-* hash: MD5 digests. (line 4348)
+ (line 750)
+* Harry Mangalam: Contributors. (line 11065)
+* hash: MD5 digests. (line 4386)
* HDF: netCDF2/3/4 and HDF4/5 Support.
(line 602)
* HDF <1>: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* HDF <2>: ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* HDF <3>: Proposals for Institutional Funding.
- (line 11060)
-* HDF unpacking: Packed data. (line 4605)
+ (line 11142)
+* HDF unpacking: Packed data. (line 4643)
* HDF4: netCDF2/3/4 and HDF4/5 Support.
(line 679)
* HDF4 <1>: ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
+* 'HDF4_UNKNOWN': netCDF2/3/4 and HDF4/5 Support.
+ (line 698)
* HDF5: netCDF2/3/4 and HDF4/5 Support.
(line 616)
* HDF5 <1>: netCDF2/3/4 and HDF4/5 Support.
(line 672)
* 'hdf_name': netCDF2/3/4 and HDF4/5 Support.
- (line 733)
+ (line 741)
* 'hdp': ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* help: Help Requests and Bug Reports.
- (line 814)
-* Henry Butowsky: Contributors. (line 10969)
+ (line 822)
+* Henry Butowsky: Contributors. (line 11051)
* 'hgh_byt': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'hgh_sht': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* hidden attributes: ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
+* hidden features: ncks netCDF Kitchen Sink.
+ (line 9717)
* Hierarchical Data Format: netCDF2/3/4 and HDF4/5 Support.
(line 602)
* 'history': Large Numbers of Files.
- (line 1278)
-* 'history' <1>: Remote storage. (line 1810)
-* 'history' <2>: History Attribute. (line 5335)
-* 'history' <3>: ARM Conventions. (line 5550)
+ (line 1286)
+* 'history' <1>: Remote storage. (line 1822)
+* 'history' <2>: History Attribute. (line 5373)
+* 'history' <3>: ARM Conventions. (line 5588)
* 'history' <4>: ncatted netCDF Attribute Editor.
- (line 8294)
+ (line 8332)
* 'history' <5>: Filters for 'ncks'.
- (line 9852)
+ (line 9916)
* 'hncgen': ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* HP: Compatability. (line 389)
-* HPSS: Remote storage. (line 1850)
-* 'hsi': Remote storage. (line 1850)
+* HPSS: Remote storage. (line 1862)
+* 'hsi': Remote storage. (line 1862)
* HTML: Availability. (line 315)
-* HTTP protocol: OPeNDAP. (line 1924)
-* 'hyai': CF Conventions. (line 5394)
-* 'hyam': CF Conventions. (line 5394)
-* 'hybi': CF Conventions. (line 5394)
-* 'hybm': CF Conventions. (line 5394)
-* hybrid coordinate system: Left hand casting. (line 5906)
+* HTTP protocol: OPeNDAP. (line 1936)
+* 'hyai': CF Conventions. (line 5432)
+* 'hyam': CF Conventions. (line 5432)
+* 'hybi': CF Conventions. (line 5432)
+* 'hybm': CF Conventions. (line 5432)
+* hybrid coordinate system: Left hand casting. (line 5944)
* hyperbolic arccosine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* hyperbolic arcsine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* hyperbolic arctangent function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* hyperbolic cosine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* hyperbolic sine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* hyperbolic tangent: Intrinsic mathematical methods.
- (line 8043)
-* hyperslab: Hyperslabs. (line 3142)
-* hyperslab <1>: Chunking. (line 4119)
+ (line 8081)
+* hyperslab: Hyperslabs. (line 3159)
+* hyperslab <1>: Chunking. (line 4150)
* hyperslab <2>: nces netCDF Ensemble Statistics.
- (line 8873)
+ (line 8912)
* hyperslab <3>: ncecat netCDF Ensemble Concatenator.
- (line 9032)
+ (line 9071)
* hyperslab <4>: ncra netCDF Record Averager.
- (line 10375)
+ (line 10456)
* hyperslab <5>: ncrcat netCDF Record Concatenator.
- (line 10445)
+ (line 10526)
* hyperslab <6>: ncwa netCDF Weighted Averager.
- (line 10708)
+ (line 10790)
* hyperslabs: Arrays and hyperslabs.
- (line 5979)
-* I/O: OPeNDAP. (line 1996)
+ (line 6017)
+* I/O: OPeNDAP. (line 2008)
* I/O <1>: C and Fortran Index Conventions.
- (line 3109)
-* I/O <2>: Multislabs. (line 3484)
-* I/O block size: Buffer sizes. (line 4418)
+ (line 3126)
+* I/O <2>: Multislabs. (line 3515)
+* I/O block size: Buffer sizes. (line 4456)
* I18N: Internationalization.
- (line 1501)
+ (line 1513)
* IBM: Compatability. (line 389)
* 'icc': Compatability. (line 407)
-* ID Quoting: ID Quoting. (line 8211)
-* IDL: Philosophy. (line 905)
+* ID Quoting: ID Quoting. (line 8249)
+* IDL: Philosophy. (line 913)
* IEEE: Automatic type conversion.
- (line 4932)
+ (line 4970)
* IEEE NaN: ncatted netCDF Attribute Editor.
- (line 8489)
-* if(): if statement. (line 6198)
-* 'ilimit': Large Datasets. (line 1316)
+ (line 8527)
+* if(): if statement. (line 6236)
+* 'ilimit': Large Datasets. (line 1331)
* illegal names: netCDF2/3/4 and HDF4/5 Support.
- (line 733)
+ (line 741)
* implicit conversion: Promoting Single-precision to Double.
- (line 4962)
-* 'include': Include files. (line 6699)
+ (line 5000)
+* 'include': Include files. (line 6737)
* including files: Syntax of ncap2 statements.
- (line 5669)
+ (line 5707)
* index convention: C and Fortran Index Conventions.
- (line 3105)
+ (line 3122)
* indgen-equivalent: Arrays and hyperslabs.
- (line 5952)
+ (line 5990)
* inexact conversion: Intrinsic mathematical methods.
- (line 8110)
+ (line 8148)
* Info: Availability. (line 315)
* input files: Large Numbers of Files.
- (line 1252)
+ (line 1260)
* input files <1>: Specifying Input Files.
- (line 1670)
+ (line 1682)
* input files <2>: Specifying Output Files.
- (line 1778)
+ (line 1790)
* input files <3>: Specifying Output Files.
- (line 1795)
+ (line 1807)
* INPUT-PATH: Specifying Input Files.
- (line 1670)
-* INPUT-PATH <1>: Remote storage. (line 1873)
+ (line 1682)
+* INPUT-PATH <1>: Remote storage. (line 1885)
* installation: Compatability. (line 389)
* installation <1>: Help Requests and Bug Reports.
- (line 877)
+ (line 885)
* int(): Methods and functions.
- (line 6493)
+ (line 6531)
* int64(): Methods and functions.
- (line 6508)
+ (line 6546)
* integration: Normalization and Integration.
- (line 10799)
-* integrity: MD5 digests. (line 4348)
+ (line 10881)
+* integrity: MD5 digests. (line 4386)
* Intel: Compatability. (line 389)
* Internationalization: Internationalization.
- (line 1501)
-* interoperability: Packed data. (line 4605)
+ (line 1513)
+* interoperability: Packed data. (line 4643)
* interpolation: ncflint netCDF File Interpolator.
- (line 9154)
-* interpolation <1>: Regrid MODIS Data. (line 12006)
-* intersection: Subsetting Files. (line 2386)
-* intersection <1>: Subsetting Files. (line 2492)
+ (line 9193)
+* interpolation <1>: Regrid MODIS Data. (line 12088)
+* intersection: Subsetting Files. (line 2403)
+* intersection <1>: Subsetting Files. (line 2509)
* introduction: Introduction. (line 304)
* introduction <1>: How to Use This guide.
(line 355)
-* 'invert_map': Sort methods. (line 6714)
+* 'invert_map': Sort methods. (line 6752)
* IPCC: nces netCDF Ensemble Statistics.
- (line 8878)
+ (line 8917)
* IPCC <1>: Proposals for Institutional Funding.
- (line 11053)
-* irregular grids: Irregular grids. (line 6959)
+ (line 11135)
+* irregular grids: Irregular grids. (line 6997)
* ISO: Compatability. (line 412)
-* James Gallagher: Contributors. (line 10954)
-* Jim Edwards: Contributors. (line 10996)
-* Joe Hamman: Contributors. (line 10978)
-* John Caron: Contributors. (line 10954)
-* Juliana Rew: Contributors. (line 10998)
-* Karen Schuchardt: Contributors. (line 11000)
-* Keith Lindsay: Contributors. (line 11006)
+* James Gallagher: Contributors. (line 11036)
+* Jim Edwards: Contributors. (line 11078)
+* Joe Hamman: Contributors. (line 11060)
+* John Caron: Contributors. (line 11036)
+* Juliana Rew: Contributors. (line 11080)
+* Karen Schuchardt: Contributors. (line 11082)
+* Keith Lindsay: Contributors. (line 11088)
* kitchen sink: ncks netCDF Kitchen Sink.
- (line 9307)
-* Kyle Wilcox: Contributors. (line 11020)
+ (line 9346)
+* Kyle Wilcox: Contributors. (line 11102)
* L10N: Internationalization.
- (line 1502)
-* large datasets: Large Datasets. (line 1295)
-* large datasets <1>: OpenMP Threading. (line 1559)
-* Large File Support: Large Datasets. (line 1295)
+ (line 1514)
+* large datasets: Large Datasets. (line 1303)
+* large datasets <1>: OpenMP Threading. (line 1571)
+* Large File Support: Large Datasets. (line 1303)
* Large File Support <1>: Large File Support.
- (line 2352)
-* 'lat_bnds': CF Conventions. (line 5394)
+ (line 2369)
+* 'lat_bnds': CF Conventions. (line 5432)
* 'LD_LIBRARY_PATH': Libraries. (line 565)
-* left hand casting: Memory for ncap2. (line 1428)
-* left hand casting <1>: Left hand casting. (line 5906)
+* left hand casting: Memory for ncap2. (line 1440)
+* left hand casting <1>: Left hand casting. (line 5944)
* Legendre polynomial: GSL special functions.
- (line 7256)
-* Lempel-Ziv deflation: Deflation. (line 4311)
-* Len Makin: Contributors. (line 10994)
+ (line 7294)
+* Lempel-Ziv deflation: Deflation. (line 4349)
+* Len Makin: Contributors. (line 11076)
* lexer: ncap2 netCDF Arithmetic Processor.
- (line 5589)
-* 'lfp': Chunking. (line 4189)
-* LFS: Large Datasets. (line 1295)
+ (line 5627)
+* 'lfp': Chunking. (line 4220)
+* LFS: Large Datasets. (line 1303)
* LFS <1>: Large File Support.
- (line 2352)
-* LHS: Left hand casting. (line 5906)
+ (line 2369)
+* LHS: Left hand casting. (line 5944)
* 'libnco': Compatability. (line 412)
* libraries: Libraries. (line 565)
* linkers: Specifying Output Files.
- (line 1800)
+ (line 1812)
* Linux: Intrinsic mathematical methods.
- (line 8148)
+ (line 8186)
* LLVM: Compatability. (line 410)
* LN: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* 'ln -s': ncbo netCDF Binary Operator.
- (line 8633)
+ (line 8672)
* 'ln -s' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10070)
+ (line 10151)
* LOG: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* LOG10: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* logarithm, base 10: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* logarithm, natural: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* 'long double': Intrinsic mathematical methods.
- (line 8146)
+ (line 8184)
* long options: Command Line Options.
- (line 1610)
+ (line 1622)
* long options <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10244)
+ (line 10325)
* long-term average: Global Distribution of Long-term Average.
- (line 11448)
+ (line 11530)
* longitude: Wrapped Coordinates.
- (line 3578)
-* 'lon_bnds': CF Conventions. (line 5394)
-* Lori Sentman: Contributors. (line 11006)
+ (line 3609)
+* 'lon_bnds': CF Conventions. (line 5432)
+* Lori Sentman: Contributors. (line 11088)
* 'lrint()'.: Automatic type conversion.
- (line 4932)
+ (line 4970)
* 'lround()'.: Automatic type conversion.
- (line 4924)
-* Luk Claes: Contributors. (line 11008)
+ (line 4962)
+* Luk Claes: Contributors. (line 11090)
* Macintosh: Compatability. (line 389)
* 'Makefile': Compatability. (line 417)
* 'Makefile' <1>: Windows Operating System.
(line 503)
-* 'Makefile' <2>: OPeNDAP. (line 1936)
-* malloc(): Memory for ncap2. (line 1437)
+* 'Makefile' <2>: OPeNDAP. (line 1948)
+* malloc(): Memory for ncap2. (line 1449)
* mantissa: Promoting Single-precision to Double.
- (line 5191)
-* manual type conversion: Type Conversion. (line 4826)
-* 'map_dmn': Chunking. (line 4189)
-* 'map_lfp': Chunking. (line 4189)
-* 'map_prd': Chunking. (line 4189)
-* 'map_rd1': Chunking. (line 4189)
-* 'map_scl': Chunking. (line 4189)
-* 'map_xst': Chunking. (line 4189)
-* Mark Flanner: Contributors. (line 11006)
-* Markus Liebig: Contributors. (line 11006)
-* Martin Dix: Contributors. (line 11006)
-* Martin Otte: Contributors. (line 11024)
-* Martin Schmidt: Contributors. (line 11006)
+ (line 5229)
+* manual type conversion: Type Conversion. (line 4864)
+* 'map_dmn': Chunking. (line 4220)
+* 'map_lfp': Chunking. (line 4220)
+* 'map_prd': Chunking. (line 4220)
+* 'map_rd1': Chunking. (line 4220)
+* 'map_scl': Chunking. (line 4220)
+* 'map_xst': Chunking. (line 4220)
+* Mark Flanner: Contributors. (line 11088)
+* Markus Liebig: Contributors. (line 11088)
+* Martin Dix: Contributors. (line 11088)
+* Martin Otte: Contributors. (line 11106)
+* Martin Schmidt: Contributors. (line 11088)
* Martin Schultz: Checking CF-compliance.
- (line 2952)
-* mask: Irregular grids. (line 6959)
-* mask <1>: Examples ncap2. (line 7963)
-* mask condition: Mask condition. (line 10770)
+ (line 2969)
+* mask: Irregular grids. (line 6997)
+* mask <1>: Examples ncap2. (line 8001)
+* mask condition: Mask condition. (line 10852)
* mask condition <1>: Normalization and Integration.
- (line 10901)
+ (line 10983)
* masked average: ncwa netCDF Weighted Averager.
- (line 10676)
-* Mass Store System: Remote storage. (line 1810)
-* Matej Vela: Contributors. (line 11008)
+ (line 10758)
+* Mass Store System: Remote storage. (line 1822)
+* Matej Vela: Contributors. (line 11090)
* mathematical functions: Intrinsic mathematical methods.
- (line 8043)
-* Matlab: Philosophy. (line 905)
-* 'max': Operation Types. (line 4673)
+ (line 8081)
+* Matlab: Philosophy. (line 913)
+* 'max': Operation Types. (line 4711)
* max(): Methods and functions.
- (line 6401)
-* maximum: Operation Types. (line 4673)
-* MD5 digest: MD5 digests. (line 4348)
-* mean: Operation Types. (line 4673)
+ (line 6439)
+* maximum: Operation Types. (line 4711)
+* MD5 digest: MD5 digests. (line 4386)
+* mean: Operation Types. (line 4711)
* memory available: Memory Requirements.
- (line 1339)
-* memory available <1>: RAM disks. (line 4449)
-* memory leaks: Memory for ncap2. (line 1428)
+ (line 1351)
+* memory available <1>: RAM disks. (line 4487)
+* memory leaks: Memory for ncap2. (line 1440)
* memory requirements: Memory Requirements.
- (line 1339)
-* memory requirements <1>: Subsetting Files. (line 2525)
-* memory requirements <2>: RAM disks. (line 4449)
+ (line 1351)
+* memory requirements <1>: Subsetting Files. (line 2542)
+* memory requirements <2>: RAM disks. (line 4487)
* merging files: Appending Variables.
- (line 1021)
+ (line 1029)
* merging files <1>: ncks netCDF Kitchen Sink.
- (line 9356)
+ (line 9395)
* metadata: ncks netCDF Kitchen Sink.
- (line 9615)
+ (line 9655)
* metadata optimization: Metadata Optimization.
- (line 1512)
+ (line 1524)
* metadata, global: ncecat netCDF Ensemble Concatenator.
- (line 9079)
+ (line 9118)
* metadata, global <1>: ncks netCDF Kitchen Sink.
- (line 9572)
+ (line 9612)
* Michael Decker: Checking CF-compliance.
- (line 2952)
+ (line 2969)
* Michael Prather: Promoting Single-precision to Double.
- (line 5300)
-* Michael Schulz: Contributors. (line 11006)
+ (line 5338)
+* Michael Schulz: Contributors. (line 11088)
* Microsoft: Compatability. (line 389)
* Microsoft <1>: Windows Operating System.
(line 488)
@@ -14324,1118 +14453,1118 @@ General Index
(line 488)
* Mike Folk: netCDF2/3/4 and HDF4/5 Support.
(line 602)
-* Mike Page: Contributors. (line 11006)
-* 'min': Operation Types. (line 4673)
+* Mike Page: Contributors. (line 11088)
+* 'min': Operation Types. (line 4711)
* min(): Methods and functions.
- (line 6403)
-* minimum: Operation Types. (line 4673)
-* missing values: Missing Values. (line 3983)
+ (line 6441)
+* minimum: Operation Types. (line 4711)
+* missing values: Missing Values. (line 4014)
* missing values <1>: ncatted netCDF Attribute Editor.
- (line 8299)
+ (line 8337)
* missing values <2>: ncflint netCDF File Interpolator.
- (line 9227)
+ (line 9266)
* missing values <3>: ncks netCDF Kitchen Sink.
- (line 9628)
+ (line 9668)
* missing values ncap2: Missing values ncap2.
- (line 6294)
-* 'missing_value': Missing Values. (line 3983)
-* 'missing_value' <1>: Packed data. (line 4536)
+ (line 6332)
+* 'missing_value': Missing Values. (line 4014)
+* 'missing_value' <1>: Packed data. (line 4574)
* 'missing_value' <2>: ncrename netCDF Renamer.
- (line 10639)
-* MKS units: UDUnits Support. (line 3752)
-* MKS units <1>: UDUnits Support. (line 3882)
-* MODIS: Regrid MODIS Data. (line 12006)
+ (line 10721)
+* MKS units: UDUnits Support. (line 3783)
+* MKS units <1>: UDUnits Support. (line 3913)
+* MODIS: Regrid MODIS Data. (line 12088)
* MODIS <1>: Add Coordinates to MODIS Data.
- (line 12144)
+ (line 12226)
* modulus: Intrinsic mathematical methods.
- (line 8040)
-* monotonic coordinates: Performance. (line 1470)
+ (line 8078)
+* monotonic coordinates: Performance. (line 1482)
* monthly average: Daily data in one file.
- (line 11083)
-* monthly average <1>: Monthly Cycle. (line 11842)
+ (line 11165)
+* monthly average <1>: Monthly Cycle. (line 11924)
* monthly data: Monthly data in one file.
- (line 11114)
+ (line 11196)
* monthly data <1>: One time point one file.
- (line 11146)
+ (line 11228)
* monthly data <2>: Multiple files with multiple time points.
- (line 11164)
-* move groups: Moving Groups. (line 2802)
-* MRO: Subcycle. (line 3358)
-* MSA: Multislabs. (line 3434)
-* 'msk_*': CF Conventions. (line 5394)
-* 'msrcp': Remote storage. (line 1850)
+ (line 11246)
+* move groups: Moving Groups. (line 2819)
+* MRO: Subcycle. (line 3389)
+* MSA: Multislabs. (line 3465)
+* 'msk_*': CF Conventions. (line 5432)
+* 'msrcp': Remote storage. (line 1862)
* msrcp: Retaining Retrieved Files.
- (line 2081)
-* 'msread': Remote storage. (line 1850)
-* MSS: Remote storage. (line 1810)
+ (line 2093)
+* 'msread': Remote storage. (line 1862)
+* MSS: Remote storage. (line 1822)
* multi-file operators: Single and Multi-file Operators.
- (line 1357)
+ (line 1369)
* multi-file operators <1>: Specifying Input Files.
- (line 1707)
+ (line 1719)
* multi-file operators <2>: Specifying Output Files.
- (line 1790)
+ (line 1802)
* multi-file operators <3>: nces netCDF Ensemble Statistics.
- (line 8908)
+ (line 8947)
* multi-file operators <4>: ncecat netCDF Ensemble Concatenator.
- (line 9074)
+ (line 9113)
* multi-file operators <5>: ncra netCDF Record Averager.
- (line 10368)
+ (line 10449)
* multi-file operators <6>: ncrcat netCDF Record Concatenator.
- (line 10438)
-* multi-hyperslab: Multislabs. (line 3434)
-* Multi-Record Operator: Subcycle. (line 3358)
+ (line 10519)
+* multi-hyperslab: Multislabs. (line 3465)
+* Multi-Record Operator: Subcycle. (line 3389)
* multiplication: Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* multiplication <1>: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* multiplication <2>: ncflint netCDF File Interpolator.
- (line 9281)
+ (line 9320)
* 'multiply': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* multiplying data: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* multiplying data <1>: ncflint netCDF File Interpolator.
- (line 9154)
-* multislab: Multislabs. (line 3434)
-* 'mv': Subsetting Files. (line 2443)
+ (line 9193)
+* multislab: Multislabs. (line 3465)
+* 'mv': Subsetting Files. (line 2460)
* 'MVS': Compatability. (line 407)
* MVS: Windows Operating System.
(line 488)
* naked characters: ncbo netCDF Binary Operator.
- (line 8618)
+ (line 8657)
* NaN: ncatted netCDF Attribute Editor.
- (line 8489)
+ (line 8527)
* NARR (North American Regional Reanalysis)a: Where statement.
- (line 6620)
+ (line 6658)
* NASA: Proposals for Institutional Funding.
- (line 11060)
+ (line 11142)
* NASA EOSDIS: Large Numbers of Files.
- (line 1199)
-* National Virtual Ocean Data System: OPeNDAP. (line 2026)
+ (line 1207)
+* National Virtual Ocean Data System: OPeNDAP. (line 2038)
* ncadd: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* ncap: ncap2 netCDF Arithmetic Processor.
- (line 5589)
+ (line 5627)
* ncap2: Compatability. (line 451)
* ncap2 <1>: ncap2 netCDF Arithmetic Processor.
- (line 5589)
-* 'ncap2': Memory for ncap2. (line 1428)
-* 'ncap2' <1>: OpenMP Threading. (line 1559)
+ (line 5627)
+* 'ncap2': Memory for ncap2. (line 1440)
+* 'ncap2' <1>: OpenMP Threading. (line 1571)
* 'ncap2' <2>: Manual type conversion.
- (line 5305)
+ (line 5343)
* 'ncap2' <3>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10002)
+ (line 10083)
* NCAR: Climate Model Paradigm.
- (line 922)
-* NCAR MSS: Remote storage. (line 1810)
-* ncatted: Missing Values. (line 4010)
+ (line 930)
+* NCAR MSS: Remote storage. (line 1822)
+* ncatted: Missing Values. (line 4041)
* ncatted <1>: ncatted netCDF Attribute Editor.
- (line 8276)
-* 'ncatted': Subsetting Files. (line 2544)
-* 'ncatted' <1>: Missing Values. (line 4035)
-* 'ncatted' <2>: History Attribute. (line 5353)
+ (line 8314)
+* 'ncatted': Subsetting Files. (line 2561)
+* 'ncatted' <1>: Missing Values. (line 4066)
+* 'ncatted' <2>: History Attribute. (line 5391)
* 'ncattget': ncatted netCDF Attribute Editor.
- (line 8283)
+ (line 8321)
* 'ncattget' <1>: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'ncavg': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* ncbo: ncbo netCDF Binary Operator.
- (line 8571)
-* 'ncbo': Missing Values. (line 4058)
+ (line 8610)
+* 'ncbo': Missing Values. (line 4089)
* ncdiff: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* ncdismember: Dismembering Files.
- (line 2845)
+ (line 2862)
* ncdismember <1>: Checking CF-compliance.
- (line 2952)
+ (line 2969)
* ncdivide: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* 'ncdmnsz': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'ncdump': Determining File Format.
- (line 2221)
+ (line 2233)
* 'ncdump' <1>: ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* 'ncdump' <2>: ncks netCDF Kitchen Sink.
- (line 9615)
+ (line 9655)
* 'ncdump' <3>: ncks netCDF Kitchen Sink.
- (line 9675)
+ (line 9739)
* ncecat: ncecat netCDF Ensemble Concatenator.
- (line 8994)
-* 'ncecat': Concatenation. (line 1108)
+ (line 9033)
+* 'ncecat': Concatenation. (line 1116)
* nces: nces netCDF Ensemble Statistics.
- (line 8839)
-* 'nces': Averaging. (line 1166)
-* 'nces' <1>: Missing Values. (line 4058)
+ (line 8878)
+* 'nces': Averaging. (line 1174)
+* 'nces' <1>: Missing Values. (line 4089)
* 'ncextr': ncks netCDF Kitchen Sink.
- (line 9320)
+ (line 9359)
* ncflint: ncflint netCDF File Interpolator.
- (line 9154)
-* 'ncflint': Interpolating. (line 1188)
-* 'ncflint' <1>: Missing Values. (line 4058)
+ (line 9193)
+* 'ncflint': Interpolating. (line 1196)
+* 'ncflint' <1>: Missing Values. (line 4089)
* 'ncgen': ncks netCDF Kitchen Sink.
- (line 9479)
+ (line 9519)
* 'ncgen-hdf': ncks netCDF Kitchen Sink.
- (line 9479)
-* ncks: Deflation. (line 4342)
-* ncks <1>: Examples ncap2. (line 8018)
+ (line 9519)
+* ncks: Deflation. (line 4380)
+* ncks <1>: Examples ncap2. (line 8056)
* ncks <2>: ncks netCDF Kitchen Sink.
- (line 9307)
+ (line 9346)
* 'ncks': Determining File Format.
- (line 2190)
-* NCL: Philosophy. (line 905)
+ (line 2202)
+* NCL: Philosophy. (line 913)
* NCL <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10198)
+ (line 10279)
* 'nclist': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'ncl_convert2nc': netCDF2/3/4 and HDF4/5 Support.
- (line 719)
+ (line 725)
* 'ncl_convert2nc' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10198)
+ (line 10279)
* 'ncmax': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'ncmdn': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* 'ncmin': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* NcML: ncks netCDF Kitchen Sink.
- (line 9675)
+ (line 9739)
* ncmult: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* ncmultiply: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* NCO availability: Availability. (line 307)
* NCO homepage: Availability. (line 331)
* nco script file: Annual Average over Regions.
- (line 11551)
+ (line 11633)
* 'NCO User Guide': Availability. (line 315)
* 'nco.config.log.${GNU_TRP}.foo': Help Requests and Bug Reports.
- (line 877)
+ (line 885)
* 'nco.configure.${GNU_TRP}.foo': Help Requests and Bug Reports.
- (line 877)
+ (line 885)
* 'nco.make.${GNU_TRP}.foo': Help Requests and Bug Reports.
- (line 877)
+ (line 885)
* 'nco_input_file_list': Large Numbers of Files.
- (line 1226)
+ (line 1234)
* 'nco_input_file_list' <1>: File List Attributes.
- (line 5363)
+ (line 5401)
* 'nco_input_file_number': Large Numbers of Files.
- (line 1226)
+ (line 1234)
* 'nco_input_file_number' <1>: File List Attributes.
- (line 5363)
-* 'nco_openmp_thread_number': OpenMP Threading. (line 1533)
+ (line 5401)
+* 'nco_openmp_thread_number': OpenMP Threading. (line 1545)
* ncpack: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
-* ncpdq: Chunking. (line 4119)
+ (line 10065)
+* ncpdq: Chunking. (line 4150)
* ncpdq <1>: ncecat netCDF Ensemble Concatenator.
- (line 9101)
+ (line 9140)
* ncpdq <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* ncpdq <3>: ncrcat netCDF Record Concatenator.
- (line 10450)
-* 'ncpdq': Concatenation. (line 1141)
-* 'ncpdq' <1>: OpenMP Threading. (line 1559)
-* ncra: Examples ncap2. (line 8018)
+ (line 10531)
+* 'ncpdq': Concatenation. (line 1149)
+* 'ncpdq' <1>: OpenMP Threading. (line 1571)
+* ncra: Examples ncap2. (line 8056)
* ncra <1>: ncra netCDF Record Averager.
- (line 10351)
-* 'ncra': Averaging. (line 1166)
-* 'ncra' <1>: Missing Values. (line 4058)
+ (line 10432)
+* 'ncra': Averaging. (line 1174)
+* 'ncra' <1>: Missing Values. (line 4089)
* ncrcat: ncrcat netCDF Record Concatenator.
- (line 10422)
-* 'ncrcat': Concatenation. (line 1108)
-* 'ncrcat' <1>: OpenMP Threading. (line 1559)
+ (line 10503)
+* 'ncrcat': Concatenation. (line 1116)
+* 'ncrcat' <1>: OpenMP Threading. (line 1571)
* 'ncrecsz': Filters for 'ncks'.
- (line 9759)
-* ncrename: Missing Values. (line 4010)
+ (line 9823)
+* ncrename: Missing Values. (line 4041)
* ncrename <1>: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* 'ncrng': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* NCSA: netCDF2/3/4 and HDF4/5 Support.
(line 616)
* ncsub: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* ncsubtract: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* 'ncunits': Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* ncunpack: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
-* ncwa: Examples ncap2. (line 8018)
+ (line 10065)
+* ncwa: Examples ncap2. (line 8056)
* ncwa <1>: ncwa netCDF Weighted Averager.
- (line 10676)
-* 'ncwa': Averaging. (line 1166)
-* 'ncwa' <1>: OpenMP Threading. (line 1559)
-* 'ncwa' <2>: Missing Values. (line 4058)
+ (line 10758)
+* 'ncwa': Averaging. (line 1174)
+* 'ncwa' <1>: OpenMP Threading. (line 1571)
+* 'ncwa' <2>: Missing Values. (line 4089)
* 'NC_BYTE': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
-* 'NC_CHAR': Hyperslabs. (line 3213)
+ (line 10163)
+* 'NC_CHAR': Hyperslabs. (line 3244)
* 'NC_CHAR' <1>: ncbo netCDF Binary Operator.
- (line 8693)
+ (line 8732)
* 'NC_CHAR' <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
-* 'NC_DISKLESS': RAM disks. (line 4449)
+ (line 10163)
+* 'NC_DISKLESS': RAM disks. (line 4487)
* 'NC_DOUBLE': Intrinsic mathematical methods.
- (line 8146)
+ (line 8184)
* 'NC_DOUBLE' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_FLOAT': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_FORMAT_DAP2': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_FORMAT_DAP4': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_FORMAT_NC3': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_FORMAT_NC_HDF4': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_FORMAT_NC_HDF5': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_FORMAT_PNETCDF': Determining File Format.
- (line 2199)
+ (line 2211)
* 'NC_INT': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_INT64': netCDF2/3/4 and HDF4/5 Support.
(line 641)
* 'NC_INT64' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_SHORT': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_UBYTE': netCDF2/3/4 and HDF4/5 Support.
(line 641)
* 'NC_UBYTE' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_UINT': netCDF2/3/4 and HDF4/5 Support.
(line 641)
* 'NC_UINT' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_UINT64': netCDF2/3/4 and HDF4/5 Support.
(line 641)
* 'NC_UINT64' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'NC_USHORT': netCDF2/3/4 and HDF4/5 Support.
(line 641)
* 'NC_USHORT' <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
+ (line 10163)
* 'nc__enddef()': Metadata Optimization.
- (line 1512)
+ (line 1524)
* ndims(): Methods and functions.
- (line 6437)
+ (line 6475)
* NEARBYINT: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* nearest integer function (exact): Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* nearest integer function (inexact): Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* NEC: Compatability. (line 389)
* Neil Davis: Automatic type conversion.
- (line 4918)
+ (line 4956)
* nesting: Syntax of ncap2 statements.
- (line 5669)
+ (line 5707)
* netCDF: Availability. (line 335)
* netCDF2: netCDF2/3/4 and HDF4/5 Support.
(line 590)
* netCDF2 <1>: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* 'NETCDF2_ONLY': netCDF2/3/4 and HDF4/5 Support.
(line 611)
* netCDF3: netCDF2/3/4 and HDF4/5 Support.
(line 590)
* netCDF3 <1>: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* netCDF3 classic file format: Determining File Format.
- (line 2190)
+ (line 2202)
* netCDF4: netCDF2/3/4 and HDF4/5 Support.
(line 616)
* netCDF4 <1>: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* netCDF4 <2>: Multiple Record Dimensions.
- (line 3945)
+ (line 3976)
* netCDF4 classic file format: Determining File Format.
- (line 2190)
+ (line 2202)
* netCDF4 file format: Determining File Format.
- (line 2190)
+ (line 2202)
* 'NETCDF4' files: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* 'NETCDF4_CLASSIC' files: File Formats and Conversion.
- (line 2104)
+ (line 2116)
* 'NETCDF4_ROOT': netCDF2/3/4 and HDF4/5 Support.
- (line 756)
-* Nick Bower: Contributors. (line 11008)
+ (line 764)
+* Nick Bower: Contributors. (line 11090)
* 'NINTAP': Specifying Input Files.
- (line 1670)
+ (line 1682)
* 'NINTAP' <1>: ncra netCDF Record Averager.
- (line 10391)
+ (line 10472)
* 'NINTAP' <2>: ncrcat netCDF Record Concatenator.
- (line 10469)
-* non-coordinate grid properties: CF Conventions. (line 5425)
-* non-rectangular grids: Irregular grids. (line 6959)
-* non-standard grids: Irregular grids. (line 6959)
+ (line 10550)
+* non-coordinate grid properties: CF Conventions. (line 5463)
+* non-rectangular grids: Irregular grids. (line 6997)
+* non-standard grids: Irregular grids. (line 6997)
* normalization: Normalization and Integration.
- (line 10799)
+ (line 10881)
* North American Regional Reanalysis (NARR): Where statement.
- (line 6620)
+ (line 6658)
* Not-a-Number: ncatted netCDF Attribute Editor.
- (line 8489)
+ (line 8527)
* 'NO_NETCDF_2': netCDF2/3/4 and HDF4/5 Support.
(line 600)
* NRA: Proposals for Institutional Funding.
- (line 11060)
-* 'nrnet': Remote storage. (line 1850)
+ (line 11142)
+* 'nrnet': Remote storage. (line 1862)
* NSF: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* NSF <1>: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* NT (Microsoft operating system): Windows Operating System.
(line 488)
* NUL: ncatted netCDF Attribute Editor.
- (line 8467)
+ (line 8505)
* 'NUL': ncpdq netCDF Permute Dimensions Quickly.
- (line 10120)
+ (line 10201)
* NUL-termination: ncatted netCDF Attribute Editor.
- (line 8467)
+ (line 8505)
* null operation: ncflint netCDF File Interpolator.
- (line 9278)
-* number literals 'ncap2': Number literals. (line 6148)
+ (line 9317)
+* number literals 'ncap2': Number literals. (line 6186)
* 'number_miss()': Missing values ncap2.
- (line 6344)
+ (line 6382)
* 'numerator': Normalization and Integration.
- (line 10799)
-* NVODS: OPeNDAP. (line 2026)
+ (line 10881)
+* NVODS: OPeNDAP. (line 2038)
* 'nxt_lsr': ncpdq netCDF Permute Dimensions Quickly.
- (line 10082)
-* oceanography: OPeNDAP. (line 1924)
+ (line 10163)
+* oceanography: OPeNDAP. (line 1936)
* octal dump: Determining File Format.
- (line 2233)
+ (line 2245)
* 'od': Determining File Format.
- (line 2233)
-* 'OMP_NUM_THREADS': OpenMP Threading. (line 1559)
+ (line 2245)
+* 'OMP_NUM_THREADS': OpenMP Threading. (line 1571)
* on-line documentation: Availability. (line 315)
* open source: Foreword. (line 227)
-* open source <1>: OPeNDAP. (line 2026)
+* open source <1>: OPeNDAP. (line 2038)
* Open-source Project for a Network Data Access Protocol: OPeNDAP.
- (line 1924)
-* OPeNDAP.: OPeNDAP. (line 1924)
+ (line 1936)
+* OPeNDAP.: OPeNDAP. (line 1936)
* OpenMP: Memory Requirements.
- (line 1346)
+ (line 1358)
* OpenMP <1>: Single and Multi-file Operators.
- (line 1421)
-* OpenMP <2>: OpenMP Threading. (line 1533)
-* operation types: Operation Types. (line 4673)
+ (line 1433)
+* OpenMP <2>: OpenMP Threading. (line 1545)
+* operation types: Operation Types. (line 4711)
* operation types <1>: ncra netCDF Record Averager.
- (line 10384)
+ (line 10465)
* operation types <2>: ncwa netCDF Weighted Averager.
- (line 10752)
+ (line 10834)
* operator speed: Libraries. (line 566)
* operator speed <1>: Temporary Output Files.
- (line 948)
-* operator speed <2>: Performance. (line 1467)
+ (line 956)
+* operator speed <2>: Performance. (line 1479)
* operator speed <3>: Metadata Optimization.
- (line 1512)
-* operator speed <4>: Missing Values. (line 4042)
+ (line 1524)
+* operator speed <4>: Missing Values. (line 4073)
* operator speed <5>: ncrename netCDF Renamer.
- (line 10550)
+ (line 10632)
* operators: Summary. (line 290)
* OptIPuter: Proposals for Institutional Funding.
- (line 11053)
-* Orion Powlawski: Contributors. (line 11010)
-* 'ORO': CF Conventions. (line 5394)
+ (line 11135)
+* Orion Powlawski: Contributors. (line 11092)
+* 'ORO': CF Conventions. (line 5432)
* 'ORO' <1>: Normalization and Integration.
- (line 10873)
+ (line 10955)
* orphan dimensions: ncks netCDF Kitchen Sink.
- (line 9656)
+ (line 9702)
* OS: Compatability. (line 389)
* output file: Large Numbers of Files.
- (line 1252)
+ (line 1260)
* output file <1>: Specifying Output Files.
- (line 1778)
-* OUTPUT-PATH: Remote storage. (line 1873)
-* overview: Performance. (line 1452)
+ (line 1790)
+* OUTPUT-PATH: Remote storage. (line 1885)
+* overview: Performance. (line 1464)
* overwriting files: Temporary Output Files.
- (line 996)
-* overwriting files <1>: Batch Mode. (line 5315)
+ (line 1004)
+* overwriting files <1>: Batch Mode. (line 5353)
* pack(): Methods and functions.
- (line 6419)
-* 'pack(x)': Packed data. (line 4536)
-* packing: OPeNDAP. (line 1988)
-* packing <1>: Chunking. (line 4119)
-* packing <2>: Packed data. (line 4536)
+ (line 6457)
+* 'pack(x)': Packed data. (line 4574)
+* packing: OPeNDAP. (line 2000)
+* packing <1>: Chunking. (line 4150)
+* packing <2>: Packed data. (line 4574)
* packing <3>: ncecat netCDF Ensemble Concatenator.
- (line 9101)
+ (line 9140)
* packing <4>: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* packing <5>: ncrcat netCDF Record Concatenator.
- (line 10450)
+ (line 10531)
* packing map: ncpdq netCDF Permute Dimensions Quickly.
- (line 10076)
+ (line 10157)
* packing policy: ncpdq netCDF Permute Dimensions Quickly.
- (line 10001)
+ (line 10082)
* pack_byte(): Methods and functions.
- (line 6422)
+ (line 6460)
* pack_int(): Methods and functions.
- (line 6426)
+ (line 6464)
* pack_short(): Methods and functions.
- (line 6424)
-* papers: Performance. (line 1452)
-* 'parallel': Parallel. (line 12238)
-* parallelism: OpenMP Threading. (line 1533)
+ (line 6462)
+* papers: Performance. (line 1464)
+* 'parallel': Parallel. (line 12320)
+* parallelism: OpenMP Threading. (line 1545)
* parallelism <1>: Proposals for Institutional Funding.
- (line 11055)
+ (line 11137)
* parser: ncap2 netCDF Arithmetic Processor.
- (line 5589)
+ (line 5627)
* pasting variables: Appending Variables.
- (line 1021)
+ (line 1029)
* 'pathcc': Compatability. (line 407)
* 'pathCC': Compatability. (line 407)
* PathScale: Compatability. (line 389)
-* Patrice Dumas: Contributors. (line 11010)
-* Patrick Kursawe: Contributors. (line 11012)
+* Patrice Dumas: Contributors. (line 11092)
+* Patrick Kursawe: Contributors. (line 11094)
* pattern matching: Large Numbers of Files.
- (line 1234)
-* pattern matching <1>: Subsetting Files. (line 2544)
+ (line 1242)
+* pattern matching <1>: Subsetting Files. (line 2561)
* pattern matching <2>: ncatted netCDF Attribute Editor.
- (line 8319)
+ (line 8357)
* pattern matching <3>: ncatted netCDF Attribute Editor.
- (line 8526)
-* PayPal: Contributing. (line 10935)
+ (line 8564)
+* PayPal: Contributing. (line 11017)
* PCK_MAP: ncpdq netCDF Permute Dimensions Quickly.
- (line 10076)
+ (line 10157)
* PCK_PLC: ncpdq netCDF Permute Dimensions Quickly.
- (line 10009)
+ (line 10090)
* peak memory usage: Memory Requirements.
- (line 1339)
-* peak memory usage <1>: RAM disks. (line 4449)
-* Pedro Vicente: Contributors. (line 10984)
+ (line 1351)
+* peak memory usage <1>: RAM disks. (line 4487)
+* Pedro Vicente: Contributors. (line 11066)
* performance: Libraries. (line 566)
* performance <1>: Temporary Output Files.
- (line 948)
-* performance <2>: Performance. (line 1458)
-* performance <3>: Performance. (line 1467)
+ (line 956)
+* performance <2>: Performance. (line 1470)
+* performance <3>: Performance. (line 1479)
* performance <4>: Metadata Optimization.
- (line 1512)
-* performance <5>: Missing Values. (line 4042)
+ (line 1524)
+* performance <5>: Missing Values. (line 4073)
* performance <6>: ncrename netCDF Renamer.
- (line 10550)
-* Perl: Philosophy. (line 905)
+ (line 10632)
+* Perl: Philosophy. (line 913)
* Perl <1>: Large Numbers of Files.
- (line 1265)
+ (line 1273)
* Perl <2>: ncatted netCDF Attribute Editor.
- (line 8441)
+ (line 8479)
* permute dimensions: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* permute(): Arrays and hyperslabs.
- (line 6071)
-* Peter Campbell: Contributors. (line 11006)
+ (line 6109)
+* Peter Campbell: Contributors. (line 11088)
* 'pgcc': Compatability. (line 407)
* 'pgCC': Compatability. (line 407)
* PGI: Compatability. (line 389)
-* philosophy: Philosophy. (line 896)
+* philosophy: Philosophy. (line 904)
* pipes: Large Numbers of Files.
- (line 1247)
-* 'plc_all': Chunking. (line 4130)
-* 'plc_g2d': Chunking. (line 4130)
-* 'plc_g3d': Chunking. (line 4130)
-* 'plc_r1d': Chunking. (line 4130)
-* 'plc_xpl': Chunking. (line 4130)
-* 'plc_xst': Chunking. (line 4130)
+ (line 1255)
+* 'plc_all': Chunking. (line 4161)
+* 'plc_g2d': Chunking. (line 4161)
+* 'plc_g3d': Chunking. (line 4161)
+* 'plc_r1d': Chunking. (line 4161)
+* 'plc_xpl': Chunking. (line 4161)
+* 'plc_xst': Chunking. (line 4161)
* portability: Compatability. (line 389)
* positional arguments: Specifying Output Files.
- (line 1778)
+ (line 1790)
* POSIX: Command Line Options.
- (line 1598)
-* POSIX <1>: Subsetting Files. (line 2562)
+ (line 1610)
+* POSIX <1>: Subsetting Files. (line 2579)
* POW: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* power: Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* power function: Intrinsic mathematical methods.
- (line 8043)
-* 'prd': Chunking. (line 4189)
+ (line 8081)
+* 'prd': Chunking. (line 4220)
* precision: Intrinsic mathematical methods.
- (line 8146)
+ (line 8184)
* preprocessor tokens: Windows Operating System.
(line 503)
* presentations: Availability. (line 325)
-* print() 'ncap2': print statement. (line 6265)
+* print() 'ncap2': print statement. (line 6303)
* 'printf': Compatability. (line 420)
* 'printf()': ncatted netCDF Attribute Editor.
- (line 8443)
+ (line 8481)
* 'printf()' <1>: ncks netCDF Kitchen Sink.
- (line 9667)
+ (line 9713)
* 'printf()' <2>: Filters for 'ncks'.
- (line 9887)
+ (line 9951)
* printing files contents: ncks netCDF Kitchen Sink.
- (line 9307)
+ (line 9346)
* printing variables: ncks netCDF Kitchen Sink.
- (line 9307)
+ (line 9346)
* Processor: ncra netCDF Record Averager.
- (line 10391)
+ (line 10472)
* Processor <1>: ncrcat netCDF Record Concatenator.
- (line 10469)
+ (line 10550)
* Processor, CCM: Specifying Input Files.
- (line 1670)
-* promotion: Type Conversion. (line 4826)
+ (line 1682)
+* promotion: Type Conversion. (line 4864)
* promotion <1>: Promoting Single-precision to Double.
- (line 4962)
+ (line 5000)
* promotion <2>: Intrinsic mathematical methods.
- (line 8113)
+ (line 8151)
* proposals: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* pseudonym: Symbolic Links. (line 539)
* publications: Availability. (line 325)
* QLogic: Compatability. (line 389)
* Qt: Windows Operating System.
(line 495)
* quadruple-precision: Intrinsic mathematical methods.
- (line 8146)
-* Quick Start: Quick Start. (line 11073)
-* quiet: ncks netCDF Kitchen Sink.
- (line 9648)
-* quotes: Subsetting Files. (line 2619)
-* quotes <1>: Examples ncap2. (line 7995)
+ (line 8184)
+* quench: ncks netCDF Kitchen Sink.
+ (line 9694)
+* Quick Start: Quick Start. (line 11155)
+* quotes: Subsetting Files. (line 2636)
+* quotes <1>: Examples ncap2. (line 8033)
* quotes <2>: ncbo netCDF Binary Operator.
- (line 8619)
+ (line 8658)
* quotes <3>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10244)
-* 'r1d': Chunking. (line 4130)
+ (line 10325)
+* 'r1d': Chunking. (line 4161)
* RAG: ncecat netCDF Ensemble Concatenator.
- (line 9018)
+ (line 9057)
* RAM: Memory Requirements.
- (line 1339)
-* RAM <1>: RAM disks. (line 4449)
+ (line 1351)
+* RAM <1>: RAM disks. (line 4487)
* RAM disks: Temporary Output Files.
- (line 954)
-* RAM disks <1>: RAM disks. (line 4449)
+ (line 962)
+* RAM disks <1>: RAM disks. (line 4487)
* RAM files: Temporary Output Files.
- (line 954)
-* RAM files <1>: RAM disks. (line 4449)
-* RAM variables: RAM disks. (line 4489)
+ (line 962)
+* RAM files <1>: RAM disks. (line 4487)
+* RAM variables: RAM disks. (line 4527)
* RAM variables <1>: Methods and functions.
- (line 6525)
-* ram_delete(): RAM variables. (line 6537)
-* ram_write(): RAM variables. (line 6537)
+ (line 6563)
+* ram_delete(): RAM variables. (line 6575)
+* ram_write(): RAM variables. (line 6575)
* random walk: Promoting Single-precision to Double.
- (line 5179)
-* rank: Expressions. (line 5710)
+ (line 5217)
+* rank: Expressions. (line 5748)
* rank <1>: ncbo netCDF Binary Operator.
- (line 8660)
+ (line 8699)
* rank <2>: ncbo netCDF Binary Operator.
- (line 8673)
+ (line 8712)
* rank <3>: ncbo netCDF Binary Operator.
- (line 8724)
+ (line 8763)
* rank <4>: ncwa netCDF Weighted Averager.
- (line 10717)
+ (line 10799)
* 'rcp': Windows Operating System.
(line 509)
-* 'rcp' <1>: Remote storage. (line 1810)
-* RCS: Operator Version. (line 5557)
-* 'rd1': Chunking. (line 4189)
+* 'rcp' <1>: Remote storage. (line 1822)
+* RCS: Operator Version. (line 5595)
+* 'rd1': Chunking. (line 4220)
* re-dimension: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* re-order dimensions: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* record aggregation: ncecat netCDF Ensemble Concatenator.
- (line 9018)
-* record append: Record Appending. (line 3307)
+ (line 9057)
+* record append: Record Appending. (line 3338)
* record average: ncra netCDF Record Averager.
- (line 10351)
+ (line 10432)
* record concatenation: ncrcat netCDF Record Concatenator.
- (line 10422)
+ (line 10503)
* record dimension: Appending Variables.
- (line 1024)
+ (line 1032)
* record dimension <1>: C and Fortran Index Conventions.
- (line 3123)
-* record dimension <2>: Chunking. (line 4295)
+ (line 3140)
+* record dimension <2>: Chunking. (line 4333)
* record dimension <3>: nces netCDF Ensemble Statistics.
- (line 8873)
+ (line 8912)
* record dimension <4>: ncecat netCDF Ensemble Concatenator.
- (line 9028)
+ (line 9067)
* record dimension <5>: ncecat netCDF Ensemble Concatenator.
- (line 9032)
+ (line 9071)
* record dimension <6>: ncecat netCDF Ensemble Concatenator.
- (line 9138)
+ (line 9177)
* record dimension <7>: ncks netCDF Kitchen Sink.
- (line 9442)
+ (line 9480)
* record dimension <8>: ncks netCDF Kitchen Sink.
- (line 9519)
+ (line 9559)
* record dimension <9>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10148)
+ (line 10229)
* record dimension <10>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10150)
+ (line 10231)
* record dimension <11>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10299)
+ (line 10380)
* record dimension <12>: ncra netCDF Record Averager.
- (line 10351)
+ (line 10432)
* record dimension <13>: ncra netCDF Record Averager.
- (line 10364)
+ (line 10445)
* record dimension <14>: ncrcat netCDF Record Concatenator.
- (line 10435)
+ (line 10516)
* record variable: C and Fortran Index Conventions.
- (line 3118)
+ (line 3135)
* record variable <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10152)
-* rectangular grids: Irregular grids. (line 6959)
-* recursion: Subsetting Files. (line 2443)
-* recursive: Subsetting Files. (line 2443)
-* 'regex': Subsetting Files. (line 2562)
+ (line 10233)
+* rectangular grids: Irregular grids. (line 6997)
+* recursion: Subsetting Files. (line 2460)
+* recursive: Subsetting Files. (line 2460)
+* 'regex': Subsetting Files. (line 2579)
* regression: Annual Average over Regions.
- (line 11551)
+ (line 11633)
* regressions archive: Help Requests and Bug Reports.
- (line 884)
-* regrid: Regrid MODIS Data. (line 12006)
+ (line 892)
+* regrid: Regrid MODIS Data. (line 12088)
* regular expressions: Large Numbers of Files.
- (line 1234)
+ (line 1242)
* regular expressions <1>: Specifying Input Files.
- (line 1670)
-* regular expressions <2>: Subsetting Files. (line 2544)
-* regular expressions <3>: Examples ncap2. (line 7995)
+ (line 1682)
+* regular expressions <2>: Subsetting Files. (line 2561)
+* regular expressions <3>: Examples ncap2. (line 8033)
* regular expressions <4>: ncatted netCDF Attribute Editor.
- (line 8319)
+ (line 8357)
* regular expressions <5>: ncatted netCDF Attribute Editor.
- (line 8526)
-* 'remap': Sort methods. (line 6714)
-* Remik Ziemlinski: Contributors. (line 11006)
+ (line 8564)
+* 'remap': Sort methods. (line 6752)
+* Remik Ziemlinski: Contributors. (line 11088)
* remote files: Windows Operating System.
(line 509)
-* remote files <1>: Remote storage. (line 1810)
-* rename groups: Moving Groups. (line 2802)
+* remote files <1>: Remote storage. (line 1822)
+* rename groups: Moving Groups. (line 2819)
* renaming attributes: ncrename netCDF Renamer.
- (line 10504)
-* renaming attributes <1>: Regrid MODIS Data. (line 12006)
+ (line 10585)
+* renaming attributes <1>: Regrid MODIS Data. (line 12088)
* renaming dimensions: ncrename netCDF Renamer.
- (line 10504)
-* renaming dimensions <1>: Regrid MODIS Data. (line 12006)
+ (line 10585)
+* renaming dimensions <1>: Regrid MODIS Data. (line 12088)
* renaming groups: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* renaming variables: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* renaming variables <1>: Annual Average over Regions.
- (line 11551)
-* renaming variables <2>: Regrid MODIS Data. (line 12006)
+ (line 11633)
+* renaming variables <2>: Regrid MODIS Data. (line 12088)
* reporting bugs: Help Requests and Bug Reports.
- (line 814)
+ (line 822)
* reshape variables: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* 'restrict': Compatability. (line 444)
* reverse data: ncpdq netCDF Permute Dimensions Quickly.
- (line 10274)
+ (line 10355)
* reverse dimensions: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* reverse dimensions <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10231)
+ (line 10312)
* reverse dimensions <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10253)
+ (line 10334)
* reverse(): Arrays and hyperslabs.
- (line 6064)
-* 'rew': Chunking. (line 4189)
-* Rich Signell: Contributors. (line 11006)
+ (line 6102)
+* 'rew': Chunking. (line 4220)
+* Rich Signell: Contributors. (line 11088)
* RINT: Intrinsic mathematical methods.
- (line 8043)
-* 'rms': Operation Types. (line 4673)
-* 'rmssdn': Operation Types. (line 4673)
+ (line 8081)
+* 'rms': Operation Types. (line 4711)
+* 'rmssdn': Operation Types. (line 4711)
* rmssdn(): Methods and functions.
- (line 6407)
-* root-mean-square: Operation Types. (line 4673)
-* Rorik Peterson: Contributors. (line 10975)
+ (line 6445)
+* root-mean-square: Operation Types. (line 4711)
+* Rorik Peterson: Contributors. (line 11057)
* ROUND: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* rounding: Promoting Single-precision to Double.
- (line 5179)
+ (line 5217)
* rounding functions: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* RPM: netCDF2/3/4 and HDF4/5 Support.
- (line 751)
+ (line 759)
* running average: ncra netCDF Record Averager.
- (line 10351)
-* Russ Rew: Contributors. (line 10954)
-* Russ Rew <1>: Contributors. (line 10986)
+ (line 10432)
+* Russ Rew: Contributors. (line 11036)
+* Russ Rew <1>: Contributors. (line 11068)
* safeguards: Temporary Output Files.
- (line 933)
+ (line 941)
* safeguards <1>: ncrename netCDF Renamer.
- (line 10535)
-* 'scale_factor': Packed data. (line 4536)
+ (line 10617)
+* 'scale_factor': Packed data. (line 4574)
* 'scale_factor' <1>: ncecat netCDF Ensemble Concatenator.
- (line 9101)
+ (line 9140)
* 'scale_factor' <2>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10002)
+ (line 10083)
* 'scale_factor' <3>: ncrcat netCDF Record Concatenator.
- (line 10450)
-* SCALE_FORMAT: Performance. (line 1475)
-* scaling: Performance. (line 1458)
+ (line 10531)
+* SCALE_FORMAT: Performance. (line 1487)
+* scaling: Performance. (line 1470)
* scaling <1>: ncflint netCDF File Interpolator.
- (line 9281)
+ (line 9320)
* Scientific Data Operators: Proposals for Institutional Funding.
- (line 11053)
-* 'scl': Chunking. (line 4189)
-* Scott Capps: Contributors. (line 11004)
+ (line 11135)
+* 'scl': Chunking. (line 4220)
+* Scott Capps: Contributors. (line 11086)
* 'scp': Windows Operating System.
(line 509)
-* 'scp' <1>: Remote storage. (line 1810)
+* 'scp' <1>: Remote storage. (line 1822)
* script file: ncap2 netCDF Arithmetic Processor.
- (line 5607)
+ (line 5645)
* SDO: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* seasonal average: Monthly data in one file.
- (line 11117)
-* security: MD5 digests. (line 4348)
+ (line 11199)
+* security: MD5 digests. (line 4386)
* SEIII: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* semi-colon: Syntax of ncap2 statements.
- (line 5664)
+ (line 5702)
* separator: ncks netCDF Kitchen Sink.
- (line 9705)
-* server: Large Datasets. (line 1313)
-* server <1>: OPeNDAP. (line 1924)
+ (line 9769)
+* server: Large Datasets. (line 1321)
+* server <1>: OPeNDAP. (line 1936)
* server <2>: Retaining Retrieved Files.
- (line 2084)
+ (line 2096)
* server <3>: Retaining Retrieved Files.
- (line 2092)
+ (line 2104)
* Server-Side Distributed Data Reduction & Analysis: Proposals for Institutional Funding.
- (line 11053)
-* server-side processing: OPeNDAP. (line 2050)
+ (line 11135)
+* server-side processing: OPeNDAP. (line 2062)
* server-side processing <1>: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* 'set_miss()': Missing values ncap2.
- (line 6322)
+ (line 6360)
* 'sftp': Windows Operating System.
(line 509)
-* 'sftp' <1>: Remote storage. (line 1810)
+* 'sftp' <1>: Remote storage. (line 1822)
* SGI: Compatability. (line 389)
* Sh shell: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* shared memory machines: Memory Requirements.
- (line 1346)
-* shared memory parallelism: OpenMP Threading. (line 1533)
+ (line 1358)
+* shared memory parallelism: OpenMP Threading. (line 1545)
* shell: Large Numbers of Files.
- (line 1234)
-* shell <1>: Subsetting Files. (line 2619)
-* shell <2>: UDUnits Support. (line 3809)
-* shell <3>: Examples ncap2. (line 7995)
+ (line 1242)
+* shell <1>: Subsetting Files. (line 2636)
+* shell <2>: UDUnits Support. (line 3840)
+* shell <3>: Examples ncap2. (line 8033)
* shell <4>: ncbo netCDF Binary Operator.
- (line 8619)
+ (line 8658)
* shell <5>: Filters for 'ncks'.
- (line 9759)
-* SIGNEDNESS: Performance. (line 1475)
+ (line 9823)
+* SIGNEDNESS: Performance. (line 1487)
* SIN: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* sine function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* single-precision: Intrinsic mathematical methods.
- (line 8146)
+ (line 8184)
* SINH: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* size(): Methods and functions.
- (line 6435)
-* SLD (Swath-like Data): Where statement. (line 6603)
-* SMP: OpenMP Threading. (line 1533)
-* 'sort': Sort methods. (line 6714)
+ (line 6473)
+* SLD (Swath-like Data): Where statement. (line 6641)
+* SMP: OpenMP Threading. (line 1545)
+* 'sort': Sort methods. (line 6752)
* sort alphabetically: ncks netCDF Kitchen Sink.
- (line 9416)
+ (line 9454)
* sort alphabetically <1>: Filters for 'ncks'.
- (line 9854)
+ (line 9918)
* source code: Availability. (line 307)
* spatial distribution: Global Distribution of Long-term Average.
- (line 11448)
+ (line 11530)
* special attributes: ncks netCDF Kitchen Sink.
- (line 9467)
+ (line 9505)
* special characters: ncatted netCDF Attribute Editor.
- (line 8458)
+ (line 8496)
* speed: Libraries. (line 566)
* speed <1>: Temporary Output Files.
- (line 948)
-* speed <2>: Large Datasets. (line 1322)
-* speed <3>: Performance. (line 1467)
+ (line 956)
+* speed <2>: Large Datasets. (line 1334)
+* speed <3>: Performance. (line 1479)
* speed <4>: Metadata Optimization.
- (line 1512)
-* speed <5>: Missing Values. (line 4042)
+ (line 1524)
+* speed <5>: Missing Values. (line 4073)
* speed <6>: ncrename netCDF Renamer.
- (line 10550)
-* 'sqravg': Operation Types. (line 4673)
+ (line 10632)
+* 'sqravg': Operation Types. (line 4711)
* sqravg(): Methods and functions.
- (line 6397)
-* 'sqrt': Operation Types. (line 4673)
+ (line 6435)
+* 'sqrt': Operation Types. (line 4711)
* SQRT: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* square root function: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* SSDDRA: Proposals for Institutional Funding.
- (line 11053)
+ (line 11135)
* SSH: Windows Operating System.
(line 509)
* SSH <1>: Retaining Retrieved Files.
- (line 2081)
+ (line 2093)
* sshort(): Methods and functions.
- (line 6491)
-* standard deviation: Operation Types. (line 4673)
-* standard deviation <1>: Operation Types. (line 4753)
+ (line 6529)
+* standard deviation: Operation Types. (line 4711)
+* standard deviation <1>: Operation Types. (line 4791)
* standard deviation <2>: Annual Average over Regions.
- (line 11551)
+ (line 11633)
* standard input: Large Numbers of Files.
- (line 1217)
+ (line 1225)
* standard input <1>: nces netCDF Ensemble Statistics.
- (line 8908)
+ (line 8947)
* standard input <2>: ncecat netCDF Ensemble Concatenator.
- (line 9074)
+ (line 9113)
* standard input <3>: ncra netCDF Record Averager.
- (line 10368)
+ (line 10449)
* standard input <4>: ncrcat netCDF Record Concatenator.
- (line 10438)
+ (line 10519)
* 'standard_name': Auxiliary Coordinates.
- (line 3628)
-* 'stat() system call': Buffer sizes. (line 4418)
+ (line 3659)
+* 'stat() system call': Buffer sizes. (line 4456)
* statement: Syntax of ncap2 statements.
- (line 5650)
+ (line 5688)
* static linking: Libraries. (line 565)
* 'stdin': Large Numbers of Files.
- (line 1217)
+ (line 1225)
* 'stdin' <1>: File List Attributes.
- (line 5363)
+ (line 5401)
* 'stdin' <2>: nces netCDF Ensemble Statistics.
- (line 8908)
+ (line 8947)
* 'stdin' <3>: ncecat netCDF Ensemble Concatenator.
- (line 9074)
+ (line 9113)
* 'stdin' <4>: ncra netCDF Record Averager.
- (line 10368)
+ (line 10449)
* 'stdin' <5>: ncrcat netCDF Record Concatenator.
- (line 10438)
-* Steve Emmerson: Contributors. (line 10954)
-* stride: Hyperslabs. (line 3167)
-* stride <1>: Stride. (line 3246)
-* stride <2>: Multislabs. (line 3473)
-* stride <3>: UDUnits Support. (line 3800)
+ (line 10519)
+* Steve Emmerson: Contributors. (line 11036)
+* stride: Hyperslabs. (line 3214)
+* stride <1>: Stride. (line 3277)
+* stride <2>: Multislabs. (line 3504)
+* stride <3>: UDUnits Support. (line 3831)
* stride <4>: ncra netCDF Record Averager.
- (line 10376)
+ (line 10457)
* stride <5>: ncra netCDF Record Averager.
- (line 10407)
+ (line 10488)
* stride <6>: ncrcat netCDF Record Concatenator.
- (line 10446)
+ (line 10527)
* stride <7>: ncrcat netCDF Record Concatenator.
- (line 10487)
+ (line 10568)
* strings: ncatted netCDF Attribute Editor.
- (line 8467)
-* Stu Muller: Contributors. (line 11006)
-* stub: Remote storage. (line 1882)
-* sub-cycle: Subcycle. (line 3358)
-* subcycle: Subcycle. (line 3358)
-* subsetting: Subsetting Files. (line 2386)
+ (line 8505)
+* Stu Muller: Contributors. (line 11088)
+* stub: Remote storage. (line 1894)
+* sub-cycle: Subcycle. (line 3389)
+* subcycle: Subcycle. (line 3389)
+* subsetting: Subsetting Files. (line 2403)
* subsetting <1>: Subsetting Coordinate Variables.
- (line 2644)
-* subsetting <2>: CF Conventions. (line 5472)
+ (line 2661)
+* subsetting <2>: CF Conventions. (line 5510)
* subsetting <3>: Filters for 'ncks'.
- (line 9860)
+ (line 9924)
* subsetting <4>: Filters for 'ncks'.
- (line 9934)
+ (line 10015)
* 'subtract': ncbo netCDF Binary Operator.
- (line 8589)
+ (line 8628)
* subtracting data: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* subtraction: Intrinsic mathematical methods.
- (line 8040)
+ (line 8078)
* subtraction <1>: ncbo netCDF Binary Operator.
- (line 8571)
+ (line 8610)
* summary: Summary. (line 290)
* Sun: Compatability. (line 389)
-* swap space: Large Datasets. (line 1300)
+* swap space: Large Datasets. (line 1308)
* swap space <1>: Memory Requirements.
- (line 1339)
-* swap space <2>: RAM disks. (line 4449)
-* Swath-like Data (SLD): Where statement. (line 6603)
+ (line 1351)
+* swap space <2>: RAM disks. (line 4487)
+* Swath-like Data (SLD): Where statement. (line 6641)
* switches: Command Line Options.
- (line 1598)
+ (line 1610)
* symbolic links: Symbolic Links. (line 529)
* symbolic links <1>: Statistics vs. Concatenation.
- (line 1077)
+ (line 1085)
* symbolic links <2>: Large Numbers of Files.
- (line 1259)
+ (line 1267)
* symbolic links <3>: ncbo netCDF Binary Operator.
- (line 8633)
+ (line 8672)
* symbolic links <4>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10070)
-* synchronous file access: Remote storage. (line 1810)
+ (line 10151)
+* synchronous file access: Remote storage. (line 1822)
* synonym: Symbolic Links. (line 539)
* syntax: Syntax of ncap2 statements.
- (line 5650)
-* System calls: Buffer sizes. (line 4418)
-* Takeshi Enomoto: Contributors. (line 11016)
+ (line 5688)
+* System calls: Buffer sizes. (line 4456)
+* Takeshi Enomoto: Contributors. (line 11098)
* TAN: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* TANH: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* temporary files: Temporary Output Files.
- (line 933)
-* temporary files <1>: RAM disks. (line 4529)
+ (line 941)
+* temporary files <1>: RAM disks. (line 4567)
* temporary output files: Temporary Output Files.
- (line 933)
-* temporary output files <1>: RAM disks. (line 4529)
+ (line 941)
+* temporary output files <1>: RAM disks. (line 4567)
* temporary output files <2>: ncrename netCDF Renamer.
- (line 10535)
+ (line 10617)
* TeXinfo: Availability. (line 315)
* threads: Memory Requirements.
- (line 1346)
+ (line 1358)
* threads <1>: Single and Multi-file Operators.
- (line 1421)
-* threads <2>: OpenMP Threading. (line 1533)
-* THR_NBR: OpenMP Threading. (line 1559)
-* 'time': UDUnits Support. (line 3791)
-* 'time' <1>: ARM Conventions. (line 5526)
-* time-averaging: Examples ncap2. (line 8018)
+ (line 1433)
+* threads <2>: OpenMP Threading. (line 1545)
+* THR_NBR: OpenMP Threading. (line 1571)
+* 'time': UDUnits Support. (line 3822)
+* 'time' <1>: ARM Conventions. (line 5564)
+* time-averaging: Examples ncap2. (line 8056)
* time-averaging <1>: Daily data in one file.
- (line 11083)
+ (line 11165)
* time-averaging <2>: Daily data in one file.
- (line 11097)
+ (line 11179)
* time-averaging <3>: Monthly data in one file.
- (line 11117)
+ (line 11199)
* time-averaging <4>: Monthly data in one file.
- (line 11120)
+ (line 11202)
* time-averaging <5>: One time point one file.
- (line 11146)
+ (line 11228)
* time-averaging <6>: Global Distribution of Long-term Average.
- (line 11448)
+ (line 11530)
* time-averaging <7>: Annual Average over Regions.
- (line 11551)
-* time-averaging <8>: Monthly Cycle. (line 11842)
-* timestamp: History Attribute. (line 5335)
-* 'time_offset': ARM Conventions. (line 5526)
-* total: Operation Types. (line 4673)
+ (line 11633)
+* time-averaging <8>: Monthly Cycle. (line 11924)
+* timestamp: History Attribute. (line 5373)
+* 'time_offset': ARM Conventions. (line 5564)
+* total: Operation Types. (line 4711)
* transpose: C and Fortran Index Conventions.
- (line 3116)
+ (line 3133)
* transpose <1>: ncpdq netCDF Permute Dimensions Quickly.
- (line 10162)
+ (line 10243)
* TREFHT: Promoting Single-precision to Double.
- (line 5113)
+ (line 5151)
* TRUNC: Intrinsic mathematical methods.
- (line 8043)
+ (line 8081)
* 'trunc()': Automatic type conversion.
- (line 4905)
-* truncate (groups): Flattening Groups. (line 2712)
+ (line 4943)
+* truncate (groups): Flattening Groups. (line 2729)
* truncation function: Intrinsic mathematical methods.
- (line 8043)
-* truth condition: Mask condition. (line 10770)
+ (line 8081)
+* truth condition: Mask condition. (line 10852)
* truth condition <1>: Normalization and Integration.
- (line 10901)
-* 'ttl': Operation Types. (line 4673)
+ (line 10983)
+* 'ttl': Operation Types. (line 4711)
* ttl(): Methods and functions.
- (line 6409)
-* type conversion: Type Conversion. (line 4820)
+ (line 6447)
+* type conversion: Type Conversion. (line 4858)
* type(): Methods and functions.
- (line 6439)
+ (line 6477)
* ubyte(): Methods and functions.
- (line 6502)
+ (line 6540)
* UDUnits: Compatability. (line 398)
-* UDUnits <1>: UDUnits Support. (line 3738)
-* UDUnits <2>: CF Conventions. (line 5394)
+* UDUnits <1>: UDUnits Support. (line 3769)
+* UDUnits <2>: CF Conventions. (line 5432)
* uint(): Methods and functions.
- (line 6506)
-* 'ulimit': Large Datasets. (line 1318)
-* unary operations: Memory for ncap2. (line 1428)
+ (line 6544)
+* 'ulimit': Large Datasets. (line 1321)
+* unary operations: Memory for ncap2. (line 1440)
* underlying file format: Determining File Format.
- (line 2199)
-* UNICOS: Large Datasets. (line 1313)
+ (line 2211)
+* UNICOS: Large Datasets. (line 1321)
* Unidata: Compatability. (line 398)
* Unidata <1>: netCDF2/3/4 and HDF4/5 Support.
(line 616)
-* Unidata <2>: UDUnits Support. (line 3738)
-* union: Subsetting Files. (line 2386)
-* union <1>: Subsetting Files. (line 2492)
+* Unidata <2>: UDUnits Support. (line 3769)
+* union: Subsetting Files. (line 2403)
+* union <1>: Subsetting Files. (line 2509)
* union of files: Appending Variables.
- (line 1043)
+ (line 1051)
* unit64(): Methods and functions.
- (line 6510)
-* 'units': UDUnits Support. (line 3738)
-* 'units' <1>: UDUnits Support. (line 3759)
-* 'units' <2>: UDUnits Support. (line 3791)
+ (line 6548)
+* 'units': UDUnits Support. (line 3769)
+* 'units' <1>: UDUnits Support. (line 3790)
+* 'units' <2>: UDUnits Support. (line 3822)
* 'units' <3>: ncatted netCDF Attribute Editor.
- (line 8515)
+ (line 8553)
* 'units' <4>: ncatted netCDF Attribute Editor.
- (line 8518)
+ (line 8556)
* 'units' <5>: ncflint netCDF File Interpolator.
- (line 9299)
+ (line 9338)
* UNIX: Compatability. (line 398)
* UNIX <1>: Windows Operating System.
(line 507)
* UNIX <2>: Large Numbers of Files.
- (line 1234)
+ (line 1242)
* UNIX <3>: Command Line Options.
- (line 1598)
+ (line 1610)
* UNIX <4>: Specifying Input Files.
- (line 1676)
+ (line 1688)
* UNIX <5>: Filters for 'ncks'.
- (line 9759)
+ (line 9823)
* unlimited dimension: ncecat netCDF Ensemble Concatenator.
- (line 9028)
-* 'unmap': Sort methods. (line 6714)
+ (line 9067)
+* 'unmap': Sort methods. (line 6752)
* unpack(): Methods and functions.
- (line 6428)
-* 'unpack(x)': Packed data. (line 4536)
-* unpacking: OPeNDAP. (line 1988)
-* unpacking <1>: Packed data. (line 4536)
+ (line 6466)
+* 'unpack(x)': Packed data. (line 4574)
+* unpacking: OPeNDAP. (line 2000)
+* unpacking <1>: Packed data. (line 4574)
* unpacking <2>: ncecat netCDF Ensemble Concatenator.
- (line 9101)
+ (line 9140)
* unpacking <3>: ncpdq netCDF Permute Dimensions Quickly.
- (line 9984)
+ (line 10065)
* unpacking <4>: ncrcat netCDF Record Concatenator.
- (line 10450)
-* URL: Remote storage. (line 1810)
+ (line 10531)
+* URL: Remote storage. (line 1822)
* 'User Guide': Availability. (line 315)
* ushort(): Methods and functions.
- (line 6504)
-* value list: Attributes. (line 6106)
+ (line 6542)
+* value list: Attributes. (line 6144)
* variable names: ncrename netCDF Renamer.
- (line 10504)
+ (line 10585)
* variables, appending: Annual Average over Regions.
- (line 11551)
-* variance: Operation Types. (line 4673)
-* version: Operator Version. (line 5557)
+ (line 11633)
+* variance: Operation Types. (line 4711)
+* version: Operator Version. (line 5595)
* Vista (Microsoft operating system): Windows Operating System.
(line 488)
* Weather and Research Forecast (WRF) Model: Where statement.
- (line 6603)
+ (line 6641)
* weighted average: ncwa netCDF Weighted Averager.
- (line 10676)
-* weighted average <1>: Monthly Cycle. (line 11842)
-* Wenshan Wang: Contributors. (line 11026)
-* 'wget': Remote storage. (line 1810)
-* where(): Where statement. (line 6552)
-* while(): Loops. (line 6659)
-* whitespace: UDUnits Support. (line 3800)
+ (line 10758)
+* weighted average <1>: Monthly Cycle. (line 11924)
+* Wenshan Wang: Contributors. (line 11108)
+* 'wget': Remote storage. (line 1822)
+* where(): Where statement. (line 6590)
+* while(): Loops. (line 6697)
+* whitespace: UDUnits Support. (line 3831)
* wildcards: Specifying Input Files.
- (line 1670)
-* wildcards <1>: Subsetting Files. (line 2544)
+ (line 1682)
+* wildcards <1>: Subsetting Files. (line 2561)
* wildcards <2>: ncatted netCDF Attribute Editor.
- (line 8319)
+ (line 8357)
* wildcards <3>: ncatted netCDF Attribute Editor.
- (line 8526)
+ (line 8564)
* 'WIN32': Windows Operating System.
(line 503)
* Windows: Compatability. (line 389)
* Windows <1>: Windows Operating System.
(line 488)
-* wrapped coordinates: Hyperslabs. (line 3218)
+* wrapped coordinates: Hyperslabs. (line 3249)
* wrapped coordinates <1>: Wrapped Coordinates.
- (line 3578)
-* wrapped coordinates <2>: Irregular grids. (line 6988)
+ (line 3609)
+* wrapped coordinates <2>: Irregular grids. (line 7026)
* wrapped coordinates <3>: Filters for 'ncks'.
- (line 9973)
+ (line 10054)
* wrapped filenames: Specifying Input Files.
- (line 1736)
-* WRF: Irregular grids. (line 7046)
+ (line 1748)
+* WRF: Irregular grids. (line 7084)
* WRF (Weather and Research Forecast Model): Where statement.
- (line 6603)
+ (line 6641)
* WWW documentation: Availability. (line 315)
* 'xargs': Large Numbers of Files.
- (line 1234)
+ (line 1242)
* 'xargs' <1>: Specifying Output Files.
- (line 1795)
+ (line 1807)
* 'xlC': Compatability. (line 407)
* 'xlc': Compatability. (line 407)
* XML: ncks netCDF Kitchen Sink.
- (line 9675)
+ (line 9739)
* XP (Microsoft operating system): Windows Operating System.
(line 488)
-* 'xpl': Chunking. (line 4130)
-* 'xst': Chunking. (line 4130)
-* 'xst' <1>: Chunking. (line 4189)
-* Yorick: Philosophy. (line 905)
-* Yorick <1>: Performance. (line 1478)
+* 'xpl': Chunking. (line 4161)
+* 'xst': Chunking. (line 4161)
+* 'xst' <1>: Chunking. (line 4220)
+* Yorick: Philosophy. (line 913)
+* Yorick <1>: Performance. (line 1490)
diff --git a/doc/nco.xml b/doc/nco.xml
index 00c3163..2eb7fbf 100644
--- a/doc/nco.xml
+++ b/doc/nco.xml
@@ -13,7 +13,7 @@
$Header$
-Purpose: TeXInfo documentation for NCO suite
+Purpose: TeXInfo documentation for netCDF Operators (NCO)
URL: http://nco.sf.net/nco.texi
@@ -96,7 +96,7 @@ Legend (defined in "highlighting" section of TeXInfo manual):
@samp{}: Extended commands, character sequences, e.g., @samp{ncra in.nc out.nc}
@uref{}: URL with optional alternate text, e.g., @uref{http://nco.sf.net,NCO homepage}
@url{}: URL, synonym for @uref
- at var{}: Metasyntactic variable, e.g., @var{}
+ at var{}: Metasyntactic variable, e.g., @var{input}
@verbatim: Anything goes inside environment (no @'s needed to protect special characters like braces)
@verbatiminclude: Insert contents of file here, e.g., @verbatiminclude{nco.sh}
@example: Quoted environment (@'s needed to protect special characters like braces)
@@ -118,14 +118,14 @@ Octave TeXInfo manual shows clean TeXInfo structure
<setfilename file="nco.info" spaces=" ">nco.info</setfilename>
<!-- c Define edition, date, ... -->
-<set name="nco-edition" line=" nco-edition 4.4.5">4.4.5</set>
-<set name="doc-edition" line=" doc-edition 4.4.5">4.4.5</set>
+<set name="nco-edition" line=" nco-edition 4.4.6">4.4.6</set>
+<set name="doc-edition" line=" doc-edition 4.4.6">4.4.6</set>
<set name="copyright-years" line=" copyright-years 1995--2014">1995--2014</set>
<set name="update-year" line=" update-year 2014">2014</set>
-<set name="update-date" line=" update-date 8 July 2014">8 July 2014</set>
-<set name="update-month" line=" update-month July 2014">July 2014</set>
+<set name="update-date" line=" update-date 1 October 2014">1 October 2014</set>
+<set name="update-month" line=" update-month October 2014">October 2014</set>
-<settitle spaces=" "><acronym><acronymword>NCO</acronymword></acronym> 4.4.5 User Guide</settitle>
+<settitle spaces=" "><acronym><acronymword>NCO</acronymword></acronym> 4.4.6 User Guide</settitle>
<!-- c Uncomment following line to produce guide in smallbook format -->
<!-- c @smallbook -->
@@ -509,8 +509,8 @@ ncflint, ncks, ncra, ncrcat, ncrename, ncwa">
</ignore>
<title spaces=" ">NCO User Guide</title>
<subtitle spaces=" ">A suite of netCDF operators</subtitle>
-<subtitle spaces=" ">Edition 4.4.5, for <acronym><acronymword>NCO</acronymword></acronym> Version 4.4.5</subtitle>
-<subtitle spaces=" ">July 2014</subtitle>
+<subtitle spaces=" ">Edition 4.4.6, for <acronym><acronymword>NCO</acronymword></acronym> Version 4.4.6</subtitle>
+<subtitle spaces=" ">October 2014</subtitle>
<author spaces=" ">by Charlie Zender</author>
<author spaces=" ">Department of Earth System Science</author>
@@ -586,8 +586,8 @@ examples from the field of climate modeling and analysis.
The <acronym><acronymword>NCO</acronymword></acronym> homepage is <uref><urefurl>http://nco.sf.net</urefurl></uref>, and
there is a mirror at <uref><urefurl>http://dust.ess.uci.edu/nco</urefurl></uref>.
</para>
-<para>This documentation is for <acronym><acronymword>NCO</acronymword></acronym> version 4.4.5.
-It was last updated 8 July 2014.
+<para>This documentation is for <acronym><acronymword>NCO</acronymword></acronym> version 4.4.6.
+It was last updated 1 October 2014.
Corrections, additions, and rewrites of this documentation are very
welcome.
</para>
@@ -792,7 +792,7 @@ nco.tar</samp>.
with <samp>tar -xvzf nco.tar.gz</samp>.
</para>
<cindex index="cp" spaces=" "><indexterm index="cp" number="9">documentation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="10">WWW documentation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="10"><acronym><acronymword>WWW</acronymword></acronym> documentation</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="11">on-line documentation</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="12"><acronym><acronymword>HTML</acronymword></acronym></indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="13">&tex;info</indexterm></cindex>
@@ -869,7 +869,7 @@ descriptions of <uref><urefurl>http://nco.sf.net/#bug</urefurl><urefdesc spaces=
are on our homepage
(<uref><urefurl>http://nco.sf.net/</urefurl></uref>).
</para>
-<para>There are twelve operators in the current version (4.4.5).
+<para>There are twelve operators in the current version (4.4.6).
The function of each is explained in <ref label="Operator-Reference-Manual"><xrefnodename>Operator Reference Manual</xrefnodename><xrefinfoname spaces=" ">Operator Reference Manual</xrefinfoname></ref>.
Many of the tasks that <acronym><acronymword>NCO</acronymword></acronym> can accomplish are described during
the explanation of common <acronym><acronymword>NCO</acronymword></acronym> Features (<pxref label="Common-features"><xrefnodename>Common features</xrefnodename></pxref>).
@@ -1063,7 +1063,7 @@ by invoking the compiler with <samp>-Drestrict=''</samp>.</para></footnote>.
<cindex index="cp" spaces=" "><indexterm index="cp" number="76"><acronym><acronymword>GSL</acronymword></acronym></indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="1" mergedindex="cp">ncap2</indexterm></findex>
<para>In January 2009, <acronym><acronymword>NCO</acronymword></acronym> version 3.9.6 was the first to link
-to the GNU Scientific Library (<acronym><acronymword>GSL</acronymword></acronym>).
+to the <acronym><acronymword>GNU</acronymword></acronym> Scientific Library (<acronym><acronymword>GSL</acronymword></acronym>).
<acronym><acronymword>GSL</acronymword></acronym> must be <w>version 1.4</w> or later.
<acronym><acronymword>NCO</acronymword></acronym>, in particular <command>ncap2</command>, uses the <acronym><acronymword>GSL</acronymword></acronym>
special function library to evaluate geoscience-relevant mathematics
@@ -1131,24 +1131,24 @@ platform, and the change in the wallclock time for execution.}.
<subsection spaces=" "><sectiontitle>Compiling <acronym><acronymword>NCO</acronymword></acronym> for Microsoft Windows <acronym><acronymword>OS</acronymword></acronym></sectiontitle>
<cindex index="cp" spaces=" "><indexterm index="cp" number="79">Windows</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="80">Microsoft</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="81">XP (Microsoft operating system)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="82">NT (Microsoft operating system)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="81"><acronym><acronymword>XP</acronymword></acronym> (Microsoft operating system)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="82"><acronym><acronymword>NT</acronymword></acronym> (Microsoft operating system)</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="83">Vista (Microsoft operating system)</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="84"><acronym><acronymword>MVS</acronymword></acronym></indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="85">Microsoft Visual Studio</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> has been successfully ported and tested on most Microsoft
-Windows operating systems including: XP SP2/Vista/7.
+Windows operating systems including: <acronym><acronymword>XP</acronymword></acronym> SP2/Vista/7.
Support is provided for compiling either native Windows executables,
using the Microsoft Visual Studio 2010 Compiler, or with Cygwin, the
-UNIX-emulating compatibility layer with the GNU toolchain.
+<acronym><acronymword>UNIX</acronymword></acronym>-emulating compatibility layer with the <acronym><acronymword>GNU</acronymword></acronym> toolchain.
The switches necessary to accomplish both are included in the standard
distribution of <acronym><acronymword>NCO</acronymword></acronym>.
</para>
<cindex index="cp" spaces=" "><indexterm index="cp" number="86">Qt</indexterm></cindex>
<cindex index="cp" spaces=" "><indexterm index="cp" number="87">C99</indexterm></cindex>
<para>Using Microsoft Visual Studio (<acronym><acronymword>MVS</acronymword></acronym>), one must build
-<acronym><acronymword>NCO</acronymword></acronym> with the C++ compiler since MVS does not support C99.
+<acronym><acronymword>NCO</acronymword></acronym> with the C++ compiler since <acronym><acronymword>MVS</acronymword></acronym> does not support C99.
Qt, a convenient integrated development environment, was used to convert
the project files to <acronym><acronymword>MVS</acronymword></acronym> format.
The Qt files themselves are distributed in the <file>nco/qt</file> directory.
@@ -1469,9 +1469,10 @@ a version of netCDF (4.3.2 or later?) that does not unexpectedly die
when probing <acronym><acronymword>HDF4</acronymword></acronym> files with standard netCDF calls.
<acronym><acronymword>NCO</acronymword></acronym> versions 4.3.7&textndash;4.3.9 (October&textndash;December, 2013)
use a special flag to workaround netCDF <acronym><acronymword>HDF4</acronymword></acronym> issues.
-The user must tell these versions of <acronym><acronymword>NCO</acronymword></acronym> that an input file is
+The user must tell these versions of <acronym><acronymword>NCO</acronymword></acronym> that an input file is
<acronym><acronymword>HDF4</acronymword></acronym> format by using the <samp>--hdf4</samp> switch.
</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="144"><code>HDF4_UNKNOWN</code></indexterm></cindex>
<para>When compiled with netCDF version 4.3.1 (20140116) or later,
<acronym><acronymword>NCO</acronymword></acronym> versions 4.4.0 (January, 2014) and later more gracefully
handle <acronym><acronymword>HDF4</acronymword></acronym> files.
@@ -1481,6 +1482,13 @@ whether the underlying file is <acronym><acronymword>HDF4</acronymword></acronym
precautions to avoid netCDF4 <acronym><acronymword>API</acronymword></acronym> calls that fail when applied
to <acronym><acronymword>HDF4</acronymword></acronym> files (e.g., <code>nc_inq_var_chunking()</code>,
<code>nc_inq_var_deflate()</code>).
+When compiled with netCDF version 4.3.2 (20140423) or earlier,
+<acronym><acronymword>NCO</acronymword></acronym> will report that chunking and deflation properties of
+<acronym><acronymword>HDF4</acronymword></acronym> files as <code>HDF4_UNKNOWN</code>, because determining
+those properties was impossible.
+When compiled with netCDF version 4.3.3-rc2 (20140925) or later,
+<acronym><acronymword>NCO</acronymword></acronym> versions 4.4.6 (October, 2014) and later fully support
+chunking and deflation features of <acronym><acronymword>HDF4</acronymword></acronym> files.
The <samp>--hdf4</samp> switch is supported (for backwards compatibility) yet
redundant (i.e., does no harm) with current versions of <acronym><acronymword>NCO</acronymword></acronym>
and netCDF.
@@ -1499,15 +1507,17 @@ types, e.g., unsigned bytes, so this procedure is the most typical.
Conversion of <acronym><acronymword>HDF4</acronymword></acronym> to netCDF4 as above suffices when the data
will only be processed by <acronym><acronymword>NCO</acronymword></acronym> and other netCDF4-aware tools.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="144"><command>ncl_convert2nc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="145"><command>ncl_convert2nc</command></indexterm></cindex>
<para>However, many tools are not fully netCDF4-aware, and so conversion to
netCDF3 may be desirable.
Obtaining a netCDF3 file from an <acronym><acronymword>HDF4</acronymword></acronym> is now easy:
</para><example endspaces=" ">
<pre xml:space="preserve">ncks -3 fl.hdf fl.nc # HDF4->netCDF3 (NCO 4.4.0+, netCDF 4.3.1+)
+ncks -4 fl.hdf fl.nc # HDF4->netCDF4 (NCO 4.4.0+, netCDF 4.3.1+)
ncks -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (NCO 4.4.0+, ...)
ncks -7 -L 1 fl.hdf fl.nc # HDF4->netCDF4 classic (NCO 4.4.0+, ...)
ncks --hdf4 -3 fl.hdf fl.nc # HDF4->netCDF3 (netCDF 4.3.0-)
+ncks --hdf4 -4 fl.hdf fl.nc # HDF4->netCDF4 (netCDF 4.3.0-)
ncks --hdf4 -6 fl.hdf fl.nc # HDF4->netCDF3 64-bit (netCDF 4.3.0-)
ncks --hdf4 -7 fl.hdf fl.nc # HDF4->netCDF4 classic (netCDF 4.3.0-)
</pre></example>
@@ -1533,8 +1543,8 @@ Strings stay strings.
Hence, <command>ncks</command> conversions often result in smaller files than
<command>ncl_convert2nc</command> conversions.</para></footnote>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="145"><code>hdf_name</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="146">illegal names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="146"><code>hdf_name</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="147">illegal names</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.4 (May, 2014) both
<command>ncl_convert2nc</command> and <acronym><acronymword>NCO</acronymword></acronym> have built-in, automatic
workarounds to handle element names that contain characters that are
@@ -1555,8 +1565,8 @@ attributes named <code>hdf_name</code>
slightly different manner, and also stores the original name in the
<code>hdf_name</code> attribute.</para></footnote>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="147"><acronym><acronymword>H4CF</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="148"><command>h4tonccf</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="148"><acronym><acronymword>H4CF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="149"><command>h4tonccf</command></indexterm></cindex>
<para>Finally, in February 2014, we learned that the <acronym><acronymword>HDF</acronymword></acronym> group
has a project called <acronym><acronymword>H4CF</acronymword></acronym>
(described <uref><urefurl>http://hdfeos.org/software/h4cflib.php</urefurl><urefdesc spaces=" ">here</urefdesc></uref>)
@@ -1568,14 +1578,14 @@ We are not yet sure what advantages or features <command>h4tonccf</command> has
that are not in <acronym><acronymword>NCO</acronymword></acronym>, though we suspect both methods have their
own advantages. Corrections welcome.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="149"><acronym><acronymword>RPM</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="150">Debian</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="150"><acronym><acronymword>RPM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="151">Debian</indexterm></cindex>
<para>As of 2012, netCDF4 is relatively stable software.
Problems with netCDF4 and <acronym><acronymword>HDF</acronymword></acronym> libraries have mainly been fixed.
Binary <acronym><acronymword>NCO</acronymword></acronym> distributions shipped as <acronym><acronymword>RPM</acronymword></acronym>s and as debs
have used the netCDF4 library since 2010 and 2011, respectively.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="151"><code>NETCDF4_ROOT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="152"><code>NETCDF4_ROOT</code></indexterm></cindex>
<para>One must often build <acronym><acronymword>NCO</acronymword></acronym> from source to obtain netCDF4
support.
Typically, one specifies the root of the netCDF4
@@ -1602,16 +1612,16 @@ operators.
</section>
<node name="Help-Requests-and-Bug-Reports" spaces=" "><nodename>Help Requests and Bug Reports</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">netCDF2/3/4 and HDF4/5 Support</nodeprev><nodeup spaces=" ">Introduction</nodeup></node>
<section spaces=" "><sectiontitle>Help Requests and Bug Reports</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="152">reporting bugs</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="153">bugs, reporting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="154">core dump</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="155">help</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="156">features, requesting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="153">reporting bugs</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="154">bugs, reporting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="155">core dump</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="156">help</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="157">features, requesting</indexterm></cindex>
<para>We generally receive three categories of mail from users: help requests,
bug reports, and feature requests.
-Notes saying the equivalent of "Hey, <acronym><acronymword>NCO</acronymword></acronym> continues to work
+Notes saying the equivalent of &textldquo;Hey, <acronym><acronymword>NCO</acronymword></acronym> continues to work
great and it saves me more time everyday than it took to write this
-note" are a distant fourth.
+note&textrdquo; are a distant fourth.
</para>
<para>There is a different protocol for each type of request.
The preferred etiquette for all communications is via <acronym><acronymword>NCO</acronymword></acronym>
@@ -1628,8 +1638,8 @@ project.
<para>Before posting to the <acronym><acronymword>NCO</acronymword></acronym> forums described below, you might
first <uref><urefurl>https://sf.net/account/register.php</urefurl><urefdesc spaces=" ">register</urefdesc></uref>
your name and email address with SourceForge.net or else all of your
-postings will be attributed to "nobody".
-Once registered you may choose to "monitor" any forum and to receive
+postings will be attributed to <emph>nobody</emph>.
+Once registered you may choose to <emph>monitor</emph> any forum and to receive
(or not) email when there are any postings including responses to your
questions.
We usually reply to the forum message, not to the original poster.
@@ -1653,9 +1663,9 @@ publicly released version of <acronym><acronymword>NCO</acronymword></acronym>.
<acronym><acronymword>NCO</acronymword></acronym> to perform a documented function, submit a help request.
Follow the same procedure as described below for reporting bugs
(after all, it might be a bug).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="157">debugging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="158"><code>-r</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="159"><code>-D</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="158">debugging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="159"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="160"><code>-D</code></indexterm></cindex>
That is, describe what you are trying to do, and include the complete
commands (run with <samp>-D 5</samp>), error messages, and version of
<acronym><acronymword>NCO</acronymword></acronym> (with <samp>-r</samp>).
@@ -1679,15 +1689,15 @@ two small dimensions ought to suffice.
<a name="dbg"></a> <!&textndash; http://nco.sf.net/nco.html#dbg &textndash;>
<a name="-D"></a> <!&textndash; http://nco.sf.net/nco.html#-D &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="160"><code>-r</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="161"><code>--revision</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="162"><code>--version</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="163"><code>--vrs</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="164"><code>-D <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="165"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="166"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="167"><var>debug-level</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="168"><var>dbg_lvl</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="161"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="162"><code>--revision</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="163"><code>--version</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="164"><code>--vrs</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="165"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="166"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="167"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="168"><var>debug-level</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="169"><var>dbg_lvl</var></indexterm></cindex>
Run the operator with <samp>-r</samp> and then run the command with
<samp>-D 5</samp> to increase the verbosity of the debugging output.
It is very important that your report contain the exact error messages
@@ -1697,13 +1707,13 @@ publically accessible location, of the file(s).
Post the full bug report to the
<uref><urefurl>http://sf.net/bugs/?group_id=3331</urefurl><urefdesc spaces=" ">NCO Project buglist</urefdesc></uref>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="169">installation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="170"><command>autoconf</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="171"><file>nco.configure.${GNU_TRP}.foo</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="172"><file>nco.config.log.${GNU_TRP}.foo</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="173"><file>nco.make.${GNU_TRP}.foo</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="174"><file>config.guess</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="175"><file>configure.eg</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="170">installation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="171"><command>autoconf</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="172"><file>nco.configure.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="173"><file>nco.config.log.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="174"><file>nco.make.${GNU_TRP}.foo</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="175"><file>config.guess</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="176"><file>configure.eg</file></indexterm></cindex>
<para>Build failures count as bugs.
Our limited machine access means we cannot fix all build failures.
The information we need to diagnose, and often fix, build failures
@@ -1712,11 +1722,11 @@ are the three files output by <acronym><acronymword>GNU</acronymword></acronym>
<file>nco.configure.${GNU_TRP}.foo</file>,
and <file>nco.make.${GNU_TRP}.foo</file>.
The file <file>configure.eg</file> shows how to produce these files.
-Here <code>${GNU_TRP}</code> is the "<acronym><acronymword>GNU</acronymword></acronym> architecture triplet",
+Here <code>${GNU_TRP}</code> is the &textldquo;<acronym><acronymword>GNU</acronymword></acronym> architecture triplet&textrdquo;,
the <var>chip-vendor-OS</var> string returned by <file>config.guess</file>.
Please send us your improvements to the examples supplied in
<file>configure.eg</file>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="176">regressions archive</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="177">regressions archive</indexterm></cindex>
The regressions archive at <url><urefurl>http://dust.ess.uci.edu/nco/rgr</urefurl></url>
contains the build output from our standard test systems.
You may find you can solve the build problem yourself by examining the
@@ -1748,8 +1758,8 @@ differences between these files and your own.
</html>
<node name="Philosophy" spaces=" "><nodename>Philosophy</nodename><nodenext spaces=" ">Climate Model Paradigm</nodenext><nodeprev spaces=" ">Strategies</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Philosophy</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="177">philosophy</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="178">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="178">philosophy</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="179">climate model</indexterm></cindex>
<para>The main design goal is command line operators which perform useful,
scriptable operations on netCDF files.
@@ -1763,11 +1773,11 @@ statistical packages, and are often more suitable for archival and
dissemination to the scientific community.
<acronym><acronymword>NCO</acronymword></acronym> performs a suite of operations useful in manipulating data
from the primary to the second level state.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="179"><acronym><acronymword>IDL</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="180">Matlab</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="181"><acronym><acronymword>NCL</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="182">Perl</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="183">Yorick</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="180"><acronym><acronymword>IDL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="181">Matlab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="182"><acronym><acronymword>NCL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="183">Perl</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="184">Yorick</indexterm></cindex>
Higher level interpretive languages (e.g., <acronym><acronymword>IDL</acronymword></acronym>, Yorick,
Matlab, <acronym><acronymword>NCL</acronymword></acronym>, Perl, Python),
and lower level compiled languages (e.g., C, Fortran) can always perform
@@ -1775,7 +1785,7 @@ any task performed by <acronym><acronymword>NCO</acronymword></acronym>, but oft
NCO, on the other hand, is limited to a much smaller set of arithmetic
and metadata operations than these full blown languages.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="184">command line switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="185">command line switches</indexterm></cindex>
<para>Another goal has been to implement enough command line switches so that
frequently used sequences of these operators can be executed from a
shell script or batch file.
@@ -1790,9 +1800,9 @@ usage is detailed in <ref label="Memory-Requirements"><xrefnodename>Memory Requi
</section>
<node name="Climate-Model-Paradigm" spaces=" "><nodename>Climate Model Paradigm</nodename><nodenext spaces=" ">Temporary Output Files</nodenext><nodeprev spaces=" ">Philosophy</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Climate Model Paradigm</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="185">climate model</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="186"><acronym><acronymword>NCAR</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="187"><acronym><acronymword>GCM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="186">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="187"><acronym><acronymword>NCAR</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="188"><acronym><acronymword>GCM</acronymword></acronym></indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> was developed at <acronym><acronymword>NCAR</acronymword></acronym> to aid analysis and
manipulation of datasets produced by General Circulation Models
@@ -1810,11 +1820,11 @@ environment are as easy to visualize for the layman as the expert.
</section>
<node name="Temporary-Output-Files" spaces=" "><nodename>Temporary Output Files</nodename><nodenext spaces=" ">Appending Variables</nodenext><nodeprev spaces=" ">Climate Model Paradigm</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Temporary Output Files </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="188">data safety</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="189">error tolerance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="190">safeguards</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="191">temporary output files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="192">temporary files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="189">data safety</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="190">error tolerance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="191">safeguards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="192">temporary output files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="193">temporary files</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> operators are designed to be reasonably fault tolerant, so
that a system failure or user-abort of the operation (e.g., with
<kbd>C-c</kbd>) does not cause loss of data.
@@ -1838,14 +1848,14 @@ than just overwriting existing files &textldquo;in place&textrdquo; (because the
two copies of the same file on disk until the <acronym><acronymword>NCO</acronymword></acronym> operation
successfully concludes and the temporary output file overwrites the
existing <var>output-file</var>).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="193">performance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="194">operator speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="195">speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="196">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="194">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="195">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="196">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="197">execution time</indexterm></cindex>
Also, note this feature increases the execution time of the operator
by approximately the time it takes to copy the <var>output-file</var>
<footnote><para>The OS-specific system move command is used.
-This is <command>mv</command> for UNIX, and <command>move</command> for Windows.</para></footnote>.
+This is <command>mv</command> for <acronym><acronymword>UNIX</acronymword></acronym>, and <command>move</command> for Windows.</para></footnote>.
Finally, note this fault-tolerant feature allows the <var>output-file</var>
to be the same as the <var>input-file</var> without any danger of
&textldquo;overlap&textrdquo;.
@@ -1855,13 +1865,13 @@ to be the same as the <var>input-file</var> without any danger of
<a name="no_tmp_fl"></a> <!&textndash; http://nco.sf.net/nco.html#no_tmp_fl &textndash;>
<a name="wrt_tmp_fl"></a> <!&textndash; http://nco.sf.net/nco.html#wrt_tmp_fl &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="197"><code>--no_tmp_fl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="198"><code>--wrt_tmp_fl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="199"><code>--write_tmp_fl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="200"><code>--create_ram</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="201"><code>--open_ram</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="202"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="203"><acronym><acronymword>RAM</acronymword></acronym> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="198"><code>--no_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="199"><code>--wrt_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="200"><code>--write_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="201"><code>--create_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="202"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="203"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="204"><acronym><acronymword>RAM</acronymword></acronym> files</indexterm></cindex>
<para>Over time many &textldquo;power users&textrdquo; have requested a way to turn-off the
fault-tolerance safety feature of automatically creating a temporary
file.
@@ -1918,15 +1928,15 @@ We welcome accounts of your experiences posted to the forums.
<a name="-A"></a> <!&textndash; http://nco.sf.net/nco.html#-A &textndash;>
<a name="-O"></a> <!&textndash; http://nco.sf.net/nco.html#-O &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="204"><code>-A</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="205"><code>-O</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="206"><code>--apn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="207"><code>--append</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="208"><code>--ovr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="209"><code>--overwrite</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="210">overwriting files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="211">appending variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="212">appending to files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="205"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="206"><code>-O</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="207"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="208"><code>--append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="209"><code>--ovr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="210"><code>--overwrite</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="211">overwriting files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="212">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="213">appending to files</indexterm></cindex>
<para>Other safeguards exist to protect the user from inadvertently
overwriting data.
If the <var>output-file</var> specified for a command is a pre-existing file,
@@ -1952,10 +1962,10 @@ interactive keyboard input.
<node name="Appending-Variables" spaces=" "><nodename>Appending Variables</nodename><nodenext spaces=" ">Simple Arithmetic and Interpolation</nodenext><nodeprev spaces=" ">Temporary Output Files</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Appending Variables</sectiontitle>
<para>Adding variables from one file to another is often desirable.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="213">concatenation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="214">appending variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="215">merging files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="216">pasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="214">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="215">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="216">merging files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="217">pasting variables</indexterm></cindex>
This is referred to as <dfn>appending</dfn>, although some prefer the
terminology <dfn>merging</dfn> <footnote><para>The terminology <dfn>merging</dfn> is
reserved for an (unwritten) operator which replaces hyperslabs of a
@@ -1963,7 +1973,7 @@ variable in one file with hyperslabs of the same variable from another
file</para></footnote> or <dfn>pasting</dfn>.
Appending is often confused with what <acronym><acronymword>NCO</acronymword></acronym> calls
<dfn>concatenation</dfn>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="217">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="218">record dimension</indexterm></cindex>
In <acronym><acronymword>NCO</acronymword></acronym>, concatenation refers to splicing a variable
along the record dimension.
The length along the record dimension of the output is the sum of the
@@ -1994,8 +2004,8 @@ the results of the operation in the existing <var>output-file</var>,
<html endspaces=" ">
<a name="unn"></a> <!&textndash; http://nco.sf.net/nco.html#unn &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="218">union of files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="219">disjoint files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="219">union of files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="220">disjoint files</indexterm></cindex>
<para>The simplest way to create the union of two files is
</para><example endspaces=" ">
<pre xml:space="preserve">ncks -A fl_1.nc fl_2.nc
@@ -2040,7 +2050,7 @@ operations from the command line.
<a name="sym_nces"></a> <!&textndash; http://nco.sf.net/nco.html#sym_nces &textndash;>
<a name="sym_ncrcat"></a> <!&textndash; http://nco.sf.net/nco.html#sym_ncrcat &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="220">symbolic links</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="221">symbolic links</indexterm></cindex>
<para>The most frequently used operators of <acronym><acronymword>NCO</acronymword></acronym> are probably the
<dfn>statisticians</dfn> (i.e., tools that do statistics) and concatenators.
Because there are so many types of statistics like averaging (e.g.,
@@ -2080,8 +2090,8 @@ First, let&textrsquo;s describe the concatenators, then the statistics tools.
</html>
<node name="Concatenation" spaces=" "><nodename>Concatenation</nodename><nodenext spaces=" ">Averaging</nodenext><nodeprev spaces=" ">Statistics vs. Concatenation</nodeprev><nodeup spaces=" ">Statistics vs. Concatenation</nodeup></node>
<subsection spaces=" "><sectiontitle>Concatenators <command>ncrcat</command> and <command>ncecat</command></sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="221"><command>ncecat</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="222"><command>ncrcat</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="222"><command>ncecat</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="223"><command>ncrcat</command></indexterm></cindex>
<para>Joining together independent files along a common record dimension is
called <dfn>concatenation</dfn>.
@@ -2101,8 +2111,8 @@ file to file.
</para>
<para>However, suppose the annual files have no record variable, and thus
their data are all fixed length.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="223">ensemble</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="224">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="224">ensemble</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="225">climate model</indexterm></cindex>
For example, the files may not be conceptually sequential, but rather
members of the same group, or <dfn>ensemble</dfn>.
Members of an ensemble may have no reason to contain a record dimension.
@@ -2127,7 +2137,7 @@ data on different realizations of the same variables.
<xref label="ncecat-netCDF-Ensemble-Concatenator"><xrefnodename>ncecat netCDF Ensemble Concatenator</xrefnodename></xref>, for a complete description
of <command>ncecat</command>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="225"><command>ncpdq</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="226"><command>ncpdq</command></indexterm></cindex>
<html endspaces=" ">
<a name="dmn_cat"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_cat &textndash;>
</html>
@@ -2166,9 +2176,9 @@ To conserve system memory, use <command>ncrcat</command> where possible.
</subsection>
<node name="Averaging" spaces=" "><nodename>Averaging</nodename><nodenext spaces=" ">Interpolating</nodenext><nodeprev spaces=" ">Concatenation</nodeprev><nodeup spaces=" ">Statistics vs. Concatenation</nodeup></node>
<subsection spaces=" "><sectiontitle>Averagers <command>nces</command>, <command>ncra</command>, and <command>ncwa</command> </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="226"><command>nces</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="227"><command>ncra</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="228"><command>ncwa</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="227"><command>nces</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="228"><command>ncra</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="229"><command>ncwa</command></indexterm></cindex>
<para>The differences between the averagers <command>ncra</command> and <command>nces</command>
are analogous to the differences between the concatenators.
@@ -2200,7 +2210,7 @@ description of <command>ncra</command>).
</subsection>
<node name="Interpolating" spaces=" "><nodename>Interpolating</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Averaging</nodeprev><nodeup spaces=" ">Statistics vs. Concatenation</nodeup></node>
<subsection spaces=" "><sectiontitle>Interpolator <command>ncflint</command></sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="229"><command>ncflint</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="230"><command>ncflint</command></indexterm></cindex>
<para><command>ncflint</command> can interpolate data between or two files.
Since no other operators have this ability, the description of
@@ -2217,13 +2227,13 @@ units.
</section>
<node name="Large-Numbers-of-Files" spaces=" "><nodename>Large Numbers of Files</nodename><nodenext spaces=" ">Large Datasets</nodenext><nodeprev spaces=" ">Statistics vs. Concatenation</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Large Numbers of Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="230">files, numerous input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="231"><code>-n <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="231">files, numerous input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="232"><code>-n <var>loop</var></code></indexterm></cindex>
<para>Occasionally one desires to digest (i.e., concatenate or average)
hundreds or thousands of input files.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="232">automagic</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="233"><acronym><acronymword>NASA EOSDIS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="233">automagic</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="234"><acronym><acronymword>NASA EOSDIS</acronymword></acronym></indexterm></cindex>
Unfortunately, data archives (e.g., <acronym><acronymword>NASA EOSDIS</acronymword></acronym>) may not
name netCDF files in a format understood by the <samp>-n <var>loop</var></samp>
switch (<pxref label="Specifying-Input-Files"><xrefnodename>Specifying Input Files</xrefnodename></pxref>) that automagically generates
@@ -2256,8 +2266,8 @@ filenames to <acronym><acronymword>NCO</acronymword></acronym> in environment-li
<html endspaces=" ">
<a name="stdin"></a> <!&textndash; http://nco.sf.net/nco.html#stdin &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="234">standard input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="235"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="235">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="236"><code>stdin</code></indexterm></cindex>
<para>The recommended method for sending very large numbers (hundreds or
more, typically) of input filenames to the multi-file operators is
to pass the filenames with the <acronym><acronymword>UNIX</acronymword></acronym> <dfn>standard input</dfn>
@@ -2274,10 +2284,10 @@ A drawback to this method is that the <code>history</code> attribute
(<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>) does not record the name of any input
files since the names were not passed on the command line.
This makes determining the data provenance at a later date difficult.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="236"><code>nco_input_file_number</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="237"><code>nco_input_file_list</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="238">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="239">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="237"><code>nco_input_file_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="238"><code>nco_input_file_list</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="239">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="240">attributes, global</indexterm></cindex>
To remedy this situation, multi-file operators store the number of
input files in the <code>nco_input_file_number</code> global attribute and the
input file list itself in the <code>nco_input_file_list</code> global attribute
@@ -2286,13 +2296,13 @@ Although this does not preserve the exact command used to generate the
file, it does retains all the information required to reconstruct the
command and determine the data provenance.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="240">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="241">shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="242">extended regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="243">regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="244">pattern matching</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="245"><command>xargs</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="246"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="241">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="242">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="243">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="244">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="245">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="246"><command>xargs</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="247"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
<para>A second option is to use the <acronym><acronymword>UNIX</acronymword></acronym> <command>xargs</command> command.
This simple example selects as input to <command>xargs</command> all the
filenames in the current directory that match a given pattern.
@@ -2313,7 +2323,7 @@ matching filenames to an <acronym><acronymword>NCO</acronymword></acronym> multi
/bin/ls | grep ${CASEID}_'......'.nc | xargs -x ncecat -o foo.nc
</verbatim>
</example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="247">pipes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="248">pipes</indexterm></cindex>
<para>The single quotes protect the only sensitive parts of the extended
regular expression (the <command>grep</command> argument), and allow shell
interpolation (the <code>${CASEID}</code> variable substitution) to
@@ -2321,9 +2331,9 @@ proceed unhindered on the rest of the command.
<command>xargs</command> uses the <acronym><acronymword>UNIX</acronymword></acronym> pipe feature to append the
suitably filtered input file list to the end of the <command>ncecat</command>
command options.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="248">output file</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="249">input files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="250"><code>-o <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="249">output file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="250">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="251"><code>-o <var>fl_out</var></code></indexterm></cindex>
The <code>-o foo.nc</code> switch ensures that the input files supplied by
<command>xargs</command> are not confused with the output file name.
<command>xargs</command> does, unfortunately, have its own limit (usually about
@@ -2333,7 +2343,7 @@ reaches this internal limit.
When this occurs, use either the <code>stdin</code> method above, or the
symbolic link presented next.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="251">symbolic links</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="252">symbolic links</indexterm></cindex>
<para>Even when its internal limits have not been reached, the
<command>xargs</command> technique may not be sophisticated enough to handle
all situations.
@@ -2342,12 +2352,12 @@ of filtering input filenames, and any number of filenames.
The technique of last resort is to write a script that creates symbolic
links between the irregular input filenames and a set of regular,
arithmetic filenames that the <samp>-n <var>loop</var></samp> switch understands.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="252">Perl</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="253">Perl</indexterm></cindex>
For example, the following Perl script creates a monotonically
enumerated symbolic link to up to one million <file>.nc</file> files in a
directory. If there are 999,999 netCDF files present, the links are
named <file>000001.nc</file> to <file>999999.nc</file>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="253"><code>-n <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="254"><code>-n <var>loop</var></code></indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
# Create enumerated symbolic links
@@ -2362,7 +2372,7 @@ ncecat -n 999999,6,1 000001.nc foo.nc
automatically generate the filnames of the symbolic links.
This circumvents any <acronym><acronymword>OS</acronymword></acronym> and shell limits on command line size.
The symbolic links are easily removed once <acronym><acronymword>NCO</acronymword></acronym> is finished.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="254"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="255"><code>history</code></indexterm></cindex>
One drawback to this method is that the <code>history</code> attribute
(<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>) retains the filename list of the symbolic
links, rather than the data files themselves.
@@ -2372,9 +2382,9 @@ date.
</section>
<node name="Large-Datasets" spaces=" "><nodename>Large Datasets</nodename><nodenext spaces=" ">Memory Requirements</nodenext><nodeprev spaces=" ">Large Numbers of Files</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Large Datasets</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="255">large datasets</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="256">LFS</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="257">Large File Support</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="256">large datasets</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="257"><acronym><acronymword>LFS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="258">Large File Support</indexterm></cindex>
<para><dfn>Large datasets</dfn> are those files that are comparable in size to the
amount of random access memory (<acronym><acronymword>RAM</acronymword></acronym>) in your computer.
@@ -2382,7 +2392,7 @@ Many users of <acronym><acronymword>NCO</acronymword></acronym> work with files
Files this large not only push the current edge of storage technology,
they present special problems for programs which attempt to access the
entire file at once, such as <command>nces</command> and <command>ncecat</command>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="258">swap space</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="259">swap space</indexterm></cindex>
If you work with a <w>300 MB</w> files on a machine with only <w>32 MB</w> of
memory then you will need large amounts of swap space (virtual memory on
disk) and <acronym><acronymword>NCO</acronymword></acronym> will work slowly, or even fail.
@@ -2398,24 +2408,34 @@ memory requirements.
With this knowledge you may re-design your data reduction approach to
divide the problem into pieces solvable in memory-limited situations.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="259">server</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="260"><acronym><acronymword>UNICOS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="261">Cray</indexterm></cindex>
+<html endspaces=" ">
+<a name="ulimit"></a> <!&textndash; http://nco.sf.net/nco.html#ulimit &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="260">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="261"><acronym><acronymword>UNICOS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="262">Cray</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="263"><acronym><acronymword>GNU</acronymword></acronym>/Linux</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="264"><code>ulimit</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="265"><code>core dump</code></indexterm></cindex>
<para>If your local machine has problems working with large files, try running
<acronym><acronymword>NCO</acronymword></acronym> from a more powerful machine, such as a network server.
+If you get a memory-related core dump
+(e.g., <samp>Error exit (core dumped)</samp>) on a <acronym><acronymword>GNU</acronymword></acronym>/Linux system,
+or the operation ends before the entire output file is written,
+try increasing the process-available memory with <code>ulimit</code>:
+</para><example endspaces=" ">
+<pre xml:space="preserve">ulimit -f unlimited
+</pre></example>
+<para>This may solve constraints on clusters where sufficient hardware
+resources exist yet where system administrators felt it wise to prevent
+any individual user from consuming too much of resource.
Certain machine architectures, e.g., Cray <acronym><acronymword>UNICOS</acronymword></acronym>, have special
commands which allow one to increase the amount of interactive memory.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="262"><code>ilimit</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="266"><code>ilimit</code></indexterm></cindex>
On Cray systems, try to increase the available memory with the
<code>ilimit</code> command.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="263"><acronym><acronymword>GNU</acronymword></acronym>/Linux</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="264"><code>ulimit</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="265"><code>core dump</code></indexterm></cindex>
-If you get a memory-related core dump
-(e.g., <samp>Error exit (core dumped)</samp>) on a <acronym><acronymword>GNU</acronymword></acronym>/Linux system,
-try increasing the process-available memory with <code>ulimit</code>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="266">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="267">speed</indexterm></cindex>
<para>The speed of the <acronym><acronymword>NCO</acronymword></acronym> operators also depends on file size.
When processing large files the operators may appear to hang, or do
nothing, for large periods of time.
@@ -2424,12 +2444,12 @@ activate a more verbose output mode.
This is accomplished by supplying a number greater <w>than 0</w> to the
<samp>-D <var>debug-level</var></samp> (or <samp>--debug-level</samp>, or
<samp>--dbg_lvl</samp>) switch.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="267"><code>-D <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="268"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="269"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="270"><var>debug-level</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="271"><var>dbg_lvl</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="272">debugging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="268"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="269"><code>--debug-level <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="270"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="271"><var>debug-level</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="272"><var>dbg_lvl</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="273">debugging</indexterm></cindex>
When the <var>debug-level</var> is nonzero, the operators report their
current status to the terminal through the <var>stderr</var> facility.
Using <samp>-D</samp> does not slow the operators down.
@@ -2445,14 +2465,14 @@ multi-file <acronym><acronymword>NCO</acronymword></acronym> operators consume i
</section>
<node name="Memory-Requirements" spaces=" "><nodename>Memory Requirements</nodename><nodenext spaces=" ">Performance</nodenext><nodeprev spaces=" ">Large Datasets</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Memory Requirements</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="273">memory requirements</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="274">memory available</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="275"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="276">swap space</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="277">peak memory usage</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="278"><code>--ram_all</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="279"><code>--open_ram</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="280"><code>--diskless_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="274">memory requirements</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="275">memory available</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="276"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="277">swap space</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="278">peak memory usage</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="279"><code>--ram_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="280"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="281"><code>--diskless_all</code></indexterm></cindex>
<para>Many people use <acronym><acronymword>NCO</acronymword></acronym> on gargantuan files which dwarf the
memory available (free <acronym><acronymword>RAM</acronymword></acronym> plus swap space) even on today&textrsquo;s powerful
@@ -2462,9 +2482,9 @@ so that their scripts do not have to tediously cut files into smaller
pieces that fit into memory.
We commend these greedy users for pushing <acronym><acronymword>NCO</acronymword></acronym> to its limits!
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="281">threads</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="282">OpenMP</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="283">shared memory machines</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="282">threads</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="283">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="284">shared memory machines</indexterm></cindex>
<para>This section describes the memory <acronym><acronymword>NCO</acronymword></acronym> requires during
operation.
The required memory is based on the underlying algorithms.
@@ -2484,7 +2504,7 @@ the exception of <command>ncap2</command>.
<node name="Single-and-Multi_002dfile-Operators" spaces=" "><nodename>Single and Multi-file Operators</nodename><nodenext spaces=" ">Memory for ncap2</nodenext><nodeprev spaces=" ">Memory Requirements</nodeprev><nodeup spaces=" ">Memory Requirements</nodeup></node>
<subsection spaces=" "><sectiontitle>Single and Multi-file Operators</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="284">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="285">multi-file operators</indexterm></cindex>
<para>The multi-file operators currently comprise the record operators,
<command>ncra</command> and <command>ncrcat</command>, and the ensemble operators,
<command>nces</command> and <command>ncecat</command>.
@@ -2574,22 +2594,22 @@ If weights and masks are <emph>not</emph> specified
then <command>ncwa</command> requirements drop to <math>MS <= 3VT</math>
(one input variable, one tally array, and the output variable).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="285">OpenMP</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="286">threads</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="286">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="287">threads</indexterm></cindex>
<para>The above memory requirements must be multiplied by the number of
threads <var>thr_nbr</var> (<pxref label="OpenMP-Threading"><xrefnodename>OpenMP Threading</xrefnodename></pxref>).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="287"><code>-t <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="288"><code>-t <var>thr_nbr</var></code></indexterm></cindex>
If this causes problems then reduce (with <samp>-t <var>thr_nbr</var></samp>) the
number of threads.
</para>
</subsection>
<node name="Memory-for-ncap2" spaces=" "><nodename>Memory for ncap2</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Single and Multi-file Operators</nodeprev><nodeup spaces=" ">Memory Requirements</nodeup></node>
<subsection spaces=" "><sectiontitle>Memory for <command>ncap2</command></sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="288"><command>ncap2</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="289">binary operations</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="290">unary operations</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="291">memory leaks</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="292">left hand casting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="289"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="290">binary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="291">unary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="292">memory leaks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="293">left hand casting</indexterm></cindex>
<para><command>ncap2</command> has unique memory requirements due its ability to process
arbitrarily long scripts of any complexity.
All scripts acceptable to <command>ncap2</command> are ultimately processed as a
@@ -2624,8 +2644,8 @@ interested in receiving a detailed bug report.
<node name="Performance" spaces=" "><nodename>Performance</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Memory Requirements</nodeprev><nodeup spaces=" ">Strategies</nodeup></node>
<section spaces=" "><sectiontitle>Performance</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="293">papers</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="294">overview</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="294">papers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="295">overview</indexterm></cindex>
<para>An overview of <acronym><acronymword>NCO</acronymword></acronym> capabilities as of about 2006 is in
Zender, C. S. (2008),
&textldquo;Analysis of Self-describing Gridded Geoscience Data with netCDF Operators (NCO)&textrdquo;,
@@ -2633,8 +2653,8 @@ Environ. Modell. Softw., doi:10.1016/j.envsoft.2008.03.004.
This paper is also available at
<url><urefurl>http://dust.ess.uci.edu/ppr/ppr_Zen08.pdf</urefurl></url>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="295">scaling</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="296">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="296">scaling</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="297">performance</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> performance and scaling for arithmetic operations is
described in
Zender, C. S., and H. J. Mangalam (2007),
@@ -2648,35 +2668,35 @@ This paper is also available at
that can limit its performance:
</para><enumerate first="1" endspaces=" ">
<listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="297">buffering</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="298">buffering</indexterm></cindex>
<para>No data buffering is performed during <command>nc_get_var</command> and
<command>nc_put_var</command> operations.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="298">performance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="299">operator speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="300">speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="301">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="299">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="300">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="301">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="302">execution time</indexterm></cindex>
Hyperslabs too large too hold in core memory will suffer substantial
performance penalties because of this.
</para>
</listitem><listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="302">monotonic coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="303">monotonic coordinates</indexterm></cindex>
<para>Since coordinate variables are assumed to be monotonic, the search for
bracketing the user-specified limits should employ a quicker algorithm,
like bisection, than the two-sided incremental search currently
implemented.
</para>
</listitem><listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="303"><var>C_format</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="304"><var>FORTRAN_format</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="305"><var>signedness</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="306"><var>scale_format</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="307"><var>add_offset</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="304"><var>C_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="305"><var>FORTRAN_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="306"><var>signedness</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="307"><var>scale_format</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="308"><var>add_offset</var></indexterm></cindex>
<para><var>C_format</var>, <var>FORTRAN_format</var>, <var>signedness</var>,
<var>scale_format</var> and <var>add_offset</var> attributes are ignored by
<command>ncks</command> when printing variables to screen.
</para>
</listitem><listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="308">Yorick</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="309">Yorick</indexterm></cindex>
<para>In the late 1990s it was discovered that some random access operations
on large files on certain architectures (e.g., <acronym><acronymword>UNICOS</acronymword></acronym>) were
much slower with <acronym><acronymword>NCO</acronymword></acronym> than with similar operations performed
@@ -2700,7 +2720,7 @@ been reduced or eliminated.
described here for brevity.
The description of each feature is preceded by a box listing the
operators for which the feature is implemented.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="309">command line switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="310">command line switches</indexterm></cindex>
Command line switches for a given feature are consistent across all
operators wherever possible.
If no &textldquo;key switches&textrdquo; are listed for a feature, then that particular
@@ -2753,12 +2773,12 @@ feature is automatic and cannot be controlled by the user.
</html>
<node name="Internationalization" spaces=" "><nodename>Internationalization</nodename><nodenext spaces=" ">Metadata Optimization</nodenext><nodeprev spaces=" ">Common features</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Internationalization</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="310">Internationalization</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="311">I18N</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="311">Internationalization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="312">I18N</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
</para></cartouche>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="312">L10N</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="313">L10N</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> support for <dfn>internationalization</dfn> of textual input
and output (e.g., Warning messages) is nascent.
We introduced the first foreign language string catalogues (French and
@@ -2775,14 +2795,14 @@ favorite languages.
</section>
<node name="Metadata-Optimization" spaces=" "><nodename>Metadata Optimization</nodename><nodenext spaces=" ">OpenMP Threading</nodenext><nodeprev spaces=" ">Internationalization</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Metadata Optimization</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="313">metadata optimization</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="314">performance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="315">operator speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="316">speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="317">execution time</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="318"><code>nc__enddef()</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="319"><code>--hdr_pad <var>hdr_pad</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="320"><code>--header_pad <var>hdr_pad</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="314">metadata optimization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="315">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="316">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="317">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="318">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="319"><code>nc__enddef()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="320"><code>--hdr_pad <var>hdr_pad</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="321"><code>--header_pad <var>hdr_pad</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: None&linebreak;
@@ -2813,16 +2833,16 @@ library (<pxref label="File-Formats-and-Conversion"><xrefnodename>File Formats a
</section>
<node name="OpenMP-Threading" spaces=" "><nodename>OpenMP Threading</nodename><nodenext spaces=" ">Command Line Options</nodenext><nodeprev spaces=" ">Metadata Optimization</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>OpenMP Threading</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="321">OpenMP</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="322">threads</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="323"><acronym><acronymword>SMP</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="324">shared memory parallelism</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="325">parallelism</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="326"><code>nco_openmp_thread_number</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="327"><code>--thr_nbr <var>thr_nbr</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="328"><code>--threads <var>thr_nbr</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="329"><code>--omp_num_threads <var>thr_nbr</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="330"><code>-t <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="322">OpenMP</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="323">threads</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="324"><acronym><acronymword>SMP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="325">shared memory parallelism</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="326">parallelism</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="327"><code>nco_openmp_thread_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="328"><code>--thr_nbr <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="329"><code>--threads <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="330"><code>--omp_num_threads <var>thr_nbr</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="331"><code>-t <var>thr_nbr</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncpdq</command>, <command>ncra</command>, <command>ncrcat</command>,
@@ -2862,13 +2882,13 @@ Implementation of the parallel output calls in <acronym><acronymword>NCO</acrony
goal of our current funding and would require new volunteers or funding.
</para></cartouche>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="331"><var>thr_nbr</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="332"><code>OMP_NUM_THREADS</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="333"><command>ncrcat</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="334"><command>ncwa</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="335"><command>ncap2</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="336"><command>ncpdq</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="337">large datasets</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="332"><var>thr_nbr</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="333"><code>OMP_NUM_THREADS</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="334"><command>ncrcat</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="335"><command>ncwa</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="336"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="337"><command>ncpdq</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="338">large datasets</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> may modify <var>thr_nbr</var> according to its own internal
settings before it requests any threads from the system.
Certain operators contain hard-code limits to the number of threads they
@@ -2897,8 +2917,8 @@ Hence we restrict <math><var>thr_nbr</var> <= 4</math> for all operators.
We encourage users to play with these limits (edit file
<file>nco_omp.c</file>) and send us their feedback.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="338">debugging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="339"><var>dbg_lvl</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="339">debugging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="340"><var>dbg_lvl</var></indexterm></cindex>
<para>Once the initial <var>thr_nbr</var> has been modified for any
operator-specific limits, <acronym><acronymword>NCO</acronymword></acronym> requests the system to allocate
a team of <var>thr_nbr</var> threads for the body of the code.
@@ -2913,7 +2933,7 @@ This attribute contains the number of threads the operator used to
process the input files.
This information helps to verify that the answers with threaded and
non-threaded operators are equal to within machine precision.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="340">benchmarks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="341">benchmarks</indexterm></cindex>
This information is also useful for benchmarking.
</para>
<html endspaces=" ">
@@ -2922,14 +2942,14 @@ This information is also useful for benchmarking.
</section>
<node name="Command-Line-Options" spaces=" "><nodename>Command Line Options</nodename><nodenext spaces=" ">Specifying Input Files</nodenext><nodeprev spaces=" ">OpenMP Threading</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Command Line Options</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="341">command line options</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="342">command line options</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
</para></cartouche>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="342"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="343"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="344"><acronym><acronymword>GNU</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="345">switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="343"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="344"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="345"><acronym><acronymword>GNU</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="346">switches</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> achieves flexibility by using <dfn>command line options</dfn>.
These options are implemented in all traditional <acronym><acronymword>UNIX</acronymword></acronym> commands
as single letter <dfn>switches</dfn>, e.g., <samp>ls -l</samp>.
@@ -2946,13 +2966,13 @@ More importantly, mnemonics for single letter options are often
non-intuitive so that long options provide a more natural way of
expressing intent.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="346">long options</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="347">long options</indexterm></cindex>
<para>Extended options, also called long options, are implemented using the
system-supplied <file>getopt.h</file> header file, if possible.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="347"><code>BSD</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="348"><code>getopt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="349"><code>getopt_long</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="350"><file>getopt.h</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="348"><code>BSD</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="349"><code>getopt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="350"><code>getopt_long</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="351"><file>getopt.h</file></indexterm></cindex>
This provides the <command>getopt_long</command> function to <acronym><acronymword>NCO</acronymword></acronym>
<footnote spaces="\n"><para>If a <command>getopt_long</command> function cannot be found on the system,
<acronym><acronymword>NCO</acronymword></acronym> will use the <command>getopt_long</command> from the
@@ -2961,8 +2981,8 @@ This provides the <command>getopt_long</command> function to <acronym><acronymwo
This is <acronym><acronymword>BSD</acronymword></acronym>-licensed software available from
<uref><urefurl>http://www.geocities.com/ResearchTriangle/Node/9405/#my_getopt</urefurl></uref>.</para></footnote>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="351"><code>-D <var>debug-level</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="352"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="352"><code>-D <var>debug-level</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="353"><code>--dbg_lvl <var>debug-level</var></code></indexterm></cindex>
<para>The syntax of <dfn>short options</dfn> (single letter options) is
<kbd>-<var>key</var> <var>value</var></kbd> (dash-key-space-value).
Here, <var>key</var> is the single letter option name, e.g.,
@@ -3032,19 +3052,19 @@ name that most suits their taste.
</section>
<node name="Specifying-Input-Files" spaces=" "><nodename>Specifying Input Files</nodename><nodenext spaces=" ">Specifying Output Files</nodenext><nodeprev spaces=" ">Command Line Options</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Specifying Input Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="353">input files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="354">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="355">regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="356">wildcards</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="357"><code>NINTAP</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="358">Processor, <acronym><acronymword>CCM</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="359"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="360"><code>-n <var>loop</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="361"><code>--nintap <var>loop</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="362"><code>-p <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="363"><code>--pth <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="364"><code>--path <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="365"><var>input-path</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="354">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="355">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="356">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="357">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="358"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="359">Processor, <acronym><acronymword>CCM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="360"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="361"><code>-n <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="362"><code>--nintap <var>loop</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="363"><code>-p <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="364"><code>--pth <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="365"><code>--path <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="366"><var>input-path</var></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability (<code>-n</code>): <command>nces</command>, <command>ncecat</command>, <command>ncra</command>, <command>ncrcat</command>&linebreak;
Availability (<code>-p</code>): All operators&linebreak;
@@ -3054,7 +3074,7 @@ Long options: <samp>--nintap</samp>, <samp>--pth</samp>, <samp>--path</samp>&lin
<para>It is important that users be able to specify multiple input files
without typing every filename in full, often a tedious task even
by graduate student standards.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="366"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="367"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
There are four different ways of specifying input files to <acronym><acronymword>NCO</acronymword></acronym>:
explicitly typing each, using <acronym><acronymword>UNIX</acronymword></acronym> shell wildcards, and using
the <acronym><acronymword>NCO</acronymword></acronym> <samp>-n</samp> and <samp>-p</samp> switches (or their long option
@@ -3103,8 +3123,8 @@ for many years by Lawrence Buja at <acronym><acronymword>NCAR</acronymword></acr
the late 1990s.
<acronym><acronymword>NCO</acronymword></acronym> stole some ideas, like <code>NINTAP</code>-functionality,
from the <acronym><acronymword>CCM</acronymword></acronym> Processor capabilities.</para></footnote>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="367">multi-file operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="368">files, multiple</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="368">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="369">files, multiple</indexterm></cindex>
This option is only available with the <dfn>multi-file operators</dfn>:
<command>ncra</command>, <command>ncrcat</command>, <command>nces</command>, and <command>ncecat</command>.
By definition, multi-file operators are able to process an arbitrary
@@ -3141,8 +3161,8 @@ are ignored by <acronym><acronymword>NCO</acronymword></acronym> as it uses the
locate, evaluate, and compute the <var>numeric_suffix</var> component of
filenames.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="369">wrapped filenames</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="370">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="370">wrapped filenames</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="371">climate model</indexterm></cindex>
<para>Recently the <samp>-n</samp> option has been extended to allow convenient
specification of filenames with &textldquo;circular&textrdquo; characteristics.
This means it is now possible for <acronym><acronymword>NCO</acronymword></acronym> to automatically
@@ -3190,13 +3210,13 @@ automatically generate, in order, the filenames <file>85_12.nc</file>,
</section>
<node name="Specifying-Output-Files" spaces=" "><nodename>Specifying Output Files</nodename><nodenext spaces=" ">Remote storage</nodenext><nodeprev spaces=" ">Specifying Input Files</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Specifying Output Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="371">output file</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="372">input files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="373">positional arguments</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="374">command line switches</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="375"><code>-o <var>fl_out</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="376"><code>--output <var>fl_out</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="377"><code>--fl_out <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="372">output file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="373">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="374">positional arguments</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="375">command line switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="376"><code>-o <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="377"><code>--output <var>fl_out</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="378"><code>--fl_out <var>fl_out</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-o</samp>&linebreak;
@@ -3214,14 +3234,14 @@ line switch argument method, <samp>-o <var>fl_out</var></samp>.
<para>Specifying <var>fl_out</var> with a switch, rather than as a positional
argument, allows <var>fl_out</var> to precede input files in the argument
list.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="378">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="379">multi-file operators</indexterm></cindex>
This is particularly useful with multi-file operators for three reasons.
Multi-file operators may be invoked with hundreds (or more) filenames.
Visual or automatic location of <var>fl_out</var> in such a list is
difficult when the only syntactic distinction between input and output
files is their position.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="379"><command>xargs</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="380">input files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="380"><command>xargs</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="381">input files</indexterm></cindex>
Second, specification of a long list of input files may be difficult
(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
Making the input file list the final argument to an operator facilitates
@@ -3229,8 +3249,8 @@ using <command>xargs</command> for this purpose.
Some alternatives to <command>xargs</command> are very ugly and undesirable.
Finally, many users are more comfortable specifying output files
with <samp>-o <var>fl_out</var></samp> near the beginning of an argument list.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="381">compilers</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="382">linkers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="382">compilers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="383">linkers</indexterm></cindex>
Compilers and linkers are usually invoked this way.
</para>
<para>Users should specify <var>fl_out</var> using either (not both) method.
@@ -3244,26 +3264,26 @@ precedence.
</section>
<node name="Remote-storage" spaces=" "><nodename>Remote storage</nodename><nodenext spaces=" ">Retaining Retrieved Files</nodenext><nodeprev spaces=" ">Specifying Output Files</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Accessing Remote Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="383"><code>rcp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="384"><code>scp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="385"><file>.rhosts</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="386"><acronym><acronymword>NCAR MSS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="387"><acronym><acronymword>MSS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="388">Mass Store System</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="389"><acronym><acronymword>URL</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="390"><code>ftp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="391"><code>sftp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="392"><code>wget</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="393">remote files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="394">synchronous file access</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="395">asynchronous file access</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="396"><code>--pth <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="397"><code>--path <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="398"><code>--lcl <var>output-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="399"><code>--local <var>output-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="400"><code>-l <var>output-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="401"><file>.netrc</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="402"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="384"><code>rcp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="385"><code>scp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="386"><file>.rhosts</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="387"><acronym><acronymword>NCAR MSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="388"><acronym><acronymword>MSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="389">Mass Store System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="390"><acronym><acronymword>URL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="391"><code>ftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="392"><code>sftp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="393"><code>wget</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="394">remote files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="395">synchronous file access</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="396">asynchronous file access</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="397"><code>--pth <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="398"><code>--path <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="399"><code>--lcl <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="400"><code>--local <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="401"><code>-l <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="402"><file>.netrc</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="403"><code>history</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-p</samp>, <samp>-l</samp>&linebreak;
@@ -3334,11 +3354,11 @@ to the remote machine.
This means that <file>~/.rhosts</file> or <file>~/ssh/authorized_keys</file> must
be set accordingly on both local and remote machines.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="403"><acronym><acronymword>HPSS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="404"><command>hsi</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="405"><command>msrcp</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="406"><command>msread</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="407"><command>nrnet</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="404"><acronym><acronymword>HPSS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="405"><command>hsi</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="406"><command>msrcp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="407"><command>msread</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="408"><command>nrnet</command></indexterm></cindex>
<html endspaces=" ">
<a name="hpss"></a> <!&textndash; http://nco.sf.net/nco.html#hpss &textndash;>
<a name="HPSS"></a> <!&textndash; http://nco.sf.net/nco.html#HPSS &textndash;>
@@ -3399,10 +3419,10 @@ The sixth command works if your local version of <acronym><acronymword>NCO</acro
or if the remote file is accessible via <command>wget</command>.
The above commands can be rewritten using the <samp>-p <var>input-path</var></samp>
option as follows:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="408"><code>-p <var>input-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="409"><var>input-path</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="410"><code>-l <var>output-path</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="411"><var>output-path</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="409"><code>-p <var>input-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="410"><var>input-path</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="411"><code>-l <var>output-path</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="412"><var>output-path</var></indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncks -p ftp://dust.ess.uci.edu/pub/zender/nco -l . in.nc
ncks -p sftp://dust.ess.uci.edu:/home/ftp/pub/zender/nco -l . in.nc
@@ -3416,7 +3436,7 @@ ncks -p http://thredds-test.ucar.edu/thredds/dodsC/testdods \
<para>Using <samp>-p</samp> is recommended because it clearly separates the
<var>input-path</var> from the filename itself, sometimes called the
<dfn>stub</dfn>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="412">stub</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="413">stub</indexterm></cindex>
When <var>input-path</var> is not explicitly specified using <samp>-p</samp>,
<acronym><acronymword>NCO</acronymword></acronym> internally generates an <var>input-path</var> from the first
input filename.
@@ -3454,17 +3474,17 @@ syntactically more clear.
</html>
<node name="OPeNDAP" spaces=" "><nodename>OPeNDAP</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Remote storage</nodeprev><nodeup spaces=" ">Remote storage</nodeup></node>
<subsection spaces=" "><sectiontitle><acronym><acronymword>OPeNDAP</acronymword></acronym></sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="413"><acronym><acronymword>DAP</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="414"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="415"><acronym><acronymword>HTTP</acronymword></acronym> protocol</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="416"><env>DODS_ROOT</env></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="417">Distributed Oceanographic Data System</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="418">oceanography</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="419">data access protocol</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="420">Open-source Project for a Network Data Access Protocol</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="421"><acronym><acronymword>OPeNDAP</acronymword></acronym>.</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="422">server</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="423">client-server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="414"><acronym><acronymword>DAP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="415"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="416"><acronym><acronymword>HTTP</acronymword></acronym> protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="417"><env>DODS_ROOT</env></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="418">Distributed Oceanographic Data System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="419">oceanography</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="420">data access protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="421">Open-source Project for a Network Data Access Protocol</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="422"><acronym><acronymword>OPeNDAP</acronymword></acronym>.</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="423">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="424">client-server</indexterm></cindex>
<para>The Distributed Oceanographic Data System (<acronym><acronymword>DODS</acronymword></acronym>) provides
useful replacements for common data interface libraries like netCDF.
The <acronym><acronymword>DODS</acronymword></acronym> versions of these libraries implement network
@@ -3480,9 +3500,9 @@ We use the terms <acronym><acronymword>DODS</acronymword></acronym> and <acronym
and often write <acronym><acronymword>OPeNDAP</acronymword></acronym>/<acronym><acronymword>DODS</acronymword></acronym> for now.
In the future we will deprecate <acronym><acronymword>DODS</acronymword></acronym> in favor of
<acronym><acronymword>DAP</acronymword></acronym> or <acronym><acronymword>OPeNDAP</acronymword></acronym>, as appropriate
-<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="424"><acronym><acronymword>NVODS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="425">National Virtual Ocean Data System</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="426">open source</indexterm></cindex>
+<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="425"><acronym><acronymword>NVODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="426">National Virtual Ocean Data System</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="427">open source</indexterm></cindex>
<para><acronym><acronymword>DODS</acronymword></acronym> is being deprecated because it is ambiguous, referring
both to a protocol and to a collection of (oceanography) data.
It is superceded by two terms.
@@ -3499,7 +3519,7 @@ Got it yet?</para></footnote>.
</para>
<para><acronym><acronymword>NCO</acronymword></acronym> may be <acronym><acronymword>DAP</acronymword></acronym>-enabled by linking
<acronym><acronymword>NCO</acronymword></acronym> to the <acronym><acronymword>OPeNDAP</acronymword></acronym> libraries.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="427"><file>Makefile</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="428"><file>Makefile</file></indexterm></cindex>
This is described in the <acronym><acronymword>OPeNDAP</acronymword></acronym> documentation and
automagically implemented in <acronym><acronymword>NCO</acronymword></acronym> build mechanisms
<footnote spaces="\n"><para>Automagic support for <acronym><acronymword>DODS</acronymword></acronym> version 3.2.x was deprecated in
@@ -3538,12 +3558,12 @@ Check there and on the
to learn more about the extensive capabilities of <acronym><acronymword>OPeNDAP</acronymword></acronym>
<footnote spaces="\n"><para>We are most familiar with the <acronym><acronymword>OPeNDAP</acronymword></acronym> ability to enable
network-transparent data access.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="428">constraint expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="429">server-side processing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="429">constraint expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="430">server-side processing</indexterm></cindex>
<acronym><acronymword>OPeNDAP</acronymword></acronym> has many other features, including sophisticated
hyperslabbing and server-side processing via <dfn>constraint expressions</dfn>.
If you know more about this, please consider writing a section
-on "<acronym><acronymword>OPeNDAP</acronymword></acronym> Capabilities of Interest to <acronym><acronymword>NCO</acronymword></acronym> Users"
+on &textldquo;<acronym><acronymword>OPeNDAP</acronymword></acronym> Capabilities of Interest to <acronym><acronymword>NCO</acronymword></acronym> Users&textrdquo;
for incorporation in the <cite>NCO User Guide</cite>.</para></footnote>.
</para>
<para>Once <acronym><acronymword>NCO</acronymword></acronym> is <acronym><acronymword>DAP</acronymword></acronym>-enabled the operators are
@@ -3594,8 +3614,8 @@ http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis.dailyavgs/su
pres.sfc.1969.nc ~/foo.nc
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="430">packing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="431">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="431">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="432">unpacking</indexterm></cindex>
<para>All with one command!
The data in this particular input file also happen to be packed
(<pxref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefnodename></pxref>), although this complication is
@@ -3607,7 +3627,7 @@ before attempting arithmetic.
Input files are first copied to the local machine, then processed.
The <acronym><acronymword>OPeNDAP</acronymword></acronym> server performs data access, hyperslabbing,
and transfer to the local machine.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="432">I/O</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="433">I/O</indexterm></cindex>
This allows the I/O to appear to <acronym><acronymword>NCO</acronymword></acronym> as if the input files
were local.
The local machine performs all arithmetic operations.
@@ -3654,12 +3674,12 @@ which to test <acronym><acronymword>NCO</acronymword></acronym> are welcome.
</section>
<node name="Retaining-Retrieved-Files" spaces=" "><nodename>Retaining Retrieved Files</nodename><nodenext spaces=" ">File Formats and Conversion</nodenext><nodeprev spaces=" ">Remote storage</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Retaining Retrieved Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="433">file deletion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="434">file removal</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="435">file retention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="436"><code>-R</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="437"><code>--rtn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="438"><code>--retain</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="434">file deletion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="435">file removal</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="436">file retention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="437"><code>-R</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="438"><code>--rtn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="439"><code>--retain</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-R</samp>&linebreak;
@@ -3683,15 +3703,15 @@ This allows <command>ncks</command> to retrieve remote files without
automatically trying to print them.
See <ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></ref>, for more details.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="439"><acronym><acronymword>FTP</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="440"><acronym><acronymword>SSH</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="441"><acronym><acronymword>msrcp</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="440"><acronym><acronymword>FTP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="441"><acronym><acronymword>SSH</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="442"><acronym><acronymword>msrcp</acronymword></acronym></indexterm></cindex>
<para>Note that the remote retrieval features of <acronym><acronymword>NCO</acronymword></acronym> can always be
used to retrieve <emph>any</emph> file, including non-netCDF files, via
<command>SSH</command>, anonymous <acronym><acronymword>FTP</acronymword></acronym>, or <command>msrcp</command>.
Often this method is quicker than using a browser, or running an
<acronym><acronymword>FTP</acronymword></acronym> session from a shell window yourself.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="442">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="443">server</indexterm></cindex>
For example, say you want to obtain a <acronym><acronymword>JPEG</acronymword></acronym> file from a weather
server.
</para><example endspaces=" ">
@@ -3705,8 +3725,8 @@ When <command>ncks</command> attempts to read the local copy of <file>storm.jpg<
as a netCDF file, it fails and exits, leaving <file>storm.jpg</file> in
the current directory.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="443"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="444">server</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="444"><acronym><acronymword>DODS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="445">server</indexterm></cindex>
<para>If your <acronym><acronymword>NCO</acronymword></acronym> is <acronym><acronymword>DAP</acronymword></acronym>-enabled (<pxref label="OPeNDAP"><xrefnodename>OPeNDAP</xrefnodename></pxref>),
then you may use <acronym><acronymword>NCO</acronymword></acronym> to retrieve any files (including netCDF,
<acronym><acronymword>HDF</acronymword></acronym>, etc.) served by an <acronym><acronymword>OPeNDAP</acronymword></acronym> server to your local
@@ -3729,26 +3749,28 @@ when your other preferred methods are not available locally.
</section>
<node name="File-Formats-and-Conversion" spaces=" "><nodename>File Formats and Conversion</nodename><nodenext spaces=" ">Large File Support</nodenext><nodeprev spaces=" ">Retaining Retrieved Files</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>File Formats and Conversion</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="445"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="446">netCDF2</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="447">netCDF3</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="448">netCDF4</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="449"><code>NETCDF4_CLASSIC</code> files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="450"><code>NETCDF4</code> files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="451"><code>CLASSIC</code> files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="452"><code>64BIT</code> files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="453"><code>--3</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="454"><code>-3</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="455"><code>-4</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="456"><code>-6</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="457"><code>-7</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="458"><code>--4</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="459"><code>--6</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="460"><code>--7</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="461"><code>--netcdf4</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="462"><code>--fl_fmt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="463"><code>--file_format</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="464"><code>--64bit</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="446"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="447">netCDF2</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="448">netCDF3</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="449">netCDF4</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="450"><code>NETCDF4_CLASSIC</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="451"><code>NETCDF4</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="452"><code>CLASSIC</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="453"><code>64BIT</code> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="454"><code>--3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="455"><code>-3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="456"><code>-4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="457"><code>-5</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="458"><code>-6</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="459"><code>-7</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="460"><code>--4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="461"><code>--5</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="462"><code>--6</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="463"><code>--7</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="464"><code>--netcdf4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="465"><code>--fl_fmt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="466"><code>--file_format</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="467"><code>--64bit</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
@@ -3860,13 +3882,13 @@ Each method returns the information using slightly different terminology
that becomes easier to understand with practice.
</para>
<para>First, examine the first line of global metadata output by <samp>ncks -M</samp>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="465">netCDF3 classic file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="466">netCDF4 classic file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="467">netCDF4 file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="468">32-bit offset file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="469">64-bit offset file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="470"><command>ncks</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="471"><code>-M</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="468">netCDF3 classic file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="469">netCDF4 classic file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="470">netCDF4 file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="471">32-bit offset file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="472">64-bit offset file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="473"><command>ncks</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="474"><code>-M</code></indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">% ncks -M foo_3c.nc
Summary of foo_3c.nc: filetype = NC_FORMAT_CLASSIC, 0 groups ...
@@ -3879,14 +3901,14 @@ Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4, 0 groups ...
</pre></example>
<para>This method requires a netCDF4-enabled <acronym><acronymword>NCO</acronymword></acronym> version 3.9.0+
(i.e., from 2007 or later).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="472">extended file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="473">underlying file format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="474"><code>NC_FORMAT_NC3</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="475"><code>NC_FORMAT_NC_HDF5</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="476"><code>NC_FORMAT_NC_HDF4</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="477"><code>NC_FORMAT_PNETCDF</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="478"><code>NC_FORMAT_DAP2</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="479"><code>NC_FORMAT_DAP4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="475">extended file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="476">underlying file format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="477"><code>NC_FORMAT_NC3</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="478"><code>NC_FORMAT_NC_HDF5</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="479"><code>NC_FORMAT_NC_HDF4</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="480"><code>NC_FORMAT_PNETCDF</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="481"><code>NC_FORMAT_DAP2</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="482"><code>NC_FORMAT_DAP4</code></indexterm></cindex>
As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), <command>ncks</command> will
also print the extended or underlying format of the input file.
The extended filetype will be one of the six underlying formats that
@@ -3916,7 +3938,7 @@ Summary of foo_4.nc: filetype = NC_FORMAT_NETCDF4 (representation of \
has to alter the file.
</para>
<para>Second, query the file with <samp>ncdump -k</samp>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="480"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="483"><command>ncdump</command></indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">% ncdump -k foo_3c.nc
classic
@@ -3932,8 +3954,8 @@ netCDF-4
</para>
<para>The third option uses the POSIX-standard <command>od</command> (octal dump)
command:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="481"><command>od</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="482">octal dump</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="484"><command>od</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="485">octal dump</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">% od -An -c -N4 foo_3c.nc
C D F 001
@@ -3964,6 +3986,8 @@ Here the input file <file>in.nc</file> may be in any of these formats:
netCDF3 (classic and 64bit), netCDF4 (classic and extended), HDF4, HDF5,
HDF-EOS (version 2 or 5), and DAP.
The switch determines the output format written in the comment:
+<footnote><para>The switches <samp>-5</samp>, <samp>--5</samp>, and <samp>pnetcdf</samp> are
+reserved for PnetCDF files, i.e., <code>NC_FORMAT_PNETCDF</code>.</para></footnote>
</para><example endspaces=" ">
<pre xml:space="preserve">ncks --fl_fmt=classic in.nc foo_3c.nc # netCDF3 classic
ncks --fl_fmt=64bit in.nc foo_364.nc # netCDF3 64bit
@@ -4008,7 +4032,7 @@ we term autoconversion.
<para><acronym><acronymword>NCO</acronymword></acronym> employs three algorithms to downconvert netCDF4 to netCDF3:
</para><enumerate first="1" endspaces=" ">
<listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="483">autoconversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="486">autoconversion</indexterm></cindex>
<para>Autoconversion of atomic types:
Autoconversion automatically promotes <code>NC_UBYTE</code> to <code>NC_SHORT</code>,
and <code>NC_USHORT</code> to <code>NC_INT</code>.
@@ -4043,7 +4067,7 @@ If this limitation annoys or enrages you, please let us know by being
the squeaky wheel.
</para>
</listitem><listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="484"><code>--fix_rec_dmn all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="487"><code>--fix_rec_dmn all</code></indexterm></cindex>
<para>Convert multiple record dimensions to fixed-size dimensions.
Many netCDF4 and <acronym><acronymword>HDF5</acronymword></acronym> datasets have multiple unlimited
dimensions.
@@ -4058,7 +4082,7 @@ See <ref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink
<samp>--fix_rec_dmn</samp> option.
</para>
</listitem><listitem>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="485">flattening</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="488">flattening</indexterm></cindex>
<para>Flattening (removal) of groups.
Many netCDF4 and <acronym><acronymword>HDF5</acronymword></acronym> datasets have group hierarchies.
Since a netCDF3 file may not have any groups, groups in the input file
@@ -4091,8 +4115,8 @@ If this feature would interest you, please let us know.
</section>
<node name="Large-File-Support" spaces=" "><nodename>Large File Support</nodename><nodenext spaces=" ">Subsetting Files</nodenext><nodeprev spaces=" ">File Formats and Conversion</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Large File Support</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="486">LFS</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="487">Large File Support</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="489"><acronym><acronymword>LFS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="490">Large File Support</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: none&linebreak;
@@ -4101,30 +4125,30 @@ Long options: none&linebreak;
<para><acronym><acronymword>NCO</acronymword></acronym> has Large File Support (<acronym><acronymword>LFS</acronymword></acronym>), meaning that
<acronym><acronymword>NCO</acronymword></acronym> can write files larger than <w>2 GB</w> on some 32-bit
operating systems with netCDF libraries earlier than <w>version 3.6</w>.
-If desired, LFS support must be configured when both netCDF and
+If desired, <acronym><acronymword>LFS</acronymword></acronym> support must be configured when both netCDF and
<acronym><acronymword>NCO</acronymword></acronym> are installed.
netCDF <w>versions 3.6</w> and higher support 64-bit file addresses as part
of the netCDF standard.
-We recommend that users ignore LFS support which is difficult to
+We recommend that users ignore <acronym><acronymword>LFS</acronymword></acronym> support which is difficult to
configure and is implemented in <acronym><acronymword>NCO</acronymword></acronym> only to support netCDF
versions prior <w>to 3.6</w>.
-This obviates the need for configuring explicit LFS support in
+This obviates the need for configuring explicit <acronym><acronymword>LFS</acronymword></acronym> support in
applications (such as <acronym><acronymword>NCO</acronymword></acronym>) that now support 64-bit files
directly through the netCDF interface.
See <ref label="File-Formats-and-Conversion"><xrefnodename>File Formats and Conversion</xrefnodename></ref> for instructions on accessing
the different file formats, including 64-bit files, supported by the
modern netCDF interface.
</para>
-<para>If you are still interested in explicit LFS support for netCDF versions
-prior <w>to 3.6</w>, know that LFS support depends on a complex,
+<para>If you are still interested in explicit <acronym><acronymword>LFS</acronymword></acronym> support for netCDF versions
+prior <w>to 3.6</w>, know that <acronym><acronymword>LFS</acronymword></acronym> support depends on a complex,
interlocking set of operating system
<footnote spaces="\n"><para>Linux and <acronym><acronymword>AIX</acronymword></acronym> do support <acronym><acronymword>LFS</acronymword></acronym>.</para></footnote>
and netCDF support issues.
-The netCDF LFS
+The netCDF <acronym><acronymword>LFS</acronymword></acronym>
<uref><urefurl>http://my.unidata.ucar.edu/content/software/netcdf/faq-lfs.html</urefurl><urefdesc>FAQ</urefdesc></uref>
describes the various file size limitations imposed by different
versions of the netCDF standard.
-<acronym><acronymword>NCO</acronymword></acronym> and netCDF automatically attempt to configure LFS at
+<acronym><acronymword>NCO</acronymword></acronym> and netCDF automatically attempt to configure <acronym><acronymword>LFS</acronymword></acronym> at
build time.
</para>
<html endspaces=" ">
@@ -4138,23 +4162,23 @@ build time.
</section>
<node name="Subsetting-Files" spaces=" "><nodename>Subsetting Files</nodename><nodenext spaces=" ">Subsetting Coordinate Variables</nodenext><nodeprev spaces=" ">Large File Support</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Subsetting Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="488">subsetting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="489">union</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="490">intersection</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="491">exclusion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="492">extraction</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="493"><code>-v <var>var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="494"><code>--variable <var>var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="495"><code>-g <var>grp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="496"><code>--grp <var>grp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="497"><code>--group <var>grp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="498"><code>-x</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="499"><code>--exclude</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="500"><code>--xcl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="501"><code>--unn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="502"><code>--union</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="503"><code>--gxvx</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="504"><code>--grp_xtr_var_xcl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="491">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="492">union</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="493">intersection</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="494">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="495">extraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="496"><code>-v <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="497"><code>--variable <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="498"><code>-g <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="499"><code>--grp <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="500"><code>--group <var>grp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="501"><code>-x</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="502"><code>--exclude</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="503"><code>--xcl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="504"><code>--unn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="505"><code>--union</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="506"><code>--gxvx</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="507"><code>--grp_xtr_var_xcl</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Options <code>-g <var>grp</var></code>&linebreak;
Availability: <command>ncbo</command>, <command>nces</command>,
@@ -4233,12 +4257,12 @@ with converting, flattening, or dismembering files
<pre xml:space="preserve">ncks --grp_xtr_var_xcl -g g1 -v v1 # Extract all of group g1 except v1
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="505"><command>mv</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="506"><command>cp</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="507">recursion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="508">recursive</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="509">anchor</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="510">anchoring</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="508"><command>mv</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="509"><command>cp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="510">recursion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="511">recursive</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="512">anchor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="513">anchoring</indexterm></cindex>
<html endspaces=" ">
<a name="rcr"></a> <!&textndash; http://nco.sf.net/nco.html#rcr &textndash;>
<a name="recursion"></a> <!&textndash; http://nco.sf.net/nco.html#recursion &textndash;>
@@ -4315,12 +4339,12 @@ The fifth command is a special case of the fourth command.
<a name="union"></a> <!&textndash; http://nco.sf.net/nco.html#union &textndash;>
<a name="intersection"></a> <!&textndash; http://nco.sf.net/nco.html#intersection &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="511">union</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="512">intersection</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="513"><code>--unn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="514"><code>--union</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="515"><code>--nsx</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="516"><code>--intersection</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="514">union</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="515">intersection</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="516"><code>--unn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="517"><code>--union</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="518"><code>--nsx</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="519"><code>--intersection</code></indexterm></cindex>
<para>As mentioned above, both <samp>-v</samp> and <samp>-g</samp> options may be
specified simultaneously and <acronym><acronymword>NCO</acronymword></acronym> will, by default, extract the
intersection of the lists, i.e., the specified variables found in the
@@ -4367,7 +4391,7 @@ As discussed below, the group and variable specifications may be comma
separated lists of regular expressions for added control over
subsetting.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="517">memory requirements</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="520">memory requirements</indexterm></cindex>
<para>Remember, if averaging or concatenating large files stresses your
systems memory or disk resources, then the easiest solution is often to
subset (with <samp>-g</samp> and/or <samp>-v</samp>) to retain only the most
@@ -4397,14 +4421,14 @@ indicates that <emph>only</emph> user-defined variables should be output.
<a name="rx"></a> <!&textndash; http://nco.sf.net/nco.html#rx &textndash;>
<a name="wildcarding"></a> <!&textndash; http://nco.sf.net/nco.html#wildcarding &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="518">extended regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="519">regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="520">pattern matching</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="521">wildcards</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="522"><command>grep -E</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="523"><command>egrep</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="524"><command>ncatted</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="525"><acronym><acronymword>GNU</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="521">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="522">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="523">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="524">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="525"><command>grep -E</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="526"><command>egrep</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="527"><command>ncatted</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="528"><acronym><acronymword>GNU</acronymword></acronym></indexterm></cindex>
<para>Regular expressions the syntax that <acronym><acronymword>NCO</acronymword></acronym> use pattern-match
object names in netCDF file against user requests.
The user can select all variables beginning with the string <samp>DST</samp>
@@ -4426,8 +4450,8 @@ to <command>ncatted</command> may contain <dfn>extended regular expressions</dfn
As of <acronym><acronymword>NCO</acronymword></acronym> 4.2.4 (November, 2012), group name arguments
to the <samp>-g</samp> switch may contain <dfn>extended regular expressions</dfn>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="526"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="527"><code>regex</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="529"><acronym><acronymword>POSIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="530"><code>regex</code></indexterm></cindex>
<para>Because of its wide availability, <acronym><acronymword>NCO</acronymword></acronym> uses the <acronym><acronymword>POSIX</acronymword></acronym>
regular expression library <code>regex</code>.
Regular expressions of arbitary complexity may be used.
@@ -4435,11 +4459,11 @@ Since netCDF variable names are relatively simple constructs, only a
few varieties of variable wildcards are likely to be useful.
For convenience, we define the most useful pattern matching operators
here:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="528"><code>.</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="529"><code>$</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="530"><code>^</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="531"><code>?</code> (filename expansion)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="532"><code>*</code> (filename expansion)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="531"><code>.</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="532"><code>$</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="533"><code>^</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="534"><code>?</code> (filename expansion)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="535"><code>*</code> (filename expansion)</indexterm></cindex>
</para><table commandarg="samp" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="samp">^</itemformat></item>
</tableterm><tableitem><para>Matches the beginning of a string
@@ -4450,10 +4474,10 @@ here:
</para></tableitem></tableentry></table>
<noindent></noindent>
<para>The most useful repetition and combination operators are
-<cindex index="cp" spaces=" "><indexterm index="cp" number="533"><code>?</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="534"><code>*</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="535"><code>+</code> (wildcard character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="536"><code>|</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="536"><code>?</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="537"><code>*</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="538"><code>+</code> (wildcard character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="539"><code>|</code> (wildcard character)</indexterm></cindex>
</para><table commandarg="samp" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="samp">?</itemformat></item>
</tableterm><tableitem><para>The preceding regular expression is optional and matched at most once
@@ -4514,11 +4538,11 @@ extended regular expressions which <acronym><acronymword>NCO</acronymword></acro
<a name="globbing"></a> <!&textndash; http://nco.sf.net/nco.html#globbing &textndash;>
<a name="glb"></a> <!&textndash; http://nco.sf.net/nco.html#glb &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="537">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="538">shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="539"><command>bash</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="540"><command>csh</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="541">quotes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="540">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="541">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="542"><command>bash</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="543"><command>csh</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="544">quotes</indexterm></cindex>
<para>One must be careful to protect any special characters in the regular
expression specification from being interpreted (globbed) by the shell.
This is accomplish by enclosing special characters within single or
@@ -4545,13 +4569,13 @@ filename expansion (globbing).
</section>
<node name="Subsetting-Coordinate-Variables" spaces=" "><nodename>Subsetting Coordinate Variables</nodename><nodenext spaces=" ">Group Path Editing</nodenext><nodeprev spaces=" ">Subsetting Files</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Subsetting Coordinate Variables</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="542">subsetting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="543"><code>-C</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="544"><code>-c</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="545"><code>--no-coords</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="546"><code>--no-crd</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="547"><code>--coords</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="548"><code>--crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="545">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="546"><code>-C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="547"><code>-c</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="548"><code>--no-coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="549"><code>--no-crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="550"><code>--coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="551"><code>--crd</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
@@ -4575,7 +4599,7 @@ automatically specifying that <emph>all</emph> coordinate variables in the
<var>input-files</var> should appear in the <var>output-file</var>.
Thus <samp>-c</samp> allows the user to select all the coordinate variables
without having to know their names.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="549"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="552"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.5 (July, 2014)
both <samp>-c</samp> and <samp>-C</samp> honor the <acronym><acronymword>CF</acronymword></acronym> <code>ancillary_variables</code>
convention described in <ref label="CF-Conventions"><xrefnodename>CF Conventions</xrefnodename></ref>.
@@ -4592,8 +4616,8 @@ convention described in <ref label="CF-Conventions"><xrefnodename>CF Conventions
</section>
<node name="Group-Path-Editing" spaces=" "><nodename>Group Path Editing</nodename><nodenext spaces=" ">C and Fortran Index Conventions</nodenext><nodeprev spaces=" ">Subsetting Coordinate Variables</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Group Path Editing</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="550"><code>-G <var>gpe_dsc</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="551"><code>--gpe <var>gpe_dsc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="553"><code>-G <var>gpe_dsc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="554"><code>--gpe <var>gpe_dsc</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Options <code>-G <var>gpe_dsc</var></code>&linebreak;
Availability: <command>ncbo</command>, <command>ncecat</command>, <command>nces</command>,
@@ -4620,7 +4644,7 @@ the following order:&linebreak;
<table commandarg="var" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="var">grp_pth</itemformat></item>
</tableterm><tableitem><para>Group Path.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="552">group path</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="555">group path</indexterm></cindex>
This (optional) component specifies the output group path that should be
appended after any editing (i.e., deletion or truncation) of the input
path is performed.
@@ -4657,11 +4681,11 @@ positive-definite.
<a name="delete"></a> <!&textndash; http://nco.sf.net/nco.html#delete &textndash;>
<a name="truncate"></a> <!&textndash; http://nco.sf.net/nco.html#truncate &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="553"><code>&arobase;</code> (separator character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="554"><code>:</code> (separator character)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="555">delete (groups)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="556">truncate (groups)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="557">flatten (groups)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="556"><code>&arobase;</code> (separator character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="557"><code>:</code> (separator character)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="558">delete (groups)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="559">truncate (groups)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="560">flatten (groups)</indexterm></cindex>
<para><acronym><acronymword>GPE</acronymword></acronym> has three editing modes: Delete, Truncate, and
Flatten.
Select one of <acronym><acronymword>GPE</acronymword></acronym>&textrsquo;s three editing modes by supplying a
@@ -4773,10 +4797,10 @@ ncks -G g1:-1 -g g1/g2 -v v1 # /g1/g2/v1 -> /g1/g1/v1
</subsection>
<node name="Moving-Groups" spaces=" "><nodename>Moving Groups</nodename><nodenext spaces=" ">Dismembering Files</nodenext><nodeprev spaces=" ">Flattening Groups</nodeprev><nodeup spaces=" ">Group Path Editing</nodeup></node>
<subsection spaces=" "><sectiontitle>Moving Groups</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="558">move groups</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="559">groups, moving</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="560">rename groups</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="561">groups, renaming</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="561">move groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="562">groups, moving</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="563">rename groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="564">groups, renaming</indexterm></cindex>
<para>Until fall 2013 (netCDF version 4.3.1-pre1), netCDF contained no library
function for renaming groups, and therefore <command>ncrename</command> cannot
rename groups.
@@ -4833,8 +4857,8 @@ all other groups (e.g., <code>ecmwf</code>, <code>giss</code>).
</subsection>
<node name="Dismembering-Files" spaces=" "><nodename>Dismembering Files</nodename><nodenext spaces=" ">Checking CF-compliance</nodenext><nodeprev spaces=" ">Moving Groups</nodeprev><nodeup spaces=" ">Group Path Editing</nodeup></node>
<subsection spaces=" "><sectiontitle>Dismembering Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="562">disaggregate</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="563">dismember</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="565">disaggregate</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="566">dismember</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="5" mergedindex="cp">ncdismember</indexterm></findex>
<para>Let us show how to completely disaggregate (or, more memorably)
<emph>dismember</emph> a hierarchical dataset.
@@ -4934,7 +4958,7 @@ NCO dismembering file /home/zender/nco/data/mdl_1.nc
<para>A (potentially more portable) binary executable could be written to
dismember all groups with a single invocation, yet dismembering without
loss of information is possible now with this simple script on all
-platforms with UNIXy utilities.
+platforms with <acronym><acronymword>UNIX</acronymword></acronym>y utilities.
Note that all dimensions inherited by groups in the input file are
correctly placed by <command>ncdismember</command> into the flat files.
Moreover, each output file preserves the group metadata of all ancestor
@@ -4952,12 +4976,12 @@ is netCDF3.
</subsection>
<node name="Checking-CF_002dcompliance" spaces=" "><nodename>Checking CF-compliance</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Dismembering Files</nodeprev><nodeup spaces=" ">Group Path Editing</nodeup></node>
<subsection spaces=" "><sectiontitle>Checking CF-compliance</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="564"><acronym><acronymword>CF</acronymword></acronym> compliance checker</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="567"><acronym><acronymword>CF</acronymword></acronym> compliance checker</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="6" mergedindex="cp">cfchecker</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="7" mergedindex="cp">ncdismember</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="565">compliance checker</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="566">Martin Schultz</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="567">Michael Decker</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="568">compliance checker</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="569">Martin Schultz</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="570">Michael Decker</indexterm></cindex>
<para>One application of dismembering is to check the <acronym><acronymword>CF</acronymword></acronym>-compliance of each
group in a file.
When invoked with the optional third argumnt <samp>cf</samp>,
@@ -5131,11 +5155,11 @@ EOF
</section>
<node name="C-and-Fortran-Index-Conventions" spaces=" "><nodename>C and Fortran Index Conventions</nodename><nodenext spaces=" ">Hyperslabs</nodenext><nodeprev spaces=" ">Group Path Editing</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>C and Fortran Index conventions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="568">index convention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="569">Fortran index convention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="570">C index convention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="571"><code>-F</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="572"><code>--fortran</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="571">index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="572">Fortran index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="573">C index convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="574"><code>-F</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="575"><code>--fortran</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -5143,7 +5167,7 @@ EOF
Short options: <samp>-F</samp>&linebreak;
Long options: <samp>--fortran</samp>&linebreak;
</para></cartouche>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="573">I/O</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="576">I/O</indexterm></cindex>
<para>The <samp>-F</samp> switch changes <acronym><acronymword>NCO</acronymword></acronym> to read and write with
the Fortran index convention.
By default, <acronym><acronymword>NCO</acronymword></acronym> uses C-style (0-based) indices for all I/O.
@@ -5153,17 +5177,17 @@ dimensions are ordered from slowest (inner-most) to fastest
In Fortran, indices count <w>from 1</w> (rather <w>than 0</w>), and
dimensions are ordered from fastest (inner-most) to slowest
(outer-most) varying.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="574">transpose</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="577">transpose</indexterm></cindex>
Hence <w>C and</w> Fortran data storage conventions represent mathematical
transposes of eachother.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="575">record variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="578">record variable</indexterm></cindex>
Note that record variables contain the record dimension as the most
slowly varying dimension.
See <ref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></ref> for techniques
to re-order (including transpose) dimensions and to reverse data
storage order.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="576">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="579">record dimension</indexterm></cindex>
<para>Consider a file <file>85.nc</file> containing <w>12 months</w> of data in the
record dimension <code>time</code>.
The following hyperslab operations produce identical results, a
@@ -5187,6 +5211,7 @@ lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
<html endspaces=" ">
<a name="-d"></a> <!&textndash; http://nco.sf.net/nco.html#-d &textndash;>
+<a name="-0"></a> <!&textndash; http://nco.sf.net/nco.html#-0 &textndash;>
<a name="dmn"></a> <!&textndash; http://nco.sf.net/nco.html#dmn &textndash;>
<a name="hyp"></a> <!&textndash; http://nco.sf.net/nco.html#hyp &textndash;>
<a name="hyperslab"></a> <!&textndash; http://nco.sf.net/nco.html#hyperslab &textndash;>
@@ -5194,12 +5219,13 @@ lon(1)=0 lev(1)=100 lat(1)=-90 three_dmn_var(1)=0
</section>
<node name="Hyperslabs" spaces=" "><nodename>Hyperslabs</nodename><nodenext spaces=" ">Stride</nodenext><nodeprev spaces=" ">C and Fortran Index Conventions</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Hyperslabs </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="577">hyperslab</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="578">dimension limits</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="579">coordinate limits</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="580"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="581"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="582"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="580">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="581">dimension limits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="582">coordinate limits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="583"><code>-0</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="584"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="585"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="586"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -5230,13 +5256,51 @@ Dimensions not mentioned are passed with no reduction in range.
The dimensionality of variables is not reduced (in the case of a
cross-section, the size of the constant dimension will be one).
</para><example endspaces=" ">
-<pre xml:space="preserve"># First and second indices of lon dimension
+<pre xml:space="preserve"># First and second longitudes
ncks -F -d lon,1,2 in.nc out.nc
-# Second and third indices of lon dimension
+# Second and third longitudes
ncks -d lon,1,2 in.nc out.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="583">stride</indexterm></cindex>
+<para>As of version 4.2.1 (August, 2012), <acronym><acronymword>NCO</acronymword></acronym> allows one to extract
+the last <var>N</var> elements of a hyperslab.
+Negative integers as <var>min</var> or <var>max</var> elements of a hyperslab
+specification indicate offsets from the end (Python also uses this
+convention).
+Consistent with this convention, the value <samp>-0</samp> (negative zero)
+indicates the last element of a dimension, even though negative zero
+is algebraically equivalent to zero.
+Previously, for example, <samp>-d time,-2,-1</samp> caused a domain error.
+Now it means select the second-to-last and penultimate timesteps.
+Whereas <samp>-d time,0</samp> and <samp>-d time,-0</samp> refer to the first and
+last timesteps, respectively.
+Negative integers work for <var>min</var> and <var>max</var> indices, though not
+for <var>stride</var>.
+</para><example endspaces=" ">
+<pre xml:space="preserve"># Second through second-to-last longitudes
+ncks -d lon,1,-2 in.nc out.nc
+# Second through last longitude
+ncks -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude
+ncks -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude
+ncks -d lon,-3, in.nc out.nc
+</pre></example>
+<noindent></noindent>
+<para>The <samp>-F</samp> argument, if any, applies the Fortran index convention
+only to indices specified as positive integers (including zero).
+</para><example endspaces=" ">
+<pre xml:space="preserve"># First through second-to-last longitudes
+ncks -F -d lon,1,-2 in.nc out.nc (-F affects only start index)
+# First through last longitude
+ncks -F -d lon,1,-0 in.nc out.nc
+# Third-to-last to penultimate longitude (-F has no effect)
+ncks -F -d lon,-3,-1 in.nc out.nc
+# Third-to-last to last longitude (-F has no effect)
+ncks -F -d lon,-3, in.nc out.nc
+</pre></example>
+
+<cindex index="cp" spaces=" "><indexterm index="cp" number="587">stride</indexterm></cindex>
<para>Coordinate values should be specified using real notation with a decimal
point required in the value, whereas dimension indices are specified
using integer notation without a decimal point.
@@ -5268,38 +5332,17 @@ ncks -F -d lon,1.0,2.0 in.nc out.nc
# Every other longitude value between 0 and 90 degrees
ncks -F -d lon,0.0,90.0,2 in.nc out.nc
</pre></example>
-
-<para>As of version 4.2.1 (August, 2012), <acronym><acronymword>NCO</acronymword></acronym> allows one to extract
-the last <var>N</var> elements of a hyperslab.
-Negative integers as <var>min</var> or <var>max</var> elements of a hyperslab
-specification indicate offsets from the end (Python also uses this
-convention).
-Previously, for example, <samp>-d time,-2,-1</samp> caused a domain error.
-Now it means select the second-to-last and penultimate timesteps.
-Negative integers work for <var>min</var> and <var>max</var> indices, though not
-for <var>stride</var>.
-</para><example endspaces=" ">
-<pre xml:space="preserve"># Last two indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# First to penultimate indices of lon dimension
-ncks -F -d lon,1,-2 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3,-1 in.nc out.nc
-# Third-to-last to last index of lon dimension
-ncks -F -d lon,-3, in.nc out.nc
-</pre></example>
-<noindent></noindent>
<para>As shown, we recommend using a full floating point suffix of <code>.0</code>
instead of simply <code>.</code> in order to make obvious the selection of
hyperslab elements based on coordinate value rather than index.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="584"><code>NC_CHAR</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="588"><code>NC_CHAR</code></indexterm></cindex>
<para>User-specified coordinate limits are promoted to double-precision values
while searching for the indices which bracket the range.
Thus, hyperslabs on coordinates of type <code>NC_CHAR</code> are computed
numerically rather than lexically, so the results are unpredictable.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="585">wrapped coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="589">wrapped coordinates</indexterm></cindex>
<para>The relative magnitude of <var>min</var> and <var>max</var> indicate to the
operator whether to expect a <dfn>wrapped coordinate</dfn>
(<pxref label="Wrapped-Coordinates"><xrefnodename>Wrapped Coordinates</xrefnodename></pxref>), such as longitude.
@@ -5337,10 +5380,10 @@ This option may be specified more than once in a single command
</section>
<node name="Stride" spaces=" "><nodename>Stride</nodename><nodenext spaces=" ">Record Appending</nodenext><nodeprev spaces=" ">Hyperslabs</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Stride </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="586">stride</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="587"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="588"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="589"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="590">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="591"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="592"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="593"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],<var>stride</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -5393,8 +5436,8 @@ data are stored in records <w>2, 14, &dots; 50</w> so the desired
Without the <var>stride</var> option, the procedure is very awkward.
One could use <command>ncks</command> five times and then use <command>ncrcat</command> to
concatenate the resulting files together:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="590">Bourne Shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="591">C Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="594">Bourne Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="595">C Shell</indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
for idx in 02 14 26 38 50; do # Bourne Shell
@@ -5430,9 +5473,9 @@ ncrcat -F -d time,3,,12 85.nc 86.nc 87.nc 88.nc 89.nc 8503_8903.nc
</section>
<node name="Record-Appending" spaces=" "><nodename>Record Appending</nodename><nodenext spaces=" ">Subcycle</nodenext><nodeprev spaces=" ">Stride</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Record Appending</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="592">record append</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="593"><code>--rec_apn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="594"><code>--record_append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="596">record append</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="597"><code>--rec_apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="598"><code>--record_append</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncra</command>, <command>ncrcat</command>&linebreak;
Short options: None&linebreak;
@@ -5466,9 +5509,8 @@ temporary output file is copied (sometimes a quick re-link suffices) to
the final output file (<pxref label="Temporary-Output-Files"><xrefnodename>Temporary Output Files</xrefnodename></pxref>).
All this copying is expensive for large files.
</para>
-<para>The new <samp>--record_append</samp> switch causes all records in
-<file>fl_2.nc</file> to be appended to the end of the corresponding records in
-<file>fl_1.nc</file>:
+<para>The <samp>--record_append</samp> switch appends all records in <file>fl_2.nc</file>
+to the end (after the last record) of <file>fl_1.nc</file>:
</para><example endspaces=" ">
<pre xml:space="preserve">ncrcat --rec_apn fl_2.nc fl_1.nc
</pre></example>
@@ -5508,15 +5550,15 @@ We recommend users try to understand the safety trade-offs involved.
</section>
<node name="Subcycle" spaces=" "><nodename>Subcycle</nodename><nodenext spaces=" ">Multislabs</nodenext><nodeprev spaces=" ">Record Appending</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Subcycle</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="595">duration</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="596">sub-cycle</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="597">subcycle</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="598">MRO</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="599">Multi-Record Operator</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="600"><code>--mro</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="601"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="602"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="603"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],<var>subcycle</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="599">duration</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="600">sub-cycle</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="601">subcycle</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="602">MRO</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="603">Multi-Record Operator</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="604"><code>--mro</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="605"><code>-d <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="606"><code>--dimension <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],[<var>subcycle</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="607"><code>--dmn <var>dim</var>,[<var>min</var>],[<var>max</var>],[<var>stride</var>],<var>subcycle</var>]</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncra</command>, <command>ncrcat</command>&linebreak;
Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>][,[<var>subcycle</var>]]]]</samp>&linebreak;
@@ -5616,15 +5658,15 @@ records.
</section>
<node name="Multislabs" spaces=" "><nodename>Multislabs</nodename><nodenext spaces=" ">Wrapped Coordinates</nodenext><nodeprev spaces=" ">Subcycle</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Multislabs </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="604">multislab</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="605">multi-hyperslab</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="606"><acronym><acronymword>MSA</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="607"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="608"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="609"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="610"><code>--msa</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="611"><code>--msa_usr_rdr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="612"><code>--msa_user_order</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="608">multislab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="609">multi-hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="610"><acronym><acronymword>MSA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="611"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="612"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="613"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="614"><code>--msa</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="615"><code>--msa_usr_rdr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="616"><code>--msa_user_order</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -5677,7 +5719,7 @@ to specify the multislab.
the sizes of the multislabs.
This can be used to extend and or pad coordinate grids.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="613">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="617">stride</indexterm></cindex>
<para>Users may specify redundant ranges of indices in a multislab, e.g.,
</para><example endspaces=" ">
<pre xml:space="preserve">ncks -d lon,0,4 -d lon,2,9,2 in.nc out.nc
@@ -5694,7 +5736,7 @@ the <var>stride</var> option only supports index-based hyper-slabbing.
</para>
<para>Multislabs are more efficient than the alternative of sequentially
performing hyperslab operations and concatenating the results.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="614">I/O</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="618">I/O</indexterm></cindex>
This is because <acronym><acronymword>NCO</acronymword></acronym> employs a novel multislab algorithm to
minimize the number of I/O operations when retrieving irregularly spaced
data from disk.
@@ -5814,11 +5856,11 @@ hyperslabs makes this clearer.
</section>
<node name="Wrapped-Coordinates" spaces=" "><nodename>Wrapped Coordinates</nodename><nodenext spaces=" ">Auxiliary Coordinates</nodenext><nodeprev spaces=" ">Multislabs</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Wrapped Coordinates</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="615">wrapped coordinates</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="616">longitude</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="617"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="618"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="619"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="619">wrapped coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="620">longitude</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="621"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="622"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="623"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncks</command>&linebreak;
Short options: <samp>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</samp>&linebreak;
@@ -5891,13 +5933,13 @@ values (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref
</section>
<node name="Auxiliary-Coordinates" spaces=" "><nodename>Auxiliary Coordinates</nodename><nodenext spaces=" ">UDUnits Support</nodenext><nodeprev spaces=" ">Wrapped Coordinates</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Auxiliary Coordinates</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="620"><code>-X</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="621"><code>--auxiliary</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="622"><code>standard_name</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="623"><code>coordinates</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="624"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="625"><code>-X <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="626"><code>--auxiliary <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="624"><code>-X</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="625"><code>--auxiliary</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="626"><code>standard_name</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="627"><code>coordinates</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="628"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="629"><code>-X <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="630"><code>--auxiliary <var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -5923,7 +5965,7 @@ Cells that contain a value within the user-specified range
[<var>lon_min</var>,<var>lon_max</var>,<var>lat_min</var>,<var>lat_max</var>] are
included in the output hyperslab.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="627">cell-based grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="631">cell-based grids</indexterm></cindex>
<para>A cell-based grid collapses the horizontal spatial information
(latitude and longitude) and stores it along a one-dimensional
coordinate that has a one-to-one mapping to both latitude and longitude
@@ -6035,13 +6077,13 @@ to avoid confusion.
</section>
<node name="UDUnits-Support" spaces=" "><nodename>UDUnits Support</nodename><nodenext spaces=" ">Rebasing Time Coordinate</nodenext><nodeprev spaces=" ">Auxiliary Coordinates</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>UDUnits Support </sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="628">UDUnits</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="629">Unidata</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="630"><code>units</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="631">attribute, <code>units</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="632"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="633"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="634"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="632">UDUnits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="633">Unidata</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="634"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="635">attribute, <code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="636"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="637"><code>--dimension <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="638"><code>--dmn <var>dim</var>,[<var>min</var>][,[<var>max</var>][,[<var>stride</var>]]]</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>, <command>ncra</command>,
@@ -6063,7 +6105,7 @@ may become required in a future version of <acronym><acronymword>NCO</acronymwor
</para>
<para>Two examples suffice to demonstrate the power and convenience of UDUnits
support.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="635">MKS units</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="639">MKS units</indexterm></cindex>
First, consider extraction of a variable containing non-record
coordinates with physical dimensions stored in MKS units.
In the following example, the user extracts all wavelengths
@@ -6074,7 +6116,7 @@ very frequently used in visible spectroscopy, microns:
wvl[0]=5e-07 meter
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="636"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="640"><code>units</code></indexterm></cindex>
<para>The hyperslab returns the correct values because the <var>wvl</var> variable
is stored on disk with a length dimension that UDUnits recognizes in the
<code>units</code> attribute.
@@ -6094,7 +6136,7 @@ because each hyperslab argument contains text characters and non-initial
spaces.
Third, <acronym><acronymword>NCO</acronymword></acronym> determines whether the <var>wvl</var> is dimensioned
with a coordinate variable that has a <code>units</code> attribute.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="637">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="641">coordinate variable</indexterm></cindex>
In this case, <var>wvl</var> itself is a coordinate variable.
The value of its <code>units</code> attribute is <code>meter</code>.
Thus <var>wvl</var> passes this test so UDUnits conversion is attempted.
@@ -6116,8 +6158,8 @@ At this point, <acronym><acronymword>NCO</acronymword></acronym> can perform a c
the same algorithm as if the user had specified the hyperslab without
requesting units conversion.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="638"><code>units</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="639"><code>time</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="642"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="643"><code>time</code></indexterm></cindex>
<para>The translation and dimensional innterpretation of time coordinates
shows a more powerful, and probably more common, UDUnits application.
In this example, the user prints all data between <w>4 PM</w> and <w>7 PM</w>
@@ -6129,8 +6171,8 @@ since the year 1900:
time_udunits[1]=876018 hours since 1900-01-01 00:00:0.0
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="640">stride</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="641">whitespace</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="644">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="645">whitespace</indexterm></cindex>
<para>Here, the user invokes the stride (<pxref label="Stride"><xrefnodename>Stride</xrefnodename></pxref>) capability to obtain
every other timeslice.
This is possible because the UDUnits feature is additive, not
@@ -6146,7 +6188,7 @@ time period spread across multiple input files
<noindent></noindent>
<para>Note that there is no excess whitespace before or after the individual
elements of the <samp>-d</samp> argument.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="642">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="646">shell</indexterm></cindex>
This is important since, as far as the shell knows, <samp>-d</samp> takes
only <emph>one</emph> command-line argument.
Parsing this argument into its component
@@ -6180,8 +6222,8 @@ export UDUNITS2_XML_PATH='/unusual/location/share/udunits/udunits2.xml'
<para>This run-time flexibility can enable the full functionality of
pre-built binaries on machines with libraries in different locations.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="643">Climate and Forecast Metadata Convention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="644"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="647">Climate and Forecast Metadata Convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="648"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
<para>The <uref><urefurl>http://www.unidata.ucar.edu/packages/udunits</urefurl><urefdesc spaces=" ">UDUnits</urefdesc></uref>
package documentation describes the supported formats of time
dimensions.
@@ -6241,8 +6283,8 @@ data:
<para><samp>ncks -v lon_cal -d lon_cal,'1964-3-1 0:00:0.0','1964-3-4 00:00:0.0'</samp>
results in <code>lon_cal=1,2,3,4</code>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="645">MKS units</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="646">God</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="649">MKS units</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="650">God</indexterm></cindex>
<para>netCDF variables should always be stored with MKS (i.e., God&textrsquo;s) units,
so that application programs may assume MKS dimensions apply to all
input variables.
@@ -6325,9 +6367,9 @@ but also any bounds associated with the record coordinate (e.g.,
</section>
<node name="Multiple-Record-Dimensions" spaces=" "><nodename>Multiple Record Dimensions</nodename><nodenext spaces=" ">Missing Values</nodenext><nodeprev spaces=" ">Rebasing Time Coordinate</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Multiple Record Dimensions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="647">netCDF4</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="648"><code>--mrd</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="649"><code>--multiple_record_dimensions</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="651">netCDF4</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="652"><code>--mrd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="653"><code>--multiple_record_dimensions</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability:
<command>ncecat</command>, <command>ncpdq</command>
@@ -6384,11 +6426,11 @@ Use <samp>--mrd</samp> to override this.
</section>
<node name="Missing-Values" spaces=" "><nodename>Missing Values</nodename><nodenext spaces=" ">Chunking</nodenext><nodeprev spaces=" ">Multiple Record Dimensions</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Missing values</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="650">missing values</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="651">data, missing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="652">averaging data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="653"><code>missing_value</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="654"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="654">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="655">data, missing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="656">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="657"><code>missing_value</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="658"><code>_FillValue</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncflint</command>, <command>ncpdq</command>, <command>ncra</command>, <command>ncwa</command>&linebreak;
@@ -6398,7 +6440,7 @@ Short options: None&linebreak;
<para>The phrase <dfn>missing data</dfn> refers to data points that are missing,
invalid, or for any reason not intended to be arithmetically processed
in the same fashion as valid data.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="655">arithmetic operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="659">arithmetic operators</indexterm></cindex>
The <acronym><acronymword>NCO</acronymword></acronym> arithmetic operators attempt to handle missing data in
an intelligent fashion.
There are four steps in the <acronym><acronymword>NCO</acronymword></acronym> treatment of missing data:
@@ -6463,7 +6505,7 @@ If <var>var_type</var> equals <var>att_type</var> then <acronym><acronymword>NCO
straightforwardly compares each value of <var>var</var> to
<var>_FillValue</var> to determine which elements of <var>var</var> are to be
treated as missing data.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="656">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="660">C language</indexterm></cindex>
If not, then <acronym><acronymword>NCO</acronymword></acronym> converts <var>_FillValue</var> from
<var>att_type</var> to <var>var_type</var> by using the implicit conversion rules
<w>of C</w>, or, if <var>att_type</var> is <code>NC_CHAR</code>
@@ -6472,7 +6514,7 @@ uses <var>att_type</var> = <code>NC_CHAR</code> and <var>_FillValue</var> =
<samp>-99999.</samp>.
</para></footnote>, by typecasting the results of the <w>C function</w>
<code>strtod(<var>_FillValue</var>)</code>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="657"><command>ncatted</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="661"><command>ncatted</command></indexterm></cindex>
You may use the <acronym><acronymword>NCO</acronymword></acronym> operator <command>ncatted</command> to change the
<code>_FillValue</code> attribute and all data whose data is
<var>_FillValue</var> to a new value
@@ -6481,11 +6523,11 @@ You may use the <acronym><acronymword>NCO</acronymword></acronym> operator <comm
</listitem><listitem>
<para>Identifying missing data during arithmetic operations.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="658">performance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="659">operator speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="660">speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="661">execution time</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="662">arithmetic operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="662">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="663">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="664">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="665">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="666">arithmetic operators</indexterm></cindex>
<para>When an <acronym><acronymword>NCO</acronymword></acronym> arithmetic operator processes a variable <var>var</var>
with a <code>_FillValue</code> attribute, it compares each value of
<var>var</var> to <var>_FillValue</var> before performing an operation.
@@ -6505,11 +6547,11 @@ valid or not.
</listitem><listitem>
<para>Treatment of any data identified as missing in arithmetic operators.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="663"><command>nces</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="664"><command>ncra</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="665"><command>ncwa</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="666"><command>ncbo</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="667"><command>ncflint</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="667"><command>nces</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="668"><command>ncra</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="669"><command>ncwa</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="670"><command>ncbo</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="671"><command>ncflint</command></indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> averagers (<command>ncra</command>, <command>nces</command>, <command>ncwa</command>)
do not count any element with the value <var>_FillValue</var> towards the
average.
@@ -6553,17 +6595,17 @@ important information from being lost.
</section>
<node name="Chunking" spaces=" "><nodename>Chunking</nodename><nodenext spaces=" ">Deflation</nodenext><nodeprev spaces=" ">Missing Values</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Chunking</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="668"><code>--cnk_byt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="669"><code>--cnk_dmn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="670"><code>--cnk_map</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="671"><code>--cnk_plc</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="672"><code>--cnk_scl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="673"><code>--chunk_byte</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="674"><code>--chunk_dimension</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="675"><code>--chunk_map</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="676"><code>--chunk_policy</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="677"><code>--chunk_scalar</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="678">chunking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="672"><code>--cnk_byt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="673"><code>--cnk_dmn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="674"><code>--cnk_map</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="675"><code>--cnk_plc</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="676"><code>--cnk_scl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="677"><code>--chunk_byte</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="678"><code>--chunk_dimension</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="679"><code>--chunk_map</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="680"><code>--chunk_policy</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="681"><code>--chunk_scalar</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="682">chunking</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
@@ -6588,9 +6630,9 @@ Dataset chunking issues are described in detail
and
<uref><urefurl>http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes</urefurl><urefdesc>here</urefdesc></uref>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="679">chunking policy</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="680">chunking map</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="681">chunksize</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="683">chunking policy</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="684">chunking map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="685">chunksize</indexterm></cindex>
<para>The <acronym><acronymword>NCO</acronymword></acronym> chunking implementation is designed to be flexible.
Users control three aspects of the chunking implementation.
These are known as the <dfn>chunking policy</dfn>, <dfn>chunking map</dfn>,
@@ -6598,9 +6640,9 @@ and <dfn>chunksize</dfn>.
The first two are high-level mechanisms that apply to an entire file
and all variables and dimensions, while the third allows per-dimension
specification of parameters.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="682">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="686">hyperslab</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="10" mergedindex="cp">ncpdq</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="683">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="687">packing</indexterm></cindex>
The implementation is a hybrid of the <command>ncpdq</command> packing policies
(<pxref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></pxref>), and the hyperslab
specifications (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).
@@ -6612,25 +6654,25 @@ performance.
<para>The user specifies the desired chunking policy with the <samp>-P</samp> switch
(or its long option equivalents, <samp>--cnk_plc</samp> and
<samp>--chunk_policy</samp>) and its <var>cnk_plc</var> argument.
-As of August, 2014, six chunking policies are currently implemented:&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="684"><samp>all</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="685"><samp>g2d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="686"><samp>g3d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="687"><samp>r1d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="688"><samp>xpl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="689"><samp>xst</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="690"><samp>cnk_all</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="691"><samp>cnk_g2d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="692"><samp>cnk_g3d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="693"><samp>cnk_r1d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="694"><samp>cnk_xpl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="695"><samp>cnk_xst</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="696"><samp>plc_all</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="697"><samp>plc_g2d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="698"><samp>plc_g3d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="699"><samp>plc_r1d</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="700"><samp>plc_xpl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="701"><samp>plc_xst</samp></indexterm></cindex>
+As of August, 2014, six chunking policies are implemented:&linebreak;
+<cindex index="cp" spaces=" "><indexterm index="cp" number="688"><samp>all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="689"><samp>g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="690"><samp>g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="691"><samp>r1d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="692"><samp>xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="693"><samp>xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="694"><samp>cnk_all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="695"><samp>cnk_g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="696"><samp>cnk_g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="697"><samp>cnk_r1d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="698"><samp>cnk_xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="699"><samp>cnk_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="700"><samp>plc_all</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="701"><samp>plc_g2d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="702"><samp>plc_g3d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="703"><samp>plc_r1d</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="704"><samp>plc_xpl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="705"><samp>plc_xst</samp></indexterm></cindex>
</para><table commandarg="dfn" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunk All Variables</itemformat></item>
</tableterm><tableitem><para>Definition: Chunk all variables possible.
@@ -6687,12 +6729,12 @@ Multiple equivalent options are provided to satisfy disparate needs
and tastes of <acronym><acronymword>NCO</acronymword></acronym> users working with scripts and from the
command line.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="702">chunking map</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="703">degenerate dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="704"><var>cnk_map</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="705"><code>-M <var>cnk_map</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="706"><code>--cnk_map <var>cnk_map</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="707"><code>--map <var>cnk_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="706">chunking map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="707">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="708"><var>cnk_map</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="709"><code>-M <var>cnk_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="710"><code>--cnk_map <var>cnk_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="711"><code>--map <var>cnk_map</var></code></indexterm></cindex>
<para>The chunking algorithms must know the chunksizes of each dimension of
each variable to be chunked.
The correspondence between the input variable shape and the chunksizes
@@ -6701,26 +6743,26 @@ The user specifies the desired chunking map with the <samp>-M</samp> switch
(or its long option equivalents, <samp>--cnk_map</samp> and
<samp>--chunk_map</samp>) and its <var>cnk_map</var> argument.
Four chunking maps are currently implemented:&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="708"><samp>dmn</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="709"><samp>scl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="710"><samp>prd</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="711"><samp>lfp</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="712"><samp>rd1</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="713"><samp>xst</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="714"><samp>rew</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="715"><samp>cnk_dmn</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="716"><samp>cnk_scl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="717"><samp>cnk_prd</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="718"><samp>cnk_lfp</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="719"><samp>cnk_rd1</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="720"><samp>cnk_xst</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="721"><samp>map_dmn</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="722"><samp>map_scl</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="723"><samp>map_prd</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="724"><samp>map_lfp</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="725"><samp>map_rd1</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="726"><samp>map_xst</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="727">Chris Barker</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="712"><samp>dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="713"><samp>scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="714"><samp>prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="715"><samp>lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="716"><samp>rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="717"><samp>xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="718"><samp>rew</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="719"><samp>cnk_dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="720"><samp>cnk_scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="721"><samp>cnk_prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="722"><samp>cnk_lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="723"><samp>cnk_rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="724"><samp>cnk_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="725"><samp>map_dmn</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="726"><samp>map_scl</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="727"><samp>map_prd</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="728"><samp>map_lfp</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="729"><samp>map_rd1</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="730"><samp>map_xst</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="731">Chris Barker</indexterm></cindex>
</para><table commandarg="dfn" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Chunksize Equals Dimension Size [<emph>default</emph>]</itemformat></item>
</tableterm><tableitem><para>Definition: Chunksize defaults to dimension size.
@@ -6791,6 +6833,14 @@ The option takes two comma-separated arguments,
chunksize, respectively.
The <samp>--cnk_dmn</samp> option may be used as many times as necessary.
</para>
+<para>The default behavior of chunking depends on several factors.
+When no chunking options are explicitly specified by the user, then
+output netCDF4 files are chunked with the default behavior of the
+netCDF4 library.
+When any chunking option <emph>except</emph> <samp>cnk_plc</samp> or <samp>cnk_map</samp>
+is specified, then <samp>cnk_plc</samp> and <samp>cnk_map</samp> are set to
+<samp>g2d</samp> and <samp>rd1</samp>, respectively.
+</para>
<html endspaces=" ">
<a name="xmp_cnk"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_cnk &textndash;>
<a name="xmp_chunk"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_chunk &textndash;>
@@ -6848,7 +6898,7 @@ For example,
Without the <samp>r1d</samp> policy, <code>time</code> chunks would change in all
variables.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="728">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="732">record dimension</indexterm></cindex>
<para>It is appropriate to conclude by informing users about an aspect of
chunking that may not be expected.
Three types of variables are <emph>always</emph> chunked: Record variables,
@@ -6874,12 +6924,12 @@ variables.
</section>
<node name="Deflation" spaces=" "><nodename>Deflation</nodename><nodenext spaces=" ">MD5 digests</nodenext><nodeprev spaces=" ">Chunking</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Deflation</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="729"><code>-L</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="730"><code>--deflate</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="731"><code>--dfl_lvl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="732">Lempel-Ziv deflation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="733">compression</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="734">deflation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="733"><code>-L</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="734"><code>--deflate</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="735"><code>--dfl_lvl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="736">Lempel-Ziv deflation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="737">compression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="738">deflation</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncecat</command>, <command>ncflint</command>, <command>ncks</command>, <command>ncpdq</command>,
@@ -6937,15 +6987,15 @@ ncpdq -4 -L 9 in.nc out.nc # Deflated packing (~80% compression)
</section>
<node name="MD5-digests" spaces=" "><nodename>MD5 digests</nodename><nodenext spaces=" ">Buffer sizes</nodenext><nodeprev spaces=" ">Deflation</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>MD5 digests</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="735"><code>--md5_digest</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="736"><code>--md5_dgs</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="737"><code>--md5_wrt_att</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="738"><code>--md5_write_attribute</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="739">integrity</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="740">security</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="741">digest</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="742">hash</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="743">MD5 digest</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="739"><code>--md5_digest</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="740"><code>--md5_dgs</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="741"><code>--md5_wrt_att</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="742"><code>--md5_write_attribute</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="743">integrity</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="744">security</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="745">digest</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="746">hash</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="747">MD5 digest</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability:
<command>ncecat</command>, <command>ncks</command>, <command>ncrcat</command>&linebreak;
@@ -7040,12 +7090,12 @@ We welcome feedback and suggestions from users.
</section>
<node name="Buffer-sizes" spaces=" "><nodename>Buffer sizes</nodename><nodenext spaces=" ">RAM disks</nodenext><nodeprev spaces=" ">MD5 digests</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Buffer sizes</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="744"><code>--bfr_sz_hnt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="745">Buffer sizes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="746">File buffers</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="747"><command>stat() system call</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="748">I/O block size</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="749">System calls</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="748"><code>--bfr_sz_hnt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="749">Buffer sizes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="750">File buffers</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="751"><command>stat() system call</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="752">I/O block size</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="753">System calls</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: &linebreak;
@@ -7085,19 +7135,19 @@ ncks: INFO nc__open() opened file with buffer size = 2097152 bytes
</section>
<node name="RAM-disks" spaces=" "><nodename>RAM disks</nodename><nodenext spaces=" ">Packed data</nodenext><nodeprev spaces=" ">Buffer sizes</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>RAM disks</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="750"><code>--ram_all</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="751"><code>--create_ram</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="752"><code>--open_ram</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="753"><code>--diskless_all</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="754"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="755"><acronym><acronymword>RAM</acronymword></acronym> files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="756"><code>NC_DISKLESS</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="757">diskless files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="758">memory requirements</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="759">memory available</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="760"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="761">swap space</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="762">peak memory usage</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="754"><code>--ram_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="755"><code>--create_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="756"><code>--open_ram</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="757"><code>--diskless_all</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="758"><acronym><acronymword>RAM</acronymword></acronym> disks</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="759"><acronym><acronymword>RAM</acronymword></acronym> files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="760"><code>NC_DISKLESS</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="761">diskless files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="762">memory requirements</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="763">memory available</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="764"><acronym><acronymword>RAM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="765">swap space</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="766">peak memory usage</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: &linebreak;
@@ -7146,7 +7196,7 @@ To be safe, use <samp>--open_ram</samp>, <samp>--ram_all</samp>, or
of four) smaller than your available system <acronym><acronymword>RAM</acronymword></acronym>.
See <ref label="Memory-Requirements"><xrefnodename>Memory Requirements</xrefnodename></ref> for further details.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="763"><acronym><acronymword>RAM</acronymword></acronym> variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="767"><acronym><acronymword>RAM</acronymword></acronym> variables</indexterm></cindex>
<para>The <samp>--create_ram</samp> switch causes output files to be created in RAM,
rather than on disk.
These files are copied to disk only when closed, i.e., when the
@@ -7199,9 +7249,9 @@ It is not unreasonable to for <acronym><acronymword>NCO</acronymword></acronym>
like this in a few minutes.
However, there is no substitute for benchmarking with real files.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="764">temporary output files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="765">temporary files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="766"><code>--no_tmp_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="768">temporary output files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="769">temporary files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="770"><code>--no_tmp_fl</code></indexterm></cindex>
<para>A completely independent way to reduce time spent writing files is
to refrain from writing temporary output files.
This is accomplished with the <samp>--no_tmp_fl</samp> switch
@@ -7214,16 +7264,16 @@ This is accomplished with the <samp>--no_tmp_fl</samp> switch
</section>
<node name="Packed-data" spaces=" "><nodename>Packed data</nodename><nodenext spaces=" ">Operation Types</nodenext><nodeprev spaces=" ">RAM disks</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Packed data</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="767">packing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="768">unpacking</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="769"><code>add_offset</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="770"><code>scale_factor</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="771"><code>missing_value</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="772"><code>_FillValue</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="773"><command>pack(x)</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="774"><command>unpack(x)</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="775"><code>--hdf_upk</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="776"><code>--hdf_unpack</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="771">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="772">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="773"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="774"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="775"><code>missing_value</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="776"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="777"><command>pack(x)</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="778"><command>unpack(x)</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="779"><code>--hdf_upk</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="780"><code>--hdf_unpack</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncflint</command>, <command>ncpdq</command>, <command>ncra</command>, <command>ncwa</command>&linebreak;
@@ -7326,8 +7376,8 @@ unpacked data, i.e., <code>int</code>, <code>float</code> or <code>double</code>
<a name="hdf_upk"></a> <!&textndash; http://nco.sf.net/nco.html#hdf_upk &textndash;>
<a name="hdf_unpack"></a> <!&textndash; http://nco.sf.net/nco.html#hdf_unpack &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="777">interoperability</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="778"><acronym><acronymword>HDF</acronymword></acronym> unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="781">interoperability</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="782"><acronym><acronymword>HDF</acronymword></acronym> unpacking</indexterm></cindex>
<para>Most files originally written in <acronym><acronymword>HDF</acronymword></acronym> format use the
<acronym><acronymword>HDF</acronymword></acronym> packing/unpacking algorithm.
This algorithm is incompatible with the netCDF packing algorithm
@@ -7431,27 +7481,27 @@ Pack and unpack individual variables with <command>ncpdq</command> and the
</section>
<node name="Operation-Types" spaces=" "><nodename>Operation Types</nodename><nodenext spaces=" ">Type Conversion</nodenext><nodeprev spaces=" ">Packed data</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Operation Types</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="779">operation types</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="780"><code>avg</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="781"><code>sqravg</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="782"><code>avgsqr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="783"><code>min</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="784"><code>max</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="785"><code>rmssdn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="786"><code>rms</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="787"><code>ttl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="788"><code>sqrt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="789">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="790">mean</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="791">total</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="792">minimum</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="793">maximum</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="794">root-mean-square</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="795">standard deviation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="796">variance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="797"><code>-y <var>op_typ</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="798"><code>--operation <var>op_typ</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="799"><code>--op_typ <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="783">operation types</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="784"><code>avg</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="785"><code>sqravg</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="786"><code>avgsqr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="787"><code>min</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="788"><code>max</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="789"><code>rmssdn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="790"><code>rms</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="791"><code>ttl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="792"><code>sqrt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="793">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="794">mean</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="795">total</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="796">minimum</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="797">maximum</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="798">root-mean-square</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="799">standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="800">variance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="801"><code>-y <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="802"><code>--operation <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="803"><code>--op_typ <var>op_typ</var></code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncap2</command>, <command>ncra</command>, <command>nces</command>, <command>ncwa</command>&linebreak;
Short options: <samp>-y</samp>&linebreak;
@@ -7482,7 +7532,7 @@ Set <var>op_typ</var> to the abbreviated key for the corresponding operation:
</tableterm><tableitem><para>Sum of values
</para></tableitem></tableentry></table>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="800">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="804">coordinate variable</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> assumes coordinate variables represent grid axes, e.g.,
longitude.
The only rank-reduction which makes sense for coordinate variables
@@ -7716,7 +7766,7 @@ ncwa -y rms -v prs_sfc -a time in.nc foo.nc
<noindent></noindent>
<para>The previous two commands give the same answer but <command>ncra</command> is
preferred because it has a smaller memory footprint.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="801">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="805">degenerate dimension</indexterm></cindex>
A dimension of size one is said to be <dfn>degenerate</dfn>.
By default, <command>ncra</command> leaves the (degenerate) <code>time</code>
dimension in the output file (which is usually useful) whereas
@@ -7741,7 +7791,7 @@ We can now find the three month maximium surface pressure at every point.
<a name="xmp_sdn"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_sdn &textndash;>
</html>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="802">standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="806">standard deviation</indexterm></cindex>
<para>It is possible to use a combination of these operations to compute
the variance and standard deviation of a field stored in a single file
or across multiple files.
@@ -7832,7 +7882,7 @@ less required by the <command>ncbo</command> operation in the third step.
</section>
<node name="Type-Conversion" spaces=" "><nodename>Type Conversion</nodename><nodenext spaces=" ">Batch Mode</nodenext><nodeprev spaces=" ">Operation Types</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Type Conversion</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="803">type conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="807">type conversion</indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability (automatic type conversion): <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
<command>ncflint</command>, <command>ncra</command>, <command>ncwa</command>&linebreak;
@@ -7841,10 +7891,10 @@ Availability (manual type conversion): <command>nces</command>, <command>ncra</c
Short options: None&linebreak;
Long options: <samp>--dbl</samp>, <samp>--flt</samp>, <samp>--rth_dbl</samp>, <samp>--rth_flt</samp>&linebreak;
</para></cartouche>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="804">promotion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="805">demotion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="806">automatic type conversion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="807">manual type conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="808">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="809">demotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="810">automatic type conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="811">manual type conversion</indexterm></cindex>
<para>Type conversion refers to the casting or coercion of one fundamental or
atomic data type to another, e.g., converting <code>NC_SHORT</code> (two
bytes) to <code>NC_DOUBLE</code> (eight bytes).
@@ -7958,7 +8008,7 @@ Similarly, the total (e.g., <samp>-y ttl</samp>) of <code>17000s</code> and
the final result (the true total) of <math>34000</math> is outside the range
of type <code>NC_SHORT</code>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="808"><code>trunc()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="812"><code>trunc()</code></indexterm></cindex>
<para>After arithmetic is computed in double-precision for promoted variables,
the intermediate double-precision values must be demoted to the
variables&textrsquo; original storage type (e.g., from <code>NC_DOUBLE</code> to
@@ -7966,7 +8016,7 @@ variables&textrsquo; original storage type (e.g., from <code>NC_DOUBLE</code> to
<acronym><acronymword>NCO</acronymword></acronym> has handled this demotion in three ways in its history.
Prior to October, 2011 (version 4.0.8), <acronym><acronymword>NCO</acronymword></acronym> employed the
<w>C library</w> truncate function, <code>trunc()</code>
-<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="809">C language</indexterm></cindex>
+<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="813">C language</indexterm></cindex>
<para>The actual type conversions with trunction were handled by intrinsic
type conversion, so the <code>trunc()</code> function was never explicitly
called, although the results would be the same if it were.</para></footnote>.
@@ -7979,7 +8029,7 @@ integer!
Yet truncation is how the <w>C language</w> performs implicit conversion of
real numbers to integers.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="810">Neil Davis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="814">Neil Davis</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> stopped using truncation for demotion when an alert user
(Neil Davis) informed us that this caused a small bias in the packing
algorithm employed by <command>ncpdq</command>.
@@ -7998,7 +8048,7 @@ This rounds, for example, <code>1.5d</code> and <code>2.5d</code> to <code>2s</c
and <code>3s</code>, respectively.
</para>
<findex index="fn" spaces=" "><indexterm index="fn" number="13" mergedindex="cp"><code>lrint()</code>.</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="811"><acronym><acronymword>IEEE</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="815"><acronym><acronymword>IEEE</acronymword></acronym></indexterm></cindex>
<para>Since April, 2013 (version 4.3.0), <acronym><acronymword>NCO</acronymword></acronym> has employed the
other <w>C library</w> family of rounding functions, <code>lrint()</code>.
This algorithm rounds <var>x</var> to the nearest integer, using the current
@@ -8026,12 +8076,12 @@ stores it on disk as
</subsection>
<node name="Promoting-Single_002dprecision-to-Double" spaces=" "><nodename>Promoting Single-precision to Double</nodename><nodenext spaces=" ">Manual type conversion</nodenext><nodeprev spaces=" ">Automatic type conversion</nodeprev><nodeup spaces=" ">Type Conversion</nodeup></node>
<subsection spaces=" "><sectiontitle>Promoting Single-precision to Double</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="812">promotion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="813">implicit conversion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="814"><code>--dbl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="815"><code>--rth_dbl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="816"><code>--flt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="817"><code>--rth_flt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="816">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="817">implicit conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="818"><code>--dbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="819"><code>--rth_dbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="820"><code>--flt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="821"><code>--rth_flt</code></indexterm></cindex>
<para>Promotion of real numbers from single- to double-precision is
fundamental to scientific computing.
When it should occur depends on the precision of the inputs and the
@@ -8062,8 +8112,8 @@ precision than single-precision numbers.
</para>
<para>Given these properties, there are at least two possible arithmetic
conventions for the treatment of real numbers:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="818">C language</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="819">Fortran</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="822">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="823">Fortran</indexterm></cindex>
</para><enumerate first="1" endspaces=" ">
<listitem spaces=" "><para>Conservative, aka Fortran Convention
Automatic type conversion during arithmetic in the Fortran language is,
@@ -8214,7 +8264,7 @@ They enforce the traditional <acronym><acronymword>NCO</acronymword></acronym> a
keeping single-precision arithmetic in single-precision unless a
double-precision number is explicitly involved.
</para>
-<para>As has been seen, forced promotion of single- to double-precision
+<para>We have shown that forced promotion of single- to double-precision
prior to arithmetic has advantages and disadvantages.
The primary disadvantages are speed and size.
Double-precision arithmetic is 10&textndash;60% slower than, and requires
@@ -8234,9 +8284,9 @@ degrade the precision in such situtations.
Double-precision arithmetic mititgates this problem, so <samp>--dbl</samp>
would be warranted.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="820"><acronym><acronymword>TREFHT</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="821"><acronym><acronymword>CAM3</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="822"><acronym><acronymword>GCM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="824"><acronym><acronymword>TREFHT</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="825"><acronym><acronymword>CAM3</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="826"><acronym><acronymword>GCM</acronymword></acronym></indexterm></cindex>
<para>This can be seen with another example, averaging a global surface
temperature field with <command>ncwa</command>.
The input contains a single-precision global temperature field
@@ -8315,8 +8365,8 @@ It means that the global mean temperature changes scientists are looking
for are comparable in size to the numerical artifacts produced by the
averaging procedure.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="823">rounding</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="824">random walk</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="827">rounding</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="828">random walk</indexterm></cindex>
<para>Why are the single-precision numerical artifacts so large?
Each global average is the result of multiplying almost 15,000 elements
each by its weight, summing those, and then dividing by the summed
@@ -8325,7 +8375,7 @@ Thus about 50,000 single-precision floating point operations caused
the loss of two to three significant digits of precision.
The net error of a series of independent rounding errors is a random
walk phenomena
-<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="825">Michael Prather</indexterm></cindex>
+<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="829">Michael Prather</indexterm></cindex>
<para>Thanks to <w>Michael J.</w> Prather for explaining this to me.</para></footnote>.
Successive rounding errors displace the answer further from the truth.
An ensemble of such averages will, on average, have no net bias.
@@ -8334,8 +8384,8 @@ rounding errors is zero.
And the error of any given sequence of rounding errors obeys, for large
series, a Gaussian distribution centered on zero.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="826">mantissa</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="827">exponent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="830">mantissa</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="831">exponent</indexterm></cindex>
<para>Single-precision numbers use three of their four eight-bit bytes to
represent the mantissa so the smallest representable single-precision
mantissa is <math>\epsilon \equiv 2^{-23} = 1.19209 \times 10^{-7}</math>.
@@ -8368,7 +8418,7 @@ agreement.
<!-- c P(>=25500,50000)= ? -->
<!-- c fxm: Use Gaussian distribution/Random Walk -->
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="828">beer</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="832">beer</indexterm></cindex>
<para>The <acronym><acronymword>NCO</acronymword></acronym> results have been independently validated to the
extent possible in three other languages:
<w>C</w>, Matlab, and <acronym><acronymword>NCL</acronymword></acronym>.
@@ -8402,8 +8452,8 @@ float-promotion preferences as desired.
No other language allows this with a simple switch.
</para>
<para>To summarize, until version 4.3.6 (September, 2013), the default
-arithmetic convention of <acronym><acronymword>NCO</acronymword></acronym> followed the behavior of Fortran,
-and automatically promoted single-precision to double-precision in all
+arithmetic convention of <acronym><acronymword>NCO</acronymword></acronym> adhered to Fortran behavior,
+and automatically promoted single-precision to double-precision in all
mixed-precision expressions, and left-alone pure single-precision
expressions.
This is faster and more memory efficient than other conventions.
@@ -8428,10 +8478,10 @@ result.
Providing the <samp>--dbl</samp> option for such trivial operations makes
little sense, so the option is not currently made available.
</para>
-<para>At the time of this writing (September 2013), we are interested in
-users&textrsquo; opinions on these matters.
-Currently the default behavior is <samp>--flt</samp>.
-We are willing to change the default to <samp>--dbl</samp> if users prefer.
+<para>We are interested in users&textrsquo; opinions on these matters.
+The default behavior was changed from <samp>--flt</samp> to <samp>--dbl</samp>
+with the release of <acronym><acronymword>NCO</acronymword></acronym> version 4.3.6 (October 2013).
+We will change the default back to <samp>--flt</samp> if users prefer.
Or we could set a threshold (e.g., <math>n \ge 10000</math>) after which
single- to double-precision promotion is automatically invoked.
Or we could make the default promotion convention settable via an
@@ -8441,7 +8491,7 @@ Please let us know what you think of the selected defaults and options.
</subsection>
<node name="Manual-type-conversion" spaces=" "><nodename>Manual type conversion</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Promoting Single-precision to Double</nodeprev><nodeup spaces=" ">Type Conversion</nodeup></node>
<subsection spaces=" "><sectiontitle>Manual type conversion</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="829"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="833"><command>ncap2</command></indexterm></cindex>
<para><command>ncap2</command> provides intrinsic functions for performing manual type
conversions.
This, for example, converts variable <code>tpt</code> to external type
@@ -8460,17 +8510,17 @@ external type <code>NC_DOUBLE</code> (a C-type <code>double</code>).
</section>
<node name="Batch-Mode" spaces=" "><nodename>Batch Mode</nodename><nodenext spaces=" ">History Attribute</nodenext><nodeprev spaces=" ">Type Conversion</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Batch Mode</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="830">batch mode</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="831">overwriting files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="832">appending to files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="833">force overwrite</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="834">force append</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="835"><code>-O</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="836"><code>-A</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="837"><code>--overwrite</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="838"><code>--ovr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="839"><code>--apn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="840"><code>--append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="834">batch mode</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="835">overwriting files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="836">appending to files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="837">force overwrite</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="838">force append</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="839"><code>-O</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="840"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="841"><code>--overwrite</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="842"><code>--ovr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="843"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="844"><code>--append</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-O</samp>, <samp>-A</samp>&linebreak;
@@ -8501,13 +8551,13 @@ already contain the appended dimensions.
</section>
<node name="History-Attribute" spaces=" "><nodename>History Attribute</nodename><nodenext spaces=" ">File List Attributes</nodenext><nodeprev spaces=" ">Batch Mode</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>History Attribute</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="841"><code>history</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="842">timestamp</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="843">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="844">attributes, global</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="845"><code>-h</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="846"><code>--hst</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="847"><code>--history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="845"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="846">timestamp</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="847">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="848">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="849"><code>-h</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="850"><code>--hst</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="851"><code>--history</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-h</samp>&linebreak;
@@ -8532,9 +8582,9 @@ Thus attributes named <code>History</code> or <code>HISTORY</code> (which are
non-standard and not recommended) will be treated as valid history
attributes.
When more than one global attribute fits the case-insensitive search
-for "history", the first one found will be used.
+for &textldquo;history&textrdquo;, the first one found will be used.
<code>history</code> attribute
-<cindex index="cp" spaces=" "><indexterm index="cp" number="848"><command>ncatted</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="852"><command>ncatted</command></indexterm></cindex>
To avoid information overkill, all operators have an optional switch
(<samp>-h</samp>, <samp>--hst</samp>, or <samp>--history</samp>) to override
automatically appending the <code>history</code> attribute
@@ -8549,14 +8599,14 @@ Note that the <samp>-h</samp> switch also turns off writing the
</section>
<node name="File-List-Attributes" spaces=" "><nodename>File List Attributes</nodename><nodenext spaces=" ">CF Conventions</nodenext><nodeprev spaces=" ">History Attribute</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>File List Attributes</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="849"><code>nco_input_file_list</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="850"><code>nco_input_file_number</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="851"><code>stdin</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="852">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="853">attributes, global</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="854"><code>-H</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="855"><code>--fl_lst_in</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="856"><code>--file_list</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="853"><code>nco_input_file_list</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="854"><code>nco_input_file_number</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="855"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="856">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="857">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="858"><code>-H</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="859"><code>--fl_lst_in</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="860"><code>--file_list</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>nces</command>, <command>ncecat</command>, <command>ncra</command>, <command>ncrcat</command>&linebreak;
Short options: <samp>-H</samp>&linebreak;
@@ -8601,21 +8651,21 @@ may amount to many thousands of filenames in a metadata attribute.
</section>
<node name="CF-Conventions" spaces=" "><nodename>CF Conventions</nodename><nodenext spaces=" ">ARM Conventions</nodenext><nodeprev spaces=" ">File List Attributes</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle><acronym><acronymword>CF</acronymword></acronym> Conventions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="857"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="858"><acronym><acronymword>CCSM</acronymword></acronym> conventions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="859">UDUnits</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="860"><code>ORO</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="861"><code>area</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="862"><code>datesec</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="863"><code>date</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="864"><code>gw</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="865"><code>hyai</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="866"><code>hyam</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="867"><code>hybi</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="868"><code>hybm</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="869"><code>lat_bnds</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="870"><code>lon_bnds</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="871"><code>msk_*</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="861"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="862"><acronym><acronymword>CCSM</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="863">UDUnits</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="864"><code>ORO</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="865"><code>area</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="866"><code>datesec</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="867"><code>date</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="868"><code>gw</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="869"><code>hyai</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="870"><code>hyam</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="871"><code>hybi</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="872"><code>hybm</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="873"><code>lat_bnds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="874"><code>lon_bnds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="875"><code>msk_*</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncbo</command>, <command>nces</command>, <command>ncecat</command>,
<command>ncflint</command>, <command>ncpdq</command>, <command>ncra</command>, <command>ncwa</command>&linebreak;
@@ -8679,7 +8729,7 @@ variables because of their usual meaning in <acronym><acronymword>CF</acronymwor
These variables contain scalar metadata such as the resolution of the
host geophysical model and it makes no sense to change their values.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="872">non-coordinate grid properties</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="876">non-coordinate grid properties</indexterm></cindex>
<para>Furthermore, the <dfn>size and rank-preserving arithmetic operators</dfn> try
not to operate on certain grid properties.
These operators are <command>ncap2</command>, <command>ncbo</command>, <command>nces</command>,
@@ -8723,8 +8773,8 @@ or alter the <code>Conventions</code> attribute.
<a name="cnv_CF_bnd"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CF_bnd &textndash;>
<a name="bnd"></a> <!&textndash; http://nco.sf.net/nco.html#bnd &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="873"><code>bounds</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="874">bounds convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="877"><code>bounds</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="878">bounds convention</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.0.8 (April, 2011), <acronym><acronymword>NCO</acronymword></acronym>
supports the <acronym><acronymword>CF</acronymword></acronym> <code>bounds</code> convention for cell boundaries
described
@@ -8746,8 +8796,8 @@ Bounds are subject to the user-specified override switches
<a name="cnv_CF_ncl"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CF_ncl &textndash;>
<a name="ncl"></a> <!&textndash; http://nco.sf.net/nco.html#ncl &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="875"><code>ancillary_variables</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="876">ancillary variables convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="879"><code>ancillary_variables</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="880">ancillary variables convention</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.5 (July, 2014), <acronym><acronymword>NCO</acronymword></acronym>
supports the <acronym><acronymword>CF</acronymword></acronym> <code>ancillary_variables</code> convention for
described
@@ -8764,17 +8814,17 @@ Ancillary variables are subject to the user-specified override switches
<html endspaces=" ">
<a name="cnv_CF_crd"></a> <!&textndash; http://nco.sf.net/nco.html#cnv_CF_crd &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="877"><code>coordinates</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="878">coordinates convention</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="879">coordinate variable</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="880">auxiliary coordinates</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="881">subsetting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="882"><code>-C</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="883"><code>-c</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="884"><code>--no-coords</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="885"><code>--no-crd</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="886"><code>--coords</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="887"><code>--crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="881"><code>coordinates</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="882">coordinates convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="883">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="884">auxiliary coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="885">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="886"><code>-C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="887"><code>-c</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="888"><code>--no-coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="889"><code>--no-crd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="890"><code>--coords</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="891"><code>--crd</code></indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 3.9.6 (January, 2009), <acronym><acronymword>NCO</acronymword></acronym>
supports the <acronym><acronymword>CF</acronymword></acronym> <code>coordinates</code> convention described
<uref><urefurl>http://cfconventions.org/1.6.html#coordinate-system</urefurl><urefdesc spaces=" ">here</urefdesc></uref>.
@@ -8793,12 +8843,12 @@ switches (including <samp>-c</samp> and <samp>-C</samp>) described in
<a name="no_cll_mth"></a> <!&textndash; http://nco.sf.net/nco.html#no_cll_mth &textndash;>
<a name="cell_methods"></a> <!&textndash; http://nco.sf.net/nco.html#cell_methods &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="888"><code>cell_methods</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="889"><code>--cll_mth</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="890"><code>--no_cll_mth</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="891"><code>--cell_methods</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="892"><code>--no_cell_methods</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="893">cell methods convention</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="892"><code>cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="893"><code>--cll_mth</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="894"><code>--no_cll_mth</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="895"><code>--cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="896"><code>--no_cell_methods</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="897">cell methods convention</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.2 (February, 2014), <acronym><acronymword>NCO</acronymword></acronym>
supports some of the <acronym><acronymword>CF</acronymword></acronym> <code>cell_methods</code>
<uref><urefurl>http://cfconventions.org/1.6.html#cell-methods</urefurl><urefdesc spaces=" ">convention</urefdesc></uref>
@@ -8834,10 +8884,10 @@ These options are only available in the operators <command>ncwa</command> and
</section>
<node name="ARM-Conventions" spaces=" "><nodename>ARM Conventions</nodename><nodenext spaces=" ">Operator Version</nodenext><nodeprev spaces=" ">CF Conventions</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle><acronym><acronymword>ARM</acronymword></acronym> Conventions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="894"><acronym><acronymword>ARM</acronymword></acronym> conventions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="895"><code>time_offset</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="896"><code>base_time</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="897"><code>time</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="898"><acronym><acronymword>ARM</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="899"><code>time_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="900"><code>base_time</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="901"><code>time</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: <command>ncrcat</command>&linebreak;
Short options: None&linebreak;
@@ -8873,9 +8923,9 @@ The values of <code>time</code> are defined by the <acronym><acronymword>ARM</ac
<math><var>time</var> = <var>base_time</var> + <var>time_offset</var></math>.
Thus, if <var>output-file</var> contains the <code>time_offset</code>
variable, it will also contain the <code>time</code> coordinate.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="898"><code>history</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="899">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="900">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="902"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="903">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="904">attributes, global</indexterm></cindex>
<w>A short</w> message is added to the <code>history</code> global attribute
whenever these <acronym><acronymword>ARM</acronymword></acronym>-specific procedures are executed.
</para>
@@ -8886,12 +8936,12 @@ whenever these <acronym><acronymword>ARM</acronymword></acronym>-specific proced
</section>
<node name="Operator-Version" spaces=" "><nodename>Operator Version</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">ARM Conventions</nodeprev><nodeup spaces=" ">Common features</nodeup></node>
<section spaces=" "><sectiontitle>Operator Version</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="901">version</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="902"><acronym><acronymword>RCS</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="903"><code>-r</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="904"><code>--revision</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="905"><code>--version</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="906"><code>--vrs</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="905">version</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="906"><acronym><acronymword>RCS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="907"><code>-r</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="908"><code>--revision</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="909"><code>--version</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="910"><code>--vrs</code></indexterm></cindex>
<cartouche endspaces=" ">
<para>Availability: All operators&linebreak;
Short options: <samp>-r</samp>&linebreak;
@@ -8925,7 +8975,7 @@ This tells you that <command>ncks</command> contains all patches up to version
<para>This chapter presents reference pages for each of the operators
individually.
The operators are presented in alphabetical order.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="907">command line switches</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="911">command line switches</indexterm></cindex>
All valid command line switches are included in the syntax statement.
Recall that descriptions of many of these command line switches are
provided only in <ref label="Common-features"><xrefnodename>Common features</xrefnodename></ref>, to avoid redundancy.
@@ -8954,9 +9004,9 @@ described in any detail in the sections below.
</html>
<node name="ncap2-netCDF-Arithmetic-Processor" spaces=" "><nodename>ncap2 netCDF Arithmetic Processor</nodename><nodenext spaces=" ">ncatted netCDF Attribute Editor</nodenext><nodeprev spaces=" ">Operator Reference Manual</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncap2</command> netCDF Arithmetic Processor</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="908">parser</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="909">lexer</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="910">arithmetic processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="912">parser</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="913">lexer</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="914">arithmetic processor</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="14" mergedindex="cp">ncap</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="15" mergedindex="cp">ncap2</indexterm></findex>
<cartouche endspaces=" ">
@@ -8997,11 +9047,11 @@ This documentation refers to <command>ncap2</command>, which has a superset of
the <command>ncap</command> functionality.
Eventually <command>ncap</command> will be deprecated in favor <command>ncap2</command>.
<command>ncap2</command> may be renamed <command>ncap</command> in 2013.</para></footnote>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="911">script file</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="912"><code>--script-file</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="913"><code>--fl_spt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="914"><code>--script</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="915"><code>--spt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="915">script file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="916"><code>--script-file</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="917"><code>--fl_spt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="918"><code>--script</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="919"><code>--spt</code></indexterm></cindex>
The processing instructions are contained either in the <acronym><acronymword>NCO</acronymword></acronym>
script file <file>fl.nco</file> or in a sequence of command line arguments.
The options <samp>-s</samp> (or long options <samp>--spt</samp> or <samp>--script</samp>)
@@ -9010,7 +9060,7 @@ are used for in-line scripts and <samp>-S</samp> (or long options
filename where (usually multiple) scripting commands are pre-stored.
<command>ncap2</command> was written to perform arbitrary algebraic
transformations of data and archive the results as easily as possible.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="916">derived fields</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="920">derived fields</indexterm></cindex>
<xref label="Missing-Values"><xrefnodename>Missing Values</xrefnodename></xref>, for treatment of missing values.
The results of the algebraic manipulations are called
<dfn>derived fields</dfn>.
@@ -9021,7 +9071,7 @@ variables to be operated on as an argument to <samp>-v</samp>
Rather, the <samp>-v</samp> switch takes no arguments and indicates
that <command>ncap2</command> should output <emph>only</emph> user-defined variables.
<command>ncap2</command> neither accepts nor understands the <var>-x</var> switch.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="917">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="921">appending variables</indexterm></cindex>
NB: As of 20120515, <command>ncap2</command> is unable to append to files that
already contain the appended dimensions.
</para>
@@ -9062,7 +9112,7 @@ already contain the appended dimensions.
</html>
<para>Defining new variables in terms of existing variables is a powerful
feature of <command>ncap2</command>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="918">derived fields</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="922">derived fields</indexterm></cindex>
Derived fields inherit the metadata (i.e., attributes) of their
ancestors, if any, in the script or input file.
When the derived field is completely new (no identically-named ancestors
@@ -9082,49 +9132,49 @@ using left hand casting.
</html>
<node name="Syntax-of-ncap2-statements" spaces=" "><nodename>Syntax of ncap2 statements</nodename><nodenext spaces=" ">Expressions</nodenext><nodeprev spaces=" ">ncap2 netCDF Arithmetic Processor</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Syntax of <command>ncap2</command> statements</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="919">statement</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="920">syntax</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="923">statement</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="924">syntax</indexterm></cindex>
<para>Mastering <command>ncap2</command> is relatively simple.
Each valid statement <var>statement</var> consists of standard forward
algebraic expression.
The <file>fl.nco</file>, if present, is simply a list of such statements,
whitespace, and comments.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="921">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="925">C language</indexterm></cindex>
The syntax of statements is most like the computer <w>language C</w>.
The following characteristics <w>of C</w> are preserved:
</para><table commandarg="asis" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="asis">Array syntax</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="922">array syntax</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="923"><code>[]</code> (array delimiters)</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="926">array syntax</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="927"><code>[]</code> (array delimiters)</indexterm></cindex>
<para>Arrays elements are placed within <code>[]</code> characters;
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Array indexing</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="924">array indexing</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="928">array indexing</indexterm></cindex>
<para>Arrays are 0-based;
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Array storage</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="925">array storage</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="929">array storage</indexterm></cindex>
<para>Last dimension is most rapidly varying;
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Assignment statements</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="926">assignment statement</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="927">semi-colon</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="928"><code>;</code> (end of statement)</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="930">assignment statement</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="931">semi-colon</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="932"><code>;</code> (end of statement)</indexterm></cindex>
<para><w>A semi</w>-colon <samp>;</samp> indicates the end of an assignment statement.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Comments</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="929">comments</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="930"><code>/*...*/</code> (comment)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="931"><code>//</code> (comment)</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="933">comments</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="934"><code>/*...*/</code> (comment)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="935"><code>//</code> (comment)</indexterm></cindex>
<para>Multi-line comments are enclosed within <code>/* */</code> characters.
Single line comments are preceded by <code>//</code> characters.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Nesting</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="932">including files</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="933">nesting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="934"><code>#include</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="936">including files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="937">nesting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="938"><code>#include</code></indexterm></cindex>
<para>Files may be nested in scripts using <code>#include <var>script</var></code>.
Note that the <code>#include</code> command is not followed by a semi-colon
because it is a pre-processor directive, not an assignment statement.
The filename <file>script</file> is interpreted relative to the run directory.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Attribute syntax</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="935">attribute syntax</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="936"><code>&arobase;</code> (attribute)</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="939">attribute syntax</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="940"><code>&arobase;</code> (attribute)</indexterm></cindex>
<para>The at-sign <code>&arobase;</code> is used to delineate an attribute name from a
variable name.
</para></tableitem></tableentry></table>
@@ -9134,12 +9184,12 @@ variable name.
</html>
</subsection>
<node name="Expressions" spaces=" "><nodename>Expressions</nodename><nodenext spaces=" ">Dimensions</nodenext><nodeprev spaces=" ">Syntax of ncap2 statements</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="937">expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="941">expressions</indexterm></cindex>
<subsection spaces=" "><sectiontitle>Expressions</sectiontitle>
<para>Expressions are the fundamental building block of <command>ncap2</command>.
Expressions are composed of variables, numbers, literals, and
attributes.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="938">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="942">C language</indexterm></cindex>
The following <w>C operators</w> are &textldquo;overloaded&textrdquo; and work with scalars
and multi-dimensional arrays:
</para><example endspaces=" ">
@@ -9168,8 +9218,8 @@ When either type is <code>NC_DOUBLE</code>, the result is also <code>NC_DOUBLE</
</para></listitem></itemize>
<!-- c csz got to here editing -->
-<cindex index="cp" spaces=" "><indexterm index="cp" number="939">broadcasting variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="940">rank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="943">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="944">rank</indexterm></cindex>
<para><strong>Rank</strong>
</para><itemize commandarg="bullet" spaces=" " endspaces=" "><itemprepend><formattingcommand command="bullet"/> </itemprepend>
<listitem spaces=" "><prepend>•</prepend><para>The Rank of the result is generally equal to Rank of the operand
@@ -9227,7 +9277,7 @@ Consider now
</example>
<noindent></noindent> <para><strong>Binary Operators</strong> &linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="941">binary Operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="945">binary Operators</indexterm></cindex>
Unlike C the binary operators return an array of values.
There is no such thing as short circuiting with the AND/OR operators.
Missing values are carried into the result in the same way they are with
@@ -9278,8 +9328,8 @@ if exp1 is a variable and it doesn&textrsquo;t conform to var1 then an attempt i
time-=2 // time= -1,0,1,2,3,4,5,6,7,8
</pre></example>
-<noindent></noindent> <para><strong>Increment/ Decrement Operators &linebreak; </strong>
-These work in a similar fashion to their regular C counterparts. If say the variable "four" is input only then the statement "++four" effectively means -read four from input increment each element by one , then write the new values to Output;
+<noindent></noindent> <para><strong>Increment/Decrement Operators &linebreak;</strong>
+These work in a similar fashion to their regular C counterparts. If say the variable <code>four</code> is input only then the statement <code>++four</code> effectively means read <code>four</code> from input increment each element by one, then write the new values to Output;
</para>
<para>Example:
</para><example endspaces=" ">
@@ -9289,7 +9339,7 @@ n4=--time; n4=time=0.,1.,2.,3.,4.,5.,6.,7.,8.,9.;
</pre></example>
<noindent></noindent> <para><strong>Conditional Operator ?: </strong> &linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="942">conditional Operator</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="946">conditional Operator</indexterm></cindex>
<noindent></noindent> <emph>exp1 ? exp2 : exp3 </emph> &linebreak;
The conditional operator (or ternary Operator) is a succinct way
of writing an if/then/else. If exp1 evaluates to true then exp2 is
@@ -9309,7 +9359,7 @@ PS_nw=PS-(PS.min() > 100000 ? 100000 : 0);
<a name="clipping"></a> <!&textndash; http://nco.sf.net/nco.html#clipping &textndash;>
</html>
<noindent></noindent> <para><strong>Clipping Operators</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="943">clipping operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="947">clipping operators</indexterm></cindex>
</para><table commandarg="asis" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="asis"><< Less-than Clipping&linebreak;</itemformat></item>
</tableterm><tableitem><para>For arrays, the less-than selection operator selects all values in the
@@ -9340,8 +9390,8 @@ RDM2=RDM << 90s // 1, 9, 36, 84, 90, 90, 84, 36, 9, 1 int
</subsection>
<node name="Dimensions" spaces=" "><nodename>Dimensions</nodename><nodenext spaces=" ">Left hand casting</nodenext><nodeprev spaces=" ">Expressions</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Dimensions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="944">defining dimensions in <command>ncap2</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="945"><code>defdim()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="948">defining dimensions in <command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="949"><code>defdim()</code></indexterm></cindex>
<para>Dimensions are defined in Output using the <code>defdim()</code> function.
</para><example endspaces=" ">
<pre xml:space="preserve">defdim("cnt",10);
@@ -9406,9 +9456,9 @@ A1['$a--list.A']=30.0;
</subsection>
<node name="Left-hand-casting" spaces=" "><nodename>Left hand casting</nodename><nodenext spaces=" ">Arrays and hyperslabs</nodenext><nodeprev spaces=" ">Dimensions</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Left hand casting</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="946">hybrid coordinate system</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="947">left hand casting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="948"><acronym><acronymword>LHS</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="950">hybrid coordinate system</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="951">left hand casting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="952"><acronym><acronymword>LHS</acronymword></acronym></indexterm></cindex>
<para>The following examples demonstrate the utility of the
<dfn>left hand casting</dfn> ability of <command>ncap2</command>.
Consider first this simple, artificial, example.
@@ -9472,10 +9522,10 @@ coordinate system is easy with left hand casting.
<subsection spaces=" "><sectiontitle>Arrays and hyperslabs</sectiontitle>
<findex index="fn" spaces=" "><indexterm index="fn" number="16" mergedindex="cp">array</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="949"><code>array</code> function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="950">arrays</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="951">findgen-equivalent</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="952">indgen-equivalent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="953"><code>array</code> function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="954">arrays</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="955">findgen-equivalent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="956">indgen-equivalent</indexterm></cindex>
<para>Generating a regularly spaced one-dimensional array with <command>ncap2</command>
is simple with the <code>array()</code> function.
The syntax is
@@ -9513,7 +9563,7 @@ var_out=array(1+2-2,one,$time); // 1,2,3,4,5,6,7,8,9,10
var_out=array(1,2,three_dmn_rec_var); // 1,3,5,...155,157,159
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="953">hyperslabs</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="957">hyperslabs</indexterm></cindex>
<para>Hyperslabs in <command>ncap2</command> are more limited than hyperslabs with the
other <acronym><acronymword>NCO</acronymword></acronym> operators.
<command>ncap2</command> does not understand the shell command-line syntax
@@ -9531,9 +9581,9 @@ arguments for a variable of rank <var>N</var>:
</pre></example>
<para>and the arguments for different dimensions are separated by commas.
<noindent></noindent>
-If "start" is omitted, it defaults to 0.
-If "end" is omitted, it defaults to dimension size minus one.
-If "stride" is omitted, it defaults to 1.
+If <var>start</var> is omitted, it defaults to zero.
+If <var>end</var> is omitted, it defaults to dimension size minus one.
+If <var>stride</var> is omitted, it defaults to one.
</para><sp value="1" line=" 1"></sp>
<noindent></noindent> <para>If a single value is present then it is assumed that that
dimension collapses to a single value (i.e., a cross-section).
@@ -9630,7 +9680,7 @@ prs(:,1,:,:)=th1
</pre></example>
<noindent></noindent> <para><strong>Reverse method</strong>&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="954">reverse()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="958">reverse()</indexterm></cindex>
Use the <code>reverse()</code> method to reverse a dimension&textrsquo;s elements in a
variable with at least one dimension.
This is equivalent to a negative stride, e.g.,
@@ -9642,7 +9692,7 @@ od_rv=od.reverse($time); // {38,36,34,32,30,28,26,24,22,20}
</example>
<noindent></noindent> <para><strong>Permute method</strong>p&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="955">permute()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="959">permute()</indexterm></cindex>
Use the <code>permute()</code> method to swap the dimensions of a variable.
The number and names of dimension arguments must match the dimensions in
the variable.
@@ -9673,7 +9723,7 @@ three_dmn_var_prm=
</subsection>
<node name="Attributes" spaces=" "><nodename>Attributes</nodename><nodenext spaces=" ">Number literals</nodenext><nodeprev spaces=" ">Arrays and hyperslabs</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Attributes</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="956">attributes<command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="960">attributes<command>ncap2</command></indexterm></cindex>
<noindent></noindent> <para>Attributes are referred to by <emph>var_nm&arobase;att_nm</emph> &linebreak;
All the following are valid statements:
</para><example endspaces=" ">
@@ -9691,7 +9741,7 @@ a1($time.size-1)=a1 at max;
</example>
<para>A <emph>value list</emph> can be used on the RHS of an assign...
-<cindex index="cp" spaces=" "><indexterm index="cp" number="957">value list</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="961">value list</indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
a1 at trip1={1,2,3} ;
@@ -9723,11 +9773,11 @@ sng_arr[$sng_len]=a1 at long_name; // sng_arr now contains "Kelvin"
To stop the attribute being written use the ram_delete() method or use a bogus variable name.
</para>
<noindent></noindent> <para><strong>Attribute Propagation and Inheritance</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="958">attribute propagation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="959">attribute inheritance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="962">attribute propagation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="963">attribute inheritance</indexterm></cindex>
</para><itemize commandarg="bullet" spaces=" " endspaces=" "><itemprepend><formattingcommand command="bullet"/></itemprepend>
<beforefirstitem> </beforefirstitem><listitem spaces=" "><prepend>•</prepend><para>Attribute propagation occurs in a regular assign statement. The variable being defined on the LHS gets copies of the attributes from the leftermost variable on the RHS.
- </para></listitem><listitem spaces=" "><prepend>•</prepend><para>Attribute Inheritance: The LHS variable "inherits" attributes from an Input variable with the same name
+ </para></listitem><listitem spaces=" "><prepend>•</prepend><para>Attribute Inheritance: The LHS variable &textldquo;inherits&textrdquo; attributes from an Input variable with the same name
</para></listitem><listitem spaces=" "><prepend>•</prepend><para>It is possible to have a regular assign statement for which both propagation and inheritance occur.
</para></listitem></itemize>
@@ -9751,7 +9801,7 @@ th_min=1.0 + 2*three_dmn_var_dbl.min($time);
</subsection>
<node name="Number-literals" spaces=" "><nodename>Number literals</nodename><nodenext spaces=" ">if statement</nodenext><nodeprev spaces=" ">Attributes</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Number literals</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="960">number literals <command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="964">number literals <command>ncap2</command></indexterm></cindex>
<para>The table below lists the postfix character(s) to add to a number
literal for type cohesion.
To use the new netCDF4 types <acronym><acronymword>NCO</acronymword></acronym> must be compiled/linked to
@@ -9816,7 +9866,7 @@ n6 at units="kelvin" // attribute will be type @code{NC_CHAR}
</subsection>
<node name="if-statement" spaces=" "><nodename>if statement</nodename><nodenext spaces=" ">print statement</nodenext><nodeprev spaces=" ">Number literals</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>if statement</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="961">if()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="965">if()</indexterm></cindex>
<para>The syntax of the if statement is similar to its C counterpart.
The <emph>Conditional Operator (ternary operator)</emph> has also been
implemented.
@@ -9899,7 +9949,7 @@ th_nw=(three_dmn_var_sht >= 0 ? three_dmn_var_sht.uint() : \
</subsection>
<node name="print-statement" spaces=" "><nodename>print statement</nodename><nodenext spaces=" ">Missing values ncap2</nodenext><nodeprev spaces=" ">if statement</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>print statement</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="962">print() <command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="966">print() <command>ncap2</command></indexterm></cindex>
<example endspaces=" ">
<pre xml:space="preserve">print(variable_name/attribute name/string, format string);
</pre></example>
@@ -9939,7 +9989,7 @@ This function is monotonic
</subsection>
<node name="Missing-values-ncap2" spaces=" "><nodename>Missing values ncap2</nodename><nodenext spaces=" ">Methods and functions</nodenext><nodeprev spaces=" ">print statement</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Missing values ncap2</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="963">missing values ncap2</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="967">missing values ncap2</indexterm></cindex>
<para>Missing values operate slightly differently in <command>ncap2</command>
Consider the expression where op is any of the following operators (excluding &textrsquo;=&textrsquo;)
</para><example endspaces=" ">
@@ -9982,7 +10032,7 @@ with a variable.
They only work on variables in Output.
</para><table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">set_miss(expr)</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="964"><code>set_miss()</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="968"><code>set_miss()</code></indexterm></cindex>
<para>The numeric argument <var>expr</var> becomes the new missing value,
overwriting the old missing value, if any.
The argument given is converted if necessary to the variable type.
@@ -9995,23 +10045,23 @@ They only work on variables in Output.
The intrinsic function <code>change_miss()</code> (see below) is typically
used to edit values of existing variables.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">change_miss(expr)</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="965"><code>change_miss()</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="969"><code>change_miss()</code></indexterm></cindex>
<para>Sets or changes (any pre-existing) missing value attribute and missing
data values to <var>expr</var>.
NB: This is an expensive function since all values must be examined.
Use this function when changing missing values for pre-existing
variables.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">get_miss() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="966"><code>get_miss()</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="970"><code>get_miss()</code></indexterm></cindex>
<para>Returns the missing value of a variable.
If the variable exists in Input and Output then the missing value of
the variable in Output is returned.
If the variable has no missing value then an error is returned.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">delete_miss()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="967"><code>delete_miss()</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="971"><code>delete_miss()</code></indexterm></cindex>
<para>Delete the missing value associated with a variable.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">number_miss()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="968"><code>number_miss()</code></indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="972"><code>number_miss()</code></indexterm></cindex>
<para>Count the number of missing values a variable contains.
</para></tableitem></tableentry></table>
@@ -10074,26 +10124,26 @@ type double, average it, then convert this back to type short:
</para>
<table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">avg()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="969">avg()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="973">avg()</indexterm></cindex>
<para>Mean value
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">sqravg()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="970">sqravg()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="974">sqravg()</indexterm></cindex>
<para>Square of the mean
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">avgsqr()</itemformat></item>
</tableterm><tableitem><para>Mean of sum of squares
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">max()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="971">max()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="975">max()</indexterm></cindex>
<para>Maximum value
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">min()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="972">min()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="976">min()</indexterm></cindex>
<para>Minimum value
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rms()</itemformat></item>
</tableterm><tableitem><para>Root-mean-square (normalize by <var>N</var>)
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">rmssdn()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="973">rmssdn()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="977">rmssdn()</indexterm></cindex>
<para>Root-mean square (normalize by <var>N-1</var>)
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ttl() or total()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="974">ttl()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="978">ttl()</indexterm></cindex>
<para>Sum of values
</para></tableitem></tableentry></table>
@@ -10107,19 +10157,19 @@ four_time_avg=four_dmn_rec_var($time);
For more information see <pxref label="Packed-data"><xrefnodename>Packed data</xrefnodename></pxref> and <pxref label="ncpdq-netCDF-Permute-Dimensions-Quickly"><xrefnodename>ncpdq netCDF Permute Dimensions Quickly</xrefnodename></pxref>&linebreak;
</para><table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">pack() & pack_short()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="975">pack()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="979">pack()</indexterm></cindex>
<para>The default packing algorithm is applied and variable is packed to <code>NC_SHORT</code>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pack_byte()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="976">pack_byte()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="980">pack_byte()</indexterm></cindex>
<para>Variable is packed to <code>NC_BYTE</code>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pack_short()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="977">pack_short()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="981">pack_short()</indexterm></cindex>
<para>Variable is packed to <code>NC_SHORT</code>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pack_int()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="978">pack_int()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="982">pack_int()</indexterm></cindex>
<para>Variable is packed to <code>NC_INT</code>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">unpack()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="979">unpack()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="983">unpack()</indexterm></cindex>
<para>The standard unpacking algorithm is applied.
</para></tableitem></tableentry></table>
@@ -10128,13 +10178,13 @@ These methods work with variables and attributes. They have no arguments
</para>
<table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">size() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="980">size()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="984">size()</indexterm></cindex>
<para>Total number of elements
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ndims()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="981">ndims()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="985">ndims()</indexterm></cindex>
<para>Number of dimensions in variable
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">type() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="982">type()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="986">type()</indexterm></cindex>
<para>Returns the netcdf type (see previous section)
</para></tableitem></tableentry></table>
@@ -10180,38 +10230,38 @@ lat_2D_rrg_new=0,90,-30,30,-30,30,-90,0
<table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code"><strong>netCDF3/4 Types</strong></itemformat></item>
</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">byte() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="983">byte()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="987">byte()</indexterm></cindex>
<para>convert to <code>NC_BYTE</code>, a signed 1-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">char()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="984">char()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="988">char()</indexterm></cindex>
<para>convert to <code>NC_CHAR</code>, an ISO/ASCII character
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">short() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="985">sshort()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="989">sshort()</indexterm></cindex>
<para>convert to <code>NC_SHORT</code>, a signed 2-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">int() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="986">int()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="990">int()</indexterm></cindex>
<para>convert to <code>NC_INT</code>, a signed 4-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">float()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="987">float()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="991">float()</indexterm></cindex>
<para>convert to <code>NC_FLOAT</code>, a single-precision (4-byte) floating point number
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">double() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="988">double()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="992">double()</indexterm></cindex>
<para>convert to <code>NC_DOUBLE</code>, a double-precision (8-byte) floating point number
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code"><strong>netCDF4 Types</strong></itemformat></item>
</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ubyte() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="989">ubyte()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="993">ubyte()</indexterm></cindex>
<para>convert to <code>NC_UBYTE</code>, an unsigned 1-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">ushort() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="990">ushort()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="994">ushort()</indexterm></cindex>
<para>convert to <code>NC_USHORT</code>, an unsigned 2-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">uint()</itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="991">uint()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="995">uint()</indexterm></cindex>
<para>convert to <code>NC_UINT</code>, an unsigned 4-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">int64() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="992">int64()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="996">int64()</indexterm></cindex>
<para>convert to <code>NC_INT64</code>, a signed 8-byte integer
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">uint64() </itemformat></item>
-</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="993">unit64()</indexterm></cindex>
+</tableterm><tableitem><cindex index="cp" spaces=" "><indexterm index="cp" number="997">unit64()</indexterm></cindex>
<para>convert to <code>NC_UINT64</code>, an unsigned 8-byte integer
</para></tableitem></tableentry></table>
@@ -10235,7 +10285,7 @@ n3=1/(three_dmn_var_dbl.cos().pow(2))-tan(three_dmn_var_dbl)^2; // n3 type doubl
<html endspaces=" ">
<a name="ncap_ram"></a> <!&textndash; http://nco.sf.net/nco.html#ncap_ram &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="994"><acronym><acronymword>RAM</acronymword></acronym> variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="998"><acronym><acronymword>RAM</acronymword></acronym> variables</indexterm></cindex>
</subsection>
<node name="RAM-variables" spaces=" "><nodename>RAM variables</nodename><nodenext spaces=" ">Where statement</nodenext><nodeprev spaces=" ">Methods and functions</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle><acronym><acronymword>RAM</acronymword></acronym> variables</sectiontitle>
@@ -10250,8 +10300,8 @@ To delete a <acronym><acronymword>RAM</acronymword></acronym> variables (and rec
<code>ram_delete()</code> method.
To write a <acronym><acronymword>RAM</acronymword></acronym> variable to disk (like a regular variable) use
<code>ram_write()</code>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="995">ram_write()</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="996">ram_delete()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="999">ram_write()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1000">ram_delete()</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">*temp[$time,$lat,$lon]=10.0; // Cast
*temp_avg=temp.avg($time); // Regular assign
@@ -10273,7 +10323,7 @@ temp_avg.ram_write(); // Write Variable to output
</subsection>
<node name="Where-statement" spaces=" "><nodename>Where statement</nodename><nodenext spaces=" ">Loops</nodenext><nodeprev spaces=" ">RAM variables</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Where statement</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="997">where()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1001">where()</indexterm></cindex>
<para>A <code>where()</code> combines the definition and application of a mask all in one go and can lead to succinct code.
The full syntax of a <code>where()</code> statement is as follows:
</para>
@@ -10342,10 +10392,10 @@ to set its values less than 8 or greater than 80 <w>to 0</w>:
<a name="wrf"></a> <!&textndash; http://nco.sf.net/nco.html#wrf &textndash;>
<a name="sld"></a> <!&textndash; http://nco.sf.net/nco.html#sld &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="998">Weather and Research Forecast (<acronym><acronymword>WRF</acronymword></acronym>) Model</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="999">Swath-like Data (<acronym><acronymword>SLD</acronymword></acronym>)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1000"><acronym><acronymword>WRF</acronymword></acronym> (Weather and Research Forecast Model)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1001"><acronym><acronymword>SLD</acronymword></acronym> (Swath-like Data)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1002">Weather and Research Forecast (<acronym><acronymword>WRF</acronymword></acronym>) Model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1003">Swath-like Data (<acronym><acronymword>SLD</acronymword></acronym>)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1004"><acronym><acronymword>WRF</acronymword></acronym> (Weather and Research Forecast Model)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1005"><acronym><acronymword>SLD</acronymword></acronym> (Swath-like Data)</indexterm></cindex>
<para>Consider irregularly gridded data, described using <w>rank 2</w> coordinates:
<code>double lat(south_north,east_west)</code>,
<code>double lon(south_north,east_west)</code>,
@@ -10372,8 +10422,8 @@ temp_max=temperature.max();
<a name="NARR"></a> <!&textndash; http://nco.sf.net/nco.html#NARR &textndash;>
<a name="narr"></a> <!&textndash; http://nco.sf.net/nco.html#narr &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1002"><acronym><acronymword>NARR</acronymword></acronym> (North American Regional Reanalysis)a</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1003">North American Regional Reanalysis (<acronym><acronymword>NARR</acronymword></acronym>)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1006"><acronym><acronymword>NARR</acronymword></acronym> (North American Regional Reanalysis)a</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1007">North American Regional Reanalysis (<acronym><acronymword>NARR</acronymword></acronym>)</indexterm></cindex>
<para>For North American Regional Reanalysis (<acronym><acronymword>NARR</acronymword></acronym>) data
(example
<uref><urefurl>http://dust.ess.uci.edu/diwg/narr_uwnd.199605.nc</urefurl><urefdesc spaces=" ">dataset</urefdesc></uref>)
@@ -10427,8 +10477,8 @@ We plan to extend such <acronym><acronymword>SLD</acronymword></acronym> feature
</subsection>
<node name="Loops" spaces=" "><nodename>Loops</nodename><nodenext spaces=" ">Include files</nodenext><nodeprev spaces=" ">Where statement</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Loops</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1004">while()</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1005">for()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1008">while()</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1009">for()</indexterm></cindex>
<para><command>ncap2</command> supplies <command>for()</command> loops and <command>while()</command> loops.
They are completely unoptimized so use them only with <acronym><acronymword>RAM</acronymword></acronym>
variables unless you want thrash your disk to death.
@@ -10477,7 +10527,7 @@ print("Total of odd elements ");print(sum);print("\n");
</subsection>
<node name="Include-files" spaces=" "><nodename>Include files</nodename><nodenext spaces=" ">Sort methods</nodenext><nodeprev spaces=" ">Loops</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Include files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1006"><command>include</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1010"><command>include</command></indexterm></cindex>
<para>The syntax of an <var>include-file</var> is:
</para><example endspaces=" ">
<pre xml:space="preserve">#include "script.nco"
@@ -10503,12 +10553,12 @@ e=2.71828; // Regular (disk) variable, written to output
</subsection>
<node name="Sort-methods" spaces=" "><nodename>Sort methods</nodename><nodenext spaces=" ">Irregular grids</nodenext><nodeprev spaces=" ">Include files</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle><command>sort</command> methods</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1007"><command>sort</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1008"><command>asort</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1009"><command>dsort</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1010"><command>remap</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1011"><command>unmap</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1012"><command>invert_map</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1011"><command>sort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1012"><command>asort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1013"><command>dsort</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1014"><command>remap</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1015"><command>unmap</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1016"><command>invert_map</command></indexterm></cindex>
<para>In <acronym><acronymword>ncap2</acronymword></acronym> there are multiple ways to sort data.
Beginning with <acronym><acronymword>NCO</acronymword></acronym> 4.1.0 (March, 2012), <acronym><acronymword>ncap2</acronymword></acronym>
support six sorting functions:
@@ -10782,11 +10832,11 @@ ncap2 -O -v -S ~/ncap2_foo.nco ~/nco/data/in.nc ~/foo.nc
</subsection>
<node name="Irregular-grids" spaces=" "><nodename>Irregular grids</nodename><nodenext spaces=" ">Bilinear interpolation</nodenext><nodeprev spaces=" ">Sort methods</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>Irregular Grids</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1013">irregular grids</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1014">rectangular grids</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1015">non-rectangular grids</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1016">non-standard grids</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1017">mask</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1017">irregular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1018">rectangular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1019">non-rectangular grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1020">non-standard grids</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1021">mask</indexterm></cindex>
<!-- c fxm need to edit rrg sxn beginning here -->
<para><acronym><acronymword>NCO</acronymword></acronym> is capable of analyzing datasets for many different
underlying coordinate grid types.
@@ -10822,7 +10872,7 @@ analysis software like <acronym><acronymword>NCO</acronymword></acronym>.
are independent of these grid properties (regularity,
rectangularity).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1018">wrapped coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1022">wrapped coordinates</indexterm></cindex>
<para>The preferred <acronym><acronymword>NCO</acronymword></acronym> technique to analyze data on non-standard
coordinate grids is to create a region mask with <command>ncap2</command>, and
then to use the mask within <command>ncap2</command> for variable-specific
@@ -10856,7 +10906,7 @@ weight, area, etc.).
<para>and so supports grids that change with time.
</para>
<para>Grids with <var>R</var> > 1 often use missing values to indicated empty points.
-For example, so-called "staggered grids" will use fewer east_west
+For example, so-called &textldquo;staggered grids&textrdquo; will use fewer east_west
points near the poles and more near the equator. netCDF only accepts
rectangular arrays so space must be allocated for the maximum number
of east_west points at all latitudes. Then the application writes
@@ -10900,7 +10950,7 @@ ncl 'file_in="wrfout.nc"' 'file_out="wrfpost.nc"' wrfout_to_
ncl 'file_in="wrfout_d02_2013-10-04_20:00:00"' 'file_out="wrfout_d02_2013-10-04_20:00:00_cf.nc"' wrfout_to_cf.ncl
ncl 'file_in="wrfout_v2_Lambert"' 'file_out="wrfout_v2_Lambert.nc"' wrfout_to_cf.ncl
</ignore>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1019"><acronym><acronymword>WRF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1023"><acronym><acronymword>WRF</acronymword></acronym></indexterm></cindex>
<para>Grids like those produced by the <acronym><acronymword>WRF</acronymword></acronym> model are complex because
one must use global metadata to determine the grid staggering and
offsets to translate <code>XLAT</code> and <code>XLONG</code> into real latitudes,
@@ -11066,9 +11116,9 @@ print(T_out);
</subsection>
<node name="GSL-special-functions" spaces=" "><nodename>GSL special functions</nodename><nodenext spaces=" ">GSL interpolation</nodenext><nodeprev spaces=" ">Bilinear interpolation</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>GSL special functions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1020"><acronym><acronymword>GSL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1024"><acronym><acronymword>GSL</acronymword></acronym></indexterm></cindex>
<noindent></noindent> <para>As of version 3.9.6 (released January, 2009), <acronym><acronymword>NCO</acronymword></acronym>
-can link to the GNU Scientific Library (<acronym><acronymword>GSL</acronymword></acronym>).
+can link to the <acronym><acronymword>GNU</acronymword></acronym> Scientific Library (<acronym><acronymword>GSL</acronymword></acronym>).
<command>ncap2</command> can access most <acronym><acronymword>GSL</acronymword></acronym> special functions including
Airy, Bessel, error, gamma, beta, hypergeometric, and Legendre functions
and elliptical integrals.
@@ -11094,8 +11144,8 @@ The slow-down due to calling the error-handling version of the
<acronym><acronymword>GSL</acronymword></acronym> numerical functions was found to be negligible (please let
us know if you find otherwise).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1021">gamma function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1022"><var>gsl_sf_gamma</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1025">gamma function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1026"><var>gsl_sf_gamma</var></indexterm></cindex>
<noindent></noindent> <para>Consider the gamma function.&linebreak;
<noindent></noindent> The <acronym><acronymword>GSL</acronymword></acronym> function prototype is &linebreak;
<code>int gsl_sf_gamma_e(const double x, gsl_sf_result * result)</code>
@@ -11115,8 +11165,8 @@ Otherwise, the default double fill value is used
(defined in the netCDF header <file>netcdf.h</file> as
<code>NC_FILL_DOUBLE = 9.969e+36</code>).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1023">Bessel function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1024"><var>gsl_sf_bessel_Jn</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1027">Bessel function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1028"><var>gsl_sf_bessel_Jn</var></indexterm></cindex>
<noindent></noindent> <para>Consider a call to a Bessel function with <acronym><acronymword>GSL</acronymword></acronym>
prototype&linebreak;
<code>int gsl_sf_bessel_Jn_e(int n, double x, gsl_sf_result * result)</code>
@@ -11147,7 +11197,7 @@ dimension, so <code>n_in</code> in can be broadcast to conform to
<code>three_dmn_var_dbl</code>.
However <code>time_out=gsl_sf_bessel_Jn(n_in,time)</code> is invalid.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1025">Elliptic integrals</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1029">Elliptic integrals</indexterm></cindex>
<para>Consider the elliptical integral with prototype
<code>int gsl_sf_ellint_RD_e(double x, double y, double z, gsl_mode_t mode, gsl_sf_result * result)</code>
</para><example endspaces=" ">
@@ -11188,7 +11238,7 @@ Zero indicates success.
</para>
<noindent></noindent> <para>Consider another array function &linebreak;
<code>int gsl_sf_legendre_Pl_array( int lmax, double x, double *result_array);</code>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1026">Legendre polynomial</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1030">Legendre polynomial</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="17" mergedindex="cp">gsl_sf_legendre_Pl</indexterm></findex>
</para><example endspaces=" ">
<pre xml:space="preserve">a1=time.double();
@@ -11500,7 +11550,7 @@ prototypes look at the spreadsheet <strong>doc/nco_gsl.ods</strong>. &linebreak;
</subsection>
<node name="GSL-interpolation" spaces=" "><nodename>GSL interpolation</nodename><nodenext spaces=" ">GSL least-squares fitting</nodenext><nodeprev spaces=" ">GSL special functions</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>GSL interpolation</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1027"><acronym><acronymword>GSL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1031"><acronym><acronymword>GSL</acronymword></acronym></indexterm></cindex>
<noindent></noindent> <para>As of version 3.9.9 (released July, 2009), <acronym><acronymword>NCO</acronymword></acronym> has wrappers to the <acronym><acronymword>GSL</acronymword></acronym> interpolation functions.
</para>
<noindent></noindent> <para>Given a set of data points (x1,y1)...(xn, yn) the <acronym><acronymword>GSL</acronymword></acronym> functions computes a continuous interpolating function <acronym><acronymword>Y(x)</acronymword></acronym> such that <acronym><acronymword>Y(xi) = yi</acronymword></acronym>. The interpolation is piecewise smooth, and its behavior at the end-points is determined by the type of interpolation used. For more information consult the <acronym><acronymword>GSL</acrony [...]
@@ -11872,8 +11922,8 @@ statements chained together as a single <samp>-s</samp> argument.
<html endspaces=" ">
<a name="xmp_grw"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_grw &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1028">growing dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1029">dimensions, growing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1032">growing dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1033">dimensions, growing</indexterm></cindex>
<para><command>ncap2</command> may be used to &textldquo;grow&textrdquo; dimensions, i.e., to increase
dimension sizes without altering existing data.
Say <file>in.nc</file> has <code>ORO(lat,lon)</code> and the user wishes a new
@@ -11896,7 +11946,7 @@ and then execute the script with
<html endspaces=" ">
<a name="flg"></a> <!&textndash; http://nco.sf.net/nco.html#flg &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1030">flags</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1034">flags</indexterm></cindex>
<para>Imagine you wish to create a binary flag based on the value of
an array.
The flag should have <w>value 1.0</w> where the array <w>exceeds 1.0</w>,
@@ -11911,7 +11961,7 @@ from the continuous array named <code>ORO</code> in <file>in.nc</file>.
</para><example endspaces=" ">
<pre xml:space="preserve">ncap2 -s 'ORO_msk=(ORO==2.0);ORO=ORO_msk*3.0+!ORO_msk*ORO' in.nc out.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1031">mask</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1035">mask</indexterm></cindex>
<para>This creates and uses <code>ORO_msk</code> to mask the subsequent arithmetic
operation.
Values of <code>ORO</code> are only changed where <code>ORO_msk</code> is true,
@@ -11928,7 +11978,7 @@ Using the <code>where</code> statement the above code simplifies to :
variables.
Let the variables <var>u</var> and <var>v</var> be the horizontal
wind components.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1032">covariance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1036">covariance</indexterm></cindex>
<!-- c fxm 20030423: texi2html 1.64 has problems with this legal syntax but makeinfo -html does not -->
The <dfn>covariance</dfn> of <var>u</var> and <var>v</var> is defined
as the time mean product of the deviations of <var>u</var> and
@@ -11951,7 +12001,7 @@ where <math>[<var>x</var>]</math> denotes the time-average of
denotes the deviation from the time-mean.
The covariance tells us how much of the correlation of two signals
arises from the signal fluctuations versus the mean signals.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1033">eddy covariance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1037">eddy covariance</indexterm></cindex>
Sometimes this is called the <dfn>eddy covariance</dfn>.
We will store the covariance in the variable <code>uprmvprm</code>.
</para><example endspaces=" ">
@@ -11976,11 +12026,11 @@ can compute averages, and thus covariances, by itself:
<para>We have not seen a simpler method to script and execute powerful
arithmetic than <command>ncap2</command>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1034">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1035">shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1036">quotes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1037">extended regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1038">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1038">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1039">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1040">quotes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1041">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1042">regular expressions</indexterm></cindex>
<para><command>ncap2</command> utilizes many meta-characters
(e.g., <samp>$</samp>, <samp>?</samp>, <samp>;</samp>, <samp>()</samp>, <samp>[]</samp>)
that can confuse the command-line shell if not quoted properly.
@@ -12012,13 +12062,13 @@ In such cases it may be necessary to use the shell backslash character
<samp>\</samp> to protect the <command>ncap2</command> meta-character.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1039">appending data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1040">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1043">appending data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1044">time-averaging</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="18" mergedindex="cp">ncks</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="19" mergedindex="cp">ncwa</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="20" mergedindex="cp">ncra</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1041">degenerate dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1042"><samp>-b</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1045">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1046"><samp>-b</samp></indexterm></cindex>
<para>A dimension of size one is said to be <emph>degenerate</emph>.
Whether a degenerate record dimension is desirable or not
depends on the application.
@@ -12036,7 +12086,7 @@ and <code>vavg</code> to the size of the non-degenerate <var>time</var> dimensio
in the input file.
Thus the append (<command>ncks -A</command>) command would be undefined (and
should fail) in this case.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1043"><code>-C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1047"><code>-C</code></indexterm></cindex>
Equally important is the <samp>-C</samp> argument
(<pxref label="Subsetting-Coordinate-Variables"><xrefnodename>Subsetting Coordinate Variables</xrefnodename></pxref>) to <command>ncwa</command> to prevent
any scalar <var>time</var> variable from being written to the output file.
@@ -12051,78 +12101,78 @@ Knowing when to use <command>ncwa -a time</command> rather than the default
<subsection spaces=" "><sectiontitle>Intrinsic mathematical methods</sectiontitle>
<para><command>ncap2</command> supports the standard mathematical functions supplied with
most operating systems.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1044">addition</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1045">subtraction</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1046">multiplication</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1047">division</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1048">exponentiation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1049">power</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1050">modulus</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1051"><code>+</code> (addition)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1052"><code>-</code> (subtraction)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1053"><code>*</code> (multiplication)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1054"><code>/</code> (division)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1055"><code>^</code> (power)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1056"><code>%</code> (modulus)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1048">addition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1049">subtraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1050">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1051">division</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1052">exponentiation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1053">power</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1054">modulus</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1055"><code>+</code> (addition)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1056"><code>-</code> (subtraction)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1057"><code>*</code> (multiplication)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1058"><code>/</code> (division)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1059"><code>^</code> (power)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1060"><code>%</code> (modulus)</indexterm></cindex>
Standard calculator notation is used for addition <kbd>+</kbd>, subtraction
<kbd>-</kbd>, multiplication <kbd>*</kbd>, division <kbd>/</kbd>, exponentiation
<kbd>^</kbd>, and modulus <kbd>%</kbd>.
The available elementary mathematical functions are:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1057"><var>abs</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1058"><var>acosh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1059"><var>acos</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1060"><var>asinh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1061"><var>asin</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1062"><var>atanh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1063"><var>atan</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1064"><var>ceil</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1065"><var>cosh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1066"><var>cos</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1067"><var>erfc</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1068"><var>erf</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1069"><var>exp</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1070"><var>floor</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1071"><var>gamma</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1072"><var>ln</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1073"><var>log10</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1074"><var>log</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1075"><var>nearbyint</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1076"><var>pow</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1077"><var>rint</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1078"><var>round</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1079"><var>sinh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1080"><var>sin</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1081"><var>sqrt</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1082"><var>tanh</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1083"><var>tan</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1084"><var>trunc</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1085">mathematical functions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1086">nearest integer function (inexact)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1087">nearest integer function (exact)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1088">rounding functions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1089">truncation function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1090">absolute value</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1091">arccosine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1092">arcsine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1093">arctangent function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1094">ceiling function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1095">complementary error function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1096">cosine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1097">error function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1098">exponentiation function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1099">floor function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1100">gamma function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1101">hyperbolic arccosine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1102">hyperbolic arcsine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1103">hyperbolic arctangent function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1104">hyperbolic cosine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1105">hyperbolic sine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1106">hyperbolic tangent</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1107">logarithm, base 10</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1108">logarithm, natural</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1109">power function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1110">sine function</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1111">square root function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1061"><var>abs</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1062"><var>acosh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1063"><var>acos</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1064"><var>asinh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1065"><var>asin</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1066"><var>atanh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1067"><var>atan</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1068"><var>ceil</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1069"><var>cosh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1070"><var>cos</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1071"><var>erfc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1072"><var>erf</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1073"><var>exp</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1074"><var>floor</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1075"><var>gamma</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1076"><var>ln</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1077"><var>log10</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1078"><var>log</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1079"><var>nearbyint</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1080"><var>pow</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1081"><var>rint</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1082"><var>round</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1083"><var>sinh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1084"><var>sin</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1085"><var>sqrt</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1086"><var>tanh</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1087"><var>tan</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1088"><var>trunc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1089">mathematical functions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1090">nearest integer function (inexact)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1091">nearest integer function (exact)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1092">rounding functions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1093">truncation function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1094">absolute value</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1095">arccosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1096">arcsine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1097">arctangent function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1098">ceiling function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1099">complementary error function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1100">cosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1101">error function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1102">exponentiation function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1103">floor function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1104">gamma function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1105">hyperbolic arccosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1106">hyperbolic arcsine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1107">hyperbolic arctangent function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1108">hyperbolic cosine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1109">hyperbolic sine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1110">hyperbolic tangent</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1111">logarithm, base 10</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1112">logarithm, natural</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1113">power function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1114">sine function</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1115">square root function</indexterm></cindex>
</para><table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">abs(x)</itemformat></item>
</tableterm><tableitem><para><dfn>Absolute value</dfn>
@@ -12321,7 +12371,7 @@ log$(10.0) = 1.0$
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">nearbyint(x)</itemformat></item>
</tableterm><tableitem><para><dfn>Round inexactly</dfn>
Nearest integer to <var>x</var> is returned in floating point format.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1112">inexact conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1116">inexact conversion</indexterm></cindex>
No exceptions are raised for <dfn>inexact conversions</dfn>.
Example:
<tex endspaces=" ">
@@ -12330,8 +12380,8 @@ nearbyint$(0.1) = 0.0$
<math>nearbyint(0.1) = 0.0</math>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="code">pow(x,y)</itemformat></item>
</tableterm><tableitem><para><dfn>Power</dfn>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1113">promotion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1114">automatic type conversion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1117">promotion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1118">automatic type conversion</indexterm></cindex>
Value of <var>x</var> is raised to the power of <var>y</var>.
Exceptions are raised for <dfn>domain errors</dfn>.
Due to type-limitations in the <w>C language</w> <code>pow</code> function,
@@ -12422,14 +12472,14 @@ platform-specific.
Functions mandated by <w>ANSI C</w> are <emph>guaranteed</emph> to be present
and are indicated with an asterisk
<!-- c fxm No they're not, not yet -->
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1115"><code>ANSI C</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1116"><code>float</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1117">precision</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1118">quadruple-precision</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1119">single-precision</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1120">double-precision</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1121"><code>long double</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1122"><code>NC_DOUBLE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1119"><code>ANSI C</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1120"><code>float</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1121">precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1122">quadruple-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1123">single-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1124">double-precision</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1125"><code>long double</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1126"><code>NC_DOUBLE</code></indexterm></cindex>
<footnote spaces="\n"><para><w>ANSI C</w> compilers are guaranteed to support double-precision versions
of these functions.
These functions normally operate on netCDF variables of type <code>NC_DOUBLE</code>
@@ -12447,12 +12497,12 @@ performing the operation, and then re-casting.
available, and uses the casting method when they are not.
</para></footnote>.
and are indicated with an asterisk.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1123"><code>-f</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1124"><code>--prn_fnc_tbl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1125"><code>--fnc_tbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1127"><code>-f</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1128"><code>--prn_fnc_tbl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1129"><code>--fnc_tbl</code></indexterm></cindex>
Use the <samp>-f</samp> (or <samp>fnc_tbl</samp> or <samp>prn_fnc_tbl</samp>) switch
to print a complete list of functions supported on your platform.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1126">Linux</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1130">Linux</indexterm></cindex>
<footnote><para>Linux supports more of these intrinsic functions than
other OSs.</para></footnote>
</para>
@@ -12513,7 +12563,7 @@ other OSs.</para></footnote>
</subsection>
<node name="ID-Quoting" spaces=" "><nodename>ID Quoting</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" " trailingspaces=" ">Operator precedence and associativity</nodeprev><nodeup spaces=" ">ncap2 netCDF Arithmetic Processor</nodeup></node>
<subsection spaces=" "><sectiontitle>ID Quoting</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1127">ID Quoting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1131">ID Quoting</indexterm></cindex>
<para>In this section when I refer to a name I mean a variable name, attribute name or a dimension name
The allowed characters in a valid netCDF name vary from release to release. (See end section). If you want to use metacharacters in a name or use a method name as a variable name then the name has to be quoted wherever it occurs.
</para>
@@ -12590,9 +12640,9 @@ netcdf-4.0 Final 2008/08/28&linebreak;
</section>
<node name="ncatted-netCDF-Attribute-Editor" spaces=" "><nodename>ncatted netCDF Attribute Editor</nodename><nodenext spaces=" ">ncbo netCDF Binary Operator</nodenext><nodeprev spaces=" ">ncap2 netCDF Arithmetic Processor</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncatted</command> netCDF Attribute Editor</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1128">attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1129">attribute names</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1130">editing attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1132">attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1133">attribute names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1134">editing attributes</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="21" mergedindex="cp">ncatted</indexterm></findex>
<noindent></noindent>
@@ -12606,7 +12656,7 @@ netcdf-4.0 Final 2008/08/28&linebreak;
<noindent></noindent>
<para>DESCRIPTION
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1131"><command>ncattget</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1135"><command>ncattget</command></indexterm></cindex>
<para><command>ncatted</command> edits attributes in a netCDF file.
If you are editing attributes then you are spending too much time in the
world of metadata, and <command>ncatted</command> was written to get you back out as
@@ -12621,16 +12671,16 @@ To <emph>read</emph> attribute values in plain text, use <command>ncks -m -M</co
or define something like <command>ncattget</command> as a shell command
(<pxref label="Filters-for-ncks"><xrefnodename>Filters for <command>ncks</command></xrefnodename></pxref>).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1132"><code>history</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1133"><code>-h</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1136"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1137"><code>-h</code></indexterm></cindex>
<para>Because repeated use of <command>ncatted</command> can considerably increase the size
of the <code>history</code> global attribute (<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>), the
<samp>-h</samp> switch is provided to override automatically appending the
command to the <code>history</code> global attribute in the <var>output-file</var>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1134">missing values</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1135">data, missing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1136"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1138">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1139">data, missing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1140"><code>_FillValue</code></indexterm></cindex>
<para>When <command>ncatted</command> is used to change the <code>_FillValue</code> attribute,
it changes the associated missing data self-consistently.
If the internal floating point representation of a missing value,
@@ -12658,12 +12708,12 @@ Example: <code>units</code>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">var_nm</itemformat></item>
</tableterm><tableitem><para>Variable name.
Example: <code>pressure</code>, <code>'^H2O'</code>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1137">extended regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1138">regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1139">pattern matching</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1140">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1141">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1142">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1143">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1144">wildcards</indexterm></cindex>
Regular expressions (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></pxref>) are accepted and will
-select any matching variable names.
+select any matching variable (<emph>not</emph> attribute) names.
The names <code>global</code> and <code>group</code> have special meaning.
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="var">mode</itemformat></item>
</tableterm><tableitem><para>Edit mode abbreviation.
@@ -12686,14 +12736,14 @@ appearance.
<para>The value of <var>att_nm</var> is the name of the attribute you want to
edit.
This meaning of this should be clear to all <command>ncatted</command> users.
-Recall, as mentioned above, that <var>var_nm</var> may be specified as a
-regular expression.
+Recall, as mentioned above, that <var>var_nm</var> (but not <var>att_nm</var>) may
+be specified as a regular expression.
If <var>att_nm</var> is omitted (i.e., left blank) and <dfn>Delete</dfn> mode is
selected, then all attributes associated with the specified variable
will be deleted.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1141">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1142">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1145">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1146">attributes, global</indexterm></cindex>
<para>The value of <var>var_nm</var> is the name of the variable containing the
attribute (named <var>att_nm</var>) that you want to edit.
There are three very important and useful exceptions to this rule.
@@ -12721,12 +12771,12 @@ conventions you use for describing the data.
<para>The value of <var>mode</var> is a single character abbreviation (<code>a</code>,
<code>c</code>, <code>d</code>, <code>m</code>, or <code>o</code>) standing for one of
five editing modes:&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1143">attributes, appending</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1144">attributes, creating</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1145">attributes, deleting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1146">attributes, modifying</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1147">attributes, editing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1148">attributes, overwriting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1147">attributes, appending</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1148">attributes, creating</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1149">attributes, deleting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1150">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1151">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1152">attributes, overwriting</indexterm></cindex>
</para><table commandarg="code" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="code">a </itemformat></item>
</tableterm><tableitem><para><dfn>Append</dfn>.
@@ -12846,15 +12896,15 @@ The quotes are strictly unnecessary around <var>att_val</var> except
when <var>att_val</var> contains characters which would confuse the calling
shell, such as spaces, commas, and wildcard characters.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1149">Perl</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1150"><acronym><acronymword>ASCII</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1153">Perl</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1154"><acronym><acronymword>ASCII</acronymword></acronym></indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> processing of <code>NC_CHAR</code> attributes is a bit like Perl in
that it attempts to do what you want by default (but this sometimes
causes unexpected results if you want unusual data storage).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1151"><code>printf()</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1152"><code>\n</code> (<acronym><acronymword>ASCII</acronymword></acronym> LF, linefeed)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1153">characters, special</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1154"><code>\t</code> (<acronym><acronymword>ASCII</acronymword></acronym> HT, horizontal tab)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1155"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1156"><code>\n</code> (<acronym><acronymword>ASCII</acronymword></acronym> LF, linefeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1157">characters, special</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1158"><code>\t</code> (<acronym><acronymword>ASCII</acronymword></acronym> HT, horizontal tab)</indexterm></cindex>
If the <var>att_type</var> is <code>NC_CHAR</code> then the argument is interpreted as a
string and it may contain C-language escape sequences, e.g., <code>\n</code>,
which <acronym><acronymword>NCO</acronymword></acronym> will interpret before writing anything to disk.
@@ -12868,29 +12918,29 @@ The most frequently used C-language escape sequences are <code>\n</code> (for
linefeed) and <code>\t</code> (for horizontal tab).
These sequences in particular allow convenient editing of formatted text
attributes.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1155"><code>\a</code> (<acronym><acronymword>ASCII</acronymword></acronym> BEL, bell)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1156"><code>\b</code> (<acronym><acronymword>ASCII</acronymword></acronym> BS, backspace)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1157"><code>\f</code> (<acronym><acronymword>ASCII</acronymword></acronym> FF, formfeed)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1158"><code>\r</code> (<acronym><acronymword>ASCII</acronymword></acronym> CR, carriage return)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1159"><code>\v</code> (<acronym><acronymword>ASCII</acronymword></acronym> VT, vertical tab)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1160"><code>\\</code> (<acronym><acronymword>ASCII</acronymword></acronym> \, backslash)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1159"><code>\a</code> (<acronym><acronymword>ASCII</acronymword></acronym> BEL, bell)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1160"><code>\b</code> (<acronym><acronymword>ASCII</acronymword></acronym> BS, backspace)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1161"><code>\f</code> (<acronym><acronymword>ASCII</acronymword></acronym> FF, formfeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1162"><code>\r</code> (<acronym><acronymword>ASCII</acronymword></acronym> CR, carriage return)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1163"><code>\v</code> (<acronym><acronymword>ASCII</acronymword></acronym> VT, vertical tab)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1164"><code>\\</code> (<acronym><acronymword>ASCII</acronymword></acronym> \, backslash)</indexterm></cindex>
The other valid <acronym><acronymword>ASCII</acronymword></acronym> codes are <code>\a</code>, <code>\b</code>, <code>\f</code>,
<code>\r</code>, <code>\v</code>, and <code>\\</code>.
<xref label="ncks-netCDF-Kitchen-Sink"><xrefnodename>ncks netCDF Kitchen Sink</xrefnodename></xref>, for more examples of string formatting
(with the <command>ncks</command> <samp>-s</samp> option) with special characters.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1161"><code>\'</code> (protected end quote)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1162"><code>\"</code> (protected double quote)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1163"><code>\?</code> (protected question mark)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1164"><code>\\</code> (protected backslash)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1165"><code>'</code> (end quote)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1166"><code>"</code> (double quote)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1167"><code>?</code> (question mark)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1168"><code>\</code> (backslash)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1169">special characters</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1170"><acronym><acronymword>ASCII</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1165"><code>\'</code> (protected end quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1166"><code>\"</code> (protected double quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1167"><code>\?</code> (protected question mark)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1168"><code>\\</code> (protected backslash)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1169"><code>'</code> (end quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1170"><code>"</code> (double quote)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1171"><code>?</code> (question mark)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1172"><code>\</code> (backslash)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1173">special characters</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1174"><acronym><acronymword>ASCII</acronymword></acronym></indexterm></cindex>
<para>Analogous to <code>printf</code>, other special characters are also allowed by
-<command>ncatted</command> if they are "protected" by a backslash.
+<command>ncatted</command> if they are &textldquo;protected&textrdquo; by a backslash.
The characters <code>"</code>, <code>'</code>, <code>?</code>, and <code>\</code> may be
input to the shell as <code>\"</code>, <code>\'</code>, <code>\?</code>, and <code>\\</code>.
<acronym><acronymword>NCO</acronymword></acronym> simply strips away the leading backslash from these
@@ -12900,11 +12950,11 @@ Backslashes which precede any other character (e.g., <code>3</code>, <code>m</co
<code>$</code>, <code>|</code>, <code>&</code>, <code>&arobase;</code>, <code>%</code>, <code>{</code>, and
<code>}</code>) will not be filtered and will be included in the attribute.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1171">strings</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1172">NUL-termination</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1173">NUL</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1174">C language</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1175"><code>0</code> (NUL)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1175">strings</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1176">NUL-termination</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1177">NUL</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1178">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1179"><code>0</code> (NUL)</indexterm></cindex>
<para>Note that the NUL character <code>\0</code> which terminates <w>C language</w>
strings is assumed and need not be explicitly specified.
<!-- comment If @code{\0} is input, it will not be translated (because it would -->
@@ -12927,16 +12977,16 @@ attribute of type <code>NC_CHAR</code>.
</html>
EXAMPLES
</para>
-<para>Append the string "Data version 2.0.\n" to the global attribute
+<para>Append the string <code>Data version 2.0.\n</code> to the global attribute
<code>history</code>:
</para><example endspaces=" ">
-<pre xml:space="preserve">ncatted -a history,global,a,c,"Data version 2.0\n" in.nc
+<pre xml:space="preserve">ncatted -a history,global,a,c,'Data version 2.0\n' in.nc
</pre></example>
<para>Note the use of embedded <w>C language</w> <code>printf()</code>-style escape
sequences.
</para>
<para>Change the value of the <code>long_name</code> attribute for variable <code>T</code>
-from whatever it currently is to "temperature":
+from whatever it currently is to &textldquo;temperature&textrdquo;:
</para><example endspaces=" ">
<pre xml:space="preserve">ncatted -a long_name,T,o,c,temperature in.nc
</pre></example>
@@ -12944,9 +12994,9 @@ from whatever it currently is to "temperature":
<html endspaces=" ">
<a name="NaN"></a> <!&textndash; http://nco.sf.net/nco.html#NaN &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1176">NaN</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1177"><acronym><acronymword>IEEE</acronymword></acronym> NaN</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1178">Not-a-Number</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1180">NaN</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1181"><acronym><acronymword>IEEE</acronymword></acronym> NaN</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1182">Not-a-Number</indexterm></cindex>
<para><acronym><acronymword>NCO</acronymword></acronym> arithmetic operators may not work as expected on
<acronym><acronymword>IEEE</acronymword></acronym> NaN (short for Not-a-Number) and NaN-like numbers such as
positive infinity and negative infinity
@@ -12982,9 +13032,9 @@ variables in the file.
The values of <var>att_type</var> and <var>att_val</var> were left blank because
they are superfluous in <dfn>Delete</dfn> mode.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1179"><code>global</code> attribute</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1180">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1181">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1183"><code>global</code> attribute</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1184">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1185">attributes, global</indexterm></cindex>
<para>Delete all attributes associated with the <code>tpt</code> variable, and
delete all global attributes
</para><example endspaces=" ">
@@ -12996,60 +13046,61 @@ attributes associated with the variable.
To delete all global attributes, simply replace <code>tpt</code> with
<code>global</code> in the above.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1182"><code>units</code></indexterm></cindex>
-<para>Modify all existing <code>units</code> attributes to "meter second-1":
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1186"><code>units</code></indexterm></cindex>
+<para>Modify all existing <code>units</code> attributes to <code>meter second-1</code>:
</para><example endspaces=" ">
-<pre xml:space="preserve">ncatted -a units,,m,c,"meter second-1" in.nc
+<pre xml:space="preserve">ncatted -a units,,m,c,'meter second-1' in.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1183"><code>units</code></indexterm></cindex>
-<para>Add a <code>units</code> attribute of "kilogram kilogram-1" to all variables
-whose first three characters are <samp>H2O</samp>:
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1187"><code>units</code></indexterm></cindex>
+<para>Add a <code>units</code> attribute of <code>kilogram kilogram-1</code> to all
+variables whose first three characters are <samp>H2O</samp>:
</para><example endspaces=" ">
-<pre xml:space="preserve">ncatted -a units,'^H2O',c,c,"kilogram kilogram-1" in.nc
+<pre xml:space="preserve">ncatted -a units,'^H2O',c,c,'kilogram kilogram-1' in.nc
</pre></example>
<para>Overwrite the <code>quanta</code> attribute of variable
<code>energy</code> to an array of four integers.
</para><example endspaces=" ">
-<pre xml:space="preserve">ncatted -O -a quanta,energy,o,s,"010,101,111,121" in.nc
+<pre xml:space="preserve">ncatted -a quanta,energy,o,s,'010,101,111,121' in.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1184">extended regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1185">regular expressions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1186">pattern matching</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1187">wildcards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1188">extended regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1189">regular expressions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1190">pattern matching</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1191">wildcards</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> 3.9.6 (January, 2009), <command>ncatted</command> accepts
-<dfn>extended regular expressions</dfn> as arguments for variable names.
+<dfn>extended regular expressions</dfn> as arguments for variable names,
+though not for attribute names.
Create <code>isotope</code> attributes for all variables containing <samp>H2O</samp>
in their names.
</para><example endspaces=" ">
-<pre xml:space="preserve">ncatted -O -a isotope,'^H2O*',c,s,"18" in.nc
+<pre xml:space="preserve">ncatted -a isotope,'^H2O*',c,s,'18' in.nc
</pre></example>
<para>See <ref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodename></ref> for more details.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1188">groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1192">groups</indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> 4.3.8 (November, 2013), <command>ncatted</command>
accepts full and partial group paths in names of attributes,
variables, dimensions, and groups.
<!-- c ncks -m -v lon ~/in_grp.nc -->
</para><example endspaces=" ">
<pre xml:space="preserve"># Overwrite units attribute of specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,c,'degrees_west' in_grp.nc
# Overwrite units attribute of all 'lon' variables
-ncatted -O -a units,lon,o,c,"degrees_west" in_grp.nc
+ncatted -O -a units,lon,o,c,'degrees_west' in_grp.nc
# Delete units attribute of all 'lon' variables
ncatted -O -a units,lon,d,, in_grp.nc
# Overwrite units attribute with new type for specific 'lon' variable
-ncatted -O -a units,/g1/lon,o,sng,"degrees_west" in_grp.nc
+ncatted -O -a units,/g1/lon,o,sng,'degrees_west' in_grp.nc
# Add new_att attribute to all variables
-ncatted -O -a new_att,,c,sng,"new variable attribute" in_grp.nc
+ncatted -O -a new_att,,c,sng,'new variable attribute' in_grp.nc
# Add new_grp_att group attribute to all groups
-ncatted -O -a new_grp_att,group,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a new_grp_att,group,c,sng,'new group attribute' in_grp.nc
# Add new_grp_att group attribute to single group
-ncatted -O -a g1_grp_att,g1,c,sng,"new group attribute" in_grp.nc
+ncatted -O -a g1_grp_att,g1,c,sng,'new group attribute' in_grp.nc
# Add new_glb_att global attribute to root group
-ncatted -O -a new_glb_att,global,c,sng,"new global attribute" in_grp.nc
+ncatted -O -a new_glb_att,global,c,sng,'new global attribute' in_grp.nc
</pre></example>
<para>Demonstrate input of C-language escape sequences (e.g., <code>\n</code>) and
@@ -13087,14 +13138,14 @@ omitted in batch scripts.
<findex index="fn" spaces=" "><indexterm index="fn" number="27" mergedindex="cp">ncmult</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="28" mergedindex="cp">ncmultiply</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="29" mergedindex="cp">ncdivide</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1189">binary operations</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1190">addition</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1191">subtraction</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1192">multiplication</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1193">adding data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1194">subtracting data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1195">multiplying data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1196">dividing data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1193">binary operations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1194">addition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1195">subtraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1196">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1197">adding data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1198">subtracting data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1199">multiplying data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1200">dividing data</indexterm></cindex>
<noindent></noindent>
<para>SYNTAX
@@ -13121,18 +13172,18 @@ variables).
One of the four standard arithmetic binary operations currently
supported must be selected with the <samp>-y <var>op_typ</var></samp> switch (or
long options <samp>--op_typ</samp> or <samp>--operation</samp>).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1197"><code>add</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1198"><code>subtract</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1199"><code>multiply</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1200"><code>divide</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1201"><code>+</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1202"><code>-</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1203"><code>*</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1204"><code>/</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1205"><code>-y <var>op_typ</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1206"><code>--operation <var>op_typ</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1207"><code>--op_typ <var>op_typ</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1208">alternate invocations</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1201"><code>add</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1202"><code>subtract</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1203"><code>multiply</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1204"><code>divide</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1205"><code>+</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1206"><code>-</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1207"><code>*</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1208"><code>/</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1209"><code>-y <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1210"><code>--operation <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1211"><code>--op_typ <var>op_typ</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1212">alternate invocations</indexterm></cindex>
The valid binary operations for <command>ncbo</command>, their definitions,
corresponding values of the <var>op_typ</var> key, and alternate invocations
are:
@@ -13163,12 +13214,12 @@ Examples: <samp>ncbo --op_typ=/ 1.nc 2.nc 3.nc</samp>, <samp>ncdivide 1.nc 2.nc
<para>Care should be taken when using the shortest form of key values,
i.e., <samp>+</samp>, <samp>-</samp>, <samp>*</samp>, <w>and <samp>/</samp></w>.
Some of these single characters may have special meanings to the shell
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1209">naked characters</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1213">naked characters</indexterm></cindex>
<footnote><para><w>A naked</w> (i.e., unprotected or unquoted) <samp>*</samp> is a
wildcard character.
<w>A naked</w> <samp>-</samp> may confuse the command line parser.
<w>A naked</w> <samp>+</samp> and <samp>/</samp> are relatively harmless.</para></footnote>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1210">Bash shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1214">Bash shell</indexterm></cindex>
Place these characters inside quotes to keep them from being interpreted
(globbed) by the shell
<footnote><para>The widely used shell Bash correctly interprets all these
@@ -13178,9 +13229,9 @@ the intended arithmetic operation when the following arguments are given
(without quotes) to <command>ncbo</command>:
<samp>--op_typ=+</samp>, <samp>--op_typ=-</samp>, <samp>--op_typ=*</samp>,
and <samp>--op_typ=/</samp></para></footnote>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1211">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1212">shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1213">quotes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1215">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1216">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1217">quotes</indexterm></cindex>
For example, the following commands are equivalent
</para><example endspaces=" ">
<pre xml:space="preserve">ncbo --op_typ=* 1.nc 2.nc 3.nc # Dangerous (shell may try to glob)
@@ -13196,9 +13247,9 @@ ncmultiply 1.nc 2.nc 3.nc # First do 'ln -s ncbo ncmultiply'
<para>No particular argument or invocation form is preferred.
Users are encouraged to use the forms which are most intuitive to them.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1214"><command>alias</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1215"><command>ln -s</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1216">symbolic links</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1218"><command>alias</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1219"><command>ln -s</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1220">symbolic links</indexterm></cindex>
<para>Normally, <command>ncbo</command> will fail unless an operation type is specified
with <samp>-y</samp> (equivalent to <samp>--op_typ</samp>).
You may create exceptions to this rule to suit your particular tastes,
@@ -13240,12 +13291,12 @@ This ensures portability of scripts between users and sites.
<html endspaces=" ">
<a name="brd_var"></a> <!&textndash; http://nco.sf.net/nco.html#brd_var &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1217">broadcasting variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1218">rank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1221">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1222">rank</indexterm></cindex>
<para><command>ncbo</command> operates (e.g., adds) variables in <var>file_2</var> with the
corresponding variables (those with the same name) in <var>file_1</var> and
stores the results in <var>file_3</var>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1219">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1223">broadcasting variables</indexterm></cindex>
Variables in <var>file_1</var> or <var>file_2</var> are <dfn>broadcast</dfn> to conform
to the corresponding variable in the other input file if
necessary<footnote spaces="\n"><para>Prior to <acronym><acronymword>NCO</acronymword></acronym> version 4.3.1 (May, 2013), <command>ncbo</command>
@@ -13268,12 +13319,12 @@ by copying data in existing dimensions.
For example, a two dimensional variable in <var>file_2</var> can be
subtracted from a four, three, or two (not one or zero)
dimensional variable (of the same name) in <code>file_1</code>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1220">anomalies</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1224">anomalies</indexterm></cindex>
This functionality allows the user to compute anomalies from the mean.
In the future, we will broadcast variables in <var>file_1</var>, if necessary
to conform to their counterparts in <var>file_2</var>.
<!-- c TODO #268 -->
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1221">rank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1225">rank</indexterm></cindex>
Thus, presently, the number of dimensions, or <dfn>rank</dfn>, of any
processed variable in <var>file_1</var> must be greater than or equal to the
rank of the same variable in <var>file_2</var>.
@@ -13293,8 +13344,8 @@ If <var>file_2</var> was created by averaging <var>file_1</var> over the
the <command>ncwa</command> operator), then <var>file_2</var> will have a <code>time</code>
dimension of <w>size 1</w> rather than having no <code>time</code> dimension at
all
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1222">degenerate dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1223"><samp>-b</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1226">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1227"><samp>-b</samp></indexterm></cindex>
<footnote><para>This is because <command>ncra</command> collapses the record dimension
to a size <w>of 1</w> (making it a <dfn>degenerate</dfn> dimension), but does
not remove it, while, unless <samp>-b</samp> is given, <command>ncwa</command> removes
@@ -13308,14 +13359,14 @@ To prevent this from occuring, use <command>ncwa</command> to remove the
<code>time</code> dimension from <var>file_2</var>.
See the example below.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1224">coordinate variable</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1225"><code>NC_CHAR</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1228">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1229"><code>NC_CHAR</code></indexterm></cindex>
<para><command>ncbo</command> never operates on coordinate variables or variables
of type <code>NC_CHAR</code> or <code>NC_STRING</code>.
This ensures that coordinates like (e.g., latitude and longitude) are
physically meaningful in the output file, <var>file_3</var>.
This behavior is hardcoded.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1226"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1230"><acronym><acronymword>CF</acronymword></acronym> conventions</indexterm></cindex>
<command>ncbo</command> applies special rules to some
<acronym><acronymword>CF</acronymword></acronym>-defined (and/or <acronym><acronymword>NCAR CCSM</acronymword></acronym> or <acronym><acronymword>NCAR CCM</acronymword></acronym>
fields) such as <code>ORO</code>.
@@ -13331,7 +13382,7 @@ albeit in a more convoluted way than <command>ncbo</command>.
<a name="gb"></a> <!&textndash; http://nco.sf.net/nco.html#gb &textndash;>
<a name="GB"></a> <!&textndash; http://nco.sf.net/nco.html#GB &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1227">broadcasting groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1231">broadcasting groups</indexterm></cindex>
<para>Beginning with <acronym><acronymword>NCO</acronymword></acronym> version 4.3.1 (May, 2013), <command>ncbo</command>
supports <dfn>group broadcasting</dfn>.
Group broadcasting means processing data based on group patterns in the
@@ -13366,8 +13417,8 @@ ncbo --op_typ='-' 86_0112.nc 85_0112.nc 86m85_0112.nc
<noindent></noindent>
<para>These commands are all different ways of expressing the same thing.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1228">broadcasting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1229">rank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1232">broadcasting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1233">rank</indexterm></cindex>
<para>The following examples demonstrate the broadcasting feature of
<command>ncbo</command>.
Say we wish to compute the monthly anomalies of <code>T</code> from the yearly
@@ -13414,7 +13465,7 @@ ncdiff 85_0112.nc 85_x.nc tx_anm_85_0112.nc
<code>time</code> and <code>lon</code>, and that <file>85_x.nc</file> has no <code>time</code>
or <code>lon</code> dimension.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1230">broadcasting groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1234">broadcasting groups</indexterm></cindex>
<para>Group broadcasting simplifies evaluation of multiple models against
observations.
Consider the input file <file>cmip5.nc</file> which contains multiple
@@ -13467,9 +13518,9 @@ one file, and use <command>ncra</command> to create the average anomaly for all
five Januarys.
These commands are embedded in a shell loop so they are repeated for all
twelve months:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1231">Bash Shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1232">Bourne Shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1233">C Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1235">Bash Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1236">Bourne Shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1237">C Shell</indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
for idx in {1..12}; do # Bash Shell (version 3.0+)
@@ -13512,8 +13563,8 @@ seasonal cycle of the monthly anomalies:
</section>
<node name="nces-netCDF-Ensemble-Statistics" spaces=" "><nodename>nces netCDF Ensemble Statistics</nodename><nodenext spaces=" ">ncecat netCDF Ensemble Concatenator</nodenext><nodeprev spaces=" ">ncbo netCDF Binary Operator</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>nces</command> netCDF Ensemble Statistics</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1234">averaging data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1235">ensemble average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1238">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1239">ensemble average</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="30" mergedindex="cp">nces</indexterm></findex>
<noindent></noindent>
@@ -13543,7 +13594,7 @@ released December, 2013.
<acronym><acronymword>NCO</acronymword></acronym> will attempt to maintain back-compatibility and work
as expected with invocations of <command>ncea</command> for as long as possible.
Please replace <command>ncea</command> by <command>nces</command> in all future work.</para></footnote>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1236">ensemble</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1240">ensemble</indexterm></cindex>
For example, <command>nces</command> will average a set of files or groups,
weighting each file or group evenly.
This is distinct from <command>ncra</command>, which performs statistics only
@@ -13573,17 +13624,17 @@ the hypserslabs may (and usually do) change the size of the dimensions
from the input to the output files.
Prior to this, <command>nces</command> was only guaranteed to work on hyperslabs
in the record dimension that resolved to the same size.</para></footnote>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1237">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1238">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1241">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1242">hyperslab</indexterm></cindex>
<command>nces</command> does allow files to differ in the record dimension size
if the requested record hyperslab (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) resolves to the
same size for all files.
<command>nces</command> recomputes the record dimension hyperslab limits for
each input file so that coordinate limits may be used to select equal
length timeseries from unequal length files.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1239"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1240"><acronym><acronymword>AR4</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1241"><acronym><acronymword>CMIP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1243"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1244"><acronym><acronymword>AR4</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1245"><acronym><acronymword>CMIP</acronymword></acronym></indexterm></cindex>
This simplifies analysis of unequal length timeseries from simulation
ensembles (e.g., the <acronym><acronymword>CMIP3</acronymword></acronym> <acronym><acronymword>IPCC</acronymword></acronym> <acronym><acronymword>AR4</acronymword></acronym>
archive).
@@ -13593,12 +13644,12 @@ archive).
<a name="nsm_grp"></a> <!&textndash; http://nco.sf.net/nco.html#nsm_grp &textndash;>
<a name="nsm_sfx"></a> <!&textndash; http://nco.sf.net/nco.html#nsm_sfx &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1242"><code>--nsm_fl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1243"><code>--nsm_grp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1244"><code>--ensemble_file</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1245"><code>--ensemble_group</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1246"><code>--nsm_sfx</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1247"><code>--ensemble_suffix</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1246"><code>--nsm_fl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1247"><code>--nsm_grp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1248"><code>--ensemble_file</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1249"><code>--ensemble_group</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1250"><code>--nsm_sfx</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1251"><code>--ensemble_suffix</code></indexterm></cindex>
<para><command>nces</command> works in one of two modes, file ensembles
or group ensembles.
File ensembles are the default (equivalent to the old <command>ncea</command>)
@@ -13636,9 +13687,9 @@ nces --nsm_grp --nsm_sfx='_avg' mdl1.nc mdl2.nc mdl3.nc out.nc
<para><xref label="Statistics-vs_002e-Concatenation"><xrefnodename>Statistics vs. Concatenation</xrefnodename></xref>, for a description of the
distinctions between the statistics tools and concatenators.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1248">multi-file operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1249">standard input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1250"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1252">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1253">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1254"><code>stdin</code></indexterm></cindex>
As a multi-file operator, <command>nces</command> will read the list of
<var>input-files</var> from <code>stdin</code> if they are not specified
as positional arguments on the command line
@@ -13736,8 +13787,8 @@ member in the first file.
</section>
<node name="ncecat-netCDF-Ensemble-Concatenator" spaces=" "><nodename>ncecat netCDF Ensemble Concatenator</nodename><nodenext spaces=" ">ncflint netCDF File Interpolator</nodenext><nodeprev spaces=" ">nces netCDF Ensemble Statistics</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncecat</command> netCDF Ensemble Concatenator</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1251">concatenation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1252">ensemble concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1255">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1256">ensemble concatenation</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="31" mergedindex="cp">ncecat</indexterm></findex>
<noindent></noindent>
@@ -13774,41 +13825,41 @@ subsetting simultaneously (<pxref label="Subsetting-Files"><xrefnodename>Subsett
<html endspaces=" ">
<a name="rag"></a> <!&textndash; http://nco.sf.net/nco.html#rag &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1253">record aggregation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1254"><acronym><acronymword>RAG</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1257">record aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1258"><acronym><acronymword>RAG</acronymword></acronym></indexterm></cindex>
<para><acronym><acronymword>RAG</acronymword></acronym> makes each variable (except coordinate variables) in each
input file into a single record of the same variable in the output file.
Coordinate variables are not concatenated, they are instead simply
copied from the first input file to the <var>output-file</var>.
All <var>input-files</var> must contain all extracted variables (or else
-there would be "gaps" in the output file).
+there would be &textldquo;gaps&textrdquo; in the output file).
</para>
<para>A new record dimension is the glue which binds together the input file
data.
The new record dimension is defined in the root group of the output file
so it is visible to all sub-groups.
Its name is, by default, &textldquo;record&textrdquo;.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1255">unlimited dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1256">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1257"><samp>-u <var>ulm_nm</var></samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1258"><samp>--ulm_nm <var>ulm_nm</var></samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1259"><samp>--rcd_nm <var>ulm_nm</var></samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1259">unlimited dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1260">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1261"><samp>-u <var>ulm_nm</var></samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1262"><samp>--ulm_nm <var>ulm_nm</var></samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1263"><samp>--rcd_nm <var>ulm_nm</var></samp></indexterm></cindex>
This default name can be overridden with the <samp>-u <var>ulm_nm</var></samp>
short option (or the <samp>--ulm_nm</samp> or <samp>rcd_nm</samp> long options).
</para>
<para>Each extracted variable must be constant in size and rank across all
<var>input-files</var>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1260">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1261">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1264">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1265">hyperslab</indexterm></cindex>
The only exception is that <command>ncecat</command> allows files to differ in
the record dimension size if the requested record hyperslab
(<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) resolves to the same size for all files.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1262"><acronym><acronymword>CMIP</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1266"><acronym><acronymword>CMIP</acronymword></acronym></indexterm></cindex>
This allows easier gluing/averaging of unequal length timeseries from
simulation ensembles (e.g., the <acronym><acronymword>CMIP</acronymword></acronym> rchive).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1263">fixed dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1264">fix record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1267">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1268">fix record dimension</indexterm></cindex>
<para>Classic (i.e., all netCDF3 and <code>NETCDF4_CLASSIC</code>) output files
can contain only one record dimension.
<command>ncecat</command> makes room for the new glue record dimension by
@@ -13821,8 +13872,8 @@ if any, of the input files as it copies them to the output file.
<html endspaces=" ">
<a name="gag"></a> <!&textndash; http://nco.sf.net/nco.html#gag &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1265">group aggregation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1266"><acronym><acronymword>GAG</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1269">group aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1270"><acronym><acronymword>GAG</acronymword></acronym></indexterm></cindex>
<para><dfn>Group AGgregation</dfn> (<acronym><acronymword>GAG</acronymword></acronym>) stores <var>input-files</var> as
top-level groups in the <var>output-file</var>.
No assumption is made about the size or shape or type of a given
@@ -13831,7 +13882,7 @@ The entire contents of the extracted portion of each input file
is placed in its own top-level group in <var>output-file</var>, which
is automatically made as a netCDF4-format file.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1267"><option>--gag</option></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1271"><option>--gag</option></indexterm></cindex>
<para><acronym><acronymword>GAG</acronymword></acronym> has two methods to specify group names for the
<var>output-file</var>.
The <samp>-G</samp> option, or its long-option equivalent <samp>--gpe</samp>,
@@ -13860,17 +13911,17 @@ ncecat -G 85/ a.nc b.nc c.nc 8589.nc # Output groups 85/00, 85/01, 85/02
the sum of the sizes of the extracted variables in the input files.
<xref label="Statistics-vs_002e-Concatenation"><xrefnodename>Statistics vs. Concatenation</xrefnodename></xref>, for a description of the
distinctions between the various statistics tools and concatenators.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1268">multi-file operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1269">standard input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1270"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1272">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1273">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1274"><code>stdin</code></indexterm></cindex>
As a multi-file operator, <command>ncecat</command> will read the list of
<var>input-files</var> from <code>stdin</code> if they are not specified
as positional arguments on the command line
(<pxref label="Large-Numbers-of-Files"><xrefnodename>Large Numbers of Files</xrefnodename></pxref>).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1271"><code>-M</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1272"><code>--glb_mtd_spp</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1273">metadata, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1275"><code>-M</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1276"><code>--glb_mtd_spp</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1277">metadata, global</indexterm></cindex>
<para>Suppress global metadata copying.
By default <acronym><acronymword>NCO</acronymword></acronym>&textrsquo;s multi-file operators copy the global metadata
from the first input file into <var>output-file</var>.
@@ -13884,7 +13935,7 @@ metadata.
metadata via the <samp>-M</samp> switch (or its long option equivalents,
<samp>--glb_mtd_spp</samp> and <samp>--global_metadata_suppress</samp>).
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1274">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1278">climate model</indexterm></cindex>
<para>Consider five realizations, <file>85a.nc</file>, <file>85b.nc</file>,
<w>&dots; <file>85e.nc</file></w> of 1985 predictions from the same climate
model.
@@ -13899,10 +13950,10 @@ Normally this means all the input files are the same size, and contain
data on different realizations of the same variables.
</para>
<findex index="fn" spaces=" "><indexterm index="fn" number="32" mergedindex="cp">ncpdq</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1275">packing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1276">unpacking</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1277"><code>add_offset</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1278"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1279">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1280">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1281"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1282"><code>scale_factor</code></indexterm></cindex>
<para>Concatenating a variable packed with different scales across multiple
datasets is beyond the capabilities of <command>ncecat</command> (and
<command>ncrcat</command>, the other concatenator (<ref label="Concatenation"><xrefnodename>Concatenation</xrefnodename></ref>).
@@ -13963,10 +14014,10 @@ such descriptive coordinates are used.
<html endspaces=" ">
<a name="dmn_rcd_rm"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_rcd_rm &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1279">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1280">fixed dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1281">fix record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1282"><code>--mk_rec_dmn <var>dim</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1283">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1284">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1285">fix record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1286"><code>--mk_rec_dmn <var>dim</var></code></indexterm></cindex>
<para>Consider a file with an existing record dimension named <code>time</code>.
and suppose the user wishes to convert <code>time</code> from a record
dimension to a non-record dimension.
@@ -13975,7 +14026,7 @@ record variable.
The simplest method is to use <samp>ncks --fix_rec_dmn</samp> but another
possibility is to use <command>ncecat</command> followed by
<command>ncwa</command>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1283">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1287">degenerate dimension</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncecat in.nc out.nc # Convert time to non-record dimension
ncwa -a record in.nc out.nc # Remove new degenerate record dimension
@@ -13993,10 +14044,10 @@ of changing variable dimensionality, including the record dimension.
</section>
<node name="ncflint-netCDF-File-Interpolator" spaces=" "><nodename>ncflint netCDF File Interpolator</nodename><nodenext spaces=" ">ncks netCDF Kitchen Sink</nodenext><nodeprev spaces=" ">ncecat netCDF Ensemble Concatenator</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncflint</command> netCDF File Interpolator</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1284">interpolation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1285">adding data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1286">multiplying data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1287">addition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1288">interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1289">adding data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1290">multiplying data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1291">addition</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="33" mergedindex="cp">ncflint</indexterm></findex>
<noindent></noindent>
@@ -14039,9 +14090,9 @@ $val3 = wgt1 \times val1 + wgt2 \times val2$
Here at least <var>wgt1</var>, and, optionally, <var>wgt2</var>, are specified on
the command line with the <samp>-w</samp> (or <samp>--weight</samp> or
<samp>--wgt_var</samp>) switch.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1288"><code>-w <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1289"><code>--weight <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1290"><code>--wgt_var <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1292"><code>-w <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1293"><code>--weight <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1294"><code>--wgt_var <var>wgt1</var>[,<var>wgt2</var>]</code></indexterm></cindex>
If only <var>wgt1</var> is specified then <var>wgt2</var> is automatically
computed as <math><var>wgt2</var> = 1 − <var>wgt1</var></math>.
Note that weights larger <w>than 1</w> are allowed.
@@ -14060,7 +14111,7 @@ weights and adding together the results to produce the output values.
It makes sense to use this when the weights are known
<emph><w>a priori</w></emph>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1291">arrival value</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1295">arrival value</indexterm></cindex>
<para>Another class of problems has the <dfn>arrival value</dfn> (i.e., <var>val3</var>)
of a particular variable <var>var</var> known <emph><w>a priori</w></emph>.
In this case, the implied weights can always be inferred by examining
@@ -14083,7 +14134,7 @@ and <var>val3</var> with the <samp>-i</samp> option.
weights on all variables to generate the output file.
Although <var>var</var> may have any number of dimensions in the input
files, it must represent a single, scalar value.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1292">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1296">degenerate dimension</indexterm></cindex>
Thus any dimensions associated with <var>var</var> must be <dfn>degenerate</dfn>,
i.e., of size one.
</para>
@@ -14110,8 +14161,8 @@ in <acronym><acronymword>NCO</acronymword></acronym> version 4.2.6 (March, 2013)
It prevents <command>ncflint</command> from multiplying or interpolating any
coordinate variables, including record coordinate variables.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1293">missing values</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1294"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1297">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1298"><code>_FillValue</code></indexterm></cindex>
<para>Depending on your intuition, <command>ncflint</command> may treat missing values
unexpectedly.
Consider a point where the value in one input file, say <var>val1</var>,
@@ -14187,13 +14238,13 @@ together to make <file>tst.nc</file>:
<pre xml:space="preserve">ncflint -w 3,-2 85.nc 85.nc tst.nc
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1295">null operation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1299">null operation</indexterm></cindex>
<para>This is an example of a null operation, so <file>tst.nc</file> should be
identical (within machine precision) to <file>85.nc</file>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1296">multiplication</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1297">file multiplication</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1298">scaling</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1300">multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1301">file multiplication</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1302">scaling</indexterm></cindex>
<para>Multiply all the variables except the coordinate variables in the file
<file>emissions.nc</file> by <w>by 0.8</w>:
</para><example endspaces=" ">
@@ -14213,14 +14264,14 @@ ncdiff 85.nc 86.nc 85m86.nc
<noindent></noindent>
<para>Thus <command>ncflint</command> can be used to mimic some <command>ncbo</command>
operations.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1299">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1303">broadcasting variables</indexterm></cindex>
However this is not a good idea in practice because <command>ncflint</command>
does not broadcast (<pxref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></pxref>) conforming
variables during arithmetic.
Thus the final two commands would produce identical results except that
<command>ncflint</command> would fail if any variables needed to be broadcast.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1300"><code>units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1304"><code>units</code></indexterm></cindex>
<para>Rescale the dimensional units of the surface pressure <code>prs_sfc</code>
from Pascals to hectopascals (millibars)
</para><example endspaces=" ">
@@ -14236,9 +14287,9 @@ ncatted -a units,prs_sfc,o,c,millibar out.nc
</section>
<node name="ncks-netCDF-Kitchen-Sink" spaces=" "><nodename>ncks netCDF Kitchen Sink</nodename><nodenext spaces=" ">ncpdq netCDF Permute Dimensions Quickly</nodenext><nodeprev spaces=" ">ncflint netCDF File Interpolator</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncks</command> netCDF Kitchen Sink</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1301">kitchen sink</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1302">printing files contents</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1303">printing variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1305">kitchen sink</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1306">printing files contents</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1307">printing variables</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="34" mergedindex="cp">ncks</indexterm></findex>
<noindent></noindent>
@@ -14258,7 +14309,7 @@ ncatted -a units,prs_sfc,o,c,millibar out.nc
<noindent></noindent>
<para>DESCRIPTION
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1304"><command>ncextr</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1308"><command>ncextr</command></indexterm></cindex>
<para>The nickname &textldquo;kitchen sink&textrdquo; is a catch-all because <command>ncks</command>
combines most features of <command>ncdump</command> and <command>nccopy</command> with
extra features to extract, hyperslab, multi-slab, sub-set, and translate
@@ -14287,8 +14338,8 @@ including <acronym><acronymword>CDL</acronymword></acronym> and <acronym><acrony
<samp>-s</samp>, <samp>-u</samp>, <samp>--xml</samp> (and their long option counterparts)
control the formatted appearance of the data.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1305">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1306">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1309">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1310">attributes, global</indexterm></cindex>
<para><command>ncks</command> extracts (and optionally creates a new netCDF file
comprised of) only selected variables from the input file
(similar to the old <command>ncextr</command> specification).
@@ -14305,8 +14356,8 @@ Input dimensions that are not associated with any output variable do
not appear in the output netCDF.
This feature removes superfluous dimensions from netCDF files.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1307">appending data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1308">merging files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1311">appending data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1312">merging files</indexterm></cindex>
<para><command>ncks</command> will append variables and attributes from the
<var>input-file</var> to <var>output-file</var> if <var>output-file</var> is a
pre-existing netCDF file whose relevant dimensions conform to dimension
@@ -14333,8 +14384,8 @@ with the members of <var>output-file</var> then it will be added to
<var>output-file</var>.
In this case the relevant dimensions must agree (conform) between the
two files; new dimensions are created in <var>output-file</var> as required.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1309">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1310">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1313">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1314">attributes, global</indexterm></cindex>
When a name conflict occurs, a global attribute from <var>input-file</var>
will overwrite the corresponding global attribute from
<var>output-file</var>.
@@ -14373,8 +14424,7 @@ existing files and variables, respectively.
</para>
<unnumberedsubsec spaces=" "><sectiontitle>Options specific to <command>ncks</command></sectiontitle>
-<para>The following list provides a short summary of the features unique to
-<command>ncks</command>.
+<para>The following summarizes features unique to <command>ncks</command>.
Features common to many operators are described in
<ref label="Common-features"><xrefnodename>Common features</xrefnodename></ref>.
</para>
@@ -14384,7 +14434,7 @@ Features common to many operators are described in
<a name="-5"></a> <!&textndash; http://nco.sf.net/nco.html#-5 &textndash;>
<a name="5"></a> <!&textndash; http://nco.sf.net/nco.html#5 &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1311"><code>-5</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1315"><code>-5</code></indexterm></cindex>
</beforefirstitem><tableentry><tableterm><item spaces=" "><itemformat command="samp">-5 </itemformat></item>
</tableterm><tableitem><para>Print data to screen alphabetically by group, and alphabetically by
variable within each group.
@@ -14397,11 +14447,11 @@ the future).
<a name="abc"></a> <!&textndash; http://nco.sf.net/nco.html#abc &textndash;>
<a name="alphabetize"></a> <!&textndash; http://nco.sf.net/nco.html#alphabetize &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1312">alphabetization</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1313">sort alphabetically</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1314"><code>-a</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1315"><code>--abc</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1316"><code>--alphabetize</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1316">alphabetization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1317">sort alphabetically</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1318"><code>-a</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1319"><code>--abc</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1320"><code>--alphabetize</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-a</itemformat></item>
</tableterm><tableitem><para>Do not alphabetize extracted fields.
By default, the specified output variables are extracted, printed, and
@@ -14418,11 +14468,11 @@ Also <samp>--abc</samp> and <samp>--alphabetize</samp>.
<a name="bnr"></a> <!&textndash; http://nco.sf.net/nco.html#bnr &textndash;>
<a name="binary"></a> <!&textndash; http://nco.sf.net/nco.html#binary &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1317">binary format</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1318"><code>-b</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1319"><code>--fl_bnr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1320"><code>--bnr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1321"><code>--binary</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1321">binary format</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1322"><code>-b</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1323"><code>--fl_bnr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1324"><code>--bnr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1325"><code>--binary</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-b <file>file</file></itemformat></item>
</tableterm><tableitem><para>Activate native machine binary output writing to binary file
<file>file</file>.
@@ -14446,10 +14496,10 @@ coordinates to the binary file:
<a name="dmn_fix_mk"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_fix_mk &textndash;>
<a name="fix_rec_dmn"></a> <!&textndash; http://nco.sf.net/nco.html#fix_rec_dmn &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1322">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1323">fixed dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1324"><code>--fix_rec_dmn <var>dim</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1325"><code>--no_rec_dmn <var>dim</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1326">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1327">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1328"><code>--fix_rec_dmn <var>dim</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1329"><code>--no_rec_dmn <var>dim</var></code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--fix_rec_dmn</itemformat></item>
</tableterm><tableitem><para>Change record dimension <var>dim</var> in the input file into a fixed
dimension in the output file.
@@ -14481,18 +14531,19 @@ limited to at most one record dimension) (<pxref label="Group-Path-Editing"><xre
<a name="hdn"></a> <!&textndash; http://nco.sf.net/nco.html#hdn &textndash;>
<a name="hidden"></a> <!&textndash; http://nco.sf.net/nco.html#hidden &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1326">hidden attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1327">special attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1328"><code>--hdn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1329"><code>--hidden</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1330"><code>_Format</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1331"><code>_DeflateLevel</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1332"><code>_Shuffle</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1333"><code>_Storage</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1334"><code>_ChunkSizes</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1335"><code>_Endianness</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1336"><code>_Fletcher32</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1337"><code>_NOFILL</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1330">hidden attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1331">special attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1332"><code>--hdn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1333"><code>--hidden</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1334"><code>_SOURCE_FORMAT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1335"><code>_Format</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1336"><code>_DeflateLevel</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1337"><code>_Shuffle</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1338"><code>_Storage</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1339"><code>_ChunkSizes</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1340"><code>_Endianness</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1341"><code>_Fletcher32</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1342"><code>_NOFILL</code></indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.0 (January, 2014), the <samp>--hdn</samp>
or <samp>--hidden</samp> options print hidden (aka special) attributes.
This is equivalent to <samp>ncdump -s</samp>.
@@ -14502,6 +14553,9 @@ Hidden attributes include: <code>_Format</code>, <code>_DeflateLevel</code>,
Previously <command>ncks</command> ignored all these attributes in
<acronym><acronymword>CDL</acronymword></acronym>/<acronym><acronymword>XML</acronymword></acronym> modes.
Now it prints these attributes as appropriate.
+As of <acronym><acronymword>NCO</acronymword></acronym> version 4.4.6 (September, 2014), <samp>--hdn</samp>
+also prints the extended file format (i.e., the format of the file
+or server supplying the data) as <code>_SOURCE_FORMAT</code>.
Users are referred to the
<uref><urefurl>http://www.unidata.ucar.edu/software/netcdf/docs</urefurl><urefdesc spaces=" ">Unidata netCDF Documentation</urefdesc></uref>,
or the man pages for <command>ncgen</command> or <command>ncdump</command>, for
@@ -14513,15 +14567,15 @@ detailed descriptions of the meanings of these attributes.
<a name="hncgen"></a> <!&textndash; http://nco.sf.net/nco.html#hncgen &textndash;>
<a name="ncgen-hdf"></a> <!&textndash; http://nco.sf.net/nco.html#ncgen-hdf &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1338"><command>hdp</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1339"><command>ncgen</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1340"><command>ncgen-hdf</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1341"><command>hncgen</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1342"><command>ncdump</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1343"><code>--cdl</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1344"><acronym><acronymword>CDL</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1345"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1346"><acronym><acronymword>HDF4</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1343"><command>hdp</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1344"><command>ncgen</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1345"><command>ncgen-hdf</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1346"><command>hncgen</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1347"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1348"><code>--cdl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1349"><acronym><acronymword>CDL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1350"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1351"><acronym><acronymword>HDF4</acronymword></acronym></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--cdl </itemformat></item>
</tableterm><tableitem><para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.3.3 (July, 2013), <command>ncks</command> can
print extracted data and metadata to screen (i.e., <code>stdout</code>) as
@@ -14577,10 +14631,10 @@ name installed, is not robust and can fail on valid netCDF3
<a name="dmn_rec_mk"></a> <!&textndash; http://nco.sf.net/nco.html#dmn_rec_mk &textndash;>
<a name="mk_rec_dmn"></a> <!&textndash; http://nco.sf.net/nco.html#mk_rec_dmn &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1347">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1348">fixed dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1349">fix record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1350"><code>--mk_rec_dmn <var>dim</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1352">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1353">fixed dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1354">fix record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1355"><code>--mk_rec_dmn <var>dim</var></code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--mk_rec_dmn <var>dim</var></itemformat></item>
</tableterm><tableitem><para>Change existing dimension <var>dim</var> to a record dimension in the output file.
This is the most straightforward way of changing a dimension to a/the
@@ -14593,9 +14647,9 @@ changing variable dimensionality, including the record dimension.
<a name="H"></a> <!&textndash; http://nco.sf.net/nco.html#H &textndash;>
<a name="data"></a> <!&textndash; http://nco.sf.net/nco.html#data &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1351"><code>-H</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1352"><code>--data</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1353"><code>--hieronymus</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1356"><code>-H</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1357"><code>--data</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1358"><code>--hieronymus</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-H </itemformat></item>
</tableterm><tableitem><para>Turn-on printing to screen or turn-off copying data (not metadata).
Also activated using <samp>--print</samp> or <samp>--prn</samp>.
@@ -14655,10 +14709,10 @@ lat[0]=90 lev[0]=1000 lon[3]=270 three_dmn_var[3]=23
<a name="Metadata"></a> <!&textndash; http://nco.sf.net/nco.html#Metadata &textndash;>
<a name="M"></a> <!&textndash; http://nco.sf.net/nco.html#M &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1354"><code>-M</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1355"><code>--Mtd</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1356"><code>--Metadata</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1357">metadata, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1359"><code>-M</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1360"><code>--Mtd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1361"><code>--Metadata</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1362">metadata, global</indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-M</itemformat></item>
</tableterm><tableitem><para>Turn-on printing to screen or turn-off copying global and group metadata.
This includes file summary information and global and group attributes.
@@ -14714,20 +14768,20 @@ attributes, respectively.
<a name="mtd"></a> <!&textndash; http://nco.sf.net/nco.html#mtd &textndash;>
<a name="metadata"></a> <!&textndash; http://nco.sf.net/nco.html#metadata &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1358"><command>ncdump</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1359"><code>-m</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1360"><code>--mtd</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1361"><code>--metadata</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1362">metadata</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1363"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1364"><code>-m</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1365"><code>--mtd</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1366"><code>--metadata</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1367">metadata</indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-m</itemformat></item>
</tableterm><tableitem><para>Turn-on printing to screen or turn-off copying variable metadata.
Using <samp>-m</samp> will print variable metadata to screen (similar to
<kbd>ncdump -h</kbd>).
This displays all metadata pertaining to each variable, one variable
at a time.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1363">chunking</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1364">compression</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1365">deflation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1368">chunking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1369">compression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1370">deflation</indexterm></cindex>
This includes information on the storage properties of the variable,
such as whether it employs chunking, compression, or packing.
Also activated using <samp>--mtd</samp> and <samp>--metadata</samp>.
@@ -14743,11 +14797,11 @@ file.
<a name="noblank"></a> <!&textndash; http://nco.sf.net/nco.html#noblank &textndash;>
<a name="no-blank"></a> <!&textndash; http://nco.sf.net/nco.html#no-blank &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1366"><code>--no_blank</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1367"><code>--noblank</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1368"><code>--no-blank</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1369">blank</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1370">missing values</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1371"><code>--no_blank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1372"><code>--noblank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1373"><code>--no-blank</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1374">blank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1375">missing values</indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--no_blank</itemformat></item>
</tableterm><tableitem><para>Print numeric representation of missing values.
As of <acronym><acronymword>NCO</acronymword></acronym>
@@ -14761,9 +14815,9 @@ Also activated using <samp>--noblank</samp> or <samp>--no-blank</samp>.
<a name="P"></a> <!&textndash; http://nco.sf.net/nco.html#P &textndash;>
<a name="prn"></a> <!&textndash; http://nco.sf.net/nco.html#prn &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1371"><code>-P</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1372"><code>--print</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1373"><code>--prn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1376"><code>-P</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1377"><code>--print</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1378"><code>--prn</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-P </itemformat></item>
</tableterm><tableitem><para>Print data, metadata, and units to screen.
The <samp>-P</samp> switch is a convenience abbreviation for
@@ -14773,42 +14827,54 @@ This set of switches is useful for exploring file contents.
</para>
<html endspaces=" ">
<a name="Q"></a> <!&textndash; http://nco.sf.net/nco.html#Q &textndash;>
+<a name="quiet"></a> <!&textndash; http://nco.sf.net/nco.html#quiet &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1374"><code>-Q</code></indexterm></cindex>
-</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-Q </itemformat></item>
-</tableterm><tableitem><para>Toggle printing of dimension indices and coordinate values when printing
-arrays.
-Each variable&textrsquo;s name appears flush left in the output.
-This helps locate specific variables in lists with many variables and
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1379"><code>-Q</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1380"><code>--quiet</code></indexterm></cindex>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-Q</itemformat></item>
+</tableterm><tableitem><para>Print quietly, meaning omit dimension names, indices, and coordinate
+values when printing arrays.
+Variable (not dimension) indices are printed.
+Variable names appear flush left in the output:
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+zender at roulee:~$ ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+...
+</verbatim>
+</example>
+<para>This helps locate specific variables in lists with many variables and
different dimensions.
+See also the <samp>-V</samp> option, which omits all names and indices and
+prints only variable values.
</para>
<html endspaces=" ">
<a name="q"></a> <!&textndash; http://nco.sf.net/nco.html#q &textndash;>
-<a name="quiet"></a> <!&textndash; http://nco.sf.net/nco.html#quiet &textndash;>
+<a name="quench"></a> <!&textndash; http://nco.sf.net/nco.html#quench &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1375"><code>-q</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1376"><code>--quiet</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1377">quiet</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1381"><code>-q</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1382"><code>--quench</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1383">quench</indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-q </itemformat></item>
-</tableterm><tableitem><para>Turn off all printing to screen.
+</tableterm><tableitem><para>Quench (turn-off) all printing to screen.
This overrides the setting of all print-related switches, equivalent to
<kbd>-H -M -m</kbd> when in single-file printing mode.
When invoked with <code>-R</code> (<pxref label="Retaining-Retrieved-Files"><xrefnodename>Retaining Retrieved Files</xrefnodename></pxref>), <command>ncks</command>
automatically sets <code>-q</code>.
This allows <command>ncks</command> to retrieve remote files without
automatically trying to print them.
-Also <samp>--quiet</samp>.
+Also <samp>--quench</samp>.
</para>
<html endspaces=" ">
<a name="rad"></a> <!&textndash; http://nco.sf.net/nco.html#rad &textndash;>
<a name="orphan"></a> <!&textndash; http://nco.sf.net/nco.html#orphan &textndash;>
<a name="rph_dmn"></a> <!&textndash; http://nco.sf.net/nco.html#rph_dmn &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1378"><code>--rad</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1379">orphan dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1380"><code>--retain_all_dimensions</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1381"><code>--orphan_dimensions</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1382"><code>--rph_dmn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1384"><code>--rad</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1385">orphan dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1386"><code>--retain_all_dimensions</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1387"><code>--orphan_dimensions</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1388"><code>--rph_dmn</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--rad</itemformat></item>
</tableterm><tableitem><para>Retain all dimensions.
When invoked with <code>--rad</code> (Retain All Dimensions),
@@ -14827,36 +14893,76 @@ Also <samp>--retain_all_dimensions</samp>, <samp>--orphan_dimensions</samp>, and
<a name="sng_fmt"></a> <!&textndash; http://nco.sf.net/nco.html#sng_fmt &textndash;>
<a name="string"></a> <!&textndash; http://nco.sf.net/nco.html#string &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1383"><code>-s</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1384"><code>--string</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1385"><code>--sng_fmt</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1386"><code>printf()</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1387">C language</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1389"><code>-s</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1390"><code>--string</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1391"><code>--sng_fmt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1392"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1393">C language</indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-s <var>format</var></itemformat></item>
</tableterm><tableitem><para>String format for text output.
Accepts <w>C language</w> escape sequences and <code>printf()</code> formats.
Also <samp>--string</samp> and <samp>--sng_fmt</samp>.
</para>
<html endspaces=" ">
+<a name="ssh"></a> <!&textndash; http://nco.sf.net/nco.html#ssh &textndash;>
+<a name="scr"></a> <!&textndash; http://nco.sf.net/nco.html#scr &textndash;>
+<a name="secret"></a> <!&textndash; http://nco.sf.net/nco.html#secret &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1394"><code>--ssh</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1395"><code>--scr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1396"><code>--secret</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1397">hidden features</indexterm></cindex>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--secret</itemformat></item>
+</tableterm><tableitem><para>Print summary of <command>ncks</command> hidden features.
+These hidden or secret features are used mainly by developers.
+They are not supported for general use and may change at any time.
+This demonstrates conclusively that I cannot keep a secret.
+Also <samp>--ssh</samp> and <samp>--scr</samp>.
+</para>
+<html endspaces=" ">
<a name="units"></a> <!&textndash; http://nco.sf.net/nco.html#units &textndash;>
<a name="u"></a> <!&textndash; http://nco.sf.net/nco.html#u &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1388"><code>-u</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1389"><code>--units</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1398"><code>-u</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1399"><code>--units</code></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-u </itemformat></item>
</tableterm><tableitem><para>Toggle the printing of a variable&textrsquo;s <code>units</code> attribute, if any,
with its values.
Also <samp>--units</samp>.
</para>
<html endspaces=" ">
+<a name="V"></a> <!&textndash; http://nco.sf.net/nco.html#V &textndash;>
+<a name="var_val"></a> <!&textndash; http://nco.sf.net/nco.html#var_val &textndash;>
+</html>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1400"><code>-V</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1401"><code>--var_val</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1402"><code>--no_dmn_var_nm</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1403"><code>--no_nm_prn</code></indexterm></cindex>
+</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">-V</itemformat></item>
+</tableterm><tableitem><para>Print variable values only.
+Do not print variable and dimension names, indices, and coordinate
+values when printing arrays.
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+zender at roulee:~$ ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+...
+</verbatim>
+</example>
+<para>See also the <samp>-Q</samp> option, which prints variable names and indices,
+but not dimension names, indices, or coordinate values when printing
+arrays.
+Using <samp>-V</samp> is the same as specifying <samp>-Q --no_nm_prn</samp>.
+</para>
+<html endspaces=" ">
<a name="xml"></a> <!&textndash; http://nco.sf.net/nco.html#xml &textndash;>
<a name="ncmnl"></a> <!&textndash; http://nco.sf.net/nco.html#ncml &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1390"><code>--xml</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1391"><code>--ncml</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1392"><command>ncdump</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1393"><acronym><acronymword>XML</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1394"><acronym><acronymword>NcML</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1404"><code>--xml</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1405"><code>--ncml</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1406"><command>ncdump</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1407"><acronym><acronymword>XML</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1408"><acronym><acronymword>NcML</acronymword></acronym></indexterm></cindex>
</tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="samp">--xml, --ncml</itemformat></item>
</tableterm><tableitem><para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.3.3 (July, 2013), <command>ncks</command> can
print extracted metadata to screen (i.e., <code>stdout</code>) as
@@ -14895,10 +15001,10 @@ comparison to output from Unidata&textrsquo;s <command>toolsUI</command> Java pr
Please let us know how to improve <acronym><acronymword>XML</acronymword></acronym>/<acronym><acronymword>NcML</acronymword></acronym>
features.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1395"><code>--xml_no_location</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1396"><code>--xml_spr_chr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1397"><code>--xml_spr_nmr</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1398">separator</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1409"><code>--xml_no_location</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1410"><code>--xml_spr_chr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1411"><code>--xml_spr_nmr</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1412">separator</indexterm></cindex>
<para><command>ncks</command> provides additional options to configure <acronym><acronymword>NcML</acronymword></acronym>
output: <samp>--xml_no_location</samp>, <samp>--xml_spr_chr</samp>, and
<samp>--xml_spr_nmr</samp>.
@@ -14913,7 +15019,7 @@ location of the input dataset, e.g.,
The <samp>--xml_spr_chr</samp> and <samp>--xml_spr_nmr</samp> options customize
the strings used as <acronym><acronymword>NcML</acronymword></acronym> separators for attributes and
variables of character-type and numeric-type, respectively.
-Their default separators are "*" and " ":
+Their default separators are <code>*</code> and &textldquo;<code> </code>&textrdquo; (a space):
</para><example endspaces=" ">
<verbatim xml:space="preserve">
zender at roulee:~$ ncks --xml -d time,0,3 -v two_dmn_rec_var_sng in.nc
@@ -14974,25 +15080,25 @@ include an NcML formatting characters (e.g., commas, angles, quotes).
</unnumberedsubsec>
<node name="Filters-for-ncks" spaces=" "><nodename>Filters for <command>ncks</command></nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">ncks netCDF Kitchen Sink</nodeprev><nodeup spaces=" ">ncks netCDF Kitchen Sink</nodeup></node>
<subsection spaces=" "><sectiontitle>Filters for <command>ncks</command></sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1399"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1400"><command>ncattget</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1401"><command>ncavg</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1402"><command>ncdmnsz</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1403"><command>nclist</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1404"><command>ncmax</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1405"><command>ncmdn</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1406"><command>ncmin</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1407"><command>ncrecsz</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1408"><command>ncrng</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1409"><command>ncunits</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1410"><file>.bashrc</file></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1411">filters</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1412">alias</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1413">shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1414">Bash shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1415">Csh shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1416">Sh shell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1417"><command>bash</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1413"><acronym><acronymword>UNIX</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1414"><command>ncattget</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1415"><command>ncavg</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1416"><command>ncdmnsz</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1417"><command>nclist</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1418"><command>ncmax</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1419"><command>ncmdn</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1420"><command>ncmin</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1421"><command>ncrecsz</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1422"><command>ncrng</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1423"><command>ncunits</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1424"><file>.bashrc</file></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1425">filters</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1426">alias</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1427">shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1428">Bash shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1429">Csh shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1430">Sh shell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1431"><command>bash</command></indexterm></cindex>
<para>We encourage the use of standard <acronym><acronymword>UNIX</acronymword></acronym> pipes and filters to
narrow the verbose output of <command>ncks</command> into more precise targets.
For example, to obtain an uncluttered listing of the variables in a file
@@ -15119,12 +15225,12 @@ conventions:
<para>Now the file <file>out.nc</file> contains all the data from <file>in.nc</file>.
There are, however, two differences between <file>in.nc</file> and
<file>out.nc</file>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1418"><code>history</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1432"><code>history</code></indexterm></cindex>
First, the <code>history</code> global attribute (<pxref label="History-Attribute"><xrefnodename>History Attribute</xrefnodename></pxref>)
will contain the command used to create <file>out.nc</file>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1419">alphabetize output</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1420">sort alphabetically</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1421"><code>-a</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1433">alphabetize output</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1434">sort alphabetically</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1435"><code>-a</code></indexterm></cindex>
Second, the variables in <file>out.nc</file> will be defined in alphabetical
order.
Of course the internal storage of variable in a netCDF file should be
@@ -15134,16 +15240,16 @@ is useful (see description of <code>-a</code> switch).
<html endspaces=" ">
<a name="xmp_att_glb_cpy"></a> <!&textndash; http://nco.sf.net/nco.html#xmp_att_glb_cpy &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1422">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1423">attributes, global</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1424">subsetting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1425">exclusion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1426">extraction</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1427"><code>-v <var>var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1428"><code>--variable <var>var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1429"><code>-x</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1430"><code>--exclude</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1431"><code>--xcl</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1436">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1437">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1438">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1439">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1440">extraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1441"><code>-v <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1442"><code>--variable <var>var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1443"><code>-x</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1444"><code>--exclude</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1445"><code>--xcl</code></indexterm></cindex>
<para>Copy all global attributes (and no variables) from <file>in.nc</file> to
<file>out.nc</file>:
</para><example endspaces=" ">
@@ -15154,10 +15260,10 @@ list (<pxref label="Subsetting-Files"><xrefnodename>Subsetting Files</xrefnodena
Since no extraction list is explicitly specified (with <samp>-v</samp>),
the default is to extract all variables.
The complement of all variables is no variables.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1432"><code>-A</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1433"><code>--apn</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1434"><code>--append</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1435">appending to files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1446"><code>-A</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1447"><code>--apn</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1448"><code>--append</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1449">appending to files</indexterm></cindex>
Without any variables to extract, the append (<samp>-A</samp>) command
(<pxref label="Appending-Variables"><xrefnodename>Appending Variables</xrefnodename></pxref>) has only to extract and copy
(i.e., append) global attributes to the output file.
@@ -15185,9 +15291,12 @@ ncks -A -C -H -v one,three_dmn_rec_var ~/in2.nc ~/out.nc
<para>Variables in <file>out.nc</file> now contain data (not metadata) from
<file>in.nc</file> and metadata (not data) from <file>in2.nc</file>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1436"><code>printf()</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1437"><code>\n</code> (linefeed)</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1438"><code>\t</code> (horizontal tab)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1450"><code>-s</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1451"><code>--string</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1452"><code>--sng_fmt</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1453"><code>printf()</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1454"><code>\n</code> (linefeed)</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1455"><code>\t</code> (horizontal tab)</indexterm></cindex>
<para>Print variable <code>three_dmn_var</code> from file <file>in.nc</file> with
default notations.
Next print <code>three_dmn_var</code> as an un-annotated text column.
@@ -15220,6 +15329,7 @@ files like reports or papers.
<xref label="ncatted-netCDF-Attribute-Editor"><xrefnodename>ncatted netCDF Attribute Editor</xrefnodename></xref>, for more details on string
formatting and special characters.
</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1456"><code>--no_blank</code></indexterm></cindex>
<para>As of <acronym><acronymword>NCO</acronymword></acronym> version 4.2.2 (October, 2012), <acronym><acronymword>NCO</acronymword></acronym> prints
missing values as blanks (i.e., the underscore character <samp>_</samp>) by
default:
@@ -15232,6 +15342,33 @@ lon[3]=270 mss_val[3]=_
% ncks -s '%+5.1f, ' -H -C -v mss_val in.nc
+73.0, _, +73.0, _,
</pre></example>
+<para>To print the numeric value of the missing value instead of a blank,
+use the <samp>--no_blank</samp> option.
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1457"><code>-Q</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1458"><code>--quiet</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1459"><code>-V</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1460"><code>--var_val</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1461"><code>--no_dmn_var_nm</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1462"><code>--no_nm_prn</code></indexterm></cindex>
+<para><command>ncks</command> prints in a verbose fashion by default and supplies a
+number of switches to pare-down (or even spruce-up) the output.
+The interplay of the <samp>-Q</samp>, <samp>-V</samp>, and (otherwise undocumented)
+<samp>--no_nm_prn</samp> switches yields most desired verbosities:
+</para><example endspaces=" ">
+<verbatim xml:space="preserve">
+% ncks -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+time[0]=1 lat[0]=-90 lon[0]=0 three_dmn_rec_var[0]=1
+% ncks -Q -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+three_dmn_rec_var[0]=1
+% ncks -V -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks -Q --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1
+% ncks --no_nm_prn -v three_dmn_rec_var -C -H ~/nco/data/in.nc
+1 -90 0 1
+</verbatim>
+</example>
<para>One dimensional arrays of characters stored as netCDF variables are
automatically printed as strings, whether or not they are
@@ -15246,13 +15383,13 @@ multidimensional arrays of characters representing fixed length strings
<pre xml:space="preserve">ncks -s '%c' -v fl_nm_arr in.nc
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1439"><code>core dump</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1463"><code>core dump</code></indexterm></cindex>
<para>Using the <code>%s</code> format code on strings which are not NUL-terminated
(and thus not technically strings) is likely to result in a core dump.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1440">subsetting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1441">exclusion</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1442">extraction</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1464">subsetting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1465">exclusion</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1466">extraction</indexterm></cindex>
<para>Create netCDF <file>out.nc</file> containing all variables, and any associated
coordinates, except variable <code>time</code>, from netCDF <file>in.nc</file>:
</para><example endspaces=" ">
@@ -15311,7 +15448,7 @@ decimal point <xref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></
-d lev,1000.0 in.nc out.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1443">wrapped coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1467">wrapped coordinates</indexterm></cindex>
<para>Assume the domain of the monotonically increasing longitude coordinate
<code>lon</code> is <math>0 < <var>lon</var> < 360</math>.
Here, <code>lon</code> is an example of a wrapped coordinate.
@@ -15336,13 +15473,13 @@ the easternmost longitude as <var>max</var>, as follows:
<findex index="fn" spaces=" "><indexterm index="fn" number="35" mergedindex="cp">ncpdq</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="36" mergedindex="cp">ncpack</indexterm></findex>
<findex index="fn" spaces=" "><indexterm index="fn" number="37" mergedindex="cp">ncunpack</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1444">reshape variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1445">permute dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1446">reverse dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1447">re-order dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1448">re-dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1449">packing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1450">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1468">reshape variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1469">permute dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1470">reverse dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1471">re-order dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1472">re-dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1473">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1474">unpacking</indexterm></cindex>
<noindent></noindent>
<para>SYNTAX
@@ -15367,10 +15504,10 @@ fashion with a minimum of time and memory.
The <dfn>pdq</dfn> may stand for &textldquo;Permute Dimensions Quickly&textrdquo;,
&textldquo;Pack Data Quietly&textrdquo;, &textldquo;Pillory Dan Quayle&textrdquo;, or other silly uses.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1451"><code>add_offset</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1452"><code>scale_factor</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1453"><command>ncap2</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1454">packing policy</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1475"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1476"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1477"><command>ncap2</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1478">packing policy</indexterm></cindex>
<unnumberedsubsec spaces=" "><sectiontitle>Packing and Unpacking Functions</sectiontitle>
<para>The <command>ncpdq</command> packing (and unpacking) algorithms are described
in <ref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefnodename></ref>, and are also implemented in
@@ -15378,10 +15515,10 @@ in <ref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefn
<command>ncpdq</command> extends the functionality of these algorithms by
providing high level control of the <dfn>packing policy</dfn> so that
users can consistently pack (and unpack) entire files with one command.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1455"><var>pck_plc</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1456"><code>-P <var>pck_plc</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1457"><code>--pck_plc <var>pck_plc</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1458"><code>--pack_policy <var>pck_plc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1479"><var>pck_plc</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1480"><code>-P <var>pck_plc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1481"><code>--pck_plc <var>pck_plc</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1482"><code>--pack_policy <var>pck_plc</var></code></indexterm></cindex>
The user specifies the desired packing policy with the <samp>-P</samp> switch
(or its long option equivalents, <samp>--pck_plc</samp> and
<samp>--pack_policy</samp>) and its <var>pck_plc</var> argument.
@@ -15446,9 +15583,9 @@ unlike <command>ncpdq</command>.
Similarly, <command>ncunpack</command> is a synonym for <command>ncpdq</command>
except that <command>ncpack</command> implicitly assumes a request to unpack,
i.e., <samp>-P pck_upk</samp>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1459"><code>-U</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1460"><code>--upk</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1461"><code>--unpack</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1483"><code>-U</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1484"><code>--upk</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1485"><code>--unpack</code></indexterm></cindex>
Finally, the <command>ncpdq</command> <samp>-U</samp> switch (or its long option
equivalents, <samp>--upk</samp> and <samp>--unpack</samp>) requires no argument.
It simply requests unpacking.
@@ -15463,20 +15600,20 @@ The following commands are equivalent for unpacking:
and <code>ncunpack</code>.
Equivalent commands for other packing policies, e.g., <samp>all_xst</samp>,
follow by analogy.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1462"><command>alias</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1463"><command>ln -s</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1464">symbolic links</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1486"><command>alias</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1487"><command>ln -s</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1488">symbolic links</indexterm></cindex>
Note that <command>ncpdq</command> synonyms are subject to the same constraints
and recommendations discussed in the secion on <command>ncbo</command> synonyms
(<pxref label="ncbo-netCDF-Binary-Operator"><xrefnodename>ncbo netCDF Binary Operator</xrefnodename></pxref>).
That is, symbolic links must exist from the synonym to <command>ncpdq</command>,
or else the user must define an <command>alias</command>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1465">packing map</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1466"><var>pck_map</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1467"><code>-M <var>pck_map</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1468"><code>--pck_map <var>pck_map</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1469"><code>--map <var>pck_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1489">packing map</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1490"><var>pck_map</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1491"><code>-M <var>pck_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1492"><code>--pck_map <var>pck_map</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1493"><code>--map <var>pck_map</var></code></indexterm></cindex>
<para>The <command>ncpdq</command> packing algorithms must know to which type
particular types of input variables are to be packed.
The correspondence between the input variable type and the output,
@@ -15485,22 +15622,22 @@ The user specifies the desired packing map with the <samp>-M</samp> switch
(or its long option equivalents, <samp>--pck_map</samp> and
<samp>--map</samp>) and its <var>pck_map</var> argument.
Five packing maps are currently implemented:&linebreak;
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1470"><samp>hgh_sht</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1471"><samp>hgh_byt</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1472"><samp>flt_sht</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1473"><samp>flt_byt</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1474"><samp>nxt_lsr</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1475"><code>NC_DOUBLE</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1476"><code>NC_FLOAT</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1477"><code>NC_INT64</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1478"><code>NC_UINT64</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1479"><code>NC_INT</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1480"><code>NC_UINT</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1481"><code>NC_SHORT</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1482"><code>NC_USHORT</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1483"><code>NC_CHAR</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1484"><code>NC_BYTE</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1485"><code>NC_UBYTE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1494"><samp>hgh_sht</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1495"><samp>hgh_byt</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1496"><samp>flt_sht</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1497"><samp>flt_byt</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1498"><samp>nxt_lsr</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1499"><code>NC_DOUBLE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1500"><code>NC_FLOAT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1501"><code>NC_INT64</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1502"><code>NC_UINT64</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1503"><code>NC_INT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1504"><code>NC_UINT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1505"><code>NC_SHORT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1506"><code>NC_USHORT</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1507"><code>NC_CHAR</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1508"><code>NC_BYTE</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1509"><code>NC_UBYTE</code></indexterm></cindex>
</para><table commandarg="dfn" spaces=" " endspaces=" ">
<tableentry><tableterm><item spaces=" "><itemformat command="dfn">Pack Floating Precisions to <code>NC_SHORT</code> [<emph>default</emph>]</itemformat></item>
</tableterm><tableitem><para>Definition: Pack floating precision types to <code>NC_SHORT</code>&linebreak;
@@ -15539,9 +15676,9 @@ file size by <w>about 50%.</w>
<samp>flt_byt</samp> packing reduces an <code>NC_DOUBLE</code>-dominated file by
<w>about 87%.</w>
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1486"><var>_FillValue</var></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1487"><code>_FillValue</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1488"><code>NUL</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1510"><var>_FillValue</var></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1511"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1512"><code>NUL</code></indexterm></cindex>
<para>The netCDF packing algorithm (<pxref label="Methods-and-functions"><xrefnodename>Methods and functions</xrefnodename></pxref>) is
lossy&textmdash;once packed, the exact original data cannot be recovered without
a full backup.
@@ -15579,16 +15716,16 @@ dimension list, e.g., <samp>-a -lat</samp>.
Re-ordering and reversal may be performed simultaneously, e.g.,
<samp>-a lon,-lat,time,-lev</samp>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1489">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1513">record dimension</indexterm></cindex>
<para>Users may specify any permutation of dimensions, including
permutations which change the record dimension identity.
The record dimension is re-ordered like any other dimension.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1490">concatenation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1491">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1514">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1515">record dimension</indexterm></cindex>
This unique <command>ncpdq</command> capability makes it possible to concatenate
files along any dimension.
See <ref label="Concatenation"><xrefnodename>Concatenation</xrefnodename></ref> for a detailed example.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1492">record variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1516">record variable</indexterm></cindex>
The record dimension is always the most slowly varying dimension in a
record variable (<pxref label="C-and-Fortran-Index-Conventions"><xrefnodename>C and Fortran Index Conventions</xrefnodename></pxref>).
The specified re-ordering fails if it requires creating more than
@@ -15603,7 +15740,7 @@ variable.
To do this, include all the variable&textrsquo;s dimensions in the dimension
re-order list in their original order, and prefix each dimension name
with the negative sign.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1493">transpose</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1517">transpose</indexterm></cindex>
Second, it may useful to transpose a variable&textrsquo;s storage order, e.g.,
<w>from C</w> to Fortran data storage order
(<pxref label="C-and-Fortran-Index-Conventions"><xrefnodename>C and Fortran Index Conventions</xrefnodename></pxref>).
@@ -15617,7 +15754,7 @@ I will upload updates to documentation linked to by the NCO homepage.
ncpdq is a powerful operator, and
I am unfamiliar with the terminology needed to describe what ncpdq does.
Sequences, sets, sheesh!
-I just know that it does "The right thing" according to my gut feelings.
+I just know that it does &textldquo;The right thing&textrdquo; according to my gut feelings.
Now do you feel more comfortable using it?
Let $\dmnvct(\xxx)$ represent the dimensionality of the variable $\xxx$.
@@ -15724,9 +15861,9 @@ and the packing policy <var>pck_plc</var> as <samp>all_xst</samp>:
</para><example endspaces=" ">
<pre xml:space="preserve">ncpdq -P all_xst -M hgh_byt in.nc out.nc
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1494">appending variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1495"><samp>-A</samp></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1496"><samp>-v</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1518">appending variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1519"><samp>-A</samp></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1520"><samp>-v</samp></indexterm></cindex>
<para>Many different packing maps may be used to construct a given file
by performing the packing on subsets of variables (e.g., with <samp>-v</samp>)
and using the append feature with <samp>-A</samp> (<pxref label="Appending-Variables"><xrefnodename>Appending Variables</xrefnodename></pxref>).
@@ -15734,8 +15871,8 @@ and using the append feature with <samp>-A</samp> (<pxref label="Appending-Varia
<para>Users may wish to unpack data packed with the <acronym><acronymword>HDF</acronymword></acronym> convention,
and then re-pack it with the netCDF convention so that all their
datasets use the same packing convention prior to intercomparison.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1497"><command>ncl_convert2nc</command></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1498"><acronym><acronymword>NCL</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1521"><command>ncl_convert2nc</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1522"><acronym><acronymword>NCL</acronymword></acronym></indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve"># One-step procedure: For NCO 4.4.0+, netCDF 4.3.1+
# 1. Convert, unpack, and repack HDF file into netCDF file
@@ -15793,7 +15930,7 @@ ncpdq -v three_dmn_var -a lon,lat in.nc out.nc
The second command extracts and re-orders only the variable
<code>three_dmn_var</code>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1499">reverse dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1523">reverse dimensions</indexterm></cindex>
<para>Suppose the dimension <code>lat</code> represents latitude and monotonically
increases increases from south to north.
Reversing the <code>lat</code> dimension means re-ordering the data so that
@@ -15811,8 +15948,8 @@ lat[1]=-90
<para>This operation reversed the latitude dimension of all variables.
Whitespace immediately preceding the negative sign that specifies
dimension reversal may be dangerous.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1500">long options</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1501">quotes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1524">long options</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1525">quotes</indexterm></cindex>
Quotes and long options can help protect negative signs that should
indicate dimension reversal from being interpreted by the shell as
dashes that indicate new command line switches.
@@ -15823,7 +15960,7 @@ ncpdq -a lon,-lat in.nc out.nc # OK. No whitespace before "-"
ncpdq --rdr=-lat in.nc out.nc # Preferred. Uses "=" not whitespace
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1502">reverse dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1526">reverse dimensions</indexterm></cindex>
<para>To create the mathematical transpose of a variable, place all its
dimensions in the dimension re-order list in reversed order.
This example creates the transpose of <code>three_dmn_var</code>:
@@ -15847,7 +15984,7 @@ lon[3]=270 lev[2]=1000 lat[0]=-90 three_dmn_var[22]=11
lon[3]=270 lev[2]=1000 lat[1]=90 three_dmn_var[23]=23
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1503">reverse data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1527">reverse data</indexterm></cindex>
<para>To completely reverse the storage order of a variable, include
all its dimensions in the re-order list, each prefixed by a negative
sign.
@@ -15882,7 +16019,7 @@ has no existing record dimension is simple with <command>ncecat</command>:
<pre xml:space="preserve">ncecat -O -u time in.nc out.nc # Create degenerate record dimension named "time"
</pre></example>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1504">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1528">record dimension</indexterm></cindex>
<para>Now consider a file with all dimensions, including <code>time</code>, fixed
(non-record).
Suppose the user wishes to convert <code>time</code> from a fixed dimension to
@@ -15901,7 +16038,7 @@ a record dimension required three separate commands,
The recommended method is now to use <samp>ncks --fix_rec_dmn</samp>, yet it
is still instructive to present the original procedure, as it shows how
multiple operators can achieve the same ends by different means:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1505">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1529">degenerate dimension</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncecat -O in.nc out.nc # Add degenerate record dimension named "record"
ncpdq -O -a time,record out.nc out.nc # Switch "record" and "time"
@@ -15931,10 +16068,10 @@ changing variable dimensionality, including the record dimension.
</section>
<node name="ncra-netCDF-Record-Averager" spaces=" "><nodename>ncra netCDF Record Averager</nodename><nodenext spaces=" ">ncrcat netCDF Record Concatenator</nodenext><nodeprev spaces=" ">ncpdq netCDF Permute Dimensions Quickly</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncra</command> netCDF Record Averager</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1506">averaging data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1507">record average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1508">record dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1509">running average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1530">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1531">record average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1532">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1533">running average</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="38" mergedindex="cp">ncra</indexterm></findex>
<noindent></noindent>
@@ -15955,15 +16092,15 @@ changing variable dimensionality, including the record dimension.
</para>
<para><command>ncra</command> averages record variables across an arbitrary number of
<var>input-files</var>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1510">degenerate dimension</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1511">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1534">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1535">record dimension</indexterm></cindex>
The record dimension is, by default, retained as a degenerate
<w>(size 1)</w> dimension in the output variables.
<xref label="Statistics-vs_002e-Concatenation"><xrefnodename>Statistics vs. Concatenation</xrefnodename></xref>, for a description of the
distinctions between the various statistics tools and concatenators.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1512">multi-file operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1513">standard input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1514"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1536">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1537">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1538"><code>stdin</code></indexterm></cindex>
As a multi-file operator, <command>ncra</command> will read the list of
<var>input-files</var> from <code>stdin</code> if they are not specified
as positional arguments on the command line
@@ -15972,10 +16109,10 @@ as positional arguments on the command line
<para>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).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1515">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1539">hyperslab</indexterm></cindex>
Hyperslabs of the record dimension which include more than one file
work correctly.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1516">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1540">stride</indexterm></cindex>
<command>ncra</command> supports the <var>stride</var> argument to the <samp>-d</samp>
hyperslab option (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>) for the record dimension only,
<var>stride</var> is not supported for non-record dimensions.
@@ -15985,7 +16122,7 @@ hyperslab option (<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodena
<command>ncra</command> does not attempt to see if, say, the <code>time</code>
coordinate is irregularly spaced and thus would require a weighted
average in order to be a true time average.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1517">operation types</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1541">operation types</indexterm></cindex>
<command>ncra</command> <emph>always averages</emph> coordinate variables regardless of
the arithmetic operation type performed on the non-coordinate variables.
(<pxref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></pxref>).
@@ -15998,10 +16135,10 @@ the arithmetic operation type performed on the non-coordinate variables.
</para>
<para>Average files <file>85.nc</file>, <file>86.nc</file>, <w>&dots; <file>89.nc</file></w>
along the record dimension, and store the results in <file>8589.nc</file>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1518">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1519"><code>NINTAP</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1520">Processor</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1521"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1542">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1543"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1544">Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1545"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncra 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
ncra 8[56789].nc 8589.nc
@@ -16011,7 +16148,7 @@ ncra -n 5,2,1 85.nc 8589.nc
<xref label="Specifying-Input-Files"><xrefnodename>Specifying Input Files</xrefnodename></xref>, for an explanation of the distinctions
between these methods.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1522">Fortran</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1546">Fortran</indexterm></cindex>
<para>Assume the files <file>85.nc</file>, <file>86.nc</file>, <w>&dots; <file>89.nc</file></w>
each contain a record coordinate <var>time</var> of length 12 defined such
that the third record in <file>86.nc</file> contains data from March 1986,
@@ -16025,7 +16162,7 @@ ncra -F -d time,12,14 85.nc 86.nc 87.nc 8512_8602.nc
<noindent></noindent>
<para>The file <file>87.nc</file> is superfluous, but does not cause an error.
The <samp>-F</samp> turns on the Fortran (1-based) indexing convention.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1523">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1547">stride</indexterm></cindex>
The following uses the <var>stride</var> option to average all the March
temperature data from multiple input files into a single output file
</para><example endspaces=" ">
@@ -16048,8 +16185,8 @@ averages June, 1985&textndash;June, 1989:
</section>
<node name="ncrcat-netCDF-Record-Concatenator" spaces=" "><nodename>ncrcat netCDF Record Concatenator</nodename><nodenext spaces=" ">ncrename netCDF Renamer</nodenext><nodeprev spaces=" ">ncra netCDF Record Averager</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncrcat</command> netCDF Record Concatenator</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1524">concatenation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1525">record concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1548">concatenation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1549">record concatenation</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="39" mergedindex="cp">ncrcat</indexterm></findex>
<noindent></noindent>
@@ -16070,14 +16207,14 @@ averages June, 1985&textndash;June, 1989:
</para>
<para><command>ncrcat</command> concatenates record variables across an arbitrary
number of <var>input-files</var>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1526">record dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1550">record dimension</indexterm></cindex>
The final record dimension is by default the sum of the lengths of the
record dimensions in the input files.
<xref label="Statistics-vs_002e-Concatenation"><xrefnodename>Statistics vs. Concatenation</xrefnodename></xref>, for a description of the
distinctions between the various statistics tools and concatenators.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1527">multi-file operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1528">standard input</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1529"><code>stdin</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1551">multi-file operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1552">standard input</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1553"><code>stdin</code></indexterm></cindex>
As a multi-file operator, <command>ncrcat</command> will read the list of
<var>input-files</var> from <code>stdin</code> if they are not specified
as positional arguments on the command line
@@ -16086,19 +16223,19 @@ as positional arguments on the command line
<para>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).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1530">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1554">hyperslab</indexterm></cindex>
Hyperslabs along the record dimension that span more than one file are
handled correctly.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1531">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1555">stride</indexterm></cindex>
<command>ncra</command> supports the <var>stride</var> argument to the <samp>-d</samp>
hyperslab option for the record dimension only, <var>stride</var> is not
supported for non-record dimensions.
</para>
<findex index="fn" spaces=" "><indexterm index="fn" number="40" mergedindex="cp">ncpdq</indexterm></findex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1532">packing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1533">unpacking</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1534"><code>add_offset</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1535"><code>scale_factor</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1556">packing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1557">unpacking</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1558"><code>add_offset</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1559"><code>scale_factor</code></indexterm></cindex>
<para>Concatenating a variable packed with different scales multiple datasets
is beyond the capabilities of <command>ncrcat</command> (and <command>ncecat</command>,
the other concatenator (<ref label="Concatenation"><xrefnodename>Concatenation</xrefnodename></ref>).
@@ -16115,7 +16252,7 @@ First, unpack the data using <command>ncpdq</command>.
Second, concatenate the unpacked data using <command>ncrcat</command>,
Third, re-pack the result with <command>ncpdq</command>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1536">ARM conventions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1560">ARM conventions</indexterm></cindex>
<para><command>ncrcat</command> applies special rules to <acronym><acronymword>ARM</acronymword></acronym> convention time
fields (e.g., <code>time_offset</code>).
See <ref label="ARM-Conventions"><xrefnodename>ARM Conventions</xrefnodename></ref> for a complete description.
@@ -16128,10 +16265,10 @@ See <ref label="ARM-Conventions"><xrefnodename>ARM Conventions</xrefnodename></r
</para>
<para>Concatenate files <file>85.nc</file>, <file>86.nc</file>, <w>&dots; <file>89.nc</file></w>
along the record dimension, and store the results in <file>8589.nc</file>:
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1537">globbing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1538"><code>NINTAP</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1539">Processor</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1540"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1561">globbing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1562"><code>NINTAP</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1563">Processor</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1564"><acronym><acronymword>CCM</acronymword></acronym> Processor</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncrcat 85.nc 86.nc 87.nc 88.nc 89.nc 8589.nc
ncrcat 8[56789].nc 8589.nc
@@ -16142,7 +16279,7 @@ ncrcat -n 5,2,1 85.nc 8589.nc
<xref label="Specifying-Input-Files"><xrefnodename>Specifying Input Files</xrefnodename></xref>, for an explanation of the distinctions
between these methods.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1541">Fortran</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1565">Fortran</indexterm></cindex>
<para>Assume the files <file>85.nc</file>, <file>86.nc</file>, <w>&dots; <file>89.nc</file></w>
each contain a record coordinate <var>time</var> of <w>length 12</w> defined
such that the third record in <file>86.nc</file> contains data from March
@@ -16159,7 +16296,7 @@ When <command>ncra</command> and <command>ncrcat</command> encounter a file whic
contain any records that meet the specified hyperslab criteria, they
disregard the file and proceed to the next file without failing.
The <samp>-F</samp> turns on the Fortran (1-based) indexing convention.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1542">stride</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1566">stride</indexterm></cindex>
</para>
<para>The following uses the <var>stride</var> option to concatenate all the March
temperature data from multiple input files into a single output file
@@ -16183,14 +16320,14 @@ concatenates June, 1985&textndash;June, 1989:
</section>
<node name="ncrename-netCDF-Renamer" spaces=" "><nodename>ncrename netCDF Renamer</nodename><nodenext spaces=" ">ncwa netCDF Weighted Averager</nodenext><nodeprev spaces=" ">ncrcat netCDF Record Concatenator</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncrename</command> netCDF Renamer</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1543">renaming variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1544">renaming groups</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1545">renaming dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1546">renaming attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1547">variable names</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1548">dimension names</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1549">attribute names</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1550">group names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1567">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1568">renaming groups</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1569">renaming dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1570">renaming attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1571">variable names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1572">dimension names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1573">attribute names</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1574">group names</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="41" mergedindex="cp">ncrename</indexterm></findex>
<noindent></noindent>
@@ -16206,7 +16343,7 @@ concatenates June, 1985&textndash;June, 1989:
<noindent></noindent>
<para>DESCRIPTION
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1551"><kbd>.</kbd></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1575"><kbd>.</kbd></indexterm></cindex>
<para><command>ncrename</command> renames netCDF dimensions, variables, attributes, and
groups.
Each object that has a name in the list of old names is renamed using
@@ -16215,8 +16352,9 @@ All the new names must be unique.
Every old name must exist in the input file, unless the old name is
preceded by the period (or &textldquo;dot&textrdquo;) character <samp>.</samp>.
The validity of <var>old_name</var> is not checked prior to the renaming.
-Thus, if <var>old_name</var> is specified without the the <samp>.</samp> prefix and
-is not present in <var>input-file</var>, <command>ncrename</command> will abort.
+Thus, if <var>old_name</var> is specified without the <samp>.</samp> prefix that
+indicates the presence of <var>old_name</var> is optional, and <var>old_name</var>
+is not present in <var>input-file</var>, then <command>ncrename</command> will abort.
The <var>new_name</var> should never be prefixed by a <samp>.</samp> (or else the
period will be included as part of the new name).
The OPTIONS and EXAMPLES show how to select specific variables
@@ -16235,9 +16373,9 @@ The object name is the terminal path component of <var>new_name</var> and
this object must already exist in the group specified by the
<var>old_name</var> path.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1552">data safety</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1553">safeguards</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1554">temporary output files</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1576">data safety</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1577">safeguards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1578">temporary output files</indexterm></cindex>
<para><command>ncrename</command> is an exception to the normal <acronym><acronymword>NCO</acronymword></acronym> rule that
the user will be interactively prompted before an existing file is
changed, and that a temporary copy of an output file is constructed
@@ -16257,10 +16395,10 @@ In this case, the named dependent variable must be one-dimensional and
should have no missing values.
Such a variable will become a coordinate variable.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1555">performance</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1556">operator speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1557">speed</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1558">execution time</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1579">performance</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1580">operator speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1581">speed</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1582">execution time</indexterm></cindex>
<para>According to the <cite>netCDF User Guide</cite>, renaming properties in
netCDF files does not incur the penalty of recopying the entire file
when the <var>new_name</var> is shorter than the <var>old_name</var>.
@@ -16274,9 +16412,9 @@ when the <var>new_name</var> is shorter than the <var>old_name</var>.
The old and new names of the attribute are specified with <samp>-a</samp>
(or <samp>--attribute</samp>) by the associated <var>old_name</var> and
<var>new_name</var> values.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1559"><code>global</code> attribute</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1560">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1561">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1583"><code>global</code> attribute</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1584">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1585">attributes, global</indexterm></cindex>
Global attributes are treated no differently than variable attributes.
This option may be specified more than once.
As mentioned above, all occurrences of the attribute of a given name
@@ -16358,7 +16496,7 @@ ncrename -v /g1/lon,/g1/longitude in_grp.nc # Alternate
<html endspaces=" ">
<a name="ncrename_crd"></a> <!&textndash; http://nco.sf.net/nco.html#ncrename_crd &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1562">coordinate variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1586">coordinate variables</indexterm></cindex>
<para><command>ncrename</command> does not automatically attach dimensions to variables of
the same name.
This is done to make renaming an easy way to change whether a variable
@@ -16369,20 +16507,21 @@ the variable:
</para><example endspaces=" ">
<pre xml:space="preserve">ncrename -d lon,longitude -v lon,longitude in.nc
</pre></example>
-<para>Unfortunately, the netCDF4 library has a longstanding bug (all versions
-until 4.3.1-rc5 released in December, 2013) that causes <acronym><acronymword>NCO</acronymword></acronym> to
+<para>Unfortunately, the netCDF4 library had a longstanding bug (all versions
+until 4.3.1-rc5 released in December, 2013) that caused <acronym><acronymword>NCO</acronymword></acronym> to
crash when performing this operation.
Simultaneously renaming variables and dimensions in netCDF4 files with
-earlier versions of netCDF is impossible; it must instead be done in two
+earlier versions of netCDF is impossible; it must instead be done in two
separate <command>ncrename</command> invocations (e.g., first rename the
-variable, then the dimension) to avoid triggering the libary bug.
+variable, then rename the dimension) to avoid triggering the libary
+bug.
</para>
<para>A related bug causes unintended side-effects with <command>ncrename</command>
also built with all versions of the netCDF4 library until 4.3.1-rc5
released in December, 2013):
-Renaming <emph>either</emph> a dimension <emph>or</emph> its assosiated
-coordinate variable (not both, which would fail as above) in a netCDF4
-file inadvertently <emph>does</emph> rename both:
+This bug caused renaming <emph>either</emph> a dimension <emph>or</emph> its
+assosiated coordinate variable (not both, which would fail as above) in
+a netCDF4 file to inadvertently rename both:
</para><example endspaces=" ">
<pre xml:space="preserve"># Demonstate bug in netCDF4/HDF5 library prior to netCDF-4.3.1-rc5
ncks -O -h -m -M -4 -v lat_T42 ~/nco/data/in.nc ~/foo.nc
@@ -16393,10 +16532,10 @@ ncrename -O -d lat_T42,lat ~/foo.nc ~/foo2.nc # Also renames variable
version 4.3.1-rc5 or later, or convert the file to netCDF3 first,
then rename as intended, then convert back.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1563">global attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1564">attributes, global</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1565"><code>_FillValue</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1566"><code>missing_value</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1587">global attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1588">attributes, global</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1589"><code>_FillValue</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1590"><code>missing_value</code></indexterm></cindex>
<para>Create netCDF <file>out.nc</file> identical to <file>in.nc</file> except the
attribute <code>_FillValue</code> is changed to <code>missing_value</code>,
the attribute <code>units</code> is changed to <code>CGS_units</code> (but only in
@@ -16453,10 +16592,10 @@ Variables not prefixed with a period (<code>global</code>) must be present.
</section>
<node name="ncwa-netCDF-Weighted-Averager" spaces=" "><nodename>ncwa netCDF Weighted Averager</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">ncrename netCDF Renamer</nodeprev><nodeup spaces=" ">Operator Reference Manual</nodeup></node>
<section spaces=" "><sectiontitle><command>ncwa</command> netCDF Weighted Averager</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1567">averaging data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1568">weighted average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1569">masked average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1570">broadcasting variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1591">averaging data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1592">weighted average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1593">masked average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1594">broadcasting variables</indexterm></cindex>
<findex index="fn" spaces=" "><indexterm index="fn" number="42" mergedindex="cp">ncwa</indexterm></findex>
<noindent></noindent>
@@ -16484,7 +16623,7 @@ The default behavior of <command>ncwa</command> is to arithmetically average
every numerical variable over all dimensions and to produce a scalar
result for each.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1571">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1595">degenerate dimension</indexterm></cindex>
<para>Averaged dimensions are, by default, eliminated as dimensions.
Their corresponding coordinates, if any, are output as scalar
variables.
@@ -16498,9 +16637,9 @@ concatenation along the degenerate dimension.
<para>To average variables over only a subset of their dimensions, specify
these dimensions in a comma-separated list following <samp>-a</samp>, e.g.,
<samp>-a time,lat,lon</samp>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1572">arithmetic operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1573">hyperslab</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1574"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>]]</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1596">arithmetic operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1597">hyperslab</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1598"><code>-d <var>dim</var>,[<var>min</var>][,[<var>max</var>]]</code></indexterm></cindex>
As with all arithmetic operators, the operation may be restricted to
an arbitrary hypserslab by employing the <samp>-d</samp> option
(<pxref label="Hyperslabs"><xrefnodename>Hyperslabs</xrefnodename></pxref>).
@@ -16515,20 +16654,20 @@ With these options, <command>ncwa</command> can compute sophisticated averages
<a name="-w"></a> <!&textndash; http://nco.sf.net/nco.html#-w &textndash;>
<a name="wgt"></a> <!&textndash; http://nco.sf.net/nco.html#wgt &textndash;>
</html>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1575"><code>-w <var>weight</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1576"><code>--weight <var>weight</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1577"><code>--wgt_var <var>weight</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1578"><code>-m <var>mask_var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1579"><code>--mask-variable <var>mask_var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1580"><code>--mask_variable <var>mask_var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1581"><code>--msk_nm <var>mask_var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1582"><code>--msk_var <var>mask_var</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1583"><code>-B <var>mask_cond</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1584"><code>--msk_cnd <var>mask_cond</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1585"><code>--mask_condition <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1599"><code>-w <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1600"><code>--weight <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1601"><code>--wgt_var <var>weight</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1602"><code>-m <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1603"><code>--mask-variable <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1604"><code>--mask_variable <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1605"><code>--msk_nm <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1606"><code>--msk_var <var>mask_var</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1607"><code>-B <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1608"><code>--msk_cnd <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1609"><code>--mask_condition <var>mask_cond</var></code></indexterm></cindex>
<para><var>mask_var</var> and <var>weight</var>, if specified, are broadcast to conform
to the variables being averaged.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1586">rank</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1610">rank</indexterm></cindex>
The rank of variables is reduced by the number of dimensions which they
are averaged over.
Thus arrays which are one dimensional in the <var>input-file</var> and are
@@ -16563,8 +16702,8 @@ Since, by default <command>ncwa</command> weights coordinate variables, the
value of <code>latitude</code> in the <var>output-file</var> depends on the weights
in <var>lat_wgt</var> and is not likely to <w>be 45.0</w>, the midpoint latitude
of the hyperslab.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1587">coordinate variable</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1588"><code>-I</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1611">coordinate variable</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1612"><code>-I</code></indexterm></cindex>
Option <samp>-I</samp> overrides this default behavior and causes
<command>ncwa</command> not to weight or mask coordinate variables
<footnote><para>The default behavior of (<samp>-I</samp>) changed on
@@ -16582,8 +16721,8 @@ area-weighted mean latitude.
centroid of the hyperslab.
For the example given, this is about <w>30 degrees.</w></para></footnote>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1589">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1590">operation types</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1613">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1614">operation types</indexterm></cindex>
<para>As explained in <xref label="Operation-Types"><xrefnodename>Operation Types</xrefnodename></xref>, <command>ncwa</command>
<emph>always averages</emph> coordinate variables regardless of the arithmetic
operation type performed on the non-coordinate variables.
@@ -16603,8 +16742,8 @@ is given above (<pxref label="Operation-Types"><xrefnodename>Operation Types</xr
</html>
<node name="Mask-condition" spaces=" "><nodename>Mask condition</nodename><nodenext spaces=" ">Normalization and Integration</nodenext><nodeprev spaces=" ">ncwa netCDF Weighted Averager</nodeprev><nodeup spaces=" ">ncwa netCDF Weighted Averager</nodeup></node>
<subsection spaces=" "><sectiontitle>Mask condition</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1591">mask condition</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1592">truth condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1615">mask condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1616">truth condition</indexterm></cindex>
<tex endspaces=" ">
Each $\xxx_{\idx}$ also has an associated masking
weight~$\mskflg_{\idx}$ whose value is~0 or~1 (false or true).
@@ -16619,12 +16758,12 @@ As expected, $\mskflg_{\idx} = 1$ when the mask condition is
<dfn>true</dfn> and $\mskflg_{\idx} = 0$ otherwise.
</tex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1593"><code>--op_rlt <var>mask_comp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1594"><code>--mask_comparator <var>mask_comp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1595"><code>--msk_cmp_typ <var>mask_comp</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1596"><code>--msk_cnd_sng <var>mask_cond</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1597"><code>--mask_condition <var>mask_cond</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1598"><code>-B <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1617"><code>--op_rlt <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1618"><code>--mask_comparator <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1619"><code>--msk_cmp_typ <var>mask_comp</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1620"><code>--msk_cnd_sng <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1621"><code>--mask_condition <var>mask_cond</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1622"><code>-B <var>mask_cond</var></code></indexterm></cindex>
<para>The mask condition has the syntax <math><var>mask_var</var></math>
<math><var>mask_comp</var></math> <math><var>mask_val</var></math>.
The preferred method to specify the mask condition is in one string with
@@ -16639,7 +16778,7 @@ It is safest to write scripts using <samp>--mask_condition</samp>.</para></footn
The <var>mask_condition</var> string is automatically parsed into its three
constituents <var>mask_var</var>, <var>mask_comp</var>, and <var>mask_val</var>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1599">comparator</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1623">comparator</indexterm></cindex>
<para>Here <var>mask_var</var> is the name of the masking variable (specified with
<samp>-m</samp>, <samp>--mask-variable</samp>, <samp>--mask_variable</samp>,
<samp>--msk_nm</samp>, or <samp>--msk_var</samp>).
@@ -16658,9 +16797,9 @@ comparisons <math>==</math>, <math>!=</math>, <math>></math>, <math><</mat
<math><=</math>.
<clear name="flg" line=" flg"></clear>
The mask comparator defaults to <kbd>eq</kbd> (equality).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1600"><code>--mask-value <var>mask_val</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1601"><code>--mask_value <var>mask_val</var></code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1602"><code>--msk_val <var>mask_val</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1624"><code>--mask-value <var>mask_val</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1625"><code>--mask_value <var>mask_val</var></code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1626"><code>--msk_val <var>mask_val</var></code></indexterm></cindex>
The <var>mask_val</var> argument to <samp>-M</samp> (or <samp>--mask-value</samp>, or
<samp>--msk_val</samp>) is the right hand side of the
<dfn>mask condition</dfn>.
@@ -16713,11 +16852,11 @@ weight $\wgt_{\idx}=0.0$ as well).
</subsection>
<node name="Normalization-and-Integration" spaces=" "><nodename>Normalization and Integration</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Mask condition</nodeprev><nodeup spaces=" ">ncwa netCDF Weighted Averager</nodeup></node>
<subsection spaces=" "><sectiontitle>Normalization and Integration</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1603">normalization</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1604"><code>-N</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1605"><code>numerator</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1606">integration</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1607">dot product</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1627">normalization</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1628"><code>-N</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1629"><code>numerator</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1630">integration</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1631">dot product</indexterm></cindex>
<para><command>ncwa</command> has one switch which controls the normalization of the
averages appearing in the <var>output-file</var>.
Short option <samp>-N</samp> (or long options <samp>--nmr</samp> or
@@ -16742,7 +16881,7 @@ integrals (i.e., weighted sums) to be output.
For example, consider the variable
<code>lev</code> where <math><var>lev</var> = [100,500,1000]</math> weighted by
the weight <code>lev_wgt</code> where <math><var>lev_wgt</var> = [10,2,1]</math>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1608">dot product</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1632">dot product</indexterm></cindex>
The vertical integral of <code>lev</code>, weighted by <code>lev_wgt</code>,
is the dot product of <var>lev</var> and <var>lev_wgt</var>.
That this is <w>is 3000.0</w> can be seen by inspection and verified with
@@ -16823,7 +16962,7 @@ specified (with <samp>-a</samp>).
ncwa -a lon -b in.nc out2.nc
</pre></example>
<noindent></noindent>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1609">degenerate dimension</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1633">degenerate dimension</indexterm></cindex>
<para>The first command turns <code>lon</code> into a scalar and the second retains
<code>lon</code> as a degenerate dimension in all variables.
</para><example endspaces=" ">
@@ -16835,9 +16974,9 @@ lon[0] = 135
<para>In either case the tally is simply the size of <code>lon</code>, i.e., 180
for the <file>85_0112.nc</file> file described by the sample header above.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1610"><code>gw</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1611">Gaussian weights</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1612">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1634"><code>gw</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1635">Gaussian weights</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1636">climate model</indexterm></cindex>
<para>Compute the meridional (latitudinal) mean, with values weighted by
the corresponding element of <var>gw</var>
<footnote><para><code>gw</code> stands for <dfn>Gaussian weight</dfn> in many
@@ -16863,8 +17002,8 @@ $64 \times 128 = 8192$.
64 times 128 = 8192.
<clear name="flg" line=" flg"></clear>
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1613"><code>ORO</code></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1614">climate model</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1637"><code>ORO</code></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1638">climate model</indexterm></cindex>
<para>Compute the area-mean over the globe using only points for which
<set name="flg" line=" flg"></set>
<tex endspaces=" ">
@@ -16919,8 +17058,8 @@ the variable <var>area</var> contains the area of each gridcell
Thus the <samp>-N</samp> switch, or, equivalently, the <samp>-y ttl</samp> switch,
correctly integrate the cell areas into a total regional area.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1615">mask condition</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1616">truth condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1639">mask condition</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1640">truth condition</indexterm></cindex>
<para>Mask a file to contain <var>_FillValue</var> everywhere except where
<math><var>thr_min</var> <= <var>msk_var</var> <= <var>thr_max</var></math>:
</para><example endspaces=" ">
@@ -16950,17 +17089,17 @@ where <math><var>thr_min</var> <= <var>msk_var</var> <= <var>thr_max</var>
</chapter>
<node name="Contributing" spaces=" "><nodename>Contributing</nodename><nodenext spaces=" ">Quick Start</nodenext><nodeprev spaces=" ">Operator Reference Manual</nodeprev><nodeup spaces=" ">Top</nodeup></node>
<chapter spaces=" "><sectiontitle>Contributing</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1617">contributing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1641">contributing</indexterm></cindex>
<para>We welcome contributions from anyone.
The project homepage at <uref><urefurl>https://sf.net/projects/nco</urefurl></uref>
contains more information on how to contribute.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1618">PayPal</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1642">PayPal</indexterm></cindex>
<para>Financial contributions to <acronym><acronymword>NCO</acronymword></acronym> development may be made through
<uref><urefurl>https://www.paypal.com/xclick/business=zender%40uci.edu&item_name=NCO+development&item_number=nco_dnt_dvl&no_note=1&tax=0¤cy_code=USD</urefurl><urefdesc spaces=" ">PayPal</urefdesc></uref>.
<acronym><acronymword>NCO</acronymword></acronym> has been shared for over <w>10 years</w> yet only two
users have contributed any money to the developers
-<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="1619">chocolate</indexterm></cindex>
+<footnote spaces="\n"><cindex index="cp" spaces=" "><indexterm index="cp" number="1643">chocolate</indexterm></cindex>
<para>Happy users have sent me a few gifts, though.
This includes a box of imported chocolate.
Mmm.
@@ -16987,13 +17126,13 @@ So you could be the third!
<para><acronym><acronymword>NCO</acronymword></acronym> would not exist without the dedicated efforts of the
remarkable software engineers who conceive, develop, and
maintain netCDF, UDUnits, and OPeNDAP.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1620">Russ Rew</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1621">John Caron</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1622">Glenn Davis</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1623">Steve Emmerson</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1624">James Gallagher</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1625">Ed Hartnett</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1626">Dennis Heimbigner</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1644">Russ Rew</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1645">John Caron</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1646">Glenn Davis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1647">Steve Emmerson</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1648">James Gallagher</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1649">Ed Hartnett</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1650">Dennis Heimbigner</indexterm></cindex>
Since 1995 <acronym><acronymword>NCO</acronymword></acronym> has received support from, I believe, the
entire staff of all these projects, including
Russ Rew,
@@ -17008,19 +17147,19 @@ In addition to their roles in maintaining the software stack on which
or contributed to <acronym><acronymword>NCO</acronymword></acronym> specifically. That support is
acknowledged separately below.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1627">contributors</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1651">contributors</indexterm></cindex>
<para>The primary contributors to <acronym><acronymword>NCO</acronymword></acronym> development have been:
</para><table commandarg="asis" spaces=" " endspaces=" ">
-<beforefirstitem><cindex index="cp" spaces=" "><indexterm index="cp" number="1628">Charlie Zender</indexterm></cindex>
+<beforefirstitem><cindex index="cp" spaces=" "><indexterm index="cp" number="1652">Charlie Zender</indexterm></cindex>
</beforefirstitem><tableentry><tableterm><item spaces=" "><itemformat command="asis">Charlie Zender</itemformat></item>
</tableterm><tableitem><para>All concept, design and implementation from 1995&textndash;2000.
Since then autotools, bug-squashing, <acronym><acronymword>CDL</acronymword></acronym>, chunking,
documentation, anchoring, recursion, <acronym><acronymword>GPE</acronymword></acronym>, packing,
<acronym><acronymword>NCO</acronymword></acronym> library redesign, <command>ncap2</command> features,
-<command>ncbo</command>, <command>ncpdq</command>, SMP threading and MPI parallelization,
+<command>ncbo</command>, <command>ncpdq</command>, <acronym><acronymword>SMP</acronymword></acronym> threading and <acronym><acronymword>MPI</acronymword></acronym> parallelization,
netCDF4 integration, external funding, project management, science
research, releases.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1629">Henry Butowsky</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1653">Henry Butowsky</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Henry Butowsky</itemformat></item>
</tableterm><tableitem><para>Non-linear operations and <code>min()</code>, <code>max()</code>, <code>total()</code>
support in <command>ncra</command> and <command>ncwa</command>.
@@ -17031,115 +17170,115 @@ Multislabbing algorithm.
Variable wildcarding.
Numerous hacks.
<command>ncap2</command> language.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1630">Rorik Peterson</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1654">Rorik Peterson</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Rorik Peterson</itemformat></item>
</tableterm><tableitem><para>Original autotools build support.
Long command-line options.
Original UDUnits support.
Debianization.
Numerous bug-fixes.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1631">Joe Hamman</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1655">Joe Hamman</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Joe Hamman</itemformat></item>
</tableterm><tableitem><para>Python bindings (NCOpy).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1632">Daniel Wang</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1656">Daniel Wang</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Daniel Wang</itemformat></item>
</tableterm><tableitem><para>Script Workflow Analysis for MultiProcessing (<acronym><acronymword>SWAMP</acronymword></acronym>).
<acronym><acronymword>RPM</acronymword></acronym> support.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1633">Harry Mangalam</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1657">Harry Mangalam</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Harry Mangalam</itemformat></item>
</tableterm><tableitem><para>Benchmarking.
OPeNDAP configuration.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1634">Pedro Vicente</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1658">Pedro Vicente</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Pedro Vicente</itemformat></item>
</tableterm><tableitem><para>Windows Visual Studio support.
netCDF4 groups.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1635">Russ Rew</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1659">Russ Rew</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Russ Rew</itemformat></item>
</tableterm><tableitem><para>Advice on <acronym><acronymword>NCO</acronymword></acronym> structural algorithms
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1636">Brian Mays</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1660">Brian Mays</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Brian Mays</itemformat></item>
</tableterm><tableitem><para>Original packaging for Debian <acronym><acronymword>GNU</acronymword></acronym>/Linux, <command>nroff</command> man pages.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1637">George Shapovalov</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1661">George Shapovalov</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">George Shapovalov</itemformat></item>
</tableterm><tableitem><para>Packaging for Gentoo <acronym><acronymword>GNU</acronymword></acronym>/Linux.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1638">Bill Kocik</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1662">Bill Kocik</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Bill Kocik</itemformat></item>
</tableterm><tableitem><para>Memory management.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1639">Len Makin</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1663">Len Makin</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Len Makin</itemformat></item>
</tableterm><tableitem><para>NEC SX architecture support.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1640">Jim Edwards</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1664">Jim Edwards</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Jim Edwards</itemformat></item>
</tableterm><tableitem><para>AIX architecture support.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1641">Juliana Rew</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1665">Juliana Rew</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Juliana Rew</itemformat></item>
</tableterm><tableitem><para>Compatibility with large <acronym><acronymword>PID</acronymword></acronym>s.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1642">Karen Schuchardt</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1666">Karen Schuchardt</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Karen Schuchardt</itemformat></item>
</tableterm><tableitem><para>Auxiliary coordinate support.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1643">Gayathri Venkitachalam</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1667">Gayathri Venkitachalam</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Gayathri Venkitachalam</itemformat></item>
</tableterm><tableitem><para><acronym><acronymword>MPI</acronymword></acronym> implementation.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1644">Scott Capps</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1668">Scott Capps</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Scott Capps</itemformat></item>
</tableterm><tableitem><para>Large work-load testing
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1645">Peter Campbell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1646">Martin Dix</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1647">Mark Flanner</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1648">Markus Liebig</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1649">Keith Lindsay</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1650">Stu Muller</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1651">Mike Page</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1652">Martin Schmidt</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1653">Lori Sentman</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1654">Michael Schulz</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1655">Rich Signell</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1656">Gary Strand</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1657">Andrew Wittenberg</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1658">George White</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1659">Remik Ziemlinski</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1669">Peter Campbell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1670">Martin Dix</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1671">Mark Flanner</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1672">Markus Liebig</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1673">Keith Lindsay</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1674">Stu Muller</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1675">Mike Page</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1676">Martin Schmidt</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1677">Lori Sentman</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1678">Michael Schulz</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1679">Rich Signell</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1680">Gary Strand</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1681">Andrew Wittenberg</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1682">George White</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1683">Remik Ziemlinski</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Peter Campbell, Martin Dix, Mark Flanner, Markus Liebig, Keith Lindsay, Mike Page, Martin Schmidt, Michael Schulz, Lori Sentman, Rich Signell, Gary Strand, George White Andrew Wittenberg, Remik Ziemlinski</itemformat></item>
</tableterm><tableitem><para>Excellent bug reports and feature requests.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1660">Daniel Baumann</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1661">Nick Bower</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1662">Luk Claes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1663">Barry deFreese</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1664">Aleksandar Jelenak</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1665">Francesco Lovergine</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1666">Matej Vela</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1684">Daniel Baumann</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1685">Nick Bower</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1686">Luk Claes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1687">Barry deFreese</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1688">Aleksandar Jelenak</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1689">Francesco Lovergine</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1690">Matej Vela</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Daniel Baumann, Nick Bower, Luk Claebs, Barry deFreese, Aleksandar Jelenak, Francesco Lovergine, Matej Vela</itemformat></item>
</tableterm><tableitem><para>Debian packaging
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1667">Patrice Dumas</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1668">Ed Hill</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1669">Orion Powlawski</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1691">Patrice Dumas</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1692">Ed Hill</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1693">Orion Powlawski</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Patrice Dumas, Ed Hill, Orion Poplawski</itemformat></item>
</tableterm><tableitem><para>RedHat packaging
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1670">George Shapavalov</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1671">Patrick Kursawe</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1694">George Shapavalov</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1695">Patrick Kursawe</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">George Shapavalov, Patrick Kursawe</itemformat></item>
</tableterm><tableitem><para>Gentoo packaging
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1672">Filipe Fernandes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1696">Filipe Fernandes</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Filipe Fernandes</itemformat></item>
</tableterm><tableitem><para>OpenSuse packaging
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1673">Alexander Hansen</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1674">Takeshi Enomoto</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1697">Alexander Hansen</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1698">Takeshi Enomoto</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Takeshi Enomoto, Alexander Hansen</itemformat></item>
</tableterm><tableitem><para>Mac OS packaging
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1675">Eric Blake</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1699">Eric Blake</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Eric Blake</itemformat></item>
</tableterm><tableitem><para>Autoconf/M4 help
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1676">Gavin Burris</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1677">Kyle Wilcox</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1700">Gavin Burris</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1701">Kyle Wilcox</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Gavin Burris, Kyle Wilcox</itemformat></item>
</tableterm><tableitem><para>RHEL and CentOS build scripts and bug reports.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1678">Andrea Cimatoribus</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1702">Andrea Cimatoribus</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Andrea Cimatoribus</itemformat></item>
</tableterm><tableitem><para><acronym><acronymword>NCO</acronymword></acronym> Spiral Logo
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1679">Martin Otte</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1680">Etienne Tourigny</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1703">Martin Otte</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1704">Etienne Tourigny</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Martin Otte, Etienne Tourigny</itemformat></item>
</tableterm><tableitem><para>Single bug reports and fixes
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1681">Wenshan Wang</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1705">Wenshan Wang</indexterm></cindex>
</para></tableitem></tableentry><tableentry><tableterm><item spaces=" "><itemformat command="asis">Wenshan Wang</itemformat></item>
</tableterm><tableitem><para><acronym><acronymword>CMIP5</acronymword></acronym> and <acronym><acronymword>MODIS</acronymword></acronym> processing documentation.
</para></tableitem></tableentry></table>
@@ -17151,7 +17290,7 @@ netCDF4 groups.
</section>
<node name="Citation" spaces=" "><nodename>Citation</nodename><nodenext spaces=" ">Proposals for Institutional Funding</nodenext><nodeprev spaces=" ">Contributors</nodeprev><nodeup spaces=" ">Contributing</nodeup></node>
<section spaces=" "><sectiontitle>Citation</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1682">citation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1706">citation</indexterm></cindex>
<para>The recommended citations for <acronym><acronymword>NCO</acronymword></acronym> software are
</para><example endspaces=" ">
<verbatim xml:space="preserve">
@@ -17185,27 +17324,27 @@ This list links to the full papers and seminars themselves.
</section>
<node name="Proposals-for-Institutional-Funding" spaces=" "><nodename>Proposals for Institutional Funding</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Citation</nodeprev><nodeup spaces=" ">Contributing</nodeup></node>
<section spaces=" "><sectiontitle>Proposals for Institutional Funding</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1683">funding</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1684">proposals</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1685"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1686">server-side processing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1687">Distributed Data Reduction & Analysis</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1688">Scientific Data Operators</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1689"><acronym><acronymword>DDRA</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1690">Server-Side Distributed Data Reduction & Analysis</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1691"><acronym><acronymword>SSDDRA</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1692"><acronym><acronymword>CCSM</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1693"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1694"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1695"><acronym><acronymword>SDO</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1696"><acronym><acronymword>SEIII</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1697">OptIPuter</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1707">funding</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1708">proposals</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1709"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1710">server-side processing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1711">Distributed Data Reduction & Analysis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1712">Scientific Data Operators</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1713"><acronym><acronymword>DDRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1714">Server-Side Distributed Data Reduction & Analysis</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1715"><acronym><acronymword>SSDDRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1716"><acronym><acronymword>CCSM</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1717"><acronym><acronymword>IPCC</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1718"><acronym><acronymword>NSF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1719"><acronym><acronymword>SDO</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1720"><acronym><acronymword>SEIII</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1721">OptIPuter</indexterm></cindex>
<para><acronym><acronymword>NSF</acronymword></acronym> has funded a
<uref><urefurl>http://nco.sf.net#prp_sei</urefurl><urefdesc spaces=" ">project</urefdesc></uref>
to improve Distributed Data Reduction & Analysis (<acronym><acronymword>DDRA</acronymword></acronym>) by
evolving <acronym><acronymword>NCO</acronymword></acronym> into a suite of Scientific Data Operators called
<acronym><acronymword>SDO</acronymword></acronym>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1698">parallelism</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1722">parallelism</indexterm></cindex>
The two main components of this project are <acronym><acronymword>NCO</acronymword></acronym> parallelism
(OpenMP, <acronym><acronymword>MPI</acronymword></acronym>) and Server-Side <acronym><acronymword>DDRA</acronymword></acronym>
(<acronym><acronymword>SSDDRA</acronymword></acronym>) implemented through extensions to <acronym><acronymword>OPeNDAP</acronymword></acronym>
@@ -17213,9 +17352,9 @@ and netCDF4.
This project will dramatically reduce bandwidth usage for <acronym><acronymword>NCO</acronymword></acronym>
<acronym><acronymword>DDRA</acronymword></acronym>.
</para>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1699"><acronym><acronymword>NASA</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1700"><acronym><acronymword>NRA</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1701"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1723"><acronym><acronymword>NASA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1724"><acronym><acronymword>NRA</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1725"><acronym><acronymword>HDF</acronymword></acronym></indexterm></cindex>
<para>With this first <acronym><acronymword>NCO</acronymword></acronym> proposal funded, the content of the
next <acronym><acronymword>NCO</acronymword></acronym> proposal is clear.
We are interested in obtaining <acronym><acronymword>NASA</acronymword></acronym> support for
@@ -17235,7 +17374,7 @@ Comments on the proposals and letters of support are also very welcome.
</chapter>
<node name="Quick-Start" spaces=" "><nodename>Quick Start</nodename><nodenext spaces=" ">CMIP5 Example</nodenext><nodeprev spaces=" ">Contributing</nodeprev><nodeup spaces=" ">Top</nodeup></node>
<chapter spaces=" "><sectiontitle>Quick Start</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1702">Quick Start</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1726">Quick Start</indexterm></cindex>
<para>Simple examples in Bash shell scripts showing how to average data with
different file structures.
Here we include monthly, seasonal and annual average with daily or
@@ -17250,15 +17389,15 @@ monthly data in either one file or multiple files.
<node name="Daily-data-in-one-file" spaces=" "><nodename>Daily data in one file</nodename><nodenext spaces=" ">Monthly data in one file</nodenext><nodeprev spaces=" ">Quick Start</nodeprev><nodeup spaces=" ">Quick Start</nodeup></node>
<section spaces=" "><sectiontitle>Daily data in one file</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1703">daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1727">daily data</indexterm></cindex>
<para>Suppose we have daily data from Jan 1st, 1990 to Dec. 31, 2005 in the
file of <file>in.nc</file> with the record dimension as <code>time</code>.
</para>
<noindent></noindent>
<para><strong>Monthly average:</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1704">monthly average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1705">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1706">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1728">monthly average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1729">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1730">time-averaging</indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
for yyyy in {1990..2005}; do # Loop over years
@@ -17278,9 +17417,9 @@ ncrcat -O in_??????.nc out.nc
<noindent></noindent>
<para><strong>Annual average:</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1707">annual average from daily data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1708">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1709">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1731">annual average from daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1732">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1733">time-averaging</indexterm></cindex>
</para><example endspaces=" ">
<verbatim xml:space="preserve">
for yyyy in {1990..2005}; do # Loop over years
@@ -17299,23 +17438,23 @@ There are detailed instructions on <command>ncra</command> (<pxref label="ncra-n
</section>
<node name="Monthly-data-in-one-file" spaces=" "><nodename>Monthly data in one file</nodename><nodenext spaces=" ">One time point one file</nodenext><nodeprev spaces=" ">Daily data in one file</nodeprev><nodeup spaces=" ">Quick Start</nodeup></node>
<section spaces=" "><sectiontitle>Monthly data in one file</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1710">monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1734">monthly data</indexterm></cindex>
<para>Inside the input file <file>in.nc</file>, the record dimension <code>time</code> is from Jan 1990 to Dec 2005.
</para>
<noindent></noindent>
<para><strong>Seasonal average (e.g., DJF):</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1711">seasonal average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1712">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1713">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1735">seasonal average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1736">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1737">time-averaging</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncra -O --mro -d time,"1990-12-01",,12,3 in.nc out.nc
</pre></example>
<noindent></noindent>
<para><strong>Annual average:</strong>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1714">annual average from monthly data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1715">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1716">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1738">annual average from monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1739">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1740">time-averaging</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve">ncra -O --mro -d time,,,12,12 in.nc out.nc
</pre></example>
@@ -17340,10 +17479,10 @@ you can leave it blank if you want to include the minimum or the maximum of the
</section>
<node name="One-time-point-one-file" spaces=" "><nodename>One time point one file</nodename><nodenext spaces=" ">Multiple files with multiple time points</nodenext><nodeprev spaces=" ">Monthly data in one file</nodeprev><nodeup spaces=" ">Quick Start</nodeup></node>
<section spaces=" "><sectiontitle>One time point one file</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1717">daily data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1718">monthly data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1719">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1720">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1741">daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1742">monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1743">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1744">time-averaging</indexterm></cindex>
<para>This means if you have daily data of 30 days, there will be 30 data files.
Or if you have monthly data of 12 months, there will be 12 data files.
Dealing with this kind of files, you need to specify the file names in shell scripts and pass them to NCO operators.
@@ -17366,8 +17505,8 @@ done
</section>
<node name="Multiple-files-with-multiple-time-points" spaces=" "><nodename>Multiple files with multiple time points</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">One time point one file</nodeprev><nodeup spaces=" ">Quick Start</nodeup></node>
<section spaces=" "><sectiontitle>Multiple files with multiple time points</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1721">daily data</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1722">monthly data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1745">daily data</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1746">monthly data</indexterm></cindex>
<para>Similar as the last one, it&textrsquo;s more about shell scripts.
Suppose you have daily data with one month of them in one data file.
The monthly average is simply to apply <command>ncra</command> on the specific data file.
@@ -17381,8 +17520,8 @@ And for seasonal averages, you can specify the three months by shell scripts.
</chapter>
<node name="CMIP5-Example" spaces=" "><nodename>CMIP5 Example</nodename><nodenext spaces=" ">Parallel</nodenext><nodeprev spaces=" ">Quick Start</nodeprev><nodeup spaces=" ">Top</nodeup></node>
<chapter spaces=" "><sectiontitle><acronym><acronymword>CMIP5</acronymword></acronym> Example</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1723"><acronym><acronymword>CMIP5</acronymword></acronym></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1724"><acronym><acronymword>GODAD</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1747"><acronym><acronymword>CMIP5</acronymword></acronym></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1748"><acronym><acronymword>GODAD</acronymword></acronym></indexterm></cindex>
<ignore>
This @uref{http://nco.sf.net/xmp_cesm.html,Wonderful CMIP5 Documentation}
shows complete processing of the @acronym{CMIP5} dataset.
@@ -17457,7 +17596,7 @@ group-based processing as well.
<node name="Combine-Files" spaces=" "><nodename>Combine Files</nodename><nodenext spaces=" ">Global Distribution of Long-term Average</nodenext><nodeprev spaces=" ">CMIP5 Example</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Combine Files</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1725">file combination</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1749">file combination</indexterm></cindex>
<para>Sometimes, the data of one ensemble member will be stored in several
files to reduce single file size.
It is more convenient to concatenate these files into a single
@@ -17486,10 +17625,10 @@ conditions to produce an ensemble of realizations.
These ensemble members comprise the third level of the hierarchy.
The script selects two variables, <var>snc</var> and <var>snd</var> (snow cover
and snow depth).
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1726"><option>--gag</option></indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1727">aggregation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1728">group aggregation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1729">groups, creating</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1750"><option>--gag</option></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1751">aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1752">group aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1753">groups, creating</indexterm></cindex>
</para><example endspaces=" ">
<verbatiminclude file="xmp/cmb_fl_grp.sh" spaces=" ">xmp/cmb_fl_grp.sh</verbatiminclude>
</example>
@@ -17497,10 +17636,10 @@ and snow depth).
</section>
<node name="Global-Distribution-of-Long_002dterm-Average" spaces=" "><nodename>Global Distribution of Long-term Average</nodename><nodenext spaces=" ">Annual Average over Regions</nodenext><nodeprev spaces=" ">Combine Files</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Global Distribution of Long-term Average</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1730">spatial distribution</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1731">long-term average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1732">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1733">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1754">spatial distribution</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1755">long-term average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1756">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1757">time-averaging</indexterm></cindex>
<float name="fgr_003aglb" type="Figure" number="7.1" spaces=" " endspaces=" "><floattype>Figure</floattype><floatname>fgr:glb</floatname>
<image><imagefile>xmp/fgr1</imagefile><imagewidth>3.5in</imagewidth></image>
<caption><para>Global Distribution of Long-term Average.</para></caption>
@@ -17521,7 +17660,7 @@ Key steps include:
</example>
<para>With the use of <key>group</key>, the above script will be shortened to <w>ONE LINE</w>.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1734">groups, averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1758">groups, averaging</indexterm></cindex>
</para><example endspaces=" ">
<pre xml:space="preserve"># Data from cmb_fl_grp.sh
# ensemble averaging
@@ -17545,20 +17684,20 @@ ensembles with only one ensemble member will be left untouched.
</section>
<node name="Annual-Average-over-Regions" spaces=" "><nodename>Annual Average over Regions</nodename><nodenext spaces=" ">Monthly Cycle</nodenext><nodeprev spaces=" ">Global Distribution of Long-term Average</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Annual Average over Regions</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1735">annual average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1736">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1737">time-averaging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1738">area-averaging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1739">dimension order</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1740">anomalies</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1741">standard deviation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1742">renaming variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1743">attributes, editing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1744">attributes, modifying</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1745">attributes, overwriting</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1746">regression</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1747">nco script file</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1748">variables, appending</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1759">annual average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1760">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1761">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1762">area-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1763">dimension order</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1764">anomalies</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1765">standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1766">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1767">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1768">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1769">attributes, overwriting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1770">regression</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1771">nco script file</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1772">variables, appending</indexterm></cindex>
<float name="fgr_003aanl" type="Figure" number="7.2" spaces=" " endspaces=" "><floattype>Figure</floattype><floatname>fgr:anl</floatname>
<image><imagefile>xmp/fgr2</imagefile><imagewidth>4in</imagewidth></image>
<caption><para>Annual Average over Regions.</para></caption>
@@ -17593,12 +17732,12 @@ all the loops over experiments, models and ensemble members can be omitted.
As we are working on implementing <key>group</key> feature in all <acronym><acronymword>NCO</acronymword></acronym> operators,
some functions (e.g., regression and standard deviation over ensemble members)
may have to wait until the new versions.
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1749">group, spatial averaging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1750">group, temporal averaging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1751">group, anomaly</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1752">group, standard deviation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1753">group, aggregation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1754">group, dimension permutation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1773">group, spatial averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1774">group, temporal averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1775">group, anomaly</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1776">group, standard deviation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1777">group, aggregation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1778">group, dimension permutation</indexterm></cindex>
</para><example endspaces=" ">
<verbatiminclude file="xmp/ann_avg_grp.sh" spaces=" ">xmp/ann_avg_grp.sh</verbatiminclude>
</example>
@@ -17606,12 +17745,12 @@ may have to wait until the new versions.
</section>
<node name="Monthly-Cycle" spaces=" "><nodename>Monthly Cycle</nodename><nodenext spaces=" ">Regrid MODIS Data</nodenext><nodeprev spaces=" ">Annual Average over Regions</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Monthly Cycle</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1755">monthly average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1756">average</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1757">time-averaging</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1758">anomalies</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1759">geographical weight</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1760">weighted average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1779">monthly average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1780">average</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1781">time-averaging</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1782">anomalies</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1783">geographical weight</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1784">weighted average</indexterm></cindex>
<float name="fgr_003amon" type="Figure" number="7.3" spaces=" " endspaces=" "><floattype>Figure</floattype><floatname>fgr:mon</floatname>
<image><imagefile>xmp/fgr3</imagefile><imagewidth>4in</imagewidth></image>
<caption><para>Monthly Cycle.</para></caption>
@@ -17637,16 +17776,16 @@ the script will be shortened.
</section>
<node name="Regrid-MODIS-Data" spaces=" "><nodename>Regrid MODIS Data</nodename><nodenext spaces=" ">Add Coordinates to MODIS Data</nodenext><nodeprev spaces=" ">Monthly Cycle</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Regrid <acronym><acronymword>MODIS</acronymword></acronym> Data</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1761">regrid</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1762">MODIS</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1763">bilinear interpolation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1764">interpolation</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1765">renaming variables</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1766">renaming attributes</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1767">renaming dimensions</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1768">attributes, editing</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1769">attributes, modifying</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1770">attributes, overwriting</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1785">regrid</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1786">MODIS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1787">bilinear interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1788">interpolation</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1789">renaming variables</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1790">renaming attributes</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1791">renaming dimensions</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1792">attributes, editing</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1793">attributes, modifying</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1794">attributes, overwriting</indexterm></cindex>
<para>In order to compare the results between <acronym><acronymword>MODIS</acronymword></acronym> and
<acronym><acronymword>CMIP5</acronymword></acronym> models, one usually regrids one or both datasets so
that the spatial resolutions match.
@@ -17668,8 +17807,8 @@ Key steps include:
</section>
<node name="Add-Coordinates-to-MODIS-Data" spaces=" "><nodename>Add Coordinates to MODIS Data</nodename><nodenext spaces=" ">Permute MODIS Coordinates</nodenext><nodeprev spaces=" ">Regrid MODIS Data</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Add Coordinates to <acronym><acronymword>MODIS</acronymword></acronym> Data</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1771">MODIS</indexterm></cindex>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1772">coordinates</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1795">MODIS</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1796">coordinates</indexterm></cindex>
<para><strong>Main Script</strong>
</para><example endspaces=" ">
<verbatiminclude file="xmp/add_crd.sh" spaces=" ">xmp/add_crd.sh</verbatiminclude>
@@ -17682,7 +17821,7 @@ Key steps include:
</section>
<node name="Permute-MODIS-Coordinates" spaces=" "><nodename>Permute MODIS Coordinates</nodename><nodenext spaces=" "></nodenext><nodeprev spaces=" ">Add Coordinates to MODIS Data</nodeprev><nodeup spaces=" ">CMIP5 Example</nodeup></node>
<section spaces=" "><sectiontitle>Permute <acronym><acronymword>MODIS</acronymword></acronym> Coordinates</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1773">coordinates, modifying</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1797">coordinates, modifying</indexterm></cindex>
<!-- c NB: 20140130: @textdegree is in TeXInfo 4.12 but Mac OS X 10.8 ships with 4.8 -->
<para><acronym><acronymword>MODIS</acronymword></acronym> orders latitude data from 90°N to
-90°N, and longitude from -180°E to
@@ -17729,7 +17868,7 @@ Here is an example showing:
</chapter>
<node name="Parallel" spaces=" "><nodename>Parallel</nodename><nodenext spaces=" ">CCSM Example</nodenext><nodeprev spaces=" ">CMIP5 Example</nodeprev><nodeup spaces=" ">Top</nodeup></node>
<chapter spaces=" "><sectiontitle>Parallel</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1774"><command>parallel</command></indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1798"><command>parallel</command></indexterm></cindex>
<para>This section will describe scripting strategies, including the use of
<acronym><acronymword>GNU</acronymword></acronym> Parallel, to <acronym><acronymword>NCO</acronymword></acronym>.
</para><example endspaces=" ">
@@ -17744,7 +17883,7 @@ ls *historical*.nc | parallel ncks -O -d time,"1950-01-01","2000-
</chapter>
<node name="CCSM-Example" spaces=" "><nodename>CCSM Example</nodename><nodenext spaces=" ">mybibnode</nodenext><nodeprev spaces=" ">Parallel</nodeprev><nodeup spaces=" ">Top</nodeup></node>
<chapter spaces=" "><sectiontitle>CCSM Example</sectiontitle>
-<cindex index="cp" spaces=" "><indexterm index="cp" number="1775">CCSM</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp" number="1799">CCSM</indexterm></cindex>
<para>This chapter illustrates how to use <acronym><acronymword>NCO</acronymword></acronym> to
process and analyze the results of a <acronym><acronymword>CCSM</acronymword></acronym> climate simulation.
diff --git a/doc/netcdf.h.3.6.3 b/doc/netcdf.h.3.6.3
new file mode 100644
index 0000000..aa2a6d7
--- /dev/null
+++ b/doc/netcdf.h.3.6.3
@@ -0,0 +1,1102 @@
+/*
+ * Copyright 1993-2005 University Corporation for Atmospheric Research/Unidata
+ *
+ * Portions of this software were developed by the Unidata Program at the
+ * University Corporation for Atmospheric Research.
+ *
+ * Access and use of this software shall impose the following obligations
+ * and understandings on the user. The user is granted the right, without
+ * any fee or cost, to use, copy, modify, alter, enhance and distribute
+ * this software, and any derivative works thereof, and its supporting
+ * documentation for any purpose whatsoever, provided that this entire
+ * notice appears in all copies of the software, derivative works and
+ * supporting documentation. Further, UCAR requests that the user credit
+ * UCAR/Unidata in any publications that result from the use of this
+ * software or in any product that includes this software. The names UCAR
+ * and/or Unidata, however, may not be used in any advertising or publicity
+ * to endorse or promote any products or commercial entity unless specific
+ * written permission is obtained from UCAR/Unidata. The user also
+ * understands that UCAR/Unidata is not obligated to provide the user with
+ * any support, consulting, training or assistance of any kind with regard
+ * to the use, operation and performance of this software nor to provide
+ * the user with any updates, revisions, new versions or "bug fixes."
+ *
+ * THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+ * WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/* "$Id: netcdf.h.3.6.3,v 1.1 2014/09/15 16:27:16 zender Exp $" */
+
+#ifndef _NETCDF_
+#define _NETCDF_
+
+#include <stddef.h> /* size_t, ptrdiff_t */
+#include <errno.h> /* netcdf functions sometimes return system errors */
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/*
+ * The netcdf external data types
+ */
+typedef enum {
+ NC_NAT = 0, /* NAT = 'Not A Type' (c.f. NaN) */
+ NC_BYTE = 1, /* signed 1 byte integer */
+ NC_CHAR = 2, /* ISO/ASCII character */
+ NC_SHORT = 3, /* signed 2 byte integer */
+ NC_INT = 4, /* signed 4 byte integer */
+ NC_FLOAT = 5, /* single precision floating point number */
+ NC_DOUBLE = 6 /* double precision floating point number */
+} nc_type;
+
+
+/*
+ * Default fill values, used unless _FillValue attribute is set.
+ * These values are stuffed into newly allocated space as appropriate.
+ * The hope is that one might use these to notice that a particular datum
+ * has not been set.
+ */
+#define NC_FILL_BYTE ((signed char)-127)
+#define NC_FILL_CHAR ((char)0)
+#define NC_FILL_SHORT ((short)-32767)
+#define NC_FILL_INT (-2147483647L)
+#define NC_FILL_FLOAT (9.9692099683868690e+36f) /* near 15 * 2^119 */
+#define NC_FILL_DOUBLE (9.9692099683868690e+36)
+
+
+/*
+ * The above values are defaults.
+ * If you wish a variable to use a different value than the above
+ * defaults, create an attribute with the same type as the variable
+ * and the following reserved name. The value you give the attribute
+ * will be used as the fill value for that variable.
+ */
+#define _FillValue "_FillValue"
+#define NC_FILL 0 /* argument to ncsetfill to clear NC_NOFILL */
+#define NC_NOFILL 0x100 /* Don't fill data section an records */
+
+/*
+ * 'mode' flags for ncopen
+ */
+#define NC_NOWRITE 0 /* default is read only */
+#define NC_WRITE 0x1 /* read & write */
+
+/*
+ * 'mode' flags for nccreate
+ */
+#define NC_CLOBBER 0
+#define NC_NOCLOBBER 0x4 /* Don't destroy existing file on create */
+#define NC_64BIT_OFFSET 0x0200 /* Use large (64-bit) file offsets */
+
+/*
+ * 'mode' flags for nccreate and ncopen
+ */
+#define NC_SHARE 0x0800 /* Share updates, limit cacheing */
+#define NC_STRICT_NC3 (0x8)
+
+/* The following flag currently is ignored, but use in
+ * nc_open() or nc_create() may someday support use of advisory
+ * locking to prevent multiple writers from clobbering a file
+ */
+#define NC_LOCK 0x0400 /* Use locking if available */
+
+/*
+ * Starting with version 3.6, there were two different format netCDF
+ * files. netCDF-4 introduces the third one.
+ */
+#define NC_FORMAT_CLASSIC (1)
+#define NC_FORMAT_64BIT (2)
+#define NC_FORMAT_NETCDF4 (3)
+#define NC_FORMAT_NETCDF4_CLASSIC (4) /* create netcdf-4 files, with NC_STRICT_NC3. */
+
+/*
+ * Let nc__create() or nc__open() figure out
+ * as suitable chunk size.
+ */
+#define NC_SIZEHINT_DEFAULT 0
+
+/*
+ * In nc__enddef(), align to the chunk size.
+ */
+#define NC_ALIGN_CHUNK ((size_t)(-1))
+
+/*
+ * 'size' argument to ncdimdef for an unlimited dimension
+ */
+#define NC_UNLIMITED 0L
+
+/*
+ * attribute id to put/get a global attribute
+ */
+#define NC_GLOBAL -1
+
+/* These are in support of the coordinate axis stuff. */
+#define NC_NOAXISTYPE 0
+#define NC_LATITUDE 1
+#define NC_LONGITUDE 2
+#define NC_GEOX 3
+#define NC_GEOY 4
+#define NC_GEOZ 5
+#define NC_HEIGHT_UP 6
+#define NC_HEIGHT_DOWN 7
+#define NC_PRESSURE 8
+#define NC_TIME 9
+#define NC_RADAZ 10
+#define NC_RADEL 11
+#define NC_RADDIST 12
+
+/*
+ * These maximums are enforced by the interface, to facilitate writing
+ * applications and utilities. However, nothing is statically allocated to
+ * these sizes internally.
+ */
+#define NC_MAX_DIMS 1024 /* max dimensions per file */
+#define NC_MAX_ATTRS 8192 /* max global or per variable attributes */
+#define NC_MAX_VARS 8192 /* max variables per file */
+#define NC_MAX_NAME 256 /* max length of a name */
+#define NC_MAX_VAR_DIMS NC_MAX_DIMS /* max per variable dimensions */
+
+/*
+ * The netcdf version 3 functions all return integer error status.
+ * These are the possible values, in addition to certain
+ * values from the system errno.h.
+ */
+
+#define NC_ISSYSERR(err) ((err) > 0)
+
+#define NC_NOERR 0 /* No Error */
+
+#define NC2_ERR (-1) /* Returned for all errors in the v2 API. */
+#define NC_EBADID (-33) /* Not a netcdf id */
+#define NC_ENFILE (-34) /* Too many netcdfs open */
+#define NC_EEXIST (-35) /* netcdf file exists && NC_NOCLOBBER */
+#define NC_EINVAL (-36) /* Invalid Argument */
+#define NC_EPERM (-37) /* Write to read only */
+#define NC_ENOTINDEFINE (-38) /* Operation not allowed in data mode */
+#define NC_EINDEFINE (-39) /* Operation not allowed in define mode */
+#define NC_EINVALCOORDS (-40) /* Index exceeds dimension bound */
+#define NC_EMAXDIMS (-41) /* NC_MAX_DIMS exceeded */
+#define NC_ENAMEINUSE (-42) /* String match to name in use */
+#define NC_ENOTATT (-43) /* Attribute not found */
+#define NC_EMAXATTS (-44) /* NC_MAX_ATTRS exceeded */
+#define NC_EBADTYPE (-45) /* Not a netcdf data type */
+#define NC_EBADDIM (-46) /* Invalid dimension id or name */
+#define NC_EUNLIMPOS (-47) /* NC_UNLIMITED in the wrong index */
+#define NC_EMAXVARS (-48) /* NC_MAX_VARS exceeded */
+#define NC_ENOTVAR (-49) /* Variable not found */
+#define NC_EGLOBAL (-50) /* Action prohibited on NC_GLOBAL varid */
+#define NC_ENOTNC (-51) /* Not a netcdf file */
+#define NC_ESTS (-52) /* In Fortran, string too short */
+#define NC_EMAXNAME (-53) /* NC_MAX_NAME exceeded */
+#define NC_EUNLIMIT (-54) /* NC_UNLIMITED size already in use */
+#define NC_ENORECVARS (-55) /* nc_rec op when there are no record vars */
+#define NC_ECHAR (-56) /* Attempt to convert between text & numbers */
+#define NC_EEDGE (-57) /* Start+count exceeds dimension bound */
+#define NC_ESTRIDE (-58) /* Illegal stride */
+#define NC_EBADNAME (-59) /* Attribute or variable name
+ contains illegal characters */
+/* N.B. following must match value in ncx.h */
+#define NC_ERANGE (-60) /* Math result not representable */
+#define NC_ENOMEM (-61) /* Memory allocation (malloc) failure */
+
+#define NC_EVARSIZE (-62) /* One or more variable sizes violate
+ format constraints */
+#define NC_EDIMSIZE (-63) /* Invalid dimension size */
+#define NC_ETRUNC (-64) /* File likely truncated or possibly corrupted */
+
+/*
+ * The Interface
+ */
+
+/* Declaration modifiers for DLL support (MSC et al) */
+
+#if defined(DLL_NETCDF) /* define when library is a DLL */
+# if defined(NC_DLL_EXPORT) /* define when building the library */
+# define MSC_EXTRA __declspec(dllexport)
+# else
+# define MSC_EXTRA __declspec(dllimport)
+# endif
+#include <io.h>
+#define lseek _lseeki64
+#define off_t __int64
+#define stat __stat64
+#define fstat _fstat64
+#else
+#define MSC_EXTRA
+#endif /* defined(DLL_NETCDF) */
+
+# define EXTERNL extern MSC_EXTRA
+
+/* When netCDF is built as a DLL, this will export ncerr and
+ * ncopts. When it is used as a DLL, it will import them. */
+#if defined(DLL_NETCDF)
+MSC_EXTRA int ncerr;
+MSC_EXTRA int ncopts;
+#endif
+
+EXTERNL const char *
+nc_inq_libvers(void);
+
+EXTERNL const char *
+nc_strerror(int ncerr);
+
+EXTERNL int
+nc__create(const char *path, int cmode, size_t initialsz,
+ size_t *chunksizehintp, int *ncidp);
+
+EXTERNL int
+nc_create(const char *path, int cmode, int *ncidp);
+
+EXTERNL int
+nc__open(const char *path, int mode,
+ size_t *chunksizehintp, int *ncidp);
+
+EXTERNL int
+nc_open(const char *path, int mode, int *ncidp);
+
+EXTERNL int
+nc_set_fill(int ncid, int fillmode, int *old_modep);
+
+EXTERNL int
+nc_redef(int ncid);
+
+EXTERNL int
+nc__enddef(int ncid, size_t h_minfree, size_t v_align,
+ size_t v_minfree, size_t r_align);
+
+EXTERNL int
+nc_enddef(int ncid);
+
+EXTERNL int
+nc_sync(int ncid);
+
+EXTERNL int
+nc_abort(int ncid);
+
+EXTERNL int
+nc_close(int ncid);
+
+EXTERNL int
+nc_inq(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimidp);
+
+EXTERNL int
+nc_inq_ndims(int ncid, int *ndimsp);
+
+EXTERNL int
+nc_inq_nvars(int ncid, int *nvarsp);
+
+EXTERNL int
+nc_inq_natts(int ncid, int *nattsp);
+
+EXTERNL int
+nc_inq_unlimdim(int ncid, int *unlimdimidp);
+
+EXTERNL int
+nc_set_default_format(int format, int *old_formatp);
+
+EXTERNL int
+nc_inq_format(int ncid, int *formatp);
+
+/* Begin _dim */
+
+EXTERNL int
+nc_def_dim(int ncid, const char *name, size_t len, int *idp);
+
+EXTERNL int
+nc_inq_dimid(int ncid, const char *name, int *idp);
+
+EXTERNL int
+nc_inq_dim(int ncid, int dimid, char *name, size_t *lenp);
+
+EXTERNL int
+nc_inq_dimname(int ncid, int dimid, char *name);
+
+EXTERNL int
+nc_inq_dimlen(int ncid, int dimid, size_t *lenp);
+
+EXTERNL int
+nc_rename_dim(int ncid, int dimid, const char *name);
+
+/* End _dim */
+/* Begin _att */
+
+EXTERNL int
+nc_inq_att(int ncid, int varid, const char *name,
+ nc_type *xtypep, size_t *lenp);
+
+EXTERNL int
+nc_inq_attid(int ncid, int varid, const char *name, int *idp);
+
+EXTERNL int
+nc_inq_atttype(int ncid, int varid, const char *name, nc_type *xtypep);
+
+EXTERNL int
+nc_inq_attlen(int ncid, int varid, const char *name, size_t *lenp);
+
+EXTERNL int
+nc_inq_attname(int ncid, int varid, int attnum, char *name);
+
+EXTERNL int
+nc_copy_att(int ncid_in, int varid_in, const char *name, int ncid_out, int varid_out);
+
+EXTERNL int
+nc_rename_att(int ncid, int varid, const char *name, const char *newname);
+
+EXTERNL int
+nc_del_att(int ncid, int varid, const char *name);
+
+/* End _att */
+/* Begin {put,get}_att */
+
+EXTERNL int
+nc_put_att(int ncid, int varid, const char *name, nc_type datatype,
+ size_t len, const void *value);
+
+EXTERNL int
+nc_get_att(int ncid, int varid, const char *name, void *value);
+
+EXTERNL int
+nc_put_att_text(int ncid, int varid, const char *name,
+ size_t len, const char *op);
+
+EXTERNL int
+nc_get_att_text(int ncid, int varid, const char *name, char *ip);
+
+EXTERNL int
+nc_put_att_uchar(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const unsigned char *op);
+
+EXTERNL int
+nc_get_att_uchar(int ncid, int varid, const char *name, unsigned char *ip);
+
+EXTERNL int
+nc_put_att_schar(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const signed char *op);
+
+EXTERNL int
+nc_get_att_schar(int ncid, int varid, const char *name, signed char *ip);
+
+EXTERNL int
+nc_put_att_short(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const short *op);
+
+EXTERNL int
+nc_get_att_short(int ncid, int varid, const char *name, short *ip);
+
+EXTERNL int
+nc_put_att_int(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const int *op);
+
+EXTERNL int
+nc_get_att_int(int ncid, int varid, const char *name, int *ip);
+
+EXTERNL int
+nc_put_att_long(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const long *op);
+
+EXTERNL int
+nc_get_att_long(int ncid, int varid, const char *name, long *ip);
+
+EXTERNL int
+nc_put_att_float(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const float *op);
+
+EXTERNL int
+nc_get_att_float(int ncid, int varid, const char *name, float *ip);
+
+EXTERNL int
+nc_put_att_double(int ncid, int varid, const char *name, nc_type xtype,
+ size_t len, const double *op);
+
+EXTERNL int
+nc_get_att_double(int ncid, int varid, const char *name, double *ip);
+
+/* End {put,get}_att */
+/* Begin _var */
+
+EXTERNL int
+nc_def_var(int ncid, const char *name, nc_type xtype, int ndims,
+ const int *dimidsp, int *varidp);
+
+EXTERNL int
+nc_inq_var(int ncid, int varid, char *name, nc_type *xtypep,
+ int *ndimsp, int *dimidsp, int *nattsp);
+
+EXTERNL int
+nc_inq_varid(int ncid, const char *name, int *varidp);
+
+EXTERNL int
+nc_inq_varname(int ncid, int varid, char *name);
+
+EXTERNL int
+nc_inq_vartype(int ncid, int varid, nc_type *xtypep);
+
+EXTERNL int
+nc_inq_varndims(int ncid, int varid, int *ndimsp);
+
+EXTERNL int
+nc_inq_vardimid(int ncid, int varid, int *dimidsp);
+
+EXTERNL int
+nc_inq_varnatts(int ncid, int varid, int *nattsp);
+
+EXTERNL int
+nc_rename_var(int ncid, int varid, const char *name);
+
+EXTERNL int
+nc_copy_var(int ncid_in, int varid, int ncid_out);
+#ifndef ncvarcpy
+/* support the old name for now */
+#define ncvarcpy(ncid_in, varid, ncid_out) ncvarcopy((ncid_in), (varid), (ncid_out))
+#endif
+
+/* End _var */
+/* Begin {put,get}_var1 */
+
+EXTERNL int
+nc_put_var1(int ncid, int varid, const size_t *indexp, const void *value);
+
+EXTERNL int
+nc_get_var1(int ncid, int varid, const size_t *indexp, void *value);
+
+EXTERNL int
+nc_put_var1_text(int ncid, int varid, const size_t *indexp, const char *op);
+
+EXTERNL int
+nc_get_var1_text(int ncid, int varid, const size_t *indexp, char *ip);
+
+EXTERNL int
+nc_put_var1_uchar(int ncid, int varid, const size_t *indexp,
+ const unsigned char *op);
+
+EXTERNL int
+nc_get_var1_uchar(int ncid, int varid, const size_t *indexp,
+ unsigned char *ip);
+
+EXTERNL int
+nc_put_var1_schar(int ncid, int varid, const size_t *indexp,
+ const signed char *op);
+
+EXTERNL int
+nc_get_var1_schar(int ncid, int varid, const size_t *indexp,
+ signed char *ip);
+
+EXTERNL int
+nc_put_var1_short(int ncid, int varid, const size_t *indexp,
+ const short *op);
+
+EXTERNL int
+nc_get_var1_short(int ncid, int varid, const size_t *indexp,
+ short *ip);
+
+EXTERNL int
+nc_put_var1_int(int ncid, int varid, const size_t *indexp, const int *op);
+
+EXTERNL int
+nc_get_var1_int(int ncid, int varid, const size_t *indexp, int *ip);
+
+EXTERNL int
+nc_put_var1_long(int ncid, int varid, const size_t *indexp, const long *op);
+
+EXTERNL int
+nc_get_var1_long(int ncid, int varid, const size_t *indexp, long *ip);
+
+EXTERNL int
+nc_put_var1_float(int ncid, int varid, const size_t *indexp, const float *op);
+
+EXTERNL int
+nc_get_var1_float(int ncid, int varid, const size_t *indexp, float *ip);
+
+EXTERNL int
+nc_put_var1_double(int ncid, int varid, const size_t *indexp, const double *op);
+
+EXTERNL int
+nc_get_var1_double(int ncid, int varid, const size_t *indexp, double *ip);
+
+/* End {put,get}_var1 */
+/* Begin {put,get}_vara */
+
+EXTERNL int
+nc_put_vara(int ncid, int varid,
+ const size_t *start, const size_t *count, const void *value);
+
+EXTERNL int
+nc_get_vara(int ncid, int varid,
+ const size_t *start, const size_t *count, void *value);
+
+EXTERNL int
+nc_put_vara_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const char *op);
+
+EXTERNL int
+nc_get_vara_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, char *ip);
+
+EXTERNL int
+nc_put_vara_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const unsigned char *op);
+
+EXTERNL int
+nc_get_vara_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, unsigned char *ip);
+
+EXTERNL int
+nc_put_vara_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const signed char *op);
+
+EXTERNL int
+nc_get_vara_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, signed char *ip);
+
+EXTERNL int
+nc_put_vara_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const short *op);
+
+EXTERNL int
+nc_get_vara_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, short *ip);
+
+EXTERNL int
+nc_put_vara_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const int *op);
+
+EXTERNL int
+nc_get_vara_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, int *ip);
+
+EXTERNL int
+nc_put_vara_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const long *op);
+
+EXTERNL int
+nc_get_vara_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, long *ip);
+
+EXTERNL int
+nc_put_vara_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const float *op);
+
+EXTERNL int
+nc_get_vara_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, float *ip);
+
+EXTERNL int
+nc_put_vara_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const double *op);
+
+EXTERNL int
+nc_get_vara_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, double *ip);
+
+/* End {put,get}_vara */
+/* Begin {put,get}_vars */
+
+EXTERNL int
+nc_put_vars(int ncid, int varid,
+ const size_t *start, const size_t *count, const ptrdiff_t *stride,
+ const void * value);
+
+EXTERNL int
+nc_get_vars(int ncid, int varid,
+ const size_t *start, const size_t *count, const ptrdiff_t *stride,
+ void * value);
+
+EXTERNL int
+nc_put_vars_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const char *op);
+
+EXTERNL int
+nc_get_vars_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ char *ip);
+
+EXTERNL int
+nc_put_vars_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const unsigned char *op);
+
+EXTERNL int
+nc_get_vars_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ unsigned char *ip);
+
+EXTERNL int
+nc_put_vars_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const signed char *op);
+
+EXTERNL int
+nc_get_vars_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ signed char *ip);
+
+EXTERNL int
+nc_put_vars_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const short *op);
+
+EXTERNL int
+nc_get_vars_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ short *ip);
+
+EXTERNL int
+nc_put_vars_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const int *op);
+
+EXTERNL int
+nc_get_vars_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ int *ip);
+
+EXTERNL int
+nc_put_vars_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const long *op);
+
+EXTERNL int
+nc_get_vars_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ long *ip);
+
+EXTERNL int
+nc_put_vars_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const float *op);
+
+EXTERNL int
+nc_get_vars_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ float *ip);
+
+EXTERNL int
+nc_put_vars_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const double *op);
+
+EXTERNL int
+nc_get_vars_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ double *ip);
+
+/* End {put,get}_vars */
+/* Begin {put,get}_varm */
+
+EXTERNL int
+nc_put_varm(int ncid, int varid, const size_t *start, const size_t *count,
+ const ptrdiff_t *stride, const ptrdiff_t *imapp,
+ const void *value);
+
+EXTERNL int
+nc_get_varm(int ncid, int varid, const size_t *start, const size_t *count,
+ const ptrdiff_t *stride, const ptrdiff_t *imapp, void *value);
+
+EXTERNL int
+nc_put_varm_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const char *op);
+
+EXTERNL int
+nc_get_varm_text(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ char *ip);
+
+EXTERNL int
+nc_put_varm_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const unsigned char *op);
+
+EXTERNL int
+nc_get_varm_uchar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ unsigned char *ip);
+
+EXTERNL int
+nc_put_varm_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const signed char *op);
+
+EXTERNL int
+nc_get_varm_schar(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ signed char *ip);
+
+EXTERNL int
+nc_put_varm_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const short *op);
+
+EXTERNL int
+nc_get_varm_short(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ short *ip);
+
+EXTERNL int
+nc_put_varm_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const int *op);
+
+EXTERNL int
+nc_get_varm_int(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ int *ip);
+
+EXTERNL int
+nc_put_varm_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const long *op);
+
+EXTERNL int
+nc_get_varm_long(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ long *ip);
+
+EXTERNL int
+nc_put_varm_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const float *op);
+
+EXTERNL int
+nc_get_varm_float(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ float *ip);
+
+EXTERNL int
+nc_put_varm_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t *imapp,
+ const double *op);
+
+EXTERNL int
+nc_get_varm_double(int ncid, int varid,
+ const size_t *startp, const size_t *countp, const ptrdiff_t *stridep,
+ const ptrdiff_t * imapp,
+ double *ip);
+
+/* End {put,get}_varm */
+/* Begin {put,get}_var */
+
+EXTERNL int
+nc_put_var_text(int ncid, int varid, const char *op);
+
+EXTERNL int
+nc_get_var_text(int ncid, int varid, char *ip);
+
+EXTERNL int
+nc_put_var_uchar(int ncid, int varid, const unsigned char *op);
+
+EXTERNL int
+nc_get_var_uchar(int ncid, int varid, unsigned char *ip);
+
+EXTERNL int
+nc_put_var_schar(int ncid, int varid, const signed char *op);
+
+EXTERNL int
+nc_get_var_schar(int ncid, int varid, signed char *ip);
+
+EXTERNL int
+nc_put_var_short(int ncid, int varid, const short *op);
+
+EXTERNL int
+nc_get_var_short(int ncid, int varid, short *ip);
+
+EXTERNL int
+nc_put_var_int(int ncid, int varid, const int *op);
+
+EXTERNL int
+nc_get_var_int(int ncid, int varid, int *ip);
+
+EXTERNL int
+nc_put_var_long(int ncid, int varid, const long *op);
+
+EXTERNL int
+nc_get_var_long(int ncid, int varid, long *ip);
+
+EXTERNL int
+nc_put_var_float(int ncid, int varid, const float *op);
+
+EXTERNL int
+nc_get_var_float(int ncid, int varid, float *ip);
+
+EXTERNL int
+nc_put_var_double(int ncid, int varid, const double *op);
+
+EXTERNL int
+nc_get_var_double(int ncid, int varid, double *ip);
+
+#ifdef LOGGING
+
+#ifdef DEBUG
+EXTERNL void
+nc_exit(void);
+#endif
+
+/* This is only defined for netcdf-4 apparently */
+#ifdef USE_NETCDF4
+EXTERNL void
+nc_set_log_level(int new_level);
+/* Use this to turn off logging by calling
+ nc_log_level(NC_TURN_OFF_LOGGING) */
+#endif
+#define NC_TURN_OFF_LOGGING (-1)
+
+#else /* not LOGGING */
+
+#define nc_set_log_level(e)
+
+#endif
+
+/* End {put,get}_var */
+
+/* #ifdef _CRAYMPP */
+/*
+ * Public interfaces to better support
+ * CRAY multi-processor systems like T3E.
+ * A tip of the hat to NERSC.
+ */
+/*
+ * It turns out we need to declare and define
+ * these public interfaces on all platforms
+ * or things get ugly working out the
+ * FORTRAN interface. On !_CRAYMPP platforms,
+ * these functions work as advertised, but you
+ * can only use "processor element" 0.
+ */
+
+EXTERNL int
+nc__create_mp(const char *path, int cmode, size_t initialsz, int basepe,
+ size_t *chunksizehintp, int *ncidp);
+
+EXTERNL int
+nc__open_mp(const char *path, int mode, int basepe,
+ size_t *chunksizehintp, int *ncidp);
+
+EXTERNL int
+nc_delete(const char * path);
+
+EXTERNL int
+nc_delete_mp(const char * path, int basepe);
+
+EXTERNL int
+nc_set_base_pe(int ncid, int pe);
+
+EXTERNL int
+nc_inq_base_pe(int ncid, int *pe);
+
+/* #endif _CRAYMPP */
+
+/* Begin v2.4 backward compatiblity */
+/*
+ * defining NO_NETCDF_2 to the preprocessor
+ * turns off backward compatiblity declarations.
+ */
+#ifndef NO_NETCDF_2
+
+/*
+ * Backward compatible aliases
+ */
+#define FILL_BYTE NC_FILL_BYTE
+#define FILL_CHAR NC_FILL_CHAR
+#define FILL_SHORT NC_FILL_SHORT
+#define FILL_LONG NC_FILL_INT
+#define FILL_FLOAT NC_FILL_FLOAT
+#define FILL_DOUBLE NC_FILL_DOUBLE
+
+#define MAX_NC_DIMS NC_MAX_DIMS
+#define MAX_NC_ATTRS NC_MAX_ATTRS
+#define MAX_NC_VARS NC_MAX_VARS
+#define MAX_NC_NAME NC_MAX_NAME
+#define MAX_VAR_DIMS NC_MAX_VAR_DIMS
+
+/*
+ * If and when 64 integer types become ubiquitous,
+ * we would like to use NC_LONG for that.
+ * For now, define for backward compatibility.
+ */
+#define NC_LONG NC_INT
+
+/*
+ * Global error status
+ */
+EXTERNL int ncerr;
+
+#define NC_ENTOOL NC_EMAXNAME /* Backward compatibility */
+#define NC_EXDR (-32) /* */
+#define NC_SYSERR (-31)
+
+/*
+ * Avoid use of this meaningless macro
+ * Use sysconf(_SC_OPEN_MAX).
+ */
+#ifndef MAX_NC_OPEN
+#define MAX_NC_OPEN 32
+#endif
+
+/*
+ * Global options variable.
+ * Used to determine behavior of error handler.
+ */
+#define NC_FATAL 1
+#define NC_VERBOSE 2
+
+EXTERNL int ncopts; /* default is (NC_FATAL | NC_VERBOSE) */
+
+EXTERNL void
+nc_advise(const char *cdf_routine_name, int err, const char *fmt,...);
+
+/*
+ * C data type corresponding to a netCDF NC_LONG argument,
+ * a signed 32 bit object.
+ *
+ * This is the only thing in this file which architecture dependent.
+ */
+typedef int nclong;
+
+EXTERNL int
+nctypelen(nc_type datatype);
+
+EXTERNL int
+nccreate(const char* path, int cmode);
+
+EXTERNL int
+ncopen(const char* path, int mode);
+
+EXTERNL int
+ncsetfill(int ncid, int fillmode);
+
+EXTERNL int
+ncredef(int ncid);
+
+EXTERNL int
+ncendef(int ncid);
+
+EXTERNL int
+ncsync(int ncid);
+
+EXTERNL int
+ncabort(int ncid);
+
+EXTERNL int
+ncclose(int ncid);
+
+EXTERNL int
+ncinquire(int ncid, int *ndimsp, int *nvarsp, int *nattsp, int *unlimdimp);
+
+EXTERNL int
+ncdimdef(int ncid, const char *name, long len);
+
+EXTERNL int
+ncdimid(int ncid, const char *name);
+
+EXTERNL int
+ncdiminq(int ncid, int dimid, char *name, long *lenp);
+
+EXTERNL int
+ncdimrename(int ncid, int dimid, const char *name);
+
+EXTERNL int
+ncattput(int ncid, int varid, const char *name, nc_type xtype,
+ int len, const void *op);
+
+EXTERNL int
+ncattinq(int ncid, int varid, const char *name, nc_type *xtypep, int *lenp);
+
+EXTERNL int
+ncattget(int ncid, int varid, const char *name, void *ip);
+
+EXTERNL int
+ncattcopy(int ncid_in, int varid_in, const char *name, int ncid_out,
+ int varid_out);
+
+EXTERNL int
+ncattname(int ncid, int varid, int attnum, char *name);
+
+EXTERNL int
+ncattrename(int ncid, int varid, const char *name, const char *newname);
+
+EXTERNL int
+ncattdel(int ncid, int varid, const char *name);
+
+EXTERNL int
+ncvardef(int ncid, const char *name, nc_type xtype,
+ int ndims, const int *dimidsp);
+
+EXTERNL int
+ncvarid(int ncid, const char *name);
+
+EXTERNL int
+ncvarinq(int ncid, int varid, char *name, nc_type *xtypep,
+ int *ndimsp, int *dimidsp, int *nattsp);
+
+EXTERNL int
+ncvarput1(int ncid, int varid, const long *indexp, const void *op);
+
+EXTERNL int
+ncvarget1(int ncid, int varid, const long *indexp, void *ip);
+
+EXTERNL int
+ncvarput(int ncid, int varid, const long *startp, const long *countp,
+ const void *op);
+
+EXTERNL int
+ncvarget(int ncid, int varid, const long *startp, const long *countp,
+ void *ip);
+
+EXTERNL int
+ncvarputs(int ncid, int varid, const long *startp, const long *countp,
+ const long *stridep, const void *op);
+
+EXTERNL int
+ncvargets(int ncid, int varid, const long *startp, const long *countp,
+ const long *stridep, void *ip);
+
+EXTERNL int
+ncvarputg(int ncid, int varid, const long *startp, const long *countp,
+ const long *stridep, const long *imapp, const void *op);
+
+EXTERNL int
+ncvargetg(int ncid, int varid, const long *startp, const long *countp,
+ const long *stridep, const long *imapp, void *ip);
+
+EXTERNL int
+ncvarrename(int ncid, int varid, const char *name);
+
+EXTERNL int
+ncrecinq(int ncid, int *nrecvarsp, int *recvaridsp, long *recsizesp);
+
+EXTERNL int
+ncrecget(int ncid, long recnum, void **datap);
+
+EXTERNL int
+ncrecput(int ncid, long recnum, void *const *datap);
+
+/* End v2.4 backward compatiblity */
+#endif /*!NO_NETCDF_2*/
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* _NETCDF_ */
diff --git a/man/ncks.1 b/man/ncks.1
index dbdfdcb..9e4b367 100644
--- a/man/ncks.1
+++ b/man/ncks.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.47 2014/06/11 17:28:22 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.48 2014/09/12 04:16:51 zender Exp $ -*-nroff-*-
.\" Purpose: ROFF man page for ncks
.\" Usage:
.\" nroff -man ~/nco/man/ncks.1 | less
@@ -48,7 +48,7 @@ dbg_lvl]
[-Q] [\-q]
[\-R] [\-r] [\-\-rad] [\-\-ram_all] [\-s
.IR format ]
-[\-u] [\--unn] [\-v
+[\-u] [\--unn] [\-V] [\-v
.IR var [,...]]
[\-X
.IR box ]
@@ -90,10 +90,12 @@ Options
.BR \-H ,
.BR \-M ,
.BR \-m ,
+.BR \-Q ,
.BR \-q ,
.BR \-s ,
+.BR \-u ,
and
-.B \-u
+.B \-V
control the formatted appearance of
the data.
.PP
@@ -361,7 +363,7 @@ This displays all metadata pertaining to each variable, one variable
at a time.
.PP
.TP
-.B \-q
+.B \-Q
Toggle printing of dimension indices and coordinate values when printing
arrays.
The name of each variable will appear flush left in the output.
@@ -591,7 +593,7 @@ ncks \-d lon,260.,45. in.nc out.nc
.RE
.\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.47 2014/06/11 17:28:22 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/ncks.1,v 1.48 2014/09/12 04:16:51 zender Exp $ -*-nroff-*-
.\" Purpose: Trailer file for common ending to NCO man pages
.\" Usage:
.\" Append this file to end of NCO man pages immediately after marker
diff --git a/man/nco.1 b/man/nco.1
index 1dd20bf..f0463db 100644
--- a/man/nco.1
+++ b/man/nco.1
@@ -1,4 +1,4 @@
-.\" $Header: /cvsroot/nco/nco/man/nco.1,v 1.10 2014/05/29 18:00:26 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/nco.1,v 1.11 2014/09/15 14:49:29 zender Exp $ -*-nroff-*-
.\" Purpose: ROFF man page for nco
.\" Usage:
.\" nroff -man ~/nco/man/nco.1
@@ -113,7 +113,7 @@ special cases.
works well on all modern operating systems.
.\" NB: Append man_end.txt here
-.\" $Header: /cvsroot/nco/nco/man/nco.1,v 1.10 2014/05/29 18:00:26 zender Exp $ -*-nroff-*-
+.\" $Header: /cvsroot/nco/nco/man/nco.1,v 1.11 2014/09/15 14:49:29 zender Exp $ -*-nroff-*-
.\" Purpose: Trailer file for common ending to NCO man pages
.\" Usage:
.\" Append this file to end of NCO man pages immediately after marker
@@ -163,7 +163,6 @@ TeX-intensive portions.
.BR ncap2 (1),
.BR ncatted (1),
.BR ncbo (1),
-.BR ncdiff (1),
.BR nces (1),
.BR ncecat (1),
.BR ncflint (1),
@@ -175,7 +174,6 @@ TeX-intensive portions.
.BR ncrename (1),
.BR ncwa (1)
-
.SH HOMEPAGE
The
.B NCO
diff --git a/src/nco++/ncap2.cc b/src/nco++/ncap2.cc
index b489834..00d754a 100644
--- a/src/nco++/ncap2.cc
+++ b/src/nco++/ncap2.cc
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/ncap2.cc,v 1.194 2014/08/11 11:41:26 hmb Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncap2.cc,v 1.196 2014/09/16 14:14:56 zender Exp $ */
/* ncap2 -- netCDF arithmetic processor */
@@ -144,8 +144,8 @@ main(int argc,char **argv)
char *spt_arg[NCAP_SPT_NBR_MAX]; /* fxm: Arbitrary size, should be dynamic */
char *spt_arg_cat=NULL_CEWI; /* [sng] User-specified script */
- const char * const CVS_Id="$Id: ncap2.cc,v 1.194 2014/08/11 11:41:26 hmb Exp $";
- const char * const CVS_Revision="$Revision: 1.194 $";
+ const char * const CVS_Id="$Id: ncap2.cc,v 1.196 2014/09/16 14:14:56 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.196 $";
const char * const att_nm_tmp="eulaVlliF_"; /* For netCDF4 name hack */
const char * const opt_sht_lst="3467ACcD:FfhL:l:n:Oo:p:Rrs:S:t:vx-:"; /* [sng] Single letter command line options */
@@ -257,6 +257,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
@@ -750,28 +751,28 @@ main(int argc,char **argv)
xtr_lst_a=nco_nm_id_lst_free(xtr_lst_a,nbr_xtr);
} /* !FORCE_APPEND */
- if(fl_spt_usr == NULL_CEWI){
- /* No script file specified, look for command-line scripts */
- if(nbr_spt == 0) err_prn(fnc_nm,"No script file or command line scripts specified\nHINT Use, e.g., -s \"foo=bar\"\n");
-
+ // execute in ANTLR command-line script(s)
+ if(nbr_spt >0){
+ char *fl_cmd_usr=(char *)strdup("Command-line script");
/* Print all command-line scripts */
if(nco_dbg_lvl_get() >= nco_dbg_std){
for(idx=0;idx<nbr_spt;idx++)
(void)fprintf(stderr,"spt_arg[%d] = %s\n",idx,spt_arg[idx]);
} /* endif debug */
-
- /* Parse command line scripts */
- fl_spt_usr=(char *)strdup("Command-line script");
- }else{ /* ...endif command-line scripts, begin script file... */
- /* Open script file for reading */
+ /* Invoke ANTLR parser */
+ rcd=parse_antlr(prs_vtr,fl_cmd_usr,spt_arg_cat);
+ }
+
+ // execute in ANTLR user specified script
+ if(fl_spt_usr){
if((yyin=fopen(fl_spt_usr,"r")) == NULL_CEWI)
err_prn(fnc_nm,"Unable to open script file "+std::string(fl_spt_usr));
fclose(yyin);
- } /* end else script file */
-
- /* Invoke ANTLR parser */
- rcd=parse_antlr(prs_vtr,fl_spt_usr,spt_arg_cat);
-
+ /* Invoke ANTLR parser */
+ rcd=parse_antlr(prs_vtr,fl_spt_usr,(char *)NULL);
+ }
+
+
/* Get number of variables in output file */
rcd=nco_inq(out_id,(int *)NULL,&nbr_var_fl,(int *)NULL,(int *)NULL);
diff --git a/src/nco++/ncap2_utl.cc b/src/nco++/ncap2_utl.cc
index e2c5804..dfa3799 100644
--- a/src/nco++/ncap2_utl.cc
+++ b/src/nco++/ncap2_utl.cc
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco++/ncap2_utl.cc,v 1.159 2014/06/15 21:06:24 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco++/ncap2_utl.cc,v 1.160 2014/09/30 23:03:29 zender Exp $ */
/* Purpose: netCDF arithmetic processor */
@@ -453,7 +453,7 @@ ncap_var_abs /* Purpose: Find absolute value of each element of var */
if(var->undefined) return var;
/* deal with initial scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)nco_var_abs(var->type,var->sz,var->has_mss_val,var->mss_val,var->val);
return var;
@@ -565,7 +565,7 @@ ncap_var_fnc
if(nco_rth_prc_rnk(var_in->type) < nco_rth_prc_rnk_float) var_in=nco_var_cnf_typ(NC_FLOAT,var_in);
/* Deal with initial scan */
- if(var_in->val.vp==NULL) return var_in;
+ if(var_in->val.vp == NULL) return var_in;
op1=var_in->val;
sz=var_in->sz;
diff --git a/src/nco/mpncbo.c b/src/nco/mpncbo.c
index 60bb72c..f2e213a 100644
--- a/src/nco/mpncbo.c
+++ b/src/nco/mpncbo.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncbo.c,v 1.146 2014/07/15 18:48:54 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncbo.c,v 1.147 2014/09/16 14:14:55 zender Exp $ */
/* mpncbo -- netCDF binary operator */
@@ -125,8 +125,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
- const char * const CVS_Id="$Id: mpncbo.c,v 1.146 2014/07/15 18:48:54 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.146 $";
+ const char * const CVS_Id="$Id: mpncbo.c,v 1.147 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.147 $";
const char * const opt_sht_lst="3467ACcD:d:FhL:l:Oo:p:rRSt:v:X:xy:-:";
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -269,6 +269,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/mpncecat.c b/src/nco/mpncecat.c
index af82f91..38954ad 100644
--- a/src/nco/mpncecat.c
+++ b/src/nco/mpncecat.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncecat.c,v 1.124 2014/07/15 18:48:54 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncecat.c,v 1.125 2014/09/16 14:14:55 zender Exp $ */
/* ncecat -- netCDF ensemble concatenator */
@@ -100,8 +100,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
- const char * const CVS_Id="$Id: mpncecat.c,v 1.124 2014/07/15 18:48:54 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.124 $";
+ const char * const CVS_Id="$Id: mpncecat.c,v 1.125 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.125 $";
const char * const opt_sht_lst="3467ACcD:d:FHhL:l:n:Oo:p:rRSt:u:v:X:x-:";
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -223,6 +223,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/mpncflint.c b/src/nco/mpncflint.c
index 5eca1ae..9c64766 100644
--- a/src/nco/mpncflint.c
+++ b/src/nco/mpncflint.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncflint.c,v 1.123 2014/07/15 18:48:54 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncflint.c,v 1.124 2014/09/16 14:14:55 zender Exp $ */
/* mpncflint -- netCDF file interpolator */
@@ -111,8 +111,8 @@ main(int argc,char **argv)
char *optarg_lcl=NULL; /* [sng] Local copy of system optarg */
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
- const char * const CVS_Id="$Id: mpncflint.c,v 1.123 2014/07/15 18:48:54 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.123 $";
+ const char * const CVS_Id="$Id: mpncflint.c,v 1.124 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.124 $";
const char * const opt_sht_lst="3467ACcD:d:Fhi:L:l:Oo:p:rRSt:v:xw:-:";
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -243,6 +243,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/mpncpdq.c b/src/nco/mpncpdq.c
index 395dca9..7c32020 100644
--- a/src/nco/mpncpdq.c
+++ b/src/nco/mpncpdq.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncpdq.c,v 1.117 2014/07/15 18:48:54 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncpdq.c,v 1.118 2014/09/16 14:14:55 zender Exp $ */
/* mpncpdq -- netCDF pack, re-dimension, query */
@@ -117,8 +117,8 @@ main(int argc,char **argv)
char add_fst_sng[]="add_offset"; /* [sng] Unidata standard string for add offset */
char scl_fct_sng[]="scale_factor"; /* [sng] Unidata standard string for scale factor */
- const char * const CVS_Id="$Id: mpncpdq.c,v 1.117 2014/07/15 18:48:54 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.117 $";
+ const char * const CVS_Id="$Id: mpncpdq.c,v 1.118 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.118 $";
const char * const opt_sht_lst="3467Aa:CcD:d:FhL:l:M:Oo:P:p:RrSt:v:Ux-:";
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -242,6 +242,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/mpncra.c b/src/nco/mpncra.c
index d6858f5..c89cced 100644
--- a/src/nco/mpncra.c
+++ b/src/nco/mpncra.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncra.c,v 1.153 2014/07/15 18:48:54 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncra.c,v 1.155 2014/09/30 23:03:29 zender Exp $ */
/* This single source file may be called as three separate executables:
ncra -- netCDF record averager
@@ -150,8 +150,8 @@ main(int argc,char **argv)
char *optarg_lcl=NULL; /* [sng] Local copy of system optarg */
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
- const char * const CVS_Id="$Id: mpncra.c,v 1.153 2014/07/15 18:48:54 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.153 $";
+ const char * const CVS_Id="$Id: mpncra.c,v 1.155 2014/09/30 23:03:29 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.155 $";
const char * const opt_sht_lst="3467ACcD:d:FHhL:l:n:Oo:p:P:rRSt:v:xY:y:-:";
dmn_sct **dim;
@@ -274,6 +274,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
@@ -890,7 +891,7 @@ main(int argc,char **argv)
/* NB: nco_var_get() with same nc_id contains OpenMP critical region */
(void)nco_var_get(in_id,var_prc[idx]);
if(nco_prg_id == ncra){
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
/* Output variable type is "sticky" so only convert on first record */
if(rec_usd_cml == 0) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
/* Convert var_prc to type of var_prc_out in case type of variable on disk has changed */
@@ -1004,7 +1005,7 @@ main(int argc,char **argv)
/* NB: nco_var_get() with same nc_id contains OpenMP critical region */
(void)nco_var_get(in_id,var_prc[idx]);
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
/* var_prc[idx]=nco_typ_cnv_rth(var_prc[idx],nco_op_typ); */
/* Output variable type is "sticky" so only convert on first record */
if(fl_idx == 0) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
@@ -1144,7 +1145,7 @@ main(int argc,char **argv)
/* NB: nco_var_get() with same nc_id contains OpenMP critical region */
(void)nco_var_get(in_id,var_prc[idx]);
if(nco_prg_id == ncra){
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
var_prc[idx]=nco_typ_cnv_rth(var_prc[idx],nco_op_typ);
/* Output variable type is "sticky" so only convert on first record */
if(rec_usd_cml == 0) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
@@ -1256,7 +1257,7 @@ main(int argc,char **argv)
/* NB: nco_var_get() with same nc_id contains OpenMP critical region */
(void)nco_var_get(in_id,var_prc[idx]);
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
/* var_prc[idx]=nco_typ_cnv_rth(var_prc[idx],nco_op_typ); */
/* Output variable type is "sticky" so only convert on first record */
if(fl_idx == 0) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
diff --git a/src/nco/mpncwa.c b/src/nco/mpncwa.c
index f36343b..f9d14b2 100644
--- a/src/nco/mpncwa.c
+++ b/src/nco/mpncwa.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/mpncwa.c,v 1.146 2014/07/15 18:48:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/mpncwa.c,v 1.148 2014/09/30 23:03:29 zender Exp $ */
/* mpncwa -- netCDF weighted averager */
@@ -126,8 +126,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
char *wgt_nm=NULL;
- const char * const CVS_Id="$Id: mpncwa.c,v 1.146 2014/07/15 18:48:55 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.146 $";
+ const char * const CVS_Id="$Id: mpncwa.c,v 1.148 2014/09/30 23:03:29 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.148 $";
const char * const opt_sht_lst="3467Aa:B:bCcD:d:FhIL:l:M:m:nNOo:p:rRST:t:v:Ww:xy:-:";
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -263,6 +263,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
@@ -997,7 +998,7 @@ main(int argc,char **argv)
(void)nco_var_get(in_id,var_prc[idx]);
if(False) (void)fprintf(fp_stdout,"%s: DEBUG: fxm TODO nco354 Finished nco_var_get() %s\n",nco_prg_nm,var_prc[idx]->nm);
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
var_prc[idx]=nco_typ_cnv_rth(var_prc[idx],nco_op_typ);
var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
diff --git a/src/nco/ncap.c b/src/nco/ncap.c
index 755836b..fc95ea0 100644
--- a/src/nco/ncap.c
+++ b/src/nco/ncap.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncap.c,v 1.287 2014/07/09 20:47:53 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncap.c,v 1.288 2014/09/16 14:14:55 zender Exp $ */
/* ncap -- netCDF arithmetic processor */
@@ -126,8 +126,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
- const char * const CVS_Id="$Id: ncap.c,v 1.287 2014/07/09 20:47:53 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.287 $";
+ const char * const CVS_Id="$Id: ncap.c,v 1.288 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.288 $";
const char * const opt_sht_lst="3467ACcD:FfhL:l:n:Oo:p:Rrs:S:vx-:"; /* [sng] Single letter command line options */
cnk_dmn_sct **cnk_dmn=NULL_CEWI;
@@ -282,6 +282,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/ncap_utl.c b/src/nco/ncap_utl.c
index 8b9683b..17d8281 100644
--- a/src/nco/ncap_utl.c
+++ b/src/nco/ncap_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncap_utl.c,v 1.159 2014/06/15 21:06:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncap_utl.c,v 1.160 2014/09/30 23:03:29 zender Exp $ */
/* Purpose: netCDF arithmetic processor */
@@ -556,7 +556,7 @@ ncap_var_fnc(var_sct *var_in,sym_sct *app)
if(nco_rth_prc_rnk(var_in->type) < nco_rth_prc_rnk_float) var_in=nco_var_cnf_typ((nc_type)NC_FLOAT,var_in);
/* Handle initial scan differently */
- if(var_in->val.vp==NULL) return var_in;
+ if(var_in->val.vp == NULL) return var_in;
op1=var_in->val;
sz=var_in->sz;
@@ -603,7 +603,7 @@ ncap_var_scv_add(var_sct *var,scv_sct scv)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)var_scv_add(var->type,var->sz,var->has_mss_val,var->mss_val,var->val,&scv);
@@ -618,7 +618,7 @@ ncap_var_scv_sub(var_sct *var,scv_sct scv)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)ncap_scv_minus(&scv);
(void)var_scv_add(var->type,var->sz,var->has_mss_val,var->mss_val,var->val,&scv);
@@ -634,7 +634,7 @@ ncap_var_scv_mlt(var_sct *var,scv_sct scv)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL)
+ if(var->val.vp == NULL)
return var;
@@ -649,7 +649,7 @@ ncap_var_scv_dvd(var_sct *var,scv_sct scv)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)var_scv_dvd(var->type,var->sz,var->has_mss_val,var->mss_val,var->val,&scv);
return var;
@@ -664,7 +664,7 @@ ncap_scv_var_dvd(scv_sct scv,var_sct *var)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)scv_var_dvd(var->type,var->sz,var->has_mss_val,var->mss_val,&scv,var->val);
@@ -680,7 +680,7 @@ ncap_var_scv_mod(var_sct *var,scv_sct scv)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)var_scv_mod(var->type,var->sz,var->has_mss_val,var->mss_val,var->val,&scv);
return var;
@@ -695,7 +695,7 @@ ncap_scv_var_mod(scv_sct scv,var_sct *var)
(void)ncap_var_scv_cnf_typ_hgh_prc(&var,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)scv_var_mod(var->type,var->sz,var->has_mss_val,var->mss_val,&scv,var->val);
return var;
@@ -711,7 +711,7 @@ ncap_var_scv_pwr(var_sct *var,scv_sct scv)
(void)nco_scv_cnf_typ(var->type,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)var_scv_pwr(var->type,var->sz,var->has_mss_val,var->mss_val,var->val,&scv);
return var;
@@ -729,7 +729,7 @@ ncap_scv_var_pwr(scv_sct scv,var_sct *var)
(void)nco_scv_cnf_typ(var->type,&scv);
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)scv_var_pwr(var->type,var->sz,var->has_mss_val,var->mss_val,&scv,var->val);
return var;
@@ -742,7 +742,7 @@ ncap_var_abs(var_sct *var)
if(var->undefined) return var;
/* deal with inital scan */
- if(var->val.vp==NULL) return var;
+ if(var->val.vp == NULL) return var;
(void)nco_var_abs(var->type,var->sz,var->has_mss_val,var->mss_val,var->val);
return var;
diff --git a/src/nco/ncatted.c b/src/nco/ncatted.c
index bc10b1d..96e2115 100644
--- a/src/nco/ncatted.c
+++ b/src/nco/ncatted.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncatted.c,v 1.193 2014/07/11 20:55:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncatted.c,v 1.194 2014/09/23 18:43:06 zender Exp $ */
/* ncatted -- netCDF attribute editor */
@@ -174,8 +174,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncatted.c,v 1.193 2014/07/11 20:55:45 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.193 $";
+ const char * const CVS_Id="$Id: ncatted.c,v 1.194 2014/09/23 18:43:06 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.194 $";
const char * const opt_sht_lst="Aa:D:hl:Oo:p:Rr-:";
#if defined(__cplusplus) || defined(PGI_CC)
@@ -440,7 +440,6 @@ main(int argc,char **argv)
} /* end var_nm */
} /* Loop input names */
-
/* Catenate the time-stamped command line to the "history" global attribute */
if(HISTORY_APPEND) (void)nco_hst_att_cat(nc_id,cmd_ln);
diff --git a/src/nco/ncbo.c b/src/nco/ncbo.c
index 8108623..02a5200 100644
--- a/src/nco/ncbo.c
+++ b/src/nco/ncbo.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncbo.c,v 1.307 2014/07/11 20:55:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncbo.c,v 1.308 2014/09/16 14:14:55 zender Exp $ */
/* ncbo -- netCDF binary operator */
@@ -144,8 +144,8 @@ main(int argc,char **argv)
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncbo.c,v 1.307 2014/07/11 20:55:45 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.307 $";
+ const char * const CVS_Id="$Id: ncbo.c,v 1.308 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.308 $";
const char * const opt_sht_lst="3467ACcD:d:FG:g:hL:l:Oo:p:rRt:v:X:xzy:-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -278,6 +278,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/ncecat.c b/src/nco/ncecat.c
index a7cfb18..8f04488 100644
--- a/src/nco/ncecat.c
+++ b/src/nco/ncecat.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncecat.c,v 1.372 2014/08/21 18:22:44 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncecat.c,v 1.373 2014/09/16 04:02:05 zender Exp $ */
/* ncecat -- netCDF ensemble concatenator */
@@ -140,8 +140,8 @@ main(int argc,char **argv)
char grp_out_sfx[NCO_GRP_OUT_SFX_LNG+1L];
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncecat.c,v 1.372 2014/08/21 18:22:44 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.372 $";
+ const char * const CVS_Id="$Id: ncecat.c,v 1.373 2014/09/16 04:02:05 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.373 $";
const char * const opt_sht_lst="3467ACcD:d:Fg:G:HhL:l:Mn:Oo:p:rRt:u:v:X:x-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -268,6 +268,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/ncks.c b/src/nco/ncks.c
index 34debed..1b73700 100644
--- a/src/nco/ncks.c
+++ b/src/nco/ncks.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncks.c,v 1.737 2014/07/15 18:48:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncks.c,v 1.738 2014/09/12 04:16:51 zender Exp $ */
/* ncks -- netCDF Kitchen Sink */
@@ -140,7 +140,7 @@ main(int argc,char **argv)
nco_bool PRN_GLB_METADATA=False; /* [flg] Print global metadata */
nco_bool PRN_GLB_METADATA_TGL=False; /* [flg] Toggle print global metadata Option M */
nco_bool PRN_MSS_VAL_BLANK=True; /* [flg] Print missing values as blanks */
- nco_bool PRN_QUIET=False; /* [flg] Turn off all printing to screen */
+ nco_bool PRN_QUENCH=False; /* [flg] Quench (turn-off) all printing to screen */
nco_bool PRN_VAR_DATA=False; /* [flg] Print variable data */
nco_bool PRN_VAR_DATA_TGL=False; /* [flg] Toggle print variable data Option H */
nco_bool PRN_VAR_METADATA=False; /* [flg] Print variable metadata */
@@ -183,9 +183,9 @@ main(int argc,char **argv)
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncks.c,v 1.737 2014/07/15 18:48:55 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.737 $";
- const char * const opt_sht_lst="34567aABb:CcD:d:FG:g:HhL:l:MmOo:Pp:qQrRs:uv:X:xz-:";
+ const char * const CVS_Id="$Id: ncks.c,v 1.738 2014/09/12 04:16:51 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.738 $";
+ const char * const opt_sht_lst="34567aABb:CcD:d:FG:g:HhL:l:MmOo:Pp:qQrRs:uVv:X:xz-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -285,8 +285,8 @@ main(int argc,char **argv)
{"noclobber",no_argument,0,0},
{"no-clobber",no_argument,0,0},
{"no_clobber",no_argument,0,0},
- {"no_dmn_var_nm",no_argument,0,0}, /* [flg] Print dimension/variable names */
- {"no_nm_prn",no_argument,0,0}, /* [flg] Print dimension/variable names */
+ {"no_dmn_var_nm",no_argument,0,0}, /* [flg] Omit variable and dimension names and indices but print all values */
+ {"no_nm_prn",no_argument,0,0}, /* [flg] Omit variable and dimension names and indices but print all values */
{"rad",no_argument,0,0}, /* [flg] Retain all dimensions */
{"retain_all_dimensions",no_argument,0,0}, /* [flg] Retain all dimensions */
{"orphan_dimensions",no_argument,0,0}, /* [flg] Retain all dimensions */
@@ -390,7 +390,8 @@ main(int argc,char **argv)
{"print",required_argument,0,'P'},
{"prn",required_argument,0,'P'},
{"path",required_argument,0,'p'},
- {"quiet",no_argument,0,'q'},
+ {"quench",no_argument,0,'q'},
+ {"quiet",no_argument,0,'Q'},
{"retain",no_argument,0,'R'},
{"rtn",no_argument,0,'R'},
{"revision",no_argument,0,'r'},
@@ -398,6 +399,7 @@ main(int argc,char **argv)
{"sng_fmt",required_argument,0,'s'},
{"string",required_argument,0,'s'},
{"units",no_argument,0,'u'},
+ {"var_val",no_argument,0,'V'}, /* [flg] Print variable values only */
{"variable",required_argument,0,'v'},
{"auxiliary",required_argument,0,'X'},
{"exclude",no_argument,0,'x'},
@@ -530,12 +532,12 @@ main(int argc,char **argv)
if(!strcmp(opt_crr,"msa_usr_rdr") || !strcmp(opt_crr,"msa_user_order")) MSA_USR_RDR=True; /* [flg] Multi-Slab Algorithm returns hyperslabs in user-specified order */
if(!strcmp(opt_crr,"no_blank") || !strcmp(opt_crr,"no-blank") || !strcmp(opt_crr,"noblank")) PRN_MSS_VAL_BLANK=!PRN_MSS_VAL_BLANK;
if(!strcmp(opt_crr,"no_clb") || !strcmp(opt_crr,"no-clobber") || !strcmp(opt_crr,"no_clobber") || !strcmp(opt_crr,"noclobber")) FORCE_NOCLOBBER=!FORCE_NOCLOBBER;
- if(!strcmp(opt_crr,"no_dmn_var_nm") || !strcmp(opt_crr,"no_nm_prn")) PRN_DMN_VAR_NM=False;
+ if(!strcmp(opt_crr,"no_nm_prn") || !strcmp(opt_crr,"no_dmn_var_nm")) PRN_DMN_VAR_NM=False; /* endif "no_nm_prn" */
if(!strcmp(opt_crr,"rad") || !strcmp(opt_crr,"retain_all_dimensions") || !strcmp(opt_crr,"orphan_dimensions") || !strcmp(opt_crr,"rph_dmn")) RETAIN_ALL_DIMS=True;
if(!strcmp(opt_crr,"ram_all") || !strcmp(opt_crr,"create_ram") || !strcmp(opt_crr,"diskless_all")) RAM_CREATE=True; /* [flg] Open (netCDF3) file(s) in RAM */
if(!strcmp(opt_crr,"ram_all") || !strcmp(opt_crr,"open_ram") || !strcmp(opt_crr,"diskless_all")) RAM_OPEN=True; /* [flg] Create file in RAM */
if(!strcmp(opt_crr,"secret") || !strcmp(opt_crr,"scr") || !strcmp(opt_crr,"shh")){
- (void)fprintf(stdout,"Hidden/unsupported NCO options:\nCompiler used\t\t--cmp, --compiler\nCopyright\t\t--cpy, --copyright, --license\nHidden functions\t--scr, --ssh, --secret\nLibrary used\t\t--lbr, --library\nMemory clean\t\t--mmr_cln, --cln, --clean\nMemory dirty\t\t--mmr_drt, --drt, --dirty\nMPI implementation\t--mpi_implementation\nNameless printing\t--no_nm_prn, --no_dmn_var_nm\nNo-clobber files\t--no_clb, --no-clobber\nPseudonym\t\t--pseudonym, -Y (ncra only)\nSpinlock\t\t [...]
+ (void)fprintf(stdout,"Hidden/unsupported NCO options:\nCompiler used\t\t--cmp, --compiler\nCopyright\t\t--cpy, --copyright, --license\nHidden functions\t--scr, --ssh, --secret\nLibrary used\t\t--lbr, --library\nMemory clean\t\t--mmr_cln, --cln, --clean\nMemory dirty\t\t--mmr_drt, --drt, --dirty\nMPI implementation\t--mpi_implementation\nNo-clobber files\t--no_clb, --no-clobber\nPseudonym\t\t--pseudonym, -Y (ncra only)\nSpinlock\t\t--spinlock\nStreams\t\t\t--srm\nSysconf\t\t\t--sy [...]
nco_exit(EXIT_SUCCESS);
} /* endif "shh" */
if(!strcmp(opt_crr,"srm")) PRN_SRM=True; /* [flg] Print ncStream */
@@ -675,8 +677,8 @@ main(int argc,char **argv)
case 'p': /* Common file path */
fl_pth=(char *)strdup(optarg);
break;
- case 'q': /* [flg] Turn off all printing to screen */
- PRN_QUIET=True; /* [flg] Turn off all printing to screen */
+ case 'q': /* [flg] Quench (turn-off) all printing to screen */
+ PRN_QUENCH=True; /* [flg] Quench (turn-off) all printing to screen */
break;
case 'Q': /* Turn off printing of dimension indices and coordinate values */
PRN_DMN_IDX_CRD_VAL=!PRN_DMN_IDX_CRD_VAL;
@@ -703,6 +705,10 @@ main(int argc,char **argv)
case 'u': /* Toggle printing dimensional units */
PRN_DMN_UNITS_TGL=True;
break;
+ case 'V': /* Print variable values only (same as -Q --no_nm_prn) */
+ PRN_DMN_IDX_CRD_VAL=False;
+ PRN_DMN_VAR_NM=False;
+ break;
case 'v': /* Variables to extract/exclude */
/* Replace commas with hashes when within braces (convert back later) */
optarg_lcl=(char *)strdup(optarg);
@@ -848,8 +854,8 @@ main(int argc,char **argv)
if(PRN_VAR_METADATA_TGL) PRN_VAR_METADATA=True; else PRN_VAR_METADATA=False;
if(PRN_GLB_METADATA_TGL) PRN_GLB_METADATA=True; else PRN_GLB_METADATA=False;
} /* !PRN_VRB */
- /* PRN_QUIET turns off all printing to screen */
- if(PRN_QUIET) PRN_VAR_DATA=PRN_VAR_METADATA=PRN_GLB_METADATA=False;
+ /* PRN_QUENCH turns off all printing to screen */
+ if(PRN_QUENCH) PRN_VAR_DATA=PRN_VAR_METADATA=PRN_GLB_METADATA=False;
} /* !fl_out */
if(fl_bnr && !fl_out){
diff --git a/src/nco/nco.h b/src/nco/nco.h
index 55ff133..8b15ed7 100644
--- a/src/nco/nco.h
+++ b/src/nco/nco.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco.h,v 1.514 2014/07/07 06:04:22 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco.h,v 1.518 2014/09/25 05:12:09 zender Exp $ */
/* Purpose: netCDF Operator (NCO) definitions */
@@ -13,6 +13,7 @@
#ifndef NCO_H /* Contents have not yet been inserted in current source file */
#define NCO_H
+/* Token added by Pedro to help debugging in nco_grp_*.c */
#define DEBUG_LEAKS
/* Standard header files */
@@ -20,6 +21,9 @@
/* 3rd party vendors */
#include <netcdf.h> /* netCDF definitions and C library */
+#ifdef NC_HAVE_META_H
+# include <netcdf_meta.h> /* NC_VERSION_..., NC_HAVE_RENAME_GRP */
+#endif /* !NC_HAVE_META_H */
/* Personal headers */
#include "nco_typ.h" /* Type definitions, opaque types */
@@ -241,6 +245,22 @@ extern "C" {
/* Compatibility tokens for when NCO compiled with older netcdf.h
It is hard to track where/when many tokens defined
Easiest to individually check for pre-definition of each */
+
+ /* 20140924: netCDF meta-information available in library versions 4.3.3-rc2
+ Define compatibility tokens for earlier libraries equivalent to 3.6.0 */
+#ifndef NC_VERSION_MAJOR
+ #define NC_VERSION_MAJOR 3
+#endif /* !NC_VERSION_MAJOR */
+#ifndef NC_VERSION_MINOR
+ #define NC_VERSION_MINOR 6
+#endif /* !NC_VERSION_MINOR */
+#ifndef NC_VERSION_PATCH
+ #define NC_VERSION_PATCH 0
+#endif /* !NC_VERSION_PATCH */
+#ifndef NCO_NC_LIB_VERSION
+# define NCO_NC_LIB_VERSION ( NC_VERSION_MAJOR * 100 + NC_VERSION_MINOR * 10 + NC_VERSION_PATCH )
+#endif /* !NCO_NC_LIB_VERSION */
+
/* Compatibility tokens new to netCDF4 netcdf.h: */
#ifndef NC_NETCDF4
# define NC_NETCDF4 0x1000 /* Use netCDF-4/HDF5 format. Mode flag for nc_create(). */
@@ -536,8 +556,8 @@ extern "C" {
}; /* end nco_mrd_cnv */
enum nco_rth_cnv{ /* [enm] Arithmetic convention to assume */
- nco_rth_flt_flt, /* 0 Keep single-precision floating point (default and NCO historical norm) */
- nco_rth_flt_dbl /* 1 Promote single-precision floating point to double before arithmetic */
+ nco_rth_flt_flt, /* 0 Keep single-precision floating point (NCO default through version 4.3.5 20130927) */
+ nco_rth_flt_dbl /* 1 Promote single-precision floating point to double before arithmetic (NCO default since version 4.3.6 20130927)*/
}; /* end nco_rth_cnv */
enum nco_upk_cnv{ /* [enm] Unpacking convention to assume */
diff --git a/src/nco/nco_att_utl.c b/src/nco/nco_att_utl.c
index 8e0e661..d451062 100644
--- a/src/nco/nco_att_utl.c
+++ b/src/nco/nco_att_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.c,v 1.174 2014/06/15 21:06:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.c,v 1.178 2014/09/26 23:03:48 zender Exp $ */
/* Purpose: Attribute utilities */
@@ -27,15 +27,15 @@ nco_aed_prc /* [fnc] Process single attribute edit for single variable */
/* Purpose: Process single attribute edit for single variable */
/* If var_id == NC_GLOBAL ( = -1) then global attribute will be edited */
-
+
const char fnc_nm[]="nco_aed_prc()"; /* [sng] Function name */
-
+
#ifdef NCO_NETCDF4_AND_FILLVALUE
char att_nm_tmp[]="eulaVlliF_"; /* String of same length as "_FillValue" for netCDF4 name hack */
nco_bool flg_fmt_netCDF4=False; /* [flg] File format is netCDF4 */
nco_bool flg_netCDF4_rename_trick=False; /* [flg] Re-name _FillValue in order to create/modify/overwrite it */
#endif /* !NCO_NETCDF4_AND_FILLVALUE */
-
+
char att_nm[NC_MAX_NAME];
char var_nm[NC_MAX_NAME];
@@ -44,11 +44,11 @@ nco_aed_prc /* [fnc] Process single attribute edit for single variable */
int rcd=NC_NOERR; /* [rcd] Return code */
int rcd_inq_att=NC_NOERR; /* [rcd] Return code from nco_inq_att() */
long att_sz;
-
+
nc_type att_typ;
void *att_val_new=NULL;
-
+
if(var_id == NC_GLOBAL){
/* Get number of global attributes in file */
(void)nco_inq(nc_id,(int *)NULL,(int *)NULL,&nbr_att,(int *)NULL);
@@ -57,7 +57,7 @@ nco_aed_prc /* [fnc] Process single attribute edit for single variable */
/* Get name and number of attributes for variable */
(void)nco_inq_var(nc_id,var_id,var_nm,(nc_type *)NULL,(int *)NULL,(int *)NULL,&nbr_att);
} /* end else */
-
+
if(nco_dbg_lvl_get() >= nco_dbg_var && nco_dbg_lvl_get() != nco_dbg_dev) (void)fprintf(stdout,"%s: INFO %s examining variable %s\n",nco_prg_nm_get(),fnc_nm,var_nm);
/* Query attribute metadata when attribute name was specified */
@@ -649,67 +649,67 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
X_CST_PTR_CST_PTR_Y(char,aed_arg)) /* I/O [sng] List of user-specified attribute edits (delimiters are changed to NULL on output */
{
/* Purpose: Parse name, type, size, and value elements of comma-separated list of attribute edit information
- Routine merely evaluates syntax of input expressions
- Routine does not validate attributes or variables against those present in input netCDF file */
-
+ Routine merely evaluates syntax of input expressions
+ Routine does not validate attributes or variables against those present in input netCDF file */
+
/* Options are:
- -a att_nm,var_nm,mode,att_typ,att_val (modifies attribute att_nm for the single variable var_nm)
-
- -a att_nm,,mode,att_typ,att_val (modifies attribute att_nm for every variable in file)
- If option -a is given with var_nm = NULL, then var_nm is expanded into every variable name in file
- Thus attribute editing operation is performed on every variable in file.
-
- mode,att_nm,att_typ,att_val (modifies global attribute att_nm for file)
- This option may be combined with modes -a, -c, -d, or -o to specify
- appending to, changing, deleting, or overwriting, any existing global attribute named att_nm
-
- One mode must be set for each edited attribute: append (a), create (c), delete (d), modify (m), or overwrite (o).
- -a: Attribute append mode
- Append value att_val to current var_nm attribute att_nm value att_val, if any.
- If var_nm does not have an attribute att_nm, there is no effect.
-
- -c: Attribute create mode
- Create variable var_nm attribute att_nm with att_val if att_nm does not yet exist.
- If var_nm already has an attribute att_nm, there is no effect.
-
- -d: Attribute delete mode
- Delete current var_nm attribute att_nm.
- If var_nm does not have an attribute att_nm, there is no effect.
-
- -m: Attribute modify mode
- Change value of current var_nm attribute att_nm to value att_val.
- If var_nm does not have an attribute att_nm, there is no effect.
-
- -o: Attribute overwrite mode
- Write attribute att_nm with value att_val to variable var_nm, overwriting existing attribute att_nm, if any.
- This is default mode. */
-
+ -a att_nm,var_nm,mode,att_typ,att_val (modifies attribute att_nm for the single variable var_nm)
+
+ -a att_nm,,mode,att_typ,att_val (modifies attribute att_nm for every variable in file)
+ If option -a is given with var_nm = NULL, then var_nm is expanded into every variable name in file
+ Thus attribute editing operation is performed on every variable in file.
+
+ mode,att_nm,att_typ,att_val (modifies global attribute att_nm for file)
+ This option may be combined with modes -a, -c, -d, or -o to specify
+ appending to, changing, deleting, or overwriting, any existing global attribute named att_nm
+
+ One mode must be set for each edited attribute: append (a), create (c), delete (d), modify (m), or overwrite (o).
+ -a: Attribute append mode
+ Append value att_val to current var_nm attribute att_nm value att_val, if any.
+ If var_nm does not have an attribute att_nm, there is no effect.
+
+ -c: Attribute create mode
+ Create variable var_nm attribute att_nm with att_val if att_nm does not yet exist.
+ If var_nm already has an attribute att_nm, there is no effect.
+
+ -d: Attribute delete mode
+ Delete current var_nm attribute att_nm.
+ If var_nm does not have an attribute att_nm, there is no effect.
+
+ -m: Attribute modify mode
+ Change value of current var_nm attribute att_nm to value att_val.
+ If var_nm does not have an attribute att_nm, there is no effect.
+
+ -o: Attribute overwrite mode
+ Write attribute att_nm with value att_val to variable var_nm, overwriting existing attribute att_nm, if any.
+ This is default mode. */
+
aed_sct *aed_lst;
-
+
char **arg_lst;
-
+
char *msg_sng=NULL_CEWI; /* [sng] Error message */
-
+
const char * const dlm_sng=",";
-
+
const long idx_att_val_arg=4L; /* Number of required delimiters preceding attribute values in -a argument list */
-
+
int idx;
int arg_nbr;
-
+
long lmn;
-
+
nco_bool ATT_TYP_INHERIT; /* [flg] Inherit attribute type from pre-existing attribute */
nco_bool NCO_SYNTAX_ERROR=False; /* [flg] Syntax error in attribute-edit specification */
-
+
aed_lst=(aed_sct *)nco_malloc(nbr_aed*sizeof(aed_sct));
-
+
for(idx=0;idx<nbr_aed;idx++){
ATT_TYP_INHERIT=False; /* [flg] Inherit attribute type from pre-existing attribute */
-
+
/* Process attribute edit specifications as normal text list */
arg_lst=nco_lst_prs_2D(aed_arg[idx],dlm_sng,&arg_nbr);
-
+
/* Check syntax */
if(arg_nbr < 5){ /* Need more info */
msg_sng=strdup("Specification has fewer than five arguments---need more information");
@@ -722,7 +722,7 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
NCO_SYNTAX_ERROR=True;
}else if(arg_lst[idx_att_val_arg] == NULL && *(arg_lst[2]) != 'd' && *(arg_lst[3]) == 'c'){
/* ... value is not specified except that att_val = "" is valid for character type */
- msg_sng=strdup("Value must be explicitly specified for all modes except delete (although an empty string value is permissible for attributes of type NC_NCAR and NC_STRING)");
+ msg_sng=strdup("Value must be explicitly specified for all modes except delete (although an empty string value is permissible for attributes of type NC_CHAR and NC_STRING)");
NCO_SYNTAX_ERROR=True;
} /* end else */
@@ -734,10 +734,10 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
/* Initialize structure */
/* aed strings not explicitly set by user remain NULL,
- i.e., specifying default setting appears as if nothing was set.
- Hopefully, in routines that follow, the branch followed by an aed for which
- all default settings were specified (e.g.,"-a foo,,,,") will yield same result
- as branch for which all defaults were set. */
+ i.e., specifying default setting appears as if nothing was set.
+ Hopefully, in routines that follow, the branch followed by an aed for which
+ all default settings were specified (e.g.,"-a foo,,,,") will yield same result
+ as branch for which all defaults were set. */
aed_lst[idx].att_nm=NULL;
aed_lst[idx].var_nm=NULL;
aed_lst[idx].val.vp=NULL;
@@ -754,10 +754,10 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
/* Set mode of current aed structure */
/* Convert single letter code to mode enum */
/* if(!strcmp("append",arg_lst[2])){aed_lst[idx].mode=aed_append;
- }else if(!strcmp("create",arg_lst[2])){aed_lst[idx].mode=aed_create;
- }else if(!strcmp("delete",arg_lst[2])){aed_lst[idx].mode=aed_delete;
- }else if(!strcmp("modify",arg_lst[2])){aed_lst[idx].mode=aed_modify;
- }else if(!strcmp("overwrite",arg_lst[2])){aed_lst[idx].mode=aed_overwrite;} */
+ }else if(!strcmp("create",arg_lst[2])){aed_lst[idx].mode=aed_create;
+ }else if(!strcmp("delete",arg_lst[2])){aed_lst[idx].mode=aed_delete;
+ }else if(!strcmp("modify",arg_lst[2])){aed_lst[idx].mode=aed_modify;
+ }else if(!strcmp("overwrite",arg_lst[2])){aed_lst[idx].mode=aed_overwrite;} */
switch(*(arg_lst[2])){
case 'a': aed_lst[idx].mode=aed_append; break;
case 'c': aed_lst[idx].mode=aed_create; break;
@@ -840,25 +840,25 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
/* Set size of current aed structure */
if(aed_lst[idx].type == NC_CHAR){
/* 20100409 Remove extra space formerly allocated for NUL-terminator
- This caused each append to insert a NUL at end of NC_CHAR attributes
- Multiple appends would then result in attributes pockmarked with NULs
- Solves TODO nco985
- Not yet sure there are no ill effects though...
- 20120902 Apparently this fixed some of append mode and broke other modes
- Dave Allured reports on NCO Discussion forum that create, modify, and overwrite
- modes have not added NUL to NC_CHAR attributes since 4.0.2.
- strdup() below attaches trailing NUL to user-specified string
- Retaining this NUL is obliquely discussed in netCDF Best Practices document:
- http://www.unidata.ucar.edu/software/netcdf/docs/BestPractices.html#Strings%20and%20Variables%20of%20type%20char
- Two behaviors are possible:
- 1. Terminate user-specified strings with NUL before saving as attributes
- This behavior was used in 4.0.2-4.2.2 (201007-201210)
- 2. Do not NUL-terminate user-specified strings
- This behavior was re-instituted in 4.3.0 (201204)
- Between 201210 and 201304 the behavior was unclear to me...
- ncgen may be interpreted as utilizing Behavior 2, since attributes in CDL are not NUL-terminated after conversion to netCDF binary format
- As of 20130327, NCO chooses Behavior 2 (like ncgen)
- To revert to Behavior 1, uncomment next line to create space for NUL-terminator */
+ This caused each append to insert a NUL at end of NC_CHAR attributes
+ Multiple appends would then result in attributes pockmarked with NULs
+ Solves TODO nco985
+ Not yet sure there are no ill effects though...
+ 20120902 Apparently this fixed some of append mode and broke other modes
+ Dave Allured reports on NCO Discussion forum that create, modify, and overwrite
+ modes have not added NUL to NC_CHAR attributes since 4.0.2.
+ strdup() below attaches trailing NUL to user-specified string
+ Retaining this NUL is obliquely discussed in netCDF Best Practices document:
+ http://www.unidata.ucar.edu/software/netcdf/docs/BestPractices.html#Strings%20and%20Variables%20of%20type%20char
+ Two behaviors are possible:
+ 1. Terminate user-specified strings with NUL before saving as attributes
+ This behavior was used in 4.0.2-4.2.2 (201007-201210)
+ 2. Do not NUL-terminate user-specified strings
+ This behavior was re-instituted in 4.3.0 (201204)
+ Between 201210 and 201304 the behavior was unclear to me...
+ ncgen may be interpreted as utilizing Behavior 2, since attributes in CDL are not NUL-terminated after conversion to netCDF binary format
+ As of 20130327, NCO chooses Behavior 2 (like ncgen)
+ To revert to Behavior 1, uncomment next line to create space for NUL-terminator */
/* aed_lst[idx].sz=(arg_lst[idx_att_val_arg] == NULL) ? 1L : strlen(arg_lst[idx_att_val_arg])+1L; */ /* Behavior 1 */
aed_lst[idx].sz=(arg_lst[idx_att_val_arg] == NULL) ? 0L : strlen(arg_lst[idx_att_val_arg])+0L; /* Behavior 2 (like ncgen) */
}else{
@@ -869,8 +869,8 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
/* Set value of current aed structure */
if(aed_lst[idx].type == NC_CHAR){
/* strdup() attaches a trailing NUL to the user-specified string
- Retaining is obliquely discussed in netCDF Best Practices document:
- http://www.unidata.ucar.edu/software/netcdf/docs/BestPractices.html#Strings%20and%20Variables%20of%20type%20char */
+ Retaining is obliquely discussed in netCDF Best Practices document:
+ http://www.unidata.ucar.edu/software/netcdf/docs/BestPractices.html#Strings%20and%20Variables%20of%20type%20char */
aed_lst[idx].val.cp=(nco_char *)strdup(arg_lst[idx_att_val_arg]);
}else if(aed_lst[idx].type == NC_STRING){
aed_lst[idx].val.vp=(void *)nco_malloc(aed_lst[idx].sz*nco_typ_lng(aed_lst[idx].type));
@@ -954,7 +954,6 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
} /* end loop over aed */
-
if(nco_dbg_lvl_get() >= nco_dbg_io){
for(idx=0;idx<nbr_aed;idx++){
(void)fprintf(stderr,"aed_lst[%d].att_nm = %s\n",idx,aed_lst[idx].att_nm);
@@ -967,76 +966,89 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
} /* end loop over idx */
} /* end debug */
-
return aed_lst;
} /* end nco_prs_aed_lst() */
-int /* [flg] Variable and attribute names are conjoined */
-nco_prs_att /* [fnc] Parse conjoined variable and attribute names */
-(rnm_sct * const rnm_att, /* I/O [sct] Structure [Variable:]Attribute name on input, Attribute name on output */
- char * const var_nm, /* O [sng] Variable name, if any */
- nco_bool * const IS_GLB_GRP_ATT) /* O [flg] Attribute is Global or Group attribute */
+int /* [flg] Error code */
+nco_prs_att /* [fnc] Parse conjoined object and attribute names */
+(rnm_sct * const rnm_att, /* I/O [sct] Structure [Object@]Attribute name on input, Attribute name on output */
+ char * const obj_nm, /* O [sng] Object name, if any */
+ nco_bool *mch_grp_all, /* O [flg] Rename all group attributes */
+ nco_bool *mch_grp_glb, /* O [flg] Rename only global attributes */
+ nco_bool *mch_obj_all) /* O [flg] Rename all group and variable attributes */
{
- /* Purpose: Check if attribute name space contains variable name before attribute name in form var_nm at att_nm
- Variable name is then extracted from from old_nm and new_nm as necessary
- Valid syntax of combined string is actually [.][var_nm]@att_nm
- Preceding period means (to ncrename) that variable need not be present
- var_nm is optional and, if omitted, the attribute is assumed to be a global (or group) attribute
- In this case the var_nm string is set to "global" for (unused) compatibility with ncatted
- Also, the case-independent var_nm "global" on input, is assumed to mean a global attribute
+ /* Purpose: Check if attribute name space contains object name before attribute name in form obj_nm at att_nm
+ Object name is then extracted from from old_nm and new_nm as necessary
+ Valid syntax of combined string is actually [.][obj_nm]@att_nm
+ Preceding period means (to ncrename) that object need not be present
+ obj_nm is optional and, if omitted, the attribute is assumed to be a global (or group) attribute
+ In this case the obj_nm string is set to "global" for (unused) compatibility with ncatted
+ Also, the case-independent obj_nm "global" on input, is assumed to mean a global attribute
NB: Function replaces delimiter character in input by NUL so that, on output, rnm_att is just attribute name */
- const char dlm_chr='@'; /* Character delimiting variable from attribute name */
+ const char dlm_chr='@'; /* Character delimiting object from attribute name */
char *dlm_ptr; /* Delimiter pointer */
+ nco_bool obj_nm_abb=False; /* [flg] Object name is an abbreviation */
+
size_t att_nm_lng;
- size_t var_nm_lng;
+ size_t obj_nm_lng;
- /* Initialize var_nm to NUL */
- var_nm[0]='\0';
+ /* Initialize obj_nm to NUL */
+ *obj_nm='\0';
dlm_ptr=strchr(rnm_att->old_nm,dlm_chr);
- if(dlm_ptr == NULL) return NCO_ERR;
+ if(!dlm_ptr) *mch_obj_all=True;
att_nm_lng=strlen(rnm_att->old_nm);
/* Return if delimiter appears to be part of attribute name */
- if(att_nm_lng < 3 || dlm_ptr == rnm_att->old_nm+att_nm_lng-1) return NCO_ERR;
-
- if(dlm_ptr == rnm_att->old_nm || !strncmp(rnm_att->old_nm,".@",2) || !strcasecmp(rnm_att->old_nm,"global")){
- *IS_GLB_GRP_ATT=True;
- strcpy(var_nm,"global");
- } /* endif global */
-
- /* NUL-terminate variable name */
- *dlm_ptr='\0';
+ if(att_nm_lng < 3L || dlm_ptr == rnm_att->old_nm+att_nm_lng-1L) return NCO_ERR;
- if(!*IS_GLB_GRP_ATT){
- var_nm_lng=strlen(rnm_att->old_nm);
- if(var_nm_lng > NC_MAX_NAME){
- (void)fprintf(stdout,"%s: ERROR Derived variable name \"%s\" too long\n",nco_prg_nm_get(),rnm_att->old_nm);
- nco_exit(EXIT_FAILURE);
- } /* end if */
- /* Copy variable name only */
- strcpy(var_nm,rnm_att->old_nm);
- } /* *IS_GLB_GRP_ATT */
-
- /* Point old var_nm at att_nm name to attribute name att_nm alone */
- rnm_att->old_nm=dlm_ptr+1;
+ if(dlm_ptr){
+ /* Handle cases where object string makes use of abbreviations */
+ if(dlm_ptr == rnm_att->old_nm){
+ /* Strings that start with '@' imply all groups (and no variables) */
+ strcpy(obj_nm,"group");
+ }else if(!strncasecmp(rnm_att->old_nm,".@",2L)){
+ /* Strings that start with '.@' imply all groups are optional (and no variables) */
+ strcpy(obj_nm,".group");
+ } /* end else abbreviations */
+
+ /* NUL-terminate object name in user-supplied string */
+ *dlm_ptr='\0';
+
+ if(!obj_nm_abb){
+ /* If input object name was not abbreviated, copy it to output object name */
+ obj_nm_lng=strlen(rnm_att->old_nm);
+ if(obj_nm_lng > NC_MAX_NAME){
+ (void)fprintf(stdout,"%s: ERROR Derived object name \"%s\" too long\n",nco_prg_nm_get(),rnm_att->old_nm);
+ nco_exit(EXIT_FAILURE);
+ } /* end if */
+ /* Copy object name only */
+ strcpy(obj_nm,rnm_att->old_nm);
+ } /* obj_nm_abb */
+
+ /* Output object name now searchable for standard hints */
+ if(!strncasecmp(obj_nm,"global",6L)) *mch_grp_glb=True;
+ else if(!strncasecmp(obj_nm,".global",7L)) *mch_grp_glb=True;
+ else if(!strncasecmp(obj_nm,"group",5L)) *mch_grp_all=True;
+ else if(!strncasecmp(obj_nm,".group",6L)) *mch_grp_all=True;
+
+ /* Point old obj_nm at att_nm name to attribute name att_nm alone */
+ rnm_att->old_nm=dlm_ptr+1L;
+ } /* endif contains '@' */
+
+ /* Delimiter '@' is optional in new name */
dlm_ptr=strchr(rnm_att->new_nm,dlm_chr);
if(dlm_ptr){
+ /* When found in new name, point the user string to next character */
att_nm_lng=strlen(rnm_att->new_nm);
- if((dlm_ptr-rnm_att->new_nm) < (long int)att_nm_lng) rnm_att->new_nm=dlm_ptr+1; else return NCO_ERR;
+ if((dlm_ptr-rnm_att->new_nm) < (long int)att_nm_lng) rnm_att->new_nm=dlm_ptr+1L; else return NCO_ERR;
} /* endif */
- /* 20131016 */
- if(strcmp(var_nm,"global") == 0){
- *IS_GLB_GRP_ATT=True;
- } /* endif global */
-
-
return NCO_NOERR;
} /* end nco_prs_att() */
diff --git a/src/nco/nco_att_utl.h b/src/nco/nco_att_utl.h
index 371a277..a939ec1 100644
--- a/src/nco/nco_att_utl.h
+++ b/src/nco/nco_att_utl.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.h,v 1.49 2014/06/15 21:06:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_att_utl.h,v 1.50 2014/09/26 23:03:48 zender Exp $ */
/* Purpose: Attribute utilities */
@@ -81,11 +81,13 @@ nco_prs_aed_lst /* [fnc] Parse user-specified attribute edits into structure lis
(const int nbr_aed, /* I [nbr] Number of attributes in list */
X_CST_PTR_CST_PTR_Y(char,aed_arg)); /* I/O [sng] List of user-specified attribute edits (delimiters are changed to NULL on output */
-int /* [flg] Variable and attribute names are conjoined */
-nco_prs_att /* [fnc] Parse conjoined variable and attribute names */
-(rnm_sct * const rnm_att, /* I/O [sct] Structure [Variable:]Attribute name on input, Attribute name on output */
- char * const var_nm, /* O [sng] Variable name, if any */
- nco_bool * const IS_GLB_GRP_ATT); /* O [flg] Attribute is Global or Group attribute */
+int /* [flg] Error code */
+nco_prs_att /* [fnc] Parse conjoined object and attribute names */
+(rnm_sct * const rnm_att, /* I/O [sct] Structure [Object@]Attribute name on input, Attribute name on output */
+ char * const obj_nm, /* O [sng] Object name, if any */
+ nco_bool *mch_grp_all, /* O [flg] Rename all group attributes */
+ nco_bool *mch_grp_glb, /* O [flg] Rename only global attributes */
+ nco_bool *mch_obj_all); /* O [flg] Rename all group and variable attributes */
gpe_sct * /* O [sng] GPE structure */
nco_gpe_prs_arg /* [fnc] Parse Group Path Editing (GPE) argument */
diff --git a/src/nco/nco_cnf_typ.c b/src/nco/nco_cnf_typ.c
index 259435b..09555ae 100644
--- a/src/nco/nco_cnf_typ.c
+++ b/src/nco/nco_cnf_typ.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.c,v 1.77 2014/06/15 21:06:22 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.c,v 1.80 2014/09/30 23:03:29 zender Exp $ */
/* Purpose: Conform variable types */
@@ -104,7 +104,7 @@ cast_nctype_void /* [fnc] Cast generic pointer in ptr_unn structure from type ty
} /* end cast_nctype_void() */
var_sct * /* O [var] Variable after (possible) conversion */
-nco_typ_cnv_rth /* [fnc] Convert char, short, long, int types to doubles before arithmetic */
+nco_typ_cnv_rth /* [fnc] Convert char, short, long, int, and float types to doubles before arithmetic */
(var_sct *var, /* I/O [var] Variable to be considered for conversion */
const int nco_op_typ) /* I [enm] Operation type */
{
@@ -131,7 +131,8 @@ nco_typ_cnv_rth /* [fnc] Convert char, short, long, int types to doubles before
Implementing --dbl switch on ncwa, ncra, nces (ncap2?) to force implicit conversion */
if(nco_rth_cnv_get() == nco_rth_flt_flt){
- /* Traditional NCO convention: promote, where necessary, anything but floats and doubles */
+ /* NCO default until 201309: promote, where necessary, anything but floats and doubles
+ Now non-default and activated only by --flt switch */
if(var->typ_upk == NC_FLOAT){
var=nco_var_cnf_typ((nc_type)NC_FLOAT,var);
}else{ /* Conversion only for appropriate operation types */
@@ -140,7 +141,8 @@ nco_typ_cnv_rth /* [fnc] Convert char, short, long, int types to doubles before
}else{ /* !nco_rth_flt_flt */
- /* User-specified new convention: promote, where necessary, anything but doubles */
+ /* NCO default after 201309: promote, where necessary, anything but doubles
+ Now default and activated redundantly --dbl switch */
/* Conversion only for appropriate operation types */
if(var->type != NC_DOUBLE && nco_op_typ != nco_op_min && nco_op_typ != nco_op_max) var=nco_var_cnf_typ((nc_type)NC_DOUBLE,var);
@@ -173,7 +175,7 @@ nco_cnv_mss_val_typ /* [fnc] Convert missing_value, if any, to mss_val_out_typ
ncra refreshes variable metadata (including missing_value, if any)
once per file (naturally), but refreshes variable values once per record.
Current type of missing_value is not stored separately in variable structure
- (maybe this is a mistake), so type of missing value may remain as promoted
+ (this is probably a mistake), so type of missing value may remain as promoted
type for arithmetic.
When next record is read and nco_typ_cnf_rth() promotion of new input
to arithmetic type (double, if necessary) will fail when it tries to
@@ -244,7 +246,7 @@ nco_var_cnf_typ /* [fnc] Return copy of input variable typecast to desired type
This routine assumes missing_value, if any, to be same type as variable */
if(var_in->type == var_out_typ) return var_in;
- if(var_in->val.vp==NULL){
+ if(var_in->val.vp == NULL){
/* Variable has no data when var_in.val.vp==NULL
In this case function should only convert missing values
Accomplish this by temporarily masking off val_in by setting var_in->sz=0
@@ -513,7 +515,7 @@ nco_var_cnf_typ /* [fnc] Return copy of input variable typecast to desired type
(void)cast_nctype_void(var_out_typ,&val_out);
/* If var_in.vp empty then unmask sz */
- if(val_in.vp==NULL) var_out->sz=sz_msk;
+ if(val_in.vp == NULL) var_out->sz=sz_msk;
/* Free input variable data */
val_in.vp=nco_free(val_in.vp);
@@ -553,7 +555,7 @@ nco_var_cnf_typ_tst /* [fnc] Return copy of input variable typecast to desired t
This routine assumes missing_value, if any, to be same type as variable */
if(var_in->type == var_out_typ) return var_in;
- if(var_in->val.vp==NULL){
+ if(var_in->val.vp == NULL){
/* Variable has no data when var_in.val.vp==NULL
In this case function should only convert missing values
Accomplish this by temporarily masking off val_in by setting var_in->sz=0
@@ -822,7 +824,7 @@ nco_var_cnf_typ_tst /* [fnc] Return copy of input variable typecast to desired t
(void)cast_nctype_void(var_out_typ,&val_out);
/* If var_in.vp empty then unmask sz */
- if(val_in.vp==NULL) var_out->sz=sz_msk;
+ if(val_in.vp == NULL) var_out->sz=sz_msk;
/* Free input variable data */
val_in.vp=nco_free(val_in.vp);
diff --git a/src/nco/nco_cnf_typ.h b/src/nco/nco_cnf_typ.h
index 68e1c55..ef2e5d4 100644
--- a/src/nco/nco_cnf_typ.h
+++ b/src/nco/nco_cnf_typ.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.h,v 1.43 2014/06/15 21:06:22 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnf_typ.h,v 1.44 2014/09/30 23:03:29 zender Exp $ */
/* Purpose: Conform variable types */
@@ -44,7 +44,7 @@ cast_nctype_void /* [fnc] Cast generic pointer in ptr_unn structure from type ty
ptr_unn * const ptr); /* I/O pointer to pointer union which to cast from type type to type void */
var_sct * /* O [var] Variable after (possible) conversion */
-nco_typ_cnv_rth /* [fnc] Convert char, short, long, int types to doubles before arithmetic */
+nco_typ_cnv_rth /* [fnc] Convert char, short, long, int, and float types to doubles before arithmetic */
(var_sct *var, /* I/O [var] Variable to be considered for conversion */
const int nco_op_typ); /* I [enm] Operation type */
diff --git a/src/nco/nco_cnk.c b/src/nco/nco_cnk.c
index c4edaad..1541704 100644
--- a/src/nco/nco_cnk.c
+++ b/src/nco/nco_cnk.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.c,v 1.128 2014/08/22 01:01:21 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_cnk.c,v 1.129 2014/09/25 04:41:15 zender Exp $ */
/* Purpose: NCO utilities for chunking */
@@ -908,7 +908,7 @@ nco_cnk_sz_set_trv /* [fnc] Set chunksize parameters (GTT version of nco_cnk_sz_
if(is_rec_var || is_chk_var || is_cmp_var) must_be_chunked=True; else must_be_chunked=False;
/* Is variable currently chunked? */
- if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) is_chunked=nco_cnk_dsk_inq(grp_id_in,var_id_in);
+ if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433) is_chunked=nco_cnk_dsk_inq(grp_id_in,var_id_in);
/* Does this variable have any user-chunked dimensions? */
if(cnk_plc == nco_cnk_plc_xpl){
diff --git a/src/nco/nco_ctl.c b/src/nco/nco_ctl.c
index 09ee35f..dbb57be 100644
--- a/src/nco/nco_ctl.c
+++ b/src/nco/nco_ctl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.c,v 1.491 2014/08/27 04:44:01 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_ctl.c,v 1.494 2014/10/01 17:32:36 zender Exp $ */
/* Purpose: Program flow control functions */
@@ -799,7 +799,7 @@ nco_nmn_get(void) /* [fnc] Return mnemonic that describes current NCO version */
{
/* Purpose: Return mnemonic describing current NCO version
Always Include terminal \n so mnemonic does not dangle */
- return "UHS Registration. Go Trojans!\n";
+ return "Lynn to the rescue\n";
} /* end nco_nmn_get() */
char * /* O [sng] nm_in stripped of any path (i.e., program name stub) */
@@ -922,7 +922,7 @@ nco_usg_prn(void)
opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [--bfr sz] [-C] [-c] [--cnk_byt sz] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...] [-F] [--fix_rec_crd] [--fl_fmt fmt] [-h] [--hdf] [--hdr_pad nbr] [-i var,val] [-L lvl] [-l path] [--msa] [--no_tmp_fl] [-O] [-o out.nc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [-v ...] [-X box] [-x] [-w wgt_1[,wgt_2]] in_1.nc in_2.nc [out.nc]\n");
break;
case ncks:
- opt_sng=(char *)strdup("[-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b fl_bnr] [--bfr sz] [-C] [-c] [--cdl] [--cnk_byt sz] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...] [-F] [--fix_rec_dmn dim] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [--grp_xtr_var_xcl] [-H] [-h] [--hdn] [--hdr_pad nbr] [-L lvl] [-l path] [-M] [-m] [--md5_dgs] [--md5_wrt] [--mk_rec_dmn dim] [--msa] [--no_blank] [--no_tmp_fl] [-O] [-o out.nc] [-P] [-p path] [-Q] [-q] [-R] [-r] [--rad] [...]
+ opt_sng=(char *)strdup("[-3] [-4] [-5] [-6] [-7] [-A] [-a] [-b fl_bnr] [--bfr sz] [-C] [-c] [--cdl] [--cnk_byt sz] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...] [-F] [--fix_rec_dmn dim] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [--grp_xtr_var_xcl] [-H] [-h] [--hdn] [--hdr_pad nbr] [-L lvl] [-l path] [-M] [-m] [--md5_dgs] [--md5_wrt] [--mk_rec_dmn dim] [--msa] [--no_blank] [--no_tmp_fl] [-O] [-o out.nc] [-P] [-p path] [-Q] [-q] [-R] [-r] [--rad] [...]
break;
case ncpdq:
opt_sng=(char *)strdup("[-3] [-4] [-6] [-7] [-A] [-a ...] [--bfr sz] [-C] [-c] [--cnk_byt sz] [--cnk_dmn nm,sz] [--cnk_map map] [--cnk_plc plc] [--cnk_scl sz] [-D nco_dbg_lvl] [-d ...] [-F] [--fl_fmt fmt] [-G grp:lvl] [-g ...] [-h] [--hdf] [--hdr_pad nbr] [-L lvl] [-l path] [-M pck_map] [--mrd] [--msa] [--no_tmp_fl] [-O] [-o out.nc] [-P pck_plc] [-p path] [-R] [-r] [--ram_all] [-t thr_nbr] [--unn] [-U] [-v ...] [-X box] [-x] in.nc [out.nc]\n");
@@ -1057,8 +1057,8 @@ nco_usg_prn(void)
if(prg_lcl == ncpdq) (void)fprintf(stdout,"-P, --pck_plc, --pack_policy pck_plc\tPacking policy [all_new,all_xst,xst_new,upk]\n");
} /* end if -P */
if(strstr(opt_sng,"[-p")) (void)fprintf(stdout,"-p, --pth, --path path\tPath prefix for all input filenames\n");
- if(strstr(opt_sng,"[-Q]")) (void)fprintf(stdout,"-Q, \t\t\tToggle printing of dimension indices and coordinate values\n");
- if(strstr(opt_sng,"[-q]")) (void)fprintf(stdout,"-q, --quiet\t\tTurn off all printing to screen\n");
+ if(strstr(opt_sng,"[-Q]")) (void)fprintf(stdout,"-Q, --quiet\t\tQuiet printing of dimension indices and coordinate values\n");
+ if(strstr(opt_sng,"[-q]")) (void)fprintf(stdout,"-q, --quench\t\tQuench (turn-off) all printing to screen\n");
if(strstr(opt_sng,"[-R]")) (void)fprintf(stdout,"-R, --rtn, --retain\tRetain remotely-retrieved files after use\n");
if(strstr(opt_sng,"[-r]")) (void)fprintf(stdout,"-r, --revision, --vrs, --version\tCompile-time configuration and/or program version\n");
if(strstr(opt_sng,"--rad")) (void)fprintf(stdout," --orphan, --rph_dmn\tRetain or print all (including orphaned) dimensions\n");
@@ -1077,6 +1077,7 @@ nco_usg_prn(void)
if(prg_lcl == ncecat) (void)fprintf(stdout,"-u, --ulm_nm --rcd_nm\tNew unlimited (record) dimension name\n");
} /* end if */
if(strstr(opt_sng,"--unn")) (void)fprintf(stdout," --unn, --union\tSelect union of specified groups and variables\n");
+ if(strstr(opt_sng,"[-V")) (void)fprintf(stdout,"-V, --var_val\t\tPrint variable values only\n");
if(strstr(opt_sng,"[-v")){
if(prg_lcl == ncrename) (void)fprintf(stdout,"-v, --variable old_var,new_var Variable's old and new names\n");
if(prg_lcl == ncap) (void)fprintf(stdout,"-v, --variable \t\tOutput file includes ONLY user-defined variables\n");
diff --git a/src/nco/nco_fl_utl.c b/src/nco/nco_fl_utl.c
index 0faae3b..c08f4d3 100644
--- a/src/nco/nco_fl_utl.c
+++ b/src/nco/nco_fl_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.c,v 1.249 2014/08/22 20:27:48 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_fl_utl.c,v 1.250 2014/09/15 19:43:27 zender Exp $ */
/* Purpose: File manipulation */
@@ -643,7 +643,7 @@ nco_fl_mk_lcl /* [fnc] Retrieve input file and return local filename */
ncks -D 2 -M -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata in.nc # DAP
ncks -O -D 2 -M -p http://dust.ess.uci.edu/cgi-bin/dods/nph-dods/dodsdata in.nc ~/foo.nc # DAP
ncks -O -v one -p http://thredds-test.ucar.edu/thredds/dodsC/testdods in.nc ~/foo.nc # DAP */
- if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO Will first attempt to find file on local disk and, if unsuccessful, will then attempt retrieve remote file to local client using wget\n",nco_prg_nm_get());
+ if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO Will attempt to find file on local disk and, if unsuccessful, will then attempt retrieve remote file to local client using wget\n",nco_prg_nm_get());
/* DAP cannot open file so leave DAP_URL=FALSE and set HTTP_URL=True
Later we will attempt to wget file to local system */
diff --git a/src/nco/nco_grp_utl.c b/src/nco/nco_grp_utl.c
index 38a4873..eaad68d 100644
--- a/src/nco/nco_grp_utl.c
+++ b/src/nco/nco_grp_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.c,v 1.1457 2014/08/26 20:10:16 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.c,v 1.1463 2014/09/25 04:41:15 zender Exp $ */
/* Purpose: Group utilities */
@@ -132,7 +132,7 @@ nco_def_grp_full /* [fnc] Ensure all components of group pa
grp_pth_dpl=(char *)nco_free(grp_pth_dpl);
return rcd;
-} /* end nco_def_grp_full() */
+} /* end nco_def_grp_full() */
void
nco_grp_itr_free /* [fnc] Free group iterator */
@@ -284,11 +284,9 @@ nco_grp_dfn /* [fnc] Define groups in output file */
if(nco_dbg_lvl_get() >= nco_dbg_scl) (void)fprintf(stderr,"%s: INFO nco_grp_dfn() reports file level = 0 parent group = / (root group) will have %d sub-group%s\n",nco_prg_nm_get(),grp_nbr,(grp_nbr == 1) ? "" : "s");
- /* For each (possibly user-specified) top-level group ... */
- for(idx=0;idx<grp_nbr;idx++){
- /* Define group and all subgroups */
+ /* For each (possibly user-specified) top-level group, define group and all subgroups */
+ for(idx=0;idx<grp_nbr;idx++)
rcd+=nco_def_grp_rcr(grp_xtr_lst[idx].id,out_id,grp_xtr_lst[idx].nm,rcr_lvl);
- } /* end loop over top-level groups */
return rcd;
} /* end nco_grp_dfn() */
@@ -839,7 +837,7 @@ nco_xtr_mk /* [fnc] Check -v and -g input names and c
trv_tbl->lst[tbl_idx].flg_mch=True;
trv_tbl->lst[tbl_idx].flg_rcr=flg_rcr_mch_grp;
} /* end flags */
- } /* !nco_obj_typ_var */
+ } /* !nco_obj_typ_var */
/* Set function return condition */
if(trv_tbl->lst[tbl_idx].flg_mch) flg_usr_mch_obj=True;
@@ -1380,7 +1378,7 @@ nco_xtr_crd_ass_add /* [fnc] Add to extraction list all coordi
if(dmn_nm_fll) dmn_nm_fll=(char *)nco_free(dmn_nm_fll);
} /* Does dimension match requested variable name (i.e., is it a coordinate variable?) */
- } /* Loop dimensions visible to group */
+ } /* Loop dimensions visible to group */
} /* Loop over dimensions of variable */
/* Free dimension IDs array */
dmn_id_var=(int *)nco_free(dmn_id_var);
@@ -4260,7 +4258,7 @@ nco_var_fll_trv /* [fnc] Allocate variable structure and f
for(int idx=0;idx<var->nbr_dim;idx++) var->cnk_sz[idx]=(size_t)0L;
/* Read deflate levels and chunking (if any) */
- if((nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) && (fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)){
+ if((nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433) && (fl_fmt == NC_FORMAT_NETCDF4 || fl_fmt == NC_FORMAT_NETCDF4_CLASSIC)){
int deflate; /* [enm] Deflate filter is on */
int srg_typ; /* [enm] Storage type */
(void)nco_inq_var_deflate(grp_id,var->id,&var->shuffle,&deflate,&var->dfl_lvl);
@@ -4867,7 +4865,7 @@ nco_cpy_var_dfn_trv /* [fnc] Define specified variable in output
if((*dmn_cmn_out)[idx_dmn_out].id == dmn_cmn[idx_dmn].id){
dmn_flg=True;
break;
- } /* Match by ID */
+ } /* Match by ID */
} /* Loop constructed array of output dimensions to see if already inserted */
/* If this dimension is not in output array */
@@ -5453,7 +5451,7 @@ nco_var_prc_idx_trv /* [fnc] Find index of processed variable
return True;
} /* Match by full variable name */
- } /* Loop processed variables */
+ } /* Loop processed variables */
assert(0);
return False;
@@ -6120,7 +6118,7 @@ nco_dmn_lst_ass_var_trv /* [fnc] Create list of all dimensions as
if(var_trv.var_dmn[idx_dmn_var].dmn_id==(*dmn)[idx_dmn_out]->id){
dmn_flg=True;
break;
- } /* Match by ID */
+ } /* Match by ID */
} /* Loop constructed array of output dimensions to see if already inserted */
/* If this dimension is not in output array */
@@ -6158,7 +6156,7 @@ nco_dmn_lst_ass_var_trv /* [fnc] Create list of all dimensions as
(*dmn)[nbr_dmn]->type=(nc_type)-1;
nbr_dmn++;
- } /* If this dimension is not in output array */
+ } /* If this dimension is not in output array */
} /* Loop variable dimensions */
} /* Filter variables */
} /* Loop table */
@@ -6283,7 +6281,7 @@ nco_dmn_avg_mk /* [fnc] Build dimensions to average(ncwa
if(dmn_id == (*dmn_avg)[idx_dmn_out]->id){
flg_dmn_ins=True;
break;
- } /* Match by ID */
+ } /* Match by ID */
} /* Loop constructed array of output dimensions to see if already inserted */
/* If this dimension is not in output array */
@@ -6330,12 +6328,12 @@ nco_dmn_avg_mk /* [fnc] Build dimensions to average(ncwa
/* Increment number of dimensions found */
nbr_avg_dmn++;
- } /* If this dimension is not in output array */
+ } /* If this dimension is not in output array */
} /* Must meet necessary flags */
} /* Loop variable dimensions */
} /* Variable to extract */
} /* Loop table */
- } /* Loop input dimension name list */
+ } /* Loop input dimension name list */
/* Export */
*nbr_dmn_avg=nbr_avg_dmn;
@@ -6406,7 +6404,7 @@ nco_dmn_out_mk /* [fnc] Build dimensions array to keep o
/* Mark as inserted in array */
flg_dmn_ins=True;
break;
- } /* Match by ID */
+ } /* Match by ID */
} /* Loop constructed array of output dimensions to see if already inserted */
/* If this dimension is not in output array */
@@ -6415,7 +6413,7 @@ nco_dmn_out_mk /* [fnc] Build dimensions array to keep o
(*dmn_out)[nbr_out_dmn]=nco_dmn_dpl(dmn_xtr[idx_xtr_dmn]);
(void)nco_dmn_xrf(dmn_xtr[idx_xtr_dmn],(*dmn_out)[nbr_out_dmn]);
nbr_out_dmn++;
- } /* If this dimension is not in output array */
+ } /* If this dimension is not in output array */
} /* Match by ID */
} /* Search dimensions to be extracted */
} /* This dimension is not to be averaged, it is to be kept on output */
@@ -6537,7 +6535,7 @@ nco_bld_rec_dmn /* [fnc] Build record dimensions array */
/* Mark as inserted in array */
flg_dmn_ins=True;
break;
- } /* Match by ID */
+ } /* Match by ID */
} /* Loop constructed array of output dimensions to see if already inserted */
/* If this dimension is not in output array */
@@ -6606,7 +6604,7 @@ nco_bld_rec_dmn /* [fnc] Build record dimensions array */
/* Increase array size */
rec_nbr++;
- } /* If this dimension is not in output array */
+ } /* If this dimension is not in output array */
} /* Is record */
} /* Loop variable dimensions */
@@ -7183,14 +7181,18 @@ nco_bld_lmt /* [fnc] Assign user specified dimension l
} /* nco_bld_lmt() */
void
-nco_msa_var_get_lmn_trv /* [fnc] Read a used defined limit */
+nco_msa_var_get_rec_trv /* [fnc] Read a user-defined limit */
(const int nc_id, /* I [ID] netCDF file ID */
var_sct *var_prc, /* I/O [sct] Variable */
- const char * const rec_nm_fll, /* I [sng] Full name of record being done in loop ((*lmt_rec)[idx_rec]->nm_fll ) */
+ const char * const rec_nm_fll, /* I [sng] Record dimension name */
const long idx_rec_crr_in, /* [idx] Index of current record in current input file */
const trv_tbl_sct * const trv_tbl) /* I [sct] GTT (Group Traversal Table) */
{
- /* Define artificial MSA limit that corresponds to one record to read, since nco_msa_var_get_trv() reads all elements */
+ /* Routine acts as a "shim" for nco_msa_var_get_trv()
+ nco_msa_var_get_trv() typically reads entire variable as hyperslabbed by user
+ Yet ncra and ncrcat require only one record at a time, and that record changes
+ nco_msa_var_get_rec_trv() defines a temporary, artificial MSA limit that corresponds to desired single record
+ It then calls nco_msa_var_get_trv() with this limit structure */
int lmt_dmn_nbr;
@@ -7201,113 +7203,103 @@ nco_msa_var_get_lmn_trv /* [fnc] Read a used defined limit */
/* Obtain variable GTT object using full variable name */
var_trv=trv_tbl_var_nm_fll(var_prc->nm_fll,trv_tbl);
- /* Loop dimensions */
for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
- /* NB: Match current record must be done by name, since ID may differ for records across files */
- if(strcmp(var_trv->var_dmn[idx_dmn].dmn_nm_fll,rec_nm_fll) == 0){
+ /* Match current record by name since ID may differ for records across files */
+ if(!strcmp(var_trv->var_dmn[idx_dmn].dmn_nm_fll,rec_nm_fll)){
- /* Case of dimension being coordinate variable */
if(var_trv->var_dmn[idx_dmn].crd){
-
+ /* Dimension is coordinate */
lmt_dmn_nbr=var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr;
/* Case of previously existing limits */
if(lmt_dmn_nbr > 0){
-
- /* Loop limits */
for(int idx_lmt=0;idx_lmt<lmt_dmn_nbr;idx_lmt++){
- /* And set start,count,stride to match current record ...Jesuzz */
+ /* Set start, count, stride to match current record */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]->srt=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]->end=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]->cnt=1L;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[idx_lmt]->srd=1L;
- } /* Loop limits */
-
- /* ! Case of previously existing limits */
- }else{
+ }
+ }else{ /* lmt_dmn_nbr == 0 */
flg_lmt=True;
- /* Alloc 1 dummy limit */
+ /* Alloc dummy limit */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr=1;
- var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_malloc(1*sizeof(lmt_sct *));
+ var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_malloc(sizeof(lmt_sct *));
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
/* Initialize NULL/invalid */
(void)nco_lmt_init(var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]);
- /* And set start, count, stride to match current record ... */
+ /* Set start, count, stride to match current record */
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]->srt=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]->end=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]->cnt=1L;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]->srd=1L;
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]->nm=strdup("record_limit");
- } /* ! Case of previously existing limits */
- } /* Case of dimension being coordinate variable */
-
- else{
-
+ } /* lmt_dmn_nbr == 0 */
+ }else{ /* Dimension is not coordinate */
assert(!var_trv->var_dmn[idx_dmn].is_crd_var);
-
lmt_dmn_nbr=var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn_nbr;
- /* Case of previously existing limits */
if(lmt_dmn_nbr > 0){
-
- /* Loop limits */
for(int idx_lmt=0;idx_lmt<lmt_dmn_nbr;idx_lmt++){
- /* And set start,count,stride to match current record ...Jesuzz */
+ /* Set start, count, stride to match current record */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[idx_lmt]->srt=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[idx_lmt]->end=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[idx_lmt]->cnt=1L;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[idx_lmt]->srd=1L;
- } /* Loop limits */
-
- /* ! Case of previously existing limits */
- }else{
+ }
+ }else{ /* lmt_dmn_nbr == 0 */
flg_lmt=True;
- /* Alloc 1 dummy limit */
+ /* Allocate dummy limit */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn_nbr=1;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn=(lmt_sct **)nco_malloc(1*sizeof(lmt_sct *));
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]=(lmt_sct *)nco_malloc(sizeof(lmt_sct));
/* Initialize NULL/invalid */
(void)nco_lmt_init(var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]);
- /* And set start,count,stride to match current record ...Jesuzz */
+ /* Set start, count, stride to match current record */
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]->srt=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]->end=idx_rec_crr_in;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]->cnt=1L;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]->srd=1L;
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]->nm=strdup("record_limit");
- } /* ! Case of previously existing limits */
- } /* Case of dimension not being coordinate variable */
-
+ } /* lmt_dmn_nbr == 0 */
+ } /* end Dimension is not coordinate */
break;
- } /* Match current record by name */
- } /* Loop dimensions */
+ } /* end record dimension */
+ } /* end loop over dimensions */
/* Retrieve variable from disk into memory */
(void)nco_msa_var_get_trv(nc_id,var_prc,trv_tbl);
/* Free artificial limit and reset number of limits */
for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
- /* NB: Match current record must be done by name, since ID may differ for records across files */
- if(strcmp(var_trv->var_dmn[idx_dmn].dmn_nm_fll,rec_nm_fll) == 0){
+ /* Match current record by name since ID may differ for records across files */
+ if(!strcmp(var_trv->var_dmn[idx_dmn].dmn_nm_fll,rec_nm_fll)){
/* Custom limit */
if(flg_lmt){
- /* Case of dimension being coordinate variable */
if(var_trv->var_dmn[idx_dmn].is_crd_var){
+ /* Dimension is coordinate */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn_nbr=0;
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]=(lmt_sct *)nco_lmt_free(var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn[0]);
- var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn);
- } /* Case of dimension being coordinate variable */
- else if(!var_trv->var_dmn[idx_dmn].is_crd_var){
+ var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(var_trv->var_dmn[idx_dmn].crd->lmt_msa.lmt_dmn);
+ }else if(!var_trv->var_dmn[idx_dmn].is_crd_var){
+ /* Dimension is not coordinate */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn_nbr=0;
+ /* fxm: 20140918 TODO nco1114 subscript [0] fails unless record is first dimension, generalize with [rec_dmn_idx] */
var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]=(lmt_sct *)nco_lmt_free(var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn[0]);
- var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn);
- } /* Case of dimension not being coordinate variable */
+ var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn=(lmt_sct **)nco_free(var_trv->var_dmn[idx_dmn].ncd->lmt_msa.lmt_dmn);
+ } /* Dimension is not coordinate */
break;
} /* Custom limit */
- } /* Match current record */
- } /* Loop dimensions */
+ } /* end record dimension */
+ } /* end loop over dimensions */
-} /* nco_msa_var_get_lmn_trv() */
+} /* end nco_msa_var_get_rec_trv() */
nco_bool /* O [flg] Skip variable */
nco_skp_var /* [fnc] Skip variable while doing record */
@@ -7382,16 +7374,13 @@ nco_var_get_wgt_trv /* [fnc] Retrieve weighting or mask variab
return wgt_var;
-
/* Relative name; search all names in table */
- } else {
+ }else{
trv_sct **wgt_trv=NULL; /* [sct] Weight/mask list */
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+ for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++)
if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_var && (!strcmp(trv_tbl->lst[tbl_idx].nm,wgt_nm))) nbr_wgt++;
- }
/* Fill-in variable structure list for all weights */
wgt_trv=(trv_sct **)nco_malloc(nbr_wgt*sizeof(trv_sct *));
@@ -7439,7 +7428,7 @@ nco_var_get_wgt_trv /* [fnc] Retrieve weighting or mask variab
return wgt_var;
- } /* Same group */
+ } /* Same group */
} /* Loop over weights */
} /* Filter variables */
} /* Loop table */
@@ -7449,129 +7438,6 @@ nco_var_get_wgt_trv /* [fnc] Retrieve weighting or mask variab
} /* nco_var_get_wgt_trv() */
-dmn_trv_sct * /* O [sct] Table dimension object */
-nco_dmn_usr_sng /* [fnc] Parse input string and return table dimension object */
-(const char * const usr_sng, /* I [sng] Object name */
- const trv_tbl_sct * const trv_tbl, /* I [lst] Traversal table */
- nco_bool *is_opt) /* O [flg] Dimension presence is optional (input string has '.') */
-{
- /* Purpose: Parse input string and return table dimension object */
-
- const char opt_chr='.'; /* Character indicating presence of following variable/dimension/attribute in file is optional */
-
- *is_opt=False;
-
- /* Try absolute match */
-
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr_dmn;tbl_idx++){
- /* Match absolute name */
- if(strcmp(usr_sng,trv_tbl->lst_dmn[tbl_idx].nm_fll) == 0){
- return &trv_tbl->lst_dmn[tbl_idx];
- } /* Match name */
- } /* Loop table */
-
- /* Try relative match */
-
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr_dmn;tbl_idx++){
- /* Match absolute name */
- if(strcmp(usr_sng,trv_tbl->lst_dmn[tbl_idx].nm) == 0){
- return &trv_tbl->lst_dmn[tbl_idx];
- } /* Match name */
- } /* Loop table */
-
- /* Try optional absolute match */
-
- /* Optional absolute match */
- if(usr_sng[0] == opt_chr){
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr_dmn;tbl_idx++){
- /* Match absolute name */
- if(strcmp(usr_sng+1,trv_tbl->lst_dmn[tbl_idx].nm_fll) == 0){
- *is_opt=True;
- return &trv_tbl->lst_dmn[tbl_idx];
- } /* Match name */
- } /* Loop table */
- } /* Optional absolute match */
-
- /* Optional relative match */
- if(usr_sng[0] == opt_chr){
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr_dmn;tbl_idx++){
- /* Match absolute name */
- if(strcmp(usr_sng+1,trv_tbl->lst_dmn[tbl_idx].nm) == 0){
- *is_opt=True;
- return &trv_tbl->lst_dmn[tbl_idx];
- } /* Match name */
- } /* Loop table */
- } /* Optional relative match */
-
- /* Cases of not found and optional */
- if(usr_sng[0] == opt_chr) *is_opt=True;
-
- return NULL;
-
-} /* nco_dmn_usr_sng() */
-
-trv_sct * /* O [sct] Table object */
-nco_obj_usr_sng /* [fnc] Parse input string and return table object */
-(const char * const usr_sng, /* I [sng] Object name */
- const trv_tbl_sct * const trv_tbl, /* I [lst] Traversal table */
- nco_bool *is_opt) /* O [flg] Dimension presence is optional (input string has '.') */
-{
- /* Purpose: Parse input string and return table object */
-
- const char opt_chr='.'; /* Character indicating presence of following variable/dimension/attribute in file is optional */
-
- /* Only used by ncrename */
- assert(nco_prg_id_get() == ncrename);
-
- *is_opt=False;
-
- /* Try absolute match */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++)
- if(!strcmp(usr_sng,trv_tbl->lst[tbl_idx].nm_fll))
- return &trv_tbl->lst[tbl_idx];
-
- /* Try relative match */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++)
- if(!strcmp(usr_sng,trv_tbl->lst[tbl_idx].nm))
- return &trv_tbl->lst[tbl_idx];
-
- /* Try optional absolute match */
-
- /* Optional absolute match */
- if(usr_sng[0] == opt_chr){
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
- /* Match absolute name */
- if(strcmp(usr_sng+1,trv_tbl->lst[tbl_idx].nm_fll) == 0){
- *is_opt=True;
- return &trv_tbl->lst[tbl_idx];
- } /* Match name */
- } /* Loop table */
- } /* Optional absolute match */
-
- /* Optional relative match */
- if(usr_sng[0] == opt_chr){
- /* Loop table */
- for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
- /* Match relative name */
- if(strcmp(usr_sng+1,trv_tbl->lst[tbl_idx].nm) == 0){
- *is_opt=True;
- return &trv_tbl->lst[tbl_idx];
- } /* Match name */
- } /* Loop table */
- } /* Optional relative match */
-
- /* Cases of not found and optional */
- if(usr_sng[0] == opt_chr) *is_opt=True;
-
- return NULL;
-
-} /* nco_obj_usr_sng() */
-
void
nco_aed_prc_grp /* [fnc] Process attributes in groups */
(const int nc_id, /* I [id] netCDF file ID */
@@ -7587,20 +7453,18 @@ nco_aed_prc_grp /* [fnc] Process attributes in groups */
/* Only used by ncatted */
assert(nco_prg_id_get() == ncatted);
- /* Loop table */
for(unsigned tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
- /* Is group */
if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_grp){
/* Get group ID */
(void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst[tbl_idx].grp_nm_fll,&grp_id);
/* Process attribute */
(void)nco_aed_prc(grp_id,NC_GLOBAL,aed);
var_fnd=True;
- } /* Is group */
- } /* Loop table */
+ } /* !group */
+ } /* end loop over tables */
if(!var_fnd){
- (void)fprintf(stderr,"%s: No attributes were found\n",nco_prg_nm_get());
+ (void)fprintf(stderr,"%s: ERROR No attributes were found\n",nco_prg_nm_get());
nco_exit(EXIT_FAILURE);
}
@@ -7636,12 +7500,11 @@ nco_aed_prc_glb /* [fnc] Process attributes in root group
} /* Loop table */
if(!var_fnd){
- (void)fprintf(stderr,"%s: Attribute was not found\n",nco_prg_nm_get());
+ (void)fprintf(stderr,"%s: ERROR Attribute was not found\n",nco_prg_nm_get());
nco_exit(EXIT_FAILURE);
}
return;
-
} /* nco_aed_prc_grp() */
void
@@ -8069,7 +7932,7 @@ nco_prs_aux_crd /* [fnc] Parse auxiliary coordinates */
} /* Auxiliary coordinates found */
} /* Filter variables with auxiliary coordinates */
- } /* Filter variables to extract */
+ } /* Filter variables to extract */
} /* Loop table */
return;
@@ -8103,9 +7966,9 @@ nco_lmt_aux_tbl /* [fnc] Apply limits to variable in table
(void)nco_lmt_aux(nc_id,lmt,nbr_lmt,FORTRAN_IDX_CNV,MSA_USR_RDR,idx_tbl,idx_dmn,trv_tbl);
} /* Match index */
- } /* Loop dimensions */
+ } /* Loop dimensions */
- } /* Match variable */
+ } /* Match variable */
} /* Loop table */
return;
@@ -8138,9 +8001,9 @@ nco_lmt_std_att_lat_lon /* [fnc] Apply limits to variable in table
(void)nco_lmt_aux(nc_id,lmt,nbr_nbr,FORTRAN_IDX_CNV,MSA_USR_RDR,idx_tbl,idx_dmn,trv_tbl);
} /* Match index */
- } /* Loop dimensions */
+ } /* Loop dimensions */
- } /* Match variable */
+ } /* Match variable */
} /* Loop table */
return;
@@ -8449,9 +8312,7 @@ nco_var_scp /* [fnc] Is variable 1 is in scope of var
{
/* Same group */
- if (strcmp(var_trv_1->grp_nm_fll,var_trv_2->grp_nm_fll) == 0){
- return True;
- }
+ if(!strcmp(var_trv_1->grp_nm_fll,var_trv_2->grp_nm_fll)) return True;
/* Different groups: traverse down the higher and look for a group match name */
if(var_trv_2->grp_dpt > var_trv_1->grp_dpt){
@@ -8461,34 +8322,27 @@ nco_var_scp /* [fnc] Is variable 1 is in scope of var
grp_prn_2=trv_tbl_grp_nm_fll(grp_nm_fll_prn_2,trv_tbl);
- /* Look for same group name in hierarchy */
+ /* Look for same group name in hierarchy */
while (grp_nm_fll_prn_2){
-
/* Same group in hierarchy */
- if (strcmp(grp_prn_2->grp_nm,var_trv_1->grp_nm) == 0){
- return True;
- } /* Same group in hierarchy */
+ if(!strcmp(grp_prn_2->grp_nm,var_trv_1->grp_nm)) return True;
/* Exit loop when root reached */
- if (grp_prn_2->grp_dpt == 0){
- break;
- }
+ if(grp_prn_2->grp_dpt == 0) break;
grp_nm_fll_prn_2=grp_prn_2->grp_nm_fll_prn;
grp_prn_2=trv_tbl_grp_nm_fll(grp_nm_fll_prn_2,trv_tbl);
- } /* Look for same group name in hierarchy */
-
- }
+ } /* end while */
+ } /* end if */
return False;
-} /* nco_var_scp() */
+} /* end nco_var_scp() */
int *
nco_dmn_malloc /* [fnc] Inquire about number of dimensions in group and return dynamic array of dimension IDs */
(const int nc_id, /* I [ID] netCDF file ID */
const char * const grp_nm_fll, /* I [sng] Group full name */
int *dmn_nbr) /* I/O [nbr] Number of dimensions in group */
-
{
const int flg_prn=0; /* [flg] Retrieve all dimensions in parent groups */
@@ -8508,12 +8362,11 @@ nco_dmn_malloc /* [fnc] Inquire about number of dimension
/* Obtain dimensions IDs for group */
(void)nco_inq_dimids(grp_id,&nbr_dmn,dmn_ids,flg_prn);
-
/* Export number of dimensions */
*dmn_nbr=nbr_dmn;
return dmn_ids;
-}
+} /* end nco_dmn_malloc() */
void
nco_dmn_lmt /* [fnc] Convert a lmt_sct array to dmn_sct (name only) */
@@ -8539,37 +8392,28 @@ nco_dmn_lmt /* [fnc] Convert a lmt_sct array to dmn_s
(*dmn)[idx]->cnk_sz=-1L;
(*dmn)[idx]->type=(nc_type)-1;
}
-
return;
-
} /* end nco_dmn_lmt() */
void
nco_prn_nsm /* [fnc] Print ensembles */
(const trv_tbl_sct * const trv_tbl) /* I [sct] Traversal table */
{
-
if (!trv_tbl->nsm_nbr) return;
(void)fprintf(stdout,"%s: list of ensembles\n",nco_prg_nm_get());
- for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++){
- (void)fprintf(stdout,"%s: <%s>\n",nco_prg_nm_get(),trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
- }
+ for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++) (void)fprintf(stdout,"%s: <%s>\n",nco_prg_nm_get(),trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
(void)fprintf(stdout,"%s: list of fixed templates\n",nco_prg_nm_get());
- for(int idx_skp=0;idx_skp<trv_tbl->nsm->skp_nbr;idx_skp++){
- (void)fprintf(stdout,"%s: <template> %d <%s>\n",nco_prg_nm_get(),idx_skp,trv_tbl->nsm->skp_nm_fll[idx_skp]);
- }
-
+ for(int idx_skp=0;idx_skp<trv_tbl->nsm->skp_nbr;idx_skp++) (void)fprintf(stdout,"%s: <template> %d <%s>\n",nco_prg_nm_get(),idx_skp,trv_tbl->nsm->skp_nm_fll[idx_skp]);
(void)fprintf(stdout,"%s: list of templates\n",nco_prg_nm_get());
int idx_tpl=0;
- for(unsigned idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
+ for(unsigned idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++)
if(trv_tbl->lst[idx_tbl].flg_nsm_tpl){
(void)fprintf(stdout,"%s: <template> %d <%s>\n",nco_prg_nm_get(),idx_tpl,trv_tbl->lst[idx_tbl].nm_fll);
idx_tpl++;
}
- }
(void)fprintf(stdout,"%s: list of ensemble members\n",nco_prg_nm_get());
for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++){
@@ -8642,7 +8486,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
/* Mark as inserted in array */
flg_ins=True;
break;
- } /* Match */
+ } /* Match */
} /* Loop constructed array to see if already inserted */
/* Export list of variable names for group */
@@ -8697,9 +8541,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
trv_tbl->nsm[trv_tbl->nsm_nbr-1].skp_nm_fll=(char **)nco_realloc(trv_tbl->nsm[trv_tbl->nsm_nbr-1].skp_nm_fll,skp_nbr*sizeof(char *));
trv_tbl->nsm[trv_tbl->nsm_nbr-1].skp_nm_fll[skp_nbr-1]=(char *)strdup(var_trv->nm_fll);
- if(nco_dbg_lvl_get() >= nco_dbg_dev)
- (void)fprintf(stdout,"%s: DEBUG %s inserted fixed template <%s>\n",nco_prg_nm_get(),
- fnc_nm,trv_tbl->nsm[trv_tbl->nsm_nbr-1].skp_nm_fll[skp_nbr-1]);
+ if(nco_dbg_lvl_get() >= nco_dbg_dev) (void)fprintf(stdout,"%s: DEBUG %s inserted fixed template <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[trv_tbl->nsm_nbr-1].skp_nm_fll[skp_nbr-1]);
} else {
@@ -8708,9 +8550,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
trv_tbl->nsm[trv_tbl->nsm_nbr-1].tpl_mbr_nm=(char **)nco_realloc(trv_tbl->nsm[trv_tbl->nsm_nbr-1].tpl_mbr_nm,tpl_nbr*sizeof(char *));
trv_tbl->nsm[trv_tbl->nsm_nbr-1].tpl_mbr_nm[tpl_nbr-1]=(char *)strdup(var_trv->nm);
- if(nco_dbg_lvl_get() == nco_dbg_old)
- (void)fprintf(stdout,"%s: DEBUG %s inserted template <%s>\n",nco_prg_nm_get(),
- fnc_nm,trv_tbl->nsm[trv_tbl->nsm_nbr-1].tpl_mbr_nm[tpl_nbr-1]=(char *)strdup(var_trv->nm));
+ if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: DEBUG %s inserted template <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[trv_tbl->nsm_nbr-1].tpl_mbr_nm[tpl_nbr-1]=(char *)strdup(var_trv->nm));
} /* Define as either fixed template or template */
} /* Loop common names, insert template and fixed template variables */
@@ -8727,14 +8567,12 @@ nco_bld_nsm /* [fnc] Build ensembles */
for(int idx_nm=0;idx_nm<nm_lst_1_nbr;idx_nm++) nm_lst_1[idx_nm]=(char *)nco_free(nm_lst_1[idx_nm]);
nm_lst_1=(char **)nco_free(nm_lst_1);
- } /* Group (not root) */
+ } /* Group (not root) */
} /* Loop table */
if(nco_dbg_lvl_get() >= nco_dbg_dev){
(void)fprintf(stdout,"%s: DEBUG %s list of ensembles\n",nco_prg_nm_get(),fnc_nm);
- for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++){
- (void)fprintf(stdout,"%s: DEBUG %s <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
- }
+ for(int idx_nsm=0;idx_nsm<trv_tbl->nsm_nbr;idx_nsm++) (void)fprintf(stdout,"%s: DEBUG %s <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].grp_nm_fll_prn);
}
if(trv_tbl->nsm_nbr == 0) return;
@@ -8776,7 +8614,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
/* Inquire if variable exists */
trv_sct *var_trv=trv_tbl_var_nm_fll(var_nm_fll,trv_tbl);
- if (!var_trv){
+ if(!var_trv){
(void)fprintf(stderr,"%s: ERROR expected member ensemble <%s> does not exist\n",nco_prg_nm_get(),var_nm_fll);
nco_exit(EXIT_FAILURE);
}
@@ -8794,10 +8632,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll=(char **)nco_realloc(trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll,trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nbr*sizeof(char *));
trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]=(char *)strdup(var_nm_fll);
- if(nco_dbg_lvl_get() == nco_dbg_old){
- (void)fprintf(stdout,"%s: DEBUG %s inserted ensemble variable <%s>\n",nco_prg_nm_get(),fnc_nm,
- trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]);
- }
+ if(nco_dbg_lvl_get() == nco_dbg_old) (void)fprintf(stdout,"%s: DEBUG %s inserted ensemble variable <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]);
/* Free */
var_nm_fll=(char *)nco_free(var_nm_fll);
@@ -8805,7 +8640,7 @@ nco_bld_nsm /* [fnc] Build ensembles */
} /* Insert members by building name from group and template */
/* Mark fixed templates as non extracted */
- if (flg_fix_xtr == True){
+ if(flg_fix_xtr){
/* List of fixed templates */
for(int idx_skp=0;idx_skp<trv_tbl->nsm[idx_nsm].skp_nbr;idx_skp++){
@@ -8999,10 +8834,7 @@ nco_nsm_ncr /* [fnc] Increase ensembles (more than 1 f
trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll=(char **)nco_realloc(trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll,trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nbr*sizeof(char *));
trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]=(char *)strdup(var_nm_fll);
- if(nco_dbg_lvl_get() >= nco_dbg_dev){
- (void)fprintf(stdout,"%s: DEBUG %s inserted ensemble variable <%s>\n",nco_prg_nm_get(),fnc_nm,
- trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]);
- }
+ if(nco_dbg_lvl_get() >= nco_dbg_dev) (void)fprintf(stdout,"%s: DEBUG %s inserted ensemble variable <%s>\n",nco_prg_nm_get(),fnc_nm,trv_tbl->nsm[idx_nsm].mbr[mbr_nbr].var_nm_fll[idx_tpl]);
var_nm_fll=(char *)nco_free(var_nm_fll);
@@ -10341,7 +10173,7 @@ nco_nsm_att /* [fnc] Inquire if ensemble parent group
attr_sng=(char *)nco_free(attr_sng);
} /* Check retrun code */
- } /* Filter groups */
+ } /* Filter groups */
} /* Loop table */
} /* nco_nsm_att() */
diff --git a/src/nco/nco_grp_utl.h b/src/nco/nco_grp_utl.h
index 580c0ee..6994f9c 100644
--- a/src/nco/nco_grp_utl.h
+++ b/src/nco/nco_grp_utl.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.h,v 1.514 2014/08/26 17:53:43 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_grp_utl.h,v 1.516 2014/09/23 18:43:06 zender Exp $ */
/* Purpose: Group utilities */
@@ -567,12 +567,11 @@ nco_bld_lmt /* [fnc] Assign user specified dimension l
nco_bool FORTRAN_IDX_CNV, /* I [flg] Hyperslab indices obey Fortran convention */
trv_tbl_sct * const trv_tbl); /* I/O [sct] Traversal table */
-
void
-nco_msa_var_get_lmn_trv /* [fnc] Read a used defined limit */
+nco_msa_var_get_rec_trv /* [fnc] Read one record of a variable */
(const int nc_id, /* I [ID] netCDF file ID */
var_sct *var_prc, /* I/O [sct] Variable */
- const char * const rec_nm_fll, /* I [sng] Full name of record being done in loop (trv_tbl->lmt_rec[idx_rec]->nm_fll ) */
+ const char * const rec_nm_fll, /* I [sng] Record dimension name */
const long idx_rec_crr_in, /* [idx] Index of current record in current input file */
const trv_tbl_sct * const trv_tbl);/* I [sct] GTT (Group Traversal Table) */
@@ -589,18 +588,6 @@ nco_var_get_wgt_trv /* [fnc] Retrieve weighting or mask variab
const var_sct * const var, /* I [sct] Variable that needs the weight/mask variable */
const trv_tbl_sct * const trv_tbl); /* I [lst] Traversal table */
-dmn_trv_sct * /* O [sct] Table dimension object */
-nco_dmn_usr_sng /* [fnc] Parse input string and return table dimension object */
-(const char * const usr_sng, /* I [sng] Object name */
- const trv_tbl_sct * const trv_tbl, /* I [lst] Traversal table */
- nco_bool *is_opt); /* O [flg] Dimension presence is optional (name has '.') */
-
-trv_sct * /* O [sct] Table object */
-nco_obj_usr_sng /* [fnc] Parse input string and return table object */
-(const char * const usr_sng, /* I [sng] Object name */
- const trv_tbl_sct * const trv_tbl, /* I [lst] Traversal table */
- nco_bool *is_opt); /* O [flg] Dimension presence is optional (input string has '.') */
-
void
nco_aed_prc_grp /* [fnc] Process attributes in groups */
(const int nc_id, /* I [id] netCDF file ID */
diff --git a/src/nco/nco_lmt.c b/src/nco/nco_lmt.c
index 0d396c2..a59a4b3 100644
--- a/src/nco/nco_lmt.c
+++ b/src/nco/nco_lmt.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.c,v 1.210 2014/07/15 18:48:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_lmt.c,v 1.211 2014/10/01 16:05:12 zender Exp $ */
/* Purpose: Hyperslab limits */
@@ -556,7 +556,7 @@ nco_prn_lmt /* [fnc] Print limit information */
(void)fprintf(stderr,"SRD = %s\n",lmt.srd != 1L ? "YES" : "NO");
(void)fprintf(stderr,"SSC = %s\n",lmt.ssc != 1L ? "YES" : "NO");
(void)fprintf(stderr,"MRO = %s\n\n",lmt.flg_mro ? "YES" : "NO");
-}
+} /* nco_prn_lmt() */
void
nco_lmt_evl /* [fnc] Parse user-specified limits into hyperslab specifications */
@@ -1822,6 +1822,10 @@ nco_lmt_evl_dmn_crd /* [fnc] Parse user-specified limits into hypersl
} /* end if */
/* 20120709 Negative integer as min or max element of hyperslab specification indicates offset from end */
+ if(lmt.min_idx == 0L && lmt.min_sng)
+ if(lmt.min_sng[0] == '-') lmt.min_idx=dmn_sz-1L;
+ if(lmt.max_idx == 0L && lmt.max_sng)
+ if(lmt.max_sng[0] == '-') lmt.max_idx=dmn_sz-1L;
if(lmt.min_idx < 0L) lmt.min_idx+=dmn_sz-1L;
if(lmt.max_idx < 0L) lmt.max_idx+=dmn_sz-1L;
diff --git a/src/nco/nco_msa.c b/src/nco/nco_msa.c
index f323723..bb58a35 100644
--- a/src/nco/nco_msa.c
+++ b/src/nco/nco_msa.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.c,v 1.250 2014/08/27 04:44:01 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_msa.c,v 1.266 2014/10/01 00:08:18 zender Exp $ */
/* Purpose: Multi-slabbing algorithm */
@@ -19,6 +19,9 @@ nco_msa_rcr_clc /* [fnc] Multi-slab algorithm (recursive routine, returns a sing
{
/* NB: nco_msa_rcr_clc() with same nc_id contains OpenMP critical region */
/* Purpose: Multi-slab algorithm (recursive routine, returns a single slab pointer) */
+
+ const char fnc_nm[]="nco_msa_rcr_clc()"; /* [sng] Function name */
+
int idx;
int nbr_slb;
void *vp;
@@ -65,7 +68,9 @@ nco_msa_rcr_clc /* [fnc] Multi-slab algorithm (recursive routine, returns a sing
for(idx=0;idx<dpt_crr_max;idx++) var_sz*=(idx<dpt_crr ? lmt[idx]->cnt : lmt_lst[idx]->dmn_cnt);
- vp=(void *)nco_calloc((size_t)var_sz,nco_typ_lng(vara->type));
+ /* Used nco_callloc() for unknown reasons until 20140930 */
+ /* vp=(void *)nco_calloc((size_t)var_sz,nco_typ_lng(vara->type));*/
+ vp=(void *)nco_malloc(var_sz*nco_typ_lng(vara->type));
lcnt=nco_typ_lng(vara->type);
for(idx=dpt_crr+1;idx<dpt_crr_max;idx++) lcnt*=lmt_lst[idx]->dmn_cnt;
@@ -92,7 +97,7 @@ nco_msa_rcr_clc /* [fnc] Multi-slab algorithm (recursive routine, returns a sing
} /* end while */
cp_fst+=slb_sz;
} /* end loop over two slabs */
- } else {
+ }else{
/* Multiple hyper-slabs */
while(nco_msa_clc_idx(True,lmt_lst[dpt_crr],&indices[0],&lmt_ret,&slb_idx)){
cp_stp=(char *)vp+cp_fst;
@@ -120,6 +125,7 @@ nco_msa_rcr_clc /* [fnc] Multi-slab algorithm (recursive routine, returns a sing
read_lbl:
{
+ int dmn_srd_nbr=0;
long var_sz=1L;
long srd_prd=1L; /* Product of strides */
long *dmn_srt;
@@ -136,6 +142,7 @@ read_lbl:
dmn_srd[idx]=lmt[idx]->srd;
var_sz*=dmn_cnt[idx];
srd_prd*=lmt[idx]->srd;
+ if(lmt[idx]->srd > 1L) dmn_srd_nbr++;
} /* end loop over idx */
vp=(void *)nco_malloc(var_sz*nco_typ_lng(vara->type));
@@ -143,13 +150,76 @@ read_lbl:
/* Block is critical/thread-safe for identical/distinct in_id's */
{ /* begin potential OpenMP critical */
/* Check for stride */
- if(var_sz > 0){ /* Allow for zero-size record variables TODO nco711 */
+ if(var_sz > 0L){ /* Allow for zero-size record variables TODO nco711 */
/* 20140304: User reported extreme slowdown accessing 3-D data with strides across DAP connection
Info from R. Signell and J. Whitaker suggests using nco_get_vars() instead of nco_get_varm() may be crucial
Tests bear this out: get_varm() is tortuously slow across DAP
Always use get_vars() for strides unless using full get_varm() mapping vector */
/* (void)nco_get_varm(vara->nc_id,vara->id,dmn_srt,dmn_cnt,dmn_srd,(long *)NULL,vp,vara->type); */
- if(srd_prd == 1L) (void)nco_get_vara(vara->nc_id,vara->id,dmn_srt,dmn_cnt,vp,vara->type); else (void)nco_get_vars(vara->nc_id,vara->id,dmn_srt,dmn_cnt,dmn_srd,vp,vara->type);
+ if(srd_prd == 1L){
+ (void)nco_get_vara(vara->nc_id,vara->id,dmn_srt,dmn_cnt,vp,vara->type);
+ }else{
+ /* 20140926: nc_get_vars() performs poorly on netCDF4 files
+ Long investigation sparked by Parker Norton on 20140718 revealed nc_get_vars() calls nc_get_vara() once
+ per element in the strided hyperslab. This quickly become unusable for large hyperslabs.
+ Ultimate fix may be using HDF5 algorithm H5S_set_hyperslab() as described in Jira NCF-301
+ Until then, should decompose a single-stride request into a loop over contiguous non-stride requests */
+
+ int fl_in_fmt; /* [enm] Input file format */
+
+ nco_bool USE_NC4_SRD_WORKAROUND=False; /* [flg] Use faster access for strided hyperslabs in netCDF4 files */
+
+ (void)nco_inq_format(vara->nc_id,&fl_in_fmt);
+
+ if((fl_in_fmt == NC_FORMAT_NETCDF4 || fl_in_fmt == NC_FORMAT_NETCDF4_CLASSIC) && (dmn_srd_nbr == 1))
+ USE_NC4_SRD_WORKAROUND=True;
+
+ if(!USE_NC4_SRD_WORKAROUND){
+ if(nco_dbg_lvl_get() >= nco_dbg_var && srd_prd > 1L) (void)fprintf(stderr,"%s: INFO %s reports calling nco_get_vars() for strided hyperslab access. In case of slow response, please ask NCO developers to extend USE_NC4_SRD_WORKAROUND to handle your use-case.\n",nco_prg_nm_get(),fnc_nm);
+ (void)nco_get_vars(vara->nc_id,vara->id,dmn_srt,dmn_cnt,dmn_srd,vp,vara->type);
+ }else{
+ int srd_nbr; /* [nbr] Number of strides requested in the single strided dimension (not number of strided dimensions) */
+ int srd_idx; /* [idx] Counter for how many times to call nco_get_var() */
+ int idx_srd; /* [idx] Index of strided dimension */
+ int dmn_idx; /* [idx] Index for dimensions */
+ long srd_sz=1L; /* [nbr] Size of hyperslab of one stride */
+ char *cp_srd; /* [ptr] Use char pointer because arithmetic with void pointer is non-standard */
+
+ if(nco_dbg_lvl_get() >= nco_dbg_std) (void)fprintf(stderr,"%s: INFO %s using USE_NC4_SRD_WORKAROUND for faster access to strided hyperslabs in netCDF4 datasets\n",nco_prg_nm_get(),fnc_nm);
+
+ /* Find strided dimension */
+ for(dmn_idx=0;dmn_idx<dpt_crr_max;dmn_idx++)
+ if(dmn_srd[dmn_idx] != 1L) break;
+
+ assert(dmn_idx != dpt_crr_max);
+ idx_srd=dmn_idx;
+
+ /* Find size of hyperslab of each stride */
+ for(dmn_idx=0;dmn_idx<dpt_crr_max;dmn_idx++)
+ if(dmn_idx != idx_srd) srd_sz*=dmn_cnt[dmn_idx];
+
+ /* Number of strides within memory */
+ srd_nbr=var_sz/srd_sz;
+ assert(srd_nbr == dmn_cnt[idx_srd]);
+
+ if(nco_dbg_lvl_get() >= nco_dbg_io){
+ (void)fprintf(stderr,"%s: INFO %s USE_NC4_SRD_WORKAROUND reports variable %s has dmn_nbr = %d, dpt_crr_max = %d, idx_srd = %d, srd_nbr = %d, srd_sz = %ld\n",nco_prg_nm_get(),fnc_nm,vara->nm,vara->nbr_dim,dpt_crr_max,idx_srd,srd_nbr,srd_sz);
+ (void)fprintf(stdout,"%s: %s hyperslabbing variable %s, var_sz=%ld\n",nco_prg_nm_get(),fnc_nm,vara->nm,var_sz);
+ for(idx=0;idx<dpt_crr_max;idx++) (void)fprintf(stdout,"dmn_idx=%d srt=%ld, cnt=%ld, srd=%ld\n",idx,dmn_srt[idx],dmn_cnt[idx],dmn_srd[idx]);
+ } /* endif dbg */
+
+ cp_srd=(char *)vp;
+ /* Replace multiple strides by loop over single strides */
+ dmn_cnt[idx_srd]=1L;
+ for(srd_idx=0;srd_idx<srd_nbr;srd_idx++){
+ /* Point next stride on disk */
+ if(srd_idx != 0) dmn_srt[idx_srd]+=dmn_srd[idx_srd];
+ /* Place results in next portion of RAM */
+ if(srd_idx != 0) cp_srd+=srd_sz*nco_typ_lng(vara->type);
+ (void)nco_get_vara(vara->nc_id,vara->id,dmn_srt,dmn_cnt,(void *)cp_srd,vara->type);
+ } /* end loop over srd */
+ } /* endif workaround */
+ } /* srd_prd != 1L */
} /* end if var_sz */
} /* end potential OpenMP critical */
@@ -160,7 +230,7 @@ read_lbl:
/* Put size into vara */
vara->sz=var_sz;
return vp;
- }/* end read_lbl */
+ } /* end read_lbl */
} /* end nco_msa_rcr_clc() */
@@ -175,11 +245,11 @@ nco_msa_prn_idx(lmt_msa_sct *lmt_i)
indices=(long *)nco_malloc(size *sizeof(long));
- printf("name=%s total size=%ld\n",lmt_i->dmn_nm,lmt_i->dmn_cnt);
+ (void)fprintf(stdout,"name=%s total size=%ld\n",lmt_i->dmn_nm,lmt_i->dmn_cnt);
for(idx=0;idx<size;idx++) indices[idx]=lmt_i->lmt_dmn[idx]->srt;
- while(nco_msa_clc_idx(False,lmt_i,&indices[0],&lmt,&slb_nbr)) printf("slb_nbr=%d, srt=%ld, end=%ld, cnt=%ld, srd=%ld\n",slb_nbr,lmt.srt,lmt.end,lmt.cnt,lmt.srd);
+ while(nco_msa_clc_idx(False,lmt_i,&indices[0],&lmt,&slb_nbr)) (void)fprintf(stdout,"slb_nbr=%d, srt=%ld, end=%ld, cnt=%ld, srd=%ld\n",slb_nbr,lmt.srt,lmt.end,lmt.cnt,lmt.srd);
} /* end nco_msa_prn_idx() */
nco_bool /* [flg] There are more limits to process in the slab */
@@ -191,19 +261,20 @@ nco_msa_clc_idx
int *slb) /* slab which above limit refers to */
{
/* A messy, unclear, inefficient routine that needs re-writing
- if NORMALIZE then return the slab number and the hyperslab in lmt
- NB: This is the slab _WITHIN_ the slab so stride is ALWAYS 1 */
+ if NORMALIZE then return the slab number and the hyperslab in lmt
+ NB: This is the slab _WITHIN_ the slab so stride is ALWAYS 1 */
int sz_idx;
int size=lmt_a->lmt_dmn_nbr;
- nco_bool *mnm;
- nco_bool rcd;
-
int prv_slb=0;
int crr_slb=0;
+
long crr_idx;
long prv_idx=long_CEWI;
long cnt=0L;
+ nco_bool *mnm;
+ nco_bool rcd;
+
mnm=(nco_bool *)nco_malloc(size*sizeof(nco_bool));
lmt->srt=-1L;
@@ -218,7 +289,7 @@ nco_msa_clc_idx
if(mnm[sz_idx]){crr_slb=sz_idx;break;}
if(crr_slb == -1){
- if(lmt->srt == -1){
+ if(lmt->srt == -1L){
rcd=False;
goto cln_and_xit;
}else break;
@@ -226,7 +297,7 @@ nco_msa_clc_idx
if(mnm[prv_slb]) crr_slb=prv_slb;
- if(lmt->srt > -1 && crr_slb != prv_slb) break;
+ if(lmt->srt > -1L && crr_slb != prv_slb) break;
if(lmt->cnt > 1L){
(lmt->cnt)++;
@@ -249,7 +320,7 @@ nco_msa_clc_idx
for(sz_idx=0;sz_idx<size;sz_idx++){
if(mnm[sz_idx]){
indices[sz_idx]+=lmt_a->lmt_dmn[sz_idx]->srd;
- if(indices[sz_idx] > lmt_a->lmt_dmn[sz_idx]->end) indices[sz_idx]=-1;
+ if(indices[sz_idx] > lmt_a->lmt_dmn[sz_idx]->end) indices[sz_idx]=-1L;
}
} /* end loop over sz_idx */
prv_idx=crr_idx;
@@ -282,9 +353,8 @@ nco_msa_ram_2_dsk /* Convert hyperslab indices (in RAM) to hyperlsab indices rel
long *dmn_sbs_dsk,
nco_bool flg_free)
{
- /* It does not really convert RAM indices to disk indices, but given a set
- of RAM indices, it finds the next set of disk incdices.
- So it only works if the indices fed to it are continuous */
+ /* Given a set of RAM indices, routine finds next set of disk indices
+ Only works if the indices fed to it are continuous */
int idx;
int jdx;
int size;
@@ -302,7 +372,7 @@ nco_msa_ram_2_dsk /* Convert hyperslab indices (in RAM) to hyperlsab indices rel
dmn_indices[idx][jdx]=lmt_msa[idx]->lmt_dmn[jdx]->srt;
dmn_sbs_prv[idx]=-1L;
}
- initialize=1;
+ initialize=True;
}
for(idx=0;idx <nbr_dim;idx ++){
size=lmt_msa[idx]->lmt_dmn_nbr;
@@ -335,7 +405,7 @@ nco_msa_ram_2_dsk /* Convert hyperslab indices (in RAM) to hyperlsab indices rel
for(jdx=0;jdx<size;jdx++){
if(mnm[jdx]){
dmn_indices[idx][jdx]+=lmt_msa[idx]->lmt_dmn[jdx]->srd;
- if(dmn_indices[idx][jdx] > lmt_msa[idx]->lmt_dmn[jdx]->end) dmn_indices[idx][jdx]=-1;
+ if(dmn_indices[idx][jdx] > lmt_msa[idx]->lmt_dmn[jdx]->end) dmn_indices[idx][jdx]=-1L;
}
} /* end for jdx */
} /* end for idx */
@@ -345,10 +415,9 @@ nco_msa_ram_2_dsk /* Convert hyperslab indices (in RAM) to hyperlsab indices rel
/* Free static space on last call */
if(flg_free){
(void)nco_free(dmn_sbs_prv);
- for(idx=0;idx <nbr_dim;idx++)
- (void)nco_free(dmn_indices[idx]);
+ for(idx=0;idx<nbr_dim;idx++) (void)nco_free(dmn_indices[idx]);
(void)nco_free(dmn_indices);
- initialize=0;
+ initialize=False;
}
} /* end nco_msa_ram_2_dsk() */
@@ -383,7 +452,7 @@ nco_msa_clc_cnt
for(idx=0;idx<size;idx++){
if(mnm[idx]){
indices[idx]+=lmt_lst->lmt_dmn[idx]->srd;
- if(indices[idx] > lmt_lst->lmt_dmn[idx]->end) indices[idx]=-1;
+ if(indices[idx] > lmt_lst->lmt_dmn[idx]->end) indices[idx]=-1L;
} /* end if */
} /* end loop over idx */
cnt++;
@@ -402,7 +471,7 @@ nco_msa_ovl
(lmt_msa_sct *lmt_lst)
{
/* Purpose: Return true if limits overlap
- NB: Assumes that limits have been sorted */
+ NB: Assumes that limits have been sorted */
long idx;
long jdx;
@@ -412,9 +481,9 @@ nco_msa_ovl
/* defererence */
lmt=lmt_lst->lmt_dmn;
- for(idx=0; idx<sz; idx++)
- for(jdx=idx+1; jdx<sz ;jdx++)
- if( lmt[jdx]->srt <= lmt[idx]->end) return True;
+ for(idx=0L;idx<sz;idx++)
+ for(jdx=idx+1L;jdx<sz;jdx++)
+ if(lmt[jdx]->srt <= lmt[idx]->end) return True;
return False;
} /* end nco_msa_ovl() */
@@ -457,10 +526,10 @@ nco_msa_min_idx /* [fnc] Find minimum values in current and return minimum value
long min_val=LONG_MAX;
for(sz_idx=0;sz_idx<size;sz_idx++)
- if(current[sz_idx] != -1 && current[sz_idx] < min_val) min_val=current[sz_idx];
+ if(current[sz_idx] != -1L && current[sz_idx] < min_val) min_val=current[sz_idx];
for(sz_idx=0;sz_idx<size;sz_idx++)
- mnm[sz_idx]=((current[sz_idx] != -1 && current[sz_idx] == min_val) ? True : False);
+ mnm[sz_idx]=((current[sz_idx] != -1L && current[sz_idx] == min_val) ? True : False);
return min_val;
} /* end nco_msa_min_idx() */
@@ -480,11 +549,11 @@ nco_msa_var_get /* [fnc] Get variable data from disk taking account of multih
lmt_msa_sct **lmt_msa;
lmt_sct **lmt;
- nbr_dim=var_in->nbr_dim;
+ nbr_dim=var_in->nbr_dim;
/* Refresh nc_id with in_id, NB: makes OpenMP threading work
- Should have been included in release 3.9.5
- Fixes TODO nco956 */
+ Should have been included in release 3.9.5
+ Fixes TODO nco956 */
var_in->nc_id=in_id;
/* Scalars */
@@ -521,9 +590,7 @@ nco_msa_var_get /* [fnc] Get variable data from disk taking account of multih
do_upk:
/* Following code copied from nco_var_get() */
-
if(var_in->pck_dsk) var_in=nco_cnv_mss_val_typ(var_in,var_in->typ_dsk);
- /* var=nco_cnv_mss_val_typ(var,var->typ_dsk);*/
/* Type of variable and missing value in memory are now same as type on disk */
var_in->type=var_in->typ_dsk; /* [enm] Type of variable in RAM */
@@ -769,8 +836,8 @@ nco_msa_wrp_splt_trv /* [fnc] Split wrapped dimensions (GTT version) */
int idx;
int jdx;
- int size=dmn_trv->lmt_msa.lmt_dmn_nbr; /* [nbr] Number of limit structures */
- long dmn_sz_org=dmn_trv->sz; /* [nbr] Size of dimension */
+ int size=dmn_trv->lmt_msa.lmt_dmn_nbr; /* [nbr] Number of limit structures */
+ long dmn_sz_org=dmn_trv->sz; /* [nbr] Size of dimension */
long srt;
long cnt;
long srd;
@@ -785,7 +852,7 @@ nco_msa_wrp_splt_trv /* [fnc] Split wrapped dimensions (GTT version) */
lmt_wrp=(lmt_sct *)nco_malloc(2*sizeof(lmt_sct));
- /* "trv": Initialize */
+ /* "trv": Initialize */
(void)nco_lmt_init(&lmt_wrp[0]);
(void)nco_lmt_init(&lmt_wrp[1]);
@@ -1426,10 +1493,7 @@ nco_cpy_msa_lmt /* [fnc] Copy MSA struct from table to local
} /* If there are limits for this variable dimension, get MSA from table */
/* This dimension must have either a coordinate or a dimension pointer */
- else
- {
- assert(0);
- }
+ else assert(False);
} /* Loop dimensions for object (variable) */
@@ -1448,11 +1512,10 @@ nco_msa_var_get_trv /* [fnc] Get variable data from disk taking
lmt_msa_sct **lmt_msa;
lmt_sct **lmt;
- trv_sct *var_trv;
- nc_type typ_tmp;
+ nc_type mss_typ_tmp;
- void *void_ptr;
+ trv_sct *var_trv;
/* Obtain variable GTT object using full variable name */
var_trv=trv_tbl_var_nm_fll(var_in->nm_fll,trv_tbl);
@@ -1465,7 +1528,7 @@ nco_msa_var_get_trv /* [fnc] Get variable data from disk taking
var_in->nc_id=grp_id;
assert(nbr_dim == var_trv->nbr_dmn);
- assert(strcmp(var_in->nm_fll,var_trv->nm_fll) == 0);
+ assert(!strcmp(var_in->nm_fll,var_trv->nm_fll));
/* Scalars */
if(nbr_dim == 0){
@@ -1481,59 +1544,55 @@ nco_msa_var_get_trv /* [fnc] Get variable data from disk taking
/* Copy from table to local MSA */
(void)nco_cpy_msa_lmt(var_trv,&lmt_msa);
-
if(nco_dbg_lvl_get() == nco_dbg_old){
(void)fprintf(stdout,"%s: DEBUG %s reading <%s>\n",nco_prg_nm_get(),fnc_nm,var_trv->nm_fll);
- /* Loop dimensions */
for(int idx_dmn=0;idx_dmn<var_trv->nbr_dmn;idx_dmn++){
- (void)fprintf(stdout,"%s: DEBUG %s <%s> elements %ld",nco_prg_nm_get(),fnc_nm,
- lmt_msa[idx_dmn]->dmn_nm,lmt_msa[idx_dmn]->dmn_cnt);
- for(int idx_lmt=0;idx_lmt<lmt_msa[idx_dmn]->lmt_dmn_nbr;idx_lmt++){
- (void)fprintf(stdout," : %ld (%ld->%ld)",lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->cnt,
- lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->srt,
- lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->end);
- }
+ (void)fprintf(stdout,"%s: DEBUG %s <%s> elements %ld",nco_prg_nm_get(),fnc_nm,lmt_msa[idx_dmn]->dmn_nm,lmt_msa[idx_dmn]->dmn_cnt);
+ for(int idx_lmt=0;idx_lmt<lmt_msa[idx_dmn]->lmt_dmn_nbr;idx_lmt++) (void)fprintf(stdout," : %ld (%ld->%ld)",lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->cnt,lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->srt,lmt_msa[idx_dmn]->lmt_dmn[idx_lmt]->end);
(void)fprintf(stdout,"\n");
- } /* Loop dimensions */
- }
-
-
- /* Call super-dooper recursive routine */
- typ_tmp=var_in->type;
- var_in->type=var_in->typ_dsk;
- void_ptr=nco_msa_rcr_clc((int)0,nbr_dim,lmt,lmt_msa,var_in);
-
- var_in->type=typ_tmp;
- var_in->val.vp=void_ptr;
+ } /* end loop over dimensions */
+ } /* endif dbg */
+
+ /* Call super-dooper recursive routine
+ nco_msa_rcr_clc requires that var_in->type be on-disk type
+ Could replace var->type by var->typ_dsk in nco_msa_rcr_clc() but that seems inelegant
+ Instead, risk putting val and mss_val types briefly out-of-sync by pretending var->type is typ_dsk
+ Save current type of missing value in RAM in temporary variable and conform new variable to that below
+ 20140930: This is (too?) confusing and hard-to-follow, a better solution is to add a field mss_val_typ
+ to var_sct and then separately and explicitly track types of both val and mss_val members. */
+ mss_typ_tmp=var_in->type;
+ var_in->type=var_in->typ_dsk;
+ var_in->val.vp=nco_msa_rcr_clc((int)0,nbr_dim,lmt,lmt_msa,var_in);
+ var_in->type=mss_typ_tmp;
- /* Free */
+ /* Free */
(void)nco_lmt_msa_free(var_trv->nbr_dmn,lmt_msa);
lmt=(lmt_sct **)nco_free(lmt);
do_upk:
- /* Following code copied from nco_var_get() */
-
- if(var_in->pck_dsk) var_in=nco_cnv_mss_val_typ(var_in,var_in->typ_dsk);
+ /* Missing value type synchronization:
+ Avoid re-reading missing value every ncra record by converting input value to disk type
+ var_in->type still reflects missing value type, not variable value type */
+ if(var_in->pck_dsk && (mss_typ_tmp != var_in->typ_dsk)) var_in=nco_cnv_mss_val_typ(var_in,var_in->typ_dsk);
+ var_in->type=var_in->typ_dsk;
/* Type of variable and missing value in memory are now same as type on disk */
- var_in->type=var_in->typ_dsk; /* [enm] Type of variable in RAM */
/* Packing in RAM is now same as packing on disk pck_dbg
- fxm: This nco_pck_dsk_inq() call is never necessary for non-packed variables */
+ fxm: This nco_pck_dsk_inq() call is never necessary for non-packed variables */
(void)nco_pck_dsk_inq(grp_id,var_in);
/* Packing/Unpacking */
if(nco_is_rth_opr(nco_prg_id_get())){
/* Arithmetic operators must unpack variables before performing arithmetic
- Otherwise arithmetic will produce garbage results */
+ Otherwise arithmetic will produce garbage results */
/* 20050519: Not sure why I originally made nco_var_upk() call SMP-critical
- 20050629: Making this region multi-threaded causes no problems */
+ 20050629: Making this region multi-threaded causes no problems */
if(var_in->pck_dsk) var_in=nco_var_upk(var_in);
} /* endif arithmetic operator */
return;
-} /* nco_msa_var_get_trv() */
-
+} /* end nco_msa_var_get_trv() */
void
nco_lmt_msa_free /* [fnc] Free MSA */
@@ -1541,14 +1600,12 @@ nco_lmt_msa_free /* [fnc] Free MSA */
lmt_msa_sct **lmt_msa) /* I [sct] MSA */
{
/* Free */
- for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++) {
+ for(int idx_dmn=0;idx_dmn<nbr_dmn;idx_dmn++){
lmt_msa[idx_dmn]->dmn_nm=(char *)nco_free(lmt_msa[idx_dmn]->dmn_nm);
- for(int lmt_idx=0;lmt_idx<lmt_msa[idx_dmn]->lmt_dmn_nbr;lmt_idx++){
- lmt_msa[idx_dmn]->lmt_dmn[lmt_idx]=nco_lmt_free(lmt_msa[idx_dmn]->lmt_dmn[lmt_idx]);
- }
+ for(int lmt_idx=0;lmt_idx<lmt_msa[idx_dmn]->lmt_dmn_nbr;lmt_idx++) lmt_msa[idx_dmn]->lmt_dmn[lmt_idx]=nco_lmt_free(lmt_msa[idx_dmn]->lmt_dmn[lmt_idx]);
lmt_msa[idx_dmn]->lmt_dmn=(lmt_sct **)nco_free(lmt_msa[idx_dmn]->lmt_dmn);
lmt_msa[idx_dmn]=(lmt_msa_sct *)nco_free(lmt_msa[idx_dmn]);
}
lmt_msa=(lmt_msa_sct **)nco_free(lmt_msa);
-}
+} /* end nco_lmt_msa_free() */
diff --git a/src/nco/nco_netcdf.c b/src/nco/nco_netcdf.c
index 75c1be3..3683f8c 100644
--- a/src/nco/nco_netcdf.c
+++ b/src/nco/nco_netcdf.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.c,v 1.252 2014/07/11 02:13:51 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.c,v 1.254 2014/09/24 18:14:51 zender Exp $ */
/* Purpose: NCO wrappers for netCDF C library */
@@ -79,12 +79,13 @@ nco_err_exit /* [fnc] Print netCDF error message, routine name, then exit */
case NC_EBADTYPE: (void)fprintf(stdout,"ERROR NC_BADTYPE Not a netCDF data type\nHINT: NC_EBADTYPE errors can occur when NCO tries to write netCDF4 features to a netCDF3 file. Features that cannot be defined in a netCDF3 file, and that thus will trigger this error, include groups and netCDF4 atomic types (e.g., NC_STRING, NC_UBYTE). The workaround is to remove all netCDF4 features before attempting the conversion, or to just give up and write a netCDF4 output file instead of a netCDF3 [...]
case NC_ECANTWRITE: (void)fprintf(stdout,"ERROR NC_ECANTWRITE Can't write file\nHINT: NC_ECANTWRITE errors can occur when NCO tries to write to an HDF5 file that is not netCDF4-compliant. One workaround is translate the file to a netCDF4-compliant file first, e.g., with \'ncks in.h5 out.nc\'.\n"); break;
case NC_EINVAL: (void)fprintf(stdout,"ERROR NC_EINVAL Invalid argument\nHINT: NC_EINVAL errors can occur for many reasons. Three common ones are described here. 1. When NCO operators attempt to open netCDF4 files using the diskless option, usually invoked with --diskless_all, --ram_all, or --open_ram. Is your input file netCDF4 format? (http://nco.sf.net/nco.html#fmt_inq shows how to tell.) If so then omitting the diskless option may solve this problem. 2. When HDF4-enabled NCO attem [...]
+ case NC_EIO: (void)fprintf(stdout,"ERROR NC_EIO Generic IO error\nHINT: NC_EIO errors can occur when NCO tries to read a file through a non-existant DAP location. Then NCO automatically tries to retrieve the file through another method, e.g., searching for a file of the same name in the current directory. This can trigger a subsequent error. When debugging the problem, first address the originating error (from NC_EIO).\n"); break;
case NC_ELATEFILL: /* netcdf.h replaced NC_EFILLVALUE by NC_ELATEFILL after about netCDF ~4.2.1 */
(void)fprintf(stdout,"ERROR NC_ELATEFILL (formerly NC_EFILLVALUE) Attempt to define fill value when data already exists\nHINT: NC_ELATEFILL errors can occur when ncap2 attempts to define a variable with a _FillValue attribute in a netCDF4 file. We believe this is an NCO bug (fxm TODO nco1089) and are working to fix it. Does your output file need to be netCDF4 or netCDF4_classic format? If so, then wait for us to fix the bug. If not, change the output format to netCDF3 (e.g., with - [...]
#ifdef ENABLE_NETCDF4
case NC_ENOTBUILT: (void)fprintf(stdout,"ERROR NC_ENOTBUILT Attempt to use feature that was not turned on when netCDF was built\nHINT: NC_ENOTBUILT errors occur only, in our experience, when NCO attempts to access an HDF4 (including HDF-EOS2) file. It is only possible to access HDF4 files from NCO if NCO is first re-linked to a version of netCDF configured with the --enable-hdf4 option, which itself must be linked to a version of HDF4 configured with the --disable-netcdf option. These [...]
#endif /* !ENABLE_NETCDF4 */
- case NC_ENOTNC: (void)fprintf(stdout,"ERROR NC_ENOTNC Not a netCDF file\nHINT: NC_ENOTNC errors can occur for many reasons. If your use-case matches one of the four listed below, take the corrective action indicated:\n1. An NCO operator linked to the netCDF3 library attempts to read netCDF4 (or HDF4 or HDF5) files. ");
+ case NC_ENOTNC: (void)fprintf(stdout,"ERROR NC_ENOTNC Not a netCDF file\nHINT: NC_ENOTNC errors can occur for many reasons. If your use-case matches one of the four listed below, take the corrective action indicated:\n1. An NCO operator linked only to the classic netCDF3 library attempts to read netCDF4 (or HDF4 or HDF5) files. ");
#ifdef ENABLE_NETCDF4
(void)fprintf(stdout," However, this executable seems to have been built with the capability to manipulate netCDF4 files, so it is unlikely that this command failed only because the input datasets are netCDF4 format. Something else is going wrong. \n");
#else /* !ENABLE_NETCDF4 */
@@ -104,7 +105,7 @@ nco_err_exit /* [fnc] Print netCDF error message, routine name, then exit */
Only attempt to print netCDF error messages when rcd != 0 */
(void)fprintf(stderr,"%s: ERROR Error code is %d. ",fnc_nm,rcd);
if(rcd == NC_NOERR){
- (void)fprintf(stderr,"This indicates an error occurred outside of the netCDF layer, i.e., in NCO code or in a system call.\n");
+ (void)fprintf(stderr,"This indicates an error occurred in NCO code or in a system call, not in the netCDF layer.\n");
}else{
(void)fprintf(stderr,"Translation into English with nc_strerror(%d) is \"%s\"\n",rcd,nc_strerror(rcd));
} /* !NC_NOERR */
diff --git a/src/nco/nco_netcdf.h b/src/nco/nco_netcdf.h
index 43c291d..bba7eba 100644
--- a/src/nco/nco_netcdf.h
+++ b/src/nco/nco_netcdf.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.h,v 1.120 2014/07/10 23:36:22 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_netcdf.h,v 1.123 2014/09/25 05:12:09 zender Exp $ */
/* Purpose: NCO wrappers for netCDF C library */
@@ -48,6 +48,9 @@
/* 3rd party vendors */
#include <netcdf.h> /* netCDF definitions and C library */
+#ifdef NC_HAVE_META_H
+# include <netcdf_meta.h> /* NC_VERSION_..., NC_HAVE_RENAME_GRP */
+#endif /* !NC_HAVE_META_H */
#ifdef ENABLE_MPI
# include <mpi.h> /* MPI definitions */
# include <netcdf_par.h> /* Parallel netCDF definitions */
@@ -127,6 +130,12 @@
# define NC_FORMAT_64BIT_DATA NC_FORMAT_CDF5
#endif
+/* netcdf.h added tokens specifically for DAP in 2012?
+ Started annotating these error codes in nco_err_exit() in NCO 4.4.6 in 201409 */
+#ifndef NC_EIO
+# define NC_EIO (-68) /**< Generic IO error */
+#endif
+
/* Some netCDF3 stubs for netCDF4 routines need netCDF4-only return codes
These netCDF4 tokens are never defined in netCDF3-only netcdf.h */
#ifndef HAVE_NETCDF4_H
diff --git a/src/nco/nco_pck.c b/src/nco/nco_pck.c
index bf80730..da5ec20 100644
--- a/src/nco/nco_pck.c
+++ b/src/nco/nco_pck.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.c,v 1.99 2014/06/15 21:06:23 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_pck.c,v 1.100 2014/09/19 20:38:28 zender Exp $ */
/* Purpose: NCO utilities for packing and unpacking variables */
@@ -21,9 +21,9 @@
add_offset: If present for a variable, this number is added to the data after the data are read by the application. If both scale_factor and add_offset attributes are present, the data are first scaled before the offset is added.
When scale_factor and add_offset are used for packing, the associated variable (containing the packed data) is typically of type byte or short, whereas the unpacked values are intended to be of type float or double. Attribute's scale_factor and add_offset should both be of type intended for the unpacked data, e.g., float or double.
- 20101007 Dave Allured says that Unidata says this in NetCDF Best Practices:
- "The _FillValue attribute should have the same data type as the variable it describes. If the variable is packed using scale_factor and add_offset attributes, the _FillValue attribute should have the data type of the packed data."
+ 20101007 Dave Allured points out that Unidata covers this in NetCDF Best Practices:
http://www.unidata.ucar.edu/software/netcdf/docs/BestPractices.html#Missing%20Data%20Values
+ "The _FillValue attribute should have the same data type as the variable it describes. If the variable is packed using scale_factor and add_offset attributes, the _FillValue attribute should have the data type of the packed data."
CF conventions say about the same thing. If there is a mismatch between the attribute type and the data type, or if an incorrect value was stored in the _FillValue attribute, then manual intervention is needed. However note that storing -999 in an attribute of type short vs. integer is not much of a problem, because the two are are numerically identical. The important question in this case is whether ncra has an automatic method to exclude missing values from being transformed by aver [...]
diff --git a/src/nco/nco_prn.c b/src/nco/nco_prn.c
index 93e2af4..f1e5523 100644
--- a/src/nco/nco_prn.c
+++ b/src/nco/nco_prn.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.c,v 1.222 2014/07/15 18:48:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_prn.c,v 1.224 2014/09/25 04:41:15 zender Exp $ */
/* Purpose: Print variables, attributes, metadata */
@@ -49,6 +49,7 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
int att_nbr_vsb;
int dmn_nbr=0;
int fl_fmt; /* I [enm] File format */
+ int fl_fmt_xtn; /* I [enm] Extended file format */
int grp_id_prn;
int idx;
int prn_ndn=0; /* [nbr] Indentation for printing */
@@ -98,6 +99,7 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
if(att_nbr_ttl > 0) att=(att_sct *)nco_malloc(att_nbr_ttl*sizeof(att_sct));
rcd=nco_inq_format(grp_id,&fl_fmt);
+ rcd=nco_inq_format_extended(grp_id,&fl_fmt_xtn,(int *)NULL);
if(prn_flg->hdn && ((fl_fmt == NC_FORMAT_NETCDF4) || (fl_fmt == NC_FORMAT_NETCDF4_CLASSIC))){
char *val_hdn_sng=NULL;
@@ -124,10 +126,20 @@ nco_prn_att /* [fnc] Print all attributes of single variable or group */
att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
strncpy(att[idx].val.cp,val_hdn_sng,att_sz);
if(val_hdn_sng) val_hdn_sng=(char *)nco_free(val_hdn_sng);
+ /* _SOURCE_FORMAT only and always printed for root group */
+ idx=att_nbr_ttl++;
+ att=(att_sct *)nco_realloc(att,att_nbr_ttl*sizeof(att_sct));
+ att[idx].nm=(char *)strdup("_SOURCE_FORMAT");
+ att[idx].type=NC_CHAR;
+ val_hdn_sng=strdup(nco_fmt_xtn_sng(fl_fmt_xtn));
+ att_sz=att[idx].sz=strlen(val_hdn_sng);
+ att[idx].val.vp=(void *)nco_malloc(att_sz*nco_typ_lng(att[idx].type));
+ strncpy(att[idx].val.cp,val_hdn_sng,att_sz);
+ if(val_hdn_sng) val_hdn_sng=(char *)nco_free(val_hdn_sng);
} /* !rcd */
} /* !xml */
}else{
- if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4){
+ if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433){
/* _NOFILL */
rcd=nco_inq_var_fill(grp_id,var_id,&fll_nil,(int *)NULL);
if(fll_nil){
@@ -1170,7 +1182,7 @@ nco_prn_var_dfn /* [fnc] Print variable metadata */
(void)nco_inq_var(grp_id,var_id,(char *)NULL,&var_typ,&nbr_dim,(int *)NULL,&nbr_att);
/* Storage properties */
- if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4){
+ if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433){
(void)nco_inq_var_chunking(grp_id,var_id,&srg_typ,cnk_sz);
(void)nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
} /* endif */
@@ -1208,9 +1220,9 @@ nco_prn_var_dfn /* [fnc] Print variable metadata */
/* Print header for variable */
if(prn_flg->new_fmt && !prn_flg->xml) prn_ndn=prn_flg->sxn_fst+prn_flg->var_fst+var_trv->grp_dpt*prn_flg->spc_per_lvl;
if(prn_flg->xml) prn_ndn=prn_flg->sxn_fst+var_trv->grp_dpt*prn_flg->spc_per_lvl;
- if(prn_flg->trd && (nco_fmt_xtn_get() == nco_fmt_xtn_hdf4)) (void)fprintf(stdout,"%*s%s: type %s, %i dimension%s, %i attribute%s, chunked? HDF4_UNKNOWN, compressed? HDF4_UNKNOWN, packed? %s\n",prn_ndn,spc_sng,var_trv->nm,nco_typ_sng(var_typ),nbr_dim,(nbr_dim == 1) ? "" : "s",nbr_att,(nbr_att == 1) ? "" : "s",(packing) ? "yes" : "no");
- if(prn_flg->trd && (nco_fmt_xtn_get() != nco_fmt_xtn_hdf4)) (void)fprintf(stdout,"%*s%s: type %s, %i dimension%s, %i attribute%s, chunked? %s, compressed? %s, packed? %s\n",prn_ndn,spc_sng,var_trv->nm,nco_typ_sng(var_typ),nbr_dim,(nbr_dim == 1) ? "" : "s",nbr_att,(nbr_att == 1) ? "" : "s",(srg_typ == NC_CHUNKED) ? "yes" : "no",(deflate) ? "yes" : "no",(packing) ? "yes" : "no");
-
+ if(prn_flg->trd){
+ if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433) (void)fprintf(stdout,"%*s%s: type %s, %i dimension%s, %i attribute%s, chunked? %s, compressed? %s, packed? %s\n",prn_ndn,spc_sng,var_trv->nm,nco_typ_sng(var_typ),nbr_dim,(nbr_dim == 1) ? "" : "s",nbr_att,(nbr_att == 1) ? "" : "s",(srg_typ == NC_CHUNKED) ? "yes" : "no",(deflate) ? "yes" : "no",(packing) ? "yes" : "no"); else (void)fprintf(stdout,"%*s%s: type %s, %i dimension%s, %i attribute%s, chunked? HDF4_UNKNOWN [...]
+ } /* !trd */
if(prn_flg->xml) (void)fprintf(stdout,"%*s<variable name=\"%s\" type=\"%s\"",prn_ndn,spc_sng,var_trv->nm,xml_typ_nm(var_typ));
/* Print type, shape, and total size of variable */
@@ -1240,11 +1252,11 @@ nco_prn_var_dfn /* [fnc] Print variable metadata */
(void)strcat(sz_sng,sng_foo);
for(dmn_idx=0;dmn_idx<nbr_dim;dmn_idx++) var_sz*=dmn_sz[dmn_idx];
- if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) (void)nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
+ if(nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433) (void)nco_inq_var_deflate(grp_id,var_id,&shuffle,&deflate,&dfl_lvl);
if(prn_flg->trd){
- if((nco_fmt_xtn_get() != nco_fmt_xtn_hdf4) && deflate) (void)fprintf(stdout,"%*s%s compression (Lempel-Ziv %s shuffling) level = %d\n",prn_ndn,spc_sng,var_trv->nm,(shuffle) ? "with" : "without",dfl_lvl);
- if(nco_fmt_xtn_get() == nco_fmt_xtn_hdf4) (void)fprintf(stdout,"%*s%s compression and shuffling characteristics are HDF4_UNKNOWN\n",prn_ndn,spc_sng,var_trv->nm);
+ if((nco_fmt_xtn_get() != nco_fmt_xtn_hdf4 || NCO_NC_LIB_VERSION >= 433) && deflate) (void)fprintf(stdout,"%*s%s compression (Lempel-Ziv %s shuffling) level = %d\n",prn_ndn,spc_sng,var_trv->nm,(shuffle) ? "with" : "without",dfl_lvl);
+ if(nco_fmt_xtn_get() == nco_fmt_xtn_hdf4 && NCO_NC_LIB_VERSION < 433) (void)fprintf(stdout,"%*s%s compression and shuffling characteristics are HDF4_UNKNOWN\n",prn_ndn,spc_sng,var_trv->nm);
(void)fprintf(stdout,"%*s%s size (RAM) = %s = %li*%lu = %lu bytes\n",prn_ndn,spc_sng,var_trv->nm,sz_sng,var_sz,(unsigned long)nco_typ_lng(var_typ),(unsigned long)(var_sz*nco_typ_lng(var_typ)));
} /* !prn_flg->trd */
diff --git a/src/nco/nco_scm.c b/src/nco/nco_scm.c
index 07bae6d..59e423c 100644
--- a/src/nco/nco_scm.c
+++ b/src/nco/nco_scm.c
@@ -31,7 +31,7 @@ cvs_vrs_prs(void) /* [fnc] Return CVS version string */
/* Unexpanded cvs keywords in cvs_Name trigger GCC 4.0+ warning
"./src/nco/nco_scm.c:81: warning: offset outside bounds of constant string"
because routine looks for cvs_Name+7 later on */
- char cvs_Name[]="$Name: nco-4_4_5 $";
+ char cvs_Name[]="$Name: nco-4_4_6 $";
const char dlr_nm_cln_spc[]="$Name: "; /* [sng] Dollar name colon space */
const char nco_sng[]="nco";
const char spc_dlr[]=" $"; /* [sng] Space dollar */
diff --git a/src/nco/nco_sng_utl.c b/src/nco/nco_sng_utl.c
index d0cd4c5..97639ed 100644
--- a/src/nco/nco_sng_utl.c
+++ b/src/nco/nco_sng_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.c,v 1.77 2014/08/22 20:27:48 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.c,v 1.80 2014/10/01 03:50:42 pvicente Exp $ */
/* Purpose: String utilities */
@@ -15,6 +15,8 @@ strcasecmp /* [fnc] Lexicographical case-insensitive string comparison */
(const char * const sng_1, /* I [sng] First string */
const char * const sng_2) /* I [sng] Second string */
{
+ /* NB: Written by CSZ for clarity and type-safety, not speed nor POSIX conformance
+ POSIX may require conversion to unsigned char before comparison */
/* Copy of (const) input strings */
char *sng_1_c;
char *sng_2_c;
@@ -27,17 +29,43 @@ strcasecmp /* [fnc] Lexicographical case-insensitive string comparison */
while(1){
chr_1=tolower(*sng_1_c++);
chr_2=tolower(*sng_2_c++);
- if(chr_1 < chr_2){
- return -1;
- } /* end if */
- if(chr_1 > chr_2){
- return 1;
- } /* end if */
- if(chr_1 == 0){
- return 0;
- } /* end if */
+ if(chr_1 < chr_2) return -1;
+ if(chr_1 > chr_2) return 1;
+ if(chr_1 == 0) return 0;
} /* end while */
} /* end strcasecmp() */
+
+int /* O [enm] [-1,0,1] sng_1 [<,=,>] sng_2 */
+strncasecmp /* [fnc] Lexicographical case-insensitive string comparison */
+(const char * const sng_1, /* I [sng] First string */
+ const char * const sng_2, /* I [sng] Second string */
+ const size_t chr_nbr) /* I [nbr] Compare at most chr_nbr characters */
+{
+ /* NB: Written by CSZ for clarity and type safety, not speed nor POSIX conformance
+ POSIX may require conversion to unsigned char before comparison
+ Use at own risk */
+ /* Copy of (const) input strings */
+ char *sng_1_c;
+ char *sng_2_c;
+ char chr_1;
+ char chr_2;
+ size_t chr_nbr_cpy;
+
+ if(chr_nbr == 0L) return 0;
+
+ sng_1_c=(char *)sng_1;
+ sng_2_c=(char *)sng_2;
+ chr_nbr_cpy=chr_nbr;
+
+ while(chr_nbr_cpy-- > 0L){
+ chr_1=tolower(*sng_1_c++);
+ chr_2=tolower(*sng_2_c++);
+ if(chr_1 < chr_2) return -1;
+ if(chr_1 > chr_2) return 1;
+ if(chr_1 == 0) return 0;
+ } /* end while */
+ return 0;
+} /* end strncasecmp() */
#endif /* !NEED_STRCASECMP */
/* 20130827 GNU g++ always provides strcasestr(), MSVC never does */
diff --git a/src/nco/nco_sng_utl.h b/src/nco/nco_sng_utl.h
index 3116151..87d9f20 100644
--- a/src/nco/nco_sng_utl.h
+++ b/src/nco/nco_sng_utl.h
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.h,v 1.48 2014/08/22 20:27:48 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_sng_utl.h,v 1.50 2014/10/01 03:50:42 pvicente Exp $ */
/* Purpose: String utilities */
@@ -46,6 +46,12 @@ int /* O [enm] [-1,0,1] sng_1 [<,=,>] sng_2 */
strcasecmp /* [fnc] Lexicographical case-insensitive string comparison */
(const char * const sng_1, /* I [sng] First string */
const char * const sng_2); /* I [sng] Second string */
+
+int /* O [enm] [-1,0,1] sng_1 [<,=,>] sng_2 */
+strncasecmp /* [fnc] Lexicographical case-insensitive string comparison */
+(const char * const sng_1, /* I [sng] First string */
+ const char * const sng_2, /* I [sng] Second string */
+ const size_t chr_nbr); /* I [nbr] Compare at most chr_nbr characters */
#endif /* !NEED_STRCASECMP */
/* 20130827 GNU g++ always provides strcasestr(), MSVC never does */
diff --git a/src/nco/nco_var_utl.c b/src/nco/nco_var_utl.c
index d09ad97..d65df21 100644
--- a/src/nco/nco_var_utl.c
+++ b/src/nco/nco_var_utl.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.c,v 1.359 2014/06/15 21:06:24 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/nco_var_utl.c,v 1.362 2014/09/29 19:55:27 zender Exp $ */
/* Purpose: Variable utilities */
@@ -110,10 +110,10 @@ nco_cpy_var_val /* [fnc] Copy variable from input to output file, no limits */
if(rec_dmn_id != NCO_REC_DMN_UNDEFINED){
(void)nco_inq_dimlen(out_id,rec_dmn_id,&rec_dmn_sz);
/* ... and record dimension size in output file is non-zero (meaning at least one record has been written) ... */
- if(rec_dmn_sz > 0){
+ if(rec_dmn_sz > 0L){
/* ... then check input vs. output record dimension sizes ... */
if(rec_dmn_sz != dmn_cnt[0]){
- (void)fprintf(stderr,"%s: WARNING record dimension size of %s changes between input and output files from %ld to %ld. Appended variable %s may (likely) be corrupt.\n",nco_prg_nm_get(),var_nm,dmn_cnt[0],rec_dmn_sz,var_nm);
+ (void)fprintf(stderr,"%s: WARNING record dimension size of %s changes between input and output files from %ld to %ld. This is expected only when user manually changes record dimensions. Otherwise, output variable %s may be corrupt.\n",nco_prg_nm_get(),var_nm,dmn_cnt[0],rec_dmn_sz,var_nm);
} /* endif sizes are incommensurate */
} /* endif records exist in output file */
} /* endif output file has record dimension */
@@ -365,23 +365,23 @@ nco_cpy_rec_var_val /* [fnc] Copy all record variables, record-by-record, from i
} /* end if var_sz */
/* 20111130 TODO nco1029 warn on ncks -A when dim(old_record) != dim(new_record)
- One check of this condition, per variable, is enough
- In regular (non-MM3 workaround) case, we check this condition after reading/writing whole variable
- In MM3 workaround-case, check condition after writing last record
- 20130127: fxm bug here when user eliminates record variables using --fix_rec_dmn
- In that case output netCDF3 file does not have record variable so nco_inq_unlimdim() and nco_inq_dimlen() fail
- Since following code is purely diagnostic, assume that these failures are due to using --fix_rec_dmn
- And therefore, well, ignore them :) */
- if(rec_idx == rec_sz-1){
+ One check of this condition, per variable, is enough
+ In regular (non-MM3 workaround) case, we check this condition after reading/writing whole variable
+ In MM3 workaround-case, check condition after writing last record
+ 20130127: fxm bug here when user eliminates record variables using --fix_rec_dmn
+ In that case output netCDF3 file does not have record variable so nco_inq_unlimdim() and nco_inq_dimlen() fail
+ Since following code is purely diagnostic, assume that these failures are due to using --fix_rec_dmn
+ And therefore, well, ignore them :) */
+ if(rec_idx == rec_sz-1L){
rcd=nco_inq_unlimdim(var_lst[var_idx]->grp_id_out,&rec_dmn_out_id);
if(rec_dmn_out_id != NCO_REC_DMN_UNDEFINED){
/* ... and if output file has record dimension ... */
(void)nco_inq_dimlen(var_lst[var_idx]->grp_id_out,rec_dmn_out_id,&rec_out_sz);
/* ... and record dimension size in output file is non-zero (meaning at least one record has been written) ... */
- if(rec_out_sz > 0){
+ if(rec_out_sz > 0L){
/* ... then check input vs. output record dimension sizes ... */
if(rec_sz != rec_out_sz){
- (void)fprintf(stderr,"%s: WARNING record dimension size of %s changes between input and output files from %ld to %ld. Appended variable %s may (likely) be corrupt.\n",nco_prg_nm_get(),var_lst[var_idx]->nm,rec_sz,rec_out_sz,var_lst[var_idx]->nm);
+ (void)fprintf(stderr,"%s: WARNING record dimension size of %s changes between input and output files from %ld to %ld. This is expected only when user manually changes record dimensions. Otherwise, output variable %s may be corrupt.\n",nco_prg_nm_get(),var_lst[var_idx]->nm,rec_sz,rec_out_sz,var_lst[var_idx]->nm);
} /* endif sizes are incommensurate */
} /* endif records have already been written to output file */
} /* endif record dimension exists in output file */
@@ -837,10 +837,7 @@ nco_var_get /* [fnc] Allocate, retrieve variable hyperslab from disk to memory *
for(idx=0;idx<var->nbr_dim;idx++) srd_prd*=var->srd[idx];
if(srd_prd == 1L){
- if(var->sz > 1L)
- (void)nco_get_vara(nc_id,var->id,var->srt,var->cnt,var->val.vp,var->typ_dsk);
- else
- (void)nco_get_var1(nc_id,var->id,var->srt,var->val.vp,var->typ_dsk);
+ if(var->sz > 1L) (void)nco_get_vara(nc_id,var->id,var->srt,var->cnt,var->val.vp,var->typ_dsk); else (void)nco_get_var1(nc_id,var->id,var->srt,var->val.vp,var->typ_dsk);
}else{
(void)nco_get_vars(nc_id,var->id,var->srt,var->cnt,var->srd,var->val.vp,var->typ_dsk);
} /* endif non-unity stride */
@@ -1286,8 +1283,6 @@ nco_var_val_cpy /* [fnc] Copy variables data from input to output file */
} /* end nco_var_val_cpy() */
-
-
nco_bool /* [flg] Variable is listed in a "coordinates" attribute */
nco_is_spc_in_crd_att /* [fnc] Variable is listed in a "coordinates" attribute */
(const int nc_id, /* I [id] netCDF file ID */
diff --git a/src/nco/ncpdq.c b/src/nco/ncpdq.c
index 2e384b9..efe4795 100644
--- a/src/nco/ncpdq.c
+++ b/src/nco/ncpdq.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncpdq.c,v 1.401 2014/08/21 18:22:44 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncpdq.c,v 1.402 2014/09/16 14:14:55 zender Exp $ */
/* ncpdq -- netCDF pack, re-dimension, query */
@@ -137,8 +137,8 @@ main(int argc,char **argv)
char scl_fct_sng[]="scale_factor"; /* [sng] Unidata standard string for scale factor */
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncpdq.c,v 1.401 2014/08/21 18:22:44 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.401 $";
+ const char * const CVS_Id="$Id: ncpdq.c,v 1.402 2014/09/16 14:14:55 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.402 $";
const char * const opt_sht_lst="3467Aa:CcD:d:Fg:G:hL:l:M:Oo:P:p:Rrt:v:UxZ-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -268,6 +268,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
diff --git a/src/nco/ncra.c b/src/nco/ncra.c
index 2ef3aa9..e7215a6 100644
--- a/src/nco/ncra.c
+++ b/src/nco/ncra.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncra.c,v 1.545 2014/07/15 18:48:55 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncra.c,v 1.553 2014/09/30 23:03:29 zender Exp $ */
/* This single source file compiles into three separate executables:
ncra -- netCDF record averager
@@ -140,8 +140,8 @@ main(int argc,char **argv)
char *sng_cnv_rcd=NULL_CEWI; /* [sng] strtol()/strtoul() return code */
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncra.c,v 1.545 2014/07/15 18:48:55 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.545 $";
+ const char * const CVS_Id="$Id: ncra.c,v 1.553 2014/09/30 23:03:29 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.553 $";
const char * const opt_sht_lst="3467ACcD:d:FG:g:HhL:l:n:Oo:p:P:rRt:v:X:xY:y:-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -168,30 +168,35 @@ main(int argc,char **argv)
int *in_id_arr;
+ const int rec_dmn_idx=0; /* [idx] Assumed index of current record dimension where zero assumes record is leading dimension */
+
int abb_arg_nbr=0;
int aux_nbr=0; /* [nbr] Number of auxiliary coordinate hyperslabs specified */
int cnk_map=nco_cnk_map_nil; /* [enm] Chunking map */
int cnk_nbr=0; /* [nbr] Number of chunk sizes */
int cnk_plc=nco_cnk_plc_nil; /* [enm] Chunking policy */
int dfl_lvl=NCO_DFL_LVL_UNDEFINED; /* [enm] Deflate level */
+ int dmn_rec_fl;
int fl_idx;
int fl_in_fmt; /* [enm] Input file format */
int fl_nbr=0;
int fl_out_fmt=NCO_FORMAT_UNDEFINED; /* [enm] Output file format */
int flg_input_complete_nbr=0; /* [nbr] Number of record dimensions completed */
int fll_md_old; /* [enm] Old fill mode */
+ int grp_id; /* [ID] Group ID */
int grp_lst_in_nbr=0; /* [nbr] Number of groups explicitly specified by user */
+ int grp_out_id; /* [ID] Group ID (output) */
int idx=int_CEWI;
+ int idx_rec=0; /* [idx] Index that iterates over number of record dimensions */
int in_id;
int lmt_nbr=0; /* Option d. NB: lmt_nbr gets incremented */
int md_open; /* [enm] Mode flag for nc_open() call */
int nbr_dmn_fl;
int nbr_dmn_xtr=0;
+ int nbr_rec; /* [nbr] (ncra) Number of record dimensions */
int nbr_var_fix; /* nbr_var_fix gets incremented */
int nbr_var_fl;
int nbr_var_prc; /* nbr_var_prc gets incremented */
- int nbr_rec; /* [nbr] (ncra) Number of record dimensions */
- int dmn_rec_fl;
int nco_op_typ=nco_op_avg; /* [enm] Default operation is averaging */
int nco_pck_plc=nco_pck_plc_nil; /* [enm] Default packing is none */
int opt;
@@ -200,11 +205,8 @@ main(int argc,char **argv)
int thr_idx; /* [idx] Index of current thread */
int thr_nbr=int_CEWI; /* [nbr] Thread number Option t */
int var_lst_in_nbr=0;
- int xtr_nbr=0; /* xtr_nbr won't otherwise be set for -c with no -v */
- int idx_rec=0;
- int grp_id; /* [ID] Group ID */
- int grp_out_id; /* [ID] Group ID (output) */
int var_out_id; /* [ID] Variable ID (output) */
+ int xtr_nbr=0; /* xtr_nbr won't otherwise be set for -c with no -v */
long idx_rec_crr_in; /* [idx] Index of current record in current input file */
long *idx_rec_out=NULL; /* [idx] Index of current record in output file (0 is first, ...) */
@@ -250,6 +252,8 @@ main(int argc,char **argv)
nco_int base_time_srt=nco_int_CEWI;
nco_int base_time_crr=nco_int_CEWI;
+ nc_type var_prc_typ_pre_prm=NC_NAT; /* [enm] Type of variable before promotion */
+
size_t bfr_sz_hnt=NC_SIZEHINT_DEFAULT; /* [B] Buffer size hint */
size_t cnk_sz_byt=0UL; /* [B] Chunk size in bytes */
size_t cnk_sz_scl=0UL; /* [nbr] Chunk size scalar */
@@ -329,6 +333,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
{"nsm_sfx",required_argument,0,0},
@@ -823,7 +828,7 @@ main(int argc,char **argv)
/* Refresh ensembles */
if(fl_idx > 0) (void)nco_nsm_ncr(in_id,trv_tbl);
- /* Check if ensembles are valid */
+ /* Check if ensembles are valid */
(void)nco_chk_nsm(in_id,fl_idx,trv_tbl);
}else{ /* ! ncge */
@@ -912,7 +917,7 @@ main(int argc,char **argv)
if(nco_dbg_lvl >= nco_dbg_scl) (void)fprintf(fp_stdout,"%s: INFO Record %ld of %s contributes to output record %ld\n",nco_prg_nm_get(),idx_rec_crr_in,fl_in,idx_rec_out[idx_rec]);
#ifdef _OPENMP
-#pragma omp parallel for default(none) private(idx,in_id) shared(CNV_ARM,base_time_crr,base_time_srt,nco_dbg_lvl,fl_in,fl_out,idx_rec_crr_in,idx_rec_out,rec_usd_cml,in_id_arr,REC_FRS_GRP,REC_LST_DSR,md5,nbr_var_prc,nco_op_typ,FLG_BFR_NRM,FLG_MRO,out_id,nco_prg_id,rcd,var_prc,var_prc_out,nbr_dmn_fl,trv_tbl,var_trv,grp_id,gpe,grp_out_fll,grp_out_id,var_out_id,idx_rec,flg_skp1,flg_skp2,lmt_rec,nbr_rec)
+#pragma omp parallel for default(none) private(idx,in_id) shared(CNV_ARM,base_time_crr,base_time_srt,nco_dbg_lvl,fl_in,fl_out,idx_rec_crr_in,idx_rec_out,rec_usd_cml,in_id_arr,REC_FRS_GRP,REC_LST_DSR,md5,nbr_var_prc,nco_op_typ,FLG_BFR_NRM,FLG_MRO,out_id,nco_prg_id,rcd,var_prc,var_prc_out,nbr_dmn_fl,trv_tbl,var_trv,grp_id,gpe,grp_out_fll,grp_out_id,var_out_id,idx_rec,flg_skp1,flg_skp2,lmt_rec,nbr_rec,var_prc_typ_pre_prm)
#endif /* !_OPENMP */
for(idx=0;idx<nbr_var_prc;idx++){
@@ -941,8 +946,8 @@ main(int argc,char **argv)
/* Store the output variable ID */
var_prc_out[idx]->id=var_out_id;
- /* Retrieve variable from disk into memory. NB: Using version that updates hyperslab start indices with idx_rec_crr_in */
- (void)nco_msa_var_get_lmn_trv(in_id,var_prc[idx],lmt_rec[idx_rec]->nm_fll,idx_rec_crr_in,trv_tbl);
+ /* Retrieve this record of this variable. NB: Updates hyperslab start indices to idx_rec_crr_in */
+ (void)nco_msa_var_get_rec_trv(in_id,var_prc[idx],lmt_rec[idx_rec]->nm_fll,idx_rec_crr_in,trv_tbl);
if(nco_prg_id == ncra) FLG_BFR_NRM=True; /* [flg] Current output buffers need normalization */
@@ -974,9 +979,10 @@ main(int argc,char **argv)
Temporarily fixes TODO nco941 */
if(flg_rth_ntl) nco_opr_drv((long)0L,nco_op_min,var_prc[idx],var_prc_out[idx]);
}else{
- /* Convert char, short, long, int types to doubles before arithmetic
+ /* Convert char, short, long, int, and float types to doubles before arithmetic
Output variable type is "sticky" so only convert on first record */
if(flg_rth_ntl) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
+ var_prc_typ_pre_prm=var_prc[idx]->type; /* [enm] Type of variable before promotion */
var_prc[idx]=nco_var_cnf_typ(var_prc_out[idx]->type,var_prc[idx]);
/* Perform arithmetic operations: avg, min, max, ttl, ... */
if(flg_rth_ntl) nco_opr_drv((long)0L,nco_op_typ,var_prc[idx],var_prc_out[idx]); else nco_opr_drv((long)1L,nco_op_typ,var_prc[idx],var_prc_out[idx]);
@@ -984,8 +990,8 @@ main(int argc,char **argv)
} /* end if ncra */
/* All processed variables contain record dimension and both ncrcat and ncra write records singly */
- var_prc_out[idx]->srt[0]=var_prc_out[idx]->end[0]=idx_rec_out[idx_rec];
- var_prc_out[idx]->cnt[0]=1L;
+ var_prc_out[idx]->srt[rec_dmn_idx]=var_prc_out[idx]->end[rec_dmn_idx]=idx_rec_out[idx_rec];
+ var_prc_out[idx]->cnt[rec_dmn_idx]=1L;
/* Append current record to output file */
if(nco_prg_id == ncrcat){
@@ -1001,11 +1007,18 @@ main(int argc,char **argv)
/* Warn if record coordinate, if any, is not monotonic */
if(nco_prg_id == ncrcat && var_prc[idx]->is_crd_var) (void)rec_crd_chk(var_prc[idx],fl_in,fl_out,idx_rec_crr_in,idx_rec_out[idx_rec]);
- /* Convert missing_value, if any, back to unpacked type
- Otherwise missing_value will be double-promoted when next record read
+ /* Convert missing_value, if any, back to unpacked or unpromoted type
+ Otherwise missing_value will be double-promoted when next record read in nco_msa_var_get_trv()
Do not convert after last record otherwise normalization fails
- due to wrong missing_value type (needs promoted type, not unpacked type) */
- if(var_prc[idx]->has_mss_val && var_prc[idx]->type != var_prc[idx]->typ_upk && !REC_LST_DSR[idx_rec]) var_prc[idx]=nco_cnv_mss_val_typ(var_prc[idx],var_prc[idx]->typ_upk);
+ due to wrong missing_value type (needs promoted type, not unpacked type)
+ 20140930: This is (too?) confusing and hard-to-follow, a better solution is to add a field mss_val_typ
+ to var_sct and then separately and explicitly track types of both val and mss_val members. */
+ if(var_prc[idx]->has_mss_val && /* If there is a missing value and... */
+ !REC_LST_DSR[idx_rec] && /* ...no more records will be read (thus no more calls to nco_msa_var_get_trv()) and... */
+ !(var_prc[idx]->pck_dsk && var_prc_typ_pre_prm != var_prc_out[idx]->type) && /* Exclude conversion on situations like regression test ncra #32 */
+ var_prc[idx]->type != var_prc[idx]->typ_upk) /* ...the variable was auto-promoted (e.g., --dbl) then */
+ var_prc[idx]=nco_cnv_mss_val_typ(var_prc[idx],var_prc[idx]->typ_upk); /* Demote missing value */
+
/* Free current input buffer */
var_prc[idx]->val.vp=nco_free(var_prc[idx]->val.vp);
} /* end (OpenMP parallel for) loop over variables */
@@ -1132,8 +1145,8 @@ main(int argc,char **argv)
/* Retrieve variable from disk into memory */
(void)nco_msa_var_get_trv(in_id,var_prc[idx],trv_tbl);
- /* Convert char, short, long, int types to doubles before arithmetic
- Output variable type is "sticky" so only convert on first record */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic
+ Output variable type is "sticky" so only convert on first record */
if(fl_idx == 0) var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
var_prc[idx]=nco_var_cnf_typ(var_prc_out[idx]->type,var_prc[idx]);
/* Perform arithmetic operations: avg, min, max, ttl, ... */ /* Note: fl_idx not rec_usd_cml! */
@@ -1185,7 +1198,7 @@ main(int argc,char **argv)
var_prc[idx_prc]->nm_fll=(char *)nco_free(var_prc[idx_prc]->nm_fll);
var_prc[idx_prc]->nm_fll=nco_bld_nm_fll(grp_nm_fll,var_prc[idx_prc]->nm);
- if(nco_dbg_lvl > nco_dbg_std) (void)fprintf(fp_stdout,"%s:\t variable <%s>\n",nco_prg_nm_get(),var_prc[idx_prc]->nm_fll);
+ if(nco_dbg_lvl > nco_dbg_std) (void)fprintf(fp_stdout,"%s:\t variable <%s>\n",nco_prg_nm_get(),var_prc[idx_prc]->nm_fll);
/* Obtain group ID */
(void)nco_inq_grp_full_ncid(in_id,grp_nm_fll,&grp_id);
@@ -1194,7 +1207,7 @@ main(int argc,char **argv)
/* Retrieve variable from disk into memory. NB: Using table in file loop */
(void)nco_msa_var_get_trv(in_id,var_prc[idx_prc],trv_tbl1);
- /* Convert char, short, long, int types to doubles before arithmetic
+ /* Convert char, short, long, int, and float types to doubles before arithmetic
Output variable type is "sticky" so only convert on first member */
if(fl_idx == 0 && idx_mbr == 0) var_prc_out[idx_prc]=nco_typ_cnv_rth(var_prc_out[idx_prc],nco_op_typ);
var_prc[idx_prc]=nco_var_cnf_typ(var_prc_out[idx_prc]->type,var_prc[idx_prc]);
@@ -1319,7 +1332,6 @@ main(int argc,char **argv)
} /* end loop over idx */
} /* end if ncfe and ncge */
-
/* Free averaging and tally buffers */
if(nco_prg_id == ncra || nco_prg_id == ncfe || nco_prg_id == ncge){
#ifdef _OPENMP
diff --git a/src/nco/ncrename.c b/src/nco/ncrename.c
index a133db8..87f0840 100644
--- a/src/nco/ncrename.c
+++ b/src/nco/ncrename.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncrename.c,v 1.198 2014/07/11 20:55:45 zender Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncrename.c,v 1.205 2014/09/26 23:03:48 zender Exp $ */
/* ncrename -- netCDF renaming operator */
@@ -93,7 +93,6 @@ main(int argc,char **argv)
nco_bool FORCE_APPEND=False; /* Option A */
nco_bool FORCE_OVERWRITE=False; /* Option O */
nco_bool HISTORY_APPEND=True; /* Option h */
- nco_bool IS_GLB_GRP_ATT=False; /* [flg] Attribute is Global or Group attribute */
nco_bool FL_OUT_NEW=False;
nco_bool RAM_OPEN=False; /* [flg] Open (netCDF3-only) file(s) in RAM */
nco_bool RM_RMT_FL_PST_PRC=True; /* Option R */
@@ -114,13 +113,13 @@ main(int argc,char **argv)
char *var_rnm_arg[NC_MAX_VARS];
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- char var_nm[NC_MAX_NAME+1];
+ char *obj_nm=NULL;
- const char * const CVS_Id="$Id: ncrename.c,v 1.198 2014/07/11 20:55:45 zender Exp $";
- const char * const CVS_Revision="$Revision: 1.198 $";
+ const char * const CVS_Id="$Id: ncrename.c,v 1.205 2014/09/26 23:03:48 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.205 $";
const char * const opt_sht_lst="a:D:d:g:hl:Oo:p:rv:-:";
const char dlm_chr='@'; /* Character delimiting variable from attribute name */
- const char opt_chr='.'; /* Character indicating presence of following variable/dimension/attribute in file is optional */
+ const char opt_chr='.'; /* Character indicating presence of following variable/dimension/attribute/group in file is optional */
#if defined(__cplusplus) || defined(PGI_CC)
ddra_info_sct ddra_info;
ddra_info.flg_ddra=False;
@@ -133,6 +132,10 @@ main(int argc,char **argv)
int abb_arg_nbr=0;
int fl_nbr=0;
+ int mch_nbr_att=0; /* [nbr] Number of renamed attributes */
+ int mch_nbr_var=0; /* [nbr] Number of renamed variables */
+ int mch_nbr_grp=0; /* [nbr] Number of renamed groups */
+ int mch_nbr_dmn=0; /* [nbr] Number of renamed dimensions */
int md_open; /* [enm] Mode flag for nc_open() call */
int nbr_att_rnm=0; /* Option a. NB: nbr_att_rnm gets incremented */
int nbr_dmn_rnm=0; /* Option d. NB: nbr_dmn_rnm gets incremented */
@@ -370,231 +373,238 @@ main(int argc,char **argv)
/* Construct GTT (Group Traversal Table), check -v and -g input names and create extraction list*/
(void)nco_bld_trv_tbl(nc_id,trv_pth,(int)0,NULL,(int)0,NULL,False,False,NULL,(int)0,NULL,(int) 0,False,False,False,False,True,nco_pck_plc_nil,NULL,trv_tbl);
- /* Loop input variable names */
+ /* Rename variables */
for(int idx_var=0;idx_var<nbr_var_rnm;idx_var++){
- trv_sct *obj_trv=NULL; /* [sct] Table object */
- nco_bool is_opt; /* [flg] Presence is optional (name has '.') */
-
- /* Inquire if any object matches */
- obj_trv=nco_obj_usr_sng(var_rnm_lst[idx_var].old_nm,trv_tbl,&is_opt);
-
- /* Optional case with variable found */
- if(obj_trv && obj_trv->nco_typ == nco_obj_typ_var && is_opt == True){
- (void)nco_inq_grp_full_ncid(nc_id,obj_trv->grp_nm_fll,&grp_id);
- /* Use the pair group ID/relative object name found (instead of var_rnm_lst[idx_var].old_nm) */
- rcd=nco_inq_varid(grp_id,obj_trv->nm,&var_rnm_lst[idx_var].id);
- (void)nco_rename_var(grp_id,var_rnm_lst[idx_var].id,var_rnm_lst[idx_var].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed variable \'%s\' to \'%s\'\n",nco_prg_nm,var_rnm_lst[idx_var].old_nm+1L,var_rnm_lst[idx_var].new_nm);
- /* Optional case with no object found */
- }else if (obj_trv == NULL) {
- (void)fprintf(stdout,"%s: WARNING Variable \'%s\' not present in %s, skipping it.\n",nco_prg_nm,var_rnm_lst[idx_var].old_nm+1L,fl_in);
- /* Reset error code */
- rcd=NC_NOERR;
- /* Variable name does not contain opt_chr so variable presence is required */
- }else if (obj_trv && obj_trv->nco_typ == nco_obj_typ_var && is_opt == False){
- (void)nco_inq_grp_full_ncid(nc_id,obj_trv->grp_nm_fll,&grp_id);
- /* Use the pair group ID/relative object name found (instead of var_rnm_lst[idx_var].old_nm) */
- rcd=nco_inq_varid(grp_id,obj_trv->nm,&var_rnm_lst[idx_var].id);
- (void)nco_rename_var(grp_id,var_rnm_lst[idx_var].id,var_rnm_lst[idx_var].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed variable \'%s\' to \'%s\'\n",nco_prg_nm,var_rnm_lst[idx_var].old_nm,var_rnm_lst[idx_var].new_nm);
- } /* Variable name does not contain opt_chr so variable presence is required */
- } /* Loop input variable names */
-
- /* Loop input group names */
+ int mch_nbr=0; /* [nbr] Number of matching objects */
+ nco_bool is_opt=False; /* [flg] Presence is optional (name has '.') */
+ size_t mch_fst=0L; /* [nbr] Number of characters by which to offset string comparison */
+
+ /* Initialize */
+ if(var_rnm_lst[idx_var].old_nm[0] == opt_chr){
+ is_opt=True;
+ mch_fst=1L;
+ } /* end if */
+
+ /* Compare each variable in user list to each variable name in file */
+ for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++)
+ if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_var)
+ if(!strcmp(var_rnm_lst[idx_var].old_nm+mch_fst,trv_tbl->lst[tbl_idx].nm_fll) || !strcmp(var_rnm_lst[idx_var].old_nm+mch_fst,trv_tbl->lst[tbl_idx].nm)){
+ mch_nbr++;
+ (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst[tbl_idx].grp_nm_fll,&grp_id);
+ rcd=nco_inq_varid(grp_id,trv_tbl->lst[tbl_idx].nm,&var_rnm_lst[idx_var].id);
+ (void)nco_rename_var(grp_id,var_rnm_lst[idx_var].id,var_rnm_lst[idx_var].new_nm);
+ if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stdout,"%s: Renamed variable \'%s\' to \'%s\'\n",nco_prg_nm,trv_tbl->lst[tbl_idx].nm_fll,var_rnm_lst[idx_var].new_nm);
+ } /* endif */
+
+ if(mch_nbr == 0 && !is_opt){
+ (void)fprintf(stdout,"%s: ERROR Required variable \'%s\' is not present in input file. HINT: If presence is intended to be optional, then prefix old variable name with the period character \'%c\', i.e., \'%s -v %c%s,%s\'. With this syntax %s would succeed even if no such variable is in the file.\n",nco_prg_nm_get(),var_rnm_lst[idx_var].old_nm,opt_chr,nco_prg_nm_get(),opt_chr,var_rnm_lst[idx_var].old_nm,var_rnm_lst[idx_var].new_nm,nco_prg_nm_get());
+ nco_exit(EXIT_FAILURE);
+ }else if(mch_nbr == 0 && is_opt){
+ (void)fprintf(stdout,"%s: INFO Optional variable \'%s\' not present in %s, skipping it\n",nco_prg_nm,var_rnm_lst[idx_var].old_nm+1L,fl_in);
+ }else{
+ if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed %d variable%s from \'%s\' to \'%s\'\n",nco_prg_nm,mch_nbr,mch_nbr != 1 ? "s" : "",var_rnm_lst[idx_var].old_nm,var_rnm_lst[idx_var].new_nm);
+ } /* end else */
+
+ mch_nbr_var+=mch_nbr;
+
+ } /* end variables */
+
+ /* Rename groups */
for(int idx_grp=0;idx_grp<nbr_grp_rnm;idx_grp++){
- trv_sct *obj_trv=NULL; /* [sct] Table object */
- nco_bool is_opt; /* [flg] Presence is optional (name has '.') */
-
- /* Inquire if any object matches */
- obj_trv=nco_obj_usr_sng(grp_rnm_lst[idx_grp].old_nm,trv_tbl,&is_opt);
-
- /* Optional case with group found */
- if(obj_trv && obj_trv->nco_typ == nco_obj_typ_grp && is_opt == True){
- (void)nco_inq_grp_full_ncid(nc_id,obj_trv->grp_nm_fll,&grp_id);
- (void)nco_rename_grp(grp_id,grp_rnm_lst[idx_grp].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed group \'%s\' to \'%s\'\n",nco_prg_nm,grp_rnm_lst[idx_grp].old_nm+1L,grp_rnm_lst[idx_grp].new_nm);
- /* Optional case with no object found */
- }else if (obj_trv == NULL){
- (void)fprintf(stdout,"%s: WARNING Group \'%s\' not present in %s, skipping it.\n",nco_prg_nm,grp_rnm_lst[idx_grp].old_nm+1L,fl_in);
- /* Reset error code */
- rcd=NC_NOERR;
- /* Group name does not contain opt_chr so group presence is required */
- }else if (obj_trv && obj_trv->nco_typ == nco_obj_typ_grp && is_opt == False){
- (void)nco_inq_grp_full_ncid(nc_id,obj_trv->grp_nm_fll,&grp_id);
- (void)nco_rename_grp(grp_id,grp_rnm_lst[idx_grp].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed group \'%s\' to \'%s\'\n",nco_prg_nm,grp_rnm_lst[idx_grp].old_nm,grp_rnm_lst[idx_grp].new_nm);
- } /* Group name does not contain opt_chr so group presence is required */
- } /* Loop input group names */
-
-
- /* Loop input dimension names */
+ int mch_nbr=0; /* [nbr] Number of matching objects */
+ nco_bool is_opt=False; /* [flg] Presence is optional (name has '.') */
+ size_t mch_fst=0L; /* [nbr] Number of characters by which to offset string comparison */
+
+ /* Initialize */
+ if(grp_rnm_lst[idx_grp].old_nm[0] == opt_chr){
+ is_opt=True;
+ mch_fst=1L;
+ } /* end if */
+
+ /* Compare each group in user list to each group name in file */
+ for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++)
+ if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_grp)
+ if(!strcmp(grp_rnm_lst[idx_grp].old_nm+mch_fst,trv_tbl->lst[tbl_idx].grp_nm_fll) || !strcmp(grp_rnm_lst[idx_grp].old_nm+mch_fst,trv_tbl->lst[tbl_idx].grp_nm)){
+ mch_nbr++;
+ (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst[tbl_idx].grp_nm_fll,&grp_id);
+ (void)nco_rename_grp(grp_id,grp_rnm_lst[idx_grp].new_nm);
+ if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stdout,"%s: Renamed group \'%s\' to \'%s\'\n",nco_prg_nm,trv_tbl->lst[tbl_idx].grp_nm_fll,grp_rnm_lst[idx_grp].new_nm);
+ } /* endif */
+
+ if(mch_nbr == 0 && !is_opt){
+ (void)fprintf(stdout,"%s: ERROR Required group \'%s\' is not present in input file. HINT: If presence is intended to be optional, then prefix old group name with the period character \'%c\', i.e., \'%s -g %c%s,%s\'. With this syntax %s would succeed even if no such group is in the file.\n",nco_prg_nm_get(),grp_rnm_lst[idx_grp].old_nm,opt_chr,nco_prg_nm_get(),opt_chr,grp_rnm_lst[idx_grp].old_nm,grp_rnm_lst[idx_grp].new_nm,nco_prg_nm_get());
+ nco_exit(EXIT_FAILURE);
+ }else if(mch_nbr == 0 && is_opt){
+ (void)fprintf(stdout,"%s: INFO Optional group \'%s\' not present in %s, skipping it\n",nco_prg_nm,grp_rnm_lst[idx_grp].old_nm+1L,fl_in);
+ }else{
+ if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed %d group%s from \'%s\' to \'%s\'\n",nco_prg_nm,mch_nbr,mch_nbr != 1 ? "s" : "",grp_rnm_lst[idx_grp].old_nm,grp_rnm_lst[idx_grp].new_nm);
+ } /* end else */
+
+ mch_nbr_grp+=mch_nbr;
+
+ } /* end groups */
+
+ /* Rename dimensions */
for(int idx_dmn=0;idx_dmn<nbr_dmn_rnm;idx_dmn++){
- dmn_trv_sct *dmn_trv=NULL; /* [sct] Table dimension object */
- nco_bool is_opt; /* [flg] Dimension presence is optional (name has '.') */
-
- /* Inquire if any dimension matches */
- dmn_trv=nco_dmn_usr_sng(dmn_rnm_lst[idx_dmn].old_nm,trv_tbl,&is_opt);
-
- /* Optional case with dimension found */
- if(dmn_trv && is_opt == True){
- (void)nco_inq_grp_full_ncid(nc_id,dmn_trv->grp_nm_fll,&grp_id);
- /* Use the pair group ID/relative dimension name found (instead of dmn_rnm_lst[idx_dmn].old_nm) */
- rcd=nco_inq_dimid(grp_id,dmn_trv->nm,&dmn_rnm_lst[idx_dmn].id);
- (void)nco_rename_dim(grp_id,dmn_rnm_lst[idx_dmn].id,dmn_rnm_lst[idx_dmn].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed dimension \'%s\' to \'%s\'\n",nco_prg_nm,dmn_rnm_lst[idx_dmn].old_nm+1L,dmn_rnm_lst[idx_dmn].new_nm);
- /* Optional case with no dimension found */
- }else if (dmn_trv == NULL) {
- (void)fprintf(stdout,"%s: WARNING Dimension \'%s\' not present in %s, skipping it.\n",nco_prg_nm,dmn_rnm_lst[idx_dmn].old_nm+1L,fl_in);
- /* Reset error code */
- rcd=NC_NOERR;
- /* ! Optional case */
- }else if (dmn_trv && is_opt == False){
- (void)nco_inq_grp_full_ncid(nc_id,dmn_trv->grp_nm_fll,&grp_id);
- /* Use the pair group ID/relative dimension name found (instead of dmn_rnm_lst[idx_dmn].old_nm) */
- rcd=nco_inq_dimid(grp_id,dmn_trv->nm,&dmn_rnm_lst[idx_dmn].id);
- (void)nco_rename_dim(grp_id,dmn_rnm_lst[idx_dmn].id,dmn_rnm_lst[idx_dmn].new_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed dimension \'%s\' to \'%s\'\n",nco_prg_nm,dmn_rnm_lst[idx_dmn].old_nm,dmn_rnm_lst[idx_dmn].new_nm);
- } /* ! Optional case */
- } /* Loop input dimension names */
-
- /* Loop input attribute names */
+ int mch_nbr=0; /* [nbr] Number of matching objects */
+ nco_bool is_opt=False; /* [flg] Presence is optional (name has '.') */
+ size_t mch_fst=0L; /* [nbr] Number of characters by which to offset string comparison */
+
+ /* Initialize */
+ if(dmn_rnm_lst[idx_dmn].old_nm[0] == opt_chr){
+ is_opt=True;
+ mch_fst=1L;
+ } /* end if */
+
+ /* Compare each dimension in user list to each dimension name in file */
+ for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr_dmn;tbl_idx++)
+ if(!strcmp(dmn_rnm_lst[idx_dmn].old_nm+mch_fst,trv_tbl->lst_dmn[tbl_idx].nm_fll) || !strcmp(dmn_rnm_lst[idx_dmn].old_nm+mch_fst,trv_tbl->lst_dmn[tbl_idx].nm)){
+ mch_nbr++;
+ (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst_dmn[tbl_idx].grp_nm_fll,&grp_id);
+ rcd=nco_inq_dimid(grp_id,trv_tbl->lst_dmn[tbl_idx].nm,&dmn_rnm_lst[idx_dmn].id);
+ (void)nco_rename_dim(grp_id,dmn_rnm_lst[idx_dmn].id,dmn_rnm_lst[idx_dmn].new_nm);
+ if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stdout,"%s: Renamed dimension \'%s\' to \'%s\'\n",nco_prg_nm,trv_tbl->lst_dmn[tbl_idx].nm_fll,dmn_rnm_lst[idx_dmn].new_nm);
+ } /* endif */
+
+ if(mch_nbr == 0 && !is_opt){
+ (void)fprintf(stdout,"%s: ERROR Required dimension \'%s\' is not present in input file. HINT: If presence is intended to be optional, then prefix old dimension name with the period character \'%c\', i.e., \'%s -d %c%s,%s\'. With this syntax %s would succeed even if no such dimension is in the file.\n",nco_prg_nm_get(),dmn_rnm_lst[idx_dmn].old_nm,opt_chr,nco_prg_nm_get(),opt_chr,dmn_rnm_lst[idx_dmn].old_nm,dmn_rnm_lst[idx_dmn].new_nm,nco_prg_nm_get());
+ nco_exit(EXIT_FAILURE);
+ }else if(mch_nbr == 0 && is_opt){
+ (void)fprintf(stdout,"%s: INFO Optional dimension \'%s\' not present in %s, skipping it\n",nco_prg_nm,dmn_rnm_lst[idx_dmn].old_nm+1L,fl_in);
+ }else{
+ if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed %d dimension%s from \'%s\' to \'%s\'\n",nco_prg_nm,mch_nbr,mch_nbr != 1 ? "s" : "",dmn_rnm_lst[idx_dmn].old_nm,dmn_rnm_lst[idx_dmn].new_nm);
+ } /* end else */
+
+ mch_nbr_dmn+=mch_nbr;
+
+ } /* end dimensions */
+
+ /* Rename attributes */
+ if(nbr_att_rnm > 0) obj_nm=(char *)nco_malloc((NC_MAX_NAME+1L)*sizeof(char));
for(int idx_att=0;idx_att<nbr_att_rnm;idx_att++){
- int var_id;
- int nbr_rnm=0;
+ int mch_nbr=0; /* [nbr] Number of matching objects */
int rcd_att=0;
- nco_bool is_opt; /* [flg] Presence is optional (name has '.') */
- trv_sct *trv_obj=NULL; /* [sct] Traversal object */
-
- /* Rename attribute of single variable... */
- if(strchr(att_rnm_lst[idx_att].old_nm,dlm_chr)){
- /* Extract variable name from old name */
- rcd_att=nco_prs_att((att_rnm_lst+idx_att),var_nm,&IS_GLB_GRP_ATT);
- if(!rcd_att){
- (void)fprintf(stdout,"%s: ERROR Could not parse var_nm at att_nm string \"%s\"\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm);
- nco_exit(EXIT_FAILURE);
- } /* end if */
-
- /* Inquire if any object matches "var_nm" */
- trv_obj=nco_obj_usr_sng(var_nm,trv_tbl,&is_opt);
-
- /* If object is group, set NC_GLOBAL */
- if(trv_obj && trv_obj->nco_typ == nco_obj_typ_grp) var_id=NC_GLOBAL;
-
- /* Object found that matches "var_nm" */
- if(trv_obj || IS_GLB_GRP_ATT){
-
- /* If object found get group ID, else groud ID is root (cases of "global") */
- if(trv_obj) (void)nco_inq_grp_full_ncid(nc_id,trv_obj->grp_nm_fll,&grp_id); else grp_id=nc_id;
-
- /* Get var_id of variable */
- if(IS_GLB_GRP_ATT){
- (void)fprintf(stdout,"%s: INFO Assuming \"%s\" refers to a Global or Group attribute\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm);
- var_id=NC_GLOBAL;
- }else{ /* !IS_GLB_GRP_ATT */
- if(var_nm[0] == opt_chr){
- rcd=nco_inq_varid_flg(grp_id,var_nm+1L,&var_id);
- if(rcd != NC_NOERR){
- (void)fprintf(stdout,"%s: WARNING Variable \'%s\' not present in %s, skipping it.\n",nco_prg_nm,var_nm+1L,fl_in);
- /* Reset error code */
- rcd=NC_NOERR;
- /* Optional variable not found, continue to next attribute in list */
- continue;
- } /* end if */
- }else{ /* Variable name does not contain opt_chr so variable presence is required */
-
- /* Get ID only if object is variable (not group). NB: use relative name found */
- if(trv_obj->nco_typ == nco_obj_typ_var) rcd=nco_inq_varid(grp_id,trv_obj->nm,&var_id);
-
- } /* end if */
- } /* !IS_GLB_GRP_ATT */
- if(rcd == NC_NOERR){
- if(att_rnm_lst[idx_att].old_nm[0] == opt_chr){
- /* Preceding opt_chr means attribute need not be present */
- rcd=nco_inq_attid_flg(grp_id,var_id,att_rnm_lst[idx_att].old_nm+1L,&att_rnm_lst[idx_att].id);
- if(rcd == NC_NOERR){
- (void)nco_rename_att(grp_id,var_id,att_rnm_lst[idx_att].old_nm+1L,att_rnm_lst[idx_att].new_nm);
- nbr_rnm++;
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+1L,att_rnm_lst[idx_att].new_nm,(var_nm[0] == opt_chr ? var_nm+1L : var_nm));
- }else{
- (void)fprintf(stdout,"%s: WARNING Attribute \'%s\' not present in variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+1L,(var_nm[0] == opt_chr ? var_nm+1L : var_nm));
- } /* endelse */
- }else{
- /* Attribute must be present */
- rcd=nco_inq_attid(grp_id,var_id,att_rnm_lst[idx_att].old_nm,&att_rnm_lst[idx_att].id);
- if(rcd == NC_NOERR){
- (void)nco_rename_att(grp_id,var_id,att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm);
- nbr_rnm++;
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm,(var_nm[0] == opt_chr ? var_nm+1L : var_nm));
- } /* endif attribute is present */
- } /* endelse attribute must be present */
- }else{ /* variable not present */
- (void)fprintf(stdout,"%s: WARNING variable \'%s\' not present in %s\n",nco_prg_nm,var_nm,fl_in);
- } /* variable not present */
- /* end if renaming single variable */
-
- } /* Match variable by name */
-
- }else{ /* ...or rename attribute for all variables and groups... */
-
- for(unsigned int idx_tbl=0;idx_tbl<trv_tbl->nbr;idx_tbl++){
- (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst[idx_tbl].grp_nm_fll,&grp_id);
-
- if(trv_tbl->lst[idx_tbl].nco_typ == nco_obj_typ_grp) var_id=NC_GLOBAL; else (void)nco_inq_varid(grp_id,trv_tbl->lst[idx_tbl].nm,&var_id);
-
- if(att_rnm_lst[idx_att].old_nm[0] == opt_chr){
- /* Rename attribute if variable/group contains attribute else do nothing */
- rcd=nco_inq_attid_flg(grp_id,var_id,att_rnm_lst[idx_att].old_nm+1L,&att_rnm_lst[idx_att].id);
- if(rcd == NC_NOERR){
- (void)nco_rename_att(grp_id,var_id,att_rnm_lst[idx_att].old_nm+1L,att_rnm_lst[idx_att].new_nm);
- nbr_rnm++;
- /* Inform user which variable had attribute renamed */
- if(var_id > NC_GLOBAL){
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+1L,att_rnm_lst[idx_att].new_nm,trv_tbl->lst[idx_tbl].nm);
- }else{
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed global or group attribute \'%s\' to \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+1L,att_rnm_lst[idx_att].new_nm);
- } /* end else */
- }else{ /* end if attribute was found */
- /* Reset error code */
- rcd=NC_NOERR;
- } /* end else */
- }else{ /* !opt_chr */
- /* Rename attribute or die trying */
- rcd=nco_inq_attid_flg(grp_id,var_id,att_rnm_lst[idx_att].old_nm,&att_rnm_lst[idx_att].id);
- if(rcd == NC_NOERR){
- (void)nco_rename_att(grp_id,var_id,att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm);
- nbr_rnm++;
- /* Inform user which variable had attribute renamed */
- if(var_id > NC_GLOBAL){
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed attribute \'%s\' to \'%s\' for variable \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm,var_nm);
- }else{
- IS_GLB_GRP_ATT=True; /* [flg] Attribute is Global or Group attribute */
- if(IS_GLB_GRP_ATT) (void)fprintf(stdout,"%s: INFO found and renamed global or group attribute \'%s\' so not requiring its presence in every variable.\n",nco_prg_nm_get(),att_rnm_lst[idx_att].old_nm);
- if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed global or group attribute \'%s\' to \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm);
- } /* end else */
- }else{ /* !NC_NOERR */
- /* Reset error code or print informative message and die */
- if(IS_GLB_GRP_ATT){
- /* Forgive omission of period for global/group attributes. Users aren't perfect :) */
- rcd=NC_NOERR;
- }else{ /* !IS_GLB_GRP_ATT */
- (void)fprintf(stdout,"%s: ERROR User specified that presence of attribute \'%s\' is required. However, the %s%s does not contain it. HINT: If attribute presence is intended to be optional, then prefix attribute name with the period character \'%c\', e.g., %catt_nm. With this syntax %s would succeed even if no variables or groups contained the attribute. If attribute is intended to be renamed only in a specific variable, then prepend the variable name plus an at-sign \'%c\' [...]
- /* Exit now rather than completing variable loop and printing lengthy error message above each iteration */
- nco_err_exit(rcd,"main");
- } /* !IS_GLB_GRP_ATT */
- } /* !NC_NOERR */
- } /* !opt_chr */
- } /* Loop table */
- } /* end if renaming attribute for all variables */
- /* See to it that any mandatory renaming was performed, else abort */
- if(nbr_rnm == 0){
- if(att_rnm_lst[idx_att].old_nm[0] == opt_chr){
- (void)fprintf(stdout,"%s: WARNING Attribute \'%s\' not renamed because not found in searched variable(s)\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+1L);
- }else{
- (void)fprintf(stdout,"%s: ERROR Attribute \'%s\' not present in %s, aborting.\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm,fl_in);
- nco_exit(EXIT_FAILURE);
+ int var_id;
+ nco_bool att_is_opt=False; /* [flg] Presence of attribute is optional (name has '.') */
+ nco_bool mch_fll_nm=False; /* [flg] User-specified object matches full name */
+ nco_bool mch_grp_all=False; /* [flg] Rename all group attributes */
+ nco_bool mch_grp_glb=False; /* [flg] Rename only global attributes */
+ nco_bool mch_obj_all=False; /* [flg] Rename all group and variable attributes */
+ nco_bool obj_is_opt=False; /* [flg] Presence of object is optional (name has '.') */
+ size_t att_mch_fst=0L; /* [nbr] Number of characters by which to offset attribute string comparison */
+ size_t obj_mch_fst=0L; /* [nbr] Number of characters by which to offset object string comparison */
+
+ /* Extract variable name from old name */
+ rcd_att=nco_prs_att((att_rnm_lst+idx_att),obj_nm,&mch_grp_all,&mch_grp_glb,&mch_obj_all);
+ if(!rcd_att){
+ (void)fprintf(stdout,"%s: ERROR Could not parse obj_nm at att_nm string \"%s\"\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm);
+ nco_exit(EXIT_FAILURE);
+ } /* end if */
+
+ if(obj_nm[0] == opt_chr){
+ obj_is_opt=True;
+ obj_mch_fst=1L;
+ } /* end if */
+
+ if(att_rnm_lst[idx_att].old_nm[0] == opt_chr){
+ att_is_opt=True;
+ att_mch_fst=1L;
+ } /* end if */
+
+ /* Be forgiving */
+ if(mch_obj_all) obj_is_opt=True;
+
+ if(nco_dbg_lvl_get() >= nco_dbg_io) (void)fprintf(stdout,"%s: att_rnm_lst[].old_nm = \"%s\", obj_nm = \"%s\", att_is_opt = %d, att_mch_fst = %ld, obj_is_opt = %d, obj_mch_fst = %ld, mch_fll_nm = %d, mch_grp_all = %d, mch_grp_glb = %d, mch_obj_all = %d\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm,obj_nm,att_is_opt,att_mch_fst,obj_is_opt,obj_mch_fst,mch_fll_nm,mch_grp_all,mch_grp_glb,mch_obj_all);
+
+ /* Compare each attribute in user list to each attribute name in file */
+ for(unsigned int tbl_idx=0;tbl_idx<trv_tbl->nbr;tbl_idx++){
+ nco_bool obj_is_var=False; /* [flg] Object with attribute is variable */
+ nco_bool mch_obj_crr=False; /* [flg] User-specified object matches current object */
+
+ /* Global group only */
+ if(mch_grp_glb && trv_tbl->lst[tbl_idx].nm_fll_lng == 1L){
+ mch_obj_crr=True;
+ mch_fll_nm=True;
+ } /* endif */
+
+ /* Match all groups */
+ if(!mch_obj_crr && trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_grp && mch_grp_all) mch_obj_crr=True;
+
+ /* Match all objects */
+ if(!mch_obj_crr && mch_obj_all) mch_obj_crr=True;
+
+ /* Specific object name is provided so test for match */
+ if(!mch_obj_crr && obj_nm){
+ if(!strcmp(obj_nm+obj_mch_fst,trv_tbl->lst[tbl_idx].nm_fll)){
+ mch_obj_crr=True;
+ mch_fll_nm=True;
+ }else if(!strcmp(obj_nm+obj_mch_fst,trv_tbl->lst[tbl_idx].nm)){
+ mch_obj_crr=True;
+ } /* endif strcmp() */
+ if(mch_obj_crr && trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_grp) (void)fprintf(stdout,"%s: INFO Assuming \"%s\" refers to a Global or Group attribute\n",nco_prg_nm,obj_nm+obj_mch_fst);
} /* end else */
- } /* nbr_rnm */
- } /* end loop over attributes to rename */
+
+ if(mch_obj_crr){
+ /* Obtain group and/or variable ID for current object match */
+ (void)nco_inq_grp_full_ncid(nc_id,trv_tbl->lst[tbl_idx].grp_nm_fll,&grp_id);
+ if(trv_tbl->lst[tbl_idx].nco_typ == nco_obj_typ_var){
+ obj_is_var=True;
+ rcd=nco_inq_varid(grp_id,trv_tbl->lst[tbl_idx].nm,&var_id);
+ }else{
+ var_id=NC_GLOBAL;
+ } /* endelse */
+ } /* !mch_obj_crr */
+
+ if(mch_obj_crr){
+ /* Locate attribute */
+ rcd=nco_inq_attid_flg(grp_id,var_id,att_rnm_lst[idx_att].old_nm+att_mch_fst,&att_rnm_lst[idx_att].id);
+ if(att_is_opt && rcd != NC_NOERR){
+ if(nco_dbg_lvl_get() >= nco_dbg_var) (void)fprintf(stdout,"%s: INFO Optional attribute \'%s\' not present in %s \'%s\', skipping it\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+att_mch_fst,obj_is_var ? "variable" : "group",trv_tbl->lst[tbl_idx].nm_fll);
+ continue;
+ } /* endif optional attribute */
+ if(!att_is_opt && rcd != NC_NOERR){
+ (void)fprintf(stdout,"%s: ERROR Required attribute \'%s\' not present in %s \'%s\'.\nHINT: If attribute presence is intended to be optional, then prefix attribute name with the period character \'%c\', e.g., %c%s. With this syntax %s would succeed even if no variables or groups contained the attribute. If attribute is intended to be renamed only in a specific variable, then prepend the variable name plus an at-sign \'%c\' to the attribute name, e.g., var_nm%catt_nm. If attribute prese [...]
+ nco_err_exit(rcd,"main");
+ } /* endif required attribute */
+
+ (void)nco_rename_att(grp_id,var_id,att_rnm_lst[idx_att].old_nm+att_mch_fst,att_rnm_lst[idx_att].new_nm);
+ mch_nbr++;
+ if(nco_dbg_lvl >= nco_dbg_fl) (void)fprintf(stdout,"%s: Renamed attribute \'%s\' to \'%s\' for %s \'%s\'\n",nco_prg_nm,att_rnm_lst[idx_att].old_nm+att_mch_fst,att_rnm_lst[idx_att].new_nm,obj_is_var ? "variable" : "group",trv_tbl->lst[tbl_idx].nm_fll);
+
+ } /* endif found object */
+
+ /* Matched full name for uniquely specified attribute, move-on to next rename request, i.e.,
+ do not bother examining remainder of traversal table for another match */
+ if(mch_fll_nm) break;
+
+ } /* end loop over traversal table */
+
+ if(mch_nbr == 0){
+ /* Object was not found in traversal table */
+ if(!mch_obj_all && obj_is_opt && obj_nm){
+ (void)fprintf(stdout,"%s: INFO Optional object \'%s\' not present in %s, skipping it\n",nco_prg_nm,obj_nm+obj_mch_fst,fl_in);
+ /* Optional object not found, continue to next attribute in list */
+ continue;
+ }else if(!obj_is_opt && obj_nm){
+ (void)fprintf(stdout,"%s: ERROR Required object \'%s\' not present in %s\n",nco_prg_nm,obj_nm+obj_mch_fst,fl_in);
+ nco_err_exit(rcd,"main");
+ } /* !obj_is_opt */
+ } /* endif specified object not found */
+
+ if(nco_dbg_lvl >= nco_dbg_std) (void)fprintf(stdout,"%s: Renamed %d attribute%s from \'%s\' to \'%s\'\n",nco_prg_nm,mch_nbr,mch_nbr != 1 ? "s" : "",att_rnm_lst[idx_att].old_nm,att_rnm_lst[idx_att].new_nm);
+
+ mch_nbr_att+=mch_nbr;
+
+ } /* end attributes */
+
+ /* Reset error return code */
+ rcd=NC_NOERR;
+
+ (void)fprintf(stdout,"%s: In total renamed ",nco_prg_nm);
+ (void)fprintf(stdout,"%d attribute%s",mch_nbr_att,mch_nbr_att != 1 ? "s" : "");
+ (void)fprintf(stdout,", %d dimension%s",mch_nbr_dmn,mch_nbr_dmn != 1 ? "s" : "");
+ (void)fprintf(stdout,", %d group%s",mch_nbr_grp,mch_nbr_grp != 1 ? "s" : "");
+ (void)fprintf(stdout,", and %d variable%s\n",mch_nbr_var,mch_nbr_var != 1 ? "s" : "");
/* Catenate time-stamped command line to "history" global attribute */
if(HISTORY_APPEND) (void)nco_hst_att_cat(nc_id,cmd_ln);
@@ -629,6 +639,7 @@ main(int argc,char **argv)
if(nbr_dmn_rnm > 0) dmn_rnm_lst=(rnm_sct *)nco_free(dmn_rnm_lst);
if(nbr_grp_rnm > 0) grp_rnm_lst=(rnm_sct *)nco_free(grp_rnm_lst);
if(nbr_var_rnm > 0) var_rnm_lst=(rnm_sct *)nco_free(var_rnm_lst);
+ if(obj_nm) obj_nm=(char *)nco_free(obj_nm);
/* NCO-generic clean-up */
/* Free individual strings/arrays */
diff --git a/src/nco/ncwa.c b/src/nco/ncwa.c
index eb4cfdc..f96e053 100644
--- a/src/nco/ncwa.c
+++ b/src/nco/ncwa.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/nco/nco/src/nco/ncwa.c,v 1.425 2014/08/26 17:13:41 pvicente Exp $ */
+/* $Header: /cvsroot/nco/nco/src/nco/ncwa.c,v 1.427 2014/09/30 23:03:29 zender Exp $ */
/* ncwa -- netCDF weighted averager */
@@ -49,7 +49,7 @@
#include <time.h> /* machine time */
#ifndef _MSC_VER
# include <unistd.h> /* POSIX stuff */
-#endif
+#endif /* _MSC_VER */
#ifndef HAVE_GETOPT_LONG
# include "nco_getopt.h"
#else /* HAVE_GETOPT_LONG */
@@ -151,8 +151,8 @@ main(int argc,char **argv)
char *wgt_nm=NULL;
char trv_pth[]="/"; /* [sng] Root path of traversal tree */
- const char * const CVS_Id="$Id: ncwa.c,v 1.425 2014/08/26 17:13:41 pvicente Exp $";
- const char * const CVS_Revision="$Revision: 1.425 $";
+ const char * const CVS_Id="$Id: ncwa.c,v 1.427 2014/09/30 23:03:29 zender Exp $";
+ const char * const CVS_Revision="$Revision: 1.427 $";
const char * const opt_sht_lst="3467Aa:B:bCcD:d:Fg:G:hIL:l:M:m:nNOo:p:rRT:t:v:Ww:xy:-:";
cnk_sct cnk; /* [sct] Chunking structure */
@@ -236,7 +236,7 @@ main(int argc,char **argv)
#ifndef _MSC_VER
prs_sct prs_arg; /* I/O [sct] Global information required in ncwa parser */
-#endif
+#endif /* _MSC_VER */
#ifdef ENABLE_MPI
/* Declare all MPI-specific variables here */
@@ -289,6 +289,7 @@ main(int argc,char **argv)
{"cnk_dmn",required_argument,0,0}, /* [nbr] Chunk size */
{"chunk_dimension",required_argument,0,0}, /* [nbr] Chunk size */
{"fl_fmt",required_argument,0,0},
+ {"file_format",required_argument,0,0},
{"hdr_pad",required_argument,0,0},
{"header_pad",required_argument,0,0},
/* Long options with short counterparts */
@@ -879,8 +880,12 @@ main(int argc,char **argv)
/* Retrieve variable from disk into memory */
(void)nco_msa_var_get_trv(in_id,var_prc[idx],trv_tbl);
+ /* var_prc_out still has type = packed type for packed variables
+ nco_typ_cnv_rth() fixes that for most operations, though not for minimization or maximization
+ Following line is necessary only for packed variables subject to minimization or maximization */
+ if(var_prc[idx]->typ_dsk != var_prc[idx]->type && var_prc[idx]->typ_upk == var_prc[idx]->type) var_prc_out[idx]=nco_var_cnf_typ(var_prc[idx]->type,var_prc_out[idx]);
- /* Convert char, short, long, int types to doubles before arithmetic */
+ /* Convert char, short, long, int, and float types to doubles before arithmetic */
var_prc[idx]=nco_typ_cnv_rth(var_prc[idx],nco_op_typ);
var_prc_out[idx]=nco_typ_cnv_rth(var_prc_out[idx],nco_op_typ);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/nco.git
More information about the Pkg-grass-devel
mailing list